CommonLisp 웹 애플리케이션 프레임워크 Caveman2에 대한 메모
3526 단어 웹 애플리케이션common-lispcaveman2
소개
CommonLisp에서 웹 애플리케이션을 작성하기 위한 프레임워크인 Caveman2에 대해 살펴본 것을 메모해 갑니다.
주) Roswell을 사용한다고 가정합니다. 사전에 설치하십시오. (아래 참조)
스켈레톤 프로젝트 생성
Roswell의 local-projects 디렉토리로 이동합니다.
자신의 디렉토리가 있으면 그 안에 들어가,
cd ~/.roswell/local-projects/"<User Name>"
없으면 디렉토리를 만든 다음 들어갑니다.
(이것은 Github에서 계정 이름이 좋은가?)
cd ~/.roswell/local-projects/
mkdir "<User Name>"
cd "<User Name>"
REPL을 시작합니다.
ros run
QuickLisp에서 Caveman2를 로드합니다.
(ql:quickload :caveman2)
다음 프로그램을 실행하여 프로젝트 해골을 만듭니다.
(caveman2:make-project #P"./myapp/" :author "<Your Full Name>")
프로젝트 스켈레톤 생성에 성공하면 REPL을 종료합니다.
(quit)
ls
명령 등으로 "myapp"디렉토리가 작성되었는지 확인하십시오.
프로젝트 스켈레톤의 초기 디렉토리/파일 구성은 다음과 같습니다.
프로젝트 스켈레톤 디렉토리/파일 구성myapp
├── README.markdown
├── app.lisp
├── db
│ └── schema.sql
├── myapp-test.asd
├── myapp.asd
├── src
│ ├── config.lisp
│ ├── db.lisp
│ ├── main.lisp
│ ├── view.lisp
│ └── web.lisp
├── static
│ └── css
│ └── main.css
├── templates
│ ├── _errors
│ │ └── 404.html
│ ├── index.html
│ └── layouts
│ └── default.html
└── tests
└── myapp.lisp
그런 다음 local-projects 디렉토리로 이동하여 system-index.txt를 편집합니다.
cd ~/.roswell/local-projects
system-index.txt에 다음을 추가하십시오.
system-index.txt"<User Name>"/myapp/myapp.asd
이렇게 하면 QuickLisp에서 "myapp"를 로드할 수 있습니다.
동작 확인
REPL을 시작합니다.
ros run
"myapp"를 QuickLisp에서 로드합니다.
(ql:quickload :myapp)
웹 애플리케이션을 시작합니다.
(myapp:start)
다음 메시지가 나오면 시작 완료입니다.
Hunchentoot server is started.
Listening on localhost:5000.
#S(CLACK.HANDLER::HANDLER :SERVER :HUNCHENTOOT :ACCEPTOR #<PROCESS clack-handler-hunchentoot(4) [Active] #x17191B5E>)
웹 브라우저에서 http://localhost:5000/
로 이동하면 "Welcome to Caveman2!"로 작성된 페이지가 표시됩니다.
아래 실행중인 스크린샷
제대로 작동합니다 ~
웹 응용 프로그램을 중지할 때 다음 프로그램을 실행합니다.
(myapp:stop)
마지막으로
우선, Caveman2의 동작 확인까지 할 수 있었으므로, 여기에서 좀 더 여러가지 공부해 무엇인가 만들 수 있으면~, 라고 생각하고 있습니다.
Reference
이 문제에 관하여(CommonLisp 웹 애플리케이션 프레임워크 Caveman2에 대한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fireflower0/items/4f902bcc7da40b9f8db8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cd ~/.roswell/local-projects/"<User Name>"
cd ~/.roswell/local-projects/
mkdir "<User Name>"
cd "<User Name>"
ros run
(ql:quickload :caveman2)
(caveman2:make-project #P"./myapp/" :author "<Your Full Name>")
(quit)
myapp
├── README.markdown
├── app.lisp
├── db
│ └── schema.sql
├── myapp-test.asd
├── myapp.asd
├── src
│ ├── config.lisp
│ ├── db.lisp
│ ├── main.lisp
│ ├── view.lisp
│ └── web.lisp
├── static
│ └── css
│ └── main.css
├── templates
│ ├── _errors
│ │ └── 404.html
│ ├── index.html
│ └── layouts
│ └── default.html
└── tests
└── myapp.lisp
cd ~/.roswell/local-projects
"<User Name>"/myapp/myapp.asd
REPL을 시작합니다.
ros run
"myapp"를 QuickLisp에서 로드합니다.
(ql:quickload :myapp)
웹 애플리케이션을 시작합니다.
(myapp:start)
다음 메시지가 나오면 시작 완료입니다.
Hunchentoot server is started.
Listening on localhost:5000.
#S(CLACK.HANDLER::HANDLER :SERVER :HUNCHENTOOT :ACCEPTOR #<PROCESS clack-handler-hunchentoot(4) [Active] #x17191B5E>)
웹 브라우저에서
http://localhost:5000/
로 이동하면 "Welcome to Caveman2!"로 작성된 페이지가 표시됩니다.아래 실행중인 스크린샷
제대로 작동합니다 ~
웹 응용 프로그램을 중지할 때 다음 프로그램을 실행합니다.
(myapp:stop)
마지막으로
우선, Caveman2의 동작 확인까지 할 수 있었으므로, 여기에서 좀 더 여러가지 공부해 무엇인가 만들 수 있으면~, 라고 생각하고 있습니다.
Reference
이 문제에 관하여(CommonLisp 웹 애플리케이션 프레임워크 Caveman2에 대한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fireflower0/items/4f902bcc7da40b9f8db8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(CommonLisp 웹 애플리케이션 프레임워크 Caveman2에 대한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fireflower0/items/4f902bcc7da40b9f8db8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)