Pnpm: Fast & efficient 패키지 관리자
·
프로그래밍/도구
TL;DRhard-link 기반의 효율적인 의존성 관리 툴이다.빠른 속도, 적은 용량을 사용하는 패키지 관리자이며 MonoRepo에 유용하다. Pnpm (Performant npm)공식문서의 Motivation 항목이다.아래의 그림으로 Pnpm의 특징을 이해할 수 있다.중앙 저장소에 의존성을 설치한다.그리고 /node_modules에서는 hard-link를 통해 중앙 저장소를 참조한다.한 번만 설치하면 되기 때문에, 속도와 용량이 줄어드는 건 당연한 이야기이다.모노레포를 운용하게 된다면, 이 효율성은 더욱 체감이 될 것이다. 그렇다면, npm과 yarn은 이 문제를 몰랐을까?  Npm, Yarn과 /node_moduels의 투쟁기Npm과 Yarn의 초기버전에도 이러한 문제를 인지하고 있었다.그래서 종속모..
UV: Rust 기반 python_manager
·
프로그래밍/도구
서론python의 패키지 관리자는 pip -> poetry -> pdm 등 많은 것들이 등장했고,Rust의 인기를 업고 uv가 등장했다. pip대비 10 ~100배의 속도 & python 설치 및 관리라는 매력적인 특성이 있다. 목표어떤 기능을 제공하는지 정리기존의 어떤 문제점을 해결했는지 이해  핵심 명령어1. 프로젝트 생성# 애플리케이션 생성uv init {app_name}# 라이브러리 생성uv init --lib {lib_name}# 확장 모듈 생성 (maturin: Rust, scikit-build-core: C계열)uv init --build-backend maturin {ext_name}배포용인 프로젝트와, 아닌 프로젝트를 구분할 수 있게 해준다.Rust나, C기반의 성능이 중요한 프로젝트를 ..