만든 것공개

배포

남의 기계에 도구를 올리는 일이 도구를 만드는 일보다 어려웠습니다.

OK/NG

혼자 쓸 때는 없던 문제가 팀에 뿌리면서 전부 나왔다. 코드는 그대로인데 안 도는 기계가 생긴다.

셋업 문서 대신 셋업 스크립트

처음엔 안내 문서를 줬다. 그리고 이 위젯을 만든 이유와 똑같은 일이 벌어졌다 — 문서는 읽어야 하고, 아무도 안 읽는다.

그래서 셋업 스크립트를 만들었다. 돌리면 항목마다 OK / NG를 찍고, NG면 무엇을 어떻게 채워야 하는지 말한다. 전부 OK가 될 때까지 돌리면 된다.

문서에 “이 파일을 여기에 두세요”라고 적는 것과, 스크립트가 “이 파일이 없습니다”라고 말하는 것은 도달률이 다르다. 앞의 것은 읽는 사람이 자기 상태와 대조해야 하고, 뒤의 것은 대조가 이미 끝나 있다.

자격증명은 공유하지 않는다

팀원이 쓸 때 각자 자기 계정의 토큰을 넣는다. 공용 계정 하나로 돌리지 않는다.

그래서 시트 열람 권한이 없는 사람에게는 데이터가 안 뜬다. 이건 버그가 아니라 의도다 — 위젯이 볼 권한 없는 것을 보여주는 통로가 되면 안 된다.

공용 계정으로 만들었으면 셋업이 훨씬 쉬웠을 것이다. 토큰 하나 나눠 주면 끝이니까. 그런데 그렇게 하면 누가 무엇을 봤는지가 전부 그 계정 하나로 뭉개지고, 나중에 권한을 회수할 방법도 없다.

다만 개인별로 두면 셋업 단계가 하나 늘고, 그게 위의 스크립트가 필요했던 이유이기도 하다.

무엇이 공용이고 무엇이 개인인가

경계가 명확해야 안내가 짧아진다.

누가 주나
앱 인증 키 공용 — 한 번 받아서 쓴다
알림 · 배포 토큰 공용 — 팀 자원이라
이슈 트래커 계정 개인 — 본인 것
시트 열람 권한 개인 — 본인 계정에 있어야 한다

이 표를 문서 맨 앞에 두는 것만으로 질문이 절반 줄었다. 안 두면 “토큰 주세요”가 오는데, 어느 토큰인지가 안 붙어 있다.

그리고 공용 토큰은 저장소에 올리지 말라고 명시해 뒀다. 개인 설정 파일이 저장소 밖에 있어야 하는데, 안 적어 두면 편의상 같이 커밋하는 사람이 반드시 나온다.