본문 바로가기

Spring

(4)
[HTTP] URI와 웹 브라우저 요청 흐름 URI (Uniform Resource Identifier) "URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다." URI 단어 뜻 Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 (제한 없음) Identifier : 다른 항목과 구분하는데 필요한 정보 URL, URN 단어 뜻 URL - Locator : 리소스가 있는 위치를 지정 URN - Name : 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않는다. URN의 예시로 어떤 책의 isbn이 있다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았다. URI가 URL과 URN을 포함하고 있기 때문에 URI를 URL로 말..
[Spring] IoC 컨테이너 컨테이너란? 컨테이너는 보통 인스턴스의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것이다. 즉 컨테이너란 작성한 코드의 처리과정을 위임받은 독립적인 존재라고 생각하면 된다. 컨테이너는 적절한 설정만 되어있다면 누구의 도움없이도 프로그래머가 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤한다. 스프링 컨테이너는 스프링 프레임워크의 핵심부에 위치하여, DI(Dependency Injection)을 이용해 애플리케이션을 구성하는 컴포넌트들을 관리한다. 스프링 컨테이너의 종류 빈팩토리 BeanFactory DI의 기본사항을 제공하는 가장 단순한 컨테이너이고, 빈을 생성하고 분배하는 책임을 지는 클래스이다. Bean이란? Spring이 생명주기를 관리하는 객체 ..
[Spring] DI (Dependency Indection), 결합도 결합도와 인터페이스 결합도란 하나의 클래스가 다른 클래스와 얼마나 많이 연결되어 있는지를 나타내는 것! 클래스간의 연결이 많다면 하나의 수정을 위해 많은 클래스를 수정해야 할것이다. 스프링의 사용목적은 클래스간의 결합도를 낮추는 것이다. 예시를 들어본다면, public class HelloEn { public void hello() { System.out.println("hello"); } } public class HelloKr { public void hello() { System.out.println("안녕"); } } public class Main { public static void main(String[] args) { HelloEn en = new HelloEn(); en.hello(); ..
[HTTP] 인터넷 네트워크 인터넷 통신에 필요한 것들 IP (Internet Protocol) TCP, UDP PORT DNS IP(인터넷 프로토콜) 복잡한 인터넷 망에서 컴퓨터 둘은 어떻게 통신할까? 이를 위한 규칙으로 인터넷 프로토콜이란 규칙이 있다. 인터넷 프로토콜의 역할은 지정한 IP주소에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 패킷은 출발지 IP, 목적지 IP, 전송 데이터 등의 정보를 담고 있다. IP 프로토콜의 한계는 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송함 비신뢰성 중간에 패킷이 사라지는 문제 패킷이 순서대로 오지 않는 문제 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일때의 문제 IP 프로토콜만으로는 이런 문제들을 해결할 수 ..