AI, 클라우드, 문서, 자동화 24

*, **, *args, **kwargs, *rest, :=, List Comprehension and Ternary Operator 등 정리

파이썬 코딩 및 프레임워크(OpenAI SDK, FastAPI, Django 등) 활용 시 필수적인 언패킹 및 고급 대입 연산자 5가지 및 파이썬 코드를 획기적으로 줄여주고 가독성을 높여주는 리스트 컴프리헨션(List Comprehension)과 삼항 연산자(Ternary Operator)를 쉽게 이해할 수 있도록 예제와 함께 정리합니다. 1. * (iterable 언패킹 연산자)리스트, 튜플, 세트 등의 순서가 있는 자료형(Iterable) 내부 요소를 하나씩 밖으로 풀어헤칠 때 사용합니다.# 1) 리스트/튜플 병합fruits = ["apple", "banana"]veggies = ["carrot", "cucumber"]# 기존 방식을 대체하는 깔끔한 병합basket = [*fruits, "grape"..

'간단한 메모장'의 Privacy Policy

1. 개인정보 처리방침이란?'간단한 메모장'은 이용자의 동의를 기반으로 개인정보를 수집, 이용 및 제공하고 있으며, 이용자의 권리 (개인정보 자기결정권)을 적극 보장합니다. '간단한 메모장'은 정보통신서비스제공자가 준수하여야 하는 대한민국의 관계 법령 및 개인정보보호 규정, 가이드라인을 준수하고 있습니다. “개인정보처리방침”이란 이용자의 소중한 개인정보를 보호함으로써 이용자가 안심하고 서비스를 이용할 수 있도록 '간단한 메모장'이 준수해야 할 지침을 의미합니다. 본 개인정보처리방침은 '간단한 메모장'이 제공하는 앱에 적용됩니다. 2. 개인정보 수집 서비스 제공을 및 신규 서비스 개발을 위해 개인정보를 수집하고 있습니다. 수집하는 항목은 다음과 같습니다. 이메일, 비밀번호, 이름, 닉네임 2.1. 개..

간단한 Word 자동화 프로그램, 다산 정약용의 유배지에서 보낸 편지

다산 정약용 선생님의 '유배지에서 보낸 편지'의 주요 문구를 정리하고 나름의 해석을 붙인 문서를 만든 다음, 원문 부분을 '기울임꼴'과 '파랑'으로 적용하고자 했습니다(아래 이미지 참조). 전체가 68개 항목이므로, 68번의 반복되는 수작업을 대신하, 간단한 Word 자동화 프로그램을 파이썬으로 구현하여 0.1초만에 정리를 한 코드입니다. from docx import Documentfrom docx.shared import RGBColor# 워드 문서 열기doc = Document(r"C:\Users\user\Desktop\dasan_input.docx")# 플래그: '가. 원문 인용'을 만난 뒤 다음 문단을 수정하기 위해 사용mark_next = False for para in doc.paragra..

ExifTool, 다양한 파일의 Metadata를 다루는 강력한 Tool 정리

ExifTool은 사진·영상·문서 파일 등 다양한 파일의 메타데이터(metadata) 를 다룰 수 있는 세계적으로 가장 강력한 툴 중 하나라고 합니다. 사진 파일에서 "찍은 날짜"를 불러오고 싶다 등의 작업을 할때, 사실 ExifTool이 그러한 작업에 있어서 표준이자 최강자라고 할 수 있습니다. 아래에 상세히 정리합니다.1. ExifTool이란 무엇인가?개발자: Phil Harvey (캐나다 출신 엔지니어, 오픈소스로 공개)형식: 명령줄(command line) 기반의 프로그램주요 기능:사진, 동영상, PDF, 오디오 등 130가지 이상의 파일 포맷 지원읽기(Read): 파일에 저장된 모든 메타데이터 확인 가능쓰기(Write): 메타데이터 수정/삭제/추가 가능변환(Convert): 특정 메타데이터를 기..

간단한 번역 프로그램, 파일로 저장하기

아주 간단합니다. 다만, googletrans의 최신 버전은 내부적으로 비동기 함수를 사용하기 때문에, translator.translate() 호출 시 await를 사용하지 않으면 coroutine 객체가 반환됩니다. 그러므로, await 문법을 사용하지 않는 googletrans의 구버전(4.0.0-rc1)을 설치하여 번역 프로그램을 만들수도 있습니다. 1단계: async와 await 사용 비동기 방식을 사용하기 위해, asyncio 라이브러리를 사용하여 코드를 비동기적으로 실행해야 합니다. import googletransimport asyncio # asyncio 라이브러리 추가async def main(): """ 비동기 방식으로 번역을 실행하는 메인 함수 """ tra..

당황하지 말자, 기억나지 않는 문서 암호/비밀번호 찾기(2)

파이썬에서는 multiprocessing 모듈을 이용해서 여러 코어에서 동시에 조합을 시도할 수 있습니다. 다만, 비밀번호 크래킹을 단순 brute-force(완전 탐색)로만 하면 경우의 수가 기하급수적으로 커져서 사실상 현실적으로 풀기 힘들어집니다. 그래서 실제 보안 연구나 해킹 실무에서는 여러 현대식 접근 방식이 사용되는데, 아래 코드 하단에 정리합니다. 2. 멀티코어 병렬처리, 비밀번호 찾기 (ZIP + MS Office) import itertoolsimport zipfileimport msoffcryptoimport ioimport osimport multiprocessing as mpclass PasswordCracker: """ 다양한 조합으로 비밀번호를 추측하여 ZIP, DOC..

당황하지 말자, 기억나지 않는 문서 암호/비밀번호 찾기(1)

본인이 작성한 오피스(워드, 엑셀, 파워포인트)나 집파일에 암호를 걸어두고, 시간이 지나 비밀번호가 생각나지 않을때가 종종 있어 난처한 경우가 발생합니다. 이때, 시간 여유가 많이 있고 또한 아주 간단한 암호를 설정했다면 '단순 brute-force(무차별 대입) 방식'을 시도해 볼 수 있습니다. (*암호화된 파일을 분실한 경우, 개발사에서도 암호를 복구해 주지 않는 것으로 알고 있습니다. 사본/이전본을 찾는 게 현실적인 해법입니다. 추가로, 본문 하단에 암호분실을 대비한 예방팁을 정리하였습니다.)ZIP 파일zipfile 모듈로 열 수 있고, extractall(pwd=...) 같은 방식으로 비밀번호 검증 가능.MS Office (ppt, pptx, doc, docx, xls, xlsx 등)pptx/do..

내부 IP & 외부 IP 조회(함수, 클래스까지 정리)

1. 내부 IP & 외부 IP socket + getsockname() → 내부 IP 확인urllib 또는 http.client + api.ipify.org → 외부 IP 확인### ===== 내부 IP 확인 =====import socket # 네트워크 소켓 통신을 위한 표준 라이브러리import urllib.request # HTTP 요청을 보낼 수 있는 표준 라이브러리import json # JSON 형식 데이터를 파싱하기 위한 라이브러리import ssl # SSL 인증서 처리 라이브러리in_addr = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # TCP 소켓 객체 생성 (IPv4, T..

언제 어떤 이미지 파일을 쓸까. PNG, JPEG, TIF, GIF 등

이미지 파일 형식의 기본 개념이미지 파일 형식은 디지털 이미지를 컴퓨터에 저장하는 방식에 따라 나뉩니다. 크게 압축 방식과 색상 정보 저장 방식이 중요한 기준이 됩니다.손실 압축 (Lossy Compression): 파일 크기를 줄이기 위해 일부 데이터를 영구적으로 제거합니다. JPEG가 대표적이며, 압축률이 높지만 원본 이미지의 품질이 손실됩니다.비손실 압축 (Lossless Compression): 압축 후에도 원본 데이터를 완벽하게 보존합니다. PNG, GIF, TIF가 여기에 속하며, 압축률은 낮지만 이미지 품질을 유지할 수 있습니다.이제 각 파일 형식을 자세히 살펴봅니다.1. JPEG / JPG (Joint Photographic Experts Group)기술 및 특성:손실 압축 방식을 사용합니..

VS Code에서 API 키 관리 방법: 시스템 환경 변수 vs .env 파일

애플리케이션 개발 시 API 키와 같은 민감한 정보는 소스 코드에 직접 작성하지 않고 안전하게 관리하는 것이 매우 중요합니다. VS Code에서 Python을 사용할 때, API 키를 관리하는 가장 일반적인 두 가지 방법인 시스템 환경 변수와 .env 파일에 대해 단계별로 상세히 정리합니다.[ 방법 1: 시스템 환경 변수에 API 키 저장 및 사용 ]시스템 환경 변수는 운영 체제 전체에서 접근할 수 있는 전역 변수입니다. 이 방법을 사용하면 한 번만 설정하면 해당 컴퓨터의 모든 프로그램에서 API 키를 사용할 수 있습니다.단계 1: 시스템 환경 변수에 API 키 설정하기a) Windows (PowerShell 사용)PowerShell을 관리자 권한으로 실행합니다. 시작 메뉴에서 powershell을 검색..