LoginSignup
1
1

More than 5 years have passed since last update.

Mac で Julia #13 Webサービス用パッケージ Mux

Last updated at Posted at 2018-09-04

前回に引き続きJuliaについてです。

基本的にはドキュメントに沿って試していきます。

今回はMux.jlというWebサービス用パッケージを試してみたいと思います。

Mux

Mux.jlのサイトを参考に試したいと思います。

インストール

julia> Pkg.add("Mux")
 Resolving package versions...
 Installed Pidfile ─────── v1.1.0
 Installed AssetRegistry  v0.0.2
 Installed Hiccup ──────── v0.2.2
 Installed Mux ─────────── v0.5.3
 Installed Lazy ────────── v0.13.1
 Installed WebSockets ──── v1.0.0
 Installed QuadGK ──────── v2.0.2
  Updating `~/.julia/environments/v1.0/Project.toml`
  [a975b10e] + Mux v0.5.3
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [bf4720bc] + AssetRegistry v0.0.2
  [9fb69e20] + Hiccup v0.2.2
  [50d2b5c4] + Lazy v0.13.1
  [a975b10e] + Mux v0.5.3
  [fa939f87] + Pidfile v1.1.0
  [1fd47b50]  QuadGK v2.0.1  v2.0.2
  [104b5d7c] + WebSockets v1.0.0

起動

julia> using Mux
[ Info: Precompiling Mux [a975b10e-0019-58db-a62f-e48ff68538c9]

julia> @app test = (
         Mux.defaults,
         page(respond("<h1>Hello World!</h1>")),
         page("/about",
              probabilty(0.1, respond("<h1>Boo!</h1>")),
              respond("<h1>About Me</h1>")),
         page("/user/:user", req -> "<h1>Hello, $(req[:params][:user])!</h1>"),
         Mux.notfound())

julia> serve(test)
[ Info: Listening on: Sockets.InetAddr{Sockets.IPv4}(ip"127.0.0.1", 0x1f40)

ローカルホストで起動したようです。8000ポートでアクセスできました。

ログはこんな感じです。

julia> [ Info: Accept:  🔗    0↑     0↓    0s 127.0.0.1:8000:8000 ≣16
┌ Info: HTTP.Messages.Request:
│ """
│ GET /about HTTP/1.1
│ Host: localhost:8000
│ Connection: keep-alive
│ Upgrade-Insecure-Requests: 1
│ User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
│ DNT: 1
│ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
│ Accept-Encoding: gzip, deflate, br
│ Accept-Language: ja,en-US;q=0.9,en;q=0.8
│ Cookie: _ga=GA1.1.1000618626.1461677072
│
└ """
┌ Info: HTTP.Messages.Request:
│ """
│ GET /user/qoAop HTTP/1.1
│ Host: localhost:8000
│ Connection: keep-alive
│ Upgrade-Insecure-Requests: 1
│ User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
│ DNT: 1
│ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
│ Accept-Encoding: gzip, deflate, br
│ Accept-Language: ja,en-US;q=0.9,en;q=0.8
│ Cookie: _ga=GA1.1.1000618626.1461677072
│
└ """

ソースファイルをserver.jlなどで保存してjulia -L server.jlでも起動できます。

Muxの使い方がまだよくわかっておりません。

今日はこの辺で。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1