Rust의 `image` 크레이트, 이미지 크기 조정에 EXIF 방향 지원 추가

2025-09-13
Rust의 `image` 크레이트, 이미지 크기 조정에 EXIF 방향 지원 추가

Rust의 이미지 처리 크레이트인 `image`가 v0.25.8 버전을 출시하면서 EXIF 방향 데이터 지원을 추가했습니다. 이로써 이미지 크기 조정 시 방향이 무시되어 회전되거나 뒤집힌 썸네일이 생성되는 일반적인 문제가 해결됩니다. 새로운 `apply_orientation` 함수는 크기 조정 전에 이미지 방향을 수정하여 썸네일이 원본과 일치하도록 합니다. 카메라나 스마트폰의 이미지를 처리할 때 특히 유용하며, 이미지 정렬 문제를 해결합니다.

더 보기
개발

SQLite 데이터베이스 복사 속도 향상: 텍스트 덤프 비법

2025-05-01
SQLite 데이터베이스 복사 속도 향상: 텍스트 덤프 비법

저자는 큰 SQLite 데이터베이스를 복사할 때 인덱스 파일 크기 때문에 속도 병목 현상을 겪었습니다. 데이터베이스를 텍스트 파일(.dump 명령어 사용)로 덤프한 다음 gzip으로 압축하여 파일 크기를 크게 줄이고 복사 속도를 높이는 방법을 발견했습니다. 3.4GB 데이터베이스를 직접 복사하는 것과 비교하여 이 방법은 파일을 240MB로 압축하여 14배의 속도 향상을 달성했습니다. 또한 이 방법은 복사 중 업데이트로 인한 데이터베이스 손상 문제를 방지하여 안정성을 높입니다.

더 보기

GitHub Actions 보안 위험: 변경 가능한 태그 취약성

2025-03-25
GitHub Actions 보안 위험: 변경 가능한 태그 취약성

최근 tj-actions/changed-files GitHub Actions에 보안 취약성이 발견되었습니다. 변경 가능한 Git 태그를 조작하여 공격자는 악성 코드를 주입하고 공개 저장소의 공개 빌드 로그에서 시크릿 정보를 유출할 수 있었습니다. 이 글의 저자는 사용 중인 GitHub Actions를 확인하기 위한 셸 스크립트를 공유하고, 보안 강화를 위해 불변의 커밋 ID를 사용하는 것이 중요함을 강조합니다. 스크립트는 워크플로 YAML 파일에서 액션을 식별하고 계산하며, 대규모 조직의 액션이나 직접 작성한 스크립트를 신뢰할 수 없는 것보다 우선시합니다. 저자는 대규모 조직의 액션을 우선 사용하고 가능하면 직접 스크립트를 작성할 것을 권장합니다.

더 보기
개발