KangMoo's Blog
취소

PyInstaller - Python 프로그램을 실행파일로 만들기

PyInstaller란? PyInstaller는 파이썬 스크립트를 손쉽게 바이너리 실행 파일로 만들어주는 패키지다. PyInstaller 설치 및 사용 PyInstaller를 설치하려면 다음과 같이 실행한다. pip install pyinstaller PyInstaller를 사용하려면 다음과 같이 실행한다. pyinstaller <o...

Linux 백그라운드 실행

백그라운드 실행 : nohup [명령어] > /dev/null 2>&1 & 프로세스를 백그라운드 실행 시, 명령어 뒤에 다음과 같은 내용을 붙인다. nohup [명령어] > /dev/null 2>&1 & 이 명령어를 설명하면 다음과 같다. nohup : 터미널 세션이 종료되어도 프로세스가 ...

SDKMAN 개발 환경을 관리하는 방법

SDKMAN 이란? 개발자는 다양한 도구와 환경을 필요로 한다. 특히 여러 SDK(Software Development Kit)를 설치하고 관리해야 하는 상황이 빈번하다. 하지만 각 SDK의 설치, 버전 관리, 제거를 개별적으로 처리하는 것은 번거롭고 비효율적이다. 이를 해결해주는 도구가 바로 SDKMAN!이다. SDKMAN(Software ...

systemctl을 사용하여 커스텀 서비스 등록방법

systemctl 이란? 시스템의 서비스를 관리하고 제어하는 프로세스는 systemd이다. 이러한 systemd를 제어하기 위해 사용하는 명령어 도구가 systemctl이다. systemctl의 기본 명령어 서비스 관리 명령어 systemctl은 서비스의 시작, 중지, 상태 확인 등을 처리한다. 명령어 ...

리눅스의 init 프로세스와 systemd 프로세스

세줄 요약 리눅스 운영체제는 부팅 과정에서 여러 프로세스를 시작하고 관리하기 위해 시스템 초기화 프로세스를 사용하는데, 대표적인 것으로 init과 systemd가 있다. init은 오래된 방식으로 단순한 구조와 설정 파일을 사용하며, systemd는 병렬 처리와 의존성 관리 등 현대적인 기능을 제공한다. ...

컴퓨터의 음수표현과 2의 보수

컴퓨터의 음수 표현 컴퓨터는 모든 데이터를 0과 1로 표현한다. 2진수에 대해서 알고 있다면 양수로 이루어진 자연수를 표현할 때 큰 어려움 없이 표현할 수 있다. 예를 들어 5라는 10진수 숫자를 2진수로 표현하면 101(2)이다. 그렇다면 -5라는 숫자를 표현할 때는 어떻게 해야 할까? 단순하게 생각하면 -를 붙여서 -101로 표현하...

자바 동적 프록시(Dynamic Proxy) 란?

동적 프록시(Dynamic Proxy)란? 자바 동적 프록시는 자바에서 객체의 인터페이스를 구현하여 런타임 시에 객체의 메서드 호출을 제어하는 기술. 대부분의 사용자가 자신도 모르게 사용하고 있으며, AOP(Aspect-Oriented Programming)와 같은 기술의 핵심 요소로 활용된다 동적 프록시의 개념 동적 프록시는...

자바의 Record 란?

Java Record 소개 데이터 중심의 불변성과 간결성을 추구하는 클래스 데이터를 저장하고 전달하는 것에 중점을 둔 클래스 객체의 행동(메서드)보다 객체가 담고 있는 데이터(필드)에 더 많은 중요성을 부여하는 클래스 JDK14부터 도입되었으며, JDK16에서 정식 스펙으로 포함되었다 데이터 ...

자바의 CompletableFuture 란?

들어가면서 Java 5에서 도입된 Future 인터페이스는 비동기 계산의 결과를 수월하게 처리할 수 있게 되었지만, 몇가지 한계점이 있었다 Future의 get() 메서드를 호출할 때, 작업이 완료될때까지 블록킹된다 여러 Future를 조합하거나 예외를 처리하는것이 복잡하다 비동기 작업의 실패를 알리는 콜백 메커니즘이 부족하다 이러...

자바의 Annotation 이란?

들어가면서 자바에는 두 가지 종류의 주석이 있다. 주석(Comments)과 어노테이션(Annotations) 주석은 코드의 실행에 전혀 영향을 미치지 않으면서 개발자들이 의도와 로직을 명확하게 전달할 수 있게 도와준다. 그러나 자바의 어노테이션은 단순한 주석을 넘어서는 일을 한다. 어노테이션은 코드에 메타데이터를 추가하여, 컴파일러, 개발 도구, ...