MeCabを使う時、辞書のインストールでこちらを参考にしてMakefileをいじらないと品詞IDが使えなくてはまる。

念のためこのページにも書いておこう。

http://keihanna.dl.sourceforge.jp/mecab/20904/mecab-ipadic-2.7.0-20060707.tar.gz
tar zxvf mecab-ipadic-2.7.0-20060707.tar.gz
cd mecab-ipadic-2.7.0-20060707
./configure --with-charset=utf8
vi Makefile
make
sudo make install

ipadicのMakefileの250行目あたりを変える

$(mecab_dict_index) -d . -o . -f euc-jp -t utf8   # 変更前
$(mecab_dict_index) -d . -o . -p -f euc-jp -t utf8   # 変更後

品詞IDが使えるとこんな感じで書けるので便利!

# 名詞かどうか
if (37..66).include?(node.posid)

それにしても最近はWebアプリのアイデアで、「その文章を形態素解析してリンクを張ろう」とか簡単に言うけど、完全にMeCabとかChaSenとかのおかげで、もしこういった成果が公開されてなかったら俺のような糞プログラマーには絶対無理ですな。大学と研究所の共同プロジェクトらしいですが、ナイス税金の使い方って感じです。国益です。

条件付き確率場?無制限多階層品詞?bi-gram マルコフモデル?ひとっつもわかんねえ・・・。これらのアプリがオープンソースであることに感謝します・・・。

p0t: インデックス結合最適化

3.2.6. インデックス結合最適化 http://dev.mysql.com/doc/refman/5.1/ja/index-merge-optimization.html

MySQL 5.1からの複数のインデックスが必要な時の話らしいので要調査!(というか誰か分かりやすく教えてください・・・)

自分で調べろや・・・ということで調べてウノウラボに書きました。

最近はレプリケーションやクラスターなど、スケールアウト系の話が話題ですが、ひとりWebサービスで派手な構成はちょっと・・・。(金が無い)

RDB本来の力を正しく使って速くできるならそれに越したことはないのでもっと勉強したいと思います。

new_mojavi_site.png

何かMojaviのサイトが復活しとる・・・。

このページ以外どこにもいけないので手間のかかった冗談かもしれないけど何をやるつもりなのか気になります。

Plnetで友達追加が出来ないという有りあえないバグを修正しました。

準備万端でrake svn:commit(svn upしてmigrateして全部のテストして通ったらciしてくれるヤツ)を実行したらテストが通らない。そんなばかなこ・・・

/usr/bin/ruby1.8 -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb" "vendor/plugins/redgreen_plugin_testing/test/redgreen_plugin_testing_test.rb" "vendor/plugins/ar_fixtures/test/ar_fixtures_test.rb" 
-- create_table(:beers)
   -> 0.0800s
-- create_table(:glasses)
   -> 0.0044s
-- create_table(:drunkards)
   -> 0.0015s
-- create_table(:beers_drunkards, {:id=>false})
   -> 0.0011s
-- initialize_schema_information()
   -> 0.0016s
-- columns("schema_info")
   -> 0.0021s
Loaded suite /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader
Started
F.E...
Finished in 0.065891 seconds.

  1) Failure:
test_dump_to_file(ArFixturesTest) [./vendor/plugins/ar_fixtures/test/ar_fixtures_test.rb:22]:
<2> expected but was
<0>.

  2) Error:
test_load_from_file(ArFixturesTest):
NameError: uninitialized constant ArFixturesTest::Glass
    /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:477:in `const_missing'
    ./vendor/plugins/ar_fixtures/test/ar_fixtures_test.rb:28:in `test_load_from_file'

6 tests, 7 assertions, 1 failures, 1 errors

おまえかよ(プラグイン)

最近Plnetで遅いクエリが溜まっていってあっという間にmax-connectionに到達してたんですが、mysqldumpslow(slowログをサマリしてくれるヤツ)で一番重いのを修正したら調子が良くなった。

Webサーバの死活監視にmontasticを使い始めたとたんに携帯にメールが糞来まくって追い詰められ、重い腰をやっと上げた結果です・・・。

sudo mysqldumpslow /var/log/mysql/mysql-slow.log
Count: 4  Time=104.75s (419s)  Lock=0.00s (0s)  Rows=1.0 (4), plnet[plnet]@local
host
  SELECT COUNT(e.id) AS CNT
  FROM  member_to_feed m2f
  JOIN feed f ON m2f.feed_id = f.id
  JOIN entry e ON f.id = e.feed_id
  WHERE DATE_FORMAT(e.date, 'S') = 'S'
  AND m2f.member_id = 'S'

Count: 5  Time=73.00s (365s)  Lock=0.00s (0s)  Rows=12.0 (60), plnet[plnet]@loca
lhost
  SELECT e.id, e.uri, e.title, e.description, e.author,
  UNIX_TIMESTAMP(e.date) AS date,
  f.title AS feed_title, f.link AS feed_link,
  f.uri AS feed_uri, f.favicon
  FROM  member_to_feed m2f
  JOIN feed f ON m2f.feed_id = f.id
  JOIN entry e ON f.id = e.feed_id
  WHERE DATE_FORMAT(e.date, 'S') = 'S'
  AND m2f.member_id = 'S'
  ORDER BY e.date DESC LIMIT N, N
ITmedia Biz.ID:「弁当の買い出し」でPCの面白さに目覚めた――あとで行く・石原淳也さん (1/2)

「ひとりでつくるネットサービス」第10回目は、行きたい場所を簡単に登録しておくことができる「あとで行く」を開発している石原淳也さん(34)にお話を伺った。

おおお、ジュンヤさんが紹介されとる!

ジュンヤさんの作られるサービスは徹底して、”自分が使いたい・自分ニーズを満たすもの”になっていると思う。複数人で作る時と違ってひとりで作るサービスの場合、これは成功の秘訣かもと思いました。

他にも複数人サービスとは違ったひとりサービスならではのノウハウがいろいろありそう。

$LI BLOG: JavaScript Resources

Por ultimo una mencion especial para PPrompt que no es un framework pero igual esta buenisimo para desplegar mensajes en lugar de los horribles prompts de los navegadores.

何語かわかんないけどPPrompt.jsが紹介されとる。PPrompt.jsは名前が変ってJSANにWidget.Dialogとしてアップしてて、今後メンテもこっちしかしないんだけど未だにPPrompt.jsの方が使われてるみたい。このJSANの敷居はなんなんだっ!デザイナーの人とかはJSANのページ言っただけで、「うっ」とか思うのかな。

とりあえずJSANに移りましたってことをブログでしか書いてなかったのでページの方にも入れときました。

pprompt is obsolete

実践ハイパフォーマンスMySQLを再度買って舐めるように見た結果、「MySQL・・・捨てっっっ」的なことを書こうかと思ってたんだけど、マニュアルに糞気になる記述を発見。

3.2.6. インデックス結合最適化 http://dev.mysql.com/doc/refman/5.1/ja/index-merge-optimization.html

MySQL 5.1からの複数のインデックスが必要な時の話らしいので要調査!(というか誰か分かりやすく教えてください・・・)

実践ハイパフォーマンスMySQL
  • 実践ハイパフォーマンスMySQL
  • オライリージャパン(2004-10)
  • オライリージャパン
  • (著)ジェレミ・D. ザウドニ
  • (著)デレク・J. ベリング
  • (原著)Jeremy D. Zawodny
  • (原著)Derek J. Balling
  • (翻訳)林 秀幸
  • 定価:¥ 3,780
  • 新品価格:¥ 3,780
  • 中古価格:¥ 3,300
  • ASIN:4873112095

over 500 plnet user

plnetのユーザーが500人超えました。あざあす!

もうちょっとガツガツ作りたいんですが体調悪くて滞ってます。今はMixi対応の途中。