목록김영한 (35)
yeon's blog

🌱 PORT 한 번에 둘 이상 연결해야 하면? 내 pc에 여러 어플리케이션(게임, 화상통화, 웹브라우저 등)을 돌리고 있다고 가정해보자! 이 경우에는 여러 서버랑 통신하게 된다. 여기서 서버쪽에서 각각의 어플리케이션의 패킷들이 내 pc로 올텐데.. 이 때!! 패킷들이 게임 패킷인지, 화상통화 패킷인지, 웹 브라우저 응답 패킷인지 구분을 할 수가 없다. → 그래서 한 IP안에 여러 어플리케이션 패킷을 구분 지을 수 있도록 `PORT` 를 사용한다. TCP/IP 패킷 정보 IP는 목적지 서버를 찾는 용도이고, 서버 안에서 돌아가는 애플리케이션들을 구분하는게 PORT이다. 같은 IP 내에서 프로세스 구분 PORT는 한 IP 내에 여러 어플리케이션이 돌고 있을 때 각 패킷을 구분짓기 위해 사용한다. 게임: 80..

🌱 TCP, UDP 프로토콜 4계층 IP 프로토콜의 한계점을 TCP 프로토콜이 해결해줌 1) 프로그램이 ‘Hello, World!’ 라는 메시지를 보낸다. 2) SOCKET 라이브러리를 통해 OS 계층에서 TCP 정보를 감싼다. 3) 그 밑에 IP 패킷이 생성되서 IP와 관련된 정보도 있고, 그 안에 TCP와 관련된 정보가 있다. 4) 이 메시지가 LAN 카드를 통해서 서버로 나갈 때 Ethernet frame을 포함해서 나가게 된다. → Ethernet frame: LAN 카드에 등록된 맥 주소의 물리적인 정보 TCP/IP 패킷 정보 출발지/목적지 PORT 전송 제어 순서 정보 검증 정보 → IP 프로토콜에서 해결이 안된 순서 제어 문제들을 해결할 수 있음!✨ ✨ ✨ TCP(Transmission Co..

🌱 IP(인터넷 프로토콜) IP 주소 부여 인터넷 망에서 컴퓨터들은 어떻게 통신할까? 예를 들어 클라이언트 옆에 서버가 있으면, 간단하게 케이블을 연결해서 'Hello, world!'라는 메세지를 보내면 통신이 된다. 그러나 클라이언트가 한국에 있고 서버가 미국에 있다면, 한국에 있는 클라이언트가 메세지를 보내기 위해서는 중간에 해저광 케이블이든 인공위성을 이용하든 수많은 서버들을 거쳐 미국에 있는 서버에게 보내야 할 것이다. 어떤 규칙으로 미국에 있는 서버에 안전하게 도착할 수 있는지를 이해하기 위해 우리는 IP 프로토콜을 알아야 한다! IP 역할 지정한 IP 주소(Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 클라이언트와 서버의 IP 주소가 있어야 하고, 서버에게 ‘..

SRP: 단일 책임 원칙(single responsibility principle) 하나의 클래스는 하나의 책임만 가져야 한다는 원칙. 💡 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것! OCP: 개방-폐쇄 원칙 (Open/closed principle) 확장에는 열려있으나 변경에는 닫혀 있어야 한다는 원칙. 소스코드 변경은 없고 다형성을 이용하여 객체 생성 코드만 늘어나게 한다. 💡 객체를 생성하고, 연관관계를 맺어주는 별도의 조립, 설정자가 필요하다 → Config LSP: 리스코프 치환 원칙 (Liskov substitution principle) 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다는 원칙 💡 LSP를 이해하기 위해..

🌱 Spring 🌱 Java 기반의 프레임 워크 Java 언어의 큰 특징인 객체 지향 언어를 살림 즉, 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 🌱 Spring Framework 특징 🌱 1. 제어의 역전(IoC, Invertion of Control) 제어의 역전: 객체의 제어권을 프레임워크의 컨테이너에게 넘기는 것 스프링 컨테이너에 Bean(객체) 등록시, 스프링 컨테이너에서 객체의 라이프 사이클(생성, 소멸)을 컨트롤 해준다. 즉, 객체에 대한 제어권이 스프링 컨테이너로 역전되는 것! 2. 의존성 주입(DI, Dependency Injection) 의존성 주입: 클래스간 의존성을 클래스 외부에서 주입하는 것 Spring에는 DI 컨테이너가 존재하여, 객체들 간의 의..