암호화(Encode) 웹 서비스 개발에 대해 유저의 정보를 안전하게 저장하기 위해서는 정보를 있는 그대로 저장하기보다 암호화를 통해 복잡한 문자열로 보관하는 방식이 더욱 안전할 것이다. Spring Security 5.3.3 버전에서는 비밀번호 암호화 인터페이스인 PasswordEncoder와 구현체를 지원함으로서 정보의 안전정을 강화 시켰다. Spring Security에는 4가지의 기본 암호화 클래스를 제공하고 있다. BcryptPasswordEncoder : BCrypt 해시 함수 Argon2PasswordEncoder : Argon2 해시 함수 Pbkdf2PasswordEncoder : PBKDF2 해시 함수 SCryptPasswordEncoder : SCrypt 해시 함수 저장된 암호는 복호화가..
Background 준영속 상태와 지연로딩 스프링 커테이너는 트랜잭션 범위의 영속성 컨텍스트 전략을 기본으로 사용한다. 즉, 트랜잭션 범위와 영속성 컨텍스트의 생존 범위가 같다는 뜻이다. 그리고 트랜잭션은 보통 서비스 계층에서 시작하므로 서비스 계층이 끝나는 시점에 트랜잭션이 종료되면서 영속성 컨텍스트로 함께 종료된다. @Entity public class order{ @Id @GeneratorValue private Long id; @ManyToOne(fetch = FetchType.LAZY) private Member member; } 컨테이너 환경의 기본 전략인 트랜잭션 범위의 영속성 컨택스트 전략을 사용하면 트랜잭션이 없는 프래젠테이션 계층에서 엔티티는 준영속 상태다. 따라서 감지와 지연 로딩이 ..
🚀 다형성에서 빠질 수 없는 개념 추상화는 어떠한 객체에 대한 공통 요소를 추출하는 과정 으로 배웠다. 그러나 구체적인 행위를 구현하는 것이 아닌 메소드의 이름만 명시하고 하위 클래스에서 그 행위를 구현하도록 JAVA는 약속했다. 이렇게 행위를 구현화 하는데 필요한 절차가 오버로딩 , 오버라이딩 이라고 하는 것이다. 🌠 오버라이딩 Ride : (말, 자동차 등에) 타다 오버라이딩에 대해서는 상속과 추상화를 배웠다면 익숙한 어노테이션 일것이다. 상위 클라스의 추상메소드를 하위 클라스에서 구체화하는 과정으로 이해하면 충분하다 생각한다. abstract class Animal { void sound() {} } class Dog extends Animal { @Override public void sound(..
- Total
- Today
- Yesterday
- 자격증
- java
- OOP
- CS
- Solid
- 알고리즘
- 수학
- kakao
- springboot
- Spring
- 스프링
- 그래프
- Algorithm
- 디자인패턴
- docker
- spring-cloud
- Matlab
- 스프링부트
- 매트랩
- 자바
- security
- JPA
- 릿코드
- 프로그래머스
- nginx
- 면접
- interview
- ajax
- 백준
- C언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |