문제상황: 더이상 Dao 코드를 참을 수 없음 이 프로젝트는 대충 이렇게 생겼었다 연관관계가 있는 Repository를 Dao에서 조합해서 엔티티를 다루는 방식이다.
블로그에서 가장 핫한 포스트가 Spring Boot 3 설정 및 CORS 설정 관련 포스트이기도 하고,토이 프로젝트를 만들 때마다 비슷한 코드를 반복해야 하는 탓에 보일러 플레이트 코드를 작성했어요.쓰임새에 따라 브랜치로 구분해놓았습니다.스터디원과 공유할 겸 깃허브에
1. type 만들어 적용하기 type Habit = { habitId: number; content: string; } // useState 등에 적용 -> Generic const [habits, setHabits] = useState<H
1. 안 나오면 섭섭한 CORS policy 설정 오류 Spring Boot 3.1로 프로젝트를 **'가볍게'** 하나 세팅해보려다 어김없이 CORS 오류와 만났다. 제목엔 호기롭게 안 나오면 섭섭하다고 적었지만, 솔직히 저 오류 안 뜬다고 정말로 섭섭할 것 같진 않다
Refresh Token의 문제점을 생각해봤다.1) 유효기간이 긴 RT가 탈취될 경우 보안은...?이 경우 Refresh Token Rotation을 구현하여 Refresh Token의 일회성을 보장하면 해결될 듯 하다.그런데 문제는 다음부터다.2) 탈취범이 정상유저보
개발/배포 환경마다 DB 환경변수도 다르고, (나 같은 경우엔) allowed origin도 다르고, 보통 뭐 이것저것 많이 다르다. profile을 설정해서 별도의 귀찮은 작업 없이 개발 환경과 배포 환경을 분리해보자!
기존 @Query로 JPQL이나 nativeQuery를 사용했던 메소드를 QueryDsl을 통해 리팩토링했다.(QueryDsl 진작 배울걸 정말 재밌다 😆)식물 테이블에 물주기 테이블을 LEFT JOIN 후, 물주기 기록이 없는 식물을 받아오는 쿼리다.QueryDsl
드디어 테스트를 배우기로 결정했다!단위 테스트(unit test) 지원 프레임워크assert 메소드로 테스트 수행 결과 판별@Test 메소드가 호출될 때마다 새로운 인스턴스를 생성하여 독립적인 테스트스프링 이니셜라이저로 생성한 경우 거의 따로 설정 필요Xspring-b
Spring boot 2.7을 사용하다 QueryDsl 공부는 3.1로 진행해보고자 한다. (두 개 동시 공부!)프로젝트 생성은 start.spring.io를 사용하였는데...실행이 안된다😂프로젝트 생성 후 IntelliJ에서 Gradle import가 안된다!(에러
EC2의 jenkins에서 github push 트리거를 사용해서 배포하려다, '나 혼자 만들어서 배포하는 건데 굳이 github의 소스를 내려받을 필요가 있을까?'라는 생각이 들었다. 결국 로컬의 jenkins를 사용해 배포하기로 결정했다. 고로, 이 포스팅은이 포스
# 1. 기본 세팅 ## 1) Amazon Machine Image(AMI) AMI란 EC2 인스턴스를 시작하는 데 필요한 정보를 이미지로 만들어 둔 것. -> **Amazon Linux** ## 2) 인스턴스 유형 인스턴스의 사양을 선택하는 페이지. 프리티어 사용
# 1. refresh token은 왜 사용하는가? 1) 로그인 유지: 액세스 토큰은 일정 기간 동안만 유효, 사용자는 액세스 토큰이 만료돼도 refresh token으로 새로운 액세스 토큰을 발급
배포 중인 프로젝트에서 주소창으로 페이지에 접근하거나 새로고침 시 페이지가 아니라 raw json이 렌더링 되는 오류를 겪었다. (개발 환경에선 이런 현상이 일어나지 않았다)우선 해당 프로젝트의 환경은 다음과 같다.react + spring bootreact를 먼저 빌
JWT와 OAuth2 로그인을 도입하며 access token을 처리하는 것에 벅차 refresh token 구현을 미루고 미루다 드디어 구현! login_flow흐름 상으로는 기존 로그인 및 access token 발급 플로우에 refresh token 발급 로직을
# 1. 예외처리 크게 세 가지로 나눠볼 수 있다. 종류 | 해결 방법 --- | --- 표준 예외를 사용한 예외처리 | @RestControllerAdvice 커스텀 예외를 사용한 예외처리 | @RestControllerAdvice, Custom Exception
1. 구현 기능 not-a-gardener는 "일주일에 한 번 물을 주세요"에서 벗어나기 위해 만든 서비스다. 물주기 기능에서 구현한 것들은 다음과 같다. 두 개 이상의 물주기를 기록하면 '최근 물주기'가 생성된다 기록된 주기를 사용해 다음 물주기 스케줄을 알려준다
1. 문제 상황! 1) not-a-gardener의 메인 기능 not-a-gardener의 메인인 Plant, Garden 기능을 소개하자면 다음과 같다. 관수 주기 계산 (ex. 오늘 물 줄 날이에요, 물이 말랐을 수 있으니 흙을 확인해보세요, 물 줄 날짜가 지났어
그만 찾아보자.. ## 1. 어플리케이션 설치,삭제 * **brew update**: brew를 최신버전으로 업데이트 * **brew search <패키지명>**: 프로그램이 있는지 검색 * **brew install <패키지명>[@버전]**: 프로그램 설치(최신버전
# ERR_CONNECTION_REFUSED ## 1) 설명 프론트에서 서버쪽으로 자원요청을 할수 없어서 발생하는 오류 ## 2) 해결 고정 아이피가 아니라 구입한 도메인으로 접근하니(클라이언트 .env의 서버 url로 구입한 도메인 적어줌) 해결되었다. http