기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 globals()와 locals()로 동적 변수와 네임스페이스 다루기

파이썬 globals()와 locals()로 동적 변수와 네임스페이스 다루기 🧠

globals()locals()는 파이썬의 네임스페이스(변수 저장소)에 접근할 수 있는 내장 함수입니다. 전역/지역 변수 확인은 물론, 동적으로 변수명을 만들거나 디버깅 시 유용하게 활용할 수 있어요.

Python namespace icon

✅ globals()로 동적 변수 만들기

변수 이름을 문자열로 생성하고, 해당 변수에 값을 동적으로 할당할 수 있습니다.

# globals()를 이용한 동적 변수 생성
for i in range(3):
    globals()[f"var_{i}"] = i * 10

print(var_0)  # 0
print(var_1)  # 10
print(var_2)  # 20

✅ locals()로 함수 내 지역 변수 확인

locals()는 현재 실행 중인 함수 내의 지역 변수 딕셔너리를 반환합니다.

# locals()는 함수 내부 지역 변수 접근
def demo():
    a = 10
    b = 20
    print(locals())

demo()
# 출력: {'a': 10, 'b': 20}

✅ globals() vs locals() 비교

전역과 지역 네임스페이스가 어떻게 구분되는지 확인해보세요.

# globals()와 locals() 비교
x = 100

def test():
    y = 200
    print("globals:", 'x' in globals())  # True
    print("locals:", 'y' in locals())    # False (함수 밖에서 호출됨)

test()

globals()는 전역 스코프의 딕셔너리를, locals()는 현재 컨텍스트의 지역 딕셔너리를 반환합니다. 이 함수를 적절히 활용하면 디버깅, 변수 추적, 동적 프로그래밍이 더욱 강력해져요!

모든 변수에는 그 자리가 있다. 그 자리를 꿰뚫어 보는 능력이, 더 강한 코드를 만든다. 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon