Blog
2010年2月21日
Snow Leopard 64bitでNTFSドライブを読み書きする方法
今まで、NTFSドライブをMacで書き込むときはMacFUSEにNTFS-3Gとか、Tuxera NTFSとか、Paragon NTFS、などを使わなければいけなかったですが、Snow Leopardでは、マウント方法を工夫すれば書き込みもできるようになっているようです。
この方法は32bitを64bitカーネルに変えてNTFSがマウントできなくなってしまった場合にも有効です。
方法は以下のような感じです。(すでにNTFS-3Gとかが入ってる場合はアンインストールしてから行ってください)
すでにあるmount_ntfsをリネームして、新しいmount_ntfsを作る
# sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
# sudo vi /sbin/mount_ntfs
中身を以下のようにする
#!/bin/sh
/sbin/mount_ntfs.orig -o rw "$@"
保存した後、ownerとパーミッション変更
# sudo chown root:wheel /sbin/mount_ntfs
# sudo chmod 755 /sbin/mount_ntfs
これだけでOK
17:48 |
2009年12月27日
はてなキーワードをMeCab辞書に追加する方法
MeCabの標準的な辞書では、複合語とか固有名詞は取れなかったりするので、はてなキーワードから辞書を生成します。
MeCabまわりのセットアップ
・MeCab0.98
・mecab-ipadic-2.7.0-20070801
・mecab-naist-jdic-0.6.1-20090630
・mecab-ruby-0.98
これらを以下からダウンロードします。
http://sourceforge.net/projects/mecab/files/
MeCabをダウンロードして解凍、
$ ./configure
$ make
$ sudo make install
mecab-ipadic、mecab-naist-jdicをダウンロードして解凍、
$ ./configure --with-charset=utf8
$ make
$ sudo make install
デフォルトではEUC-JPになるため、文字コードはconfigureで、UTF-8設定する。
mecab-rubyをダウンロードして解凍、
$ ruby extconf.rb
$ make
$ ruby test.rb
$ sudo make install
はてなキーワードからMeCab辞書を作成
http://www.mwsoft.jp/programming/munou/mecab_hatena.html
から、はてなキーワードのリストをMeCabで辞書を生成できる形式に変換できるrubyスクリプトを用意します。
hatena.rbとして保存します。
http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv
からkeywordlist_furigana.csvをダウンロードします。
ruby hatena.rbを実行します。
実行できると、
193000件目を処理
のように表示されます。
実行完了後、hatena.csvというファイルが生成されます。
下記コマンドを実行し、dicファイルを生成します。
$ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/naist-jdic -u hatena.dic -t utf-8 -f utf-8 hatena.csv
生成完了後、
/etc/mecabrcあるいは/usr/local/etc/mecabrcに下記を追加して、ユーザ辞書を利用するように設定します。
userdic = /home/hogehoge/mecab/hatena.dic
動作確認
$ mecab
Tweet
Tweet 名詞,一般,*,*,*,*,*,Tweet,トゥィート,トゥィート
EOS
ラブプラス
ラブプラス 名詞,一般,*,*,*,*,*,ラブプラス,ラブプラス,ラブプラス
EOS
ちなみに、ユーザ辞書を追加していない状態だと下記のように出ることから、はてなキーワードのユーザ辞書が有効になっていることが分かります。
$ mecab
Tweet
Tweet 名詞,固有名詞,組織,*,*,*,*
EOS
ラブプラス
ラブ 名詞,一般,*,*,*,*,ラブ,ラブ,ラブ
プラス 名詞,一般,*,*,*,*,プラス,プラス,プラス
EOS
-----------------
ハマったところ
MeCab rubyインストール時に下記のエラーが出たとき
./MeCab.so: libmecab.so.1: cannot open shared object file: No such file or directory - ./MeCab.so (LoadError)
$ sudo vi /etc/ld.so.conf
一行目に以下を追加
/usr/local/lib
$ sudo ldconfig
としよう。
-Ochasenと書いてあるところで、エラーが出てプログラムが動かない。
システム辞書のディレクトリのdicrcに、
; ChaSen
node-format-chasen = %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
unk-format-chasen = %m\t%m\t%m\t%F-[0,1,2,3]\t\t\n
eos-format-chasen = EOS\n
がないとエラーが出ます。
/etc/mecabrcあるいは、/usr/local/etc/mecabrcで、システム辞書の設定が
dicdir = /usr/local/lib/mecab/dic/naist-jdic
になっているか確認しましょう。
ユーザ辞書追加後、下記のエラーが出たとき
CHECK_CLOSE_FALSE(sysdic->isCompatible(*d)) << "incompatible dictionary: " << _dic[i];
sys.dicと生成したユーザ辞書の文字コードが異なるとエラーが出ます。
システム辞書をインストールするときに--with-charset=utf8を付けたか確認しましょう。
下記の例では、naist-jdicがutf-8をサポートしてないといけません。
/etc/mecabrc
/usr/local/etc/mecabrc
; output-format-type = wakati
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /usr/local/lib/mecab/dic/naist-jdic
userdic = /home/hogehoge/mecab/hatena.dic
; output-format-type = wakati
; input-buffer-size = 8192
; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n
あと、aptとかで微妙にmecabが入っていたりすると、うまくいかなかったりしたので、
libmecab1なども含めて完全にmecabをaptからremoveした状態で行いました。
12:40 |
2009年1月14日
Amazon EC2/S3クラウド入門
先日β版から正式リリースされた、Amazonのクラウドコンピューティング。 SLAが99.95%保証となり、なかなか実用にたえるのではと思う。 この本は実際にAmazon AWSを使っているユーザが書いた本なだけに、サーバの構成、 始め方、注意事項などがよく書かれていて、なかなか興味深かった。 従量課金は急激なアクセス増加がこわいですが、トータルコストからすると安くなるのでしょうか。 インスタンス(サーバ)が数分で立ち上げられて増やせるのはとても素晴らしいですね。2008年12月27日
研究室サイトリニューアル
ホームページ担当の長年の課題であった研究室のウェブサイトリニューアルを行いました。
今回のリニューアルではデザインを一新しただけでなく、以下のポイントに重点を置いて行いました。
・コンテンツの見直し、整理を行った
・利用者の導線を考えた
・サイトマップや検索を付けた
・ディレクトリ構造を決めてメンテナンスしやすいようにした
・3回生向けコンテンツの追加した
・SEO、SEMを意識した
また、これらを実現するにあたって以下の技術も活用しています。
Google Custom Searchの利用...コンテンツの検索
Google Analyticsの利用...コンテンツ戦略・ニーズの把握
JSONによる生成...Webジャーナルやレポートなどダイナミックコンテンツの活用
まだまだ課題はたくさんありますが、情報を検索して見つける時代の流れに
対応していける土台作りになったかと思います。

