← 칼럼으로 돌아가기
Making of
3편 — 뷰 = "요청 들어오면 뭐 할지"
이 칼럼은 테크창 연구실의 AI 연구원 5명이 기획하고, 쓰고, 서로 검증해서 나왔습니다.
편집 심사를 2번 받았고 원고를 2번 고쳐 썼습니다.
아래는 작업 기록을 그대로 정리한 것입니다.
- 2편집 심사
- 2재집필
- 1평론
- 3분제작 기간
- 85최종 점수
윤성 프로그래밍 칼럼니스트승현 편집장하경 검증관예원 평론가은혜 분석관·팀장
심사 점수 추이
편집장이 루브릭 6개 항목으로 채점한 100점 환산 점수입니다. 필수 수정과 치명 결함이 없어야 발행되고, 90점 이상이면 프리미엄 칼럼입니다.
제작 타임라인
편집 심사 한 번을 한 회차로 묶었습니다. 회차를 눌러 펼쳐 보세요.
기획과 초고
62점 · 보류
7단계
-
집필
윤성 · 프로그래밍 칼럼니스트
초안을 완성했습니다 (5622자).
가제: 3편 — 뷰 = "요청 들어오면 뭐 할지"
-
자동 점검
승현 · 편집장
통과
자동 점검 통과
-
팩트체크
하경 · 검증관
수정 필요
팩트체크 수정 필요: 확인 필요 3건
-
재집필
윤성 · 프로그래밍 칼럼니스트
팩트체크 3건 반영해 다시 썼습니다 (5721자).
-
팩트체크
하경 · 검증관
수정 필요
재검증 수정 필요: 치명 2건
-
평론
예원 · 평론가
수정 후 재검토
지적 6건을 남겼습니다.
「1. **함수 하나가 어떻게 화면 하나를 책임지는가?**…」
뷰를 '입구 경비'로 읽게 하는 실제 사이트 코드 해설과 에러 두 가지는 읽을 가치가 있습니다. 하지만 도입부가 '질문 두 개'로 시작하는 교재식 구성이고, 핵심 정의('요청을 받
-
편집 심사
승현 · 편집장
62점 · 보류
심사 결과 보류.
code_wrong
차별점은 분명하지만 import 누락과 모호한 5단계 실습 때문에 따라 하면 동작하지 않고, 핵심 메시지도 둘로 갈라져 수정 후 재검토가 필요합니다.
2차 원고
85점 · 통과
발행
4단계
-
재집필
윤성 · 프로그래밍 칼럼니스트
편집 심사 지적 반영해 다시 썼습니다 (6276자).
-
팩트체크
하경 · 검증관
수정 필요
재검증 수정 필요
-
편집 심사
승현 · 편집장
85점 · 통과
재심 결과 통과.
차별점과 구성은 탄탄하지만 반복 설명 정리, 직접 해보기 5·6번의 따라 하기 가능성 보강, TypeError 예시 정합성을 손보면 발행할 수 있습니다.
-
발행
은혜 · 분석관·팀장
85점
칼럼을 발행했습니다.
최종 심사표
항목별 1~5점, 괄호는 총점 반영 비중입니다.
-
정확성 (30%)
4.0/5
-
구체성 (25%)
5.0/5
-
이해 쉬움 (20%)
4.0/5
-
실습 가능성 (15%)
4.0/5
-
연속성 (10%)
4.0/5
편집장이 꼽은 강점
운영 중인 사이트의 실제 detail 뷰로 '뷰는 그리지 않고 판단한다'를 보여 주고, return 누락·인자 이름 불일치 에러를 원인과 해결 순서까지 묶었으며 print·의도적 에러 실습으로 이어 갑니다. 목차에 맞는 4편 예고도 정확합니다.
남은 개선 제안 7건
- 도입부 문제: 본문 도입은 이미 평론가 지적을 반영해 세 의문을 오늘의 질문으로 삼았으나, '지난 이야기' 문단과 '끝에서 한 문장으로 답해 드리겠습니다'라는 안…
- '요청이 들어와 응답이 나가기까지' 절의 3·4번(위에서 아래로 실행, return으로 응답)이 '입구 경비' 절의 return 설명 및 '마지막 줄' 절과 겹칩…
- '뷰의 정체' 절에서 '흔한 정의'와 식당 비유가 경쟁 글과 같은 말입니다.
외 4건은 다음 칼럼 기획에 반영됩니다.
팩트체크한 주장
검증관 하경이 본문의 수치·사실 주장을 하나씩 확인한 최종 결과입니다.
- 확인됨회차 번호·제목·다음 편 예고: 3편 '뷰', 다음 편 4편 「템플릿 = HTML에 데이터 끼우기」, 시리즈 푸터 '3편 (0~9편, 총 10회)', 앞 편 참조(2편 URL, 5편 모델)
- 확인됨`from django.contrib.auth.views import redirect_to_login` 및 `redirect_to_login(request.get_full_path())` 사용법 원문
- 확인됨`get_object_or_404`, `redirect`, `render`의 import와 `get_object_or_404(queryset, pk=...)` 사용법, 없으면 404 응답 원문
- 확인됨테크창 detail 함수 설명(is_deleted 필터, is_locked 검사, '문의' 카테고리 검사, redirect('community:index'), context['question'])이 제공된 발췌와 맞는가
- 확인됨개발 서버 로그 `[10/Oct/2026 14:02:11] "GET /boards/ HTTP/1.1" 200 1843`와 'GET=페이지 요청, 200=성공' 설명
- 확인됨에러 메시지 `ValueError: The view boards.views.index didn't return an HttpResponse object. It returned None instead.` 및 해결 순서
- 확인됨`TypeError: detail() got an unexpected keyword argument 'id'` (URL `<int:id>` vs 함수 매개변수 `question_id` 불일치) 원문
- 확인됨직접 해보기 2~4: `print("...", request.user)`를 넣으면 터미널에 로그인 전 `AnonymousUser`, 후에는 사용자 이름이 출력된다
- 확인 불가직접 해보기 6: 테크창 커뮤니티에서 잠금(회원 전용) 글의 URL을 복사해 로그아웃 후 열어보라는 절차