kkeun.net
에 다른 페이지를 추가하기 위해 웹프레임워크/라이브러리를 보고 있다.
웹페이지를 동적으로 바꾸는 데에 적합한 것들인 것 같다. 사용법을 대강 봤는데,
생각보다 코드가 길고 복잡하다. 하지만 많은 사람들이 좋은 거라고 하니 이보다 더 좋은 것이 없을지도 모른다.
웹서버는 따로 짜야 한다. 이건 아닌 것 같다. 하나의 언어로 서버와 클라이언트를 모두 작성할 수 있었으면 좋겠다.
Ur언어의 타입시스템의 이해는 포기하고 그냥 한 번 간단한 페이지들을 만들어 보았다.
생각보다 엄청 편하다. Ur/Web의 레코드 문법으로 타입을 정의하면 DB설정을 따로 할 필요가 없다. 예를 들어,
$ urweb -dbms sqlite page
로 page.ur
을 컴파일하면 서버 실행파일인 page.exe
와 page.sql
이라는 파일이 생기는데,
$ sqlite3 page.db < page.sql
만으로 서버를 돌리기 위한 모든 DB설정이 끝난다. 내게 익숙한 함수형 프로그래밍은 덤이다.
메모리 누수가 의심되는 메시지가 출력된다. 아이고, 서버 프로그램에 메모리 누수라니. 역시 SML은 쓰는 것이 아니다. 대단한 페이지도 아니었는데 조금 돌려 놓으면 아래와 같은 메시지가 뜬다.
Error triggers unlimited retry: Couldn't allocate new heap chunk contiguously; increasing size to 1024
꽤나 좋아 보이는데 1인 프로젝트라 이런 점이 아쉽다. 혹시 맥이 아니라 우분투에서 돌리면 좀 나아질까? 확인이 필요하다.
언어는 너무 좋다. 그런데 개발자들이 개발에 손을 놓은지 6개월이 되었다. 쓸 용기가 나지 않는다.
참고로 1인 프로젝트 Ur/Web은 바로 며칠 전에도 커밋이 있었다. 이쯤 되니 무명의 소프트웨어를 쓰는 것이 얼마나 힘든 것인가 생각하게 된다.
살펴보고 있다.
하나의 언어로 서버와 클라이언트 코드를 동시에 작성할 수 있다.
개발자들이 손을 놓지 않고 있다.
하지만 OCaml을 처음 입문하는 사람처럼 타입만 봐서는 어떻게 쓰는지 알 수가 없다. 방대한 양의 API가 있지만 내가 원하는 것을 찾을 수가 없다. 우연히 찾았다 해도 이해할 수가 없다.
너무 힘들다. 하지만 왠지 이것이 좋은 툴일 것 같아 각잡고 메뉴얼을 정독하려 한다. 이 때문에 당분간 kkeun.net
에 페이지 추가는 불가능할 것 같다.
2016-07-20 씀.