Snippets
스니펫
짧은 코드 조각과 실행 메모를 빠르게 재사용할 수 있게 정리한 목록입니다.
스니펫 태그- Biome npm-scripts 설정
Biome 도입 시 설정하는 npm-scripts의 정석 패턴. lint와 format을 check 명령어로 실행한다.
- 이미지 확장자 정규식
파일명에서 이미지 형식을 판별하는 JavaScript/TypeScript 정규식 패턴. png, webp, jpg, jpeg, avif, gif 지원.
- 지연 초기화 객체
getter를 사용해 첫 접근 시에만 값을 생성하는 TypeScript 패턴. 메모리 캐시보다 경량인 지연 평가.
- man 페이지를 텍스트 파일로 저장
macOS/Linux에서 man 명령어의 출력을 파일에 저장하는 방법. col -b로 제어 문자를 제거하여 가독성 있는 텍스트를 만든다.
- npm에서 tarball 다운로드
npm pack와 pnpm info를 사용해 npm 패키지의 tarball(.tgz)을 다운로드하는 방법. npm, yarn, pnpm 각각의 방법을 소개.
- 시간 기반 시맨틱 버전 생성
빌드 시각을 버전 번호로 자동 생성하는 TypeScript 함수. Chrome 확장 프로그램 등에서 버전 상한이 있는 경우에 유용함.
- SHA256 동기 구현 (WebCrypto API 비의존)
WebCrypto API를 사용하지 않는 순수 JavaScript SHA256 구현. Web Workers 등에서 crypto 객체를 사용할 수 없는 환경용.
- TransformStream으로 텍스트 분할 처리
ReadableStream과 TransformStream을 사용하여 긴 텍스트를 지정된 크기의 청크로 분할하는 TypeScript 구현 예제.
- TypeScript Non-null Assertion
undefined와 null을 제거하는 TypeScript 타입 가드 함수. 런타임 오류와 타입 안정성을 모두 보장한다.
- TypeScript에서 경량 Result 타입 구현
try-catch를 사용하지 않는 에러 핸들링 패턴. data와 error를 분리한 Result 타입으로 타입 안전하게 에러를 처리한다.
- Uint32Array 헬퍼 함수
`new Uint32Array` 호출을 간결하게 만드는 TypeScript 래퍼 함수입니다. 오버로드를 사용하여 생성자의 모든 인터페이스를 지원합니다.
- Uint8Array 헬퍼 함수
new Uint8Array 호출을 간결하게 만드는 TypeScript 래퍼 함수. 배열, ArrayBuffer, 길이 지정의 모든 패턴을 지원합니다.
- Uint8Array 합치기
여러 개의 Uint8Array를 하나로 병합하는 TypeScript 함수입니다. 바이너리 데이터 결합에 유용합니다.
- crypto.randomUUID의 Polyfill
crypto.randomUUID 함수의 폴리필 구현. 모든 브라우저에서 지원되므로 새로 구현할 필요는 없지만, UUID v4의 작동 원리를 배우기 위한 참고 자료로 유용하다.
- CloudFormation 템플릿에서 parameter.json 생성하기
aws cloudformation validate-template 과 jq 를 조합하여, 환경 변수를 반영한 parameters.json 을 자동 생성하는 스니펫.
- CSS href 속성 선택자 사용법
a 요소의 href 속성에 대해 전방 일치·후방 일치·부분 일치 등의 속성 선택자를 사용하는 CSS 스니펫.
- gzip 커맨드 치트시트
파일 압축·압축 해제·옵션 지정 등, gzip 커맨드의 기본적인 사용법을 정리한 스니펫.
- avifenc으로 이미지를 일괄 AVIF로 변환하기
jpg/jpeg/png 를 재귀적으로 탐색하여 avifenc 으로 .avif 로 변환하는 Bash 스니펫.
hsb.horse