Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2009-05-19 [長年日記]
_ libnotify-bin
notify-send なしで notification を送れるか(http://znz.s1.xrea.com/t/?date=20090511#p01)で言及されている、notify-sendは、いまの Debian GNU/Linux lenny だとlibnotify-bin(http://packages.debian.org/ja/lenny/libnotify-bin)の中に入っている。
_ memo:人気のUbuntuから派生した多種多様なLinuxディストリビューション
Ubuntu人気ですね。Ubuntuユーザの中から、価値を付加していく下流への流れだけでなく、Ubuntuの開発に興味を持つ人、そこから源泉の Debian に興味をもつ開発者さんも増えるといいなと思います。上流で直したら、幸せになる人の数が違いますし。人気のUbuntuから派生した多種多様なLinuxディストリビューション (http://itpro.nikkeibp.co.jp/article/COLUMN/20090507/329627/)
_ memo:外資系ITベンダ採用担当者のつぶやき
コメント欄が凍結されている、公開の場所で不用意に発言すると、人事のことは燃え上がる。内部で複数の視点で揉んでから、文責をもったひとに最終決断をして文書を出すというフローは、こういう場面で役立つのだろうな。第2回:人事はあなたのここを見ている(1)(http://el.jibun.atmarkit.co.jp/kuriryuta/2009/03/21-b5b2.html)
_ 災い転じて福となす
関西地方での各種勉強会などは、H1N1インフルエンザの影響で開催を延期している。これは、一面的には不幸である。
しかし、この時間を自習の時間と考えて、勉強会に参加するだけで安心するのではなく、より深い所を自習する機会だと捉えるのが良いと私は信じる。
_ migemo-server, migemo-client, migemo-grep, migemo コマンド
migemoパッケージには、ruby scriptで上記のコマンドが実装されている。軽くググっても、私の欲しかった、このような情報が探せなかったので、まとめてみた。
- migemo-server
-
helpを出してみた。
$ migemo-server -h /usr/bin/migemo-server:79: warning: don't put space before argument parentheses Usage: migemo-server ROOT-DIRECTORY
ざっと、中身をみたら簡易的な httpd な感じ、与えるのは、ルートディレクトリとか書いているけど、これは辞書を複数切り替える時のために与える path なのです。たとえば、/home/yabuki/migemo/
配下に複数の辞書をもっているなら、migemo-server /home/yabuki/migemo
とする。
Debian GNU/Linux Lenny で確認したところ、/usr/share/migemo配下に、デフォルト辞書がインストールされたり、ユーザ辞書のサンプルがあったりと、見所満載です ;-) - migemo-client
- コマンドラインで、migemoの結果を表示する。helpをだしてみた。
$ migemo-client -h Usage: migemoc-client [OPTION] PATTERN... -h, --help Display this help and exit -H, --host=HOST Set hostname of Migemo server to HOST. -p, --port=PORT Set port number of Migemo server to PORT. -d, --dict=DICT Use DICT as a static dictionary. -u, --user-dict=DICT Use DICT as a user dictionary. -r, --regex-dict=DICT Use DICT as a regex dictionary. -i, --insert=STRING Insert STRING to each character. -t, --type=TYPE Set regex type to TYPE ([egrep], emacs, perl, ruby)
ってことで、-d を使って辞書を指定して、結果を表示すると端末によっては文字化けのように見えるかも知れない。でも、私の環境では pager の lv を使えば大丈夫でした。migemo-client -d migemo-dict 1more | lv
は、1(?:more|もれ|モレ)|1more|ワンモア
と表示され、サーバ側のログには、Tue May 19 13:56:05 +0900 2009: localhost: dict=/home/yabuki/migemo/migemo-dict&type=ruby&pattern=1more
と記録されています。 - migemo-grep
入力した ascii文字列で、マルチバイト文字列を検索する。(例、ローマ字入力で、ひらかな/カタカナを検索する)
日本語入力環境がない、または起動したくない時に、日本語を検索したい場合で、/tmp/yab1.txtにググレという文字列がある時
migemo-grep /usr/share/migemo/migemo-dict gugure /tmp/yab1.txt |lv
の結果にはググレという文字列が表示されている。ちなみにこのコマンドも与える辞書パスは、絶対ないし、自分からの相対パスであること。下記は、ヘルプの表示~$ migemo-grep -h Usage: migemo-grep [OPTION]... DICT PATTERN [FILE]... -u, --user-dict=DICT Use DICT as a user dictionary. -r, --regex-dict=DICT Use DICT as a regex dictionary.
- migemo
このコマンドの help は下記のとおりである。
$ migemo -h Usage: migemo [OPTION] -h, --help Display this help and exit. -d, --static-dict=DICT Use DICT as a static dictionary. -u, --user-dict=DICT Use DICT as a user dictionary. -r, --regex-dict=DICT Use DICT as a regex dictionary. -O, --optimize=LEVEL Optimize output regular expressions (0-3). [3] -t, --type=TYPE Set regex type to TYPE ([ruby], perl, emacs, egrep) -i, --insert=STRING Insert STRING to each character. -s, --separator=STRING Insert String to each regular expression. -n, --nocache Don't use caches. -l, --logging=FILE Log patterns to FILE.
動作の確認方法は、
echo "1more" | migemo -d /usr/share/migemo/migemo-dict | lv
として、前述のような結果が出ると良い。ちなみに、こいつは migemo-server とは関係ないので、-dなどに与える path を絶対pathか自分の所からの相対パスで辞書を指定すること。
_ man page を作る側になるには
Debian や Ubuntu もそうだと思うんだけど、man pageがない実行プログラムは、バグ扱いなのです。パッケージを公開することを考えているなら、下記の様な情報をあたってみるといいのではないでしょうか。Debian Developer になるには必須の技能です。
- man page自体や、nroffについては、Unix Programming Environment (Prentice-Hall Software Series)(Brian W. Kernighan/Rob Pike)とか、日本語ならUNIXプログラミング環境 (海外ブックス)(Brian W.Kernighan/Rob Pike/石田 晴久)がいいかと。
- Linux Man Page Howto(http://www.tldp.org/HOWTO/Man-Page/index.html)ここを押さえてから、下記のDebianにおけるman page生成の話に移るとよいかと。
- (http://www.debian.org/doc/maint-guide/ch-dother.en.html)日本語の方には、manpage.xmlからのmanpage生成の話が載っていないので、英語の方をお勧めする。これを習得すると、man pageの作成する方法は、(1)roffを使う。(2)sgmlを使う。(3)xmlを使う。という3つの方法があるのがわかる。どの形式が「好み」か?で決まる。
_ 釣りメール
グーグルカレンダー経由で、おまえのアカウントを削除するぞとメールがやってきた。これって、アカウント名とパスワードをノートに書かせるつもりでしょうか。googleったら有名みたいだった...