본문 바로가기

분류 전체보기13

FeignClient 적용기 서론 현재 진행하고 있는 식당 리뷰 sns 프로젝트에서 유저 로그인 기능의 구현을 담당하고 있다. 카카오 로그인을 구현하던 중, 카카오에서 제공하는 api에 Http 요청을 보내기 위해서는 클라이언트 객체를 사용해야했고 흔히 알고 있는 RestTemplate과 WebClient를 후보에 두고 고민하고 있었다. 그러던 중 쿠킴의 소개로 Feign Client의 존재를 알게 되었다. 💫 Feign Client란? Feign Client란 Netflix에서 개발한 Http Client다. (HttpClient는 Http 요청을 간편하게 만들어서 보낼 수 있도록 돕는 객체라고 생각하면 될것 같다.) 처음에는 Netflix에서 자체적으로 개발을 진행했지만 현재는 오픈소스로 전환했으며 SpringCloud 프레임워.. 2022. 11. 20.
OSIV란? 서론 이번 글은 IssueTracker 프로젝트를 진행하면서 겪었던 영속성 컨텍스트와 관련된 문제를 맞닥트리면서 알게 된 OSIV라는 개념을 정리해보기 위해 작성하게 되었다. 고민 : 미션을 진행하며 대부분의 api에서 유저의 정보가 필요할것이라고 판단했고, 매번 유저를 조회하는 코드의 중복을 제거하고 싶었다. 해결책 : jwt 토큰을 통해 받은 유저의 id를 사용해 인터셉터에서 미리 유저 객체를 조회한 뒤, ArgumentResolver 를 사용해서 해당 유저 객체를 컨트롤러에서 파라미터로 받아서 사용하기로 했다. 하지만 예상하지 못한 문제가 발생했다. 인터셉터에서 조회해서 컨트롤러에서 넘겨받은 유저 객체는 영속성 컨텍스트에서 관리해주지 않았다. 원인은 영속성 컨텍스트가 생성되는 시점이 우리가 등록한 .. 2022. 11. 20.
2022년 코드스쿼드 회고 백엔드 개발을 공부하기 위해 올해 1월 3일부터 코드스쿼드 백엔드 코스에 참여했고 7월 1일부로 끝이났다. 🤒코로나 이슈😷로 조금 늦은 회고를 작성해본다. 💩 코드스쿼드 이전 20년도 3월부터 8월까지 다른 부트캠프에서 6개월짜리 웹 풀스택 과정을 수강했고, 이때 개발을 제대로 접해보게 되었다. 시작할때까지만 하더라도 해당 과정이 끝나면 개발자로 취업할 준비가 되겠지라는 생각을 가지고 있었다. 자바스크립트를 시작으로 리액트, 노드를 배웠고 프로젝트까지 했지만 수료 후 스스로를 돌아보니 뭐 하나 제대로 알고 있는게 없었다. 또한 서버개발자를 생각하고 준비했지만, 내가 경험한 내용들은 프론트에서 사용되는 스택에 더 집중되어 있다고 생각되어서 프론트 개발자를 목표로 바꾸기로 결심하고 1년간 개인 공부를 진행했.. 2022. 11. 20.
[코드스쿼드] - Airbnb 프로젝트 회고 🤝 Airbnb Team Project 나단과 함께 3주간 진행한 숙소 예약 서비스 프로젝트의 회고 🚴🏻‍♂️ 진행 과정 1주차 요구사항 분석 도메인 모델 및 DB 스키마 설계 Mock API 제공 1주차에는 기획서를 보면서 Miro 툴을 사용해 각각의 화면에서 대략적으로 필요한 API와 도메인 모델, DB 테이블을 설계하는 시간을 가졌다. 이후 Postman을 사용해서 Mock API를 제공했다. (다시는 사용하지 않을 것 같다.. 정말 번거롭다.) 2주차 인프라 아키텍처 구축 및 자동 배포 메인 페이지에서 지역 목록과 이벤트 목록을 제공하는 API 작성 VPC, 퍼블릭/프라이빗 서브넷, 인터넷 게이트웨이, Nat 인스턴스 등 처음 듣는 개념들을 사용해서 인프라를 구축해야 했다. 호눅스의 강의를 통해 .. 2022. 11. 20.