Enviar pesquisa
Carregar
OpenRestyでLuaプログラミング
•
2 gostaram
•
2,111 visualizações
Iosif Takakura
Seguir
小江戸らぐ 2014年10月のオフな集まり(第147回)にて発表。 その後まさかのUbuntu PPAのメンテナンスを依頼されるとは。
Leia menos
Leia mais
Software
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 20
Baixar agora
Baixar para ler offline
Recomendados
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
取り込んだネガ画像の色を変換する Python スクリプトを書いてみた
取り込んだネガ画像の色を変換する Python スクリプトを書いてみた
Iosif Takakura
Marp for VS Code で作る PowerPoint スライド
Marp for VS Code で作る PowerPoint スライド
Iosif Takakura
scikit-image でフィルムスキャナで取り込んだネガ画像をポジ化する
scikit-image でフィルムスキャナで取り込んだネガ画像をポジ化する
Iosif Takakura
Django 製 CMS Wagtail で Blog を作ってみる
Django 製 CMS Wagtail で Blog を作ってみる
Iosif Takakura
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
Iosif Takakura
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
Iosif Takakura
Recomendados
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
取り込んだネガ画像の色を変換する Python スクリプトを書いてみた
取り込んだネガ画像の色を変換する Python スクリプトを書いてみた
Iosif Takakura
Marp for VS Code で作る PowerPoint スライド
Marp for VS Code で作る PowerPoint スライド
Iosif Takakura
scikit-image でフィルムスキャナで取り込んだネガ画像をポジ化する
scikit-image でフィルムスキャナで取り込んだネガ画像をポジ化する
Iosif Takakura
Django 製 CMS Wagtail で Blog を作ってみる
Django 製 CMS Wagtail で Blog を作ってみる
Iosif Takakura
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
Iosif Takakura
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
Iosif Takakura
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
DocFXで脱Excel方眼紙!
DocFXで脱Excel方眼紙!
Iosif Takakura
技術的負債との戦い方
技術的負債との戦い方
Iosif Takakura
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
Iosif Takakura
C#初心者がxamarinに手を出してみた
C#初心者がxamarinに手を出してみた
Iosif Takakura
Sphinxで同人誌を書いてみた
Sphinxで同人誌を書いてみた
Iosif Takakura
ようこそ先輩 - 2014年8月2日
ようこそ先輩 - 2014年8月2日
Iosif Takakura
Osuncが終わったら帰りは警察署に行きましょう
Osuncが終わったら帰りは警察署に行きましょう
Iosif Takakura
Mais conteúdo relacionado
Mais de Iosif Takakura
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
DocFXで脱Excel方眼紙!
DocFXで脱Excel方眼紙!
Iosif Takakura
技術的負債との戦い方
技術的負債との戦い方
Iosif Takakura
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
Iosif Takakura
C#初心者がxamarinに手を出してみた
C#初心者がxamarinに手を出してみた
Iosif Takakura
Sphinxで同人誌を書いてみた
Sphinxで同人誌を書いてみた
Iosif Takakura
ようこそ先輩 - 2014年8月2日
ようこそ先輩 - 2014年8月2日
Iosif Takakura
Osuncが終わったら帰りは警察署に行きましょう
Osuncが終わったら帰りは警察署に行きましょう
Iosif Takakura
Mais de Iosif Takakura
(8)
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
DocFXで脱Excel方眼紙!
DocFXで脱Excel方眼紙!
技術的負債との戦い方
技術的負債との戦い方
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
C#初心者がxamarinに手を出してみた
C#初心者がxamarinに手を出してみた
Sphinxで同人誌を書いてみた
Sphinxで同人誌を書いてみた
ようこそ先輩 - 2014年8月2日
ようこそ先輩 - 2014年8月2日
Osuncが終わったら帰りは警察署に行きましょう
Osuncが終わったら帰りは警察署に行きましょう
OpenRestyでLuaプログラミング
1.
UbuntuにOpenResty入れてLuaプログラミング イオシフ▼高倉佑輔
2.
OpenRestyとは? NginxにLuaモジュールなどを組み込んだバンドル版
3.
Luaとは? ●この子(の名前の元ネタ) ●(あ、この子は「エンドブレイカー!」というゲームの私の持ちキャラの一人です。)
●この作品は、株式会社トミーウォーカーのPBW『エンドブレイカー!』用のイラスト として、高倉佑輔が作成を依頼したものです。 ●イラストの使用権は高倉佑輔に、著作権は春琴弥生に、全ての権利は株式会社 トミーウォーカーが所有します。
4.
真面目にLuaの説明 ●スクリプト型プログラミング言語。 ●プロトタイプ型オブジェクト指向
●高い移植性 ●Cとの親和性 ●スクリプト言語最速のJITコンパイラ などなど
5.
こんなところで使われています(1) ●Ragnarok Online
6.
こんなところで使われています(2) ●Civilization V
7.
こんなところで使われています(3) ●Europa Universalis
IV
8.
他にもこんなところで…… ●Osm2pgsql ●VOCALOID3
●PHANTASY STAR ONLINE 2 ●アイドルマスター2
9.
それはともかく この言語をWebに使う方法はないかと探してました。 とおもったらLapisなるWebフレームワークが。
(OpenResty + MoonScript)
10.
しかしまあ…… ほにゃららScript系メタ言語が作られてる言語って 基本的に慣れづらいよねぇ
Javascriptとか。
11.
というわけで MoonScript これまたCoffeeScriptのような言語。
要するにクラス型で書ける Luaコードを生成するメタ言語。 Lapisは、MoonScriptで書ける。 もちろんLuaでも。 Lapisにはテンプレートエンジンもあるらしい。
12.
必要なdebパッケージのインストール ●sudo apt-get
install libreadline-dev libncurses5-dev libpcre3- dev libssl-dev perl make ●sudo apt-get install libpq-dev ●sudo apt-get install ruby1.9.1 ruby1.9.1-dev git-core libxslt1- dev libgd2-xpm-dev libgeoip-dev unzip zip build-essential ●sudo apt-get install luarocks ●sudo apt-get install postgresql postgresql-contrib ●sudo apt-get install mariadb-server-5.5
13.
ソースのダウンロード ●git clone
https://github.com/openresty/ngx_openresty.git ●cd ngx_openresty ●cd ngx_openresty-1.7.4.1rc2 ●vim openresty-ubuntu-build.sh ●sh openresty-ubuntu-build.sh
14.
openresty-ubuntu-build.sh の内容 ./configure
--sbin-path=/usr/sbin/openresty --conf-path=/etc/openresty/nginx.conf --error-log-path=/var/log/openresty/error.log --http-client-body-temp-path=/var/lib/openresty/body --http-fastcgi-temp-path=/var/lib/openresty/fastcgi --http-log-path=/var/log/openresty/access.log --http-proxy-temp-path=/var/lib/openresty/proxy --http-scgi-temp-path=/var/lib/openresty/scgi --http-uwsgi-temp-path=/var/lib/openresty/uwsgi --lock-path=/var/openresty/nginx.lock --pid-path=/var/run/openresty.pid --with-luajit --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-http_stub_status_module --with-http_secure_link_module --with-http_sub_module --with-http_postgres_module # <- Only if you want to access Postgres make sudo make install
15.
OpenRestyが動いたら…… ●luarocksから色々取ってくる –sudo
luarocks install moonscript –sudo luarocks install lapis
16.
Lapis スタートアップ ●lapis
new ●すると以下のようなコードができる lapis = require "lapis" class extends lapis.Application "/": => "Welcome to Lapis #{require "lapis.version"}!"
17.
ここでLuaにコンパイル moonc app.moon
これを行うと、Luaコードが生成される。
18.
app.lua の中身 (実コードをご覧ください)
19.
app.lua の実行 lapis
server で、 http://localhost:8080/ にアクセス! (実際にご覧ください)
20.
ご清聴ありがとうございました
Baixar agora