| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- Flutter
- kotlin
- MCP
- 이모지메모
- 오늘의역사
- Linux
- DART
- 소울칼리버6
- 명언모음
- Firebase
- javascript
- FSM
- Gemini
- 명심보감
- Codex
- Freesound
- 파이썬
- 오픈소스
- ASMR
- 명언
- Android
- 장자명언
- gemini-cli
- 코틀린
- 좋은글필사하기
- 생성AI
- Coroutine
- AI
- Skills
- Today
- Total
목록Source code or Tip/python (11)
Vintage appMaker의 Tech Blog
cnvt.py 개발자 매뉴얼1. 사용목적cnvt.py는 터미널에서 실행하는 파일 변환 관리 프로그램이다. 실행하면 방향키로 조작하는 콘솔 메뉴가 표시되며, 다음 두 가지 기능을 제공한다.JPG 변환 폴더 감시: 지정한 폴더를 감시하다가 PNG, BMP, TIFF, TIF 파일이 생성되거나 변경되면 같은 위치에 JPG 파일로 자동 변환한다.PDF 변환: PDF 파일에 대각선 워터마크를 적용한 *_watermarked_no_print.pdf 파일을 만든 뒤, 각 페이지를 1.jpg, 2.jpg 형식의 JPG 이미지로 저장한다.주요 특징은 다음과 같다.Windows 콘솔 ANSI 색상 출력을 지원한다.마우스 없이 방향키, Enter, Esc, Backspace로 파일과 폴더를 선택한다.이미지 감시 기능은 wa..
PDF Watermark & JPG Converter 개발자 매뉴얼이 문서는 PDF 문서에 지정된 투명도와 텍스트로 워터마크를 삽입하고, 인쇄 및 복사 방지 설정을 적용한 후 각 페이지를 지정된 압축률의 JPG 이미지로 추출하는 자동화 도구(process_pdf.py)의 개발자 가이드입니다.1. 목적문서 보안 강화: PDF 파일의 모든 페이지 중앙에 반투명 대각선 워터마크를 삽입합니다.불법 유출 방지: 복사 및 인쇄 등의 사용자 권한을 제한(PDF Permission Flags 설정)하여 암호화된 PDF 문서를 생성합니다.웹 게시 및 경량화: 워터마킹된 PDF의 모든 페이지를 일괄적으로 80% 압축(조절 가능) 품질의 JPG 파일로 변환하여 보관 및 게시를 용이하게 합니다. 2. 소스코드 예제설명전체 소..
이미지 자동 변환 스크립트 개발자 매뉴얼본 문서는 지정된 디렉토리 내에 추가되는 이미지 파일(PNG, BMP, TIFF 등)을 실시간으로 감지하여 품질 80%의 JPG 파일로 자동 변환하는 watchdog_jpgconvt.py 스크립트의 사용 및 운용 가이드입니다.1. 목적실시간 이미지 포맷 최적화: 로컬 폴더에 새로 생성되거나 복사되는 PNG, BMP, TIFF 파일들을 감지하여 JPEG로 변환하고 웹 친화적인 용량(품질 80%)으로 압축하여 저장 공간을 효율화합니다.사용자 맞춤 경로 지원: 명령줄 매개변수(Argument)로 감시할 디렉토리 경로를 직접 전달받거나, 누락된 경우 입력을 받아 유동적인 작업 폴더 모니터링을 가능케 합니다.2. 소스코드 전체watchdog_jpgconvt.py의 전체 소스..
파이썬에서는 case문이 없다. 가끔 파이썬을 사용하다 case문이 없음을 기억해내며 당황스러울 때가 있다. 그 때마다 파이썬 딕셔너리와 함수를 이용한 function table 을 사용한다. function table은 c를 많이 사용하는 임베디드 환경이나 OS 레벨의 API를 구현할 경우, case문보다 더 많이 사용하는 기법이다. 함수를 배열로 관리하고 인덱스를 이용해 원하는 함수를 실행시킨다. def a(): print ("A") def b(): print ("B") def c(): print ("C") def nothing(): pass def ca(x): return { 0: a, 1: b, 2: c}.get(x, nothing) ca (1)() ca (2)() ca (3)() 여기서 유의할 ..
