개발 47

Simple Factory

What problem simply factory solves? Multiple types can be instantiated and the choice is based on some simple criteria. 여러 유형을 인스턴스화할 수 있으며 선택은 몇 가지 간단한 기준을 기반으로 한다. 추상 클래스를 상속받은 여러 유형의 클래스 생성. 간단한 기준(criteria)으로 선택. -> 팩토리 클래스에서 분기 처리 추상 클래스로 여러 유형을 인스턴스화 할 수 있음. ex) 추상 클래스 : Post 추상 클래스를 상속받은 여러 유형의 클래스 : BlogPost, NewsPost, ProductPost 팩토리 클래스 : PostFactory Post post = PostFactory.createPost(..

Singleton

What is a Singleton? A singleton class has only one instance, accessible globally through a single point (via a method/field) Singleton 클래스는 하나의 포인트로 전역적으로 접근가능한 한 개의 인스턴스를 가진다. * 하나의 포인트 ==> 메서드나 필드를 통해 Main problem this pattern solves is to ensure that only a single instance of this class exists 이 패턴의 가장 중요한 문제는 이 클래스에 대해 오직 한 개의 인스턴스만 존재한다는 것을 확실히 해야 한다는 것이다. Any state you add in your singlet..

[다중 프로세스 + 다중 스레드] 동기화 관련 용어

동기화 (Synchronization)여러 프로세스/스레드를 동시에 실행해도 공유 데이터의 일관성을 유지하는 것 임계 영역 (Critical section)공유 데이터의 일관성을 보장하기 위해 상호배제 가능한 영역 상호배제 (Mutual exclusion)하나의 프로세스/스레드만 집입해서 실행 문맥 교환 (Context switch)이전의 상태(문맥)를 보관하고 새로운 상태를 적재하는 작업 스케쥴링(Scheduling)문맥 교환이 발생했을 때 어느 상태를 먼저 실행 시킬지 정하는 작업교착 상태 (Deadlock)무한 대기 상태두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 다음 단계로 진행하지 못하는 상태 교착상태 발생조건상호배제 & 점유대기 & 비선점 & 순환대기 기아 상태..

개발/일지 2023.03.20

DNS - 국제인터넷주소관리기구(ICANN)

국제인터넷주소관리기구(Internet Corporation for Assigned Names and Numbers, ICANN)인터넷 DNS의 기술적 관리, IP 주소공간 할당, 프로토콜 파라미터 지정, 루트 서버 시스템 관리 등의 업무를 조정하는 역할국제인터넷주소관리기구(ICANN)는 그들의 Whois 정확성 프로그램 규정(WAPS,Whois Accuracy Program Specification)을 통해서 모든 "gTLD" 도메인 등록업체가 등록시 제출한 등록자 정보를 검증해야 할 의무가 있음을 통보일반 최상위 도메인(generic top-level domain, gTLD)특정한 조직 계열에 따라 사용되는 최상위 도메인(Top-level domain, TLD)도메인의 길이는 3 글자 이상이며 조직의 ..

개발/일지 2023.03.11

[Error - SpringSecurity] java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"

SpringSecurity를 적용하기위해서,USER 테이블에 ID : test, PASSWORD : 1234 저장하고 로그인을 시도하였더니, 해당 error가 발생하였다. 원인SpringSecurity가 로그인 과정에서 어떤 Encoder를 쓸지는 database에 저장된 password의 prefix { Encoder명 }를 보고 결정 하는데 db에 저장할 때 password를 encode하지 않고 저장함.-> SpringSecurity가 prefix를 보고 Enocder형식을 정해야 하는데, prefix가 설정 되어 있지 않아서 에러가 난 것 해결PasswordEncoderFactories.createDelegatingPasswordEncoder() 사용-> createDelegatingPasswor..

개발/일지 2023.02.20

Spring Security + JWT를 이용한 자체 Login API 구현(1) - 회원(User)관련 클래스 생성

Spring Security + JWT를 이용한 자체 Login API 구현(1) - 회원(User)관련 클래스 생성Spring Security + JWT를 이용한 자체 Login API 구현(2) - JWT란?Spring Security + JWT를 이용한 자체 Login API 구현(3) - JWT 관련 클래스 생성 / JWT 인증 로직Spring Security + JWT를 이용한 자체 Login API 구현(4) - 자체 JSON 로그인 커스텀하기Spring Security + JWT를 이용한 자체 Login API 구현(5) - SecurityConfig 설정 클래스 생성Spring Security + JWT를 이용한 자체 Login API 구현(6) - JWT 자체 Login 테스트 참고htt..

개발/Spring 2023.02.20

표현식(expression)과 명령문(statement)

표현식 Expression값을 결정하기 위해 평가될 수 있는 프로그래밍 언어의 구문 엔티티프로그래밍 언어가 다른 값을 생성하기 위해 해석하고 계산하는 하나 이상의 상수, 변수, 함수 및 연산자의 조합 명령문 Statement수행할 작업을 표현하는 명령형 프로그래밍 언어의 구문 단위이러한 언어로 작성된 프로그램은 일련의 하나 이상의 명령문으로 구성됨명령문에는 내부 구성 요소(예: 표현식)가 있을 수 있음 참고https://en.wikipedia.org/wiki/Statement_(computer_science)#cite_note-1https://en.wikipedia.org/wiki/Expression_(computer_science)

개발/일지 2023.01.29