기본 콘텐츠로 건너뛰기

추천 가젯

리액트 + 비트(Vite)로 모바일 청첩장 만들기 — 1편

모바일 청첩장 시리즈 1편 · 기획/스택/배포 리액트 + 비트(Vite)로 모바일 청첩장 만들기 — 1편 안녕하세요, 이번에 결혼 준비를 하면서 여자친구와 같이 모바일 청첩장 을 만들고 있어요. 여자친구가 디자인을 해서 전달해주면 제가 개발을 진행하고 있어요. 이 글은 구현기 1편 으로, 전체 흐름과 스택, 배포 구성까지 “부담 없이” 훑어봅니다. (코드는 여러 버전 테스트 중!) 이 글에서 보는 것 왜 SPA 모바일 청첩장인가? 기본 스택 & 폴더 구조 라우팅 선택: HashRouter가 편한 이유 Cloudflare Pages로 자동 배포 현재 진행 중인 UI 버전들(테스트 기록) 1) 왜 SPA 모바일 청첩장인가? 모바일 청첩장은 핵심이 명확해요. 가볍고 빠르고 끊김이 없어야 하고, 사진/지도/일정이 터치에 친화적 이어야 합니다. 그래서 React + Vite 로 싱글 페이지 앱(SPA)을 구성했고, 정적 호스팅(CDN)인 Cloudflare Pages 에 올려 GitHub 푸시 → 자동 배포 까지 한 번에 묶었습니다. UX 팁 · 이미지 WebP, loading="lazy" 기본 · 큰 터치 타깃 · BGM은 “사용자 탭 후” 재생(모바일 정책) 2) 기본 스택 & 폴더 구조 서버는 따로 두지 않았고, 정적 빌드 결과물( dist/ )만 올립니다. 현재 의존성은 아래와 같아요. package.json(요약) { "name": ...

파이썬 setdefault() 함수로 딕셔너리 안전하게 다루기

파이썬 setdefault() 함수로 딕셔너리 안전하게 다루기 🔒

setdefault()는 파이썬 딕셔너리에서 자주 사용하는 유틸리티 함수입니다. 키가 존재하지 않을 경우 지정한 기본값으로 초기화한 뒤 그 값을 반환해줘요.

Python setdefault dict icon

✅ setdefault() 기본 사용법

# setdefault() 기본 사용법
data = {}
data.setdefault('name', 'Unknown')
print(data)  # {'name': 'Unknown'}

✅ 키가 이미 존재하면 변경하지 않음

# 키가 이미 있으면 덮어쓰지 않음
data = {'name': 'Alice'}
data.setdefault('name', 'Bob')
print(data)  # {'name': 'Alice'}

✅ 안전한 카운팅 로직 만들기

# 리스트 초기화 없이 안전하게 append하기
counter = {}
for item in ['apple', 'banana', 'apple']:
    counter.setdefault(item, 0)
    counter[item] += 1

print(counter)  # {'apple': 2, 'banana': 1}

✅ 리스트 초기화 없이 append 처리

# defaultdict 없이도 동일한 효과 가능
words = ['cat', 'dog', 'cat']
group = {}
for word in words:
    group.setdefault(word, []).append('✓')

print(group)  # {'cat': ['✓', '✓'], 'dog': ['✓']}

setdefault()를 알면 복잡한 if 문 없이도 딕셔너리를 유연하게 다룰 수 있어요. 초기화와 동시에 값을 가져오므로 defaultdict가 없을 때도 충분히 강력하게 활용할 수 있습니다.

딕셔너리는 생각보다 똑똑하다. setdefault() 하나로 더 깔끔한 코드를 만들어보세요. 🧠

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon