분류 전체보기(77)
-
[좌충우돌 개발일지 - Spring Security] DelegatingPasswordEncoder
과제로 로그인 계정을 추가하는 미션을 받았고 PasswordEncoder는 NoOpPasswordEncoder를 사용하라고 했다. 이에 대한 힌트로 DelegatingPasswordEncoder를 찾아보라고 했고 이에 대해서 조금 알아보면서 과제를 진행하려고 한다. https://godekdls.github.io/Spring%20Security/features/#delegatingpasswordencoder Features 스프링 시큐리티 기능을 소개합니다. 공식 문서에 있는 “features” 챕터를 한글로 번역한 문서입니다. godekdls.github.io 스프링 공식문서를 한글로 번역해주시는 분의 링크이다. 요약해보자면 PasswordEncoder라는 인터페이스는 비밀번호를 안전하게 저장할 수 있..
2022.12.14 -
[좌충우돌 개발일지 - Spring Security] WebSecurityConfigurerAdapter - Deprecated
spring security 강의를 듣던 중 강사님께서 쓰시는 WebSecurityConfigurerAdapter가 현재는 Deprecated 되었다. 난 강의를 늦게 들어서 먼저 강의를 수강했던 팀원들의 도움을 받았다. 기존에는 WebSecurityConfigurerAdapter를 상속받아서 Configuration을 만들었었는데 이를 SecurityFilterChain을 빈 등록해서 사용하는 방식으로 바뀌었다. 아래는 잘 설명되어있는 블로그 글이다. https://devlog-wjdrbs96.tistory.com/434 [Spring] Security WebSecurityConfigurerAdapter Deprecated 해결하기 WebSecurityConfigurerAdapter Deprecated..
2022.12.14 -
[OOP] Visitor 패턴 정리하기
1. 비지터(Visitor) 패턴이란?visitor의 사전적 의미는 방문객, 손님이라는 의미이다.그렇다면 visitor가 어떤 패턴인지에 대해 알아보자.비지터 패턴은 데이터 구조와 데이터 처리를 분리해주는 패턴이다.어떤 데이터를 나타내는 클래스가 있는 경우, 해당 클래스를 처리하는 메서드는 클래스 내부에 있는 것이 편하다.하지만 비지터 패턴은 메서드가 아닌 별도의 클래스로 구현한다. 데이터 구조와 처리를 분리해줌으로써 새로운 처리 방법이 도입이 되었을 때 기존 소스코드 변경없이 새로운 코드 추가만으로 구현 가능하다.그리고 데이터 구조는 컴포지트 패턴을 사용함으로써 단일 데이터와 단일 데이터로 구성되는 집합 데이터를 표현할 수 있다.< Vis..
2022.12.09 -
[OOP] Command 패턴 정리하기
1. 커맨드(Command) 패턴이란?커맨드의 사전적 정의는 명령이라는 의미이다.그럼 커맨드 패턴은 어떤 패턴일까?커맨드 패턴은 하나의 명령(기능)을 객체화한 패턴 즉, 명령을 객체로 만들어서 다루기 위한 패턴이다.이를 통해서 명령을 객체처럼 인자를 통해 전달하거나 메모리, DB 보관할 수 있게 된다.최근 배우는 JPA도 테이블을 객체처럼 다루고 싶어서 만들어진 것과 유사한 것 같다.뿐만 아니라 네트워크를 통해 다른 서버로 전달하여 해당 커맨드를 실행할수도 있다.⇒ 이렇게 되면 명령들을 모아서 한번에 실행하는 배치 실행이나 우선순위가 높은 명령을 먼저 실행하기, 실행된 기능을 되돌리거나 다시 실행하는 Undo/Redo 등이 가능해지는 것과 ..
2022.12.09 -
인덱스 (index)
1. 인덱스란?2. 인덱스 종류3. 인덱스 생성 및 사용하기 1. 인덱스란?추가적인 쓰기 작업과 저장 공간을 활용하여 테이블 조회 속도를 향상시키기 위한 자료구조이다. 위와 같이 책 맨 앞이나 맨 뒤에 있는 색인처럼 모든 데이터를 조회하지 않게끔 데이터와 데이터의 위치를 포함한 자료구조를 만들어서 조회 속도를 향상시킨다. 장점테이블 조회 속도 향상 (WHERE, ORDER BY, JOIN)빠른 조회 응답 속도를 통한 전반적 시스템 부하 감소단점인덱스 관리를 위해 DB의 약 ..
2022.11.30 -
세션 vs 쿠키
인증, 인가란?인증 : 사용자의 신원을 검증하는 프로세스ex) 로그인(비밀번호), 일회용 핀 등인가 : 사용자에게 특정 리소스나 기능에 액세스할 수 있는 권한을 부여하는 프로세스ex) 관리자 페이지, 특정 게시물 삭제 or 수정 권한 등 ⇒ 이러한 인증, 인가를 위해서 쿠키, 세션이 필요하다.왜 세션, 쿠키가 필요할까?우리가 Web에서 사용하는 프로토콜은 HTTP이다. HTTP의 특성에는 Stateless, Connectionless가 있다.Stateless : 통신이 끝나면 상태를 유지하지 않는 특성이다.Connectionless : 요청과 응답 후에 연결을 끊어 버리는 특성이다. 그렇기에 한 번의 HTTP 통신 이후에 이 통신에서의 정보를 기억하고 있지 않는다.그럼 로그인 했던 정보나 권한에 대한 정..
2022.11.26