タグ

luaに関するTAKESAKOのブックマーク (7)

  • MapReduce on Tyrant - mixi engineer blog

    先日、隅田川の屋形船で花見と洒落込んだのですが、その日はまだ一分咲きも行ってなくて悲しい思いをしたmikioです。今回はTokyo Tyrant(TT)に格納したデータを対象としてMapReduceのモデルに基づく計算をする方法について述べます。 MapReduceとは Googleが使っているという分散処理の計算モデルおよびその実装のことだそうですが、詳しいことはググってください。Googleによる出自の論文やApacheプロジェクトによるHadoopなどのオープンソース実装にあたるのもよいでしょう(私は両者とも詳しく見ていませんが)。 今回の趣旨は、CouchDBMapReduceと称してJavaScriptで実現しているデータ集計方法をTTとTCとLuaでやってみようじゃないかということです。簡単に言えば、以下の処理を実装します。 ユーザから計算開始が指示されると、TTは、DB内の

    MapReduce on Tyrant - mixi engineer blog
  • Tokyo Tyrantによるリアルタイム検索 - mixi engineer blog

    どうぶつの森にハマって、たぬきち商店が早終いする関係で退勤時間もめっさ早くなったmikioです。今回は、Tokyo TyrantのキャッシュとLua拡張を使って超お手軽にリアルタイム検索システムを作る方法について述べます。 ユースケース 高い頻度で更新されるWeb上のテキストをリアルタイムに検索したいと思ったことはありませんか? mixi日記や各種のブログサービスやRSSリーダなどで扱う大量のコンテンツを安価かつ簡単に検索したいと思ったことはありませんか? 私は結構あります。要件を箇条書きすると以下のような感じでしょうか。 最新データの合計100万件くらいを検索できればよく、古いデータは自動的に消えてほしい。 ただし、更新はリアルタイムにして、書いた瞬間に検索結果に反映されてほしい。 サーバ1台で更新1000qpsおよび検索100qpsは処理したい。 再現率よりも精度とリアルタイム性を重視

    Tokyo Tyrantによるリアルタイム検索 - mixi engineer blog
  • mixi Engineers’ Blog >> 言語バインディングを書こう その弐

    東京ディズニーシーで買ってきたDuffyというテディベアがお気に入りで、頭に載せて寝るとよく眠れることを発見してウキウキのmikioです。さて今回は、Tokyo Cabinet(TC)のJavaバインディングとLuaバインディングの作り方と使い方について紹介します。 Javaバインディング TCのJavaバインディングの初版は昨年11月には出ていて別に新しい話題でもないのですが、以前とりあげた言語バインディングの記事ではJavaについて解説しなかったので、ここで改めてとりあげます。なお、この解説ででてくるサンプルコードを試すべく、環境変数「CLASSPATH」と環境変数「LD_LIBRARY_PATH」にカレントディレクトリを含めてください。 CLASSPATH=. LD_LIBRARY_PATH=. export CLASSPATH LD_LIBRARY_PATH Javaバインディング

    mixi Engineers’ Blog >> 言語バインディングを書こう その弐
  • I, newbie » mod_security 2.5.xでLua

    SecRuleScript (Experimental)にはそっけなくサンプルが書いてあるだけで、正確にどういうAPIなのかよくわからん(サンプルで確かに必要なことはわかるんだけど)。 ソースコードのmsc_lua.cを読むと、mがmod_securityとのインターフェースになってて、そのメソッド(?)には、log、getvar、getvarsがあるらしい。 static const struct luaL_Reg mylib[] = { { "log", l_log }, { "getvar", l_getvar }, { "getvars", l_getvars }, { NULL, NULL } }; 適当にテストスクリプトを書いてみる。 function main() -- Retrieve script parameters. local vars = m.getvars("A

    TAKESAKO
    TAKESAKO 2008/06/04
    mod_securityのAPIは正直使いにくい
  • I, newbie » mod_security 2.5をインストール

    テスト環境をFreeBSD 7.0-STABLEにあげたついでに、先延ばしになってたmod_securityで遊ぶ。 2.5.xはminorアップグレードなんだけど、変更の多さはメジャー級。個人的には組み込みluaをサポートするSecRuleScript、クライアントの地理位置を条件にできるSecGeoLookupDB、output filterを使ったコンテンツのインジェクションが可能になるSecContentInjectionがおもしろそう。PDF XSS対策もできるらしい(Universal PDF XSS Revisited)。 まずはluaをサポートさせるのに、luaのライブラリをshared libでインストールしておかないといけない。defaultではsoを作ってくれないので、lang/luaにパッチ。 ===> Generating patch ===> Viewing d

  • Gmane -- Mail To News And Back Again

    Home Reading Searching Subscribe Sponsors Statistics Posting Contact Spam Lists Links About Hosting Filtering Features Download Marketing Archives FAQ Blog From: Mike Pall <mikelu-0802 <at> mike.de> Subject: LuaJIT roadmap 2008 Newsgroups: gmane.comp.lang.lua.general Date: Friday 1st February 2008 18:09:22 UTC (over 11 years ago) There have been several requests to publish a roadmap for LuaJIT, so

  • spiritlooseのはてなダイアリー - MySQL Proxyがおもしろそう

    http://forge.mysql.com/wiki/MySQL_Proxy ほー・・・なかなかおもしろそう。 mod_proxy_balancer and mod_rewrite for MySQLみたいなかんじかなぁ。 といっても、tritonn みたいに MySQL に組み込むんじゃなくって、別プロダクトのサーバ。 load balancing fail over あたりが mod_proxy_balancer っぽくて Query interception Query rewriting Injecting queries あたりが mod_rewrite っぽい。 mod_rewrite みたいに挙動を選ぶ(PとかRとかPTとか)んじゃなくて、コアの挙動はなくて、全部 RewriteMap prg:/path/to/script みたいなイメージっぽい。 「--proxy-lu

    spiritlooseのはてなダイアリー - MySQL Proxyがおもしろそう
    TAKESAKO
    TAKESAKO 2007/06/29
    lua組み込みというのが(処理系)小さくていいね
  • 1