기본 콘텐츠로 건너뛰기

추천 가젯

리액트 + 비트(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 바인딩 추가: ...

파이썬 *args와 **kwargs 완전 정리

파이썬 *args와 **kwargs 완전 정리 💡

파이썬 함수에서 *args**kwargs는 유동적으로 인자를 받을 수 있게 해주는 문법입니다. 다양한 상황에서 매우 유용하게 사용됩니다.

파이썬 가변 인자 아이콘

✅ *args: 여러 개의 위치 인자 받기

함수에 전달된 여러 개의 값을 튜플 형태로 처리할 수 있어요.

def greet(*args):
    for name in args:
        print("Hello,", name)

greet("Alice", "Bob", "Charlie")

✅ **kwargs: 키워드 인자 받기

이름이 지정된 인자들을 딕셔너리 형태로 받아옵니다.

def introduce(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

introduce(name="Alice", age=25, job="developer")

✅ *args와 **kwargs 함께 사용하기

def process(*args, **kwargs):
    print("Positional arguments:", args)
    print("Keyword arguments:", kwargs)

process(1, 2, 3, name="Alice", role="admin")

*args**kwargs는 라이브러리 설계나 다양한 함수 확장에서 매우 유용하게 쓰이니 꼭 익혀두세요!

함수의 유연함이 코드를 더 강력하게 만듭니다. TechVerse Home과 함께 제대로 배우는 파이썬 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon