본문 바로가기

분류 전체보기362

[Infra 3편] 서버 특정 포트 접근 가능한지 확인하는 방법 목차는 Infra 목차 에 있습니다. [Infra 3편] 서버 특정 포트 접근 가능한지 확인하는 방법 접근하고자 하는 서버의 포트가 listen 상태여야 telnet, nc 명령어가 동작이 됩니다. NC (netcat) 넷캣은 네트워크 연결에서 데이터를 읽고 쓰는 유틸리티입니다. // 3000 포트를 listen 모드로 오픈합니다 nc -l 3000 // localhost 3000 번 포트로 접속합니다. 접속이 성공해서 text 를 입력하고 엔터를 치면 3000 포트를 listen 하는 프로세스에서 동일한 text 가 보입니다. nc localhost 3000 // hello world 엔터 치면 아래와 같이 나옵니다. 1번 프로세스 (nc -l 3000 명령어 수행) hello world 2번 프로세스.. 2024. 2. 17.
[Infra 2편] JIT, HotSpot 정리 목차는 Infra 목차 에 있습니다. [Infra 2편] JIT, HotSpot 정리 JIT 란? just-in-time compilation 의 약자이며, 프로그램을 실행하는 시점에 기계어로 번역하는 컴파일 기법입니다. 정적 , 동적 컴파일 방식 기계어로 번역하는 방법에는 2가지가 있습니다. 정적, 동적 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역하는 것입니다. 동적 컴파일은 프로그램 코드를 읽으면서 실행하는 것입니다. JIT 는 어떤 컴파일 방식인가? JIT 는 정적 + 동적 컴파일 방식을 합친 방식이며, 다음과 같은 FLOW 를 통해 거칩니다. Java Code --> 컴파일러 --> Java byte code (JVM 이 해석할수 있는) --> JVM(JIT 가 관여) --> 기계어.. 2024. 2. 17.
[테스트 및 리팩토링 9편] Junit5 정리 목차는 테스트 & 리팩토링 목차 에 있습니다. [테스트 및 리팩토링 9편] Junit5 정리 추후 찾아보기 위해 정리했습니다. 내용을 보강할 예정입니다. ExtendWith Junit5 의 라이프사이클 중 Test 에서 사용할 기능을 확장하는 것입니다. ExtendWith (SpringExtension.class) spring TestContext + Junit5 통합하여 사용합니다. 인터페이스 : BeforeAllCallback, AfterAllCallback, TestInstancePostProcessor, BeforeEachCallback, AfterEachCallback, BeforeTestExecutionCallback, AfterTestExecutionCallback, ParameterReso.. 2023. 10. 10.
[spring 22편] 멀티스레드 환경 로그 식별 (MDC, ThreadLocal) 목차는 spring series 목차 에 있습니다. [spring 22편] 멀티스레드 환경 로그 식별 (MDC, ThreadLocal) 나중에 볼려고 정리했습니다. 상황 멀티 스레드 환경에서 로그를 찍다보면 식별이 안되는 경우가 있습니다. 멀티스레드 환경에서는 컨텍스트 스위칭이 일어나 실행이 되기 때문에 로그가 섞이기 때문입니다. 이를 해결하는 방법중 Correlation ID 라는 것이 있습니다. Correlation ID, ThreadLocal 위와 같은 상황을 해결하기 위해 같은 스레드 요청에 대해 특정 ID 를 부여해 grouping 할 수 있습니다. 이를 Correlation ID 라고 합니다. 자바에서는 이를 구현하기 위해 ThreadLocal 을 제공하며, ThreadLocal 은 동일한 스.. 2023. 10. 6.