2008年12月アーカイブ

Python 2.4 だとエラる

#296 ('unicode' object has no attribute 'partition') - JavaParty - Java's Companion for Distributed Computing - Trac

Python 2.5 特有の記述をしているためらしい。trunk を引っ張ってくれば問題は解決している。

/path/to/trac/projectA, /path/to/trac/projectB という具合に複数の Trac インスタンス (と呼んでよい ?) を配置する場合に、キャッシュディレクトリ /path/to/trac/.cache-egg を同一階層に配置してはだめ。

Apache で設定した PythonOption TracEnvParentDir に、ブラウザでアクスした際にエラーが表示される。運用上そんなに問題になることではないが...

公式ドキュメントに従って設定すれば、多分問題なくできるはず。

「飛び出す写真」を簡単に作るPhotoshopチュートリアル | POP*POP

28 Powerful Photoshop Lighting Effects | Web Design Ledger

オンラインで、できちゃう

参考書籍

プロ厳選Photoshop写真加工 ver.CS3/CS2/CS/7.0対応版
倍賞 美光
MdN
売り上げランキング: 54103
おすすめ度の平均: 5.0
5 レタッチの学習
5 基礎の発展編として
リアルな合成写真のつくりかた―プロが教えるPhotoshopおもしろ画像作成テクニック
吉田 浩章
秀和システム
売り上げランキング: 72321
おすすめ度の平均: 4.5
5 Photoshop CS2の写真合成手順がわかり易い
4 わかりやすい具体例ですぐに役立ちそうです。
Photoshopデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック- (Design Lab+ 1-1)
デザインラボ編集部
ソフトバンククリエイティブ
売り上げランキング: 1478
おすすめ度の平均: 4.0
4 教科書的
3 フォトレタッチ中心
1 うーん
5 損はしないと思います。
5 すごいテクニックが満載。そして解りやすい。

シェルスクリプトで svndump コマンドを作る。

実際のコードは後日掲載する、つもり。

雑誌の通販で Fujisan.co.jp とかあるけど、今回欲しかった雑誌のバックナンバーは取り扱っていなかった。

各出版社にはバックナンバー取り寄せの通販があるが、どれも発送手数料が 1,500 円以上、未満でそれぞれ、200円、500円と追加の費用が発生してしまう。

数百円の雑誌に 500円の手数料、て ... アホかっ。

結局、近所の書店で取り寄せてもらうことにした。こちらも結局は出版社に問い合わせて取り寄せるそうだ。アホかっ。

ネット通販って流通をショートカットできるから安いんじゃないの ? (もちろん他にも理由はあるけど) 仲介が多い流通の方が手数料取られないってどういうことよっ。

あぁー面倒。

構想としては、対話式のコマンドをラップするスクリプトを開発して、引数化したいと思っている。

Tcl という使い慣れない言語の拡張言語で記述する云々を見たので、もしかすると「やりたいこと」とのつなぎが面倒かも。

折角、シェルスクリプト覚え始めたのに...

なに、Python + Except !! 決まりじゃないか、これは。

システム開発の備忘録

探したらPHPにはExpectの拡張関数もあるし、Python+Expectのサンプルなんかもあった。

システム開発の備忘録

Python でいけちゃう。

他にもいくつかモジュールがあった。

今、ガイヤの夜明けでやってた。

オリックス、内田洋行のよい宣伝だよな、これ。ガイヤの夜明けって記事広告みたいな感じで企業への番組広告 (っていうのかな ?) なのかなぁ。

オリックスのサイト重っ。

オリックスカーシェアリング[プチレンタ]

知らなかった。

でも、これって、ちゃんと予約した時間通りに返却するとか、事故を起こさない、事故が起きない前提で、っていう性善説 ? 的な一面があるよな。

20年前のファミコンとはちょっと違う。Wii ならいいかなぁって...

Wii(「Wiiリモコンジャケット」同梱)
任天堂 (2006-12-02)
売り上げランキング: 21
おすすめ度の平均: 4.0
1 つまらん
2 必要な周辺機器が多すぎます
5 王者がやってきた!!!
3 任天堂の方向性と合致するなら
4 PS3と並べると小さっ!

Wii だけと、Wiiリモコンジャケット同梱というのがあるが、今は、このWiiリモコンジャケット同梱が標準らしい。

まずはこれで。

Wii Music
Wii Music
posted with amazlet at 08.12.16
任天堂 (2008-10-16)
売り上げランキング: 42
おすすめ度の平均: 4.0
4 2歳児も遊んでいます
5 たのしい!!
1 過去最低の音ゲー
4 輝く感動
3 音ゲー?

コミットのコメントを参照したり、そんな用途。svk の再実装という意味ではない。

debian のパッケージに python-subversion というのがあるみたい。

Debian -- lenny の python-subversion パッケージに関する詳細

まとめリンク発見。

PythonからSubversion(on Trac Lightning) - ikikko.py - fukuoka.pyのはてなグループ

pysvn がよさ気。

pysvn.tigris.org

あっ、やろうと思っていたこと、サービス提供されちゃったぁ。

再配布できるように、っと思って実装しているけど、Django じゃぁ、環境が限られてるって...。

必要な各種パッケージを入手

まずは Eclipse のダウンロード。

なんか最近はプラグインが同梱されている用途別のパッケージが多数用意されているようで ... どれをダウンロードすればよいか迷う。

まずは、プレーンな Mac 用のパッケージを入手。

Eclipse downloads - mirror selection (eclipse-SDK-3.4.1-macosx-carbon.tar.gz)

次に、Pleiades を入手。

Windows ではないので All in One が利用できないのが残念。

ダウンロード - MergeDoc - SourceForge.JP # Pleiades

若干、アナログな日本語化の手順

ダウンロードした Eclipse Classic 3.4.1 と Pleiades を解凍。Pleiades の features と plugins の中身をそれぞれ解凍した Eclipse の中にコピー。

コピーする際にフォルダごとコピーすると Mac の場合、入れ替えになるので要注意。つまり、Eclipse にあった features や plugins の中身がなくなってしまいます。

ここからが少々面倒。

Eclipse.app を選択した状態で、control + クリック (右クリック) して、「パッケージの内容を表示」

Eclipse.app/Contents/MacOS/eclipse.ini を編集。

-startup
../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.101.R34x_v20080731
#-showsplash
#org.eclipse.platform
-vmargs
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Xms40m
-Xmx256m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dfile.encoding=UTF-8
-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=no.mnemonic

修正箇所は、以下の 4つ。

  • スプラッシュ画面に関する記述をコメントアウト
    • #-showsplash
    • #org.eclipse.platform
  • 初期のエンコードのキャラセットを明示
    • -Dfile.encoding=UTF-8
  • Pleiades の有効化
    • -javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=no.mnemonic
  • Pleiades の有効化の際、引数を追記 (Windows 用のショートカットキーの表記を非表示に)

以上。

以前の関連エントリー

もぉ、ホント、メモなだけ

MIT の名物熱血教授
マサチューセッツ工科大学(MIT)の物理担当であるWalter H.G. Lewin教授(71)

明治学院大学ブランディングプロジェクト

「立命館大学」大学ブランディングの実践

立正大学ブランディングビジョン

東海大学のブランディング

大阪経済法科大学広報ビデオ

滋賀医科大学のブランディング

浅井学園大学が「北翔大学」に変わる

専修大学の CM

立教のブログパーツ

大学の地域貢献とブランディング効果

英国図書館のリ・ブランディング事例

読み物系、関連サイト

ザ・リッツ・カールトン・ホテル・カンパニー日本支社支社長をセミナーでよく見かける

さっき TV で放映していたけど、日本にはワクチンをつくるための材料備蓄が 3000万人分しかないらしい。

新型インフルエンザが蔓延したら、一般国民は死ねってことらしい。

アメリカは全国民分の備えがあるそうだ。スイスは駐在外国人の分まで備えがあるとか。

どうなってんだ日本政府よ。

新型の抗ウイルス剤の開発について(開発番号:「T-705」)

富山化学工業株式会社(社長:中野 克彦)は、カナダのトロントで開催(2000年9月17日〜20日)された第40回インターサイエンス(世界的規模の学会で米国微生物学会主催、通称ICAAC)において抗インフルエンザウイルス活性を有する全く新しい作用をもった抗ウイルス剤(開発番号:「T-705」)を発見した事を発表し、多くの参加者の注目を集めました。

富山化学工業株式会社 > ニュース詳細

String::Trigram

手軽にできないかと調べてみると Perl には String::Trigram (cpan) というモジュールがあって比較結果を数値化して判断する、というようなことができるみたい。

n-gram 形式で処理するので単語辞書などがいらない。辞書のメンテナンスが入らない反面、n-gram のウィークポイントはスピードだった気がする...

String::Trigram でテキストの類似度を測る

文Aと文Bでは語順が入れ替わっていますが、トライグラムに分解して要素比較すると、それぞれ10あるトライグラムのうち、6つまで (図中 '*' で示したもの) が共通であることがわかります。

このような手法で文章同士の類似度を測ったり、もっとも似ている文章を引っ張ってきてくれたりするのが、この String::Trigram なのです。

livedoor Developers Blog

ドキュメント覗いてみると、似たようなモジュールがいくつかある。

  • "String::Similarity" - Uses edit scripts to compute similarity between strings.
  • "String::Approx" - Uses Levenshtein edit distance to compute similarity between strings.
  • "Text::Soundex" - Uses soundex method to compute similarity between strings.

類似性を判断するアルゴリズムによって、といったところだろうか。

python-ngram

Python には、上記 String::Trigram に触発されて開発されたモジュールが PyPi に登録されていた。

2006 年で開発がストップしているのが残念。

最近文字コード関連でバグがあった模様。

SourceForge.net: Detail: 1835822 - Character encoding trouble

ほかにも、python-Levenshtein とかあるみたい。

Python Package Index : python-Levenshtein 0.10.1

python で trigram 使っている実装例。用途が全然違うけど。

PHP

php には標準でいくつかの関数が用意されいてる。

後者 soundex と metaphone の二つは発音に関するものなので用途は異なる。

そのほか

投稿データの事前準備がそろそろ終わりそうなので次の展開へ。

また、スクレイピングで独自実装かぁと思っていたけど、僅かな希望を持って検索してみたらアッター。

COREBlog の ats さんが pyhatebu というモジュールを公開していた。超ナイスっ !

pyhatebu0.7 - Pythonではてなブックマークをアレコレするためのラッパー

Pythonではてなブックマークをアレコレするためのラッパー「pyhatebu」というのを作ってみた。個人的に使っていたものをちょっとかっこよくまとめてみました。Python的にわりとまっとうな実装であることを目指しました

TRIVIAL TECHNOLOGIES 2.0

はてなブックマークは AtomAPI という技術者向けのサービスを提供していて、先ほどはスクレイピングと書いたけど、もう少しスマートな方法で外部から操作ができるようになっている。

これを Python 風な使い勝手で、手軽に利用できるようにしたのが pyhatebu というわけ。

pyhatebu パッケージは、WSSE 認証の処理が別ファイル (モジュール) 化されているので別の用途でも活かせそう。

以下のあたりが原型なんだと思うけど... pyhatebu イイ

はてなブックマークとnewsbitsの統合 -- TRIVIAL TECHNOLOGIES 2.0

ちなみに、はてブの AtomAPI の解説については以下を参照。

はてなブックマークAtomAPIとは - はてなキーワード

ということで。

Python では simplejson がスタンダードなのかな ?

simplejson 2.0.5

simplejson is a simple, fast, complete, correct and extensible JSON encoder and decoder for Python 2.3+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost.

Python Package Index

Python 2.3 以上で動作して、シンプルで速いとのこと。Pure Python だけど、更にスピードを求める場合に C による拡張もあるようでいうことなし。

公式ドキュメントさらっと見たけど、(英語なので読んでない... ) 使い方がよく分からなかった...

python-twitter のソースを見てなんとか理解。

import simplejson
data = simplejson.loads(json)
for s in data:
  print s['label1']
  print s['label2']

おまけ

simplejson 以外に python-json ってのがあるみたいだけど、以下のような書き込みがあったりして...

使ってみもせず評価はできないけど、まずは simplejson で実装してみよう。

PythonでJSONを処理するライブラリ

unicodeに対応していない。Types.StringType?を用いた文字列の判定部分をTypes.StringTypes?に書き換えるととりあえず動く。

oriharaWiki

svnsync は、元となるリポジトリからミラー先へプッシュ型で同期を取る機能。

1.4 から実装された機能なので、元のリポジトリが 1.4 以上でないと使えない...
現場で使いたかったんだけど確か 1.2 だった気がする...

svnadmin dump, svnadmin load でやるしかないか...

使うことはなさそうだけど軽く手順を書いておく。

  1. hook にスクリプト追加
  2. ミラー先のリポジトリ生成
  3. svnsync init で初期設定
  4. svnsync sync で実行

おまけ

別に病気じゃない、という気もするけど、心理的な病気ってことなのかな。

便利な検索が引き起こす現代病「サイバーコンドリア」- MSが報告書

サイバーコンドリアは、hypochondria (心気症)にサイバーを組み合わせた造語である。2000年頃に登場した。体の調子が少しでも悪くなったら、すぐにインターネットで該当する症状を検索して自己診断するふるまいを表す。

ネット | マイコミジャーナル

ネットで仕事してるとか関係なく、家族もそうだし、友達からも似たような "ふるまい" の話を聞くなぁ。

僕自身もそうだし...

このアーカイブについて

このページには、2008年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年11月です。

次のアーカイブは2009年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。