본문 바로가기

전체보기43

메이븐 시작메이븐은 자바 프로젝트의 빌드, 테스트, 배포를 자동화해 주는 빌드 도구입니다. 여기서 간단히 정리하고자 합니다.본문메이븐의 빌드 라이프 사이클메이븐은 기본적인 빌드 라이프 사이클을 가지고 있습니다. 이 라이프 사이클은 단계(phase)라고 불리며 각 단계는 특정 작업을 수행합니다.validate: 프로젝트 구성이 올바른지 확인하고 빌드할 수 있는지 검증합니다.compile: 프로젝트의 소스 코드를 컴파일합니다.test: 단위 테스트를 수행합니다.package: 컴파일된 코드를 패키징 합니다.verify: 통합 테스트 결과를 확인합니다.install: 패키지를 로컬 저장소에 설치합니다.deploy: 패키지를 원격 저장소에 배포합니다.또한 클린 라이프 사이클(clean)과 사이트 라이프 사이클(site.. 2024. 12. 30.
프로그래밍 언어의 종류와 특징 시작프로그래밍 언어는 컴퓨터에게 명령을 내리기 위한 언어입니다. 프로그래밍 언어도 다양한 종류가 있습니다. 이 글에서는 프로그래밍 언어의 종류와 특징에 대해 알아보겠습니다.본문인터프리터 언어 vs 컴파일러 언어인터프리터 언어는 코드를 한 줄씩 읽어 실행하는 방식 즉 실행이 시작되기 전에 컴파일을 하지 않고 코드를 실행하면서 동시에 컴파일을 하는 방식으로 동작합니다. 대표적인 인터프리터 언어로는 Python, JavaScript가 있습니다.print("Hello, World!")=> 실행$ python hello.py 반면 컴파일러 언어는 코드를 한 번에 컴파일하여 실행 파일을 만든 후 실행하는 방식으로 동작합니다. 대표적인 컴파일러 언어로는 C언어가 있습니다.#include int main() { .. 2024. 12. 23.
가비지 컬렉션 시작JVM에서 메모리 관리는 가비지 컬렉션을 통해 이루어집니다. 이 포스트에서는 가비지 컬렉션에 대해 알아보겠습니다.본문스택과 힙JVM에서 메모리는 스택(Stack)과 힙(Heap)을 포함합니다.스택은 로컬 변수, 메서드 호출, 리턴 값 등을 저장하는 공간입니다.힙은 객체를 저장하는 공간입니다.힙에 저장된 객체는 더 이상 사용되지 않을 때 메모리를 잘 관리하기 위해 가비지 컬렉션을 사용하여 메모리를 해제합니다.마크 앤 스위프(Mark and Sweep)마크 앤 스위프는 가비지 컬렉션의 가장 기본적인 알고리즘입니다.그중 가장 간단한 형태는 다음과 같습니다.모든 실행 중인 프로그램 스레드를 일시 정지합니다.live 객체를 찾기 위해 힙을 순회하며 live 객체를 Mark합니다.live 객체는 참조되고 있는 .. 2024. 12. 19.
성능 튜닝의 중요성 시작성능 튜닝의 중요성에 대해 정리하고자 합니다.본문몇 가지 성능 용어 정리지연 시간(Latency): 요청을 보낸 후 응답을 받을 때까지 걸리는 시간처리량(Throughput): 단위 시간당 처리할 수 있는 요청의 수활용도(Utilization): 시스템의 자원을 얼마나 사용하고 있는지를 나타내는 지표효율성(Efficiency): 시스템이 자원을 얼마나 효율적으로 사용하고 있는지를 나타내는 지표용량(Capacity): 시스템이 처리할 수 있는 요청의 수확장성(Scalability): 시스템이 요청이 증가할 때 얼마나 많은 자원을 추가로 사용할 수 있는지성능 저하(Degradation): 시스템이 요청을 처리하는 데 걸리는 시간이 증가하는 현상성능 튜닝에서의 시간시간의 정밀도: 최소 시간의 단위시간의 정.. 2024. 12. 15.