일시 : 2012/08/11  . 장소 : 홍대 CNN .<

 
Whoami Jeong

1. 새 메모를 만드느냐 기존 메모를 수정하느냐 확인<

 
Jung Kyoung Up

1. 새 메모를 만드느냐 기존 메모를 수정하느냐 확인

 

[Models.py]

 

Class Memo(models.Model):

   ….

   def save(self, *args, **kwargs):

      if self.id: # id값 생성 여부로 확인

          print u'깔끔한 새 메모'

      else:

         print u'니가 범인임을 알고 있다'

      super(Memo, self).save(*args, **kwargs) # Call the "real" save() method.

 

[views.py]

 

알어서 적당히 대충…

 

 

2. 내 메모를 누가 지웠는지 확인하고 싶을 때

 

[Models.py]

 

Class Memo(models.Model):

   …

   request_user = None # 빈 공간을 하나 만들어둔다.

   def delete(self, *args, **kwargs):

      if self.request_user and self.request_user.if_staff:

         print u'관리자가 메모를 지워먹었구나!!'

      super(Memo, self).delete(*args, **kwargs) # Call the "real" delete() method.

 

[views.py]

 

def memo_delete(request, memo_id)

   memo = Memo.objects.get(id=memo_id)

   memo.request_user = request.user

   memo.delete()

 

이런 꼼수를 쓰고 있습니다. 혹시 정공법은 없는지, 아시는분 안계시나요.

 

ps1. 이거 탭이 안먹어서 띄어쓰기 편집 다시 했네요 =_=;;

 

ps2. request_user를 만들어서 쓰는건 forms.py 에서도 요긴하게 써먹고 있습니다. clean 메소드 만들때 은근히 비교할일 있더라고요.

장고 호스팅 서비스를 궁금해 하시는 분들이 많은데 국내에 장고(파이썬)호스팅 서비스는

 
Woojing Seok

장고 호스팅 서비스를 궁금해 하시는 분들이 많은데 국내에 장고(파이썬)호스팅 서비스는 없기때문에 일반적으로 가상서버(VPS)를 사용합니다.

 

워낙 서비스업체가 많은 관계로 장고 그룹에서 주로 언급된 서비스만 추렸습니다.

 

 개인적인 목적(학습, 소규모 서비스)이신 분들이 대부분이라 생각해서 각 서비스에서 제공하는 최저가를 기준으로 조사했습니다 ㅎㅎ;

 

ucloud

CPU(core): 1

RAM : 1GB

DISK : 100GB

Traffic : 50GB per month

OS : centos 5.4

Cost : 3,9000\(1년 약정시3,0000\) per month

 

J4F

CPU(core): ?

RAM : 512MB

DISK : 25GB

Traffic : 3GB per day

OS : Debian 6.0, Ubuntu 10.04(LTS), Ubuntu 11.04, CentOS 6.0

Cost : 5500\ (1년 선납시 4125\) per month

Etc: 설치비 2,2000\, 무료 테스트기간 7일 제공, 쌉니다…

 

Cafe24

CPU(core): share

RAM : 512MB

DISK : 20GB

Traffic : 100GB per month

OS : 64bit CentOS 5.x / Fedora 11/ Ubuntu 10.04

Cost : 5500\(1년 선납시 4950\) per month

Etc : J4F와 더불어 가난한 개미개발자들을 위한 저가 호스팅 서비스 투톱입니다. 싸요… 

 

스마일서브

CPU(core): share

RAM : 512MB

DISK : 40GB

Traffic : 150GB per month

OS : 다양한것으로 추정됨(-_-;;)

Cost : 1,5000\ per month

Etc : 보증금 1,5000\

 

ep.io

CPU(core): N/A

RAM : 128MB

DISK : 2GB

Traffic : 5GB per month

OS : N/A(app hosting)

Cost : $0.03 per hour($21.6 per month)

Etc : 위에서 소개한 가상 서버 호스팅이 아닌 google app engine 같은 어플 호스팅서비스 입니다. 언어는 파이썬이고 PostgreSQL를 사용할수 있습니다.

메모리, 디스크, 트래픽 모두 사용량에 따른 추가 과금이 이루어집니다.

 

Amazon EC2

CPU(core): 1 virtual core with 1 EC2 Compute Unit

RAM : 1.7GB

DISK : 160GB

Traffic : 1GB per month

OS : RHEL,SUSE,Ubuntu,Debian,Gentoo,Fedora,Amazon Linux, Oracle Linux

Cost : $0.10 per hour($72 per month)

Etc : 제공 지역별로 가격이 조금씩 다른데 도쿄 요금으로 조사했습니다. 기본 제공사양중 트래픽 부분이 아주 약한데 초과분은 추가과금되게 되어있습니다. 트래픽뿐 아니라 CPU,Memory 등등 아주 세부적으로 추가 과금 요금제가 만들어져 있습니다.

 

라엘님의 국내 VPS 리뷰

http://blog.lael.be/182

아주 감동적인 리뷰입니다 ㅠㅠ. 국산 VPS사용하실 계획이면 꼭 보시길.

(2012. 5. 30 수정) 제목은 거창하지만;

 
Kenial Lee

(2012. 5. 30 수정)

 

제목은 거창하지만;

한국에서 Django로 개발된 사례의 목록이 있다면 좋지 않을까 하는 생각에 문서를 만들어 보았습니다 :

 

https://docs.google.com/spreadsheet/ccc?key=0AklzzbL8qXwhdERoR2FsZGh4VXQ5X2pROFE5aWVLMEE&hl=en_US

 

페이스북 그룹의 문서 기능은 히스토리가 남지 않기 때문에 악의 혹은 실수로 인해 문서 내용이 유실될 수도 있기에 – Django 그룹 여러분들은 절대 그러실 분들이 아닌 것을 알지만! – 이렇게 구글독스 링크로 대체합니다. (로그인하지 않으셔도 볼 수 있습니다)

 

추가할만한 사례를 알고 계시다면, 이 텍스트 아래에 적어주세요.

제가 가끔 들어와서 문서 내용을 갱신하도록 하겠습니다.

 이번부터는 모임 내용을 간략하게라도 정리해서 올리려고 합니다. 그런데

 
Woojing Seok

 이번부터는 모임 내용을 간략하게라도 정리해서 올리려고 합니다.

그런데 이번 모임이 남자들의 수다 만으로 진행이되어서 편집을 어떻게 해야할지 난감해서 좀 시간이 걸렸습니다.

 

이번 모임은 이수겸님께서 제안해주시고 도와주셔서 포스코 센터의 마소 세미나실에서 진행하게 되었습니다.

 

 참석자 : 최용, 이수겸, 문현진, 김슬, 석우징

 

 먼저 포스코센터 5층에 위치한 마소 세미나실은 토즈같이 여러 세미나실이 늘어선 구조로 되어있었는데 재미 있는건 꼭 영화에서 보던것처럼 전력관리가 컴퓨터로 조작이 되는 구조라 로비에 있는 터치 패널로 상태를 확인하고 조작할수 있게 되어있는 점 이었습니다.

 그런데 마침 저희 모임 시간에 그 시스템이 망가져서 불도 안켜지고 프로젝터도 사용할수 없었습니다.

 심지어는 블라인더까지 전자식 컨트롤이라 불도 안들어오고 블라인더로 창문이 가려진 어두운방에서 남자 다섯이서 수다를 떨게 되었지요.

 

 대화가 어떻게 시작 되었는지는 잘 기억나지 않습니다. 저혼자 어두운 방에서 어떻게 블라인더라도 올릴수 있지 않을까 낑낑대는 사이 이수겸님이 오시고 금방 다른 분들도 오셔서 간단히 자기 소개를 하고 자연스럽게 대화가 이어졌습니다.

 

석 : 문현진 님은 장고를 어떤곳에 사용하고 계신가요?

문 : 장고는 나홀로 프로젝트에 프론트 엔드로 사용하려고 생각을 하고 공부하려는 중입니다.

 

 오픈스택, 오픈 네뷸러, 메이븐 등을 묶어서 시스템을 구축하고 장고를 써서 웹브라우저를 이용해서 컨트롤 하려고 하거든요.

 

 이렇게 저렇게 오픈소스를 써서 프로젝트를 만드는데 제가 부족하나마 조금 쓸만한걸 만들어 공개하면 다른분들이 조금씩 도와 주실수 있지 않을까 생각합니다.

 

 사실은 우리나라에서도 오픈소스 프로젝트가 많이 나왔으면 하는 바램이거든요.

 

 그러고보니 우리나라에도 장고 커미터가 있나요?

 

모두들 : (웅성웅성) 없지 않나…-_-;

 

김 : 혹시 아침놀 님이 커미터시진 않을까요? django에 무슨 버그를 발견하셨다거나 그런 말씀을 자주 하시는걸 들었는데..

[[이부분은 제가 조금 검색해봤는데 장고 개발을 많이 하신 분이긴 하지만 커미터인지 확실한건 잘 모르겠더군요. 혹시 아시는분 있으시면 코멘트 부탁드립니다]]

 

그리고 오픈소스 에 대한 이야기가 잠깐 오갑니다.

 

오픈 소스가 활성화 되지 못하는 이유는 개발자들이 여유가 없어서 그렇다는 이야기가 나오면서 퇴근 시간 이야기가 잠깐 나왔습니다. 이건 개인별, 회사별로 편차가 심한것 같았습니다.

 

석 : 전 거의 9시 이후 퇴근이에요.

 

김 : 전 야근 한달에 두번정도?

 

이 : 전 병특 시절에는 노예처럼 일했는데 병특 이후에 BI(business intelligence) 업체에 취업해서 첫 1년간은 야근 딱 이틀 했습니다.

 

문 : 구글에서 한국의 오픈소스 커뮤니티를 평가한적이 있다는데 KLDP같은곳에서 열기가 있었으나 그 열기가 지속적으로 이어지지 못했다고 하네요.

 

이 : IT쪽의 허리가 부러져서 그런것 같습니다. 닷컴 버블이 꺼지고 살아남은 사람들이 위로 올라 갔는데 그 뒤를 쫓아올 사람들이 유입되지 않았어요.

 

 이후 한국 IT의 현실 이야기가 잠깐 이어졌는데… 열심히 합시다 여러분 ㅠㅠ

 

이 : 지금 진행하는 프로젝트의 웹 프론트를 장고로 제작하는데 개발이 너무 빠르고 쉽게 진행되서 깜짝 놀랬습니다. 웹 개발자들은 도대체 뭘 먹고 살려고 이런걸 만든겁니까 ㅋㅋ.

 

석 : 현진님은 아직 장고를 배우시는 중인데 해보기도 전에 장고로 프로젝트를 만들기로 정한 이유가 있으신가요?

 

문 : 그냥 장고가 좋아 보여서요. 장고로 해보고 싶었어요. 그래서 나중에 장고랑 통합을 생각해서 코어로직을 파이썬으로 만들기 시작했죠.

 그리고 장고개발자들이 장고를 만든 의도가 밤을 새고 싶지 않아서 만든거라는 이야기에 끌렸어요 ㅎㅎ

 

이 : 저도 거기 끌렸죠 ㅋㅋ

사실 장고 말고도  turbogear, pyramid등이 있기는 한데 turbogear는 좀 낙후되고 pyramid는 홈페이지의 미라가 너무 없어보이더군요-_-. 그래서 장고로 선택했습니다.

 장고는 상당히 고도화된 프레임워크임에도 필요할때 프레임워크 자체를 고쳐서 쓰는게 수월해서 좋더군요.

 

김 : 요즘엔 flask가 대세 같아요.

 

 

 마소 세미나 실을 사용하느라 세미나 주제를 IronPython으로 잡아서 IronPython이야기도 간간히 나왔는데 IronPython의 장점이 WinForm과 WPF같은 GUI 프레임웍을 사용할수 있는것이라 일반 파이썬의 GUI개발 이야기가 오갔습니다.

 

 김 : 게쉬탈트같은걸 쓰면 재미있는 시도가 가능합니다. 실버라이트를 이용해서 웹브라우져에서 JS쓰듯이 Python을 사용할 수 있습니다.

 

석 : 파이썬에서 Tk를 기본 제공해주는데 이건 거의 안쓰더라구요. 안쓰게되는 이유가 있나요?

 

이 : 제 생각에는 이쁘지 않아서 안쓰는거 같아요.

 

김 : 요즘엔 그래도 네이티브와 거의 같게 나오구요. 개발하기도 간편한 편입니다. 정확하게 무슨 컨트롤이 어디에 위치해야 한다 꼼꼼하게 하려고 하면 QT같은 것들에 비해 귀찮아지지만 기본제공하는 흐름대로 자연스러운 배치를 한다고 하면 간단하게 쓰기에 좋습니다.

 

이 : 파이썬으로도 코드 비하인드로 GUI개발을 할수 있으면 좋겠어요.

 

김 : QT가 qml이라고해서 비슷하게 지원합니다.

 

석 : 그러고보니 TortoiseHG가 PyQT로 만들어졌드라구요. 프로그램 전체가 파이썬으로 만들어진것 같습니다.

 

이 : 그래요? 맥도 그런가 (맥용 mercurial 툴을 찾아서 보여주심)

 

김 : 전 GUI툴을 안써서 잘 모르겠네요.

 

부왘ㅋㅋ

 

이어서 파이썬 예찬이 잠시 이어지게 됩니다-_-

그리고 개발자의 미래라던가 대박신화를 받아들이는 나의 자세 같은 주제로 또 한참 토론

 

이후로 치맥을 먹으며 회사욕 퍼레이드가 이어졌습니다. ㅎㅎㅎ

 

 재미있고 유익한 시간이었습니다. 실제 분위기는 재미있었는데 제 부족한 필력때문에 도대체 그 분위기가 전달이 안되네요 ㅠㅠ.

 쓸데없이 길기만한 글이 된것 같아서 다음번 후기는 좀더 잘쓸수있도록 준비좀 해야겠네요.

 

그럼 다음에 뵈요~

아시는 분도 계실 테지만, 제가 근무하는 인사이트 출판사에서 이번에 『Python E

 
김승호

아시는 분도 계실 테지만, 제가 근무하는 인사이트 출판사에서 이번에 『Python Essential Reference』의 4판을 발간 준비 중입니다. (원서 링크 : http://www.amazon.com/Python-Essential-Reference-David-Beazley/dp/0672329786)

 

이 책의 2판은 기존에 다른 언어를 다룰 줄 아는 프로그래머가 파이썬을 배우기에 가장 적합한 책이라는 평을 얻기도 했는데요. (장혜식openlook 님의 추천 글 링크 : http://openlook.org:625/blog/2006/03/20/cb-1062/) 2009년에 파이썬3까지를 다룬 4판이 나왔습니다.

 

이제 막 초벌 번역이 끝나서, 원고를 읽고 의견을 주실 리뷰어를 모집하려고 하는데요. 관심 있는 분들은 제 이메일(raccoony _at_ insightbook.co.kr)로 연락주세요~.

 

리뷰어들께서 맡으실 일은 다음과 같습니다.

 

1. 원고 읽기 (너무 당연한가요? ㅎㅎ)

읽으면서 이해가 되지 않는 표현, 문장 등을 체크! 해주세요.

 

2. 기술 검토

어? 이건 틀린 내용 같은데? 라는 부분에 체크! & 어떻게 틀렸는지 적어주세요.

 

원서가 700여쪽이라 방대하다보니 전체를 검토하시기엔 무리겠지요? ^^ 그러니, 리뷰어 신청 메일에 리뷰하고 싶은 대여섯개 장을 적어주시면 되겠습니다. (특정 부분에 몰릴 경우 다른 장을 요청드릴 수도 있습니다.)

 

리뷰어께는 책 형태로 디자인된 A3 프린트물을 택배로 보내드릴 예정입니다.

 

아래는 이 책의 목차입니다.

 

___ 1부 파이썬 언어 ___

1. 파이썬 맛보기

2. 어휘 규약과 구문

3. 타입과 객체

4. 연산자와 표현식

5. 프로그램 구조와 제어 흐름

6. 함수와 함수형 프로그래밍

7. 클래스와 객체지향 프로그래밍

8. 모듈, 패키지, 배포

9. 입력과 출력

10. 실행 환경

11. 테스트, 디버깅, 프로파일링, 튜닝

 

___ 2부 파이썬 라이브러리 ___

12. 내장 함수와 예외

13. 파이썬 런타임 서비스

14. 수학

15. 데이터 구조, 알고리즘, 코드 단순화

16. 문자열과 텍스트 처리

17. 파이썬 데이터베이스 접근

18. 파일 및 디렉터리 다루기

19. 운영체제 서비스

20. 스레드와 동시성

21. 네트워크 프로그래밍과 소켓

22. 인터넷 애플리케이션

23. 웹 프로그래밍

24. 인터넷 데이터 처리와 인코딩

25. 기타 라이브러리 모듈

 

___ 3부 확장과 임베딩 ___

26. 파이썬 확장과 임베딩부록: 파이썬3

 

신청 양식

 

1. 성함

2. 택배 받으실 주소와 택배용 전화번호

3. 하는 일 (간단하게, 개발자 or 학생 등)

4. 리뷰하기 원하는 부분

이 외에 리뷰어 신청 사유 정도(?)를 적어주시면 확실히 선정되실 수도… ㅎㅎ

 

신청 많이 해주세요오~~ ^^

Django는 기본적으로 템플릿을 렌더링 할 때마다 매번 불러와서 처리합니다. 이러한

 
Taeho Kim

Django는 기본적으로 템플릿을 렌더링 할 때마다 매번 불러와서 처리합니다. 이러한 오버헤드를 줄이기 위해 템플릿을 미리 읽고 컴파일해서 메모리에 올려놓도록 템플릿 로딩 캐시를 설정할 수 있습니다.

 

settings.py에서 TEMPLATE_LOADERS 설정을 다음과 같이 바꿔서 적용합니다.

 

TEMPLATE_LOADERS = (

    ('django.template.loaders.cached.Loader', (

        'django.template.loaders.filesystem.Loader',

        'django.template.loaders.app_directories.Loader',

    )),

)

 

한가지 주의하실 점은, 커스텀 템플릿 태그들의 thread safety입니다. 기본 템플릿 태그들은 모두 멀티스레드 환경에서 안전하도록 되어있지만, 커스텀 태그들은 어떻게 되어있을지 모르기 때문입니다.

 

단, 이렇게 설정하면 템플릿을 고쳤을 때 서버 재시작이 필요합니다. 그러니 개발 환경보다는 실제 서버에서 적용하는 게 좋겠죠?

그리고 적용해본 결과 성능이 크게 차이나지는 않지만, 요청이 한꺼번에 몰렸을 때 불필요한 I/O를 줄일 수 있으니 도움이 되지 않을까 싶습니다.

 

참고: https://docs.djangoproject.com/en/1.3/ref/templates/api/#loader-types