분류 전체보기 41

번역기가 우리들의 말을 번역해주는 방법

🎯 글을 쓰게 된 이유 해외 여행을 가거나 외국 친구들과 대화할 때, 그리고 개발하면서 영어 문서를 읽을 때 가장 많이 사용하는 도구 중 하나가 바로 구글 번역이다.예전에는 번역기가 정말 어색했다."나는 밥을 먹는다"를 번역하면 어색한 번역이 나와서 사람들이 "구글 번역 쓴 거냐?"라고 놀렸을 정도였다.하지만 지금은 상당히 자연스럽다. 문득 궁금해졌다. 구글 번역기는 도대체 어떤 원리로 작동하는 걸까? 단순히 단어를 하나씩 바꾸는 건 아닐 텐데...그래서 이번에는 구글 번역기가 우리들의 말을 번역해주는 방법에 대해 파헤쳐보기로 했다. 💡 구글 번역기의 공식 역사 초기 시작 (2006년)구글 번역은 2006년 4월에 처음 출시되었다. 처음에는 영어, 프랑스어, 스페인어, 중국어 4개 언어만 지원했..

구글은 어떻게 그렇게 빠른 검색을 지원할까?

🎯 글을 쓰게 된 이유 구글에 검색하면 0.1~0.2초 만에 결과가 나온다.전 세계 수많은 웹페이지 중에서 내가 원하는 정보를 어떻게 이렇게 빠르게 찾아내는 걸까? 도서관에서 수만 권의 책 중에서 특정 단어가 들어간 책을 찾는다고 상상해보자.아무리 빨라도 상당한 시간이 걸릴 것이다. 그런데 구글은 이것을 0.1초만에 해낸다. 개발발을 공부하면서 이 궁금증이 더욱 커졌다."분명 단순하게 하나씩 찾는 건 아닐텐데...ES를 당연히 사용하겠지?? 그럼 어떻게 사용하고 있을까??"그래서 구글 검색의 비밀을 파헤쳐보기로 했다. 💭 실시간 검색이라면 얼마나 걸릴까? 먼저 실시간 검색이라고 가정해보자. 사용자가 검색어를 입력할 때마다 모든 웹페이지를 하나씩 다운로드해서 확인한다면?각 페이지를 다운로드하고 분석..

백엔드 멘토링 2025.08.23

인스타그램이 우리들의 관심사를 알아내는 방법

🎯 글을 쓰게 된 이유 평소 인스타그램을 쓰다 보면 홈 피드 다음으로 가장 많이 누르는 버튼이 바로 돋보기 모양의 '탐색' 탭이다.분명 내가 팔로우하지도 않은 사람들인데,어떻게 인스타그램은 내가 관심 있어할 만한 콘텐츠들을 이렇게 정확하게 보여주는 걸까? 더 신기한 건 친구들과 각자 핸드폰으로 인스타그램 탐색 탭을 열어보면 완전히 다른 콘텐츠들이 나온다는 점이다.마치 각자의 취향을 정말 잘 아는 것처럼 말이다. 나는 주로 개발 관련 콘텐츠와 운동 컨텐츠를 많이 보는 편인데, 탐색 탭에는 정말 신기하게도 새로운 개발 트렌드나 헬스 관련 콘텐츠들이 자주 노출된다. 반면 요리에 관심이 많은 친구는 레시피나 쿠킹 채널들이 가득하고, 반려동물을 좋아하는 친구는 반려동물 관련 콘텐츠들로 가득하다. 이런걸 보며, ..

백엔드 멘토링 2025.08.22

카카오 T 에서 최단거리를 탐색하는 방법

🎯 글을 쓰게 된 이유 현대 사회를 살아가는 사람들이라면 누구나 택시를 타 본 경험은 있을 것이다.옛날에는 택시를 타기 위해서는 택시 정류장에 가서 기다리거나,대부분 길거리에서 '빈차' 가 표시되어 있는 택시를 향해 손을 흔들어서 택시를 타곤 했다. 하지만 요즘, 모두는 모르겠지만 내 주변을 기준으로 보자면 택시를 타는 방법의 100에 90은 카카오T 서비스를 이용한다.물론 나 또한 택시 정류장이 있어도 카카오T를 먼저 호출해보는 편이다. 그만큼 우리들의 삶에 깊게 들어와있는 카카오 T 서비스, 나는 이 서비스를 이용하며 항상 불만이 있었다. "저기로 가는게 더 빠른데, 왜 이 길로 가는거지??" 사실 택시 기사님들이야, 우리가 택시를 잡았을 때 주어지는 최단 경로를 따라 운전하실 뿐이지,문제는 카..

백엔드 멘토링 2025.08.21

[Spring] 조회 성능 테스트 및 조회 성능 개선 일지

이 포스팅은 여행 서비스 프로젝트인 nomadic의 조회 성능 과정 일지입니당.어떤 고민을 거치고, 어떤 트러블슈팅이 있었는지, 결과는 어땠는지를 중점적으로 다룰거고,제가 했던 고민들과 어떤 의사결정을 내렸는지, 그 과정에서 어떤 문제들이 있었고 어떻게 해결했는지 보며,함께 생각해보고 더 나은 방법이 있다면 댓글로 알려주길 바랍니당. 트러블 슈팅을 거의 다 기록하고, 고민과정과 구현방식등 많은 내용이 포함되어 있어, 다소 장황할 수 있으나내가 어떻게 성능 개선을 했는지 정확하게 기록하고자하는 포스팅이기에 양해 부탁드립니다 ^o^ 목차1. 성능 개선 배경2. 성능 테스트3. 성능 개선4. 후기 중간중간 트러블 슈팅과 고민 과정등이 포함되어 있습니다. 성능 개선 배경 토이 프로젝트로 진행했던 No..

백엔드 멘토링 2025.04.18

패션 갓생러의 2024년 회고.....와 2025년 계획.

결국 2024년이 끝나버렸다.분명 내 계획에서 2024년이 끝날 때 쯤에는 졸업하기 전에 이름을 들어보면 알만한 회사에 개발자로 취직도 하고,운전면허도 따고, 취미생활도 하면서 멋진 인생을 살 계획이었다. 근데 현실은 취업은 개뿔 운전면허도 없는 상태로 대학만 졸업을 해버린 그냥 개백수가 되어버렸다.  나름 노력을 안한건 또 아니다.분명 무언가 많이 한거 같은데....막상 무언가를 했다고 할 수가 없는 느낌이다. 그럼 나는 2024에 뭘 했는가아무것도 안하고 2024년을 보냈다고 생각하면 너무 우울할거 같기 때문에, 2024년을 되돌아보며 내가 얼마나 열심히 살았는지 한번 보고자 한다. 일단 블로그 글 11개, 이것까지 포함하면 12개다.딱 한달에 한개 꼴로 쓴거 같은데, 나름 의미 있는 포스팅들을 한 ..

카테고리 없음 2025.01.08

[회고록] Stock-simulation 프로젝트 API 완성도 기록지

이번 회고록 또한 저번 프로젝트 회고록과 마찬가지로 늦은 감이 있다. 이번 회고록의 목적은 학생 신분의 재정상 유지하기가 어려운 서버 비용때문에, 서비스 배포를 유지할 수 없었기에이 프로젝트의 완성도를 기록하고, 회고하는 것이다. 이 회고록의 목적이 기술적 기록이 아닌 프로젝트의 완성도에 대한 기록이니만큼, 코드나 기술적 설명 없이 Api 호출에 대한 캡처 내용으로 구성된다. 로그인, 회원가입과 같은 기본적인 기능을 제외하고 주요 기능이라 판단되는 Api들을 위주로 작성할 예정이다.추가적으로 해당 기능을 개발하며 겪은 고민과 트러블 슈팅등 또한 간략하게 소개해보고자 한다. 프로젝트 소개 해당 Stock-simulation 프로젝트는 프로젝트 이름 그대로 모의 주식 투자 서비스이다.가상의 돈을 사용하여, ..

백엔드 멘토링 2024.12.20

주식 프로젝트 influx DB 도입 ADR 과정

이번에 진행하고 있는 모의 주식 투자 프로젝트에서 influx DB 도입을 결정했다.모의 주식 투자인 만큼 실시간 주식 가격을 받아와야했고, 과거의 주식 가격을 그래프로 보여줘야했다.이러한 방식의 데이터 저장을 하기 위해서는 초 단위로 변화하는 주식의 가격을 모두 저장해야했고, 이렇게 하면수십 수백가지가 되는 주식 수만큼의 쿼리가 초단위로 RDB에 날라가게 된다. 그럼 주식의 가짓수가 300가지라고 했을 때, 1분동안 서비스가 실행된다면 300 * 60 으로 총 18,000개의 쿼리가 발생한다.이는 매우 비효율적일 것이라고 생각되었다. 그래서 어떻게 하면 시간을 기준으로 변화하는 데이터를 효율적으로 저장할 수 있을지 고민을 하며, 방법을 찾던중Influx DB라는 시계열 DB를 발견했다. Influx D..

백엔드 멘토링 2024.10.30

[회고록] Nomadic 프로젝트 API 완성도 기록지

굉장히 늦은 감이 있는 Nomadic 프로젝트의 회고록이다. 이렇게 늦게 회고록 느낌의 글을 쓰는 이유는 나는 Spring 기반의 웹 서버 개발자를 희망하기에, 주로 백엔드 개발을 공부하고, 연습한다. 따라서, 이 프로젝트의 경우에도 백엔드 부분은 모든 기능을 완성했고, 이를 Postman과 같은 툴을 사용해서 테스트까지 마쳤지만, 프론트가 없고, 실제 배포를 해서 유지하는 프로젝트가 아닌 만큼, 추후에 다른 사람이 이 프로젝트의 기능이 잘 작동하는지 확인할 방법이 없었다. 따라서 나는 내가 만든 프로젝트의 모든 api들의 작동을 Postman으로 호출하여, 어떻게 응답이 오는지 기록을 해놓고자 했고, 이 회고록을 쓰게 되었다. 이 회고록의 목적이 기술적 기록이 아닌 프로젝트의 완성도에 대한 기록이니만큼..

백엔드 멘토링 2024.09.28

주식 투자 프로젝트 실시간 Real time DB 적용기

해당 글은 모의 주식 투자 프로젝트에서 real time DB (실시간 DB)를 적용하는 과정을 회고하는 글이다.주로 어떤 고민을 했고, real time을 선택하게 된 과정을 적어놓은 글이니 가볍게 읽을 수 있는 포스팅이라 생각한다.  최근 진행한 프로젝트는 모의 주식 투자 시뮬레이션 프로젝트다.해당 프로젝트의 특성상 실제 주식 가격을 실시간으로 받아와야만 했다.내가 선택한 방법은 KIS, 한국투자증권에서 제공하는 실시간 주식 체결가 API를 통해 KIS에서 제공하는 web socket으로 데이터를 받아오는 방식이었다.  따라서 초기에 실시간으로 변경되는 주식의 가격을 저장하기 위해 위와 같은 플로우로 계획했었다.이러한 방식에서 만약 사용자가 현재 실시간으로 전체 주식들의 가격을 보고자 한다면, 나는 ..

백엔드 멘토링 2024.09.06