나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
Yahoo! Korea IDEA Blog 입니다.
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가

All You Need to Know About Django - Adrian Holovaty

2007.04.17 16:11 | WEB2.0 EXPO | kwryu

http://kr.blog.yahoo.com/yk.idea/6 주소복사

허겁지겁 아침을 챙겨먹고 들었던 첫번째 세션은 Adrian Holovaty 의 django 에 대한 세션이었습니다.
Django 를 시작하기 위해서 알아야할 모든것을 아주 간단한 데모들과 예제를 보여주며 쉽게 설명했습니다.

세션시작전에 웹개발자를 몇명인지 그중 PHP 를 쓰는 사람은 몇명이고 Django 를 쓰는 사람은 몇명인지 등을 질문했습니다. 네 예상대로 django 로 웹사이트를 개발하시는 분은 그리 많지 않았습니다. 처음에는 django 라는 프로젝에 대한 개괄적인 설명들이었습니다. Laurence Journal 이야기와 Kansas 이미지는 항상 등장하는 것 같습니다.

http://farm1.static.flickr.com/223/462472822_4e3cc6be75.jpg?v=0

django 로 인해 빨라진 웹개발에 대해 이야기 해줍니다. 몇주 안이 아니라 몇일안에 웹 사이트를 개발하는 것이 가능해 진다는 이야기와 함께요. PHP를 쓰지 말라는 이야기와 Python 이야기나 나오네요.

http://farm1.static.flickr.com/187/462473186_7178f20dc7.jpg?v=0

이 이야기를 들으면서 mashupcamp 에 출품했던 django로 개발한 opendaumid.net 의 개발기간을
곰곰히 생각해 봤습니다. 제출기간을 1-2주 앞두고 막판에 밤에 퇴근해서 아이와 놀아주고 주로 새벽시간에만 만들었습니다. 합산해보니 만약 이 일을 회사에서 했다면 하루가 안걸렸을 것 같습니다. 그러면서도 만드는 내내 즐거웠습니다.

View 와 loosely couple 된 URLConf 에대한 소개를 합니다.
"URLs should be pretty". 네 URL 은 정말 이뻐지고 직관적이고 보다 간단해져야 합니다.
코드 어디에도 URL 에 관련된 것은 없습니다. 모두 URLConf 와 view 의 연결만으로 url 이 만들어집니다.

http://farm1.static.flickr.com/177/462475203_f8433334ec.jpg?v=0

그리고는 django way 와 django 의 Model, View, Template - MVT(?) 모델에 대해서 설명을 합니다.

http://farm1.static.flickr.com/236/462470832_2003e3ee72.jpg?v=0

View 는 실제 사용자에게 보여지는 부분의 비즈니스 로직을 구현합니다. 네 여러분이 생각하는 MVC 모델과는 약간 다릅니다. 그리고 요즘 많이 언급되는 DRY(Do not Repeat Yourself) 원칙을 충실히 따르는 구조로 되어있습니다. 그런점에서 Adrian 은 중복된 코드의 두개의 view 를 generic view 로 바꾸는 예제를 보여 줍니다.

http://farm1.static.flickr.com/228/462471650_9581fa2295.jpg?v=0

django 의 template system 은 말 그대로 template 의 기능에 충실합니다. 즉 완전히 presentation 만을 위해 만들어졌습니다. 저도 처음에 익숙하지 않아서 저도 모르게 template 에 열심히 비즈니스 로직을 넣으려고 하곤 했습니다. 그때마다 왜 이런 간단한것도 django 의 template 는 지원하지 않을까 생각하다가 급히 깨닫고는 view 에 간단히 한두줄을 추가하여 문제를 해결하곤 했었습니다.

http://farm1.static.flickr.com/174/462471470_3684a83def.jpg?v=0

그리고 Python template 시스템의 훌륭한 기능중의 하나인 template inheritence 를 설명합니다.

http://farm1.static.flickr.com/238/462471208_e8b4299eb1.jpg?v=0

include 만 있으면 되지 않을까 라고 생각하시는 분들은 한번 써보시면 다시는 빠져나오지 못하게 될겁니다. :D

그리고 요즘 유행하는 ORM 방식의 Django Model 에 대해서 설명합니다.

http://farm1.static.flickr.com/219/462471016_3c75952653.jpg?v=0

django 는 모델의 필드네임에 어떤 가정도 하지 않습니다. 슬라이드에 적혀있는 대로 흑마법 같은것 쓰지 않습니다. 그리고 실행시간에 database 를 introspection 하지도 않습니다. 그리고 훌륭하고 직관적인 datababase API 가 있습니다.

그리고 이제 Django admin page 에 대해서 이야기를 합니다. Python 에 배터리가 포함되어 있는 것처럼 django 에는 admin page 가 있습니다.

http://farm1.static.flickr.com/215/462476431_f7cf8b9ded.jpg?v=0

(phpMyAdmin 같다구요? 세상에 -_-;;;) 이렇게 바로바로 중간에 코드를 수정해가면서 바로바로 보여줍니다. 물론 서슴없이 python interpreter 를 띄워서 보여주기도 하구요.

http://farm1.static.flickr.com/185/462476701_5c23a1af75.jpg?v=0

그리고는 이번에 contrib 모듈로 새로 추가될 예정인 databrowse 에 대해서 보여주었습니다.

http://farm1.static.flickr.com/189/462472410_463f104d6a.jpg?v=0

캠으로 녹화하지 않은 것이 한이 될만큼 훌륭한 django 입문 프레젠테이션 이었습니다.

Pythonist 들이 많이 사용하는 말중에 "Pythonic" 이 라는 말이 있습니다. Django 를 한마디로 설명하자면 Pythonic 하다고 할 수 있습니다. 대체 Pythonic 이 뭐란 말인가? 궁굼하신 분들은 다음의 두가지 중에 하나를 해보시면 됩니다.

  1. Martijn Faassen 의 Pythonic 에대한 Post 를 읽어 보시거나
  2. Djangobook 을 읽어보면서 django 프로그래밍을 한번 해보는 거죠

잘 짜여진 파이썬 코드는 은유로 범벅된 시가 아닙니다. 그렇다고 어려운 말로 가득찬 법전도 아니죠. 제 생각에는 제 아내가 정리해서 부엌에 붙여놓은 레시피 같습니다. 자연스러운 언어로 누구나 한번만 봐도 이해할수 있죠. 그리고 생산적입니다. 바로 무언가 만들수 있죠(이런것 한번 해보시면 더욱더 이해가 가실겁니다.)
잘 짜여진 django 웹 사이트의 코드는 정말로 한눈에 이 사이트가 무엇을 하는 사이트인지와 어떻게 구성되어 있는지를 알수 있습니다.

오늘 django 를 만나보세요.

룰루랄라 2007.04.18  10:18

ppt와 설명만으로만 보려니 감질맛;; 게다가 프로그래밍! -_-; (털썩...)

답글쓰기
kwryu 2007.04.18  18:39

캠을 들고 올걸 그랬어요 근데 여기 bandwidth 가 좌절입니다.
심지어는 highspeed 라고 붙여놓은 묵고 있는 호텔도 42k 나옵니다;;;

http://www.jumpcut.com/view?id=426CEA5CEC9511DB9CF0000423CEF682

몇초 안되지만 이런거라도 -_-;;;

답글쓰기

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기
 
HanRSS 로 구독하기Fish 로 구독하기
전체 글보기(15)
WEB2.0 EXPO
기본폴더
설문
백만가지 주제
2009 12월
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
최근 댓글 전체보기
kyoseok.song..
지금쯤 한국에 오셨으...
http://video..
좋은 글 잘 읽었습니...
음 Tim 의 keyn..
최근 참조글 전체보기
Xanax.
PV(Page View..
최근 글
Web2Expo Key..
Web2.0Expo 2..
Web2.0 start..
Implementing..
Launch Pad: ..
지난 글
2009년 1월
2009년 2월
2009년 3월
2009년 4월
2009년 5월
2009년 6월
2009년 7월
2009년 8월
2009년 9월
2009년 10월
2009년 11월
2009년 12월
yk.idea (yk.idea)
프로필     
오늘 전체
방문자 15 42511
구독자 0 3
댓글 0 38
참조글 0 106
개설일 : 2007/04/12