기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 logging 모듈 기초와 활용 📝

로그 파일 아이콘

파이썬 logging 모듈 기초와 활용 📝

애플리케이션의 동작을 기록하고 문제를 추적할 때 필수인 logging 모듈의 사용법을 단계별로 살펴봅니다.

1. 기본 설정과 로그 출력

import logging

# 기본 설정: INFO 레벨 이상의 메시지를 출력
logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s [%(levelname)s] %(message)s')

logging.debug("디버그 메시지(보통 보이지 않음)")
logging.info("앱이 시작되었습니다")
logging.warning("경고: 사용량이 높습니다")
logging.error("에러 발생!")
logging.critical("치명적 오류!")

2. 파일 핸들러와 포맷터 추가

import logging

logger = logging.getLogger("myapp")
logger.setLevel(logging.DEBUG)

# 콘솔 핸들러
console_h = logging.StreamHandler()
console_h.setLevel(logging.INFO)

# 파일 핸들러
file_h = logging.FileHandler("app.log", encoding="utf-8")
file_h.setLevel(logging.DEBUG)

# 포맷터
fmt = logging.Formatter('%(asctime)s [%(levelname)s] %(name)s: %(message)s')
console_h.setFormatter(fmt)
file_h.setFormatter(fmt)

logger.addHandler(console_h)
logger.addHandler(file_h)

logger.info("콘솔과 파일에 기록됩니다")
logger.debug("디버그 레벨은 파일에만 기록됩니다")

더 자세한 함수/클래스 기초는 함수 완전 정리를 참고하세요.

요약

  • basicConfig로 간단히 로그 레벨과 포맷을 설정할 수 있습니다.
  • 콘솔/파일 핸들러를 추가해 출력 대상을 다양화할 수 있습니다.
  • 포맷터로 로그 메시지 양식을 자유롭게 커스터마이징 가능합니다.

댓글

가장 많이 본 글

Icons by Flaticon