파이썬코딩 일주일째.
모든 것을 다 제공해주시던 레일즈느님의 손을 떠나보니 아쉬운게 한두개가 아니지만, 어쩐지 간만에 “코딩”이란걸 하는 느낌.
그동안 한 게 “조립”에 가까웠다면 말이죠.
귀찮은 일이 많긴하지만, 자바나 PHP에 비하겠습니까.
간만에 책꽂이에 박혀있던 녀석들을 이놈 저놈 꺼내서 공부했다.
오브젝티브씨 어쩐일인지 ObjectiveC(오오츠마코토/멘토르)가 눈에 쏙쏙들어왔다. 읽으면서 생각해보니, 얼마전까지만 해도 오브젝티브씨는 함수이름도 구질구질하게 길고, 쓸 수 있는 플랫폼도 아이폰이랑 맥뿐이라고 버려두었던게 바보같이 생각되었다.
책에는 C/C++과 공통되는 내용이 많이 나오지만, 오히려 그 점 때문에 더 잘 읽을 수 있었다. 새로운 언어 하나를 처음부터 정복하는 기분이랄까. 이제는 아이폰 프로그래밍 책들을 들춰봐도 그다지 어색한 느낌이 들지 않는다.
자바스크립트 얼마전 크락포드의 자바스크립트 핵심 가이드(Javascript: the Good Parts)를 본 다음에는 자바스크립트도 괜찮은 언어라고 생각하기로 했다.
루비 루비언어 자체는 “최소 놀람의 법칙” 덕분인지 그만의 색깔이 없는 것같다. 반면 파이썬은 누가봐도 ‘이건 파이썬이구나’라고 알아차릴 만큼 특징이 뚜렷한 언어였다.
최근에 들어오는 일감들은 무조건 루비온레일즈(ROR)로 진행하고 있다. 그루비를 쓸수있으면 좋겠지만 간단한 어플리케이션은 ROR로 만드는게 빠르다. 몇번 작업을 해보니 꽤 익숙해져서 간단한 넘은 정말 빠르게 만들수 있다.
헌데, 요 며칠 루비 참고서를 다시 들춰보면서, 내가 아직도 이런 종류의 언어들에서는 초보나 다름없다는 것을 깨달았다.
지금 진행중인 프로젝트에서도 루비의 yield를 쓰면 딱 좋은 상황이었는데, (그걸 쓰면 코드가 너무 간단해진다) 이상하게 코드가 길어졌다고 투덜대고 있었다.
파이선으로 시작한 한동안의 방황은 결국 다시 자바로 돌아왔다.
자바서버쪽에 Spring, Hibernate 따위 복잡한 도구들이 있는데, 아무리 잘 써볼라고 해도, XML 로 귀찮게 하거나, SQL 대신 HQL 을 들이밀거나 해서 안쓰고 있었다.
Groovy and Grails 는 이런 복잡한 녀석들을 Groovy 라는 언어를 이용해서 간단하게 뛰어넘고 있다. Groovy는 상당히 유연한 언어인데, Groovy 가 없었다면, 당연히 Grails 도 없었을 것 같다.
국내에서는 Groovy 관련한 리소스가 별로없는데, 사실 세계적으로도 별로 없다. 다만, 자바기반이니까, 스크립트 언어니까, 이리저리 건드려보면 대강 돌아가게는 할 수 있었다.
파이선을 배워보려고 몇번이나 시도했었지만, 잘 안됐었다. 지난주에야 실용적인 프로그램 몇가지를 만들어봤다. 그리고, 이 블로그에서도 몇가지 기능은 파이선으로 바꿔봤다.
프로그램을 하나 작성하는데 드는 비용은 지금까지 만난 어떤 언어보다도 저렴했다. 언어자체도 쓰면 쓸수록 손에 익어가는 재미가 있었다. 아래는 디렉토리 리스트를 돌면서 어떤 파일들을 지우는 스크립트다. 이런 종류의 프로그램을 만들때는 파이선만한 것이 없는 것 같다.
#!/usr/bin/python import os boardnames = \ ["mydir" ,"이름"],\ ["other" ,"이름"] def proc_board(board): for f in os.listdir(board): if f[-3:] == "jpg" and f[:2] == "fe": size= os.
재미삼아 건드려본 파이선은 꽤 쓸만했었다. “이만용”씨의 글이다.
여러 가지 악조건을 고려한 최종 예상치는 초당 1500개였으나 이를 감당할 상용 제품을 쓰기에는 예산이 허락치 않았다. 대안은 오픈소스 LDAP 소프트웨어인 OpenLDAP였다. 그러나 며칠 간의 고통스런 튜닝과 테스트 결과 OpenLDAP으로부터 뽑아낼 수 있는 최대값은 초당 200개 안팎이라는 결론이었다. 고객에게 프로젝트의 가능성을 보여주기 위해 주어진 시간은 채 일주일도 남지 않은 상태였기 때문에 온 회사가 발칵 뒤집혔다.
..
파이썬은 ‘개발자의 여유’ 측면에서도 매우 유용하다.
언어를 만들고 싶다고 한참이나 생각했었지만, 코딩을 반복할 수록 그게 얼마나 어려운 일이진 실감하게된다.
참조우선순위
방금전에 파이선이 좋다고 하는 글을 올렸는데, 사실 언어자체로 보면 이상한 점이 꽤 많다.
x = 2 def F(): x = 1 def G(): print x G() F() 처음 이 코드를 봤을 때 직감적으로 와 닿질 않았다. 브레이스 “{} ” 너무 익숙해져 있기 때문인가보다. 파이선 코드를 자꾸만 보고있으면 브레이스가 없어진 것이 소스를 더 이쁘게 해주는 것 같다는 느낌이 들기도 한다.
미루고 미뤄온 파이선 공부를 어제 시작했다. 모두 다 해봐도 700라인밖에 안되는 코드로도 뭔가 그럴싸한 것을 만들어 낼 수 있었다. 이 정도면 꽤나 효율적인 언어가 아닐까.
느낌은 자바랑 비슷한데,
page_name, addr, ed_time = string.split(line, '\t') 이런 코드는 펄이나, 파이선이 아니면 해내기 힘든 구문일 것 같다. 코드생성자체가 힘들지는 않겠지만, 뭔가 “정통언어스럽지”않아보이기도 한다.
PHP에서는 page_name, addr, ed_time 가 $page_name, $addr, $ed_time 이어야만 했을 것이고, 자바나 씨에서는 선언을 해줬어야만 했을 것이고.. 그런 저런 선언이나 딸라 표시(또는 벅스 표시)가 없는 것이 편하기도 하지만.