v0.227.0
kanpic v0.227.0
v0.227.0
PROPER("o'neil") 이 "O'neil" 이었다
이름과 주소를 다듬으려고 쓰는 함수입니다. 그런데 낱말의 처음을 빈칸·탭·붙임표·
밑줄 뒤 로만 보았습니다.
=PROPER("o'neil") → O'neil 엑셀: O'Neil
=PROPER("76budget") → 76budget 엑셀: 76Budget
엑셀은 글자가 아닌 것이면 무엇이든 그 뒤를 낱말의 처음으로 봅니다. 따옴표도
숫자도 마침표도 글자가 아닙니다. 이제 unicode.IsLetter 하나로 같은 규칙을
씁니다.
| 값 | 예전 | 지금 |
|---|---|---|
o'neil |
O'neil | O'Neil |
76budGet |
76budget | 76Budget |
a.b c_d |
A.b C_D | A.B C_D |
빈칸과 붙임표 뒤는 예전에도 맞았습니다. 한글처럼 큰 글자가 없는 글자는 그대로
지나갑니다 — PROPER("서울시 gangnam-gu") 는 서울시 Gangnam-Gu 입니다.
아일랜드·이탈리아 성이 든 명단, 번지가 앞에 붙은 주소 — 옮겨 온 표가 어긋난
채로 조용히 저장돼 있었습니다. 틀렸다고 말하는 오류가 아니라 그냥 다른 글자라,
누가 눈으로 보기 전에는 알 수 없었습니다.
FIXED 와 ROUND 가 같은 표에서 다른 답을 냈다
자릿수가 음수면 소수점 왼쪽 에서 반올림합니다. ROUND 는 이미 그렇게 하고
있었는데 FIXED 와 DOLLAR 는 아니었습니다.
=ROUND(1234.567,-2) → 1200
=FIXED(1234.567,-2) → "1,235" ← 같은 자릿수, 다른 답
서식을 만드는 쪽이 음수 자릿수를 0 으로 깎아 버린 탓입니다. 백 단위로 끊어 보고
싶어서 -2 를 적었는데 원 단위가 그대로 나왔고, 옆 칸의 ROUND 와 숫자가
어긋났습니다. 어느 쪽이 맞는지는 아무 데도 적히지 않습니다.
반올림을 먼저 하고, 소수점 뒤에 적을 자리가 없으므로 그때 0 으로 적습니다.
| 식 | 지금 |
|---|---|
FIXED(1234.567,-2) |
1,200 |
FIXED(1250,-2) |
1,300 |
FIXED(-1234.567,-2) |
-1,200 |
FIXED(1234.567,-10) |
0 |
DOLLAR(1234.567,-2) |
₩1,200 |
양수 자릿수의 답은 그대로입니다.
받을 때마다 따라오던 18MB
ea6fd45 가 go test 가 남긴 workbook.test 실행 파일을 함께 담았습니다.
저장소를 받을 때마다 따라오고 도커 빌드 문맥에도 들어갔습니다. 지우고 *.test
를 무시 목록에 넣어 다시 담기지 않게 했습니다.
확인
internal/formula/library_extended_test.goTestProperCapitalisesAfterEveryNonLetter— 따옴표·숫자·마침표·밑줄 뒤가 모두 큰 글자가 되는지, 한글이 섞인 값도 그대로인지TestFixedAndDollarRoundLeftOfThePoint— 음수 자릿수에서FIXED·DOLLAR가ROUND와 같은 답을 내는지, 음수와 자릿수를 넘기는 값과 자리 구분 없는 형태까지
두 시험 모두 고치기 전 코드에서 실제로 실패하는 것을 확인했습니다.
오프라인 설치
이 릴리즈는 웹 자산과 서버 바이너리를 포함한 Docker 이미지 아카이브로 제공됩니다.
sha256sum -c kanpic-v0.227.0.tar.gz.sha256
gzip -dc kanpic-v0.227.0.tar.gz | docker load
docker run --rm -p 8080:8080 \
-e POSTGRES_DSN='postgres://kanpic:password@postgres.internal:5432/kanpic?sslmode=require' \
kanpic:v0.227.0- 필수 런타임 환경 변수:
POSTGRES_DSN - Redis 및 외부 인터넷 연결: 불필요
- 관리자 초기 로그인을 보호하려면
BOOTSTRAP_ADMIN_ID와BOOTSTRAP_ADMIN_PASSWORD를 함께 지정합니다. - 무결성 검증 파일:
kanpic-v0.227.0.tar.gz.sha256