<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/0.5.0RC-Final" -->
<rss version="0.92">
    <channel>
        <title>tats blog</title>
        <link>http://tat.soga.in/blog/modules/wordpress/index.php</link>
        <description>京都発 tatによるブログ</description>
        <lastBuildDate>Tue, 07 Feb 2012 05:01:59 GMT</lastBuildDate>
        <docs>http://backend.userland.com/rss092</docs>
        <managingEditor>&#116;&#97;&#116;&#64;d&#101;&#118;.b&#97;&#99;&#107;tr&#97;&#112;.&#99;o&#109;</managingEditor>
        <webMaster>t&#97;&#116;&#64;d&#101;&#118;.&#98;a&#99;kt&#114;&#97;&#112;.co&#109;</webMaster>
        <language>ja</language>

        <item>
            <title>tracでCan&#8217;t synchronize with the repository</title>
            <description>	サーバーのsubversionを1.6.2にしたらtracで以下のエラーになった。
	Warning: Can&amp;#8217;t synchronize with the repository
(Unsupported version control system &amp;#8220;svn&amp;#8221;: &amp;#8220;No module named svn&amp;#8221;
 ). Look in the Trac log for more information.
	ログを見たらmod_pythonモジュールがリポジトリと同期できないよ、
って言ってるみたい。
	# cd /usr/local/src/subversion-1.6.2
# make swig-py
# make install-swig-py
# vim [site-packagesディレクトリ]/svn-python.pth
 /usr/local/lib/svn-python
# ln -s /usr/local/lib/python2.6/site-packages/svn [site-packagesディレクトリ]
# ln -s /usr/local/lib/python2.6/site-packages/libsvn [site-packagesディレクトリ]
 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=79</link>
        </item>
        <item>
            <title>Plone3.0のベンチマーク</title>
            <description>	ベンチマークしてみるとPloneはやっぱり重たいです。
	zopeのトップページをベンチマークすると秒間63くらい
リクエストをさばいてます。
	# ab -n 100 -c 10 http://192.168.0.10:8080/
This is ApacheBench, Version 2.0.40-dev &lt; $Revision: 1.146 $&gt; apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
	Benchmarking 192.168.0.10 (be patient)&amp;#8230;..done
	Server Software:        Zope/(Zope
Server Hostname:        192.168.0.10
Server ...</description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=78</link>
        </item>
        <item>
            <title>FreeBSDでplone3.0</title>
            <description>	久しぶりにploneの環境を作ってみた。
知らない間に3.0までバージョンが上がっている。
	FreeBSDの場合はportsから最新のPythonを入れると2.5.1なので
/usr/opt/python24 にPython2.4.4を別途入れる。FreeBSDの
スレッドスタックはデフォルトで小さすぎるのでWANT_HUGE_STACK_SIZE
オプションを付けてmakeしないと、zopeのインスタンスホームに
python.coreができることになってしまうと INSTALL.txtに書いてある。
	 # ./configure &amp;#8211;with-threads
 # make WANT_HUGE_STACK_SIZE=yes
 # make install
	ところがこれではうまくいかなかった。スレッドのスタックが大きく
なっていないみたいだ。Pythonのソースをgrepしても
そのオプションは見つからない。
	仕方ないのでportsのMakefileを見ると、HUGE_STACK_SIZE=yes だと
CFLAGに -DTHREAD_STACK_SIZE=0x100000 としている。どうもこっちの
方が確実そうなので、configureスクリプトが生成したMakefileの
OPTに-DTHREAD_STACK_SIZE=0x100000 を足してみた。そして普通に
make, make install 。今度は大丈夫そうだ。
	スレッドスタックの大きさの確認方法は以下のとおり。
結果が1000ならたぶんうまくいく、ということらしい。
おそらくFreeBSD6.xなどでは初めから問題ないみたいなのだが、
サーバがFreeBSD4.11(古すぎ)なので問題がみたい。
「How can I make sure my BSD Python has enough stack?」
	# python
Python 2.4.4 (#1, Sep  5 2007, 14:15:24)
[GCC 2.95.4 20020320 [FreeBSD]] on freebsd4
Type &amp;#8220;help&amp;#8221;, &amp;#8220;copyright&amp;#8221;, &amp;#8220;credits&amp;#8221; or &amp;#8220;license&amp;#8221; for more information.
&gt;&gt;&gt; ...</description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=77</link>
        </item>
        <item>
            <title>portsdbの失敗</title>
            <description>	久し振りにFreeBSD4.11で構築しているサーバ上でportsからmakeしたら
なんだかエラーがたくさん出て構築できなくなっていた。2月に4系は
portsのサポートの切れたので、ぼちぼち6系に引っ越さないといけないな。
	[root@sv]~# portsdb -Uu
Updating the ports index &amp;#8230; Generating INDEX.tmp - please wait..&quot;/usr/ports/audio/gstreamer-plugins-esound/../../
multimedia/gstreamer-plugins/Makefile.common&amp;#8221;, line 392: Malformed conditional (${gst_${GST_PLUGIN}_GCONF_SCHEMAS}!=&quot;&quot;)
&amp;#8220;/usr/ports/audio/gstreamer-plugins-esound/../../multimedia/
gstreamer-plugins/Makefile.common&amp;#8221;, line 396: Malformed conditional (${gst_${GST_PLUGIN}_USE_SDL}!=&quot;&quot;)
&amp;#8220;/usr/ports/audio/gstreamer-plugins-esound/../../multimedia/
gstreamer-plugins/Makefile.common&amp;#8221;, line 398: if-less endif
&amp;#8220;/usr/ports/audio/gstreamer-plugins-esound/../../multimedia/
gstreamer-plugins/Makefile.common&amp;#8221;, line 398: Need an operator
&amp;#8220;/usr/ports/audio/gstreamer-plugins-esound/../../multimedia/
gstreamer-plugins/Makefile.common&amp;#8221;, line 419: if-less endif
&amp;#8220;/usr/ports/audio/gstreamer-plugins-esound/../../multimedia/
gstreamer-plugins/Makefile.common&amp;#8221;, line 419: Need an operator
make: fatal errors encountered &amp;#8211; cannot continue
===&gt; audio/gstreamer-plugins-esound failed
*** Error code ...</description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=76</link>
        </item>
        <item>
            <title>ruby on rails 事始め</title>
            <description>	ruby on rails をFreeBSDで試したメモ。
	rubyとgemがインストールされているシステムならばrailsの
インストールは簡単だ。gemがない場合はここからダウンロードする。
	# gem install rails &amp;#8211;remote &amp;#8211;include-dependencies
	これだけで依存関係を解決してインストールしてくれる。
	データベースにはMySQLかPostgreSQLが良いだろう。今の時点では
SQLiteはマイグレーションに対応していない。ここではMySQL/Ruby
を試してみる。
	# gem install mysql &amp;#8211;with-mysql-dir=/usr/opt/mysql50
	最初「gem install mysql」してハマった。MySQLのパスが
/usr/opt/mysql50と普通と違ったのでリンクがうまくいって
なかった。でも特にエラーが出なかったので気がつかなかった。
railsを実行してみると
	その後、上記のコマンドで無事MySQL/Rubyがロードできるように
なった。
	scaffoldを使ってすぐにおかしいと気がついたのはレコードの
削除ができないってこと。PostgreSQL8.1.4とSQLite3で試して
みたがやはり削除できない。エラーも出ないし、何も起こらない。
実はrailsでscaffoldで生成されたページからレコードを削除する
ためにはブラウザにJavaScriptが必要だった。FirefoxのNoScript
エクステンションがアダとなった形だ。
	最初はWEBRickで簡単なアプリケーションを作ってみた。そして
ベンチマークしてみるとWEBrickだと僕のPC(AthronXP1500程度)で
秒間5回前後のリクエストに応えられた。apacheからXOOOPSを使う
よりも少し軽い感じ。
	次にrailsをCGIとしてベンチマークしてみると予想通り使い物に
ならない重さで、秒間0.3回程度のリクエスト処理が限界だった。
そうなると1ページ出力するのに3秒以上かかるわけでストレスが
たまりまくりとなる。
	仕方ないのでapache2にFastCGIを組み込んでみたら秒間5回前後の
リクエストを処理できるようになった。これならまあ使える。

 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=72</link>
        </item>
        <item>
            <title>Access2003とMySQL-5.0</title>
            <description>	仕事で関わっているあるAccess+MySQLのシステムのデータベースを
MySQL-3.23からMySQL-5.0.xへとアップグレードした。AccessとMySQL-
5.0.x系を使う際の問題点のまとめ。
	問題１:Accessが頻繁に落ちるようになる
前回触れた問題だがまだ直っていない(もう直してもらえないかも？)
	問題２：最新のMySQL ODBCドライバではMySQLのリンクテーブル(文字コード cp932)が不安定になる
普通に最新のMySQL ODBCドライバをインストールした状態で、Accessを
起動してテーブルビューでMySQLリンクテーブルを見ると、開けないもの
がある。
	このシステムの文字コードがcp932であることも関係あるかもしれない。
おそらくMySQLに限らずShift_JIS系の文字コードは使うべきではないの
だろう。しかし「set names cp932;」などとしても問題は解決しない。
	対策はmyodbc3.dll をsjis対応の古いものに差し替えるしかない。
	上記の問題はあるものの解決可能なので、ストアドプロシージャや
VIEW、クライアントの文字コード指定(set names)などバージョン
アップでできることの幅が増えた。

 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=69</link>
        </item>
        <item>
            <title>blosxom.php - blosxomのPHPによる実装</title>
            <description>	blosxom/pyblosxom以外にもPHPで実装されたblosxom.phpというのがある。
	あまり開発は活発ではないようだけどインストールして試してみた。
	blosxom/pyblosxomと比較すると
	+ まだプラグイン(moduleと呼んでる)があまりない
+ トラックバックを初期状態で含んでいる
	○プラグインの実装
blosxom.phpのプラグインはちょっと変わっている。プラグインの
ファイルは「plugin.php」のような名前だ。(py)blosxomとは違って
プラグインはクラスやパッケージではなく、ただの関数をいくつか
定義するだけだ。
	プラグインを登録するにはディレクトリ(modules）に入れるだけで
なく、設定ファイル(conf.php)の $modules という名前の配列に
登録しておかないといけない。

 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=68</link>
        </item>
        <item>
            <title>さらなるXOOPS高速化</title>
            <description>	PHP自体をwikipediaと同じ手法である程度高速化することは
できたけど、さらに速くならないのかなとgoogleで調べると
「XOOPS 高速化」で最初に出てくるのが「おじさんの備忘録」
というサイトだ。
	最初「ん？」と思ったのが、このサイトはMovableTypeでできている
ようだが、パーマリンクのURLを見ると .php で終わっている？
なんだか不思議だなと思った。
	閑話休題。
そこで初めて知ったのはXOOPSのリダイレクト画面をなくすことで
高速化できるという記事。このhackはすごく良いアイデアだと思う。
このサイトのXOOPSにも導入してみた。
	リダイレクトの画面がない分、体感的に明らかに速い。

 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=67</link>
        </item>
        <item>
            <title>blosxomのstatic rendering(静的なページ生成)</title>
            <description>	blosxomで作っているサイトを軽くするためにCGIスクリプトの
呼び出しを極力減らそうと思って静的生成にしてみた。
	設定自体はとても簡単だ。/home/me/public_html/blosxom が
blosxomのディレクトリだとすると別途、静的なページ用の
ディレクトリ(例えば /home/me/public_html/blog )を作り
以下のように設定するだけだ。
	# &amp;#8212; Static Rendering &amp;#8212;&amp;#8211;
$static_dir = &amp;#8216;/home/me/public_html/blog&amp;#8217;;
$static_password = &amp;#8220;secret&amp;#8221;;
@static_flavours = qw/html rss/;
$static_entries = 1;
	○静的なページ生成の問題
しかしいきなり問題が発生した。デフォルト設定のままで $url
を自動設定(すなわち空文字)にしていたら、静的に生成したページの
カレンダやカテゴリ、アーカイブからエントリへのリンクがおかしい。
ホスト名がなぜか「localhost」になっている。
	コードを見てると CGIモジュールのurl()関数でホスト名を
取得するんだけど、コマンドラインから静的なページを
生成するため、localhost が入ってしまう。
	○$urlを直接指定したら？
それだと使い物にならないので $url を空文字列からディレクトリ
(静的なページを配置するディレクトリ)にしたら、静的なページ側
では問題なくなったけれど、今度は動的なblosxom.cgiの方で、
カレンダやカテゴリ、アーカイブからエントリへのリンクが
静的なページに向いてしまうので、これまた具合が悪い。
	僕がやりたいのは、動的なディレクトリではすべてのリンクが
動的ページを指していて、別途公開用の静的なページでは
トラックバックやページ編集(WikiEditish)以外のページは
静的なページを指して欲しいのだ。
	○結論：別の変数が必要だ
スクリプトの100行目付近で $static_or_dynamic という変数が
セットされるので、この中身によって$urlを変える必要がある。
$urlは空にして自動設定にしておいて、以下のようにする。
	# コードの上の方で定義しておく
$static_url = &amp;#8220;http://www.mysite.com/blog&amp;#8221;; # 静的ページのURL
	# $static_or_dynamic が定義された後、$urlが空ならば
# おかしくなるのは静的(static)の場合だけ
$url = $static_url if ($static_or_dynamic
  eq &amp;#8220;static&amp;#8221; and $url =~ m!http://localhost!);
	そしてフレーバー内では $url を使うことでなんとか動いてます。
	でもかなり枯れてきているはずのblosxom2でこんな修正が必要とも
思えない。なんだか根本的な理解不足があるような気がしてならない。

 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=61</link>
        </item>
        <item>
            <title>extensionの管理</title>
            <description>	MozillaでExtensionを管理する方法を
いろいろと探していたら見つけた。
	「ExtensionManager」というExtensionを
インストールするとFirebirdみたいに
Extensionを管理できるようになった。

 </description>
            <link>http://tat.soga.in/blog/modules/wordpress/index.php?p=60</link>
        </item>
    </channel>
</rss>
