Jung Dayeon

ShortURL History Log 성능 최적화: 3분 → 300ms

들어가며 인턴으로 합류해 가장 처음 마주한 운영 이슈가 ShortURL History Log가 너무 느리다는 것이었습니다. 사내에서 운영하는 URL 단축 서비스는 단축 URL을 생성하고, 해당 URL의 클릭 로그를 수집해 국가별 통계를 보여주는 기능을 포함하고 있었습니다. 문제는 이 통계 API의 응답 시간이 약 3분이었다는 것입니다. 사내 서비스...

부서(Dept) 트리 구조 리팩토링: 이중 for문에서 계층형 트리로

들어가며 사내 포털의 부서(Dept) 관리 페이지를 리뉴얼하면서, 기존 부서 데이터 구조의 근본적인 문제를 발견하게 되었습니다. 부서 데이터는 본질적으로 트리(계층) 구조입니다. A사 > DEV > 웹개발팀처럼 상위-하위 관계가 존재하고, 이 관계를 기반으로 조직도를 렌더링하거나, 특정 부서의 하위 부서를 모두 조회하거나, 메달 지급 대...

결제 시스템에서의 트랜잭션 설계하기 (1부)

1부. 트랜잭션 설계와 멱등성 보장 시리즈 구성 이 글은 결제 시스템을 실제로 구현하면서, 설계가 왜 그렇게 될 수밖에 없었는지를 설명하며 연재해 나가려 합니다. 결제 시스템은 보통 코드만 보면 단순해 보입니다. Payment 상태 바꾸고, PG(PSP) 승인 API 호출하고, 결과 저장하면 끝처럼 보입니다. 그런데 운영 환경에서 진짜 문제는 성공...

n8n + LangChain + Qdrant로 주식 시장 분석 파이프라인 구축하기

들어가며 데보션 RAG 스터디 2회차 발표를 들으며 RAG와 Agent의 개념을 정리했습니다. 그때 스터디 과제로 각자 관심 주제로 프로그램을 하나 만들어보자는 이야기가 나왔고, 저는 이전부터 진행하던 코스콤 Apex 공모전 프로젝트를 RAG 기반으로 본격 재설계하기로 했습니다. Apex는 한국 주식 시장 뉴스·커뮤니티·공시 데이터를 수집해 감정 ...

삐약이 시절 처음 Spring 으로 백엔드 개발을 마치고 작성했던 회고를 슬쩍 꺼내 올려봅니다

안녕하세요 🫠 이번에는 부끄럽지만 처음으로 Spring boot 를 활용한 백엔드 개발을 무사히 마치고 작성했던 회고를 메모장에만 보관해두고 있다가 슬쩍 올려보고자 합니다 그동안 메모장에 봉인해두고 살다가 갑자기 올리는 이유는, 뭐든 초심을 지키면서 내가 처음에 의도했던 방향대로 나아가는 건 어렵기 때문입니다. 처음 개발을 시작했을 때, 잘하는 사...

Gateway 서버에서 Rest API 호출을 GRPC 호출로 변환하기

안녕하세요! 😊 요즘 일상 블로그도 안쓰기도 하고 기왕이면 최대한 의미있게 쓰고 싶다는 생각에 개발 블로그 쓰기 시작하는 데에도, 완성하는 데에도 오래 걸려서 정말 오랜만에 블로그를 쓰러 앉았는데요! 이전 장애인 취업 지원 플랫폼 개발에서, 모놀리식 구조를 MSA로 변경하기로 하면서 하나의 이슈 사항 중 하나가, 호기롭게 grpc 도입을 추진했지만 ...

ELB 를 활용한 HTTPS 적용하기와 SSL 인증서가 그래서 어떻게 동작하는데?

안녕하세요! 이번에 [2024 SKT-하나금융그룹 TECH4GOOD] 에 (강제) 참여하게 되면서 1박 2일로 짧게 개발을 진행하게 됐는데요! 비록 결과는 아쉬웠지만, 내가 짧은 시간 안에 이 정도의 아웃풋을 낼 수 있는 사람이구나를 알 게 되었고 또 기획적으로 이런 부분이 아쉬웠구나 등을 느낄 수 있어서 그럼에도 뜻 깊은 시간이었습니다 개발을 ...

Github 블로그 개설 및 Google Adsense 와 Google Analytics 적용

안녕하세요! 그동안 개발 기술 블로그에 정착하지 못 하고 있었는데요 개발 기술 블로그를 고민하던 도중 Github Pages 를 이용한 블로그 만드는 법을 발견하고 진행하게 되었는데, 오늘은 이 경험을 토대로 Github 블로그 만드는 방법 및 Google Adsense 및 Google Analytics 연결에 대해 작성해보겠습니다. 🙇🏻‍♀️ G...