https://github.com/f-lab-edu/daangn-market-used-trading/pull/19/commits
[#14] 거래 게시판 기능 구현 by ssibongee · Pull Request #19 · f-lab-edu/daangn-market-used-trading
This repository has been archived by the owner. It is now read-only. Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull re
github.com
번외 ) DTO는 toEntity 메서드나 of 메서드 필요하면 생성.. 이름은 컨벤션.
형식 : Entity toEntity(DTO)
이거나
DTO of(Entity)
번외2) @Builder를 클래스에 붙이면 전체 필드에 값을 넣고 .build() 해야하고
특정 필드만 있는 생성자에 @Builder 붙이면 그 필드만 넣고 .build() 할 수 있음.
=====
[#14] 카테고리의 변경 가능성을 고려하여 데이터베이스에서 관리하도록 엔티티 클래스로 변경

엔티티 기본생성자를 public이나 protected 로 놓는 이유.
먼저 protected로 기본 생성자를 생성한 이유는 '기본생성자 + setter를 이용한 무분별한 엔티티의 값 변경을 막기 위해서'입니다. 그리고 생성자를 private 으로 생성하지 않는 이유는 결과적으로는 프록시 객체 생성을 위해서기도 한데, 좀 더 자세하게 말씀을 드리면 프록시 객체가 타깃 객체를 상속해서 만들기 때문입니다. JPA에 기본생성자가 필요한 이유랑 기본생성자의 scope를 private으로 설정하지 않는 이유에 대해서 조금 더 자세하게 설명해놓은 링크를 첨부합니다. :)
https://velog.io/@yyy96/JPA-%EA%B8%B0%EB%B3%B8%EC%83%9D%EC%84%B1%EC%9E%90
JPA 는 매핑한 엔티티를 조회 할 때 Eager, Lazy 중 하나를 사용한다. 이때 지연로딩(LAZY)을 사용할 경우 임시로 hibernate가 생성한 proxy 객체를 생성하고 가리키게 된다.
=====

Category 캐싱에 대한 아이디어.
[#14] 거래 게시판 기능 구현 by ssibongee · Pull Request #19 · f-lab-edu/daangn-market-used-trading
This repository has been archived by the owner. It is now read-only. Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull re
github.com
=====

한줄씩 읽어보며 흐름만 파악함.
이제 파라미터의 member 가 Address, Location 없으면 createNewPost 메서드 실행 안됨.

=====
Jackson의 ObjectMapper
=====

deleted 변수에 대한 변수명, 테이블칼럼명
=====

클라이언트가 콘텐츠에 접근할 권리를 가지고 있지 않다는 의미의 403 Forbidden 상태코드 정의
=====
Authentication vs Authorization

한 단어로 표현하니 확실히 더 쉽게 이해가 됩니다. 웹앱의 관점에서 볼 때 Authentication(인증)은 로그인 자격 증명을 확인하여 로그인 한 사용자를 인식하는 것이며, Authorization(권한 부여)는 액세스 제어로 사용자가 읽기, 수정, 삭제를 허용하는지 여부를 확인하는 것입니다. 권한 부여는 사용자의 신원이 성공적으로 인증 된 후에 발생합니다. 그럼 인증과 권한 부여, 이 둘에 대해 좀 더 자세히 살펴보겠습니다.


- 인증(Authentication)과 인가(Authorization)에 대한 개념의 차이와 의미에 대해 명확하게 인지하기
- 인증이란 서버에서 클라이언트가 누구인지를 확인하는 것을 의미한다.
- 예를들어 클라이언트가 누구인지 확인하는 절차와 회원가입, 로그인 등이 이에 해당한다.
- 인가란 클라이언트가 처리하고자하는 작업에 대해 클라이언트가 해당 권한을 가지고 있는지를 의미한다.
- 예를들어 게시글 수정과 삭제 같은 작업을 시도할 때 클라이언트가 해당 게시물에 대한 권한을 가지고 있는지 확인하는 것이 이에 해당한다.
'Code Analysis > daangn-market-used-trading' 카테고리의 다른 글
[#47] 사용자 비밀번호 변경시 예외처리 (0) | 2022.09.05 |
---|---|
[#33] 회원 엔티티 및 DTO 관련 설정 변경, [#25] 데이터베이스 이중화 적용 (0) | 2022.09.05 |
요청과 응답으로 엔티티(Entity) 대신 DTO를 사용하자 (0) | 2022.09.05 |
#1 프로젝트생성 ~ #7 회원관리 및 회원탈퇴 기능 (0) | 2022.09.04 |