728x90

backend 3

Spirng(스프링) - 싱글톤 컨테이너

웹 애플리케이션과 싱글톤 웹 애플리케이션은 보통 여러 사용자가 동시에 요청을 함 동시 요청시 때 마다 매번 객체를 생성하지 않음 순수한 DI 컨테이너는 객체를 호출할 때 마다 계속해서 생성 => 과도한 트래픽이 발생할 경우 메모리 낭비 심함 => 싱글톤을 이용해 1개만 생성하여 공유 하도록 함 싱글톤 패턴 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 일반적으로 static 영역에 instance를 미리 하나 생성하여 올려두고 getter를 통해서만 받을 수 있게 한다. 혹시라도 생성하지 못하게 생성자는 private으로 막는다. 스프링 컨테이너는 모든 빈 객체를 싱글톤 패턴으로 관리 함 #문제점 구현하는데 코드 자체가 많이 들어감 DIP 위배 (구체 클래스에 의존) OCP 위배할 가..

HTTP

- HTTP(HyperText Transfer Protocol) 거의 모든 것을 HTTP를 사용 1.1 버전을 주로 사용함 TCP : 1.1, 2 UDP : 3 - 클라이언트 서버구조 Request, Response 구조 클라이언트는 서버에 요청을 보내고 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 - 무상태 프로토콜(Stateless) 서버가 클라이언트의 상태를 보존 X 그전에 어떤 요청을 보냈는지 기억하지 않음 장점 : 서버 확장성 높음(Scale out) => 수평적으로 서버증설(여러대 서버를 둠) 단점 : 클라이언트가 추가 데이터 전송 반대의 개념으로 상태유지(Stateful)가 있음 그 전의 요청을 기억하고 있는 것을 말함 응답서버가 바뀌면 안됨(항상 같은 서버 유지) 상태 유지는 최소..

인터넷 네트워크

인터넷 네트워크 - 인터넷 통신 클라이언트 - (복잡한 인터넷 망) - 서버 - IP(인터넷 프로토콜) IP 주소를 통해 먼 거리의 곳과 통신이 가능 함 지정한 IP 주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달 패킷에는 출발지IP, 목적지IP, 내용 등이 들어 있음 클라이언트는 패킷을 구성하여 인터넷으로 전송하면 인터넷 망의 노드들이 패킷의 내용에 기초하여 목적지로 전달함 패킷만으로는 한계 존재 #비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 #비신뢰성 : 중간에 패킷이 사라지거나 순서대로 오지 않을 수 있음 #프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 구분하기 어려움 - TCP, UDP #애플리케이션 계층 - HTTP, F..