Skip to content
isdnetworks
Go back

언어판마다 다른 문서 목록

외부 서비스 문서를 보고 연동을 만들면서 필요한 기능이 없다고 판단했다. 한국어 문서의 목차 열두 항목을 훑었는데 찾던 것이 없어서 다른 방법을 만들었고 우회하는 데 이틀이 걸렸다.

Table of contents

Open Table of contents

판마다 다른 목차

나중에 영문 문서를 열어 보니 목차가 열여덟 항목이었다. 여섯이 더 있었고 그중에 내가 찾던 기능이 있었다.

번역이 안 된 것이었고 최신 기능일수록 영문에만 있었다. 한 판만 보고 없다고 판단한 것이 이틀을 만든 원인이었다.

목차 대조와 규격 파일

그 뒤로는 두 판의 목차를 뽑아 차집합을 냈다. 영문에만 있는 항목이 바로 드러난다.

$ curl -s https://docs.example.com/en/ | grep -oE '<a href="[^"]*">' | sort > en.txt
$ comm -13 ko.txt en.txt

문서가 규격 파일로 제공되는 곳도 있어서 그쪽이 있으면 그것을 기준으로 삼았다. 경로와 메서드를 한 번에 뽑을 수 있고 문서보다 최신인 경우도 있어서 문서에 없는 대량 등록 경로가 규격에는 있었다. 다만 규격에 있다고 실제로 되는 것은 아니어서 시험 환경에서 한 번씩 확인했다.

같은 항목의 다른 내용

목차가 같아도 내용이 갈리는 경우가 있었다. 한 항목의 상한이 한국어에서는 100건인데 영문에서는 500건이었고 변경 시점까지 적혀 있었다.

어느 쪽을 믿을지는 갱신 날짜로 갈랐다. 응답 헤더의 최종 수정 시각을 두 판에서 각각 받아 비교하니 한국어판이 넉 달 뒤처져 있었고 오래된 쪽을 믿지 않았다. 문서가 갈리면 최종 판정은 실제 호출로 했고 200건을 실제로 보내니 받아들여져서 영문 쪽이 맞았다.

확인한 것은 우리 문서에 적었다. 경로와 실측 결과와 함께 한국어 문서에는 이 기능이 없으니 영문과 규격을 보라는 것까지 남겨서 다음 사람이 같은 이틀을 쓰지 않게 했다.

문서에 없는 응답 필드

규격과 문서를 다 봐도 안 나오는 것도 있었다. 응답에 어디에도 설명이 없는 필드가 하나 섞여 왔다.

상대에게 물어보니 내부용이고 곧 없어질 것이라고 해서 쓰지 않기로 했다. 문서에 없는 것을 쓰면 상대가 없앨 때 조용히 깨지기 때문이다.

받은 응답에 모르는 필드가 있으면 로그에 남기는 코드를 넣어 뒀다. 새 필드가 생기는 것을 이것으로 알았는데 문서 갱신보다 응답이 먼저 바뀌는 경우가 실제로 있었다.

정리


Share this post on:

Previous Post
플랫폼마다 다른 식별자 타입
Next Post
값 하나에 테이블 여섯