Home
Justnote
Cancel

Sentry 기반 실시간 에러 모니터링 환경 구축기

들어가며 이전 글에서 어디GO의 예외 처리 시스템을 구축한 과정을 다루었다. 하지만 해당 시스템만으로는 예측하지 못한 런타임 에러가 발생했을 때 이를 신속하게 인지하기 어려웠다. 이 글에서는 이 문제를 해결하기 위해 실시간 에러 트래킹 도구인 Sentry를 도입하고, GitHub Actions 기반의 CI/CD 파이프라인에 통합한 과정을 설명한...

Spring Boot 전역 예외 처리 시스템 구축하기

들어가며 어디GO의 백엔드 API 개발을 시작하기 전에 전역 예외 처리 시스템을 구축했다. API에서 발생하는 예외를 일관된 형식으로 응답하는 것은 프론트엔드와의 원활한 협업을 위해 필수적이기 때문이다. 이 글에서는 내가 정의한 에러 응답 규약과, Spring의 동작 원리에 기반해 GlobalExceptionHandler를 구현한 과정을 기록한다....

GitHub Actions 활용 Spring Boot CI/CD 파이프라인 구축기

서론 만약 별도의 배포 자동화를 구축하지 않는다면 개발자는 EC2 인스턴스에 직접 접속하여 git pull을 받고, ./gradlew build로 애플리케이션을 빌드한 뒤, 실행 중인 프로세스를 죽이고 새 jar 파일을 실행하는 등의 과정을 거쳐 배포를 해야한다. 이 방식은 단순하지만 시간 소모와 배포 실패 가능성이라는 비효율을 지니고 있다. 이 ...

AWS 인프라 구축기 (feat. Private Subnet)

들어가며 ‘어디GO’ 프로젝트에서 나는 백엔드 API 개발과 함께 서비스가 동작할 AWS 인프라를 구축하는 역할을 맡았다. 단순히 EC2 인스턴스 하나를 띄우는 것을 넘어, 보안, 고가용성, 비용 효율성이라는 세 가지 목표를 가지고 인프라를 설계했다. 이 글에서는 AWS의 초기 설계가 현실적인 제약에 부딪혀 새로운 구조로 변경되기까지의 과정을 ...

어디GO 프로젝트 회고: 8주를 돌아보며

들어가며 8주간의 DND 여정과 어디GO의 MVP 개발이 공식적으로 마무리되었다. 첫 글에서 무엇을 만들었는지 이야기했다면, 이번 글에서는 그 과정 속에서 무엇을 배우고 느꼈는지를 KPT 회고를 바탕으로 정리하려고 한다. Keep 프로젝트의 과정과 결과에 아쉬움이 있지만, 과정 속에서 분명히 얻은 것들이 있었다. 개인의 기술적 성장과 팀...

오프라인 가격 비교 서비스 '어디GO' 소개

어디GO는 Android 전용 앱입니다. 링크를 통해 APK 파일을 다운로드하여 설치할 수 있습니다. 배경 최근 IT 연합 동아리 DND 13기에 참여했다. 우리 팀은 디자이너, 안드로이드 개발자, 백엔드 개발자 각각 2명씩, 총 6명으로 구성되었고, 나는 그중 백엔드 개발을 맡았다. 8주간의 활동 기간 동안 하나의 프로덕트를 완성하는 ...

Jekyll 블로그에 giscus 댓글 시스템 적용하기

최근 블로그 댓글 시스템을 utterances에서 giscus로 전환했다. 이 글에서는 giscus를 적용한 과정을 다룬다. 배경 기존 댓글 시스템 utterances에서 댓글을 관리하던 방식 블로그를 처음 만들 당시에 댓글 시스템으로 utterances를 선택했다. utterances는 GitHub Issues를 기반으로 동작하며, 다음과 ...

로지스틱 회귀를 통한 시대팅 매칭 결과 분석

서론 이 글에서는 시대팅 시즌5의 매칭 결과에 영향을 미친 주요 요인들을 분석한 내용을 다룬다. 특히 이번 학기 고급프로그래밍 강의에서 배운 로지스틱 회귀를 활용하여 분석을 진행하였는데, 이를 통해 매칭 알고리즘 개선을 위한 유용한 인사이트를 도출하고자 했다. 로지스틱 회귀 분석 기본 개념 학습 시간에 따른 시험 합격 확률을 나타낸 로지스틱 ...

Kotlin object에서 Spring 설정값이 주입되지 않는 문제

문제 상황 JWT 인증 시스템 개발 초기에 Spring Boot 애플리케이션에서 JWT 토큰 설정값을 application.yml로 관리하던 중 한 가지 문제가 발생했다. SecurityConstants object에서 @Value 어노테이션으로 토큰 만료 시간을 주입받으려 했으나, 값이 정상적으로 주입되지 않아 모든 토큰의 만료 시간이 0으로 설정...

로컬 환경에서 쿠키 설정이 안되는 문제

배경 백엔드를 배포한 이후, 프론트엔드가 로컬 환경에서 리프레시 토큰이 담긴 쿠키를 설정하지 못하는 문제가 발생했다. 이 문제는 쿠키의 Secure와 SameSite 설정과 관련이 있었다. 이를 해결한 과정을 정리한다. 프론트엔드 팀원이 슬랙에 남긴 이슈 접근 과정 프론트엔드는 개발 환경에서 localhost를, 백엔드는 운영 환경에서 uos...