There are 12 posts.

이펙티브 코틀린 (TDD, 클린코드 with Kotlin) 8기 - 3,4,5주차

January 10, 2025

3주차 미션 회고 - 블랙잭 리뷰1 리뷰2 리뷰3 리뷰3 가장 어려우면서도 재밌었던 미션이었다. 도메인 용어(?)는 중요하다. 블랙잭에는 플레이어의 상태를 나타내는 hit, stay, bust, blackjack 과 같은 개념이 있다. 처음 구현할때는 일단 저 용어들을 몰랐고 굳이 저 용어를 사용하지 않더라도 비슷한 의미를 가진 용어를 쓰면 되겠지 라는 …


이펙티브 코틀린 (TDD, 클린코드 with Kotlin) 8기 - 2주차

December 02, 2024

2주차 미션 회고 - 로또 리뷰1 리뷰2 리뷰3 리뷰4 객체지향 어려운걸? 이번 미션을 진행하면서 가장 많이 받았던 피드백은 "A클래스에서 B클래스로 책임을 위임해보는건 어떨까요?" 였다. 코드를 작성할때는 분명 잘 나눴다고 생각했는데, 리뷰어님의 피드백을 받고 다시보니 아쉬운 부분들이 눈에 보이기 시작했다. 객체지향은 단순히 사이즈가 큰 클래스를 나누고…


이펙티브 코틀린 (TDD, 클린코드 with Kotlin) 8기 - 1주차

November 22, 2024

어떻게 시작하게 됐는가? 구직을 위해 채용공고를 보면서 느낀점은 자격요건에 Kotlin이 포함된 공고가 작년보다 눈에띄게 많아졌다는 사실이었다. 그래서 새롭게 진행하는 사이드 프로젝트는 Kotlin을 써보기로 결정했다. 책을 통해 문법은 알 수 있었지만 보다 코틀린스러운 코드를 짤 수 있었으면 했고 이를 위해서는 경험자들의 리뷰가 있으면 더 좋겠다는 생각…


여러 플랫폼에 대응할 수 있는 OAuth 코드로 개선하기

June 04, 2023

이전 글에서 SpringSecurity가 OAuth 로그인을 처리하는 과정을 디버깅을 통해 학습했습니다. 학습경험을 바탕으로 식도락 프로젝트의 기존 OAuth 로그인 코드를 개선한 과정에 대해 글을 써보려 합니다. 기존의 문제점 카카오 로그인에 의존적이며 확장에 닫혀있는 코드. 새로운 플랫폼을 지원하도록 확장하기 위해서는 요청을 보내는 클라이언트뿐만 아니…


SpringSecurity가 OAuth 로그인을 처리하는 과정 파헤치기

March 15, 2023

서론 저는 이전에 참여했던 사이드 프로젝트 에서 OAuth 로그인 개발을 담당했습니다. 그리고 이번에 프로젝트 리팩토링을 계획하면서 가장 마음에 안들던 로그인 관련 코드를 개선하기로 결정했습니다. 최초 기획에서는 카카오 로그인만을 사용하기로 했기 때문에 카카오 로그인에 맞게 코드를 작성하였고, 현재 로그인 관련 코드는 카카오 로그인에 종속적인 코드입니다.…


offset과 no offset을 사용한 페이징 성능 차이 분석

January 06, 2023

서론 최근 진행했던 식도락 프로젝트에서 유저의 피드 목록을 페이징 처리를 하여 제공하는 api를 개발했습니다. 해당 api는 sns 특성상 페이지 단위로 제공하기보다는 무한 스크롤 형식에 최근 작성한 순서로 데이터를 제공해야 했습니다. 페이징 방식을 고민하던 중 offset과 no-offset 방식이 있고 offset 방식을 사용하면 매번 full-sca…


Gradle 맛보기

November 20, 2022

이번에 식도락 프로젝트를 진행하는 과정에서 빌드 시 submodule의 파일들을 복사하는 task를 추가하는 작업을 맡았습니다. 쿠킴의 레퍼런스 덕분에 작업 자체는 수월했지만, gradle에 대해 거의 모르다보니 build와의 의존관계설정을 설정해주지 않아서 동작하지 않았던 경험이 있었습니다. 또한 Jay가 작성한 restdocs 관련 task도 설명없이…


Wiremock을 이용한 테스트 작성기

November 01, 2022

지난 Feign Client 적용기에 이어서 WireMock을 이용한 테스트 경험을 소개합니다. 서론 이번 프로젝트에서는 기능 개발 시 인수테스트, 통합테스트, 단위테스트를 먼저 작성하고 개발을 진행하려고 노력하고 있습니다. 저는 OAuth 로그인 기능을 맡았고 해당 기능에 대한 인수테스트를 작성하는 과정에서 "어떻게하면 외부 api에 대해 실제 상황에 …


Feign Client 적용기

October 19, 2022

서론 현재 진행하고 있는 식당 리뷰 sns 프로젝트에서 유저 로그인 기능의 구현을 담당하고 있다. 카카오 로그인을 구현하던 중, 카카오에서 제공하는 api에 Http 요청을 보내기 위해서는 클라이언트 객체를 사용해야했고 흔히 알고 있는 RestTemplate과 WebClient를 후보에 두고 고민하고 있었다. 그러던 중 쿠킴의 소개로 Feign Clien…


OSIV란?

July 12, 2022

서론 이번 글은 IssueTracker 프로젝트를 진행하면서 겪었던 영속성 컨텍스트와 관련된 문제를 맞닥트리면서 알게 된 OSIV라는 개념을 정리해보기 위해 작성하게 되었다. 고민 : 미션을 진행하며 대부분의 api에서 유저의 정보가 필요할것이라고 판단했고, 매번 유저를 조회하는 코드의 중복을 제거하고 싶었다. 해결책 : jwt 토큰을 통해 받은 유저의 …