Django를 사용하고 있는 서비스는?

cleansugar의 이미지

Django는 파이썬으로 웹사이트를 만드는 데 사용됩니다.

속도가 PHP나 루비보다 빠르다고 하는데요, 국내에서는 잘 사용하지 않는 것 같습니다.

혹시 장고를 상용 서비스로 사용하고 있는 곳을 아신다면 알려주세요.

상거래 사이트같은 경우에 결제 서비스와 연동이 잘 될런지도 궁금합니다.

장고가 잘 안 쓰이는 이유는 무엇일까요?

다음은 장고 벤치마크입니다.

The performance test of 6 leading frameworks
http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/

In addition to the test of MVC-frameworks
http://www.alrond.com/en/2007/feb/04/in-addition-to-the-test-of-mvc-frameworks/

Quick Django Benching
http://superjared.com/entry/quick-django-benching/

File attachments: 
첨부파일 크기
Image icon results_2test.gif89.84 KB
sng2nara의 이미지

별 트래픽도 없는데, 소리소문없이 죽더군요.

김정균의 이미지

django 가 mod_python 기반인가요? 아마 openlook.org 가 사용하지 않을까 싶기는 합니다만..

hongminhee의 이미지

다양한 배포 환경이 있는 걸로 알고 있습니다. 당장 생각나는 것으로는 FastCGI, 말씀하신 mod_python, mod_wsgi 등이 있네요.

다즐링의 이미지

동영상 검색 엔진 엔서미가 사용한다고 알고 있습니다.

결제는 대부분 상관이 없을 터이고..

일단 제가 생각하는 이유는...

1. django 는 아직 갈 길이 먼 프로젝트다.
특히 rails와 비교하면 그렇습니다. 물론 다른 프로젝트니까 비교대상은 아닙니다만 단적인 예로 rails에서 지원하는
db:migrate 같은 기능 ( 운영중에도 디비변경등의 명세를 남겨 순차적으로 변경 가능 ) 이 따로 외부에 있습니다.
저도 django 를 사용하기 때문에 폄하하는 이야기는 아닙니다. 다만 처음 쓴다면 불편할지도 모른다는 이야기죠.
그에 비해 rails는 편하니까요. ( 거의 all-in-one 이라고 생각합니다. )

2. python 개발자는 비교적 수가 적다.
java 개발자와 파이썬 개발자를 비교하면 어디가 수가 더 많을까요? 당연히 자바겠죠.
그러므로 유지보수와 인수인계를 위한 개발자를 찾기가 매우 힘이 들겠죠.

3. 성능을 위한 설정이 어렵다.
김정균님께서 여기에서 언급하신것과 같은 맥락이라고 생각합니다.
php + mysql 기반으로 드루팔 같은 cms를 만들면 느려집니다. 하지만 여기에 여러가지 확장 ( filebased cache , memcached 등 ) 을 붙인다면 엄청나게 빨라집니다.
django 도 마찬가지입니다. nginx , lighttpd + fast-cgi 에 여러가지 확장을 붙이지 않으면 적절한 속도가 나오기 힘들지 모릅니다.
이러한 부분은 정말 파이썬만 한 프로그래머라면 알기 힘든 부분이라고 생각되고 2번에서 상대적으로 작은 파이썬 개발자가 더더욱 줄어든다고 생각합니다. ( 이러한 경우의 단적인 예를 여러번 겪었습니다만 보안상 언급하기가 애매하네요. 하지만 몇줄 고쳐서 성능이 몇백프로 빨라지는 경우가 허다합니다. )

4. 메이저이지만 마이너이다.
특히 국내환경에서 파이썬은 2번과 같은 이유로 환영받지 못하는듯합니다 ㅠㅠ

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

youlsa의 이미지

메이저급 사이트는 아닙니다만, 저 있는 곳에서 상용 서비스 몇가지에 django를 적용해보고 있습니다. python 기반이라 웬만한 연동은 큰 문제 없습니다.

퍼포먼스는 mod_python 기반으로 설치를 해놓으면 상당히 빠르고요, sng2nara님의 말씀처럼 죽거나 하는 경우는 아마 runserver로 실행하는 django 자체 개발용 서버를 말씀하시는 것 같습니다만, 그 서버는 정말 개발자 1인용 서버이고 간단한 오류라도 발생하면 죽습니다. 사이트의 요소요소에 memcached로 캐쉬 처리를 해놓으면 괜찮은 퍼포먼스를 보입니다. (퍼포먼스 비교를 하기는 뭣하지만, 최소한 asp보다는 빠릅니다. 저희 기존 시스템이 두통나는 asp 기반이라..)

무엇보다 좋은건 django의 어드민 툴입니다. 기존에 이미 개발되어 있는 시스템에 inspectdb 명령을 통해 django의 어드민만 올려서 써도 개발 효율이 훨씬 높아집니다. 게다가 python용으로 개발된 수많은 모듈들을 그대로 가져다 쓸 수 있다는 점도 큰 장점입니다.

다만, 다즐링님 말씀대로 시스템 설정에 대해 아는 사람은 커녕 python 개발자도 구하기 어려운 상황이라는게 좀 문제입니다. 물론, python이 그리 어렵지 않고 쉽게 효율을 낼 수 있어서 C/C++ 개발자에게 배워서 쓰게 하면 큰 문제 없이 적응합니다만...

당장은 약간 불편한 점이 있지만, 구글 apps 등에서 django를 지원하는 모양새를 보면 이후에도 참 괜찮겠다는 생각이 듭니다.

RoR같은 경우에도 그렇지만 django의 경우에도 웹 어플리케이션 개발이 painless한 작업이 될 수 있다는 점을 잘 보여주는 것 같습니다.

=-=-=-=-=-=-=-=-=
http://youlsa.com

=-=-=-=-=-=-=-=-=
http://youlsa.com

다즐링의 이미지

다만...

이쁘게 할려면 -_-;;; css와 xhtml 을 잘아는 개발자 or 디자이너가 필요하다는;;;

ㅠㅠ

지금까지 같이 일한 디자이너중에 저걸 제대로 하는 사람은.. 3명정도 -_-;; 봤습니다..;
저걸 이해하면 디자인 작업이 엄청 오래걸리죠;;; 대신에 수정은 간편
코드도 엄청 짧죠

그리고.. 파이썬이 쉽긴한데 배울려는 사람이 잘 없습니다.. 하던것만 하려고 하고... 배우려는 사람도 극소수죠 -.-;;

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

김정균의 이미지

나도 python이 별로 호감이 안가요. 특히 인덴트가 맘에 들지 않아요. 왜 안되는지 죽으라고 봐도 문제가 없는데 나중에 보면 indent 가 space 이고, vim 이 indent 를 tab 으로 붙여서 엉뚱한 루틴이 되는 경우를 많이 만나서.. 열라 좋아하지 않게 되었습니다.

다즐링의 이미지

흐흐 vim 설정으로 극복하세요 =3=3

set list lcs=tab:\|.,trail:~    " display tab as >------, and trail as ~
set et sw=4 sts=4

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

kwon37xi의 이미지

위에 다즐림님이 Django 비판을 해주셨는데, 그에 쌍을 이루도록 변론이 있어야 균형을 맞출 수 있을 것 같아서 몇가지 적어 봅니다.

1. RoR의 db:migrate 는 멋진 기능이지만 그로인한 희생도 만만치 않습니다. RoR에서 제가 제일 싫어하는 점인, 모델을 아무리 봐도 대체 뭐하는 놈인지 알 수가 없고, db 스키마를 봐야만 모델을 파악할 수 있게 되지요(RoR plugin을 통해 DB 정보를 모델에 주석으로 넣는 기능이 존재합니다만, 그건 주석이지 코드가 아닙니다).

Django는 Java의 Hibernate와 유사한 스타일입니다. 모델에 DB관련 정보가 모두 들어가는 방식이라 모델 클래스를 보면 DB 구조도 자연스럽게 파악할 수 있게 되지요. 코드의 가독성이 훨씬 높고 DB봤다 클래스 봤다 할 필요가 없습니다.
어쨌든, db:migrate와 유사한 기능을 지원하는 프레임워크가 얼마나 되는지는 모르겠지만, 모델에 DB정보를 넣는것과 migration 정보를 유지하는 기능이 함께 들어가면 좋을 것 같습니다(이 경우, 동일 정보가 모델과 DB Migration 설정파일로 이중 저장되는 단점이 생기게 됩니다).

Java쪽에서는 이런 노력을 하고 있고, Django도 http://paltman.com/2009/feb/24/nashvegas-a-simple-django-migration-tool/ 를 보면 DB Migration 관련 툴들이 속속 등장하고 있습니다.

2. 개발자 수 문제는.. 우리나라에서는 어쩔 수 없어보이는데요,그러나 Python은 배우기 쉬운 언어입니다. Perl과 함께 엄청난 라이브러리를 보유하고 있습니다. 아직도 Perl을 제외하면 다른 동적 언어들의 라이브러리 수는 Python에 비하면 새발의 피 수준인걸로 압니다. 최근에 Ruby가 열심히 쫓아 오고 있겠지요?

3. 성능 문제는 이글 쓰신 분의 링크에서 보듯이 Python과 Django 자체의 성능이 동적 언어 기반의 다른 웹 프레임워크들에 비하면 매우 뛰어나다는 것을 볼 수 있습니다.
그리고 Django 도 http://docs.djangoproject.com/en/dev/topics/cache/ 보시면 캐싱 방안을 내놓고 있습니다.

4. 안정성 문제는 어떤분이 불안정하다고 했는데 수긍하기 힘듭니다. mod_python기반의 Django는 매우 안정적입니다. 위에분 말씀대로 테스트용 서버를 띄워서 운영하신게 아닌가 싶습니다. Ruby도 1년전 쯤에 나용 Passenger 인가 덕분에 이제 많이 안정화 됐지요. 그 전에 Mongrel 기반일때는 허구헌날 죽었습니다.

5. Django의 단점 중 하나는 View template 언어가 부족하다는 점이었습니다. RoR은 Ruby를 그대로 View Template에서 사용할 수 있기 때문에 매우 강력한 Template이 가능합니다만(JSP에서의 Java코드와는 달리 RoR의 eruby는 가독성이 뛰어나더군요. 아마도 블럭의 시작과 끝이 명확하게 인지되는 Ruby 자체의 특성때문인 듯 합니다), Python의 indent를 지켜야 한다는 제약 때문에 Django는 Python을 그대로 사용할 수 없었습니다. 그래서 따로 Template 언어를 만들었는데, 그게 1년전에 제가 Django 사용할 때는 많이 딸렸었습니다. Template이 딸리면 Controller에 그 부담이 지워지게 됩니다. 그래서 Controller 코드가 무쟈게 길어졌던 기억이 있네요.

하지만 지금은 계속해서 개선되어 많이 나아진것으로 보이네요.

http://kwon37xi.egloos.com

다즐링의 이미지

1. 링크 감사합니다.

2. 이 부분은 저도 배우기 쉽다고 쓰지만 회의가 드는 것이.. 배우려고 하는 사람이 "적다" 는 것이 문제입니다.
저는 현업에서 오래 일하다가 학교로 다시 돌아와서 공부를 하고 다시 이제 복귀를 하려는 시점인데
좌절적입니다. C,C++,JAVA 를 맹신하는 학생이 90% 이상입니다.

5. 템플릿의 문제는 저도 아직 마땅한 해답을 찾지 못하겠더군요 ㅠㅠ

추가하자면 rails 의 단점이자 장점은 37signals 에서 외친
Getting Real 이라고 생각합니다.
끊임없는 버젼업과 저런 철학에 동의 가능한 사람만이 따라갈수 있는 프레임웍이라 생각합니다.

어찌보면 피곤할수 있습니다 ^_^;;

혹시 Getting Real 을 읽어보지 않으신 분은 꼭 읽어보시기 바랍니다. 감동적입니다.
------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

creativeidler의 이미지

와, 권남님과 Django 이야기를 여기서 보다니 반갑네요.

저는 이분과 함께 Django로 이슈 트래커를 함께 개발했습니다. 그게 현재 오픈마루에서 하는 서비스들의 사용자 포럼으로 사용되고 있구요. 실무 프로젝트에서 RoR과 Django를 다 경험해본 셈이죠. 이것들을 경험하면서 이런 글들을 썼습니다.

http://youngrok.com/moin.cgi/스프링노트_기술보고서
http://youngrok.com/moin.cgi/Django_vs_Rails

kwon37xi의 이미지

와~ 정리 참 잘해두셨었군요~
훨씬 잘 와 닿네요.

http://kwon37xi.egloos.com

duecorda의 이미지

멋지게 정리된 글 감사하게 잘 봤습니다.

Love Gentoo, Vim, Ruby on Rails, ECMAScript, Gears, OpenSocial

Love Gentoo, Vim, Ruby on Rails, ECMAScript, Gears, OpenSocial

hongminhee의 이미지

Rails도 그렇지만 Django의 장점은 그 프레임워크의 설계에서 온다기 보다는 Python 언어의 훌륭함으로부터 많은 수혜를 얻은 결과라고 생각합니다. 다만 Ruby 구현이 여러 가지가 있지만 대체로 CPython—혹은 CPython + Psyco—에 비해 성능이 나쁘다는게 큰 차이 중 하나겠지요.

lacovnk의 이미지

요즘 Rails 쪽은 github 와 맞물려서 plugin 이나 ruby gem이 활발히 개발되는 분위기입니다.
http://www.ruby-toolbox.com/ 같은 경우 github 정보 등을 이용해서 용도 별로 쓸 수 있는 라이브러리에 점수를 매기는데 좋은 참고가 되더군요.
1.x 버전 부터 rails 만져보고 있는데 상당히 유연한 플러그인들이 많이 나와서 만족스럽더군요. 어차피 쓰려면 여러 부분 고치긴 해야하지만 -_-

아무래도 ruby 보다는 python이 많이 쓰이는지라 django로 전향해보려고 잠깐 기웃거려봤는데, ruby에 익숙하다보니 python 조차도 복잡해보여서 포기입니다;

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

다음 페이지에 어느 정도 정리돼있습니다.
http://groups.google.com/group/django-ko/web/sites

---8< 서명 -----------------
애니메이션 감상 기록 http://animeta.net/