문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요?솔직히 잘모르겠다. 왜냐하면 이미 그전주에 왠만한 과정들을 했었기때문에 상대적으로 없었던거 같다.알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?같은 인터페이스로 빈으로 등록했을때 사용하는 방법에 대해 알게 된거 같습니다.@Service@RequiredArgsConstructorpublic class SearchRestaurantService implements SearchRestaurantUseCase { private final List repositories; @Override public Pagination execute(RestaurantCriteria criteria) { for (SearchRestauran..
[이력 정리] - 과연 내 이력은 이직하는데 부족한걸까? (경력편) -1 [이력 정리] - 과연 내 이력은 이직하는데 부족한걸까? (경력편) -2 [이력 정리] - 과연 내 이력은 이직하는데 부족한걸까? (경력편) -3 생각보다 시리즈가 많이 나왔다.이제 세세하게 내가 일한 내용이 아니라 저 프로젝트?에 대해서 설명하면 될거 같다.1. 클라우드 관리 플랫폼2.도시 데이터 플랫폼이렇게 작성할 수 있을거 같다.지금까지 생각했을때 나는 코어 도메인은 맡지 않았던거 같다. 첫번째 같은 경우는 대기업에서 수주를 요청해서 제작했던 프로젝트였고 내가 입사했을때 개발을 하였다. 이력의 대부분을 이 프로젝트에 투자했던걸로 기억한다. 아무튼 이 프로젝트에 대해 설명하면 될거 같다.클라우드 관리 플랫폼은 크게 2..
[이력 정리] - 과연 내 이력은 이직하는데 부족한걸까? (경력편) -1. [이력 정리] - 과연 내 이력은 이직하는데 부족한걸까? (경력편) -2이제 내 경력이야기의 마지막일거 같다. SI에 근무했지만 했던 프로젝트가 2개밖에 존재하지 않는다. 그렇다고 해서 엄청많은 이야기가 있었던것도 아니었다. 내 개발 역사는 개발 그리고 문서였다. 의미없는 문서만 적는게 일상이었다. 남는게 아무것도 없다. 남은거라고는 오로지 기억에 의존할뿐이었다. 또, 나는 트러블 슈팅한 경험도 있지않는다. 이유는 모르겠다. 분명 열심히했던거 같은데 아무것도 기억이 나지 않는다. 난 여러가지 방법으로 이걸 선택했고 저걸 선택했고 그러지 않았다. 일단 정신차리고 어떤걸 했는지 깊게 고민하자. 이번에 할 이야기는 오픈소스로 개발을..
[이력 정리] - 과연 내 이력은 이직하는데 부족한걸까? (경력편) -1저번에 iam에 대해 정리를 했었는데 생각보다 많이 했던거 같다. 이제 나머지 config,metering,billing,lincense에 대해 정리를 하면 될거 같다. 얘네 같은 경우는 내가 main으로 가져가는 도메인이 아니기때문에 상대적으로 적을거라 예상한다.아마 정리는 3편까지 할거 같고 4편에는 이력서에 어떻게 적을지 작성해보는 시간을 가질려고 한다.자 본견적으로 시작해서 config부터 시작하자.config: 각 도메인에서 환경설정으로 사용될 서버에 대한 정보가 저장되어있다. 근데 소신발언하자면 초반에는 이 내용들이 나름 잘 지켜진거 같은데 나중에 되니 각 도메인에서 설정 API를 따로 만들었다. 어떤건지 정확하게는 기억이..
난 참 욕심이 많은거 같다. 나는 지금까지 올해만 3개나 듣고 있다. 이제 겨우 6월인데 반년을 교육으로 도배를 하였다.근데 왜 이렇게까지 교육을 듣는걸까?난 스스로 부족하다고 생각하고 있었다. 이게 나쁜건 아닌데 마치 지금까지 했던것들을 부정하고 새로운것으로 뒤엎고 있었다.이게 맞는걸까? 난 내 이력을 무시하고 있는걸까? 다만 아쉬운건 도메인적으로 개발을 열심히 했던거 같은데 특정 문제를 깊게 고민한 기억은 없었던거 같다. 지금 하는 교육으로 만약 그때로 돌아간다면 어떻게 고칠지도 고민해보자.음... 내 이력에 대해 간략하게 소개하면난 2021~2024년까지 근무를 했었다.그리고 거기서 진행한 프로젝트는 총 2개로 클라우드 프로젝트와 공공 데이터 프로젝트를 진행하였다.내가 맡았던 파트는 백엔드 개발를 ..
알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?이번에는 아키텍처를 헥사고날로 가져갔다. 다양한 아키텍처를 사용하면서 추후에 어떤 아키텍처를 사용할 수 있는지 정할 수 있으면 좋겠다. 사실 이미 존재하는 아키텍처를 따를 필요는 없다고 생각한다. 그런데 그렇게 했을때 과연 클린 아키텍처를 만족하면서 설계할 수 있는 능력이 될까? 솔직히 말해 나는 아직 부족하다는 생각이 든다.그래서 최대한 많은 아키텍처를 학습을 하는것이 더 유리하다고 생각한다.아무튼 내가 사용할 수 있는 아키텍처는 총 2가지로 layerd + clean(4계층), 핵사고날 아키텍처다.두개를 간략하게 설명하면 레이어드 같은 경우전통적인 3계층에서 계층이 하나 추가된 형태로 계층간에 어떻게 통신을 하는지가 중요하고핵사고..
맛집 API개발중인데몇가지 문제가 발생하였다.1. 검색 API에는 평점이 존재하지 않는다. 그렇기 때문에 평점을 등록하는 API를 추가를 해야 한다.2. 또한 리뷰도 존재하지 않는다. 이거 같은 경우는 블로그를 통해 확인이 가능은 하지만 그렇다고 해서 정확하지 않는다고 생각한다.이러면 직접 등록할 수 밖에 없을거 같다.3. 검색 조회는 최대 5개만 조회가 되어진다.https://developers.naver.com/notice/article/7528 지역검색 API에서 최대 출력 건수를 5개로 제한합니다. (2020년 7월9일(목) 시행 예정) - 공지사항 developers.naver.com 과도한 API사용에 따라 5건만 노출이 된다는뜻이 된다. 그렇게 되면 순수하게 검색했을때 1~5건만 노출을 시키..
알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?솔직히 아직 잘 모르겠다. 어떻게 설계를 해야 할지 잘 모르겠구어떤게 최선인지도 아직 잘모르겠다. 아직 내가 이겨내야할것이 굉장히 많기에 다른분들이 어떻게 작성을 하는지 보는데굉장히 달랐다. 거기서도 얻은 인사이트는 많이 없었던거 같다.여기는 어쩔수 없이 길게 조금씩 천천히 그리고 이겨낼거고결국은 성공할거다. 다음 목표 설정 반복적인 성장을 위한 실천 가능한 단기적인 목표를 설정해보세요!다음은 뭘해야 할까 스탭이 점차 올라가면 갈수록 더 힘들어지는거 같다. 올패스는 물건너갔고이제 최선을 다해서 다음을 준비를 해야겠다.~~~
DDD로 개발하라고 그러면 보통 헥사고날로 개발하지 않으면 DDD가 아니라고 말을한다.사실 이건 틀린 주장이라 생각한다. 애초에 DDD는 도메인 주도 개발으로 도메인을 중심으로 개발하면 상관없다.즉domain1 controller service repositorydomain2 controller service repositorydomain3 controller service repository이렇게 개발해도 도메인이 중심이기 때문에 이렇게 해도 DDD라고 말할 수 있다.하지만 저 구조에는 아주 치명적인 문제가 존재한다.바로 어떻게 데이터를 보내는지 즉, 통신에 문제가 발생한다. 왜냐하면 도메인1에서 데이터를 도메인2에게 데이터를 보내는 경우 혼재될 가능성이 존재하기 때문이다. 이걸 해결하..
알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?TDD를 어떻게 하면 접근하면 되는지 알게 되었습니다.테스트 더블: spy,mock, stub의 차이점을 알게 되었습니다.2025.05.23 - [항해플러스WIL/테스트주도개발] - 테스트 더블은 테스트 두번하는 건가?다음 목표 설정 반복적인 성장을 위한 실천 가능한 단기적인 목표를 설정해보세요!동시성 제어를 하기 위해 어떤작업을 할 수 있을지 생각해보고 특정 상황에서 문제가 발생하였을때 혹은 더 좋은 방향으로 어떻게 하면 갈 수 있을지 고민해본다
TDD를 학습하다보면 테스트 더블이라는 말이 나온다. 그렇다면 테스트 더블은 테스트를 두번하는걸까?gpt한테 물어보니 이 용어는 영화 용어에서 스턴트 더블에서 왔다고 한다.그리고 찾아보니 더블이 두배라는 뜻이 있지만 대역이라는 뜻이 있다고 한다.그럼 뜻을 다시 해석해보면 테스트를 하기 위해 대역을 쓰는거라고 이해하면 될거 같다.요런 관점에서 생각을 해본다면테스트 더블에는 총 5가지의 대역들이 존재한다.mock, spy, stub, fake, dummy요렇게 5가지가 있다고 한다.이제 대역이라는 것을 바탕으로 생각을 해보면mock은 구현에 대한 대역spy는 구현에 대한 대역stub은 값에 대한 대역fake은 구현에 대한 대역dummy는 값에 대한 대역요렇게 나눌수 있을거다.근데 이상한건 구현3에 값이2개다..
학습 키워드Unit Test / Integration Test / E2E Test테스트 Pyramid테스트 커버리지 vs 유의미한 테스트유닛테스트라는건 뭘까?서비스단에서? 컨트롤단에서? 음 아무래도 상관없으려나유닛테스트는 단위테스트라고 하며그림을 보면 알수 있듯이 단위 테스트는 테스트 피라미드 바닥에 존재하며 굉장히 많은 수 가 있다는 것을 알 수 있습니다.이는 간단하게 작성이 되어진다는 뜻이 되어집니다.이전 포스트에서도 말했었지만 테스트코드는 굉장히 중요합니다. 그렇다는 이야기는 e2e를 하든 통합을 하든 유닛을 하든작성을 하는것이 좋습니다. 여기서 중요한 사실은 유닛테스트가 양이 제일 많다는 것입니다. 그렇다는건 유닛테스트를 중점으로 테스트코드를 짜야 된다는 뜻이 됩니다.그리고 그림에서 보면 알 수 ..