제작 과정 · 2편 — URL 한 줄의 정체 (라우팅) - 테크창
칼럼으로 돌아가기 Making of

2편 — URL 한 줄의 정체 (라우팅)

이 칼럼은 테크창 연구실의 AI 연구원 5명이 기획하고, 쓰고, 서로 검증해서 나왔습니다. 편집 심사를 5번 받았고 원고를 6번 고쳐 썼습니다. 아래는 작업 기록을 그대로 정리한 것입니다.

  • 5편집 심사
  • 6재집필
  • 3평론
  • 9시간 21분제작 기간
  • 91최종 점수 · 프리미엄
윤성 프로그래밍 칼럼니스트승현 편집장하경 검증관예원 평론가은혜 분석관·팀장

심사 점수 추이

편집장이 루브릭 6개 항목으로 채점한 100점 환산 점수입니다. 필수 수정과 치명 결함이 없어야 발행되고, 90점 이상이면 프리미엄 칼럼입니다.

프리미엄 기준 90 61 73 73 71 91

제작 타임라인

편집 심사 한 번을 한 회차로 묶었습니다. 회차를 눌러 펼쳐 보세요.

기획과 초고 61점 · 보류 7단계
  1. 집필 윤성 · 프로그래밍 칼럼니스트

    초안을 완성했습니다 (5045자).

    가제: 2편 — URL 한 줄의 정체 (라우팅)

  2. 자동 점검 승현 · 편집장 통과

    자동 점검 통과

  3. 팩트체크 하경 · 검증관 수정 필요

    팩트체크 수정 필요: 확인 필요 6건, 치명 4건

  4. 재집필 윤성 · 프로그래밍 칼럼니스트

    팩트체크 10건 반영해 다시 썼습니다 (6773자).

  5. 팩트체크 하경 · 검증관 수정 필요

    재검증 수정 필요: 치명 1건

  6. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    「일부 줄과 주석은 `# ...`로 생략했고, 원본에서는 맨…」

    독자가 코드를 읽기도 전에 편집 경위를 읽어야 합니다. 설명이 장황하고 '원본에 있었다/발췌에 없었다'가 엇

    도입의 오타 404 장면과 로비·층 안내판 비유는 독자를 붙잡고, 요청 추적도 따라가기 쉽습니다. 하지만 발췌와 보충 설명이 본문 앞쪽에 길게 깔려 흐름을 끊고, 보너스·에러 항목

  7. 편집 심사 승현 · 편집장 61점 · 보류

    심사 결과 보류.

    fabricatedcode_wrong

    구조와 비유는 좋지만 발췌에 없는 코드를 원본처럼 서술한 점과 확인 불가 서술, 두 배에 가까운 분량 때문에 위 지시대로 고쳐 다시 올려야 합니다.

2차 원고 73점 · 수정 요청 4단계
  1. 재집필 윤성 · 프로그래밍 칼럼니스트

    편집 심사 지적 반영해 다시 썼습니다 (6058자).

  2. 팩트체크 하경 · 검증관 통과

    재검증 통과

  3. 편집 심사 승현 · 편집장 73점 · 수정 요청

    재심 결과 수정 요청.

    내용과 정확성은 탄탄하지만 발췌 해명·보안 곁가지·전제 조건투성이 실습 안내 때문에 분량이 늘고 흐름이 끊기므로, 정리 후 재검토를 권합니다.

  4. 발행 보류 은혜 · 분석관·팀장

    기준에 못 미쳐 자동 발행을 멈추고 운영자 검토로 넘겼습니다.

3차 원고 73점 · 수정 요청 7단계
  1. 재집필 윤성 · 프로그래밍 칼럼니스트

    심사 지적 반영해 다시 썼습니다 (6125자).

  2. 자동 점검 승현 · 편집장 통과

    자동 점검 통과

  3. 팩트체크 하경 · 검증관 수정 필요

    팩트체크 수정 필요: 확인 필요 3건

  4. 재집필 윤성 · 프로그래밍 칼럼니스트

    팩트체크 3건 반영해 다시 썼습니다 (6425자).

  5. 팩트체크 하경 · 검증관 통과

    재검증 통과

  6. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    「설명은 테크창 사이트의 실제 `urls.py` 발췌로 하고…」

    도입에서 구조 안내만 하고 있습니다. 독자는 첫 화면에서 아무것도 얻지 못한 채 답을 미뤄야 합니다. 또 '

    구성은 탄탄합니다. 처음 질문 두 개가 있고, 요청을 한 번 따라가 답을 정리하고, 직접 해보기까지 이어집니다. 하지만 도입의 404 장면이 약하고, 중간에 곁가지가 많으며, 일반

  7. 편집 심사 승현 · 편집장 73점 · 수정 요청

    심사 결과 수정 요청.

    사실 오류는 없고 설명 틀도 탄탄하지만, 도입 질문이 약하고 include 핵심 규칙이 빠졌으며 복잡한 admin 줄·면책 주석·리다이렉트 곁가지가 이 글만의 강점인 실제 코드로 따라가는 순서 함정을 가립니다.

4차 원고 71점 · 보류 4단계
  1. 재집필 윤성 · 프로그래밍 칼럼니스트

    편집 심사 지적 반영해 다시 썼습니다 (7496자).

  2. 팩트체크 하경 · 검증관 수정 필요

    재검증 수정 필요

  3. 편집 심사 승현 · 편집장 71점 · 보류

    재심 결과 보류.

    code_wrong

    구성과 설명은 탄탄하지만, 직접 해보기 5단계의 기대 결과가 순서 변경 후 화면과 달라 이 부분만 고치면 발행할 수 있습니다.

  4. 발행 보류 은혜 · 분석관·팀장

    기준에 못 미쳐 자동 발행을 멈추고 운영자 검토로 넘겼습니다.

5차 원고 91점 · 통과 발행 6단계
  1. 재집필 윤성 · 프로그래밍 칼럼니스트

    심사 지적 반영해 다시 썼습니다 (7905자).

  2. 자동 점검 승현 · 편집장 통과

    자동 점검 통과

  3. 팩트체크 하경 · 검증관 통과

    팩트체크 통과: 확인 필요 0건

  4. 평론 예원 · 평론가 추천

    지적 5건을 남겼습니다.

    「이 목록을 건물 안내판에 비유하면 이해가 쉽습니다. Dja…」

    글의 핵심은 '첫 일치에서 멈춘다'와 '순서'인데, 안내판 비유는 include 구조만 설명합니다. 뒤에서는

    도입부가 구체적인 버그(/series/new/가 엉뚱한 화면을 띄움)로 시작하고, 그 답을 끝까지 끌고 가서 독자가 직접 재현까지 할 수 있습니다. 다만 중반의 안내판 비유와 곁가

  5. 편집 심사 승현 · 편집장 91점 · 통과

    심사 결과 통과.

    코드와 실습은 정확하고 따라 하면 그대로 동작하지만, 비유 과다와 곁가지, 후반 실습의 반복을 정리하면 더 매끄러운 회차가 됩니다.

  6. 발행 은혜 · 분석관·팀장 91점

    칼럼을 발행했습니다.

최종 심사표

항목별 1~5점, 괄호는 총점 반영 비중입니다.

  • 정확성 (30%) 5.0/5
  • 구체성 (25%) 5.0/5
  • 이해 쉬움 (20%) 4.0/5
  • 실습 가능성 (15%) 4.0/5
  • 연속성 (10%) 4.0/5

편집장이 꼽은 강점

/series/new/가 슬러그에 가려지는 실제 함정을 증상에서 원인까지 따라가고, 틀린 순서와 고친 순서를 기대 결과와 함께 재현하게 한 점이 좋습니다. 질문 회수 요약 상자와 '순서가 중요한 경우/아닌 경우' 구분도 구체적입니다.

남은 개선 제안 6건
  • 비유를 정리하세요.
  • '🤖 AI가 짜준 코드' 도입 직후의 각색·발췌 설명 문단이 길어서 본론 진입을 늦춥니다.
  • '<int:...>' 절에서 re_path 설명이 앞의 순서 문제와 이어지지 않습니다.

외 3건은 다음 칼럼 기획에 반영됩니다.

팩트체크한 주장

검증관 하경이 본문의 수치·사실 주장을 하나씩 확인한 최종 결과입니다.

  • 확인됨path()와 re_path()의 사용법: `path(route, view, name=)`, `re_path(r'^…(?P<slug>…)$', …)`, 이름 있는 그룹은 키워드 인자로 전달됨 원문
  • 확인됨urlpatterns는 위에서부터 훑고 처음 일치한 줄에서 멈추며, 그래서 `series/new/`를 slug용 re_path 아래에 두면 도달하지 못함
  • 확인됨include()는 일치한 앞부분을 떼고 나머지 경로만 하위 URLconf로 넘기며, `path('', include(...))`는 접두사를 떼지 않음 원문
  • 확인됨`<int:question_id>` 컨버터가 숫자만 받고, `/question/modify/abc/`는 일치하지 않아 404가 됨
  • 확인됨'직접 해보기' 1~6단계 코드(views.py, urls.py, import, 기대 결과, 404 화면의 패턴 나열 순서와 'The current path, question/, didn't match any of these.' 문구)
  • 확인됨'자주 깨지는 지점'의 404 문구와 DEBUG=True일 때만 패턴 목록이 보인다는 설명, 그리고 import 누락 시 NameError 원문
  • 확인됨테크창 코드 서술(config/urls.py의 community·common include, community/urls.py의 index·recent_answers·series_index·series_detail re_path·question_create·question_modify)
  • 확인됨회차 번호(2편), 총 10회(0~9편), 다음 편 예고(3편 「뷰 = '요청 들어오면 뭐 할지'」), 4편 템플릿 언급
  • 확인됨도입부의 '/series/new/ 추가를 AI에게 요청했다'는 장면
모바일 버전