[네트워크 이론] 전송 계층 - TCP와 UDP
네트워크/네트워크 이론2025. 4. 22. 00:42[네트워크 이론] 전송 계층 - TCP와 UDP

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.TCP 통신 단계와 세그먼트 구조TCP는 통신(데이터 송수신)하기 전에 연결을 수립하고 통신이 끝나면 연결을 종료한다.그리고 데이터 송수신 과정에서 재전송을 통한 오류 제어, 흐름 제어, 혼잡 제어 등의 기능을 제공한다. MSSTCP의 연결 수립과 종료를 이해하려면 가장 먼저 MSS라는 단위와 TCP의 세그먼트 구조를 이해해야 한다.MSS는 Maximum Segment Size의 약자로, TCP로 전송할 수 있는 최대 페이로드 크기를 의미한다.MSS의 크기를 고려할 때 헤더 크기는 제외한다. 헤더의 크기까지 포함했던 단위인 MTU와는 대조적이다. TCP 세그먼트 헤더 송신지 포트(source port)..

[네트워크 이론] 전송 계층 - IP의 한계와 포트
네트워크/네트워크 이론2025. 4. 21. 17:32[네트워크 이론] 전송 계층 - IP의 한계와 포트

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.네트워크 계층의 IP는 신뢰할 수 없는 통신과 비연결형 통신을 수행한다는 한계가 있다.네트워크 계층과 응용 계층 사이에 위치한 전송 계층은 신뢰할 수 있는 통신과 연결형 통신을 가능하게 하여 이러한 IP의 한계를 극복하고, 포트 번호를 통해 응용 계층의 애플리케이션 프로세스들을 식별하는 역할을 수행한다. IP의 한계신뢰할 수 없는 통신과 비연결형 통신IP의 한계라고 볼 수 있는 두 가지 중요한 특징이 있다.IP는 신뢰할 수 없는(비신뢰성) 프로토콜이자 비연결형 프로토콜이라는 점이다.달리 표현하면, IP를 통한 패킷의 전달은 신뢰성이 없는 통신이자 연결을 수립하는 과정이 없는 통신이다.이는 전송 계층이 ..

[Spring 핵심원리 - 고급] 스프링 AOP 구현
Back-End/Spring2025. 4. 21. 16:23[Spring 핵심원리 - 고급] 스프링 AOP 구현

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.리포지토리 & 서비스import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Repository;@Slf4j@Repositorypublic class OrderRepository { public String save(String itemId) { log.info("[orderRepository] 실행"); //저장 로직 if (itemId.equals("ex")) { throw new IllegalStateException("예외 발생!"); } return..

[java] 백준 1012번 문제(유기농 배추)
자료구조 & 알고리즘/BOJ2025. 4. 21. 13:04[java] 백준 1012번 문제(유기농 배추)

원본 링크 : https://www.acmicpc.net/problem/1012문제설명 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Boj_1012{ static int[][] farm; static boolean[][] visited; static int[] dy = { 1, -1, 0, 0 }; // y축(상, 하) static int[] dx = { 0, 0, -1, 1 }; // x축(좌, 우) public static vo..

[네트워크 이론] 네트워크 계층 - 라우팅(Routing)
네트워크/네트워크 이론2025. 4. 17. 20:38[네트워크 이론] 네트워크 계층 - 라우팅(Routing)

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.라우터의 핵심 기능은 패킷이 이동할 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동시키는 것이다.이를 라우팅이라고 한다.라우팅 테이블이 만들어지는 방법과 프로토콜에 따라 라우팅을 분류하면 아래 그림과 같이 표현할 수 있다. 라우터와 라우팅 테이블라우터네트워크 계층의 장비로 라우터만 알아도 큰 무리가 없을 정도로, 라우터는 네트워크 계층의 핵심 기능을 담당한다.사실 L3 스위치라고 부르는 장치도 네트워크 계층의 대표 장치이기는 하지만, 오늘날 라우터와 L3 스위치는 기능상 상당 부분 유사하므로 엄밀히 구분하지 않는 경우가 많다.라우터는 허브나 스위치보다 높은 계층에 속하는 장치이므로 기능적으로는 사실상..

[네트워크 이론] 네트워크 계층 - IP 주소 체계
네트워크/네트워크 이론2025. 4. 17. 18:54[네트워크 이론] 네트워크 계층 - IP 주소 체계

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.네트워크 주소와 호스트 주소하나의 IP 주소는 크게 네트워크 주소와 호스트 주소로 나뉜다.아이피는 32비트로 구성되어있고, 아래 그림은 네트워크 주소가 16비트, 호스트 주소가 16비트인 IP 주소의 예시이다.네트워크 주소 : 호스트가 속한 특정 네트워크를 식별하는 역할호스트 주소 : 네트워크 내에서 특정 호스트를 식별하는 역할 만약 네트워크 주소가 다음 그림과 같이 하나의 옥텟으로 이루어져 있다면, 한 네트워크당 호스트 주소 할당에 24비트를 사용할 수 있어서 상대적으로 많은 호스트에 IP 주소를 할당할 수 있을 것이다. 또 만약 네트워크 주소가 다음과 같이 세 개의 옥텟으로 이루어져 있다면, 네트워..

[Spring 핵심원리 - 고급] @Aspect AOP
Back-End/Spring2025. 4. 17. 15:21[Spring 핵심원리 - 고급] @Aspect AOP

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.@Aspect - 코드스프링은 @Aspect 애노테이션으로 매우 편리하게 포인트컷과 어드바이스로 구성되어 있는 어드바이저 생성 기능을 지원한다.import proxy.proxy.trace.TraceStatus;import proxy.proxy.trace.logtrace.LogTrace;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;@Slf4j@Aspectpublic class..

[Spring 핵심원리 - 고급] 빈 후처리기(BeanPostProcessor)
Back-End/Spring2025. 4. 16. 15:35[Spring 핵심원리 - 고급] 빈 후처리기(BeanPostProcessor)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.빈 후처리기스프링이 빈 저장소에 등록할 목적으로 생성한 객체를 빈 저장소에 등록하기 직전에 조작하고 싶다면 빈 후처리기를 사용하면 된다.빈 포스트 프로세서(BeanPostProcessor)는 번역하면 빈 후처리기인데, 이름 그대로 빈을 생성한 후에 무언가를 처리하는 용도로 사용한다.객체를 조작할 수도 있고, 완전히 다른 객체로 바꿔치기 하는 것도 가능하다. 빈 후처리기 과정생성: 스프링 빈 대상이 되는 객체를 생성한다. (@Bean, 컴포넌트 스캔 모두 포함)전달: 생성된 객체를 빈 저장소에 등록하기 직전에 빈 후처리기에 전달한다.후 처리 작업: 빈 후처리기는 전달된 스프링 빈 객체를 조작하거나 다른 객체로 바꿔..

image