목록CLISP (6)
Dharma
재미로 만들어(만들었 다기 보다는 포팅- Porting) 본 스팸 필터 입니다. https://github.com/crazia/spam-filter 여기에 올려두었습니다. ('' Practical Common Lisp 이라는 책에 보면 폴 그레이엄이 구상한 스팸 필터에 관한 간단한 예제가 있습니다. 그 알고리즘을 바탕으로 책에서는 CLisp 으로 구현한 예제가 있습니다. (Chapter 23 - Practical: A Spam Filter) 위 내용을 바탕으로 해서 Programming Clojure 라는 책을 쓴 Stuart Halloway 가 간단하게 PCL (Practical Common Lisp) 에 있는 예제들을 Clojure 로 옮긴 것들이 있습니다. (practical-cl-clojure) ..
드디어 저를 괴롭히던 가장 큰 문제가 해결 됐습니다. -0- Weblocks 를 쓰면서 대체 이걸 어떻게 하는 걸까? 하고 고민 했던 것이 /pub/images 말고 딴곳에 있는 image 파일 access 하는 방법이였습니다. 예를 들면 /pub/images/photos/bassist.jpg 를 화면에 출력하고 싶을 때, 대체 어떻게 하는지 모르는 것이였습니다. 워낙 쉬운거라 Example 이나 Tutorial 에 없는 것이겠지요? 개발되어지고 있는 소스 자체를 뒤져서 알아냈습니다. 핵심은 make-webapp-public-file-uri 라는 이름의 함수였습니다. (defun make-photo-page () (make-widget (lambda () (with-html (:p :id "index" ..
Weblocks 는 리습으로 된 프레임 워크 입니다. 멋지고 편리한 개념으로 무장하고 있지만 리습이라는 언어 자체가 가지는 비 인기성으로 널리 퍼지지는 않았습니다. 그래도 몇가지 편리한 기능들이 있어서 주목하고 있는데, 그중에 대표적인 기능이 Widget 개념입니다. 모든 웹 컴포넌트를 widget 으로 만들고 그 widget을 엮어서 웹 페이지를 만들게 하는 것이지요. 자세한 매뉴얼이나 공식적인 튜토리얼등 형식을 취하는 것이 몇개는 있지만, 전반적으로 문서가 많이 부족합니다. 게다가 lisp 자체에 대한 이해도가 필요합니다. (CLOS 같은 것에 대한 지식) 더구나 저는 Web 도 잘 모르는 판국이라 여러가지로 배우기가 힘들지만 한개씩 한개씩 정복해 나가는 재미가 있습니다. 설치하고 웹 프로젝트 만들고..
요즘 javascript 공부를 하고 있습니다. 인터넷 뜬지가 언제인데.. 지금 와서 웹 공부를 하는지 저도 잘 모르겠지만 이 공부 덕분에 쌓여 있는 책을 제대로 못보고 있는 안타까움이 존재합니다. -0- 문제는 javascript 공부를 할 때 DOM 명령어들을 오타를 내서 자꾸 javascript 가 틀리는 문제가 발생하더군요. 제가 쓰는 Emacs 는 이런일을 아주 깔끔하게 처리할 수 있게 잠깐만 코딩해 주면 되는 것이지요. 즉 Javascript-mode 에 DOM 명령어들을 Keyword 로 등록해 주면 오타가 발생하는지 알아볼 수 있습니다. 추가하는 과정을 살펴보기로 합니다. .emacs 에 다음과 같은 부분을 추가합니다. (make-face 'dom-keywords-face) face 한개를..
역시나 친절하게 상단 헬프에서 알려주는 것을 한참 찾았네요. -ㅅ- 이런건 구글신이 잘 안 알려주는것 같습니다. 'C-q' 입력하시고 ( 입력하시면 ( )
언제나 새로운것이 문제입니다. 또 '눈범'을 욕하면서 시작하게 되는군요. sbcl 좀 깔아볼까 했더니 sbcl 은 신기하게 기존에 리습이 깔려 있어야 빌드 할 수가 있더군요. 이런 신기할데가.. 그래서 가장 만만한 clisp 을 깔아주기로 했습니다. 열심히 세팅한 macport 가 있으니 가비얍게 커맨드를 입력했습니다. sudo port install clisp 무엇인가 주르륵 뜨더니 안된다고 하더군요. 슥슥 구글을 돌려보니 이런 문제가 속출해서 portfile 이 올라왔더군요. 그래서 포트파일을 받아서 저장시켰는데 그 다음 문제가 이 포트파일로 대체 어떻게 설치하는가 하는 문제였습니다. 역시 찾아보니 답이 나오더군요. 1. 아무데나 폴더 한개 만들어줍니다. - mkdir clisp 2. 다운 받은 포트..