ChicagoBoss 안내
(ChicagoBoss)[http://www.chicagoboss.org] Evan Miller 가 창작 하고 erlang / OTP 를 사용 하 는 개발 자 들 은 Ruby On Rail 웹 프레임 워 크 와 유사 한 MVC 모델 을 통 해 표준 웹 애플 리 케 이 션 을 개발 할 수 있 습 니 다.erlang 은 자바 와 마찬가지 로 컴 파일 형 언어 에 속 합 니 다. erlang 의 원본 파일 은 하나의 beam 파일 로 컴 파일 됩 니 다. beam 파일 은 erlang 의 가상 컴퓨터 에서 실 행 될 수 있 습 니 다. 자바 컴 파일 된 바이트 코드 가 자바 가상 컴퓨터 JVM 에서 실 행 된 것 과 같 습 니 다.이 글 의 시리즈 에서 저 는 여러분 과 Chicago Boss 에 대해 이야기 하 겠 습 니 다.저 는 여러분 들 이 erlang 을 알 고 있 거나 기능 성 개발 지식 을 알 고 있다 고 가정 합 니 다. 그렇지 않 으 면 learnyousomeerlang. org 를 방문 하여 공부 하 는 것 을 권장 합 니 다.
한 걸음 한 걸음 걸어오다
erlang 설치
시스템 버 전: Linux Ubuntu 14.04, 나 는 보통 미리 설 치 된 erlang 을 마 운 트 해제 하고 실행 할 때 원본 커 널 을 사용 하여 수 동 으로 설치 합 니 다.셸 에서 아래 대로 실행
> cd ~
> mkdir bin
> cd bin
> sudo apt-get remove erlang
> sudo apt-get build-dep erlang
> curl -O[https://raw.githubusercontent.com/spawngrid/kerl/master/kerl](https://raw.githubusercontent.com/spawngrid/kerl/master/kerl)
> chmod u+x kerl
> echo "" >> ~/.kerlrc
> ./kerl update releases
> ./kerl build 17.5 17.5
> ./kerl install 17.5 ~/bin/lang/erlang/17.5
> echo "source ~/bin/lang/erlang/17.5/activate" >> ~/.profile
> echo "export PATH=$PATH:$HOME/bin:." >> ~/.profile
위 절차 가 완료 되면 기계 위 에 작업 할 수 있 는 erlang 이 실 행 될 때 셸 에 erl 을 입력 하면 erlang REPL 을 얻 을 수 있 습 니 다.
ChicagoBoss 설치
여전히 셸 에서 작 동 합 니 다.
>sudo apt-get install git
>mkdir workspace
>cd workspace
>git clone [http://github.com/ChicagoBoss/ChicagoBoss.git](http://github.com/ChicagoBoss/ChicagoBoss.git) -b v0.8.13
저희 첫 번 째 Chicago Boss (CB) 프로젝트 를 만 들 고 개발 합 니 다.
여전히
>cd
>cd workspace/ChicagoBoss
>make app PROJECT=first
>cd ../first
>./init-dev.sh
CB 응용 소스 파일 트 리 구조
first/
├── boss.config
├── init-dev.sh
├── init.sh
├── deps
│ ├── boss
│ ├── boss_db
│ └── ...
├── log
│ ├── console.log
│ ├── crash.log
│ └── error.log
├── Makefile
├── priv
│ ├── first.routes
│ ├── init
│ ├── rebar
│ └── static
├── README.md
├── rebar
├── rebar.cmd
├── rebar.config
├── src
│ ├── controller
│ ├── first.app.src
│ ├── mail
│ ├── view
│ └── websocket
└── start-server.bat
저 는 개인 적 으로 Emacs 를 사용 하 는 것 을 권장 합 니 다. 어떤 사람들 은 Sublime Text, some Erlide 또는 VIM 을 사용 할 것 입 니 다. 어떤 것 을 사용 하 느 냐 는 전적으로 당신 에 게 달 려 있 습 니 다. 어떤 텍스트 편집기 만 사용 하면 됩 니 다.
나의 첫 번 째 controller / view 컨트롤 러 와 보기
관례 에 따 르 면, 컨트롤 러 의 이름 은 다음 과 같 아야 한다.
/src/__controller.erl
예 를 들 어 index 라 는 contrller 를 만 들 고 싶 습 니 다. index 라 는 action 을 포함 하여 브 라 우 저 에 접근 할 때.http://localhost:8001/index/indexhello world 라 는 글자 가 나 옵 니 다.first / src / controller / first 편집index_controller. erl 아래 처럼:
-module(first_index_controller, [Req, SessionId]).
-export([index/3]).
index('GET', [], _ReqCtx) ->
{ok, [{msg, "Hello World!!!"}]}.
응답 하 는 보기 파일 은: / src / view /.
index controller 에 있 는 index action 보기 파일 은: first / src / view / index / index. html 아래 에 따라 편집 합 니 다.
{{ msg }}
그리고 셸 에서 curl 명령 을 통 해 접근:
curl -X GET[http://localhost:8001/index/index](http://localhost:8001/index/index)
action:
CB 의 action 중 하 나 는 2 ~ 3 개의 인 자 를 포함 하 는 방법 이다.첫 번 째 매개 변 수 는 request 요청 과 일치 하 는 방법 입 니 다. 예 를 들 어 'GET', 'POST', 'PUT', 'DELETE', 'HEAD'. 두 번 째 매개 변 수 는 url 의 token 토 큰 정보 입 니 다.세 번 째 매개 변 수 는 선택 할 수 있 습 니 다. 요청 한 컨 텍스트 정보 입 니 다. CB 는 action 에 요청 한 컨 텍스트 정 보 를 제공 합 니 다. context 는 사실 키 쌍 목록 입 니 다. 그 중의 키 쌍 은 일부 boss 에 있 을 수 있 습 니 다.filter 필터 의before 방법 에서 수정 되 었 습 니 다.다음 예제 에 서 는 context 컨 텍스트 가 있 는 action 을 보 여 줍 니 다.
-module(first_index_controller, [Req, SessionId]).
-export([index/3]).
index('GET', [], ReqCtx) ->
lager:info("Request Context: ~p",[ReqCtx]),
{ok, [{msg, "Hello World!!!"}]}.
기본 동작
기본 action 이 무엇 인지, 요청 한 url 에서 어떤 action 을 실행 할 지 판단 할 수 없 을 때 기본 action 으로 전 송 됩 니 다. 이러한 기능 을 제공 할 필요 가 있다 면 controller 에서 속성 * - default 을 사용 할 수 있 습 니 다.action()。CB 프로그램 에서 기본 액 션 을 제공 하지 않 으 면 404 페이지 로 이동 합 니 다.
예 를 들 어 index controller 에서 이렇게 정의 합 니 다.
curl -X GET[http://localhost:8001/index](http://localhost:8001/index)
then http://loaclhost:8001/index will execute the default action index.
-module(first_index_controller, [Req, SessionId]).
-export([index/3]).
-default_action(index).
index('GET', [], _ReqCtx) ->
{ok, [{msg, "Hello World!!!"}]}.
curl 명령 으로 접근
curl -X GET[http://localhost:8001/index](http://localhost:8001/index)
이때 http://loaclhost:8001/index 기 회 는 기본 index 라 는 action 으로 이동 하여 실행 하면 페이지 에 한 줄 의 텍스트 가 나타 납 니 다.
hello world.
다음으로 전송:https://www.cnblogs.com/vowei/p/4417429.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.