-
[Java, SLF4J] org.slf4j.impl.StaticLoggerBinder 에러 해결하기프로그래밍/Java 2024. 4. 15. 11:35
SLF4JSLF4J는 "Simple Logging Facade for Java"의 약자로, 자바 애플리케이션에서 사용되는 로깅 인터페이스이다. SLF4J는 로깅 시스템에 대한 추상화 계층을 제공하여 애플리케이션 코드가 특정 로깅 프레임워크에 종속되지 않도록 하며, 애플리케이션 코드에서 로깅을 위한 API를 호출할 때 어떤 구현체를 사용할지 결정할 수 있다. 문제 상황HikariCP를 프로젝트에서 사용하기 위해 Maven을 통해 라이브러리를 추가하자 발생한 오류로 아래와 같이 출력되었다.SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implem..
-
[Java, Netty] Nagle 알고리즘 적용 해제하기프로그래밍/Java 2024. 4. 12. 15:50
Nagle 알고리즘? https://syudal.tistory.com/entry/Network-Nagle알고리즘과-TCPNODELAY [Network] Nagle알고리즘과 TCP_NODELAY Nagle 알고리즘 Nagle 알고리즘은 1984년에 발표된 RFC 896 "Congestion Control in IP/TCP Internetworks" 문서에서 제안된 것으로, Van Jacobson에 의해 소개되었다. 이 알고리즘의 주요 목적은 TCP 네트워크에서 소형 syudal.tistory.com Nagle 알고리즘 적용 해제하기 아래는 Netty EchoServer 예제에 TCP_NODELAY 옵션을 true로 적용하여 Nagle 알고리즘의 적용을 해제 하는 방법이다. public final class..
-
[Network] Nagle알고리즘과 TCP_NODELAY백엔드/ETC 2024. 4. 8. 16:27
Nagle 알고리즘Nagle 알고리즘은 1984년에 발표된 RFC 896 "Congestion Control in IP/TCP Internetworks" 문서에서 제안된 것으로, Van Jacobson에 의해 소개되었다. 이 알고리즘의 주요 목적은 TCP 네트워크에서 소형 데이터 패킷을 최소화하여 헤더가 붙음으로 인한 오버헤드를 줄여 대역폭을 효율적으로 사용하는 것을 목적으로 제시되었다. Nagle 알고리즘의 동작 원리1. 작은 패킷의 조합작은 데이터 조각을 여러 개의 패킷으로 나누어 전송하는 것을 방지하기 위해 TCP 세그먼트에 작은 데이터를 모아서 조합한 후 한 번에 전송한다.2. ACK 지연ACK 패킷의 전송을 고의적으로 늦춰 전송함으로써, TCP 연결에서 발생하는 오버헤드를 감소시킨..
-
개발자 기술 면접 노트일상/도서 리뷰 2024. 4. 8. 12:08
개발은 알지만 면접은 잘 모르는 주니어 개발자와 시니어 개발자 모두에게 면접관의 입장에서 알차게 작성한 취업 및 이직이라는 대장정에 등대가 되어주는 책 필요한 선수 지식 요구 학력 관련학과 대졸 이상 (취업 및 이직에 관련된 내용) 예제 코드 : X 난이도 : ★☆☆☆☆ 책의 구성 중 마음에 들었던 주제 Chapter 03 취업과 이직을 위한 첫 걸음, 이력서와 자기소개서 이력서를 관리하는 방법과 꼭 챙겨야 할 항목, 경력사항을 작성하는 방법 및 해당 언어의 숙련도를 표현하는 방법, 심플하면서도 매력적인 자기소개서를 작성하는 방법들을 사례 연구를 통해 설명한다. Chapter 04 시선을 사로잡은 커리어, 경력기술서 포트폴리오에서의 기본적인 유의 사항과 적어야 할 내용인 트러블 슈팅 경험, Git으로 이..
-
[Java] Rhino Engine, Nashorn Engine, GraalVM프로그래밍/Java 2024. 3. 27. 16:24
자바스크립트 인터프리터 엔진 Rhino 엔진, Nashorn 엔진, 그리고 GraalVM은 모두 자바스크립트를 인터프리팅하고 실행하는데 사용되었거나 사용하는 엔진들이다. Java의 버전이 올라감에 따라서 자바스크립트를 인터프리팅하는데 사용하는 엔진들이 바뀌었는데, JDK 버전에 맞추어 각각을 간단히 설명하고자 한다. Rhino Engine (~ Java SE 7) Rhino는 Mozilla Foundation에서 개발한 자바스크립트 인터프리터 엔진이다. 자바 가상 머신(JVM)에서 실행되며, 자바스크립트 코드를 자바 바이트 코드로 변환하여 실행한다. Rhino는 자바 애플리케이션에서 자바스크립트를 사용하는 데 주로 사용되었으나, 성능 면에서 한계가 있어 Java 표준 라이브러리에서 제공하는 공식적인 Ja..
-
게임 AI를 위한 탐색 알고리즘 입문일상/도서 리뷰 2024. 3. 18. 09:50
게임 AI라고 하면 머신러닝을 생각하겠지만, 또 다른 핵심요소인 '탐색'에 집중한 책 필요한 선수 지식 요구 학력 관련학과 대졸 이상 (자료구조와 알고리즘의 심화 및 응용) 예제 코드 : C++ 난이도 : ★★★☆☆ 책의 구성 중 마음에 들었던 주제 Chapter 05 교대로 두는 2인 게임에서 사용하고 싶은 탐색 알고리즘 미니맥스 알고리즘, 알파-베타 가지치기, 몬테카를로 탐색과 같은 전통적 트리 탐색과 관련된 알고리즘과 필자가 만들었다는 Thunder 탐색 알고리즘을 설명한다. Chapter 07 더 좋은 탐색을 하는 기법 탐색에서 중요한 가중치를 설정하는 법, 탐색의 고속화를 위해 동일한 게임판을 저장하고 빨리 연산하는 법, 비트열을 이용하여 게임판 표현하는 방법을 설명한다. 읽고 난 후 추천 지수..
-
[Python] PyInstaller로 컴파일한 코드를 decompyle3로 디컴파일 하기프로그래밍/Python 2024. 3. 4. 10:34
PyInstaller PyInstaller는 Python 애플리케이션과 모든 종속 요소를 단일 패키지로 묶는 소프트웨어이다. 이를 통해 프로그램 사용자는 파이썬 인터프리터나 모듈을 설치하지 않고도 프로그램을 실행할 수 있다. PyInstaller는 Python 3.8 이상을 지원하며 numpy, matplotlib, PyQt, wxPython 등과 같은 많은 주요 Python 라이브러리들을 패키징한다. ※ 해당 프로그램이 무엇으로 패킹 되었는지는 Exeinfo PE를 사용하여 확인한다. 언패킹 python-exe-unpacker 스크립트를 사용하여 PyInstaller로 묶인 파일들을 언패킹해준다. git clone https://github.com/countercept/python-exe-unpacke..
-
불안형 애착과 회피형 애착일상/심리학 2024. 2. 28. 14:47
애착은 개인이 대인관계에서 형성된 감정적인 유대감과 그에 대한 대응 방식을 나타낸다. 불안형 애착 불안형 애착 (Anxious Attachment)을 가진 사람들은 주로 부모나 돌봄자와의 관계에서 불안정한 유대감을 형성한다. 이들은 상대방이 자신을 버릴 것이라고 느끼며 일정한 안정성과 관심을 필요로 한다. 불안형 애착을 가진 사람들은 종종 상대방에게 과도한 의존이나 심리적인 안전을 찾으려 하나 때로는 과도한 불안감으로 인해 상대방에게 부담을 주는 집착을 한다. 회피형 애착 회피형 애착 (Avoidant Attachment)을 가진 사람들은 주로 부모나 돌봄자와의 관계에서 덜 감정적인 연결을 형성한다. 이들은 다른 사람들에게 의존하지 않고 자립적으로 살려는 성향이 있다. 회피형 애착을 가진 사람들은 감정적..