http://blog.sanctum.geek.nz/compiling-in-home/
덧) .local 디렉토리를 만들어 설치하는게 좀 더 깔끔하고 안전
http://blog.sanctum.geek.nz/compiling-in-home/
덧) .local 디렉토리를 만들어 설치하는게 좀 더 깔끔하고 안전
1. model의 존재 여부나 비교시에는 foo.bar 보단 foo.bar__id를 사용하자 - 불필요한 database hit을 줄여줌
2, filter 사용시에도 마찬가지. Foo.objects.filter(blah=bar) 보단 Foo.objects.filter(blah=bar__id) 로.
3. model object 자체가 아니라 단순히 값만 필요할 때에는 QuerySet.values()나 QuerySet.values_list() 를 사용하자.
4. 이미 갖고 있는 값을 또 다시 찾지 말자.
ex ) foreign key 값이 필요한 경우 : foo.bar.id 대신 foo.bar_id 를 쓰면 된다.
5. Python에서 기본 자료형으로 Decimal은 Float에 비해 느리다. (http://stackoverflow.com/questions/195116/python-decimal)
현재 쓰고 있는 2.7.3 버전에서도 저 정도는 아니지만 동일한 코드로 테스트 해 보니
FLOAT 0.00903288048187
DECIMAL 0.84641688295
와 같은 결과가 나왔다. FloatFields를 쓰자.
6. QuerySet.select_related()
6-1. get_object_or_404 + select_related : get_object_or_404(Model.objects.select_related(), foo=bar)
구상하던 어플의 백엔드를 node.js를 써서 개발하기로 했다.
DB는 MongoDB를 많이 쓰던데 굳이 NoSQL이 필요한것도 아니고 그냥 익숙한 MySQL을 쓰기로 결정했다.
굉장히 간단하긴 한데 살을 붙여 가면 어떻게 될지...
레이아웃 ㅅㅂㄻ
1. ajax로 페이지 이동을 처리 할 경우 브라우저의 백 버튼 사용이 어렵다.
solution) pjax (https://github.com/defunkt/jquery-pjax)
html5에는 window.history.pushState() method가 있어 url 전환을 처리할 수 있다.
pjax는 html5를 지원하는 브라우저에서는 ajax로 , 지원하지 않는 브라우저에서는 일반 anchor 태그로 작동하게 해 url 전환을 처리한다.
2. ajax로 불러온 response의 inline javascript 실행이 제한되어 있다.
아직 명확한 솔루션이 없는 것 같다. 보안상의 문제가 있어 어쩔 수 없는 듯...
margin: 0 auto; 를 사용하면
Chrome, IE9 에서는 margin-left, margin-right 값이 계산 되어서 명시되지만
Firefox에선 그냥 0으로 나온다.
정렬하는데 애먹었음..