분류 전체보기

Programming/Spring

Spring Boot + ELK 스택을 이용한 실시간 인기 검색어 Top 10 구현하기

0. Overview 2023.12.15 ~ 2024.01.12 동안 "인터파크 티켓"을 타겟으로 하여 클론코딩을 진행하게 되었는데, "공연" 도메인을 맡게 되었다. 함께 도메인을 담당하게 된 팀원과 어떤 기술을 적용해보면 좋을까를 의논하던 중 "인터파크 티켓" 사이트 검색창에 실시간 검색어가 나오는 것을 볼 수 있었다. 검색 기능을 중점적으로 구현하는 방향으로 계획을 세웠고 기존에 JPA를 통한 검색 로직만 구현해보다가, 검색 기능에 특화된 Elasticsearch를 적용하여 키워드 검색 기능 + 실시간 인기 검색어 순위 기능을 구현해보자. 라는 결론이 나오게 되었다. 그래서 이번 포스팅에서는 Elasticsearch를 적용하여 실시간 인기 검색어 순위를 구현한 그 여정을 기록해보려고 한다. 먼저 엘라..

기타

HTTP 완벽 가이드 스터디 회고

0. Overview 어느덧 프로그래머스 백엔드 데브코스 과정에 참여하게 된지 3개월이 지났다. 데브코스에서는 나를 포함하여 6명의 팀원들이 함께 백엔드 개발자를 목표로 공부하고 있다. 데브코스에서 최대한 많은 것을 얻어가고자 커리큘럼 이외의 스터디를 진행하게 되었고 "HTTP 완벽 가이드"라는 책을 스터디 도서로 선정하여 스터디 진행 과정을 기록해보려고 한다. 1. 스터디 도서 선정 스터디 이야기가 팀이 결성되고 초반에 나왔던 것 같다. 팀원 모두가 스터디에 관심이 많았으며 공부하고자 하는 열정을 가지고 있었다. 이야기가 일찍 나온것에 비해 도서를 선정하는 부분에서는 꽤나 시간이 걸렸던 것 같다. 처음에는 면접 준비를 위한 스터디를 할 지, 조금은 자세히 들여다 볼 수 있는 스터디를 할 지 고민이 많았..

Programming/기타

Spring 에서 application.yml파일 민감정보 관리 (feat. submodule)

도입 배경 JPA 게시판 과제 진행 중 이메일 & DB & Jwt 관련 민감정보 설정을 담당하는 application-core.yml이라는 파일이 존재했는데, 해당 파일을 그냥 .gitignore에 등록하고 repo에 올렸었다. 그런데 문제는 해당 yml 파일을 다른 사람들이 클론하거나, 팀 프로젝트의 상황에서는 해당 파일을 매번 공유해서 사용하거나 그렇지 않으면 사용할 수 없다.라는 문제가 발생했다. 따라서 해당 문제를 해결하고자 알아보던중 git에서 제공하는 submodule이라는 기술이 존재하여 사용해보려고 한다. Flow 민감정보 데이터를 담을 private repo 생성한다. 민감정보가 담긴 private 레포지토리를 public 레포지토리의 서브모듈로 git add submodule ${서브 ..

기타/가상 면접 사례로 배우는 대규모 시스템 설계 기초

2장 : 개략적인 규모 측정

개략적인 규모 측정 보편적으로 사용되는 성능 수치 항목들을 추정해서 계산하는 것으로 프로그래머에게는 필요한 기본기이다. 2의 제곱수나 응답지연(latency) 값과 가용성에 관계된 수치들의 이해가 있어야 한다. 2의 제곱수 - 데이터 볼륨의 단위를 계산하기 위해 사용(양을 측정)하는 최소 단위는 1바이트(8비트)이다. - 아스키 문자 하나가 차지하는 메모리 크기는 1 바이트이다. - 보통 많이 사용되는 UTF-8의 경우 1~4바이트가 사용된다. - 한글 또는 다국어를 고려할 때 한 단어를 4바이트 까지 고려하는 것이 좋다. 2의 x 제곱 근사치 이름 축약형 10 1천 1킬로바이트 1KB 20 1백만 1메가바이트 1MB 30 10억 1기가바이트 1GB 40 1조 1테라바이트 1TB 50 1000조 1페타바..

엥재
'분류 전체보기' 카테고리의 글 목록 (3 Page)