목록it (189)
Dharma
And every action you take on a smartphone has the ‘other end’ - the servers and storage in data centers. They are doing more calculation and organization and presentation of information than your handheld device, which is mainly displaying the results these days. The cloud represents the information content of the world, which could never be put on the storage [disk] in your mobile device, or ev..
node.js 를 이용해서 개발한지가 몇개월 지났습니다. 그동안 언어 배우느라 (자바스크립트를 할 줄 몰랐음) - 사실 언어 자체는 어려울게 하나도 없더군요. - 개발 환경에 익숙해 져야 해서 좀 더 나에게 맞는 편리한 환경을 만들 여력이 없었으나 이제는 어느정도 익숙해 져서 개발 환경쪽에 신경이 쓰이더군요. (사실은 웹일을 하기 싫어서 딴 짓을 하고 있..) 제가 설명드리는 기준은 OSX 입니다. (우분투를 사랑하지만 제 개발 환경은 OSX 라..) js2-mode avascript 개발하는데 있어서는 완전 필수입니다. 문법 체크까지 해서 이상한 거는 빨간 밑줄을 그어주더군요. (빨간펜 선생님?!!) 설치법 입니다. $ svn checkout http://js2-mode.googlecode.com/sv..
http://www.ziggytech.net/technology/web-development/experiences-with-node-js-porting-a-restful-service-written-in-java/ - 초간단 요약 - 기존의 자바 서비스하고 있던 부분의 일부를 node.js 로 포팅해서 두개를 벤치마크 해 봄. 자바는 멀티코어 환경에서 테스트하고 node.js 는 cluster 를 안쓰고 단일 코어에서 (아무것도 안하면 단일코어에서 도니 ㅎㅎ) 동작시켜봄 결과는 아래와 같음 씨피유와 메모리는 적게 쓰지만 (훨씬 적게..) 성능은 그리 낫지 않음. 이거저거 바꿔가며 테스트를 하던중 ORM 을 지원하는 Sequelizer 가 느리다는 것을 알아냄, node-mysql 로 바꾸고 나니 바뀐 내..
Express (Node.js의 웹 프레임 워크) 에서의 Middleware 개념은 쉽게 설명하자면 Java 에서의 Filter 와 비슷한 개념입니다. 자주 쓰이고 통념적으로 쓰이는 행위들을 미리 걸러주는 역할을 한다고 볼 수 있습니다. 예로 들면 express 가 내부적으로 쓰고 있는 formidable 은 HTTP의 request 를 정리하는데 탁월합니다. 그러나 개발자가 매번 formidable 을 불러서 정리하는 것이 번거로울 수가 있기 때문에 이를 middleware 로 만들어서 app.use(express.bodyParser()); 이런식으로 선언만 해두면 사용이 되는 것입니다. (내부적으로 formidable 이 쓰이고 있음. ) 이런 미들웨어를 만드는 법이 찾아보진 않았지만 예제가 많지는 ..
ClojureScript 라고 들어 보셨는가요? 자바 스크립트 (Javascript) 는 대단히 편리한 언어이고 렉시칼 스코프 (Lexical Scope)를 지원해서 Anonymous Function 이나 Closure 를 지원하는 등, 고급 추상적인 언어가 지녀야할 몇가지 장점을 지니고 있습니다. 또한 문법도 쉽고 그래서 빠르게 전파되고 있습니다. 게다가 V8 엔진을 쓰는 Node.js 등 이제는 속도면에서도 자바(Java)에 필적하고 있습니다. (예전 제 포스트 참조) 그러나 자바스크립트는 또한 약점이 존재합니다. 자바스크립트 지지자들도 여러번 지적하는 사항이라고 하는데요 (사실 저는 잘 모르겠습니다 -ㅅ- ). 지나치게 단순하고 어딘가 허술하며, 확장시키기 좋지 않으며 어떤 기능을 구현하기 위해서 ..
색이 나오고 안 나오고의 차이가 무지 큽니다. 세팅도 쉽습니다. $ git config --global color.ui true 위에 것만 Command Line 상에서 쳐 주시면 끝!!
OSX 에서 GNU Emacs 를 사용중입니다. 귀찮고도 짜증나는 것중의 한가지가 왠만한 것들에 PATH 가 전혀 안 잡혀 있다는 것입니다. 심지어 $HOME/.bash_profile 에 내용을 넣어준다고 해도 Emacs 는 그 Path 의 영향을 받지 않더군요. 현재 Emacs 가 가지고 있는 PATH 정보를 확인하고자 한다면 M-x shell 로 들어가서 Prompt 가 뜨면 bash-3.2$ env | grep PATH EMACSPATH=/Applications/Emacs.app/Contents/MacOS/bin PATH=/usr/bin:/bin:/usr/sbin:/sbin 이렇게 빈약하게 걸려 있는 것 뿐입니다. 귀찮더라도 추가해 주고 싶은 PATH 가 있다면 .emacs 파일에 (setenv "..
우동이는 갔습니다. 아아, 사랑하는 나의 우동이는 갔습니다. 푸른 산빛을 깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서, 차마 떨치고 갔습니다. 황금(黃金)의 꽃같이 굳고 빛나든 옛 맹서(盟誓)는 차디찬 티끌이 되어서 한숨의 미풍(微風)에 날아갔습니다. 날카로운 첫 키스의 추억(追憶)은 나의 운명(運命)의 지침(指針)을 돌려 놓고, 뒷걸음쳐서 사라졌습니다. 나는 향기로운 우동의 말소리에 귀먹고, 꽃다운 우동의 얼굴에 눈멀었습니다. 사랑도 사람의 일이라, 만날 때에 미리 떠날 것을 염려하고 경계하지 아니한 것은 아니지만, 이별은 뜻밖의 일이 되고, 놀란 가슴은 새로운 슬픔에 터집니다. 그러나 이별을 쓸데없는 눈물의 원천(源泉)을 만들고 마는 것은 스스로 사랑을 깨치는 것인 줄 아는 까닭에, 걷잡을 수 ..
IT 프로젝트도 별반 다르지 않을 것 같다는 생각이..
As programming environments grow in power, and languages become more abstract, the Lisp style of programming is gradually replacing the old plan-and-implement model. - Paul graham 조금 의역을 하자면 (하드웨어 스펙들이 점점 좋아져서 언어별의 속도차이가 별로 티가 안나는) 프로그래밍 환경이 되어가면 갈 수록 , (프로그래밍) 언어들은 점점 더 추상적이 되어 가고 (조금 더 고수준의 언어가 되어 가고) 리습 스타일의 프로그래밍 방법들이 (Bottom-up 프로그래밍 스타일을 말하는 것 같습니다) 옛날 방식의 '계획을 세우고 구현을 하는' 모델을 점차적으로 대체할 것입..