タグ

ブックマーク / tasukuchan.hatenablog.com (13)

  • MySQL or PostgreSQL + Sennaのオススメ構成 - グニャラくんのグニャグニャ備忘録@はてな

    Sennaの主な利用用途であると考えられる、 データベース組み込み用途。 ブラジル内部でもSennaを用いたサービスを運用していますが、 その運用ノウハウの一部をメモ。 Sennaはメモリい Sennaはインデックスをメモリにマップすることによって 高速な追加・更新・削除を実現しています。 よって、メモリ使用量が多くなっています。 INITIAL_N_SEGMENTSを減らすことによって、 メモリ使用量を下げることができますが、 特に追加・更新においてパフォーマンスが低下します。 また、Linuxの場合、 空きメモリはI/Oキャッシュに割り当てられます。 Sennaのメモリ使用量が多いため、 I/Oキャッシュとして用いられるメモリ容量が減り、 結果としてシステム全体のパフォーマンスが落ちる場合があります。 MySQLのkey_buffer_sizeは、 Sennaと他のインデックスを組み

    MySQL or PostgreSQL + Sennaのオススメ構成 - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2009/11/07
    Tritonn運用。メモリまわりとか。
  • ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな

    Twitter mongrelP: @tasukuchan グニャラくーん、ニコ百の鯖がEeePCという話が持ち上がってますがただの監視用ですよね(しんぱいそうなめでみている) http://twitter.com/mongrelP/status/1524183917 ニコニコ大百科のアーキテクチャについてメモしておきます。 当は、このネタでRuby Kaigiに申し込もうと思ったけど、すっかり忘れていたのでエントリを起こしておきます。Rubyあんま関係なかったし。 全てのリクエストを受付、セッション情報も保持するEeePC 次世代サーバプラットフォーム EeePC ニコニコ大百科宛ての全てのリクエストは、全てEeePCに送られます。 実物の写真を載せておきます。 EeePCは2台稼動しており、1台はホットスタンバイです。 EeePCは、SSDとUPSを備えた次世代サーバプラットフォーム

    ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2009/04/17
    ニコニコ大百科。「EeePCは、SSDとUPSを備えた次世代サーバプラットフォームです」「ほとんどのコンテンツが静的になるように注意深く設計してあります」 「データベースにリクエストが届いた時点で負け」
  • 検索エンジンの歴史的意義と未来 - グニャラくんのグニャグニャ備忘録@はてな

    弊社森(オラの上司)が大阪市立大学で発表をしてきました。 発表資料は以下からどぞー。 検索エンジンの歴史的意義と未来 発表の前半は、コミュニケーション技術歴史を踏まえ、 多対1のコミュニケーション技術として検索エンジンを捉える試みです。 発表の後半は、コミュニケーション技術としての検索エンジンが 現在どのような課題を抱えているか、 来検索エンジンとはどうあるべきか、について語られています。 発表者の森と、 「検索エンジンは情報を減らすための技術だから面白い」と 盛り上がって話した記憶があります。 (ちばてつやの看板がある渋谷の中華料理店で) 大変面白い資料ですので、是非一読をオススメいたします。

    検索エンジンの歴史的意義と未来 - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2008/07/20
    「検索エンジンは情報を減らすための技術だから面白い」
  • ニコニコ大百科リリース - グニャラくんのグニャグニャ備忘録@はてな

    ニコニコ大百科という、ニコニコ動画版Wikipediaとも説明すべきサイトをリリースしました。 5/25 25:25:25公開という設定になっております。 社会人になってから、初めての外部向けWebサイト構築がこれだよ! ミドルウェア開発が業(?)なので、 ミドルウェアばっかりに凝ってしまいました…あはは… lighttpd ruby(ほとんどのロジック、Pythonにしとけばよかった… FastCGI経由) MySQL(DBサーバ) Senna(自動キーワードリンク) repcached(セッション保持用memcached、EeePCでLVS frontと一緒に動いている) Tritonn(検索) libeventのevhttp(API用Webサーバ) Varnish(API用WebサーバのHTTPアクセラレータ) 他にも、各ページの閲覧数ランキングのために、Tokyo Tyrantを

    ニコニコ大百科リリース - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2008/05/26
    ニコニコ大百科の裏側。「repcached(セッション保持用memcached、EeePCでLVS frontと一緒に動いている)」
  • グニャラは大変なFlashを描いていきました - グニャラくんのグニャグニャ備忘録@はてな

    今週末は2つの勉強会に参加・発表させていただきました! ステキな発表の場を設けていただいてありがとうございます!! 両方ともActionScript/Flashについて(?)の発表です。 それぞれ発表資料を公開させていただきます。 Flash + JavaScriptでmemcachedと直接通信 @ さかとくカンファレンス ActionScript3上で、Socketを用いてmemcachedとの通信を行うモジュールを書きました。 さらに、そのモジュールをJavaScriptから呼べるようにしました。 get/setしかサポートしてないですし、 全体的に設計とコーディングが小汚いです。 ちょっと恥ずかしいけど、 CodeReposにアップしているので適当に直してもらえると嬉しいです… プログラム体・発表資料は以下に置いております。 CodeReposのレポジトリパス 発表資料(PDF

    グニャラは大変なFlashを描いていきました - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2008/01/27
    酒徳カンファレンスの資料とか。
  • Google Suggestのようなものを高速に実現するサーバsuggested - グニャラくんのグニャグニャ備忘録@はてな

    Google Suggestのようなものを高速に実現するサーバsuggestedというものを書いてみた。 が、しばらく放置していた。とりあえず公開してみる。 特徴 epollやkqueueを使っていてネットワーク部分が速い Sennaを使っていてSuggest部分が速い Sennaを使って正規化している。「トン」とか「ミリバール」(組み文字)とか「Wiki」(全角)とかでも検索可能 置き場 CodeResosに置いてあります。 http://svn.coderepos.org/share/lang/c/suggested/trunk 一応、2008/01/17バージョンの全ソースコードを貼っておこう。 #include <sys/types.h> #include <sys/time.h> #include <stdlib.h> #include <err.h> #include <sys

    Google Suggestのようなものを高速に実現するサーバsuggested - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2008/01/18
    Sennaを利用したGoogle Suggestっぽいことができるサーバ、suggested。
  • Sennaではてなキーワード自動リンクを実装する - グニャラくんのグニャグニャ備忘録@はてな

    [注意]このエントリはPHPとMecabでキーワード自動リンクを実装するのパクリです。 こんにちは、末永です。 今年もどうぞよろしくお願い致します。 Webサービスを開発していると、特定のキーワードを自動でURLリンクにする処理が必要になることがあると思います。今回は、このキーワード自動リンク機能を全文検索エンジンSennaを使って実装する方法を紹介したいと思います。 1. Sennaインストール MeCabのインストールは必要ないので、こんな感じでインストールしてください。 $ ./configure --prefix=/usr --without-mecab $ make $ sudo make install 2. 辞書を作る テキストファイルに、改行区切りでキーワードを記述したファイルkeyword.txtを作成します。 ただし、文字コードはEUC限定ですぞ。 Wikipedia

    Sennaではてなキーワード自動リンクを実装する - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2008/01/14
    Sennaを使ってキーワードリンクを実現。
  • PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する - グニャラくんのグニャグニャ備忘録@はてな

    [追記]id:hetimaに指摘された、32bitアーキテクチャでの問題を修正。大感謝。 携帯電話からのWebアクセスゲートウェイのIPアドレスから、 携帯キャリアを判別したい場合がある。 通常は、id:tokuhiromによる Net::CIDR::MobileJP(WWW::MobileCarrierJP)を使うといいと思う。 DSAS開発者の部屋:携帯ゲートウェイのIPアドレス帯更新を効率的に確認する方法 http://d.hatena.ne.jp/tokuhirom/20071207/1196989588 YAMLが出力されるので、さまざまな環境で利用ができるよ! 今回、PHPで携帯キャリアを判別したいと思ったんだけど、 PHPYAMLを読んでその中身をすべて検査するなんてやだいやだい! と沸き立つような強い衝動が。 というわけで、cidr-mobilejpというPythonスク

    PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2008/01/01
    「各携帯キャリアのページからCIDR情報をスクレイピングして、その情報を元に携帯キャリアを(たぶん高速に)判別するPHPスクリプトを出力します。」
  • DjangoのテンプレートエンジンをPHPに移植してみた。 - グニャラくんのグニャグニャ備忘録@はてな

    ブラジルのPHP仕事をひさびさにやることになった。 そこで思ったこと。テンプレートエンジンを使いたいよ… しかも、Djangoみたいに継承ができるやつを。 というわけで、よさげなテンプレートエンジンを探してみようか、 と思ったんだけど、PHPテンプレートエンジン多すぎっす。調べる気失せるっす。 世界のPHPテンプレートエンジン、トップ25 - GIGAZINE rhacoのテンプレートエンジンはDjango風らしいけど、 テンプレートエンジンだけ使う方法を調べるまで至らなかった… rhacoの公式サイト: ハゲてもかっこいい芸能人-ハゲていてもかっこいい有名人 じゃあ、自分で書いちゃう!?書いちゃう!? … 書いちゃった!! その名もGunyaTemplate。ダサいので名前募集中です。 ブラジル社長によってmumuという名前が授けられました! (EbiTemplateとかMaitakeT

    DjangoのテンプレートエンジンをPHPに移植してみた。 - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2007/09/08
    Djangoのテンプレート風のPHPテンプレートエンジン。
  • Django勉強会 Disc 4での資料を公開します - グニャラくんのグニャグニャ備忘録@はてな

    Django勉強会 Disc 4で発表させていただいた資料を公開します。 今回は構成とかグダグダ&Djangoの話が少なくてすみませんすみません… DjangoでSenna 2.0!(PDF注意) Senna 2.0を用いたWikipedia検索はリポジトリに公開しています。 Senna2.0でのWikipedia検索@Django Tritonn版はこちら TritonnでのWikipedia検索@Django 公式の場でSenna 2.0について話すのは初めてだったのですが、 やはり説明のための構成を練らないといけないですね… なぜSchemeを採用したか、というのは皆さん興味を持たれるようです。

    Django勉強会 Disc 4での資料を公開します - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2007/08/27
    SennaのPythonバインディング、Senna2.0の話。
  • 今流行の.emacs & .vimrc - グニャラくんのグニャグニャ備忘録@はてな

    僕の周りで強引に流行らせている、 エディタで行末に存在するスペースを強調表示する設定。 この設定をすると、人が書いたコードの行末のスペースが大変気になってしまい、 その人に設定を押し付けて…といった伝染力を持ちます。取り扱い注意。 この設定の流行り始めた段階では、 Subversionの差分で「どこが変わったの?」と思うような差分が多く出現します。 .emacs (when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t)) .vimrc highlight WhitespaceEOL ctermbg=red guibg=red match WhitespaceEOL /\s\+$/ 追記その1 Vimでtabを使っていると、2つめ以降のタブで強調表示されないようだ。 2007-09-0

    今流行の.emacs & .vimrc - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2007/08/17
    行末のスペースを強調表示する.vimrc/.emacs。
  • PEAR: : CodeGen_PECLでPHP拡張を書いてみよう(その1)

    (この記事は随時更新していきます) SennaのPHPバインディングのページに、PHPバインディングを希望する声が続々! http://qwik.jp/senna/PHP_binding.html 実は、以前PHPバインディングを書いていたののの、 rm -rfですべてを消し去るというステキな行為をやらかしてしまったのでした。 で、新たにPHPバインディングを書き直していたのですが、 どうやら以下の記事によると、PEAR::CodeGen_PECLっていう便利なものがあるらしい。 ■[PEAR]PEAR::CodeGen_PECL事始め http://d.hatena.ne.jp/shimooka/20061030/1162200754 というわけで、 PEAR::CodeGen_PECLを使ってSennaのPHPバインディングを書く過程を記録に残してみます。 日語の情報は少ないようなの

    PEAR: : CodeGen_PECLでPHP拡張を書いてみよう(その1)
    hiro_y
    hiro_y 2007/03/02
    「PEAR::CodeGen_PECLを使ってSennaのPHPバインディングを書く過程」
  • DBMSデフォルト組み込みの全文検索 - グニャラくんのグニャグニャ備忘録@はてな

    PostgreSQL 8.2からGINというインデックス形式が追加され、 それを用いれば全文検索インデックスが実現できます。 分かち書きを別途行う必要はありますが。 http://itpro.nikkeibp.co.jp/article/COLUMN/20060912/247864/?ST=lin-server&P=3 MySQLのデフォルトの全文検索インデックスも、 分かち書きを別途行えば日語の全文検索が実現できます。 http://pc8.2ch.net/test/read.cgi/php/1157467026/382 382 :nobodyさん :2006/10/05(木) 14:59:05 ID:??? MySQLならMeCabとかで分かち書きして、UTF-8でFULLTEXTに放り込む手もある。 んじゃ、分かち書きさえやってしまえば SennaのxxxxバインディングとかLud

    DBMSデフォルト組み込みの全文検索 - グニャラくんのグニャグニャ備忘録@はてな
    hiro_y
    hiro_y 2006/10/17
    全文検索の仕組み。SennaとかLudiaとか。
  • 1