人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyやmod_lua、そしてこれまでApacheモジュールをスクリプトで書く場合に使われてきたmod_perlとの性能比較を行っています。 modとしてのアーキテクチャの差で処理系の性能差を埋める 処理系としての差ではなく、Apacheのmod_***としてのアーキテクチャの差によって、Apache上での性能が大きく変わる事が分かってます。Apacheはプロセス(スレッド)をプールしておいて、複数のリクエストに対しプロセスを再利用するアーキテクチャであるため、インタプリタのロードやライブラリの読み込み、さらにはスクリプトをコンパイルするタイミングを工夫すれば、Apache上では高速に動作させる事が可能になります。 例えば、mru
Lua側から見た場合の差異。C言語向けのAPIの差異はいずれまた。 詳しくはリファンレスマニュアルの「Incompatibilities with the Previous Version」を参照してみてください。 言語構造の変更 制御構造に変更がありました。gotoの追加です。 gotoはジャンプ先のラベルの名前を指定しますが、ラベルは名前の前後それぞれにコロンを2つ繋げたものになります。 goto foo -- ... ::foo:: 削除されたLua 5.1の基本関数 次の関数が削除されました 関数 理由 getfenv コンセプト変更にともない削除 setfenv コンセプト変更にともない削除 module コンセプト変更にともない不要になった loadstring loadに統合 unpack table操作関数に組み込まれた コンセプトについてはマニュアルに次のようにあります。
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 今日は、6キロのランニングを達成できたご褒美に、突発一人ハッカソンをやりました。眠たかったので、すぐできそうだけど、禁断とされている(勝手な思い)Lua上でmrubyを動かすためのLuaライブラリ(mruby-on-Lua)を作りました。 Lua上でmrubyを動かすためのLuaライブラリ 以下のLuaライブラリを作りました。こんな感じでとても簡単にできます。 #include <lua.h> #include <lualib.h> #include <lauxlib.h> #include "mruby.h" #include "mruby/proc.h" #include "mruby/compile.h" static int l_mr
冷やし中華ではなく、luaはじめました。 ストレスたまると、新しい言語さわりたくなりますよねぇーwww ちょっといろいろ今後のこともあり、luaをはじめました。自分の中では、一番しっくり来てます。 で、Perlでいう、CPAN、PHPでいう、PEAR?、Pythonだと、easy_install(今だとpip?)のように luaでもluarocksというパッケージ管理システムからluaのモジュールを自動で検索してインストールや アップデートしてくれるツールがあります。 http://luarocks.org/ 通常は、ソースコンパイルでの導入なんですが、Redhat系ならRPMで導入だよねぇーということで、 EPELとかでもなくて、ちょこっと探して導入したので、そのメモです。 - ※追記 epel-release-6-7.noarch.rpm には、luarocks入っているのでそっち使っ
ふと Lua を使いたくなったので、まずはパッケージ管理ツールの LuaRocks をインストールしてみた(Ruby の RubyGems、Python の pip のようなもの)。 最終目標 LuaRocks で md5 のライブラリをインストールし、Lua から md5 ライブラリを呼び出す。 環境は 64 ビットの Ubuntu と CentOS。 $ echo -n | md5sum d41d8cd98f00b204e9800998ecf8427e - $ lua -lmd5 -e 'print(md5.sumhexa(""))' d41d8cd98f00b204e9800998ecf8427e Ubuntu(64 bit) & apt-get 編 まずは 64-bit の Ubuntu で LuaRocks を apt-get でインストールする方法。 LuaRocks のイン
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 さてさて、ついにこの日がやってきました。 mod_mruby – Github mrubyが出てから、はや5日がたとうとしています。様子を見ていると、名前がmatsumotoという人達がmrubyを弄る確率が高いようです。僕も名前がmatsumotoなので、当然弄っています。こちら(Getting Started With Mruby)に関連する情報がまとまっています。 もともと、mod_mrubyを作る事になったモチベーションとしては、mod_mrubyを作ってみようかで書いていますが、様々な分野でLuaと呼ばれる軽量スクリプトの人気が高まってきており、それに対抗するべく、組み込みにあった軽量rubyとしてmrubyがリリースされました。そ
新トップページへ | Tip Lua言語についてメモ LastUpdate : 11/06/09 Lua言語を扱うにあたって調べたことなどを書いていきます。対象のバージョンは5.1以降です。 個人的にLua言語を使って開発をするのに必要そうなことをメモってます。自分用のメモなので、参考になるかどーかは不明w サンプルソースがどーしよーもない内容だったりしますが、ご容赦を。 内容について、あやふやだったり、謎だったりするところがあるかと思います。個人のメモ帳レベルの内容なので、許してネorz ※内容が長くなりすぎて推敲を放棄してます(ぉ 以下の本を参考にしてます。 『Programming in Lua プログラミング言語Lua公式解説書』(2009年 アスキー・メディアワークス 初版) 前提とする環境として(私が試した環境) luaのバージョン : 5.1.4(LuaのソースをVisual
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といいつつも、そこまで大したことはしていない。 luaという高速に動作する組み込み系のスクリプト言語で遊んでみたかったのと、それだったmod_luaで遊んでみればいいなと思っただけである。で、実際にmod_luaをコンパイルして遊んでみた。コンパイルオプションは以下。 ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-modules=all --enable-mods-shared=all --enable-mpms-shared='prefork worker event' -
さきほどTwitterで流れてきたのでたまたま見つけたのですが、LuadnsというDNSホスティングサービスがかなり凄いです。Luaスクリプトでゾーン設定を書いてGitHubにpushするだけで即座にDNS設定ができてしまいます。 DNSホスティングサービスというと、多くの場合ブラウザを開いてログインしてコントロールパネルからポチポチと入力して送信して、、、という手順を踏まないと設定が更新できないわけですが、Luadnsは違います。example.com.lua ファイルをEmacsやVim(やその他エディタ)で開いてLuaスクリプトを書き、git commit & git push で設定が完了してしまいます。push にフックして Luadns の設定が自動的に更新されます。 マウスまで手を動かすのが無限に遠く感じられるプログラマにとっては、これほど素早く簡単にDNSが設定できるのはか
Nginxのlua-nginx-moduleでドキュメントルート(root)は変更できるのかと、同僚 id:lamanotramaさんに質問もらってたので検証です。 ちょっと前に書いた lua-nginx-module の紹介 ならびに Nginx+Lua+Redisによる動的なリバースプロキシの実装案 と比べて小粒なエントリです。こちらは proxy_passを動的に変更する例でした。 結果から言うとできる ホスト名を見て 適当に ドキュメントルート $root を振り分けるサンプル設定です worker_processes 1; error_log /dev/stderr debug; events { worker_connections 256; } http { server { listen 8080; server_name localhost; location / { s
KonekiプロジェクトがLua専用の統合開発環境を公開した。Luaは、近年開発者の間で話題となっている軽量で高速なプログラミング言語。組み込みやゲーム分野で利用されることが多く、最近ではiOSやAndroidのアプリ制作にも使われている。Konekiは、Eclipse Technology Project傘下のオープンソースインキュベータプロジェクト。Luaをメインプログラミングとし、M2Mアプリケーションの開発をタスクとしている。 Konekiではこの開発支援ツールをLua Development Tools(LDT)と呼んでいる。Eclipse Public Licenseのもとライセンスしており、オープンソースツールとなっている。LDTはMetaluaを使用してソースコードの分析を行い、ユーザ支援に役立てられるようにしているという。主な機能としてコードの色付けやエラーマーカー、変数
Lua 5.2.1 windows shift_jis の lua.exe で下記の正規表現を試してみた所、 print(string.gsub("ソース\\表紙.jpg", "\\", "/").."\n") ↓ ・ース/・紙.jpg このように表示されてしまいました。 正規表現エンジンのシフトJIS対応してあるとの事なのですが string.gsub は対象外でしょうか? lstrlib.cに以下の修正で直りました。 gsubの修正漏れでした。 行番号つけてます。 アーカイブは後ほど ねむねむ 899 # ifdef SHIFTJIS 900 else if (src < ms.src_end) { 901 if (((ms.src_end - src) > 1) 902 && ((ISSJIS1(src[0])) && (ISSJIS2(src[1])))) { 903 luaL_a
LÖVEはLuaを使って2Dゲームを開発できるフレームワークです。マルチプラットフォームで動作します。 LÖVEはLuaを使った2Dゲームフレームワークになります。マルチプラットフォームで動作し、多彩なゲームが開発できます。 くるくる回転します。周囲にあるオブジェクトは高くなったり低くなったりします。 物理エンジンのデモです。 別なゲームのデモです。メイン画面になります。 お絵描きロジックのパズルです。 クリアするとそれまでの時間が出ます。 マウスクリックで反応するアニメーションのデモです。 太陽が回るデモです。 文字が踊りながら流れます。 デモを動かした動画です。 LÖVEを使えばシューティングやアクション、パズルなど実に数多くのゲームを開発できます。開発、動作環境がWindows/Mac OSX/Linuxとマルチプラットフォームなのも魅力です。 LÖVEはzlib/libpng li
今回は、インターネット上でどんなコンピュータ言語が話題になっているかを表すデータを見ながら、今後のプログラミング言語の流行を予測してみる(編集部) P言語の人気はいつまで続くのか Linuxなどの、オープンソースソフトウェアを利用して開発したWebアプリケーションが一般的なものになってしばらくたつ。Webアプリケーション開発で多くの人が使うソフトウェアの組み合わせの略称である「LAMP」という言葉も有名になった。OSであるLinuxと、WebサーバであるApache HTTP Server(以降、Apache)、リレーショナルデーターベース管理システム(RDBMS)MySQL、そしてサーバサイドで動作するプログラム開発に使用するプログラミング言語であるP言語(PHP、Perl、Python)の頭文字を取った言葉だ。日本ではP言語の位置にRubyが入ることも多い。 しかしコンピュータやネット
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く