전체 글

3-Way HandShake & 4-Way HandShake 3-Way HandShake 는 TCP의 접속, 4-Way HandShake는 TCP의 접속 해제 과정이다.  3-Way Handshake TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결 설정을 하는 과정이다.양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고,실제로 데이터 전달이 시작하기 전에 한 쪽이 다른 쪽이 준비되었다는 것을 알 수 있도록 한다. 즉, TCP/IP 프로토콜을 이용해서 통신을 하는 응용 프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. 포트(PORT) 상태 정보STATE설명CLOSED포드가 닫힌 상태LISTEN포트가 열린 상태로 연..
네트워크 프로토콜의 역할네트워크 통신에서 전송 계층에서 사용하는 프로토콜은 데이터의 전송 방식과 규칙을 정의한다.전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. 이 중 데이터를 보내기 위해 사용하는 프로토콜이 있는데 그 것이TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 가장 널리 사용되는 두 가지 프로토콜이다. TCP는 신뢰성이 있는 데이터 전송을 보장하는 반면, UDP는 빠른 데이터 전송을 위해 신뢰성을 약간 포기한다.네트워크 애플리케이션을 개발할 때, 이 두 프로토콜 중 하나를 선택해야 하는 상황이 자주 발생하는데,네트워크 프로토콜의 선택은 애플리케이션의 성능과 기능에 직..
OSI 7계층  OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다. 각 계층은 독립적으로 작용하며 수많은 프로토콜이 존재한다.포로토콜에 의해 하위 계층으로 갈수록 헤더가 붙으면서 데이터의 크기는 더 커진다. OSI 모델프로토콜1층 : 물리계층1000BASE-T, RS-232, RS-4852층 : 데이터 링크 계층이더넷(Ethernet), PPP, UART3층 : 네트워크 계층IP, ICMP4층 : 전송 계층TCP, UDP5층 : 세션 계층SSH, TLS, RPC6층 : 표현 계층ASCII, MPEG, JPEG7층 : 응용 계층HTTP, FTP, Telnet, DHCP 계층을 나눈 이유통신이 일어나는 과정을 단계별로 파악기 위해 나누었고,어느 한 부분에 문제가 생기면 전체를 건들이..
HTTPHTTP는 (Hypertext Transfer Protocol)는클라이언트와 서버 간 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 통신 규약이다.사용자가 웹 사이트를 방문하면브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 응답한다. 즉, HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜인 것이다. HTTP가 진화하면서, 하이퍼텍스트 문서뿐만 아니라 이미지, 비디오, HTML 폼 결과와 같은 내용을 서버로 POST하거나, 필요할 때마다 웹 페이지를 갱신하기 위해 문서의 일부를 가져올 수도 있게 되었다.   HTTPSHTTP 는 3가지 큰 문제가 있는데 그 문제점을 보완하고 데이터 암호화를 추가하여 나온 프로토콜이 HTTPS다. 먼저 ..
네트워크컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭한다.노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합이다.    처리량과 지연시간좋은 네트워크란?많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크다. 처리량링크를 통해 전달되는 단위 시간당 데이터 양.bps(bit per second)로 표현하며, 초당 전송 또는 수신되는 비트 수를 의미한다. 처리량은 사용자들이 많이 접속할 때마다 커지는 트래픽,네트워크 장치 간의 대역폭(주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수),네트워크 중간에 발생하는 에러, 장치의 하드웨어 스팩에 영향을 받는다.  지연 시간요청이 처리되는 시간을 말하며 어떤 메시지가 두 장치 ..
· 스프링
MVC 패턴이란?사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 사용되는 디자인 패턴이다.소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다.애플리케이션의 개발 영역을 MVC (Model, View, Controller)로 구분하여 각 역할에 맞게 코드를 작성하는 개발 방식이다. 이런 관심사 분리는 더 나은 유지보수성을 제공한다. Model : 데이터와 비즈니스 로직을 관리클라이언트의 요청을 전달받으면 요청 사항을 처리하기 위한 작업을 한다. 처리한 데이터를 클라이언트에게 응답해야 하는데, 이 때 클라이언트에게 응답해주는 데이터를 Model이라고 한다.View : 레이아웃과 화면 처리Model을 이용하여 화면에 보이는 리소스(Resource)를 제공하는 역할을 한다.ex) HTML 페이..
· 스프링
컴포넌트 스캔(Component Scan) 스프링 빈을 등록하기 위해 @Bean 어노테이션을 붙혀주거나 이라는 XML 태그를 붙혀서 직접 설정 정보에 스프링 빈을 등록했다. 하지만 이런 방식으로 계속 할 경우 빈이 엄청나게 많아지고 관리가 힘들어진다. 스프링은 이런 상황 때문에 컴포넌트 스캔을 제공한다. @ComponentScan이라는 어노테이션을 통해서 해당 기능을 사용한다. 먼저 ComponetScan을 사용하기 전 코드를 살펴보자. 빈 수동 등록 빈 설정 클래스 @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(new MemoryMemberRepo..
· 스프링
Spring Container 스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트이다. 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공한다. 스프링에서는 자바 객체를 빈(Bean)이라 한다. 즉, 내부에 존재하는 빈의 생명주기를 관리(빈의 생성, 관리, 제거 등)하며, 생성된 빈에게 추가적인 기능을 제공하는 것이다. 스프링 컨테이너의 종류 스프링 컨테이너는 Beanfactory와 ApplicationContext 두 종류의 인터페이스로 구현되어 있다. 빈 팩토리는 빈의 생성과 관계설정 같은 제어를 담당하는 IoC 오브젝트이고, 빈 팩토리를 좀 더 확장한 것이 애플리케이션 컨텍스트이다. BeanFactory 스프링 컨테이너 최상위 인터페이스이다. 빈을 등록, 생성, 조회 등..
백수왕
비전공자에서 주니어 개발자까지