2008-01-01から1年間の記事一覧
Sennaの場合には、文書数を166,512より多くしようとすると、メモリ確保の失敗が原因のsen_memory_exhaustedというエラーが発生し、インデックスに文書を追加できなくなりました。 http://thinkit.jp/article/744/1/ しっかりと反応しておきます。 対象文書サ…
Sennaでは、UTF-8の文字列を正規化しています。 たとえば、「?」は「ミリバール」に、「AbRACADAbra」は「abracadabra」に、「ハラヘッタZO」は「ハラヘッタZO」に変換されます。 これで、文字のゆれに対応した検索ができるわけです。 さて、某サービスでWAVE D…
libxml-rubyでメモリ使用量がじわじわと増えていく。 以下のようなコード。使い方の間違いとかについてツッコミ求む。 require 'xml/libxml' doc = XML::Document.new() doc.root = XML::Node.new('root') root = doc.root root << child = XML::Node.new('c…
昨日のダサい失敗エントリが注目を集めているようで恥ずかしいお… 今後ダサい失敗で困らないために、memcachedのパッチを書いてみようと思った。 時間が巻き戻った瞬間に障害が出るのはしょうがないけど、 巻き戻ったあとにその影響が残り続けるのは嬉しくな…
某サービスでセッション情報を保持するために利用している memcached(repcached)に障害が起こった。 ちゃんと追えていないけど、おそらく以下のような原因。他の人がハマらないように。 障害発生まで memcached(repcached)の中には揮発したらそれなりにマズ…
複数台へのデプロイをするときに、 各マシンでsvn updateをして、 最新版のファイルをSubversionのリポジトリから入手する手法があります。 でも、これって各マシンにSubversionを入れないといけないんだよね。 portsも入れていない(わざとだけど)FreeBSD…
未来検索ブラジルが検索エンジン開発において(!)グッドデザイン賞を受賞したようです。 http://www.g-mark.org/search/Detail?id=34960&sheet=outline&lang=ja みんなも、オープンソース開発をしてグッドデザイン賞をもらおう! あ、あとブラジルはIT技術者…
またまた某サービスで、今度はメールを送るという要件が発生。 しかも、ユーザごとに異なった内容を送るというもの。 テンプレートはErubisを使うとして、 メール送信はどのライブラリを使おう。tmailかなぁ? とGoogle検索すると、eventmachineってものがあ…
Senna 2.0βのリリースが見えてきました。 去年の夏に出すと言っていましたが、紆余曲折あっての現状です。 ライバルのTokyo Cabinet/Tokyo Dystopiaについては、 ストレージと全文検索インデックスを分割する方向性です。 mixi engineer blog 今までのSenna…
ニコニコ大百科の開発関連についてはブログ分けました! ニコニコ大百科開発日記 EeePCをサーバとして使い倒す方法や、 libeventのevhttpとvarnishの組み合わせ、 repcachedを使う上でlibmemcachedに当てなければいけないパッチ、 Rubyのlibmemcached bindin…
某サービスのAPI呼び出しについて、 API呼び出しをSSL化する UserAgentに特定の文字列を入れる という新しい要件が発生した。 というわけで、 [xml][libxml2][c]XMLをHTTPで取得して、XPathで指定された中身をC言語で取り出す方法 - グニャラくんのグニャグ…
ニコニコ大百科でMMLで音楽を投稿できるサービスを始めたはいいが、 MMLって難しいですよねー。 というわけで、MIDIからMMLへの変換をするソフトを作ってみた。 mid2mmlというソフトウェアがあるが、やはりFlMMLとは文法がちょっと違う。 あずねっと mid2mml…
ニコニコ大百科でMMLでメロディを書き込める「ピコカキコ」機能をリリースしました。 JASRACと音楽著作物利用許諾についての契約を結んでいるので、 JASRAC管理楽曲についても投稿可能です。 はてなのMML記法(メロディ再生記法)と互換性があるので、 今まで…
そういえば(安定剤)、lighttpのTracサイトで思い出しましたが、 SennaのTracが稼動し始めました。 まだ情報が少ないですが、Ticketを切って開発を進めていこうと思っています。 宜しくお願いいたします。 SennaのTrac ちなみに、 以前から公開しているニコ…
lighttpdのモジュールを書くことを覚えてしまったせいで、 ついついlighttpdのモジュールで仕事を進めてしまうクセがつきました。 「なんでもおもっど」状態です。 全パスに対するアクセス数をTokyoCabinetに記録したり、 特定のパスに対してはmemcachedから…
弊社森(オラの上司)が大阪市立大学で発表をしてきました。 発表資料は以下からどぞー。 検索エンジンの歴史的意義と未来 発表の前半は、コミュニケーション技術の歴史を踏まえ、 多対1のコミュニケーション技術として検索エンジンを捉える試みです。 発表…
Flex 3でコントロールのfocus関係なしにキーボードの入力を取得するには、 http://livedocs.adobe.com/flex/3_jp/html/help.html?content=events_11.html http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=304…
タイトル通り。必要に迫られて… libxml2はAPIの数がオニのようにあります。泣きそうです。 注意:ルートノードが1つの文書しか対応していません。 根性不足で、URLからxmlDocPtrを得られるAPIを見つけられなかったため、 xmlTextReaderPtrで最初のノードを…
ニコニコ大百科というサービスをリリースしたわけですが、 開発言語を選定する際に 「最近書いてなくて忘れかけてるし、部下も書けるし、 たまにはRubyで書いてみようじゃないか。」 とテキトーに決めたことをちょっと後悔。 特にRubyのbase64に関しては マ…
みんな、[Senna-dev 884]のメールは読んだかな!? 全文検索エンジンSennaの新しいAPIについての素案がついに公開されました。 今までのAPIのほとんどを刷新するという 大改造!劇的ビフォーアフター的API群です(APIの匠)。 んで、この新しいAPI群で何が…
ニコニコ大百科という、ニコニコ動画版Wikipediaとも説明すべきサイトをリリースしました。 5/25 25:25:25公開という設定になっております。 社会人になってから、初めての外部向けWebサイト構築がこれだよ! ミドルウェア開発が本業(?)なので、 ミドルウ…
Ludiaパフォーマンス・チューニング・セミナというセミナをやるそうです。 http://lists.sourceforge.jp/mailman/archives/ludia-users/2008-March/000205.html http://d.hatena.ne.jp/ludia/20080326 さて、演習問題サンプルを解けるでしょうか!?
PostgreSQL 8.3対応のLudia 1.5.0が今月中に出る(ことを目標にしている)ようです。 Ludia 1.5.0 ドキドキ。
住商情報システム主催で、MySQL+Sennaの紹介を含んだセミナーが開催されるそうです。 MySQL + Sennaで実現する全文検索とMySQL Enterprise Monitor 日本語版プレビュー 興味のある方は是非是非ご参加くださーい。
scrAPIにも使われているlibtidy-rubyですが、 DebianのtestingだとSEGVで落ちてくれるようです。原因はコレ↓ http://rubyforge.org/tracker/index.php?func=detail&aid=10007&group_id=435&atid=1744
Rubyを最近書いていなくて忘れそうだったので、次の仕事はRubyを使って書くことにしてみました。 lighttpdを使ったことがなかったので、次の仕事はlighttpdを使うことにしてみました。 という非常にいい加減な理由でlighttpd + Ruby on FastCGIでWebアプリケ…
地味に反響のないSenna 1.1.0ですが、 SennaQLという新しい問い合わせ言語が搭載されています。 我々の調査の結果、 なんとSennaQLは以下のページで挙げられている Schemeの特徴を全て満たしていることが判明しましたっ!!! 最もタメになる「初心者用言語…
今週末は2つの勉強会に参加・発表させていただきました! ステキな発表の場を設けていただいてありがとうございます!! 両方ともActionScript/Flashについて(?)の発表です。 それぞれ発表資料を公開させていただきます。 Flash + JavaScriptでmemcached…
PHP Extension勉強会に参加しました。 さすが肉好きのPHPer、 懇親会のロウリーズ・ザ・プライムリブではみんな大食いしていました(嘘 参考 実例で学ぶPHP拡張モジュールの作り方:連載|gihyo.jp … 技術評論社 PEAR::CodeGen_PECLでPHP拡張を書いてみよう(…
Senna 1.1.0をリリースしました!(GREEで) 落ちるバグとか治っているので是非入れ替えを…