본문 바로가기

Programming/Ruby, Python

merge sort in Python - Python 으로 merge sort 구현하기 Python 을 복습할 겸, 학부시절 재미있게 공부했던 merge sort 를 구현해보았다. wikipedia 에 Pseudo code 가 있어서 쉽게 구현할 수 있었다. 다시한번 Python 언어가 얼마나 프로그램 알고리즘을 검증하는데 편한 언어인지 다시 한 번 알게 된 시간 이었다. 작성된 코드가 Pseudo code 와 거의 똑같다. 정말 최고다! '''Created on 2013. 3. 21. @author: starblood''' def merge(left, right): result = [] while len(left) > 0 or len(right) > 0: if len(left) > 0 and len(right) > 0: if left[0] 0: result.append(left[0]) l.. 더보기
Eclipse IDE 에 Python 플러그인 설치하기 Eclipse IDE 에서 python 프로그래밍을 할 수 있다. 간단하게 Market Place 에서 python 을 찾아서 설치하면 된다. 1. Eclipse 에서 Help -> Eclipse Marketplace 를 찾아서 클릭 2. PyDev 플러그인을 찾는다. 3. PyDev 설치에 필요한 파일을 설정 4. License 에 동의하고 설치 시작 더보기
Ruby - 정규표현식으로 email 형식 체크 다음과 같은 메소드를 만들고 체크하면 될 거 같네요~ def check_email @email_format = Regexp.new(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/) @email.match(params[:email].to_s.strip)end 더보기
Ruby - File 의 sha1sum, md5sum 구하기 아래의 코드는 Linux 명령어 중에서 sha1sum, md5sum 명령어와 같은 기능을 하는 코드입니다. # Simple Hash Code Calculator# Returns SHA1 and MD5 hash sum for any given file require 'digest/md5'require 'digest/sha1' # buffer size 4 kbytesBUFFER_SIZE = 4096 class Hasher# method = "sha1" or "md5"# filepath = Full filepathdef initialize(method, filepath)if (method.upcase == "-SHA1")@hashfunc = Digest::SHA1.new@hashname = "SHA1"else.. 더보기
Python TCP/IP 관련 에러메시지 대응 일단 오류가 어떤 형식으로 나오는 지 살펴 보겠습니다. Exception happened during processing of request from ('xxx.xxx.xxx.xxx', 43933)Traceback (most recent call last): File "C:\Python25\lib\SocketServer.py", line 222, in handle_request self.process_request(request, client_address) File "C:\Python25\lib\SocketServer.py", line 241, in process_request self.finish_request(request, client_address) File "C:\Python25\lib\Soc.. 더보기
Ruby 간단한 파일 읽기 쓰기 프로그램 예제 Ruby 언어를 이용하면 간단한 파일 처리 프로그램을 빠른 시간안에 효율적으로 작성할 수 있다. 파일 여는 것은 아주 간단하다. f = File.open("파일이름", "모드") 파일을 쓰는 것 또한 간단하다. f = File.open("파일이름", "모드") 여기서 모드는 "r" (Read), "w" (Write), "a" (Append) 가 있다. 파일의 내용을 읽는 방법은 아래와 같다. f.each_line do | line | puts line end 파일에 내용을 쓰는 방법은 아래와 같다. f.puts "내용" 루비에서는 커맨드 라인 인자를 읽어들일 수 있는데 따로 사용하는 키워드가 있다.ARGV 라고 한다. ARGV 는 배열처럼 되어 있어서 배열 첨자를 이용하면 쉽게 접근 가능하다. ARGV[.. 더보기