01. 네트워크 기초 02. Mac 주소, IP 주소, Port 번호는 무엇에 대한 식별자일까? ✨ 아래 내용은 유튜버 '널널한 개발자 TV'님의 네트워크 기초 이론을 보고 정리한 내용입니다. ✔ Host ❗ Host는 'Network를 이용하는 이용주체'냐? 'Network 그 자체'냐? 에 따라 분류 Network 이용주체 = End-point(단말) Host가 존재하는 _역할과 기능_에 따라 Peer, Server, Client로 나뉨 Client, Server가 제일 흔하고, 별개없이 존재 시 Peer Network 자체 = Switch Router, F/W, IPS는 Switch라 부를 수 있고 _역할_에 따라 나뉜다. 하는일은 기본적으로 Switching이다. (Switch의 역할이 Switc..
01. 네트워크 기초 ✨ 아래 내용은 유튜버 '널널한 개발자 TV'님의 네트워크 기초 이론을 보고 정리한 내용입니다. ✔ Mac 주소 ❗ NIC(LAN 카드)에 대한 식별자 LAN카드라고 붙은 것들은 무조건 Mac 주소를 가지고 있다. 유/무선 LAN 카드를 동시에 가질 경우 Mac 주소는 2개다. (1:1) Mac 주소는 자주 변경되는게 아니지만 변경가능하다. Mac 주소는 H/W주소라고도 한다. ✔ IP 주소(v4, v6) ❗ Host에 대한 식별자 Host란 인터넷(네트워크)에 연결된 컴퓨터 IP 주소는 컴퓨터(Host)에 부여된다. 한 컴퓨터가 N개의 IP 주소를 가질 수 있다. IP 주소는 NIC 하나에 여러개를 매핑(바인딩)할 수 있다. ✔ Port 번호 ❗ 어떤 Layer에서 관련된 일을 하..
✔ 입력 Scanner < BufferedReader BufferedReader 클래스는 버퍼를 사용하기 때문에 Scanner 클래스 보다 속도가 월등히 빠르다. Scanner 클래스는 버퍼를 사용하지 않고, 읽는 과정에서 정규 표현식 적용, 입력값 분할, 파싱 등 여러 처리과정을 거친다. 하나의 입력만 받을 경우 Scanner를 사용하자! ➝ Scanner에서 제공하는 nextInt 메서드로 따로 형변환을 하지 않고 받은 입력 그대로를 사용할 수 있다. 입력이 여러줄 이거나 한줄에 여러 입력을 받을 경우 BufferedReader를 사용하자! ✔ 분리 StringTokenizer < String.split() / String.charAt() StringTokenizer의 구분자가 특수한 경우 검사를 해..
✨ 아래 내용은 유튜버 '널널한 개발자 TV'님의 네트워크 기초 이론을 보고 정리한 내용입니다. ✔ 컴퓨터 구조 컴퓨터는 크게 Hardware와 Software로 나뉘고, Software는Application과 System Software로 나뉜다. 👉 3개의 Layer인 User, Kernel, H/W로 구성 ✔ OSI 7Layer와 DoD OSI 7Layer는 L1~L7인 7Layer DoD는 Access, Network, Transport, Application인 4Layer 👉 OSI 7Layer와 DoD는 Abstract이고 어떻게 Implements 되었는지가 중요 ✔ Implements(구현) H/W(NIC)를 움직일 수 있는 Device Driver User Mode Application이..
01. Singleton Bean에 Prototype Bean 주입하기 Singleton Bean에 @Autowired로 주입 Singleton Bean에 Prototype Bean을 주입 하면 해당 Prototype Bean은 Singleton Bean 생성 후 주입 받는 시점에 생성되서 주입 되고 끝나기 때문에 Prototype scope가 아닌 Singleton scope 로 작동이 된다. 👉 주입받은 Prototype Bean의 Instance는 계속 동일 👉 ProxyMode로 사용해보자 02. ProxyMode를 사용하여 Prototype Bean 생성하기 Prototype Bean에 proxyMode = ScopedProxyMode.TARGET_CLASS 옵션 추가 03. Singleton ..
✔ static 컴파일 시간에 Static(=Class, Method) 메모리에 할당 ✔ final 초기화 방법 선언 과 동시에 초기화 생성자에서 초기화 class finalTest { final int val1 = 1; final int val2; public finalTest() { val2 = 4; } } ✔ static final 초기화 방법 선언과 동시에 초기화 static block에서 초기화 class staticFinalTest { static final int val1 = 1; static final int val2; static { val2 = 2; } } hello 👉 DI로 의존성 주입할 경우 생성자를 통해 값이 주입되므로 final 사용 class diTest { private f..
⚒ 스프링 시큐리티 필터 중 인증과 인가에 대한 필터인 ExceptionTranslationFilter, FilterSecurityInterceptor에 대해 알아보겠다. 🔨 Filter Chain 순서 ✔ 위와 같이 ExceptionTranslationFilter와 FilterSecurityInterceptor의 순서는 스프링 시큐리티 필터의 마지막 순서이다. 필터의 흐름을 알아보자. 🔨 전제조건 i) 인증이 되지 않음 ii) 인증은 됐지만 권한이 존재하지 않음 ◾ 순서1. ✔ ExceptionTranslationFilter의 doFilter가 실행되면서 다음 필터인 FilterSecurityInterceptor가 실행됨 ◾ 순서2. i) FilterSecurityInterceptor에서 Securit..