기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 isinstance() 함수로 타입 안전하게 검사하기

파이썬 isinstance() 함수로 타입 안전하게 검사하기 🧐

파이썬에서 어떤 값이 특정 타입인지 확인해야 할 때 isinstance() 함수는 매우 유용합니다. type() 함수와 달리 상속 관계까지 고려하여 더욱 안전한 타입 검사가 가능하죠.

타입 검사 아이콘

✅ 기본 사용법

값이 어떤 타입인지 True/False로 확인할 수 있어요.

# 기본 사용법
x = 10
print(isinstance(x, int))  # True
print(isinstance(x, str))  # False

✅ 리스트, 딕셔너리 타입 확인

자료형이 많을수록 isinstance는 더 강력해집니다.

# 리스트와 딕셔너리 타입 확인
data = [1, 2, 3]
config = {"debug": True}

print(isinstance(data, list))       # True
print(isinstance(config, dict))     # True

✅ 여러 타입 중 하나인지 확인하기

튜플을 사용하면 여러 타입 중 하나에 해당하는지도 확인할 수 있어요.

# 여러 타입 중 하나일 경우 검사
value = "hello"
print(isinstance(value, (int, float, str)))  # True

✅ 사용자 정의 클래스와 상속 관계 검사

isinstance()는 상속된 클래스까지 포함해서 검사합니다.

# 사용자 정의 클래스 타입 검사
class Animal:
    pass

class Dog(Animal):
    pass

a = Animal()
b = Dog()

print(isinstance(b, Animal))  # True (상속 포함)

정확한 타입 검사는 함수의 입력값을 확인하거나, 조건 분기 처리를 할 때 필수입니다. 특히 클래스 구조가 복잡한 프로젝트에서는 isinstance()의 존재가 큰 도움이 돼요!

코드를 안전하게 만드는 가장 쉬운 방법, 바로 타입을 명확히 인식하는 것부터 시작입니다. TechVerse는 오늘도 단단한 기초를 함께 쌓습니다. 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon