날로 먹는 Django 웹 프로그래밍 강좌

목차
  1. 한) 우리가 만들고자 하는 것과 필요한 기술 (1편) - django 강좌 2008년 06월 01일
  2. 날) Django 설치 (2편) - django 강좌 2008년 06월 08일
  3. 은) 블로그 기획 (3편) - django 강좌 2008년 06월 16일
  4. 미) 파이썬 기초 문법과 데이터 모델링 (4편 1/2) - django 강좌 2008년 06월 22일
  5. 미) 파이썬 기초 문법과 데이터 모델링 (4편 2/2) - django 강좌 2008년 06월 30일
  6. 청) 컨트롤러(뷰) - 글 목록과 글 보기 기능 (5편 1/3) - django 강좌 2008년 07월 07일
  7. 청) 컨트롤러(뷰) - 글 쓰기 기능 (5편 2/3) - django 강좌 2008년 07월 14일
  8. 청) 컨트롤러(뷰) - 댓글 기능 (5편 3/3) - django 강좌 2008년 07월 20일
  9. 년) 템플릿 작업과 Ajax 작업 (6편) - django 강좌 2008년 07월 29일
  10. 이) RSS 기능, 로그인 기능 (7편) - django 강좌 2008년 08월 04일
  11. 다) django 강좌를 마치며 (8편) - django 강좌 2008년 08월 10일

다) django 강좌를 마치며 (8편) - django 강좌

강좌를 마치다

우리는 지난 2008년 6월 1일을 시작으로 10주에 걸쳐 파이썬과 django 로 아주 간단한 형태로 블로그를 만들었다. 연재 기간으로는 3달 조금 안되지만, 연재 2주 전에 미리 글을 쓰고 기획을 했으므로 나로서는 꼬박 3달(13주)을 연재한 셈이다.

머리가 좋은 편은 아니지만 호기심 많고 욕심도 많아서 이것 저것 건드리는 것이 많다. 하지만 깊이 파고들지 않아서 지식이 참으로 얄팍하여 이렇게 마치 잘 아는 냥 글을 쓰는 데 많은 부담이 있었다. 파이썬과 django 를 개발로 하는 일을 주업으로 삼지 않아 경험이 부족하고 프로그래밍 능력도 떨어져서 강좌를 쓸 생각은 애초에 없기도 했다. 그러다 슬며시 django 책 쓴다고 운을 떼봤는데 의외로 관심 갖는 분들이 계셔서 용기를 내어 지난 5월부터 강좌를 기획하고, 지금 이렇게 강좌를 마치는 글을 쓰기에 이르렀다.

이 강좌를 쓰며 무척 많이 배웠다. 강좌를 쓰며 django 공식 문서를 서 너 번은 완독했고, django core 소스 코드도 두 번 정도 훑었다. 잘못된 내용으로 이 강좌로 파이썬과 django 공부를 시작할 새내기 분들에게 큰 피해를 줄까 두려워서 실제 작동을 확인하고도 인터넷에서 관련 내용을 찾아다니며 작동 원리를 공부하고 이해하려 애썼다. 정작 난 django 로 블로그를 만든 적도 없었으면서 이 강좌를 쓰며 처음으로 만들어봤다. 즉, 여러분이 이 강좌를 통해 django 로 블로그를 처음으로 만들었듯이 필자인 본인 역시 처음으로 만들었다. 그래서 조금이라도 새내기 분들이 답답해 할 부분을 긁어주었기를 바라고 있다. (물론 블로그를 만들지 않았을 뿐, 간단한 장난감거리는 몇 개 만들었었다^^; )

이 강좌 너머로…

이 강좌는 어디까지나 파이썬이나 django를 다뤄보지 않은 이들을 대상으로 한다. 이 강좌를 통해 깊은 내공을 얻을 리 만무하고, 이 강좌로 만족할 리도 없다. 이 강좌는 앞으로 나아가기 위한 첫 디딤돌 일 뿐이다. 앞으로도 계속 공부를 하거나 제대로 된 기초 체력을 갖추고 싶다면 다음 내용을 익히길 권한다.

  • 파이썬 기초 공부 : 파이썬 자료형이나 보다 자세한 문법, 원리를 깨우치길 권한다. 책을 하나 진득하게 파도 좋고, 왕초보를 위한 파이썬 강좌처럼 가벼운 글도 좋다. 혹은 점프 투 파이썬도(책을 웹으로 옮겼다) 좋다. 난 파이썬 책을 보거나 강좌를 보지 않고 django를 시작해서 잔고생을 했었다.
  • django shell 로 기능 실험하기 : 기능을 만들고 일일이 웹 브라우저에서 확인하지 말고, django shell (manage.py shell) 에서 모델을 통해 DB에 글을 넣거나 가상으로 html form 정보를 받게 해보자. 뭐 별 거 있겠냐 싶겠지만, 이 과정이 익숙해지면 놀랍게도 django 흐름이 머리에 그려지기 시작한다. 정말이다.
  • Open API 연결해보기 : yes24 나 aladdin , me2day, google 등 많은 인터넷 서비스에서 Open API 를 제공한다. Open API로 이러한 서비스들로부터 자료를 가져와 다루는 장난감(mash-up service)을 만들어 보자. 클래스나 예외 처리, 코드 구조 잡기 연습하기 좋다. 무엇보다 만든 결과물이 제법 있어 보이는 장점이 있다. ^^;
  • django 해부하기 : 위 단계를 거쳤다면 django 에 있는 각종 메소드나 기능들을 의심해보고, 안에서 어떻게 움직이는지 파고들길 바란다. 충분히 그럴 능력이 되어 있을 것이다.

구글 앱 엔진 (Google App Engine)

올해 4월 중순에 구글에서는 구글 앱 엔진(Google app engine, 이하 gae)발표했다. 정말 놀랍고 멋진 서비스이며, 엔지니어가 부족하거나 개발자가 없이 기획자만 덜렁 있는 팀이라면 이 서비스를 통해 꿈을 이룰 수도 있을 것이라 본다. 그런데 gae 는 아직 프로그래밍 언어로 파이썬만 지원하고 있어 아직 파이썬을 다룰 줄 모르는 이들이 아쉬워하고 있다. 재밌는 사실은 아직 파이썬만 지원하지만, 파이썬에서 쓸 만한 여러 웹 프레임워크도 함께 제공하며 그 중 하나가 django 이다.

나는 gae이 발표 됐을 때 django 를 이용하여 gae 에 문자열을 출력하는 걸 만들어 봤다. 많은 가능성을 봤으며, 기획자가 좀 더 행복해지고 도전할 기회가 많아졌다는 생각을 했다. 혹시 이 강좌로 파이썬과 django 를 공부한 웹 기획자가 있다면 gae 를 이용해 멋진 도전을 하길 기대해 본다.

보다 많은 이들이 파이썬과 django에 관심을 갖길 바라며

아직 우리나라에서 파이썬이 널리 알려지지 않아서 그럴까? 이 강좌 대상자인 새내기 보다는 개발 경험이 있거나 이미 파이썬을 잘 다루는 이들이 더 많은 상황이다. 이 강좌가 아니더라도 어려움 없이 django 를 쓸 수 있는 사람이 많다. 그래서인지 아직은 관심이 부족해 보인다.

참 좋은 웹 프레임워크가 많다. 난 그 중에서 PHP 용 웹프레임워크로 유명한 Cakephp, Ruby용 웹프레임워크로 유명한 Rails, 그리고 이 강좌에서 다루고 있는 django를 써봤다. 각 웹 프레임워크들 마다 특성과 장단점이 있었다. 각 장단점과 개성 탓에 무엇이 더 뛰어나다고 말을 하기 조심스럽지만, 새내기가 배우고 익히기에 참 좋은 프로그래밍 언어와 웹 프레임워크로 파이썬과 django 를 꼽으며 권한다. 인터넷에서 도움을 받을 곳도 많고 자료도 많으며(비록 상당 수가 영문이지만), 파이썬이나 django 자체가 상당히 쉽고 간단명료 하기 때문이다.

웹 기획자가 쓰기에도 좋다. 기획자라면 생각하고 있는 바를 다른 직군 사람에게 최대한 명확하게 전달해야 하는데, 그런 소통 수단으로 프로그래밍은 참 좋다. 기획자가 프로그래밍에 관심을 가질 때 얻을 수 있는 여러 장점들이 있어 나는 꾸준히 프로그래밍에 관심을 갖고 다루고 있다. 하지만 프로그래밍에 너무 생각과 손이 쏠리면 되레 안하느니만 못하다. 어쨌든 기획자가 해야 할 일은 개발이 아니라 기획이기 때문이다. 그런 제한 상황을 고려하여 파이썬과 django를 택한다면 무척 훌륭한 선택이라고 하고 싶다.

더욱이 gae 에서 공식 지원을 하므로 분산 환경이나 고성능에 깊은 고민을 하지 않고 머리 속에 그려진 기능을 마음껏 펼칠 수 있는 훌륭한 환경도 파이썬과 django 로 누릴 수 있다. 기능을 구현하려고 많은 노력과 시간을 들여야 했던 과거와는 달리 기능을 표현하는 데 집중하고 즐겁게 만들 수 있는 환경을 제공하는 멋진 꾸러미다. 비록 이 강좌는 많이 부족하지만, 이 강좌를 통해 많은 이들이 파이썬과 django에 관심을 갖고 참여하여 우리나라에도 django로 즐거움을 누리는 이들이 많아지기를 바라고 기대해 본다.

지난 11회 연재 동안 이 강좌와 함께 한 많은 분들께 고마움을 가득 담은 인사를 드리며 글을 마쳐 본다.

꼬리표 : , , ,

이 글보다 좀 더 나중인 글과 좀 더 예전인 글

«« 미래 인재의 조건 6가지, 그리고 깊이 생각하기

이) RSS 기능, 로그인 기능 (7편) - django 강좌 »»

댓글 8개 »

  1. estguard 님,

    2008년 08월 11일 12시 08분 07초

    감사합니다. 많이 배웠습니다. :)

  2. 한날 님,

    2008년 08월 11일 17시 08분 35초

    # estguard님/ 말씀 고맙습니다. :D 도움이 되신 것 같아 기쁩니다!

  3. 훌륭하십니다.. 님,

    2008년 08월 13일 16시 08분 03초

    훌륭하십니다….

    비록 정독은 하지 못했지만 이런 강좌를 써주시다니 감사할따름니다..

    조금 무리를 해서 주문을 해도 된다면 django에서 session처리하는 부분도 따로 강좌해주시면 안될까여?

    회사인지라 몇십분만에 쭉 훑어봤는데 강좌내용에 세션처리는 안보이는듯 하네여.^^;

  4. 한날 님,

    2008년 08월 14일 11시 08분 33초

    :) 세션에 대한 내용은 바로 이) RSS 기능, 로그인 기능 (7편) - django 강좌에서 가볍게 다루고 있습니다.

  5. 이동균 님,

    2008년 08월 17일 00시 08분 12초

    멋진 글 잘봤습니다.
    웹프레임워크 개념이 거의 없는 상태에서(MVC패턴을 단순히 옵저버패턴을 변형한걸로만 생각했었다는)
    여러 사이트를 돌아다니며 쉬운예제를 찾아봤지만 한날님 보다 쉽게 전반적인 내용을 다룬 글이 없었습니다.
    가문땅에 단비같은 글이었습니다.
    앞으로도 멋진 글 많이 부탁드립니다.(기획자가 프로그래머로서 존경스러운 적은 처음인듯)

  6. 한날 님,

    2008년 08월 17일 17시 08분 41초

    말씀 고맙습니다. 세세한 기술 보다는 큰 그림 위주로 대상을 대하는 기획자 습성이 이럴 때에 득이 됐군요. :D

    도움이 되셨다는 말씀에 큰 기쁨을 느끼며, 그런 한 마디 넘기고 지나갈 수 있음에도 직접 이렇게 댓글로 남겨주시어 더욱 고마울 따름입니다. 아직 많이 부족하지만, 좋은 글을 쓰도록 계속 노력하겠습니다. 꾸벅.

  7. CK 님,

    2008년 09월 1일 11시 09분 07초

    “여행한 날”과 “중얼중얼…” 에서 글로벌 내비게이션 링크가 깨지는게 살짝 걸리네요.. :) Back버튼을 눌러야 한다는게 뭔가 간지 안나잖아요 ^^

  8. 한날 님,

    2008년 09월 1일 16시 09분 17초

    핫핫. 관리를 안하는 곳들 티가 많이 나죠? 중얼 중얼은 닫을 예정이고, 여행한 날은 얼른 길잡이 막대를 달아야 겠습니다. ^^ 여행한 날에도 올릴 글들 무지 많은데, 사진 편집에서 지쳐서 좌절 중에 있어요. ㅜㅜ (실은 동영상 편집 때문에)

이 글에 달린 댓글을 RSS로 배달 받아보실 수 있습니다.
글걸기(Trackback) 주소 : http://www.hannal.net/think/08-python_django_lecture/trackback/

댓글 달기



※ 입력을 해야만하지만 공개하진 않습니다. 꺼림직하다면 a@b.merong 식으로 넣으셔도 됩니다.