[공부정리]2024-09-02
🦥
스프링을 처음부터 제대로 배워야겠다고 생각하였습니다. 자바를 이용해 처음부터 구성하고 점차 스프링으로 구성하는 공부를 하였습니다.
좋은 객체 지향 설계 5가지 원칙 적용에 대해 배웠습니다.
SRP 단일 책임 원칙
- 한 클래스는 하나의 책임만 가져야한다.
DIP의존관계 역전원칙
- 프로그래머는 “추상화에 의존해야지,구체화에 의존하면 안된다” 의존성 주입은 이원칙을 따르는 방법 중 하나다.
OCP
- 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀있어야한다
- 소프트웨어 요소를 새롭게 확장해도 사용영역의 변경은 닫혀있다.
IoC , DI , 컨테이너
제어의 역전 IoC(Inversion of Control)
- 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC)이라 한다.
의존관계 주입 DI(Dependency Injection)
- 의존관계는 정적인 클래스 의존관계와 , 실행 시점에 결정되는 동적인 객체 (인스턴스) 의전 관계 둘을 분리해서 생각해야한다.
- 애플리케이션 실행시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것을 의존관계 주입이라고 한다.
IoC 컨테이너, DI 컨테이너
- 객체를 생성하고 관리하면서 의존관계를 연결해주는 것을 IoC컨테이너 또는 DI컨테이너 라고 한다.
- 의존관계 주입에 초점을 맞추어 최근에는 주로 DI컨테이너라 한다.
- 어셈블러, 오브젝트 팩토리 등으로 불리기도 한다.
자바공부
언어와 플랫폼간의 연결고리는 클래스 파일형식(.class 파일) 에 대한 공유된 정의이다.
자바코드는 사람이 읽을 수 있는 자바 스스로 시작해서 Javac에 의해 .class 파일로 컴파일 된 후 JVM에 로드 된다. 자바 프레임 워크가 클래스를 로드할 떄 클래스를 변환해서 - 인스트루먼테이션 , 자바 모듈식별 과 같은 동적 동작을 주입한다. 즉 자바 프레임워크가 클래스를 변환하기 전에는 정적이다.
-
향상된 타입 추론(Var 카워드) -> 컴파일러가 프로그램의 일부 타입 정보를 자동으로 처리 -> 자바 5<제너릭 메서드=""> -> 현대 자바 로컬 변수 타입 추론 -> var -> 동적 타이밍을 도입 X -> 모든 경우 명시적 지문 X **->자바에서의 타입 추론은 지역적이며 , Var의 경우 알고리즘은 로컬변수의 선언만을 검사 , 필드 , 메서드 인수 , 반환 타입 사용 X '제약 조건 알고리즘 적용 ' -> 작성한 코드의 모든 요구사항을 충적할 수 있는 타입 존재 여부 결정 ** -> 컴파일러가 결정할 수 없는 'null' -> 모든 참조의입에 할당 될 수 있다. '추론자가 해결 ' -> '과소결정 연립방정식'제너릭>
-
Http 2와 자바 11 -> http2는 프로토콜의 전송 계층에 대한 업데이트
-
헤드 오브 라인 블로킹 -> http2에서는 동일한 요청에서 다중화 하도록 설계 클라이언트와 서버 간 다중 스트림이 항상 지원도니다 -> 다중 요청의 헤더와 본문을 별도로 수신 -> 다른 늴ㄴ 요청 때문에 에셋이 차단되지 않고 , 작은 응집이 더 정확하게 캐시 -> 전반적으로 더 나은 사용자 경험 제공
-
제한된 연결 이전 Http에서는 연결을 2개 제한 ->Http2 -> 해결 -> 연결을 효과적으로 사용 운하는 만큼의 동시요청 수행 , 브라우저는 특정 도메인에 대해 하나의 연결만 열지만 동일한 연결을 통해 동시에 많은 요청을 수행
Leave a comment