[Spring Security] CurrentUser 구현체 + ArgumentResolver
·
Project/Team
정리하게 된 계기 이번에 팔로우 기능을 개발하면서 팔로우 추가 파라미터를 받는 FollowRequestDTO 를 작성할 때 아직 Spring Security 가 구현안된 상태여서 TODO 로 아래처럼 적어둔 상태였다. import ...@Getter@NoArgsConstructorpublic class FollowRequestDTO { // TODO : JWT 도입 후 토큰 정보에서 로그인 사용자 ID 뽑아올 예정 private String fromUserId; private String toUserId; ...} 그리고 Follow 기능을 어느정도 완성한 후 follow branch 에서 main 으로 PR 을 올렸는데 아래와 같은 리뷰를 받게 되면서 CurrentUser 구현체가..
[JPA + QueryDSL] 이해하기
·
Project/Team
서론 해당 글에서는 JPA 와 QueryDSL 에 대한 개념보단 프로젝트를 진행하면서마주한 문제와 알게된 내용을 기록하기 위해 작성하였습니다. JPA (Java Persistence API)자바 객체(클래스) 와 데이터베이스 테이블을 자동으로 매핑해주는 ORM 표준 인터페이스이다. 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현한다. ORM (Object-Relational Mapping) 애플리케이션의 Class 와 RDB (Relational Database) 의 테이블을 매핑(연결) 한다는 뜻이다. 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면 된다. QueryDSL 을 적용하게 된 계기 JPA 를 통해서 쿼리를 작성하려다가..
[Git] Branch 와 checkout 의 헤프닝
·
Project/Team
문제 🧨 새로운 브랜치의 변경사항을 commit 하지 않았는데도 main 에 적용된 것처럼 보이는 현상 발생 사건의 흐름 1. Github (원격) 의 main 브랜치에서 새로운 브랜치를 생성함 2. 로컬로 돌아와 git fetch origin 을 하여 원격에서 생성된 브랜치를 가져옴 3. 원격에서 fetch 해온 새로운 브랜치로 checkout 하여 패키지명을 변경함 4. 이 때 새로운 브랜치에서 commit 하지 않은 채 로컬 main 브랜치로 checkout 함 - commit 하지 않고 main 브랜치로 체크아웃했던 이유는 혹시 실수로 main 에 반영된 게 아닐까 싶어 확인차 돌아갔었던 차였다. 그런데 새로운 브랜치에서 변경한 사항이 main 에도 똑같이 패키지명이 바뀌어져 있어서 어라?..
[AWS Lambda] EventBridge 스케줄러를 활용한 카카오톡 API 메세지 전송
·
Project/Personal & Toy
상황 Python을 사용하여 웹 스크래핑한 데이터를 카카오톡 API를 통해 전송하는 것을 프로그램을 개발하는 데 성공하였다. 하지만 매번 이렇게 프로그램을 실행시켜서 카카오톡으로 데이터를 보내면 의미가 없지 않을까 싶어서 특정 시간마다 프로그램이 실행되는 기능을 조사하였다. 그 결과, AWS Lambda 에서 EventBridge 스케줄러를 활용하면 일정을 직접 설정하여 함수를 실행시킬 수 있다는 것을 알게 되어서 시작하게 되었다. 그 전에... 먼저, 나는 재미 삼아서 구현하게 된 프로젝트이기 때문에 깊게 설명하지는 않을 예정이다. 이를 참고해주기 바란다. 자세한 사항은 아래 페이지를 나와있다. 나도 이것을 보고 스케줄러를 만들었다. Amazon EventBridge 스케줄러와 함께 Lambda 사용 ..
[AWS Lambda] HTTP 403 Error : url forbidden 문제 해결
·
Project/Personal & Toy
상황 웹 스크래핑하여 데이터를 받아오는 것을 카카오톡으로 일정 시간마다 전송하기 위해 AWS Lambda를 활용하게 되었다. 카카오톡으로 전송하는 것을 테스트 하기 전, 먼저 lambda_function.py 파일에서 IDE에서 짜놓은 코드가 제대로 동작을 하는지 확인을 거치는 과정에 에러가 발생하였다. HTTP 403 Error : url forbidden 에러 발생 Troubleshoot HTTP 403 errors from API Gateway When I call my Amazon API Gateway API, I get a 403 error. How do I troubleshoot 403 errors from API Gateway? repost.aws 구글링을 통해 위 링크를 찾게 되었다. 이를..
[Python] 웹 스크래핑 : requests.exceptions.ConnectionError
·
Project/Personal & Toy
requests.exceptions.ConnectionError 발생 웹 스크래핑 프로젝트에서 헤드라인 뉴스를 가져오는 도중, requests.exceptions.ConnectionError 가 발생하였다. requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) 처음 보는 에러를 보고, 항상 생각하는 것은 영어 좀 해둘걸 이다. 그래도 어느 정도 알고 있던 지식을 기반으로 해석을 해보니(물론 우리에겐 파파고가 있지만) 요청 연결에서 에러가 발생했다는 의미 같았다. Connection aborted. 연결이 중단되었다는 뜻으로, R..
[Python] 웹 스크래핑 : 같은 태그명의 정보를 가져오는 방법
·
Project/Personal & Toy
같은 태그명의 데이터 가져오는 방법 : index 사용하기 웹 스크래핑 프로젝트 중 네이버에서 오늘 날씨 정보를 가져오고 있었다. 그중에서 오전과 오후를 나눠 각각 강수확률을 가져오려는데, 아래 사진과 같이 오전과 오후가 같은 태그명인 것을 발견했다. 여태까지 공부해 온 것은 Java 언어였기 때문에 파이썬 언어가 익숙지 않아서 어떻게 해결해야할까 고민을 했다. 검색을 통해 get_text( )가 공백을 포함하여 문자열을 받는 것을 알게 되었다. 그렇다면, split( )을 통해 리스트에 각각 문자열을 담으면 되지 않을까 생각을 해보았다. 그러나 afternoon_rain_rate = soup.find("span" , attrs={"class":"weather_inner"}).get_text().spli..