#CLI

10 편의 글

Rust 실전 강좌 #7 릴리스 최적화와 크로스 컴파일: 작고 빠른 바이너리를 어디서나
4 분 소요

Rust 실전 강좌 #7 릴리스 최적화와 크로스 컴파일: 작고 빠른 바이너리를 어디서나

배포 준비의 전반부입니다. [profile.release]로 조이는 최적화(lto, codegen-units, strip)와 각 옵션의 대가, panic = "abort"를 함부로 켜면 안 되는 이유, 바이너리 크기가 줄어드는 과정, 그리고 rustup target으로 하는 크로스 컴파일 — 특히 glibc 의존을 없애 오래된 서버에서도 도는 musl 정적 링크 빌드와 링커 문제를 도커로 우회하는 cross 도구까지 다루겠습니다.

Rust 실전 강좌 #5 rayon 병렬화: 데이터 레이스 없는 map-reduce
4 분 소요

Rust 실전 강좌 #5 rayon 병렬화: 데이터 레이스 없는 map-reduce

집계를 여러 코어에 나눕니다. 병렬화가 이득인 조건(CPU 바운드)과 스트리밍에서 통째 읽기로 전략을 바꾸는 이유, rayon의 par_lines와 fold·reduce로 만드는 스레드별 부분 집계와 병합, Mutex로 하나의 HashMap을 공유하면 느려지는 이유(락 경합), 그리고 공유 가변 상태 실수를 컴파일러가 잡아내는 장면까지 다루겠습니다.

Rust 실전 강좌 #4 이터레이터 실전: 집계와 top-N, 그리고 release 빌드의 차이
4 분 소요

Rust 실전 강좌 #4 이터레이터 실전: 집계와 top-N, 그리고 release 빌드의 차이

파서 위에 분석을 올립니다. 파싱 실패를 세면서 성공만 흘려보내는 집계 구조, HashMap entry로 만드는 상태 코드 분포, 정렬로 뽑는 top-N, 커맨드 두 개(stats·top)의 완성, 그리고 Instant로 직접 재 보는 debug와 release 빌드의 성능 차이(왜 수십 배가 나는지, 왜 release가 기본값이 아닌지)까지 다루겠습니다.

Rust 실전 강좌 #3 파일 IO와 파싱: BufReader로 읽고, 로그 한 줄을 구조체로
4 분 소요

Rust 실전 강좌 #3 파일 IO와 파싱: BufReader로 읽고, 로그 한 줄을 구조체로

대용량 파일을 다루는 두 가지 기본기를 세웁니다. 전체를 메모리에 올리는 read_to_string과 줄 단위로 흘리는 BufReader의 선택 기준, 시스템 콜과 버퍼링의 관계, 액세스 로그 한 줄을 LogEntry 구조체로 바꾸는 파서(따옴표 처리, 상태 코드 변환, 2편 ParseError의 실전 투입), 그리고 serde로 JSON Lines 로그까지 받는 확장을 다루겠습니다.

Rust 실전 강좌 #2 에러 설계: anyhow와 thiserror, 죽는 방법을 설계한다
5 분 소요

Rust 실전 강좌 #2 에러 설계: anyhow와 thiserror, 죽는 방법을 설계한다

CLI 도구에서 에러 메시지는 사용자 인터페이스의 일부입니다. 애플리케이션 계층의 기본값인 anyhow(main이 anyhow::Result를 반환, context로 맥락 쌓기)와 라이브러리 계층의 thiserror(호출자가 종류로 분기할 수 있는 구체 에러 타입)의 역할 분담, 두 크레이트를 고르는 판단 기준, 그리고 종료 코드까지 loglens의 에러 경로를 설계하겠습니다.

Rust 실전 강좌 #1 프로젝트 설계와 clap: 서브커맨드 CLI의 뼈대 잡기
4 분 소요

Rust 실전 강좌 #1 프로젝트 설계와 clap: 서브커맨드 CLI의 뼈대 잡기

기초 강좌에서 배운 문법으로 실제 도구를 만드는 실전 8편을 시작합니다. 만들 것은 액세스 로그 분석 CLI인 loglens입니다. 왜 CLI 도구가 Rust의 대표 무대인지(단일 바이너리, 시작 속도), clap의 derive 방식으로 서브커맨드(stats, top, errors)를 열거형 하나로 선언하는 법, 자동 생성되는 --help, 그리고 8편 전체의 설계 지도까지 다루겠습니다.

파이썬 자동화 #7 나만의 명령어 만들기: typer와 rich로 CLI 하나로 묶기
6 분 소요

파이썬 자동화 #7 나만의 명령어 만들기: typer와 rich로 CLI 하나로 묶기

시리즈에서 만든 자동화 스크립트들을 typer로 하나의 CLI 도구로 묶고, rich로 출력을 다듬은 뒤, uv tool install로 어디서나 부르는 명령으로 설치하는 과정까지 정리하며 시리즈를 마무리합니다.

AWS 기초 #5 CloudShell과 IAM Identity Center (SSO)
7 분 소요

AWS 기초 #5 CloudShell과 IAM Identity Center (SSO)

브라우저 안의 터미널 CloudShell, 그리고 멀티 어카운트 로그인의 표준이 된 IAM Identity Center(SSO) 셋업과 AWS CLI의 sso login 흐름까지 정리합니다.

AWS 기초 #4 AWS CLI와 SDK 셋업
8 분 소요

AWS 기초 #4 AWS CLI와 SDK 셋업

aws cli v2 설치, aws configure, 프로파일과 자격 증명 파일, boto3 / aws-sdk-js 같은 SDK의 용도, 그리고 자격 증명 체인이 흐르는 순서까지 정리합니다.

도커 기초 강좌 #3 이미지와 컨테이너 — build, run, ps, logs, exec
7 분 소요

도커 기초 강좌 #3 이미지와 컨테이너 — build, run, ps, logs, exec

도커 CLI의 일상 명령군을 한곳에 정리합니다. build의 옵션, run의 자주 쓰는 플래그(-d, --name, --rm, -e), 그리고 ps , logs , exec , stop , rm으로 이어지는 컨테이너 라이프사이클까지 정리합니다.