기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 contextlib 모듈 완전 정복 🧰

Context management icon

파이썬 contextlib 모듈 완전 정복 🧰

contextlib 모듈은 컨텍스트 매니저를 보다 간결하고 효율적으로 작성할 수 있도록 도와주는 유용한 도구입니다. 이 모듈을 활용하면 자원 관리를 보다 명확하게 할 수 있습니다.

1. @contextmanager: 간단한 컨텍스트 매니저 작성

from contextlib import contextmanager

@contextmanager
def open_file(name, mode):
    f = open(name, mode)
    try:
        yield f
    finally:
        f.close()

with open_file('test.txt', 'w') as f:
    f.write('Hello, world!')

2. closing: 종료가 필요한 객체를 컨텍스트 매니저로 사용

from contextlib import closing
from urllib.request import urlopen

with closing(urlopen('http://example.com')) as page:
    for line in page:
        print(line)

3. suppress: 특정 예외 무시하기

from contextlib import suppress

with suppress(FileNotFoundError):
    os.remove('somefile.tmp')

4. redirect_stdout: 출력 리디렉션

from contextlib import redirect_stdout

with open('output.txt', 'w') as f:
    with redirect_stdout(f):
        print('This will go into the file')

요약

  • @contextmanager를 사용하여 간단하게 컨텍스트 매니저를 작성할 수 있습니다.
  • closing을 통해 종료가 필요한 객체를 with 문과 함께 사용할 수 있습니다.
  • suppress를 사용하면 특정 예외를 무시할 수 있습니다.
  • redirect_stdout를 활용하여 출력 결과를 파일 등으로 리디렉션할 수 있습니다.

댓글

가장 많이 본 글

Icons by Flaticon