본문 바로가기
728x90
320x100

(멋진) 개발자가 목표✨649

2025년 6월 회고 진짜 처음으로 제 인생의. 첫 살짝 Heartbreak. [개발분야]사이드 프로젝트 하는 중3올해 봄에 시작했던 사이드 프로젝트. 중간에 시험기간 같은 행사로 멈춘 적도 있었지만, 6월까지 개발 열심히 했다. 현업에서 경험할 수 없었던 혹은 경험했더라도 어설프게 사용하거나, 직접 설계 해본 적이 없었던 기술 위주로 많이 배우고, 연습하는 시간이었다. 내가 원했던 1차적인 형태는 나온 것 같아 나중에 프론트엔드를 손을 볼까 고민 중이지만 일단은 6월까지 하고 잠시 쉬기로...!저의 사이드프로젝트에 대한 내용이 궁금하시다면 아래의 링크를 확인해주세요! GitHub - ddururiiiiiii/BookBookClub-MSA: 북북클럽 (MSA)북북클럽 (MSA). Contribute to ddururiiii.. 2025. 6. 30.
[민음사북클럽] 해가 지는 곳으로 (최진영) 책제목 : 해가 지는 곳으로작가 : 최진영출판사 : 민음사 “사랑을 품고 세상의 끝까지 돌진할 것이다.” 살 수 없을 것만 같은 곳이서도 여전히 사랑은 존재하고, 희망을 가질 수 없을 것만 같은 곳에서 희망이 자라난다.어쩌면 살 수 없을 것만 같아서, 희망을 가질 수 없을 것만 같아서 존재하는 것이 아닐까. 2025. 6. 27.
[개발일지 #046] 도커(Docker)로 MSA 통합 실행 환경 구축하기 (+ 자동화 스크립트) ✨ 왜 도커(Docker)로 MSA 통합 실행 환경 구축하는지현재 BookBookClub 프로젝트는 MSA 기반으로 구성되어 있어서 서비스가 user, post, notification, gateway 등 여러 개로 나뉨.근데 개발하거나 테스트할 때 각각 IntelliJ에서 따로 켜는 게 너무 번거롭고 비효율적이여서 Docker + docker-compose로 한 번에 통합 실행되게 설정함!Docker: 애플리케이션을 컨테이너라는 단위로 포장해 어디서든 실행 가능하게 해주는 도구.Docker Compose: 여러 컨테이너를 정의하고 한 번에 실행할 수 있는 설정 파일(docker-compose.yml) 포맷. 🛠️ 구현 방법1. 각 서비스에 Dockerfile 작성# 1. Java 17이 설치된 베이.. 2025. 6. 18.
[개발일지 #045] Spring Cloud Gateway를 이용한 인증 구조 통합하기 🎯 오늘의 개발 내용 (요약)Spring Cloud Gateway를 이용한 인증 구조 통합하기 ✅ Spring Cloud Gateway란?API 요청의 진입점(Gateway)을 담당하는 경량 프록시 서버임.API 요청 흐름을 제어하거나, 공통 처리를 전담하는 데 사용되며, 그 중에서도 GlobalFilter 를 통해 모든 요청에 공통 로직(JWT 인증 등)을 적용할 수 있음. ✅ 도입이유 기존에는 각 서비스(user, post 등)가 직접 JWT 토큰을 검증했기 때문에 중복된 인증 로직이 생기고 코드가 분산되어 관리가 어렵고 마이크로서비스가 늘어날수록 유지보수가 힘들어지는 구조임.그래서! JWT 인증 책임을 Gateway로 통합하여 코드 중복 제거 인증 흐름 중앙 집중화 구조를 더 단순하고 안정적으로 .. 2025. 6. 18.
[개발일지 #044] 알림 서비스 만들기 (Kafka 활용) 🎯 오늘의 개발 내용 (요약)Kafka 알림 시스템 구현 🧩 도입 배경BookBookClub은 책에 대한 피드와 소셜 기능을 제공하는 SNS로, 피드 작성, 좋아요, 팔로우 이벤트에 대해 사용자에게 실시간 알림을 제공하고자 알림 기능을 구현하게 되었음. 🏛️ 아키텍처 구조[post-service / user-service] --> Kafka Event 발행 --> [notification-service] 소비 및 저장 post-service: 피드 작성/좋아요 발생 시 Kafka 이벤트 발행user-service: 팔로우 생성 시 Kafka 이벤트 발행notification-service: Kafka Listener로 이벤트 수신 → DB 저장즉, notification-service로 별도 모듈을.. 2025. 6. 17.
[개발일지 #043] 리팩토링 (5) - CustomUserDetails, FeignClient 그리고 record 🎯 오늘의 개발 내용 (요약)CustomUserDetails 변경하기DTO에 record 사용하기🛠️ 개발내용CustomUserDetails 리팩토링 배경기존의 CustomUserDetails 즉, JWT토큰 안에 유저 아이디를 비롯해 유저의 다양한 정보 등을 모두 담고 있어 그정보를 활용하여 조회를 하곤 했다. 그러나 닉네임이나 이미지 같은 경우는 자주 바뀌는 정보인데 JWT로 발급되면 바뀌지 않아 유저가 프로필 이미지를 바꿔도 이전 정보가 계속 담겨있거나 JWT에 너무 많은 정보를 담으면 노출 리스크가 커져서 위험해질 수 있음 그래서 토큰에는 유저 아이디 같이 최소한의 정보만 담고, 나머지 정보는 FeignClient 통신을 통해 가져올 수 있도록 수정하였음. CustomUserDetailsCus.. 2025. 6. 17.
728x90
320x100