この日記のはてなブックマーク数 Subscribe with livedoor Reader

2007-04-20 Fri


腹筋を鍛えるには [Health]


http://blog.pasonatech.co.jp/masuda/399/3460.html

お?これは意外に効きそう!




ulimit が効かない? [Linux]


http://www.miraclelinux.com/technet/faq/data/00073.html

ssh 経由で接続すると、UsePrivilegeSeparation の設定により、/etc/security/limits.conf に書いた ulimit の設定が効かない場合があるらしい。へぇ〜これは盲点だなぁ。



Catalyst と携帯サイト [Perl][Catalyst]


Catalyst::Plugin::Charsets::Japaneseで絵文字が化ける
http://d.hatena.ne.jp/fbis/20070419/1176973216


2007-04-16 Mon


Django でのエラー [Django]


Python のフレームワークである Django で遊ぼうと思って触ってたら

$ python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 11, in ?
    execute_manager(settings)
  File "/usr/lib/python2.4/site-packages/django/core/management.py", line 1672,in execute_manager
    execute_from_command_line(action_mapping, argv)
  File "/usr/lib/python2.4/site-packages/django/core/management.py", line 1571,in execute_from_command_line
    action_mapping[action](int(options.verbosity), options.interactive)
  File "/usr/lib/python2.4/site-packages/django/core/management.py", line 486, n syncdb
    from django.db import connection, transaction, models, get_creation_module
  File "/usr/lib/python2.4/site-packages/django/db/__init__.py", line 11, in ?
    backend = __import__('django.db.backends.%s.base' % settings.DATABASE_ENGIN, {}, {}, [''])
  File "/usr/lib/python2.4/site-packages/django/db/backends/mysql/base.py", lin 12, in ?
    raise ImproperlyConfigured, "Error loading MySQLdb module: %s" % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mdule named MySQLdb


なんのエラーかと思ったら、単純に MySQLdb インストールしてなかった orz

# apt-get install python-mysqldb


で解決。


2007-04-15 Sun


実践Python [Python][アサマシ]




プログラム初心者向けではないと割り切っちゃってるので、楽に読めてとっても Goood :-)

初めての Pythonはあまりに網羅的で、リファレンス的に読むにはよいんですが、他の言語で、プログラミング経験がある人が読み切るのは、なかなか辛かったりしますからね。ちなみにこの本は、わからない言葉があってもガシガシ読み進めるのが吉。タプルとか、なんの説明もなしに出て来ても(P101 「タプルのリストが生成されます」とか)気にしない。後ろの方で説明が出て来ます。

ただ、誤植、サンプルコードのミスが多過ぎる気が……まぁ初版本ではこんなもんですかね。この点がおしいなぁ……
正誤表は

http://www.trirhino.com/books/ppyerrata

で公開されていますが、これ以外にも

P.215 サンプルコード 13-4-2-2

print b ミ c




print b - c


の誤り

P.218 サンプルコード 13-4-5-1

>>> len(c)
10


は、

>>> len(c)
5


の誤り

P.219 サンプルコード 13-4-6-1

    return self.end ミ self.start + 1


は、

    return self.end - self.start + 1


の誤り。

P.248 サンプルコード 16-1-4-2

>>> with open(test.txt','r') as f:




>>> with open('test.txt','r') as f:


の誤り

P.249 サンプルコード 16-1-5-1

>>> f.tell() # 現在位置は 6バイト目
4L




>>> f.tell() # 現在位置は 4バイト目
4L


の誤り

などがあります。もっとあった気もするけど、メモし始めたのが、途中からだったので忘れた。連絡しようと思ったんですが、誤植の連絡先とかが書いてないようなので、とりあえず放置で(^_^;

あとサンプルとして気になったのは、

P.80 サンプルコード 6-4-8-4

>>> `200`
200


repr関数は `` でも代用できるよ、という説明なんだから、小数を含むサンプルコードにして欲しかった(小数を含まない場合でも動作的には大丈夫なんだよ、ということを示したかったのかもしれないけど……まぁ私の気にしすぎかも)

P.156 サンプルコード 10-1-3-1



>>> (a is c) == (id(a) == id(c))
True


という箇所。flase == false なので True なんですが、aと c は値は同じだけど、オブジェクトとしては別物ですよ、ということを示すサンプルなだけに紛らわしい……その直前には、a と b はオブジェクトして同一です!というのを示すのに

>>> (a is b) == (id(a) == id(b))
True


としてるから、なおのこと(^_^;
いや、むしろ「ん?この流れだと falseって表示させたいんじゃ?」と思ってサンプルを実行してみたので、実は著者の狙い通りなのかも……

P. 169 サンプルコード 11-4-4-3

>>> def arvf ( *args ):
... print args
...
>>> arvf(1,2,3)
(1, 2, 3)
>>> arvf (*[1,2,3,])
(1, 2, 3)


……シーケンスの前に "*" を付けることで、なにが変わったのかがわからなくて切ない。・゚・(ノД`)・゚・。

ここは本気でわかんないので、あとで初めての Pythonで確認しよっと。

と、まぁいろいろ書きましたが良い本だと思います。とりあえずガシガシプログラム書きながら覚えたいんで、細かい仕様はあとでいいんだよ!という方にはお薦めの 1冊です :-)


2007-04-14 Sat


sid を update [Debian]


ちと落ち着いて来たので、Debian(sid)を update してみる。特に壊れているパッケージもなく、無事終了

# aptitude update
# aptitude upgrade


ただ以前から、再起動時に cryptsetup でエラーが出てたので、わざわざ昔のパッケージにダウングレードしてたんだけど、いい加減そっちの方が面倒なので、追求してみる。ちなみに cryptsetup は、まるごと暗号化したパーティションの mount の面倒を見てもらってる感じ。

以前の設定
http://www.kunitake.org/xoops/modules/weblog/blog-258.html

これが、cryptsetup のバージョンアップによって

/etc/crypttab


に引数が足りない云々と怒られるようになった。中身を見ると今は

# <target device> <source device> <key file> <options>
cryptvol1 /dev/sda8


という設定になってました。どうもオプション指定が must になった模様。とりあえず man してみる。

$ man crypttab


key file の指定はしたくない場合は、none と書けばいいらしい。また、いまの暗号化されたパーティションは、

# cryptsetup.sh -c aes -h ripemd160 -y -b `blockdev --getsize /dev/hdb9` create cryptvol1 /dev/hdb9


のように作成したんだけど、上のように暗号化アルゴリズムに aes, ハッシュ関数に ripemd160 を指定して作った場合は、/etc/crypttab に

cryptvol1 /dev/sda8 none cipher=aes-cbc-plain:ripemd160


こう書けばよいらしい。これで再起動して、無事立ち上がることを確認 :-)


2007-04-12 Thu


ウェブで読める Django 本 [Python][Django]


Python界隈で有名なフレームワークの Djangoの本の beta版。

http://www.djangobook.com/

via 忘れた……

自由にコメントまでつけられる。むしろそっちのシステムが気になったり(^^;


2007-04-11 Wed


Debian etch リリース! [Debian]


いまごろなに言ってんだ? て感じですが、無事にリリースされてなによりです :-)

Debian GNU/Linux 4.0 がリリース
http://www.debian.org/News/2007/20070408



Google Analytics [Google]


ありゃ? 解析結果が、いつの間にか Linux 上でも文字化けせずにちゃんと見られるようになってる。ちょっとびっくり(^^;

http://www.google.com/analytics/



Jifty 2度目の挫折…… [Perl]


ちまちまと、サンプルプログラムを書いてたんだけど、やりたいことが果たして出来るのか、できないのかがはっきりしないのが、ちと苦痛。これならCGI::Application + DBIC の方が慣れてる分、サクサクかけて楽しい orz

将来的に Template Toolkit に対応する予定もあるらしいし、それまでは Catalyst で遊ぶかなぁ……

ということで、2度目の挫折>ダメ人間



老後のキャッシュフロー [ネタ]


http://www2u.biglobe.ne.jp/~hakuzou/Link-Y8.htm
via http://homepage.mac.com/naoyuki_hashimoto/iblog/C909010522/E20070405155626/index.html
via 忘れたけど、たぶん「はてぶニュース」

ちょっとびびった(^_^;


2007-04-10 Tue


Moxy の文字化け [携帯][Tools]


先日の文字化けの件、さっそく直している方が

http://back-paper.labs.mfac.jp/show?paper_rid=N857nvjYbY

しかも、さっそく本家にとりこまれた模様 :-)

#でも最新版は、いろいろと変わってて、手元では動かなくなっちゃった……せつない


2007-04-07 Sat


MySQL Multi-Master Replication Manager [MySQL]


MySQL Multi-Master Replication Manager
http://code.google.com/p/mysql-master-master/

via どこだっけ?

む? 試してみたいかも……


2007-04-06 Fri


Jifty Now! を試す [Perl][Framework]


サンプルコードが動かないよ、ママン..... orz

どうも "Jifty Now!" で紹介されていた Jifty のコードは、CPANに上がっているバージョンでは動かなさそう(コードを grep しても "defer" とか定義している箇所がない……)

なので、きっと "Now!" ってのは subversion の trunk にあるコードだろうということで、リポジトリから、jifty と Jifty-DBI のコードをインストールした。ちなみに、jifty本体のtrunk のバージョンは、0.70117 のままなので、昔のファイル(Jifty.pm)を消さないとインストールできなかったりする。

む? かなりドキュメントが追加されている予感。warning がいくつか出たけど、サンプルコードも動いたし、しばらくこのバージョンで開発してみよう :-)


2007-04-05 Thu


YAPC::Asia 2007 Tokyo 2日目 [Perl]


いや〜盛り沢山な一日でした。以下、備忘録。

■ web apiで遊び倒す

OpenID + asterisk で VoIP のデモ予定が失敗。あせる発表者 (^-^;

それはさておき、Firefoxの拡張に EC2 UI があることを知る。こういう情報ってどこから得てるんだろ?
世の中には、EC2 をバックエンドに使ったサービスもいくつか出ているそうです。

- muckOS
- RightScale

発表資料
http://s3.amazonaws.com/yapcasia2007tokyo/webapi.pdf

■ Patterns in Perl

Perl における(デザイン?)パターンについて。ちと関連知識を仕入れてから、再度ストリーミングで復習だな……

発表資料
http://www.houseabsolute.com/presentations/patterns-in-perl/start.html

■ Behind the Scenes at LiveJournal: Scaling Storytime

LiveJournal のバックエンドについて。かなり自前で開発したものを使っているみたい。もともと 1台(Web+DB)で動かしていたサービスがどんどん大きくなって……と話は進んで行き、今の構成が紹介されました。

- memcached
  これは、一般的に使われているキャッシュデーモン :-)

- PerlBal
  最近なにかと話題の、LoadBalancer。Pound みたいなやつですね。認証とか、重要なことは mod_perl で、巨大なファイル転送といったことは PerlBal で、という使い分けとのこと。

- MogileFS
  分散型のファイルシステムっぽいやつ。RAIDを不要にし、トラッッカーデータベースとファイルを分散させて持つことで、それを実現。

- Gearman
  Manager のアナグラムだそうです。仕事を割り振るけど、自分自身では仕事をしないルータのような役目をします。そのうち {e|i}BGP とか、OSPF とかが動き出すに違いない :-p
  dispatcher の役目を担っているんですが、これでなにが嬉しいかというと、Image::Magick とかを mod_perl から追い出せたり……

- TheSchwartz
  TheSchwartz はアナグラムではないらしい。

- djabberd
  Jabber の実装の一つ。

結構盛り沢山だったので、プレゼンが公開されてから、もう一度見直したい話でした。DBの移行に、ユーザ毎に read only フラグを用意したり、schema_version を用意してそれに備えたりと、さらりと使えそうなノウハウが紹介されてました。

おっと、資料が公開されてますね。

資料
http://www.danga.com/words/2007_yapc_asia/

■ Jifty Now!

CPAN 小ネタ

cpan> notest install Jifty


でテスト無しで、インストールできるらしい。それはともかく、Jifty でアプリを書く上での疑問点がかなり解消! これだよ、これを待ってたんだよ!
しかもサンプルで作ろうと思ってたアプリそのまんまの簡易アンケートアプリが題材。これからじっくりコードを読んでみる予定

発表資料
http://pugs.blogs.com/talks/yapcasia2007-doxory.pdf

サンプルコード
http://fsck.com/~audreyt/DoxoryDemo.tgz

■ Building Catalyst Applications

あー、前のプレゼンの Jifty のサンプルコードに気を取られてあんまり聞いてなかった……ただ、作ったアプリの配布の方法が用意されているみたい?で、かなりこなれてきたみたい。Catalyst もじっくり触ってみたいフレームワークですね。FormBuilder とかも気になるし……
 
■ Pushmi - Subversion replication system

いくつか拠点を持っている開発会社にうれしい仕組み。マスターのリポジトリから、コピーを作ってくれる。コミット時には、単純にリレーするだけなので、普通の使い方のまんま。メリットは、

- 障害に(ちょっと)強い
  マスターとの VPN 回線が切れたとして、checkout は可能
- 帯域の狭いところで活躍
  10 人が svn update したとしても、マスターとコピーの間で 1回行なわれるだけなので、効率がよい。しかも update 後、他の人は、コピーのリポジトリから取れるので、すばやくコマンドが実行される。

  こんな感じ?ちなみに VPN が切れた時のコミットは、svk 使っとけという話でした。

コード
http://code.bestpractical.com/
http://code.bestpractical.com/project/Pushmi

■ Assurer - a pluggable server testing/monitoring framework

Plagger そっくりな、テスト、監視用ツール。聞いていて、監視に使うには「エラーレベルの設定とそれに応じたアクション」「XX回失敗した場合はXX」といったことができないとつらいなぁと思ってたら、最後に今後の予定として挙げられてた。実装されたら運用部隊にお勧めできるかも?

■ Lightning Talks

いろいろ面白いのはありましたが

- Moxy
http://code.mfac.jp/

は実用度が高そう。PCから携帯アプリの動作確認をする際に、Proxy として間に噛ませることで、絵文字を変換したり、HTMLの幅を実機に合わせてみたりと、かなりよさげ。
さっそく帰社して試してみましたが、一部文字化け。ありゃー ad-hoc にはすぐ直せそうだけど、なにが悪いだろ?

■ Perl Program Repair Shop and Red Flags

Perl 添削道場。こういうのを社内の勉強会で、新人向けにじっくり紹介するのもいいかも?


2007-04-04 Wed


YAPC::Asia 2007 Tokyo 懇親会 [Perl]


- Seasar Conference 2006 Autumn な人と再会
どっかで見たことがある人だなぁと思って、思い切って聞いてみたらそちらにも参加されていたとのこと。ピザ食べながら話してた人だなきっと(^_^;

- 実物? の Dan氏とお話
  ある特殊な実装上で Encode::Guess が segment fault するって話をしてみたり、素人丸出しで Code Page 932 の話を聞いてみたり、楽しかったです :-)

- なぜかJANOGの話をしてみたり
会場で話掛けた人がネットワーク屋さんだった。残念なことに JANOGを知らなかったようなので、是非MLに subscribe & ミーティングに参加してみてくださいって話しをしたり。

- 創業 3日な会社な人と名刺交換
そう、ちょこっとお仕事で関係してるんですよね〜私は直接関係してないんだけど(^_^;
他社の開発環境の話しって結構面白い。うちの開発環境も、もう少し整備して、どこかで発表してみるってのもいいかもね。

- Perl Worst Practices を発表された火星さんとお話
頑張って英語で話し掛けてみる。とりあえずプレゼンに感銘を受けたので、変数をすべて自分のコードから削除するつもりだとか言ってみたり。Debian 好きな方のようで、親近感が湧く。ちょっぴり日本語も話されるようで、3年間は日本にいるとのこと。六本木で働いてるっていってたけど、どこの会社だろ?
この時に、Debianのユーザ会の方ともお話をしたんですが、そっちの勉強会とかにも顔を出してみたいなぁ〜

- Virtualization and Package Deployment with EC2 を話された Millsさんとお話
日本語ペラペラというか、実は日本人なのでは……ってな感じ(^^;
興味があれば、EC2 の話しを別の機会にしてくれるとのこと。うちの会社で有志を募って、話しを聞きに行こうかな :-)

- Java な方とお話
結構 Perler に混じってちらほらと。「普段は Java なんだけど、個人的には Perl が好きなんだよねぇ」なんて話しを聞きながら、うちの会社での Java 部隊の話をしてみたり。

- mixi & MySQLユーザ会の方とお話
結局 MySQL のライセンス料はどうなの!?とかいう話しをする。サポートがいらないなら、GPL版でいいよなんて話をしてたんだけど、結局GPL版でうたわれる制限が、いわゆる GPL の解釈でいいのか、MySQL AB がうたっている制限じゃないとだめなのかって話を聞くのを忘れてた(これが一番聞きたい話だったのに(^^;))
まぁ酔ってたんですな

- Yahoo! な方とお話
Yahoo! で開発をしている方とお話。興味深い話をいくつか聞かせて頂く。非常におもしろかったです。サイトオペレータの某氏とお知り合いかと聞いてみたけど、部隊が違うとなかなかわからないみたい。そりゃそうか、大きい会社ですもんねぇ……

- 懇親会について
赤字かも!と心配されていたけど、最終的に人が集まったようでなにより :-)
思ったより、いろんな人と話せたかな? こういう懇親会もいいね!



こっそり日付を修正 [Perl]


ああっ orz



YAPC::Asia 20g07 Tokyo 初日その1 [Perl]


会場のネットワークが安定しませんが、こういった規模のカンファレンスではよくあることです。なにげに(バッド?)ノウハウの塊ですからね〜

さて、YAPC::Asia 2007 Tokyo 初日です。YAPC = ヤプシー だそうです(それはさておき)

■ Virtualization and Package Deployment with EC2
使いたい CPAN モジュールを入れるよりも、そのモジュールが依存しているモジュールを入れる方が大変。最近は仮想化技術も進んでるんだから、いっそ環境事配っちゃえば? という話し。
いや〜かなり強引な解じゃないかなぁ? とは思うんだけど、わりと本気っぽかったかも。
RoR を使いたい人は、このインスタンス。Catalyst を使いたい人はこのインスタンス。Jifty を使いたい人はこのインスタンス……といった具合に、Amazon が提供する、EC2 と呼ばれる仮想サーバサービスを使う、というのをイメージしているみたいです。
会場からの質問にもありましたが、EC2、ベータが取れる日はいつだろう(^_^;


■ Higher-Order -Parsing techniques for Perl
関数プログラミング? な話し。構文解析ってこんな流れで行なっているんだよ、というプレゼンでした。ともすれば退屈な話しになりがちなのに、さすがにプレゼンがうまいな〜飽きさせない話しでした。最初に解析すべき文法を示し、

1. 字句解析
2. 再降下型解析
3. 結合
4. 選択
5. パーサ

と話を進め、最後に演算子のオーバロードで、「ほら、最初の文法と記述が一緒になったね。」と。
すくなくても、「続・初めての Perl」と「実用Perlプログラミング」程度の知識は必要だとは思うけど、面白かったです。あとでまた読み直さねば。

とりあえず、s/conc/cat/g だ!(謎)

関連
Higher-Order Perl
http://hop.perl.plover.com/

プレゼン資料
http://perl.plover.com/yak/parsing/

サンプルコード
http://hop.perl.plover.com/Examples/Chap8/

■ Perl I18N in 20 minutes

Python で、unicode なのに、2文字扱いになる文字があるって話が、ちょっとびっくりでした。あとは、λを \N{GREEK_SMALL_LETTER_LAMDA} とかで参照できるとか、属性を設定しているから正規表現で、すべての漢字にマッチとかすぐに書けるんだよってのも初耳でした。全然だめだなぁ>おれ

■ Perlネットワークプログラミング再考

IPv6 は? それが気になってしかたがなかったです(^^;

#質問はしませんでしたが。

あとで IPv6 がどうなっているか、調べてみよう……というか、いくつか書きたいコードもあるしね :-)

■ Everything Vox

Vox の裏側の話です。mod_perl を肥大化させないためでもあるんですが、XMLパーサを沢山いれたくないので、CPAN モジュールは使わずに、自分で実装したよ、という話とか出てました(いや、もっと話題は沢山ありましたが)
個人的にやってみたい、参考になる!と思ったのは

- TT の キャッシュディレクトリに、バージョン番号を含め、古いキャッシュが使われないようにする。

- Data::ObjectDriver + memcached を用い、caching, partitioning をプログラム側から意識せずに活用させる

です。DBIC の次は Jifty::DBI か Data::ObjectDriver かなぁ(^_^;

■ Inside livedoor 2006-2007
創業 3日の livedoor な話(なぜ創業 3日なのに 2006年の話があるかは謎(w))

- CVS から Subversion に移したよ
- Sledge 2.0 それはムーブメントです

という話。他にも Madeleine CMS が紹介されてました。Catalyst を使っているらしいので、あとで見てみようっと。

SVN リポジトリ
http://svn.shebang.jp/repos/Madeleine/trunk

あと、検索エンジンとして

1. Senna + MySQL(Sennaは 1.0 になってかなり安定したらしい)
2. HyperEstraier
3. Lucene

とか、いろいろ使ってるみたい。

■ Perl Worst Practices

バグの 95% は変数に絡んでいる。すべての変数をコードから取り除くんだ!という話<ちがう!

■ Perl 6 Today
もう Pugs の話題盛り沢山。日本語訳をされた方の趣味が忍ばれるプレゼンでした<着眼点が違う

こっそり、Perl6 になると、Perl とはお別れかなぁ? とか思ってたんですが、すこしやる気が出て来た(^-^;

あと、全然関係ないですがこのプレゼンで出て来る GPL とは General Purpose Language の略だそうです。あとで見直す時、混乱しそう……

■ BOF
あれ? BOF ……は?


2007-04-03 Tue


明日は YAPC:::Asia 2007 Tokyo [Perl]


http://tokyo2007.yapcasia.org/blog/ja/

去年はチケットが手に入らなかったので悔しい思いをしましたが、今回はばっちり :-)

特に、2日目の Jifty が気になりますね。DBIx::Class でやるようなリレーション(1対多や、多対多)をどうすればいいのか……そういった具体例が紹介されると嬉しいですね〜


IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ