기본 콘텐츠로 건너뛰기

추천 가젯

리액트 + 비트(Vite)로 모바일 청첩장 만들기 — 2편

모바일 청첩장 시리즈 2편 · R2 갤러리 & Firebase 방명록 Cloudflare R2 · Functions Firebase Firestore 클라우드플레어 R2로 갤러리 저장하고, Firebase로 방명록 달기 안녕하세요, 병민입니다 🙌 1편에서 전체 흐름을 잡았고, 이번엔 사진 업로드/보관 과 방명록 을 연결합니다. 서버는 따로 없고 Cloudflare Pages 를 쓰고 있으니, Pages Functions (= 워커)로 R2에 사전서명 URL을 만들어주고, 프론트에서 그 URL로 바로 업로드하는 구조예요. 방명록은 Firebase DB로 간단·안전하게! 전체 그림 프론트(React) → /api/r2/upload 로 업로드용 URL 요청 → R2에 파일 PUT 프론트(React) → /api/r2/list 로 목록 요청 → 갤러리 렌더 프론트(React) → Firebase SDK로 방명록 작성/조회 1) R2 버킷 & Pages Functions 준비 Cloudflare 대시보드 > R2 > Create bucket (예: wedding-gallery ) 버킷 > Settings > CORS 에서 사이트 도메인 허용(예: https://*.pages.dev , 커스텀 도메인) Pages 프로젝트 > Settings > Functions 에서 R2 바인딩 추가: ...

파이썬 pathlib 모듈 입문 📁

Folder path icon

파이썬 pathlib 모듈 입문 📁

pathlib는 파일 시스템 경로를 문자열이 아닌 객체로 다룰 수 있게 해주는 강력한 모듈입니다. 경로 연산이 직관적이고 운영체제 간 호환성을 자동으로 보장합니다.

1. 기본 사용법과 Path 객체 생성

from pathlib import Path

p = Path('my_folder') / 'subfolder' / 'example.txt'
print(p)  # my_folder/subfolder/example.txt
print(p.exists())  # False (존재 여부)

2. 디렉터리 생성과 파일 읽기/쓰기

folder = Path('logs')
folder.mkdir(exist_ok=True)

file = folder / 'app.log'
file.write_text("앱 실행 기록\n", encoding='utf-8')
print(file.read_text(encoding='utf-8'))

3. 파일 정보 조회

print(file.name)       # app.log
print(file.stem)       # app
print(file.suffix)     # .log
print(file.parent)     # logs
print(file.stat().st_size, "bytes")

4. 디렉터리 내 파일 목록 순회

for child in folder.iterdir():
    print(child.name, "-", "디렉터리" if child.is_dir() else "파일")

요약

  • Path 객체로 경로를 안전하고 직관적으로 처리할 수 있습니다.
  • mkdir, write_text, read_text 등 메소드를 바로 사용 가능합니다.
  • 파일 정보 조회와 디렉터리 순회도 간결하게 작성할 수 있습니다.

댓글

가장 많이 본 글

Icons by Flaticon