Til
2023.12.13 TIL
오늘 한 것 - 알고리즘 문제풀기 - JPA 심화 강의 - 이력서 정리 오늘은 갑자기 이력서와 자소서가 생각나 기본적인 사항들을 정리하는 시간을 가졌다. 손 놓은지 오래되서 다시 작성해보려니 정말 힘들었다.. 내일배움캠프를 진행하면서 개발만해서 깜빡했는데.. 면접이랑 자소서는 어떡하지.. 조금 마음이 심란해졌다. 플러스 주차 JPA 강의도 많이 남았는데 빨리 들어야겠다..
2023.12.12 TIL - PostgreSQL 알아두면 좋은 명령어
이번 JPA 심화주차 강의에서 MySQL을 사용하지 않고 PostgreSQL을 사용하여 알아두면 좋은 명령어들을 포스팅 하면 좋을 것 같아 정리하였습니다. [PostgreSQL] 알아두면 좋은 기본 명령어 PSQL 주요 Command 1. \c : 접속한 DB Instance를 변경. 여러 DB Instance들이 있고, 정보를 조회나 Query 실행 대상 DB Instance를 변경할 때 사용한다. 사용법 \c [DB Name] [Connection User} 사용예 ... # Database Instance 'mes mocha-coding.tistory.com
2023.12.11 TIL
팀 프로젝트를 마치며 내배캠 심화주차 백 오피스 팀 프로젝트를 마치며 느낀점과 앞으로 도전해야 할 것들을 아래 포스트에 작성을했다. 프로젝트 일정동안 맡은 기능에 대해 책임감을 갖고 개발하고, 팀원들과 필요한 정보들을 공유하고 의논하며 완성도 높은 결과물을 만들 때 마다 정말 보람찬 것 같다. 그리고 벌써 캠프에 참여한지 3개월이 되어가는데 여기서 같은 팀원으로 만난 사람들이 성장하고 나도 성장하는 것을 보며 참여하길 정말 잘했다고 느낀다. 남은 기간 동안 더 열심히 노력해서 좋은 개발자가 되었으면 좋겠다. [팀프로젝트] ipv4 - Y SNS KPT 회고 IPv4 | Built with Notion Built with Notion, the all-in-one connected workspace with..
2023.12.10 TIL - oauth2-client 인증 실패 핸들러
Srping oauth2-client 모듈을 활용하여 소셜로그인을 구현하였다. 그 중 인증처리가 실패할 경우 에러 응답을 주기 위해 oauth2 failureHandler를 구현하였다. 인증 실패 커스텀 핸들러 구현 OAuth2 인증실패 시 기본적으로 SimpleUrlAuthenticationFailureHandler가 실패처리를 하게된다. SimpleUrlAuthenticationFailureHandler은 설정 때 받은 url로 (기본값: /login?error) 리다이렉트 시켜 응답을 반환한다. 하지만 구현하는 프로젝트는 REST API 서버이므로 리다이렉트를 시키지 않고 Json 포맷으로 적절한 에러응답을 보내야한다. 그래서 커스텀 핸들러를 구현하고 주입해주어야한다. OAuth2Authentica..
2023.12.08 TIL - REST API 서버 네이버,카카오 소셜 로그인 구현
소셜 로그인 구현 구현 요구사항 중 네이버, 카카오 소셜 로그인 구현이 있어 Spring 에서 제공하는 oauth2-client 모듈을 이용하여 구현했다. 환경 SpringBoot 3.1.5 Java 17 Gradle 8.4 준비사항 build.gradle에서 해당 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 인증 과정 소셜 로그인 인증 과정은 다음과 같습니다. 1, 2. 사용자가 서버에서 설정된 oauth2 login url을 통해 로그인 요청시 (ex. /api/auth/login/{provider}) 서버에서 로그인페이지로 리다이렉트시킵니다. 3. 로그인을 완료하게되면 인증서버에서 받은 code ..
2023.12.07 TIL - Refresh Token 재발급 구현하기
Jwt를 이용한 토큰 인증방식으로 인증/인가를 구현하게 되면 장점도 있지만 단점도 존재한다. RefreshToken 토큰 인증 방식은 보안에 취약하기 때문에, 보통 유효기간을 짧게 가져간다. 유효기간을 짧게 설정하면 로그인 요청이 많아지게 되어 토큰 방식으로 인증하는 의미가 퇴색된다. 이를 보완하기위해 Jwt AccessToken을 발급할 때, 유효기간을 길게 설정한 토큰인 RefreshToken도 발급하게 된다. RefreshToken은 AccessToken과 마찬가지로 Jwt로 발급하거나 UUID를 활용한 긴 문자열로도 발급한다. 형태의 제한이 없고 식별할 수 있는 값이면 되는 것 같다. 인증 과정 토큰을 이용한 인증 과정은 다음과 같다. 1. 사용자 회원가입 정보 입력. 2. 유효한 데이터가 들어왔..
2023.12.06 TIL - 스프링 시큐리티 RequestMatchers
오늘 한 것 팀 프로젝트 팀 프로젝트 오늘은 어제 작성한 일정대로 시큐리티 인증/인가, 로그인, 회원가입을 구현했다. 전 프로젝트 때도 맡았던 역할이라 구현하는데 어려움은 없었지만 코드 병합 후 다른 팀원이 사용하면서 문제가 하나 발생했다. 시큐리티에서 url 을 검사하는 requestMathcers 에 내가 사용하는 api 만등록을 해두었었다. .requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll() .requestMatchers(PathRequest.toH2Console()).permitAll() .requestMatchers(this.whiteListMapToMvcRequestMatchers(mvc)).perm..
2023.12.05 TIL - 팀 프로젝트 시작
오늘 한 것 팀 프로젝트 S.A 작성 팀 프로젝트 오늘 부터 팀프로젝트를 시작했다. 팀 프로젝트 주제는 백오피스로 SNS, 배달, 익명 커뮤니티를 주제로 개발을 하고 서비스 관리를 위한 백오피스까지 구현하는 것이다. 프로젝트 발제 후 팀원들과 같이 프로젝트 S.A를 작성했다. 꽤나 많은 요구사항이 있어 프로젝트 설계를 하는데 오래 걸렸다. 그래도 기본적인 설계는 잘 잡고 들어가는 것 같아서 만족스럽다. 이제 다시 9 to 9에서 9 to 4 로 돌아갈 때가 됐다. 이번 프로젝트도 맡은 역할에 충실히 하고 팀원들과 잘 협업해서 프로젝트를 잘 마쳤으면 좋겠다. 프로젝트 소개는 따로 포스팅해서 올립니다. 2023.12.05 - [프로젝트] - [프로젝트] ipv4 조 - 'X보다 더 나은 Y' ( thread..