기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 리스트 컴프리헨션 심화: 조건문과 중첩 사용법까지

파이썬 리스트 컴프리헨션 심화: 조건문과 중첩 사용법까지 🛠️

리스트 컴프리헨션은 파이썬 개발자의 생산성을 높여주는 대표적인 문법입니다. 이번에는 기본 사용법을 넘어, 조건문 추가와 중첩 for문까지 심화 내용을 함께 정리해보겠습니다.

리스트 컴프리헨션 아이콘

✅ 기본 리스트 컴프리헨션

리스트를 간결하게 생성하는 가장 기본적인 방법입니다.

# 기본 리스트 컴프리헨션
numbers = [x for x in range(5)]
print(numbers)  # [0, 1, 2, 3, 4]

✅ 조건문 추가하기

특정 조건을 만족하는 값만 리스트에 추가할 수 있습니다.

# 조건문 추가하기
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers)  # [0, 2, 4, 6, 8]

✅ 중첩 for문 사용하기

2차원 리스트를 1차원으로 평탄화하거나, 복잡한 데이터 구조를 간결하게 처리할 때 유용합니다.

# 중첩 for문 사용하기 (2차원 리스트 평탄화)
matrix = [[1, 2], [3, 4], [5, 6]]
flat = [num for row in matrix for num in row]
print(flat)  # [1, 2, 3, 4, 5, 6]

리스트 컴프리헨션은 간결한 코드 작성뿐만 아니라 가독성까지 크게 향상시킬 수 있습니다. 하지만 너무 복잡하게 중첩하면 오히려 읽기 어려워질 수 있으니, 적절한 균형을 유지하는 것이 중요합니다.

코드는 짧을수록 강력하다. 짧지만 명확한 코드를 작성하는 개발자로 성장해나가세요. TechVerse가 언제나 당신의 여정을 응원합니다 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon