본문으로 바로가기

[회고록] dental-notation 패키지 npm 배포

category 회고/회고록 2024. 7. 10. 13:03

dental-notation 패키지 npm 배포

치과에서 치아를 표기하는 대표적인 방법이 3개 있다.

  • FDI
  • Universal
  • Palmer

각 국가마다 사용하는 표기법은 다르다.
치과 관련 서비스를 구현하다보니 치아 번호를 편하게 다룰 수 있는 라이브러리가 있으면 좋겠다고 생각했다.
그래서 간단하게 구현하여 npm에 배포해보았다.

기능

기능은 총 2개 구현했다.

  • 각 치아 notation 별 변환
  • 치아 번호를 문자열로 변환

Notation 변환

국가별로 치아를 나타내는 방법은 모두 다르다.
위 문제를 해결하기 위해 국가별로 DB에 다르게 저장하고 코드에서 분기처리를 한다는 것은 쉽지 않다.
따라서 국가와 상관없이 DB에 1가지 notation 값만 저장을 해둔다.
그리고 나라별로 보여줄 때 해당 notation으로 변환하여 보여주는 방식을 사용한다.
위 방식으로 구현하려면 각 notation별 변환하는 함수가 필요하다.

치아 번호 문자열로 변환

치아 번호도 연속되는 숫자나 문자가 있다.
이걸 하나씩 보여주면 문자열이 굉징히 길어진다.
이걸 짧게 표시하는 방법이 각 notation 마다 다른데 이걸 구현하였다.

숫자로 표현하자면 아래 방식과 동일하다.

  • 1, 2, 3, 4, 5 : 1~5
  • 1, 2, 4, 5, 7, 8, 9 : 1~2, 4~5, 7~9

배운점

  • tsup을 활용하여 빠르게 TypeScript 라이브러리를 번들하는 방법
  • TypeScript 오버라이딩 활용 방법

위 중에서 2번째 TypeScript 오버라이딩 활용하는 방법을 배운 것이 많은 도움이 되었다.

결과물

• npm dental-notation
• dental-notation-docs

반응형

'회고 > 회고록' 카테고리의 다른 글

[회고록] 2023년 개발 회고  (0) 2024.01.16
[회고록] 2022년 회고  (0) 2023.01.24
[회고록] 2022년 6, 7월 회고록  (0) 2022.08.02
[회고록] 2022년 5월 회고록  (0) 2022.06.04
[회고록] 2022년 4월 회고록  (0) 2022.05.02