기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 random 모듈 완전 정복 🎲

Dice icon

파이썬 random 모듈 완전 정복 🎲

random 모듈은 난수 생성, 샘플링, 시드 고정 등 다양한 무작위 기능을 제공합니다. 테스트, 샘플링, 시뮬레이션 등 여러 상황에서 유용하게 활용할 수 있습니다.

1. 난수 생성: uniform, randint, random

import random

print(random.random())        # 0.0~1.0 사이 실수
print(random.uniform(10,20)) # 10~20 사이 실수
print(random.randint(1,6))   # 1~6 정수

2. 시드 고정으로 반복성을 보장

import random

random.seed(123)
print([random.randint(1,100) for _ in range(5)])  # 매번 같은 결과 출력

3. 리스트 섞기 및 샘플 뽑기

import random

arr = list(range(1,11))
random.shuffle(arr)             # 리스트 항목을 무작위 순서로 섞음
print(arr)

sample = random.sample(arr, 3)  # 중복 없이 3개 요소 추출
print(sample)

4. 가중치 기반 선택 및 확률 선택

import random

choices = ['가위','바위','보']
print(random.choice(choices))  # 한 개 랜덤 선택

weighted = random.choices(choices, weights=[1,2,1], k=5)
print(weighted) # 바위가 2배 확률로 더 자주 선택됨

요약

  • random(), uniform(), randint()로 다양한 난수 생성
  • seed()로 무작위 시드 고정하여 반복 실험 가능
  • shuffle(), sample()으로 리스트를 무작위로 섞거나 추출
  • choice()choices(weights)로 단순/가중 무작위 선택

댓글

가장 많이 본 글

Icons by Flaticon