기본기일하기 › 자료·저장·모든 프로젝트에 기본
기본기 (돈·날짜·한글·검사·정렬·바깥부름)
작동 중가격·날짜·한글을 저장하고 보여줄 때 생기는 어긋남을 한곳에서 막습니다. 어떤 사이트·업무도구에도 똑같이 필요한 바닥입니다.
사이트에서 바로 보기
화면 대신 명령으로 돌려 봅니다 (스캐폴딩/core 폴더에서):
npm test
※ 화면이 아니라 모든 화면이 쓰는 바닥입니다. 시험 45개가 지키고 있습니다.
지키는 규칙
- 돈은 원 단위 정수로만 저장하고 계산한다. 할인·환율 같은 곱셈은 계산 끝에 한 번만 끊는다.
- 부가세를 뗄 때 공급가와 세액을 따로 반올림하지 않는다 — 세액은 «합계 − 공급가» 로 구한다.
- 날짜는 세계표준시로 저장하고 한국시간으로 보여준다. 날짜만 필요하면 «2026-09-17» 글자로 넣는다.
- 화면에서 날짜를 직접 찍지 않는다 — 날짜값·시각값·보기날짜만 쓴다. 안 그러면 서버 위치에 따라 하루가 밀린다.
- DB 에 글자를 넣기 전에 다듬기(NFC 정규화)를 통과시킨다. 안 하면 맥에서 올린 한글이 검색에 안 걸린다.
- 사업자등록번호·카드번호는 자릿수가 아니라 검산식으로 확인한다.
- 목록을 그냥 sort 하지 않는다 — 가나다순을 쓴다(한글 차례·«파일2 < 파일10»·빈 칸은 맨 뒤).
- 남의 서버를 부를 때는 재시도와 시간제한을 건다. 🔴 단, 돈이 오가는 부름(결제 승인·환불)에는 재시도를 쓰지 않는다.
쓰는 부품
- lib/돈.tsDB 기능
- lib/날짜.tsDB 기능
- lib/글자.tsDB 기능
- lib/검사.tsDB 기능
- lib/정렬.tsDB 기능
- lib/재시도.tsDB 기능
- lib/표기.tsDB 기능
우리 뼈대 안의 자리: src/lib/돈.ts · 날짜.ts · 글자.ts · 검사.ts · 정렬.ts · 재시도.ts · 표기.ts
마법사에서 언제 들어가나
어떤 프로젝트를 고르든 기본으로 들어갑니다.
이 뭉치의 급
기본기무엇을 만들든 항상 들어간다. 고를 필요가 없다.