[네트워크 이론] 물리 계층 및 데이터링크 계층
네트워크/네트워크 이론2025. 4. 15. 19:11[네트워크 이론] 물리 계층 및 데이터링크 계층

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.이더넷(Ethernet)물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있다. 오늘날의 두 계층은 이더넷이라는 공통된 기술이 사용되기 때문이다.이더넷(Ethernet)은 현대 LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용되는 기술이다.예를 들어 두 대의 컴퓨터가 있다고 가정해보자. 이 컴퓨터끼리 정보를 주고받으려면 가장 먼저 케이블과 같은 통신 매체가 필요하다.그리고 그 통신 매체를 통해 정보를 송수신하는 방법이 정해져 있어야 한다.이더넷은 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의된 네트워크 기술이다. 이더넷 표준오늘날 유선 LAN 환경..

[Spring 핵심원리 - 고급] 프록시 팩토리(Proxy Factory)
Back-End/Spring2025. 4. 15. 16:22[Spring 핵심원리 - 고급] 프록시 팩토리(Proxy Factory)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.프록시 팩토리인터페이스가 있는 경우에는 JDK 동적 프록시를 적용하고, 그렇지 않은 경우에는 CGLIB를 적용하려면 어떻게 해야할까?-> 프록시 팩토리를 사용하면 된다. 프록시 팩토리는 인터페이스가 있으면 JDK 동적 프록시를 사용하고, 구체 클래스만 있다면 CGLIB를 사용한다.그리고 이 설정을 변경할 수도 있다. 두 기술을 함께 사용할 때 부가 기능을 적용하기 위해 JDK 동적 프록시가 제공하는 InvocationHandler와 CGLIB가 제공하는 MethodInterceptor를 각각 중복으로 따로 만들어야 할까?스프링은 이 문제를 해결하기 위해 부가 기능을 적용할 때 Advice라는 새로운 개념을 도입했..

[Spring 핵심원리 - 고급] 동적 프록시(Dynamic Proxy)
Back-End/Spring2025. 4. 15. 13:53[Spring 핵심원리 - 고급] 동적 프록시(Dynamic Proxy)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.리플렉션JDK 동적 프록시를 이해하기 위해서는 먼저 자바의 리플렉션 기술을 이해해야 한다.리플렉션 기술을 사용하면 클래스나 메서드의 메타정보를 동적으로 획득하고, 코드도 동적으로 호출할 수 있다.import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api.Test;import java.lang.reflect.Method;@Slf4jpublic class ReflectionTest { @Slf4j static class Hello { public String callA() { log.info("callA"); ..

[java] 백준 1325번 문제(효율적인 해킹)
자료구조 & 알고리즘/BOJ2025. 4. 15. 11:33[java] 백준 1325번 문제(효율적인 해킹)

원본 링크 : https://www.acmicpc.net/problem/1325문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Boj_1325{ static ArrayList[] list; static int[] count; static int n; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)..

[java] 백준 18352번 문제(특정 거리의 도시 찾기)
자료구조 & 알고리즘/BOJ2025. 4. 15. 09:25[java] 백준 18352번 문제(특정 거리의 도시 찾기)

원본 링크 : https://www.acmicpc.net/problem/18352문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Boj_18352{ static ArrayList[] list; // 인접 리스트 static int distanceArr[]; // 거리를 저장하는 배열 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamR..

[Spring 핵심원리 - 고급] 프록시 및 데코레이터 패턴(디자인 패턴)
Back-End/Spring2025. 4. 11. 21:44[Spring 핵심원리 - 고급] 프록시 및 데코레이터 패턴(디자인 패턴)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.프록시프록시 개념클라이언트와 서버 개념에서 일반적으로 클라이언트가 서버를 직접 호출하고, 처리 결과를 직접 받는다. 이것을 직접 호출이라 한다. 그런데 클라이언트가 요청한 결과를 서버에 직접 요청하는 것이 아니라 어떤 대리자를 통해서 대신 간접적으로 서버에 요청할 수 있다.예를 들어서 내가 직접 마트에서 장을 볼 수도 있지만, 누군가에게 대신 장을 봐달라고 부탁할 수도 있다.여기서 대신 장을 보는 대리자를 영어로 프록시(Proxy)라 한다. 객체에서 프록시가 되려면, 클라이언트는 서버에게 요청을 한 것인지, 프록시에게 요청을 한 것인지 조차 몰라야 한다.쉽게 이야기해서 서버와 프록시는 같은 인터페이스를 사용해야 ..

[java] 백준 1850번 문제(최대 공약수 구하기)
자료구조 & 알고리즘/BOJ2025. 4. 11. 11:14[java] 백준 1850번 문제(최대 공약수 구하기)

원본 링크 : https://www.acmicpc.net/problem/1850문제설명  소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_1850{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br...

[Spring 핵심원리 - 고급] 전략 패턴(디자인 패턴)
Back-End/Spring2025. 4. 10. 14:43[Spring 핵심원리 - 고급] 전략 패턴(디자인 패턴)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.전략 패턴선 조립 후 실행GOF 디자인 패턴에서 정의한 전략 패턴의 의도는 다음과 같다.고리즘 제품군을 정의하고 각각을 캡슐화하여 상호 교환 가능하게 만들자.전략을 사용하면 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. 전략 패턴(Strategy Pattern)이란 행동(알고리즘)을 객체로 분리하여 동적으로 교체할 수 있도록 해주는 디자인 패턴이다.쉽게 말해서, 상황에 따라 알고리즘이나 기능을 바꾸고 싶을 때 유용한 방법이다.행동(전략)을 인터페이스로 정의하고, 그 행동을 구현한 여러 클래스를 만든 다음, 컨텍스트(Context)에서 그 전략 객체를 주입받아 사용하는 방식이다.public..

image