목록Spring (37)
YJ의 새벽
HTTP ( HyperText Transfer Protocol ) -- 거의 모든 형태의 데이터 전송가능 . -- 서버간에 데이터를 주고 받을때도 대부분 HTTP 사용 . -- 클라이언트 서버 구조 -- 무상태 프로토콜(스테이스리스) , 비연결성 -- HTTP 메시지 -- 단순함, 확장 가능 클라이언트 서버구조 -- Request Response 구조 -- 클라이언트는 서버에 요청을 보내고, 응답을 대기 -- 서버가 요청에 대한 결과를 만들어서 응답. 무상태 프로토콜 (Stateless) Stateful -- 서버가 클라이언트의 상태를 보존 X ( ex : 고객(클라이언트)이 물건을 사는데 점원(서버)이 계속 바뀜 ) -- 장점 : 서버 확장성 높음 (스케일 아웃) 서버를 대거 투입할수있다. 무한한 서버..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lSkGF/btr8i8bKOxT/bmuvKJkOqKnId44iUDSwD1/img.png)
PORT == IP 는 목적지 서버를 찾는것 이라면, 서버 안에 애플리케이션을 찾는것이 PORT 라고 생각하자 . ( 같은 IP 에서 프로세스를 구분 ) TCP 특징 -- 전송 제어 프로토콜 ( Transmission Control Protocol ) -- 연결지향 TCP 3 way handshake ( 가상연결 ) -- 데이터 전달 보증 ( 데이터 누락을 알수있음 ) -- 순서 보장 -- 신뢰할 수 있는 프로토콜 UDP 특징 -- 사용자 데이터그램 프로토콜 -- 하얀 도화지에 비유 ( 기능이 거의 없음 ) -- 연결지향 X -- 데이터 전달보증 X -- 순서보장 X -- 단순하고 빠름, ----- IP 와 거의 같다 . +PORT , 체크섬(검증데이터) 정도만 추가. ----- 애플리케이션에서 추가 작..
스프링이란 ? -- 스프링은 프레임워크이다. - 틀안에서 동작하다. -- 스프링은 오픈소스이다. -- 스프링은 IoC 컨테이너를 가진다. ( Inversion of Controll ) - 제어의 역전. ( 주도권이 스프링 ! ) ( 객체를 가져가 heap 메모리에 저장 ) -- 스프링은 DI 를 지원한다. 의존성 주입 ( Dependency Injection ) ( heap 메모리 객체를 건내줌 ) (싱글톤) -- 스프링은 많은 filter (문지기) 를 가지고있다. ex) 성 (톰켓 . filter(web,xml )) 안에있는 왕의집 (스프링컨테이너 . 인터셉터(AOP) ) -- 스프링은 많은 어노테이션을 가지고있다. -- 컴파일러에게 힌트를 줌. -- 스프링은 어노테이션을 통해 주로 객체 생성을 한다..
-- 객체지향의 핵심은 다형성. -- 다형성만으로 쉽게 부품을 갈아 끼우듯 개발할 수 없다. -- 다형성만으로 구현 객체를 변경할 때 클라이언트 코드도 함께 변경된다. -- 다형성만으로는 OCP, DIP 를 지킬수 없다. SOLID -- SRP : 단일 책임 원칙 ( Single Responsibility Principle ) -- OCP : 개방-폐쇠 원칙 ( Open / Closed Principle ) -- LSP : 리스코프 치환 원칙 ( Liskov Substitution Principle ) -- ISP : 인터페이스 분리 원칙 ( Interface Segregation Principle ) -- DIP : 의존관계 역전 원칙 ( Dependency Inversion Principle ) SP..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m5mTt/btrYY7gkxBC/qZYn9DCFob1eubeSW7cZZ1/img.png)
스프링의 두가지 특성 !! -- DI ( Dependency Injection , 의존성 주입 ) -- 객체지향 프로그래밍에서 '다른객체를 사용한다' --> '다른 객체의 기능에 의존한다' -- 외객체의 의존주입을 관리해주는것이 ' 컨테이너 ' 이다. -- 이를 개발자가 직접 제어않고 컨테이너가 한다는점에서 ' 제어의 역전 ' 이라고 한다 . 정적 컨텐츠 -- 서버에서 파일을 웹브라우저에 그냥 내려주는것. MVC와 템플릿 엔진 -- JSP 같은것을 말하며, HTML을 서버에서 프로그래밍을 하여 동적으로 바꾸어주는것. Model, View, Controller API -- 데이터 구조 포맷으로 클라이언트에게 데이터를 전달하는것. ( 뷰, 리엑트 ). 서버끼리 통신할 때 . 스프링 컨테이너가 생성되는 과정...