Hello, I’m Gyumyung Lee👋

Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.

Latest Posts

인터페이스가 Even하게 익지 않았어요 (ServiceImpl 구조에 대한 사견)

사견) Service를 추상화하는 것은 좋은 구조는 아니라고 생각한다. 1. 추상화를 하는 이유가 모호하다. 우리가 추상화를 사용하는 이유는 이를 의존하는 대상을 보호하기 위해 한다고 생각한다. 이 관점에서 볼 때 Service 인터페이스를 의존하는 Controller를 보호하는 느낌이 든다. 하지만 “Controller가 ...

항해 플러스 6기 3주차를 회고하며 - 요구사항 분석이 안됐잖아! 하지만 빨랐죠?

1. 문제 3주차의 과제는 다음과 같다. * 아래 시나리오 중 한 가지를 선택한다. 1. E-커머스 서비스 2. 맛집 검색 서비스 3. 콘서트 예약 서비스 * 선택한 시나리오의 요구사항을 분석하여 분석 자료를 작성한다. > 시퀀스 다이어그램, 플로우 차트 등 * ERD 설계하여 자료를 작...

항해 플러스 6기 2주차를 회고하며 - DB Lock도 락이다. 락에도 봄은 오는가

1. 문제 2주차의 과제는 다음과 같았다. * 특강 신청 서비스를 구현해 봅니다. * 특강 신청 API * 특강 선택 API * 특강 신청 완료 목록 조회 API * 특강 신청 및 신청자 목록 관리를 RDBMS를 이용해 관리할 방법을 고민합니다. * 아키텍처 준수를 위한 애플리케이션 패키지 설계 * ...

항해 플러스 6기 1주차를 회고하며 - 나야. 동시성.

1. 문제 걱정과 기대가 함께 있었던 항해 플러스가 시작되었다. 이전 기수분들이 겁(?)을 많이 줬었던 터라 걱정을 좀 더 많이 품고 그렇게 항해 플러스 1주차가 시작되었다. 1주차의 과제는 크게 다음과 같았다. * 어떤 사용자의 포인트 조회, 포인트 충전 및 사용, 포인트 충전 및 사용에 대한 목록 내역 조회 기능...

항해 플러스 6기 사전스터디 회고

항해 플러스 6기 사전스터디 회고 항해 플러스를 신청하다 지난 달부터 항해 플러스 코스를 신청했다. 새로운 기회가 없는 회사 업무에 익숙해져서 그대로 있다간 물경력이 될 것 같았다. 그리고 스스로도 발전이 필요할 것 같다고 느꼈는데 명확히 어떤 걸 공부해야 할지도 갈피를 잡지 못했다. 그러다 팀원분의 추천으로 항해 플러스...

AOP 활용하여 로그인 여부 체크하기

AOP 활용하여 로그인 여부 체크하기 요구 사항 진행하는 프로젝트에서 거의 대부분의 API 메서드에서 로그인 정보가 없으면 401 HTTP 상태와 에러 코드를 반환해야 한다는 요구 사항이 추가되었다. 단순히 요구 사항만 충족시킨다면 각 API 메서드에 로그인 여부를 검증하는 로직을 추가하고, 로그인 정보가 없다면 401 상...

ForkJoinPool과 클래스 로더

ForkJoinPool과 클래스 로더 문제가 발생한 상황 회사에서 설치형 솔루션 프로젝트를 진행하던 중이었다. 해당 프로젝트를 jar로 패키징하여 테스트 서버에 배포하고 기능 테스트를 진행하는데, 이러한 에러를 보게 되었다. java.lang.RuntimeException: java.io.FileNotFoundExcept...

Github Actions로 브랜치에서 push하면 특정 브랜치에 자동 merge 하기

Github Actions로 브랜치에서 push하면 특정 브랜치에 자동 merge 하기 팀원들과 깃 브랜치 머지에 대해 이야기하다가 다음과 같은 주제에 대해 이야기를 한 적이 있다. 현재 깃 플로우가 1. 개별 feature 브랜치에서 커밋 하고, 2. feature 브랜치와 릴리즈 버전 브랜치에 Merge 하고, 3. 버...

Kafka vs SQS 비교하기

Kafka vs SQS 비교하기 실무에서 담당하고 있는 서비스에서의 메시지 큐 서비스로 Kafka와 NiFi로 호출하는 SQS 두 서비스를 혼합해 사용하고 있다. 물론 서비스 내에서도 파트가 나뉘어져 있어 한 파트는 Kafka, 한 파트에서는 SQS를 사용하고 있긴 하다. 하지만 한 서비스에서 서로 다른 메시지 큐 서비스를 ...

도입 사례로 살펴보는 올바른 Kafka 사용 방안

도입 사례로 살펴보는 올바른 Kafka 사용 방안 통상적으로 알려진 Kafka의 이점 Kafka는 링크드인에서 만들어져 현재는 Apache 재단에서 관리하는 오픈소스 분산 이벤트 스트리밍 플랫폼이다. 기존 링크드인의 데이터 처리 구조는 아래 이미지와 같이 굉장히 복잡했다고 한다. 이런 복잡한 구조에서 만약 이슈가 발생한다면 ...