- 이메일 : 양방향 암호화 (암호화된 암호문 복호화 가능) - 비밀번호 : 단방향 암호화 (암호화된 암호문 복호화 불가능) 암호 알고리즘 종류는 매우 많지만, 일반적으로 SHA-256(단방향)이나 AES-256(양방향) 이상
회원가입 시 받는 이메일 인증은 사용자 식별 및 보안 강화를 위해 필요한 기능이다. 만약 이메일 인증과 같은 인증기능이 없다면 한 사람이 10개 혹은 1000개의 계정을 무한대로 생성할 수 있다는 것인데, 이는 스팸과 부정 사용, 가짜 리뷰와 평점 조작 등 다른 사용자
컴포넌트 스캔과 자동 의존관계 설정자바 코드로 직접 스프링 빈 등록MemberController가 MemberService를 통해서 회원가입, 데이터 조회\-> 서로 의존 관계가 있다@Controller 애노테이션이 있으면 MemberController 객체를 생성해서
💡 스프링 이메일 인증을 구현할 때에, 인증번호에 대한 값을 하나의 변수에 넣고 관리를 하도록 코드를 짰었다. 그러나 만약 여러 유저에게 이메일 인증 요청이 들어온다면? 마지막에 요청한 유저만이 이메일 인증 번호 매칭을 성공할 수 있다는 큰 문제점이 발생한다. 그래서
JPA는 기존의 반복 코드는 물론, 기본적인 SQL도 JPA가 직접 만들어 실행해준다.JPA를 사용하면 SQL과 데이터 중심 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있으며, 개발 생산성을 크게 높일 수 있다.라이브러리 추가show-sql: JPA가 생성하는
스프링 4.3 버전 이후는 새로 나온 아래 어노테이션을 사용하기 때문에 `@RequestMapping` 어노테이션은 더 이상 사용되지 않는다. * `@GetMapping` * `@PostMapping` * `@PutMapping` * `@DeleteMapping`
로깅(logging)이란? 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간순으로 기록하는 것. 개발 영역 중 '비기능 요구사항' (사용자나 고객에게 필요한 기능은 아니라는 뜻) 하지만 로깅은 디버깅하거나 개발 이후 발생한 문제를 해결할 때 원인을 분석하
테스트 코드란? 우리가 작성한 코드나 비즈니스 로직 자체를 테스트하기 위해 작성한 코드 테스트 코드 작성 이유 개발 과정에서 문제 미리 발견 일부러 오류가 발생할 수 있는 테스트 코드를 작성해 예외 처리가 잘 작동하는지 확인 정확히 의도한 비즈니스 로직에 맞춰
git pull을 하려고 하니 해당 오류가 발생했다..찾아보니 원인은 두 가지라고 한다. 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합할 경우로컬 저장소와 원격지의 저장소의 기록(History)을 비교했을 때 소스코드의 차이가 심한 저장소의 경우나는 오랫동안 pu
Spring Data JPA JPQL JPQL이란 JPA Query Language의 줄임말, JPA에서 사용할 수 있는 쿼리. 문법은 SQL과 매우 비슷하다. SQL과의 차이점은 SQL에서는 테이블이나 컬럼의 이름을 사용하는 것과 달리 JPQL은 다음과 같이 엔티티
QueryDSL 적용하기 메서드의 이름을 기반으로 생성하는 JPQL의 한계는 @Query 어노테이션을 통해 대부분 해소할 수 있지만 직접 문자열을 입력하기 때문에 컴파일 시점에 에러를 잡지 못하고 런타임 에러가 발생할 수 있음. 쿼리의 문자열이 잘못된 경우에는 애플리케
JPA에서 'Audit'이란 '감시하다'라는 뜻각 데이터마다 '누가', '언제' 데이터를 생성했고 변경했는지 감시한다는 의미생성 주체생성 일자변경 주체변경 일자이러한 필드들은 매번 엔티티 생성 또는 변경 때마다 값을 주입해야 하는 번거로움. 이를 해소하기 위해 Spri
One To One : 일대일(1:1)One To Many : 일대다(1:N)Many To One : 다대일(N:1)Many To Many : 다대다(N:M)예를 들어, 재고로 등록돼 있는 상품 엔티티에는 가게로 상품을 공급하는 공급업체의 정보 엔티티가 매핑되어 있다.
CommentDTO : 리뷰를 작성한 댓글 DTOgetSpotId() : 작성한 리뷰에 해당하는 장소 idfindBySpotId(spotId) : spotId에 해당하는 모든 리뷰들을 가져옴comments.stream().mapToDouble(SpotCommentEnt
애플리케이션의 비즈니스 로직이 올바르게 동작하도록 사전 검증하는 작업데이터 유효성 검사 프레임워크. 어노테이션을 통해 다양한 데이터 검증 기능 제공.유효성 검사를 위한 로직을 DTO 같은 도메인 모델과 묶어서 각 계층에서 사용하면서 검증 자체를 도메인 모델에 얹는 방식
사용자가 누구인지 확인하는 단계ex) 로그인 성공시 애플리케이션 서버는 응답으로 사용자에게 토큰(token) 전달, 로그인에 실패한 사용자는 토큰을 전달받지 못해 원하는 리소스 접근 불가인증을 통해 검증된 사용자가 애플리케이션 내부의 리소스에 접근할 때 사용자가 해당
프로젝트를 진행하면서 깃 저장소를 그냥 private으로만 두고 모든 파일을 마음껏 올려두었었는데.. 나중에 public으로 돌리려하니 중요 키 값과 개인정보가 남아있는 application.yml 파일과 application.properties 파일을 삭제해야 하는