Skip to content

v0.227.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 05:39
· 56 commits to main since this release

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 입니다.

아일랜드·이탈리아 성이 든 명단, 번지가 앞에 붙은 주소 — 옮겨 온 표가 어긋난
채로 조용히 저장돼 있었습니다. 틀렸다고 말하는 오류가 아니라 그냥 다른 글자라,
누가 눈으로 보기 전에는 알 수 없었습니다.

FIXEDROUND 가 같은 표에서 다른 답을 냈다

자릿수가 음수면 소수점 왼쪽 에서 반올림합니다. ROUND 는 이미 그렇게 하고
있었는데 FIXEDDOLLAR 는 아니었습니다.

=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

ea6fd45go test 가 남긴 workbook.test 실행 파일을 함께 담았습니다.
저장소를 받을 때마다 따라오고 도커 빌드 문맥에도 들어갔습니다. 지우고 *.test
를 무시 목록에 넣어 다시 담기지 않게 했습니다.

확인

  • internal/formula/library_extended_test.go
    • TestProperCapitalisesAfterEveryNonLetter — 따옴표·숫자·마침표·밑줄 뒤가 모두 큰 글자가 되는지, 한글이 섞인 값도 그대로인지
    • TestFixedAndDollarRoundLeftOfThePoint — 음수 자릿수에서 FIXED·DOLLARROUND 와 같은 답을 내는지, 음수와 자릿수를 넘기는 값과 자리 구분 없는 형태까지

두 시험 모두 고치기 전 코드에서 실제로 실패하는 것을 확인했습니다.

오프라인 설치

이 릴리즈는 웹 자산과 서버 바이너리를 포함한 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_IDBOOTSTRAP_ADMIN_PASSWORD를 함께 지정합니다.
  • 무결성 검증 파일: kanpic-v0.227.0.tar.gz.sha256