장고의 뷰는 요청 객체를 받고 응답 객체를 반환하는 내장 함수 함수 기반 뷰는 뷰 함수 자체가 내장 함수이고, 클래스 기반 뷰는 뷰 클래스가 내장 함수를 반환하는 as_view() 클래스 메서드를 제공. django.views.generic.View에서 해당 메커니즘이 구현되며 모든 클래스 기반 뷰는 이 클래스를 직간접적으로 상속받아 이용 장고는 요즘 대부분의 웹 프로젝트에서 이용되는 제네릭 클래스 기반 뷰(generic class-based view, GCBV)를 제공. ...더보기 장고의 기본형을 보면 제네릭 클래스 기반 뷰를 위한 중요한 믹스인들이 빠져 있다. 예로 인증(Authentication) 부분 같은 것을 들 수 있다. 하지만 django-braces 라이브러리를 이용함으로써 이런 부분을 ..
TDD의 주요 프로세스 Functional test Unit tests Unit test-code cycle Refactoring Double-Loop TDD Double_Loop TDD Outside-In development with Double Loop TDD In my last post, I started talking about London School TDD, and the two features of it that I think distinguish it from Classic TDD. The first was Outside-In development with Double Loop TDD, which… coding-is-like-cooking.info
Refactoring이란 기능(결과물)은 바꾸지 않고 코드 자체를 개선하는 작업 첫 번째 규칙은 테스트 없이 리팩토링할 수 없다는 것 리펙토링 시에는 앱 코드와 테스트 코드를 한 번에 수정하는 것이 아니라 하나씩 수정해야 한다. 리팩토링 시에는 몇 가지 처리를 수정하기 위해 단계를 건너뛰는 경향이 있다. 하지만 반 이상의 파일을 수정하기 시작하면서 자신이 무엇을 수정했는지 모르게 되고 결국 아무것도 동작하지 않게 된다. Refactoring Cat 처럼 되고 싶지 않다면 작은 단계로 나누어 착실히 작업하도록 하자 참고로 리팩토링과 기능 변경은 전혀 다른 개념이다. 리팩토링 후에는 커밋을 해주는 것이 좋다 Refactoring Refactoring Home Page Introduction to the te..