본문 바로가기
728x90
반응형

Programming137

(Django) Ubuntu 10.04 LTS + NginX + Django 1.3 (FastCGI) + Python 2.7.2 이번에는 Ubuntu 10.04 (LTS) 에서 NginX + Django 1.3 (FastCGI) + Python 2.7.2 를 구성해보았다. Python 을 설치하기 전에 zlibc 를 먼저 설치해주어야 distribute 가 제대로 설치되는 삽질이 있었긴 했지만, CentOS에서 설치했던 것처럼 대체적으로 무난하게 설정이 되었다.Install Python# aptitude install zlibc zlib1g-dev# echo 'export PYTHONBREW_ROOT=/opt/pythonbrew' >> /etc/profile; source /etc/profile# curl -kLO http://xrl.us/pythonbrewinstall; chmod +x pythonbrewinstall; ./py.. 2011. 7. 27.
(Django) CentOS 5.6 + NginX 0.8.54 + Django 1.3 (FastCGI) + Python 2.7.2 Python 으로 가장 많이 이용되는 웹프레임워크는 Django 이다. 최근 가벼움과 성능으로 인정을 받고 있는 NginX 와 FastCGI 로 연동하여 설치하는 방법을 간단하게 정리해보았다. CentOS 6.0 이 나오긴 했지만, 아직 5.x 환경도 많이 이용되고 있으리라 생각하여 CentOS 5.6 에서 테스트하였으며, 아마 6.0 에서도 무리없이 설치될 것으로 믿는다.Install Python# echo 'export PYTHONBREW_ROOT=/opt/pythonbrew' >> /etc/profile; source /etc/profile# curl -kLO http://xrl.us/pythonbrewinstall; chmod +x pythonbrewinstall; ./pythonbrewinsta.. 2011. 7. 26.
(Scala) Install Scala JVM에서 사용할 수 있는 언어들이 많이 나온 상태이다. 아직도 Java 만이 JVM 에서 돌아간다고 생각하시는 분들이 계시다. 잠깐만 생각해봐도, Java, Groovy, Scala, Clojure, Jython, Jruby 등등이 줄줄 나온다. 이 중에서도 요즘 Scala 의 인기가 치솟고(?) 있다. PlayFramework 와 함께 쓰면 웹개발도 아주 신속하게 개발할 수 있다. Java 와 연계성도 괜찮으며, 성능도 보장된다. Twitter 에서도 Ruby 기반의 백앤드를 Scala로 바꾸었단다.아무튼 모든 것이 그렇듯, 일단 설치부터 해야, 시작할 수 있으니, 간단하게 OS별로 설치하는 법을 보도록 하자.Before Install먼저, JDK는 설치되어있어야 한다.Windowshttp://www.. 2011. 7. 14.
Python : 딕셔너리, 값으로 정렬하기 Python 에서 Dictionary라는 자료구조가 제공되는데, 이것은 Key 와 Value 로 요소가 이루어진다. 이번에 간단한 프로그램을 만들다가 Value 를 기준으로 Dictionary를 정렬할 필요가 생겼는데, 그 방법을 찾아보니 아래와 같았다. 이는 Python 2.4 이상에서 지원이 된다고 한다. [코드] #!/usr/bin/env python # filename : dict_sort.py from operator import itemgetter dict = {} dict['a'] = 2 dict['b'] = 1 dict['c'] = 5 print(sorted(dict.iteritems(), key=itemgetter(1), reverse=True)) [결과] # python dict_sor.. 2011. 7. 13.
Python : 10MB 이상의 파일중에서 중복된 파일 찾기 PHP, Ruby 에 이어서, Python 에서도 중복파일 찾기를 만들어보았다. # -*- coding: cp949 -*- # 버전 3.2.2 이상 from operator import itemgetter from hashlib import md5 import os TARGET_DIR = "M:\\PATH\\TO\\특정디렉토리" LIMITED_SIZE = 10*(1024*1024) # 10MB def md5sum(filename, buf_size=4068): m = md5() with open(filename, 'rb') as f: data = f.read(buf_size) while data: m.update(data) data = f.read(buf_size) return m.hexdigest() d.. 2011. 7. 12.
perl 스크립트를 통한 해킹 사고 올해 들어서 벌써 2번째 해킹사고가 발생하였다. 한번은 exim 이라는 SMTP를 통해서, 그리고, 어제는 apache+php 를 통해서 이루어졌다. 각기 다른 서비스를 통해서 당했지만, 해킹 형태는 비슷하였다. 해당 서비스의 취약점을 통해서 /tmp 디렉토리에 perl 스크립트를 심고, 데몬으로 돌려서 특정 사이트에 과다 트래픽을 발생시켜서 마비시키는 것이었다. 이를 해결하는 방법으로는 아래 소개한 여러 복잡한 방법이 있지만, 공통점은 perl 을 이용한다는 것이므로, 가장 간단한 방법은 perl을 삭제하여 없애버리는 것이다. ^^; Simple is Best ??? http://blog.naver.com/PostView.nhn?blogId=nicegass&logNo=130033355546&redire.. 2011. 6. 23.
728x90
반응형