/// LEARN · L2 안전장치 · 03

혼자 웹서비스 만들기 — 어디까지 맡기나

지금 보고 있는 이 사이트가 그 예다. 화면도 서버도 자료도 한 사람이 본다. 이럴 때 "다 맡기면 되지 않나" 싶지만, 실제로 해 보면 다 맡긴 것은 얼마 못 가 내가 못 고치는 것이 된다.

세 층으로 나눠 놓고 보기

층하는 일망가지면
겉 — 화면 보이는 쪽. 글·색·배치 보기 싫어진다. 새로고침이면 끝
속 — 서버 요청을 받아 답을 만든다 사이트가 안 뜬다. 되돌리면 산다
바닥 — 자료 쌓인 기록 · 파일 되돌릴 수 없다

맡기는 정도는 이 되돌릴 수 있는가 하나로 갈린다. 위로 갈수록 과감하게, 아래로 갈수록 조심스럽게.

맡기는 것 / 직접 보는 것

마음껏 맡겨도 되는 것

직접 봐야 하는 것

"이 폴더 통째로 공개" 는 사람이 판단한다

공개 폴더 안에 백업 파일이나 메모가 하나 섞여 들어가는 것은 아주 흔한 사고다. 그리고 한 번 공개된 것은 지워도 이미 늦다.

공개할 폴더는 필요한 것만 넣는 폴더로 따로 만든다. "빼는" 방식이 아니라 "넣는" 방식으로.

구조로 막아 두기

규칙을 외우는 대신 구조가 대신 막게 만들면 사람이 실수해도 사고가 안 난다. 이 사이트는 이렇게 되어 있다.

  1. 보이는 폴더는 읽기만 되게 붙인다. 서버가 그 폴더에 쓰려고 하면 아예 실패한다. "실수로 덮어쓰는 일" 자체가 불가능해진다.
  2. 쓰는 곳은 자료 폴더 하나뿐. 쓰기가 가능한 자리를 한 곳으로 몰아 두면, 백업할 곳도 한 곳이고 의심할 곳도 한 곳이다.
  3. 화면과 서버를 갈라 둔다. 서버가 죽어도 글이 있는 쪽은 그대로 뜬다. 뉴스 를 만들 때 이 구조 덕을 봤다 — 수집이 실패해도 이미 모은 것은 계속 보인다.
코드를 고쳤는데 반영이 안 될 때

혼자 만들 때 가장 자주 겪는 황당한 일이다. 분명히 고쳤는데 화면은 그대로다. 대개 원인은 셋 중 하나다 — ① 브라우저가 옛것을 기억하고 있다(강제 새로고침), ② 고친 파일이 실제로 쓰이는 파일이 아니다(사본을 고쳤다), ③ 다시 올리는 단계를 안 했다.

③이 제일 잘 걸린다. 화면 파일은 고치면 바로 반영되는데 서버 쪽은 다시 올려야 반영되는 구조라면, 그 차이를 모르는 채 30분을 쓴다. "어느 파일이 어떻게 반영되는지"를 한 번 적어 두면 그 30분이 사라진다.

다 됐다고 볼 조건

"됐습니다"를 받은 다음 사람이 확인하는 목록이다. 이 사이트는 이 네 가지를 본다.

본다어떻게
끊어진 링크가 없나 모든 쪽을 훑어 링크와 그림 주소가 실제로 열리는지 자동으로 확인
안 들어가야 할 낱말이 없나 정해 둔 낱말 목록으로 전체 문서를 훑는다
실제로 떠 있나 브라우저로 직접 연다. "코드가 맞다"와 "화면이 뜬다"는 다르다
되돌릴 수 있나 바꾸기 전 상태가 어딘가에 남아 있는지

앞의 둘은 명령 한 줄로 만들어 두었다. 문장으로 적힌 규칙은 잊히지만 명령으로 만들어 두면 안 잊는다 — L2·01 에서 한 이야기가 여기에도 그대로 적용된다.

혼자라서 더 중요한 것

여럿이 하면 남이 이상한 점을 짚어 준다. 혼자는 그게 없다. 그래서 사람 대신 장치를 둔다.

정리 — 세 줄

  1. 맡기는 정도는 되돌릴 수 있는가로 가른다. 화면은 과감하게, 자료는 조심스럽게.
  2. 규칙을 외우는 대신 구조가 막게 한다 — 읽기 전용, 쓰는 곳은 한 군데.
  3. 혼자일수록 확인을 명령으로 만들어 둔다. 봐 줄 사람이 없으니까.
해 볼 것 · 10분
  1. 만들고 있는 것을 겉(화면) · 속(서버) · 바닥(자료) 세 층으로 나눠 파일과 폴더를 적는다.
  2. 층마다 "망가지면 되돌릴 수 있나" 를 적는다. 바닥에 해당하는 곳이 어디인지 표시한다.
  3. 바깥에 공개되는 폴더를 열어 백업 파일·메모가 섞여 있지 않은지 본다.
확인 질문 눌러서 답 보기
맡기는 정도를 가르는 기준 하나는?

되돌릴 수 있는가. 화면은 과감하게, 자료는 조심스럽게.

공개 폴더를 만드는 올바른 방식은?

"빼는" 방식이 아니라 "넣는" 방식 — 필요한 것만 넣는 폴더를 따로 만든다.

분명히 고쳤는데 화면이 그대로다. 흔한 원인 셋은?

브라우저가 옛것을 기억 · 사본을 고쳤다 · 다시 올리는 단계를 안 했다.

다음 편은 이 확인의 방향에 관한 이야기다 — 문서를 읽는 것과 대상을 재는 것은 다르다.