기본 콘텐츠로 건너뛰기

추천 가젯

리액트 + 비트(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": ...

파이썬 try-except-else-finally 구문 완전 정복

파이썬 try-except-else-finally 구문 완전 정복 🛡️

파이썬의 try-except 구문은 에러를 잡을 때 필수적입니다. 하지만 여기에 elsefinally를 함께 사용하면 정상 처리와 리소스 정리까지 깔끔하게 다룰 수 있어요!

Python error handling icon

✅ 기본 try-except 사용

에러가 발생했을 때, except 블록으로 안전하게 넘어갑니다.

# 기본 try-except
try:
    result = 10 / 0
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

✅ try-except-else 사용

예외가 발생하지 않은 경우에만 else 블록을 실행합니다.

# try-except-else
try:
    result = 10 / 2
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")
else:
    print("정상적으로 계산되었습니다:", result)

✅ try-except-finally 사용

에러 발생 여부와 상관없이 finally 블록은 항상 실행됩니다. 주로 리소스 정리(cleanup)에 사용합니다.

# try-except-finally
try:
    file = open('sample.txt', 'r')
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
else:
    content = file.read()
    print(content)
finally:
    print("파일 닫기 시도")
    try:
        file.close()
    except:
        pass

try-except-else-finally 구조를 적절히 활용하면 코드의 안정성과 가독성을 모두 높일 수 있습니다. 특히 파일 열기, 데이터베이스 연결, 네트워크 통신 등에서는 필수예요!

에러를 잘 다루는 개발자가 진짜 프로다. try-except-else-finally를 자유자재로 다루는 순간, 당신의 코드 품질이 달라진다. 🚀

Icons by Flaticon

댓글

가장 많이 본 글

Icons by Flaticon