April 2010
7 posts
3 tags
“가장 이상적인 건 UI 차원에서 “이 문자열의 번역을 개선하기” 같은 컨텍스트 메뉴를 제공해서 바로 피드백이 가게 하는 것이겠지만 그 정도를...”
– Arachneng on Everything 위 이야기는 데스크탑 환경에 관한 이야기지만, Facebook이 실제로 돈 안들이고 사용자들의 참여를 통해 여러 언어로 번역을 진행할 수 있었다. (물론 그러한 시스템을 만드는 비용은 들었겠지만, 번역 비용이 들어간 것은 아니다.) VLAAH도 다음에는 번역을 꼭 그렇게 진행해야지.
Apr 21st
1 note
6 tags
작고 아름다운 언어 Io, Part 1: 설치와 기본 문법 →
지난번 한국 IBM developerWorks에 썼던 VLAAH API 관련 글을 미뤄두고 같은 곳에 또다른 연재를 시작했다. 내가 꽤나 좋아라 하는(했던?) 언어인 Io 튜토리얼이다. 사실 VLAAH API에 대한 연재를 계속하려고 했는데, 요즘 VLAAH API에 작업이 한창이라 훗날 틀린 내용이 될 지도 모르겠다 싶어1 일단은 Io 연재를 대신 시작했다. 그리고 요즘엔 또 지긋지긋한 것도 있어서… ↩
Apr 21st
6 tags
모바일 앱 개발에 대한 얘기가 들리지 않는 날이 없다. 대개 iPhone의 성공을 단일 플랫폼과 적절한 통제에 기인한다고들 말하는데, 맞는 말이긴 하다. 해상도나 장비에 포함된 기능 집합까지 똑같거나 거의 같기 때문에 배포할 때 곯머리도 안 썩고 만들 때도 편한 것이다. 하지만 그것과 별개로 나는 여러 환경에 대한 고려가 좀더 나은 디자인을 만든다고 믿는 사람이다. 여러 환경을 고려하다보면 결국 적절한 추상화를 하게 되는데, 객체 지향 프로그래밍이라면 다형성을 적절히 쓸 것이고, 함수형 프로그래밍이라면 특수화를 잘 쓸 것이다. 단위 테스트가 있는 코드가 대개 없는 코드보다 디자인이 나은 경우가 많다. 왜 그렇냐면 단위 테스트 자체가 클라이언트 코드를 두 개 이상으로 만드는 효과를 주기 때문이다....
Apr 19th
1 note
Apr 12th
이렇게 적긴 했지만, Internet Explorer 6 이하의 JavaScript 구현에서는 배열 리터럴 등에서 마지막 쉼표를 허용하지 않는다. 이건 여러번 당해서 이미 알고 있었다……. 그리고 종텐 님의 제보에 따르면, Erlang도 허용하지 않는다고 한다. 심지어 언어 창시자인 Joe Armstrong이 쉼표를 줄 처음에 쓰는 스타일을 권장하기까지 한다더라.1 덧. 보통 댓글창이 있어도 귀찮아도 안 다는데… 포스팅에 대한 댓글을 이메일로 보내주신 종텐 님께 감사를…;; ㅋㅋ 출처 없음. 종텐 님께 들은 이야기. ↩
Apr 8th
6 tags
예전에 알바했을 때 PHP 코딩을 하는데, 옆 사람의 배열 쓰는 컨벤션이 많이 이상했다. $array = array( 'element' , 'element' , 'element' , 'element' , 'element' , 'element' , 'element' ); 왜 쉼표를 앞에 쓰냐고 물어봤더니 vim에서 dd(한줄 잘라내기) 등의 줄단위 편집을 해도 문법이 깨지지 않게 하기 위해서라고 했다. 그땐 그냥 어이없어서 웃고 넘겼는데 나중에 생각해보니 저건 정말 어리석은 스타일이다. 왜냐면 요즘 대부분 언어에서는 배열/리스트 리터럴에서 맨 마지막에 쉼표를 허용하기 때문이다. $array = array( 'element', 'element', ...
Apr 8th
mockcache →
요즘에 memcached 쓸 일이 많은데, 로컬에서 작업할 때 memcached 설치하기 참 귀찮다. 어차피 memcached는 실제 배포했을 때만 작동하면 된다. 그래서 mockcache라는 것을 만들었다. 테스트 용도로 써도 되는데, 꼭 그런 용도는 아니고 memcached 클라이언트 라이브러리가 하나도 없을 때 이걸 쓰도록 fallback을 구성할 때도 좋다. try: import memcache except ImportError: import warnings import mockcache as memcache warnings.warn("imported mockcache instead of memcache; cannot find " ...
Apr 1st
10 notes