[공부정리]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 -> 해결 -> 연결을 효과적으로 사용 운하는 만큼의 동시요청 수행 , 브라우저는 특정 도메인에 대해 하나의 연결만 열지만 동일한 연결을 통해 동시에 많은 요청을 수행

Categories:

Updated:

Leave a comment