Webコンサルタントの愚痴とアジャイル,生産性向上,Trac,オープンソースなどの与太話
1. ejSplitterを導入する。
http://www005.upp.so-net.ne.jp/nakagami/Download/ejSplitter-0.5.0.tar.gz
解凍して/lib/python/Products/以下に配置し、Zope再起動する。
2. このままだとファイル検索等でヒットしないケースがあるので、
ejSplitterを修正する必要がある。
参照:http://ml.zope.jp/pipermail/zope-users/2006-July/005805.html
修正内容は下記の通り
エラー:UnicodeDecodeError
————————————————–
File “C:…..ProductsejSplitterejSplitter.py”,
line 59,
in _convert
return unicode(text, ‘utf-8′)
UnicodeDecodeError:
‘utf8′ codec can’t decode byte 0xa0 in position 86:
unexpected code byte
————————————————–
とりあえず、エラー時に無視するように59行目を修正
return unicode(text, ‘utf-8′)
↓
return unicode(text, ‘utf-8′, ‘ignore’)
3. 次にIndexの作り直しをする。
ZMIに移動して色々やる。詳細は
http://takanory.net/plone/basic/splitter
の手順がすべて適応。
1. 前提としてejSplitterを導入し、59行目の修正をしておく。
2. 必要なプロダクトを導入する。以下が必要なものである。
AttachmentField-1.3.11.tgz
ploneexfile-3-2-4.tgz
導入の方法は解凍して/Productsディレクトリ以下に配置し
Zope再起動すれば良い。
3. なお、Excelのみファイルの追加が失敗する場合があるらしい。
その場合はAttachmentFieldの中のMSExcelAttachment.pyを編集する。
#index_encoding = (”CP1252″, “utf8″, )
index_encoding = (”utf8″, “CP1252″, )
#preview_encoding = (”CP1252″, “utf8″, )
preview_encoding = (”utf8″, “CP1252″, )
の2箇所が変更箇所。
同様にMSWordAttachment.pyやMSPowerpointAttachment.py等も編集する。
4. 実際にファイルを追加するときは、ノーマルのファイルではなく
アイコンに印のついているファイルオブジェクトを選択する。
5. 以上で良いはず。
Zwiki導入がうまくいかん。
何故かと思って調べたら、サイト高速化の為に利用しているCacheFuによるもののようだ。
まだ分からんけど。
参考:http://nagosui.org/Nagosui/COREBlog2/zwiki-with-cachefu/view
参考:http://zwiki.org/1285BrokenInPlone25WithCMFSquidTool13LoggerNotDefined
答えは
“You can fix that by adding this line at the top of SquidTool.py:
from Products.CMFSquidTool.utils import logger
とのことで、SquidTool.pyの先頭行に1行追加するらしいのだが、どうなんだろうか?
もう眠いから続きはまた後でやることにする。
せっかくScuttleを入れていることだし、タグの一覧だけでなく、最新のScuttleへの登録内容をサイトに表示してみようかな、ということで作業を開始。
Scuttleへの登録内容はRSSで出力されているので、Plone2.1.2側でRSSフィードをそのまま表示するプロダクトを探して導入する、というのが楽な解決。
以前の記憶を頼りにCMFSinにたどり着く。手順は以下の通りだ。
Plone2.1.2へのMigrationで結構嵌った。Ploneの勉強不足が著しく露呈。。むぅぅ。やっぱPHPかな・・・。
ある人から作ったアプリを見て欲しいってなことを言われ暇なので見てみた。
一応、オープンソース含め色々ソース見てるし勘所はあるし。
開始0分
→全てのソースで何もPearライブラリがrequireされていない。著しい不安を覚える。
開始1分
→数10本のソースをgrepしてもclassという文字が見つからない。この先が魔界であることを悟る。
開始2分
→PHPのソース中にechoで1行毎にhtmlが大量に出力されていた。この時点でDQN認定。
開始3分
→どうもDBアクセスが全てSQLベースであり、しかもbindメカニズムが何も使用されていないことが分かる。早く動かしてSQLInjectionしたい衝動に駆られる。
開始5分
→入力値のチェック部分から甘~い香りが漂ってくる。眠らされてしまった。
つうことで作り直し推奨。これぢゃ品質担保できる気がしない。
このソースはかわいそうだが赤点だろ。
なんとなくTODO管理をやりたかったので、色々探した挙句TaskFreakを入れてみた。
こいつもPHP+MySQLかSQliteで動作するGPLなソフトウェアである。本家ではマルチユーザモードとシングルユーザモードの2つのアーカイブを配布している。今回試したのは、シングルユーザ版である。
まだあんまりソースは読みきってはいないが、wordpress並みに、ソースの中にhtmlタグがいっぱい混ざっておる・・・。みんなこんなもんなのかね・・・。
ただ、少々使った限りでは、インストールも簡単。動作も軽快なので、一人で使う分にはまぁまぁよさそう。
文句を言うだけなのもアレなので、日本語化してみた。ダウンロードはこちらから。
使い方は
以上で完了である。画面キャプチャは以下の通りだ。

このサイトは他のサーバからnagiosで監視しているのだが、どうにもこうにもパフォーマンスが悪いゆえか、誤検知が多い。ちょっと原因調査とパフォーマンスチューニング。
とりあえず現状。
そんな感じな現状で、apache2についているabで性能測定してみた。同一URLに150回リクエストを投げてみた。
まずは、
完全静的ページ → とりあえず秒間93リクエストなので、普通に結構さばける。
Requests per second: 93.31 [#/sec] (mean) Time per request: 10.717 [ms] (mean) Time per request: 10.717 [ms] (mean, across all concurrent requests)
apache+PHP+MySQLのscuttle部分 → MySQLも絡むのでこんなもんか。
Requests per second: 6.62 [#/sec] (mean) Time per request: 151.161 [ms] (mean) Time per request: 151.161 [ms] (mean, across all concurrent requests)
次にPloneの/contents/apacheの一覧部分。 → PloneでCacheFuでキャッシュしているので早い。
Requests per second: 27.81 [#/sec] (mean) Time per request: 35.960 [ms] (mean) Time per request: 35.960 [ms] (mean, across all concurrent requests)
次にPlone+COREblogで、個別のエントリページ。 → なんかえらい遅い。
Requests per second: 1.07 [#/sec] (mean) Time per request: 930.939 [ms] (mean) Time per request: 930.939 [ms] (mean, across all concurrent requests)
次にPlone+COREblogのトップページ → さらに遅い。
Requests per second: 0.57 [#/sec] (mean) Time per request:1751.151 [ms] (mean) Time per request: 1751.151 [ms] (mean, across all concurrent requests)
ということで、ボトルネックはCOREblogにあるような気がするのだが、どうなんだろうか???
OpenLaszloでリッチクライアントっぽいアプリを作ってみたいなー、なんて思ったり。会社でR&Dでもやろうかな。
やっぱ新しいことや人がやってないことを色々やらないと、競争力無くなってしまうし、技術は常に追いかけないといかん。
エンジニアの場合、現場からマネージャになった瞬間に、技術にキャッチアップできない/しなくなる人が多いけど、現場で使ってる技術がわからなきゃねーー。
昨日作ったソフトに機能追加
突然インスピレーションが沸いたので、この週末Windows用ソフトを作ってしまった。
仕事柄、Webの画面キャプチャを取る機会が多いのだが、いつも面倒だったので、バッチ処理可能に。
==================================================
【ソフト名】 きゃぷちゃーまん
【 著 作? 】 Copyright(C) 2006 Ryuzee
【動作確認環境】 Windows XPかつIE6が動作している環境
【サポート】 http://www.ryuzee.com
==================================================
■このソフトで出来ること
このソフトはWebページのキャプチャを取るソフトです。
現時点で出来ることは以下の通りです。
1. 指定したURLのキャプチャを取る
2. 予め作成したリスト等を使って一括でのキャプチャを取る
3. キャプチャはjpegとbmp形式(いずれgifも対応)
4. 横幅指定しての保存
5. JPEGの場合は品質をどの程度にするか指定できる
■現時点での問題
ありすぎ。まぁ個人用なので。
1. TOYOTAのWebサイトが何故かうまく保存できない
2. あまりにサイズが大きいサイトの場合、高品質で保存しようとするとエラーになる。
3. 現時点、何故か画面左に動かせないスクロールバーが表示される。
■サポート
とりあえずサイトに書き込んでください。
■著作権
一応Ryuzeeが保持します。オリジナルのアーカイブを変更して再配布してはいけません。そのうちGPLとかBSDライセンスにするとかも考えます。
日記 PHP オープンソース Linux Trac Perl wordpress フリーソフト Agile 自宅サーバ phpMyFaq Plugin 書評 Delphi apache プラグイン Subversion アジャイル mojavi セキュリティ Ruby Firefox Ajax/Web2.0 eclipse サーバ Zope フレームワーク CakePHP 文字化け scuttle OpenVZ 自宅 phpBB CMS 翻訳・日本語化 Excel ApacheDS 生産性向上 仮想化 hacks CodeIgniter XAMPP LDAP SBM taskfreak Ajax 修正 言語ファイル mod_security ダウンロード HTML::FillInForm 情報共有 格安 メンテナンス 移転 アンケート レンタル PhpScheduleIt 翻訳 API