기본 콘텐츠로 건너뛰기

추천 가젯

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

파이썬 decimal 모듈 완전 정복 💱

Decimal icon

파이썬 decimal 모듈 완전 정복 💱

decimal 모듈은 부동소수점의 오차 없이 정확한 소수 계산을 가능하게 해줍니다. 특히 금융, 과학 계산 등 정밀한 수치 처리가 필요한 상황에서 매우 유용합니다.

1. 기본 사용법과 `Decimal` 객체 생성

from decimal import Decimal

a = Decimal('0.1')
b = Decimal('0.2')
print(a + b)  # 0.3 (float가 아닌 정확한 결과)

2. 반올림과 정밀도 설정 (`getcontext`)

from decimal import Decimal, getcontext, ROUND_HALF_UP

getcontext().prec = 5  # 총 5자리 정밀도
getcontext().rounding = ROUND_HALF_UP

res = Decimal('1.23456') + Decimal('2.34567')
print(res)  # 3.5802 (정밀도와 반올림 방식 적용)

3. 금융 계산 등의 금액 표현

from decimal import Decimal

price = Decimal('19.99')
quantity = Decimal('3')
total = price * quantity
print(f"총 금액: {total}")  # 총 금액: 59.97

4. 비교와 정확한 나눗셈

from decimal import Decimal

d1 = Decimal('1') / Decimal('3')
d2 = Decimal('0.33333')
print(d1 == d2)  # False (정밀도 차이 인식)
print(d1.quantize(Decimal('0.00001')))  # 0.33333

요약

  • Decimal 객체를 사용해 정확한 소수 계산 가능
  • `getcontext()`를 통해 정밀도와 반올림 방식을 설정할 수 있음
  • 금융 계산이나 금액 표현에 적합
  • 정확한 비교, 양, 단위 계산에 효과적

댓글

가장 많이 본 글

Icons by Flaticon