단일 Repository에서 세 개의 서비스를 어떻게 관리할 것인가
·
Project
SSAFY 프로젝트에서 AI, Backend, Frontend를 한 repo에 담으며 고민한 것들SSAFY 프로젝트를 시작하면서 우리 팀은 AI, Backend, Frontend 세 개의 서비스를 동시에 개발해야 했다. 원래라면 각각을 독립된 레포지토리로 관리하는 게 맞겠지만, SSAFY에서는 단일 레포지토리, 단일 인스턴스로 운영해야 한다는 제약이 있었다.그냥 폴더만 나눠서 넣으면 되는 거 아닐까라고 생각했지만, 막상 고민을 시작하니 생각보다 복잡한 문제들이 보이기 시작했다. 로컬에서 개발할 때는 편해야 하고, 나중에 배포할 때도 간단해야 하고, CI/CD 붙일 때도 문제없어야 하고... 심지어 나중에 환경 분리(dev/prod)나 성능 개선도 고려해야 한다.그래서 어떻게 구조를 짜야 할까?에 대한 고..
[KOSPI FGI] 코스피 공포 탐욕 지수 (KOSPI Fear & Greed Index) 개발기
·
Project
평소 미국 주식 투자를 하는 나는 시장이 어느정도 과열된지 확인하기 위해 Put/Call 비율을 보거나 이를 포함한 CNN의 공포 탐욕 지수를 보곤 했다. 최근 국내 시장도 어느정도 투자 메리트가 생겨서 국내 시장도 어느정도 투자하고 있는데 국내 시장에도 ADR, VKOSPI 등은 존재하지만 아직 코스피 공포 탐욕 지수를 보여주는 서비스가 아직 없어 만들어두면 나부터 쓸꺼같아서 만들어보고자 했다. 수업 시간마다 이런 생각이 드는건.. 일반 사용자들도 쉽게 볼 수 있어야했기에 복잡한 차트나 수치 대신, 직관적인 점수 하나로 현재 시장의 분위기를 파악할 수 있도록 돕는 서비스를 만드는 것이 목표로 삼았다. 그래서 디자인도 깔끔하게 해야겠다고 마음 먹었다. 지표 설정무엇보다 중요한건 공포 탐욕 지수를 도출하..
[찐빵] Observability 구축기
·
Project
Actuator + Micrometer + Logback + PLG(Loki/Promtail/Grafana)로 로그·메트릭 기반 모니터링 만들기 서비스를 운영하다 보면 사용자의 동향을 파악하기 위해 GA를 달기도 하지만, 지금 서비스가 어떤 상태인지를 빠르게 파악하는 관측성이 정말 중요해지는데, 이번에 서비스에 Observability(관측성) 기반을 처음부터 구축해보며, 메트릭과 로그를 통합적으로 수집하는 환경을 구성했다.이번 작업의 핵심은 다음과 같다:Spring Actuator로 시스템 상태 노출Micrometer + Prometheus로 API 레이턴시, 처리량 측정Logback JSON + MDC TraceId로 구조화 로그 생성1. 의존성 추가먼저 Gradle에 Spring Boot Actua..
[찐빵] 옵저버빌리티 설계
·
Project
찐빵 서비스의 경우 MySQL, MongoDB, Redis, S3, Google Sheets 등 다양한 외부 리소스와 상호작용하고, 건물·리뷰 조회/관리, 지도 검색, 사용자 인증·설정 등의 다양한 API들도 존재하기에 메트릭과 구조적인 로그 체계가 필수적이므로 옵저빌리티를 설계해보았습니다..! 1. 수집할 핵심 메트릭 정의(API latency, error rate, RPS 등)범주 메트릭 태그/분류 설명 및 수집 이유HTTP 요청 지연http.server.requests (Timer)uri, method, status, outcome, exception모든 REST 엔드포인트(건물 상세, 리뷰 CRUD, 지도 검색, 인증/사용자 API)의 응답 시간을 계층별로 가시화하여 병목 식별 (p50/p95/p..
[ SWEA Extended #2] SWEA 확장프로그램 제작기 인트로
·
Project
SWEA에서 문제 풀다 보면 살짝 귀찮은 순간들이 있다..예제 복붙 했을때 import를 빼먹고 제출하려고 한다거나, 보안이 중요하긴 하지만 IDE에서 문제풀고 있다가 세션이 만료되어 재로그인 해야한다거나, 예제 테스트 할때 복붙해서 계속 확인해야한다 등등이런 불편한 사항들을 개선하고 싶어서 확장 프로그램을 찾아봤는데 일부 기능은 없거나, 서로 각각 다른 확장프로그램 존재하여 따로 설치해야한다는 불편함이 있었다..그래서 내가 만들어 보려고 한다.SWEA Extended정식 출시까지import 누락 확인복붙 시 자동 class 명 변경정답 필터(정답인 문제는 안보이게 처리가능)예제 복사, txt 전체 복사 및 확인 (예제 전체복사 버튼)로그인 세션 좀 더 유지(보안과 직결되기에 설정 후 사용 가능)컴파일 ..