목록WEB (6)
Dharma
저번 NMT를 이용한 챗봇(Console) 에 간단하게 웹 인터페이스(web interface) 를 붙여봤습니다. 저번 버젼에서 옵션같은 것을 조정하고 환경변수에 모델이 저장된 위치를 지정하고 웹만 띄우면 되는 버젼으로 가볍게 고쳤습니다. 교육(Train) 시키고 이런 것은 저번 포스트에서 다루었기 때문에 실제로 구동하는 것만 할 줄 알면 될것 같습니다. 웹 버젼은 장고를 이용해서 작성했으면 채널을 이용해서 간단한 웹소켓을 이용하는 식으로 만들었습니다. 저번 포스트 참조하기 다만 저반하고 달라진건 교육 시키는 방법 입니다. 저번에는 급하게 만드느라 package path 연결시키는 것을 무시했는데 이번에는 그걸 다 맞췄습니다. python -m core.nmt \ --attention=scaled_luo..
몇년전에 ROR (Ruby on Rails)이 이슈화 될때의 유명한 ScreenCast 가 생각납니다. '15분만에 블로그' 만들기 였는데, 그 뒤로 새로운 언어나, 새로운 웹프레임워크의 강력함을 설명하기 위해서 항상 블로그를 얼마만큼 빠르게 만들어 낼 수 있는가가 그 척도가 되는 듯 합니다. Node.js도 예외는 아닌듯 싶은데, 실제로도 빠르게 만들어 볼 수가 있으며, 사용하는 사람에게 프로그램을 짜는 즐거움까지 전달합니다. 제가 예전에 정리한 포스트 에서 마지막에 실전 예제라고 소개하는 직접 블로그 만들기에 관한 예제입니다. 소스가 예전 버젼에 맞춰져 있기 때문에 현행화를 조금 거쳤습니다. 환경 OSX Mountain Lion Node.js v0.8.14 express 3.0.1 jade 0.27...
저자: 제레미 키스 옮김: 윤석찬 항상 웹을 배워볼려고 하다 보면 HTML 에서 끄적거리며 이거저거를 해보다가 포기하곤 했었습니다. "웹 자체가 어려운건 아니다" 라는 소리를 항상 들어오곤 했었습니다. 하지만 모르는게 너무 많다보니 배워야 할게 쌓여 있다 보니 웹 자체로 접근하기가 매우 힘들었습니다. 그런 의미에서 이 책은 아주 마음에 드는 책이였습니다. 기본은 Javascript 에 관한 책이였지만 HTML도 CSS도 다루고 있습니다. 그리 많이 다루지는 않지만 따라서 개발하기에 아주 충분할 정도로 잘 다루고 있습니다. 아무 생각없이 따라가다 보면 훌륭하게 결과물이 나오는 모습을 볼 수 있습니다. System Programming 하고는 또 다른 세상을 만나게 해주더군요. 결론적으로 말하면 이제 웹 이..
드디어 저를 괴롭히던 가장 큰 문제가 해결 됐습니다. -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 도 잘 모르는 판국이라 여러가지로 배우기가 힘들지만 한개씩 한개씩 정복해 나가는 재미가 있습니다. 설치하고 웹 프로젝트 만들고..
무지하게 힘들었습니다. -ㅅ- 아직 개발하는 중이라서 어떻게 하면 좋다 라고 하는 부분이 잘 알려져 있지 않아서 삽질에 삽질을 하다가 겨우 알아냈습니다. weblocks 템플릿을 이용해서 만든 어플리케이션의 이름이 temp-cloud 라고 가정하면 temp-cloud 디렉토리 바로 밑에 존재하는 temp-cloud.lisp 파일을 열어서 (defwebapp temp-cloud :prefix "/" :description "temp-cloud: A new application" :init-user-session 'temp-cloud::init-user-session :autostart nil ;; have to start the app manually :ignore-default-dependencies t..