장고로 서비스를 만드는 중입니다. 의외의 복병이 서비스와 별개로 항상 필요한 부수 기능들이

 
Matthew Choi

장고로 서비스를 만드는 중입니다.
의외의 복병이 서비스와 별개로 항상 필요한 부수 기능들이었습니다.

예를 들면,
게시판/댓글의 기본적인 동작(작성/삭제/수정)이나
게시물의 조회수(IP나 시간에 따른 정책 결정 및 구현)
어디에나 필요한 페이지네이션 기능 등

위에서 나열한 기능들을 구현하기 위해서는

장고에서 지원하는 기능을 쓰거나 공개된 재사용 가능한 APP을 쓰는 것도 방법이지만 사이트 전체 분위에 맞추어 수정을 하는 것이 오히려 시간이 더 많이 드는 경우가 많았습니다.

겪었던 문제를 한 가지 예로 들어보자면 특정 모델을 테이블로 만들어주는 APP인데 결과물인 테이블에 페이지네이터가 붙어서 렌더가 되었고
그 페이지네이터는 다른 페이지에서 사용하던 페이지네이터와 완전히 다른 형태였습니다.
(제일 앞/제일 뒤로 가기 버튼이 있다거나 한 번에 보이는 페이지의 수가 적은 등)

심지어 형태는 같지만 드물게 CSS 클래스를 바꿀 수 있는 방안이 존재하지 않는 경우도 발생을 하였습니다.

조금 광범위한 질문인 것 같지만 다른 분들은 이런 문제를 어떻게 해결하는지 알고 싶습니다.

시간이 걸리더라도 직접 작성하는 것보다는 빠르니 재사용 가능한 APP을 쓰나요?
아니면 포기하고 직접 작성하나요?

그것도 아니라면 제가 모르는 특별한 방법이 있는지 궁금합니다.

  • Jung Kyoung Up

    대부분의 모듈(?)들이 커스터마이징이 가능하게 설계되어 있습니다. 이를 잘 활용하여 상황에 맞춰 고쳐 쓰는게 제일 빠릅니다. 그리고 페이지 구조상 js에서 해야할일과 백엔드에서 해야할 일을 잘 구분하는 것도 일을 줄이는데 한 몫 합니다. 프론트엔드에서 js로 처리하는게 효율적인 일들을 django로 다 하려고 하다가 코드만 복잡해지는 경우를 종종 봤습니다.

    Kyungmun Ryu

    재사용이냐 새로 만드냐의 문제는 결국.. 현재 내가 가진 지식 수준과 숙련화의 문제로 이어지더군요. 재사용을 위한 학습비용이 크거나 간단하지 않다면 버리고 제가 아는 수준에서 코드를 작성하여 직접 만듭니다. 그러나.. 최근에 몇년 전에 제가 작성한 코드를 참고 할 일이 있었는데.. 지금보니 당시에 이걸 뭐하러 새로 만들었지.. 싶더라구요. 또 몇년이 지나서 지금의 코드를 봐도 아마 그럴것 같습니다. 🙂

Advertisements