분류 전체보기 76

본캠프 : JwtFilter - ArgumentResolver 실습

[ JwtFilter - ArgumentResolver 실습 ] (1) JWT 의존성 추가(build.gradle)// jwtcompileOnly group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5' (2) jwt.secret.key 추가(application.properties)jwt.secret.key=OFJSU3pod0t2WUxmaXY2Z2ZncjhJQmVtdlo1UWJId3E..

카테고리 없음 2025.03.08

본캠프 : 향상된 for문, stream 사용법

향상된 for문과 stream은 같은 기능이다. 전체 조회 코드를 아래와 같이 두 가지로 작성할 수 있다. (1) 멤버 전체 조회// 멤버 전체 조회@Transactional(readOnly = true)public List findAll() { List members = memberRepository.findAll(); List dtos = new ArrayList(); for (Member member : members) { dtos.add(new MemberFindResponseDto(member.getName(), member.getEmail())); } return dtos;}// 멤버 전체 조회@Transactional(readOnly = true)pub..

개발/부트캠프 2025.03.08

본캠프 : Git rebase

Git rebase → 나(feature)를 쟤(master) 위로 올려! [ 프로젝트 시작 / dev 브랜치와 feat 브랜치 사용 ]git init git clone 깃허브 주소 현재 dev 브랜치에서git switch -b "feat/user" 내 작업(feat/user) 시작 그러는 중팀원이 코드 수정 및 머지 완료 git stash (내 작업 임시저장) git switch devgit pull origin dev git switch feat/usergit rebase dev git stash pop(임시저장 꺼내기) 내 작업(feat/user) 다시 시작  git add . git commit -m “수정” git push (origin feat/user) 창에 뜨는 내용 복붙   git pus..

개발/부트캠프 2025.03.04

본캠프 : 심화 개인 과제_N+1 문제

N+1 문제: JPA가 연관된 엔티티를 조회할 때 추가적인 쿼리(N개)를 반복적으로 실행하기 때문에 발생하는 문제 Lazy Loading지연 로딩(Lazy Loading)은 데이터를 실제로 사용할 때 데이터베이스에서 조회하는 방식(N+1 문제 발생) Eager Loading즉시 로딩(Eager Loading)은 엔티티를 조회할 때 연관된 데이터까지 모두 한 번에 로드하는 방식 Entity클래스에서 해당 필드의 Fetchtype을 Eager로 설정하면 N+1 문제가 발생하지 않는다.하지만 연관된 객체를 매번 함께 조회하는것은 낭비인 경우가 있다. 해결방안Fetchtype을 Lazy로 설정하되 추후에 쿼리를 작성할 때 fetch join을 사용하여 해당 부분은 Eager로 동작하게 한다. Fetch join..

개발/부트캠프 2025.02.27

본캠프 : 테스트 코드

테스트 준비Spring Bootdependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test'} 📌 스프링 부트에서는 이미 호환되는 버전의 테스트 관련 라이브러리들이 제공된다.테스트는 중요하기에 따로 테스트 관련 의존성을 넣지 않더라도 default로 포함되어있다. Given-When-Then 패턴Given : 주어진 전제 조건을 정의하고 테스트 실행을 위한 준비 "어떤 배경이나 상태가 주어졌을 때"When : 테스트하려는 메서드나 기능을 실행하는 과정 "어떤 행동을 실행하면"Then : 메서드나 기능이 실행된 후 예상되는 결과가 나오는지 확인 "예상한 결과가 맞는지 확인한다" import org.junit...

개발/부트캠프 2025.02.26

본캠프 : 챌린지반 특강_Git

commit: 작업의 의도와 히스토리를 파악할 수 있는 문장 commit type타입목적feat, feature새로운 기능 추가imp, impl기존 기능 수정fix버그, 결함 수정hotfix긴급 수정(to master)refector, refec리펙토링test테스트 코드choreconfig, 빌드 수정 등 잡다.. merge 전략: merge commit, squash, rebase주어진 상황에 따라 각 merge 방법을 알고 사용 *rebase: 브랜치의 커밋 히스토리를 다른 브랜치 위로 재배치(rebase)

개발/부트캠프 2025.02.25