기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 hasattr(), getattr(), setattr() 함수 완전 정복

파이썬 hasattr(), getattr(), setattr() 함수 완전 정복 🧠

파이썬에서는 객체의 속성을 동적으로 제어할 수 있는 유용한 함수들이 있습니다. hasattr(), getattr(), setattr()를 활용하면 보다 유연하고 확장 가능한 코드를 작성할 수 있어요.

Python object attribute icon

✅ 예제 클래스

# 예시 클래스 정의
class User:
    def __init__(self, name):
        self.name = name

user = User("Alice")

✅ hasattr() — 속성 존재 확인

# hasattr: 속성 존재 여부 확인
print(hasattr(user, 'name'))   # True
print(hasattr(user, 'email'))  # False

✅ getattr() — 속성 값 가져오기

# getattr: 속성 값 가져오기
print(getattr(user, 'name'))             # Alice
print(getattr(user, 'email', 'N/A'))     # N/A (기본값 설정)

✅ setattr() — 속성 동적 설정

# setattr: 속성 값 동적 설정
setattr(user, 'email', 'alice@example.com')
print(user.email)  # alice@example.com

이 함수들을 활용하면 동적인 속성 관리가 쉬워지고, 리플렉션(reflection) 기반 설계나 커스터마이징 기능에도 유용합니다.

유연한 객체 제어의 시작, 속성을 다룰 줄 아는 개발자는 한 단계 더 성장한 개발자입니다. 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon