Ai 여행 일정 생성 기능 구현중에 생긴 일이다. 위 사진과 같이 출발지/목적지의 도로 정보를 탐색할 수 없을때 kakao mobility api의 자동차 길찾기에서 102/103 result code를응답한다. 이전에 비슷한 문제로 105,106 result

카카오 맵 로컬 - 주소로 좌표 변환 기능을 사용해보기 위해 카카오 디밸로퍼스에서 설정중에 해결과정이다. 카카오 맵을 사용 권한을 활성하기 위해 사용설정을 하려고 했다.하지만 카카오 맵 사용 권한을 활성화 하기위해 "추가 기능 신청"을 해야 된다고 뜬다.테스트만 해보고

앱 아이콘 등록개인 개발자 비즈앱-카카오 비즈니스 통합 서비스 약관 동의개인 개발자 비즈앱 전환버튼 클릭- 전환 목적 작성결과
이전 포스팅에서 REST API 설계 원칙을 공부하고 실제 프로젝트의 URI를 리팩토링하는 과정에서,가장 고민이 많았던 부분은 회원 관련 API였다.프로젝트 초기에 회원 관련 API는 /auth, /members, /profile 세 가지 리소스로 나누어 사용하고 있었
REST API 설계 원칙의 필요성을 느낀 계기 spring & react를 사용해 MVP(Minimum viable Product) 프로젝트를 만드는 과정중 REST API END POINT를 리팩토링 하는 과정에서 처음 rest pai 설계 원칙을 참고하여 EN

Stack은 사전 정의 그대로 "쌓다"라는 뜻을 가지고 있다. 즉, 접시에 음식을 쌓아 올리듯 데이터를 차곡차곡 쌓아올리는 것을 말한다.이렇게 아래 그림과 같이 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는데 이러한 자료 구조를 LIFO구조라고 한다.

지금까지 Spring Security + JWT를 이용하여 로그인을 구현해 보았다. 이제 로그인을 한 사용자의 요청을 처리하고자 한다. 우선 인증된 사용자의 처리를 어떻게 해야되는지 과정을 정리해보고자 한다.
라이브러리 설정 build.gradle JWT Token DTO 생성 클라이언트에게 토큰을 발급해주기 위해 JwtToken DTO을 생성해준다. JwtToken의 필드중 grantType은 JWT에 대한 인증 타입이다. 인증 타입에 대해서 잘 모르므로 널리 사용
JWT란? JWT(Json Web Token)란 인증에 필요한 정보들을 암호호시킨 JSON 토큰을 의미한다. 보통 JWT와 같은 토큰기반 인증 방식은 토큰을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다. JWT 데이터는 BASE-64URL를 통해 인코딩

개념 스프링 시큐리티(Spring Security)는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크이다. 스프링 시큐리티에서는 주로 서블릿 필터(filter)와 이들로 구성된 필터체인으로의 구성된 위임 모델을 사용한다.

프론트에서도 회원가입시 필요한 유효성 검사 로직을 통해 검증된 DTO를 백엔드에 회원가입 api 호출과 함께 DTO를 요청을 하는것으로 알고 있다. 그렇기 떄문에 백엔드에서는 회원가입시 회원가입 데이터에 대한 최소한의 유효성 검사를 수행한 후 회원가입 로직을 시작하
CURSOR IDE에서 GIT사용의 불편함 Cursor IDE는 VS Code 기반이긴 하지만, 기본 제공되는 Git GUI 기능에서는 커밋 템플릿을 불러오지 못하기 때문에 불편했다.

앞서 재설계한 ERD에서도 여전히 개선할 여지가 남아 있다. 리뷰(review) 테이블에 추천 수를 나타내는 컬럼이 없어, 사용자 피드백을 수치화하거나 정렬 기준으로 활용하기 어렵다.
초기에 DB를 완벽히 설계해야되는 이유 개인 프로젝트를 시작하면서, 우선 외부 API 데이터를 가져오기 위해 간단한 구조의 ERD를 아래와 같이 설계하고, WebClient를 이용해 데이터를 DB에 저장하는 작업을 시작했다.
예전에 팀 프로젝트를 진행할 땐 개인적으로 기획서는 문서로, 일정은 캘린더로, 소통은 디스코드, 카카오톡을 같이 사용했었다.처음엔 괜찮았지만, 시간이 지날수록 업무 메시지랑 개인 메시지가 섞이고, 회의 내용은 디스코드에 정리했지만 결국 기억에 의존하거나 코드 주석으로

특정 엔티티를 영속 상태로 만들 떄 연관되어 있는 엔티티도 함께 영속 상태로 만드는것이다.만약 Parent 객체와 child 객체가 연관되어 있다고 가정하자.child객체의 갯수만큼 계속 persist하면 너무 귀찮다!이때 사용하는 것이 cascade다.child 코드
프록시(Proxy)란? 프록시(Proxy)란, 영문 그대로 '대리자'라는 뜻으로, 실제 객체를 대신하여 대리 역할을 수행하는 객체를 말한다. 위 사진과 같이 프록시는 실제 클래스를 상속받아서 만들어지기떄문에 실제 클래스 똑같이 생겼다. 이론상 사용자 관점에서는 진