일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 메서드
- 코딩
- 프로그래머스
- Til
- Entity
- 면접(java
- css
- ArrayList
- 코딩문제
- 코딩공부
- Java
- cs 공부)준비
- wil
- 자료구조
- 정렬 알고리즘(sort algorithm)
- aop
- github
- Spring
- 자바
- HTML
- 코딩테스트 준비
- 99클럽
- 개발자 취업
- 우선순위 큐(priorityqueue)
- GIT
- 회고
- 배열
- 이진 탐색(binary search)
- Grafana
- 항해99
- Today
- Total
목록Spring (27)
hayu's 개발 일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XSe3o/btsGbWWNrV7/QJUagjk53ITJ8hnGOPtjYk/img.png)
인증(Authentication)이란? 인증이란, 식별 가능한 정보(이름, 이메일 등)를 이용하여 서비스에 등록 유저의 신원 입증하는 과정이다. (신원 확인) 인가 이전에 완료 되며 일반적으로 회원의 로그인 정보가 필요하다. 만약 인증이 실패하면 클라이언트는 401 에러를 응답받는다. 나의 서비스에 등록된 사용자에게만 서비스를 제공한다는 뜻이다. 인가(Authorization)란? 인증된 사용자가 접근하려는 자원에 대한 권한이 있는지 확인하는 절차이다. 인가는 항상 앞에 인증이라는 프로세스가 필요하다.(인증하지 않은 유저의 권한을 알 수 없기 때문이다.) 회원의 권한이나 역할이 필요하다. 만약 인가가 실패하면 클라이언트는 403 에러를 응답받는다. 인증 방식 쿠키 세션 방식 사용자의 정보를 세션에 저장하..
로그(Log) 란? 로그(Log) 란 프로그램 또는 시스템에서 발생하는 이벤트 ,정보, 상태, 오류 등을 기록한 것을 말한다. 즉 연속된 데이터의 기록이다. (System.out.println 도 일종에 로그를 남기는 것이다.) sout 의 단점은 로그를 콘솔에만 남기고, 오류 추적을 위한 정보가 부족하며 많은 자원을 요구하는 것이다. // sout 와 log System.out.println(" 안녕하세요 "); System.out.println("환영합니다. yuha 님"); log.info("{}", "안녕하세요"); log.info("환영합니다. {}님", "yuha"); 로그를 생성하고 저장하는 것을 로깅(Logging) 이라 한다. 로그는 기록된 데이터인 반면, 로깅은 생성하고 저장하는 프로세..
toEntity 란? toEntity는 Dto에서 엔티티 객체로 변환하는 메서드이다. Spring에서는 요청을 DTO형태로 받아 엔티티 객체로 변환하여 데이터 베이스에 저장하거나 업데이트할 때 toEntity를 사용된다. @Getter public static class CreateReviewRequestDto { @NotBlank(message = "리뷰를 입력해주세요.") private String contents; @PositiveOrZero(message = "별점을 입력해주세요.") private int rating; public Review toEntity(Member member, Product product) { return Review.builder() .contents(this.cont..
템플릿 엔진이란? 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말한다. (ex. 서버 템플릿 엔진: JSP, Freemarker 클리아언트 템플릿 엔진: 리엑트, 뷰 등) 머스테치란? 수많은 언어를 지원하는 가장 심플한 템플릿이다. 루비, 자바스크립트, 파이썬, PHP, 자바 등 현존하는 대부분의 언어를 지원한다. 자바에서 사용될 때는 서버 템플릿 엔진으로, 자바 스크립트를 사용할 때는 클라이언트 템플릿 엔진으로 모두 사용한다. 머스테치의 장점 문법이 다른 템플릿 엔진보다 심플하다. 로직 코드를 사용할 수 없어 View 의 역할과 서버의 역할이 명확하게 분리된다. 하나의 문법으로 클라이언트/서버 템플릿을 모두 사용 가능하다. CRUD 코드 리펙토링(lv1 과제 코드) Con..
일대다(1:N) 단방향 관계 일대다 관계는 @OneToMany이다. 다대일 관계에서는 @JoinColumn을 둔 엔티티에 외래키가 생성되고 관리한다. 하지만 일대다 단방향 관계에서는 team 엔티티의 반대편인 member엔티티에 외래키가 생성되고 관리된다. 일반적으로 일대다 단방향 관계 매핑은 권장되지 않는다. 연관관계의 주인 엔티티에서 외래키를 관리하지 않고 반대편 엔티티에서 외래키를 관리하기 때문에 관리가 부담스럽다.(1:N에서 N이 관리한다.) → 단방향으로 할때는 일대다 보다는 다대일 단방향으로 하는 것이 좋다. 일대다(1:N) 양방향 관계 일반적으로 일대다 양방향 관계는 존재하지 않는다. 일대다 관계의 주인은 항상 다(N)이기 때문에 일대다 양방향이나 다대일 양방향은 같은 말이다. 다대다(N:M..
엔티티(Entity) 란? 데이터 베이스(DB)의 테이블을 나타내는 클래스이다. 이 클래스는 JPA(Java Persistence API)를 사용하여 데이터 베이스에 저장되고 관리된다. 추가 내용은 이 블로그에서 참고하자 : https://yuha00e.tistory.com/entry/TIL240308-스프링-부트와-AWS로-혼자-구현하는-웹서비스-3장-JPA 엔티티(Entity) 연관관계 관계형 데이터 베이스는 테이블 간 Foreign Key(외래키)로 연관관계를 맺고 JOIN을 통해 테이블을 조회한다. 연관관계에서는 생각해야할 부분이 몇 가지 존재한다. 방향: 단방향, 양방향이 있다. 한쪽만 참조하면 단방향, 서로 참조하면 양방향이라고 한다. 다중성: 일대일, 일대다, 다대일, 다대다 연관관계의 주인..