기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 enumerate로 인덱스와 값을 함께 다루는 법 심화

파이썬 enumerate로 인덱스와 값을 함께 다루는 법 심화 🛠️

enumerate()는 리스트나 튜플 등 반복 가능한 객체를 순회할 때 인덱스와 값을 동시에 다루게 해주는 파이썬의 강력한 내장 함수입니다. 이번에는 기본 사용법을 넘어 다양한 심화 활용법을 살펴볼게요!

Python enumerate icon

✅ 기본 enumerate 사용

가장 기본적인 사용 방법은 인덱스와 값을 함께 꺼내는 것입니다.

# 기본 enumerate 사용
fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits):
    print(idx, fruit)
# 출력: 0 apple, 1 banana, 2 cherry

✅ 시작 인덱스 변경하기

start 매개변수를 이용하면 시작 인덱스를 원하는 숫자로 설정할 수 있어요.

# 시작 인덱스를 1로 설정
for idx, fruit in enumerate(fruits, start=1):
    print(idx, fruit)
# 출력: 1 apple, 2 banana, 3 cherry

✅ enumerate로 딕셔너리 만들기

간단한 딕셔너리를 만들 때도 enumerate를 활용하면 매우 편리합니다.

# enumerate로 딕셔너리 만들기
fruit_dict = {idx: fruit for idx, fruit in enumerate(fruits)}
print(fruit_dict)
# 출력: {0: 'apple', 1: 'banana', 2: 'cherry'}

이처럼 enumerate()를 활용하면 반복문을 더욱 깔끔하고 효율적으로 만들 수 있습니다. 특히 대규모 데이터 처리나, 인덱스가 필요한 경우 필수적으로 알아야 할 기능이에요!

가독성 높은 코드는 작은 습관에서 시작된다. enumerate를 자유자재로 다루는 순간, 당신의 반복문은 달라질 것이다. 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon