Vim scriptを取り巻く問題について というエントリへの反論というか返答というか補足です。このエントリは極端に書くとこう言っています。 Luaトランスレータなんてできっこねーんだから無駄なことやめろよバーカバーカ キャッチーに要約してますがコレ一行で済むでしょう。 ただ正直なにもわかっちゃいないで書かれたようなので、足りてないところを書いておきます。 Vim scriptの高速化方法の比較 Vim script を高速化する方法は、現時点で2つ提案されています。 バイトコード化 (=パース処理のキャッシュ) 別言語(Lua)へのJust In Timeな トランスレータ あのエントリでは前者は実現可能であるが後者は不可能であると述べていますが、私の見かたは違っていて「どちらも実現可能である」です。ただしそこに至るステップ、歩幅の大きさと予想される最大効果がぜんぜん違います。 歩幅の大
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。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' -
Nginxは非常に強力なhttpdですが、独自のモジュールを実装しようとするとこれまた非常に敷居が高い印象です。 追記 この記事よりも前に http://openresty.org/#DynamicRoutingBasedOnRedis でほとんど同じ内容のエントリが書かれていました。こちらも参照ください モジュールの開発はむずかしい まず開発用のドキュメントはほとんどありません。必然 既存のモジュールをお手本としますが、コメントも少ないのでソースだけが頼りです。 {ファイル,ネットワーク} I/O を伴う処理では、Nginxのノンブロッキング/イベントドリブンのアーキテクチャにのっとってコールバックを駆使したCで実装する必要があり、LLで育ったゆとり脳では太刀打ちできませんでした lua-nginx-module が代わりになるかも なんらかのNginxモジュールを開発しなければならない
さきほどTwitterで流れてきたのでたまたま見つけたのですが、LuadnsというDNSホスティングサービスがかなり凄いです。Luaスクリプトでゾーン設定を書いてGitHubにpushするだけで即座にDNS設定ができてしまいます。 DNSホスティングサービスというと、多くの場合ブラウザを開いてログインしてコントロールパネルからポチポチと入力して送信して、、、という手順を踏まないと設定が更新できないわけですが、Luadnsは違います。example.com.lua ファイルをEmacsやVim(やその他エディタ)で開いてLuaスクリプトを書き、git commit & git push で設定が完了してしまいます。push にフックして Luadns の設定が自動的に更新されます。 マウスまで手を動かすのが無限に遠く感じられるプログラマにとっては、これほど素早く簡単にDNSが設定できるのはか
MoonScript is a dynamic scripting language that compiles into Lua. It gives you the power of one of the fastest scripting languages combined with a rich set of features. class Thing name: "unknown" class Person extends Thing say_name: => print "Hello, I am #{@name}!" with Person! .name = "MoonScript" \say_name! MoonScript can either be compiled into Lua and run at a later time, or it can be dynami
せっかく Lightroom を買った ので、Lightroom に詳しくなろう、と思って Lightroom SDK を触ってみました。Lightroom では Lua でプラグインを書くことができます。Lua は C 言語に組み込んで使うのが簡単なようで、Wireshark やいくつかのオンラインゲームなどに組み込まれているようです。また、Lightroom はプラグインだけでなく、本体の開発も Lua で行われているようです。興味深いですね。例えばAdobeの画像処理ソフトウェア「Lightroom」では、40%に相当する部分がLuaで記述されているという。[Think IT] 第2回:言語開発者が目標にするパフォーマンス「Lua」 (1/3)さっそくプラグインを作ってみたさて、その Lua を使ったらどんなことができるのか調べるために、簡単にコードを eval できるプラグインを作
Kyoto Tycoon 0.8.1をリリースした。データベースサーバ上でスクリプト言語Luaを動かす「スクリプティング拡張」機能を搭載している。 TT+Luaの問題点 Tokyo TyrantにもLuaを搭載していた。Lua言語の処理系は、組み込み演算子と組み込み型と標準ライブラリのいずれもが貧弱だという欠点はあるが、非常に高速に動作するという利点がある。複数の処理系インスタンスを使えばネイティブスレッドとの親和性も高い。機能的な貧弱さはC言語の関数を呼ぶことで補うことができる。そのようなLuaをTTと組み合わせることで、ユーザが定義した任意のデータベース操作を実行するのに適した環境を提供できたと思っている。 ただし、以下の欠点が気になっていた。これらはいずれも機能不全を示すものではなく、工夫すれば乗り越えられるものだが、工夫しないと所望の機能が実現できないというのはストレスだ。 引数や
こんにちは。開発部最後の良心、mikioです。今回はLua処理系の並列化とそこでのKyoto Cabinetの利用法についてご紹介します。 サーバサイドスクリプティングといえばLua Kyoto CabinetのLuaバインディングは後回しにしてKyoto Tyrant的なサーバの設計を進めていたのですが、やはりそのサーバにもスクリプティング機能を持たせたくなりました。つまり、サーバがデフォルトで提供する機能群だけでなく、ユーザがスクリプト言語で記述した任意の機能を追加して利用できるようにするということです。 Tokyo TyrantではLua拡張と呼ばれる機能を用いてそれを実現しています。サーバの起動時にLuaのスクリプトを記述したファイルを読み込ませて、そこで定義した関数をリモートから呼び出せるようにしています。そこで実行されるLuaの処理系にはTTが管理するデータベースを操作するため
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く