<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>BLOG</title>
    <link>http://www.tom-gs.com/blog/</link>
    <description></description>
    <!-- optional tags -->
    <language>ja</language>           <!-- valid langugae goes here -->
    <generator>Nucleus CMS v3.64</generator>
    <copyright>ｩ</copyright>             <!-- Copyright notice -->
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://www.tom-gs.com/blog//nucleus/nucleus2.gif</url>
      <title>BLOG</title>
      <link>http://www.tom-gs.com/blog/</link>
    </image>
    <item>
 <title><![CDATA[過去のサイト集めてみた]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=279</link>
<description><![CDATA[<p>
	振り返る意味も込めて、過去のこのサイトのデザインを集めてみた。<br />
	あまり真面目に作ってないなって（今でも）痛感し、更にはまともに残ってもいないということで。</p>
<h3>
	初代</h3>
<p>
	<a title="tom-gs.com 初代" href="/blog/media/blog/20120423001l.png" rel="lightbox[]"><img alt="" height="184" src="/blog/media/blog/20120423001s.png" width="300" /></a></p>
<p>
	<a href="/archives/spinner/" target="_blank">デモ<br />
	</a></p>
<h3>
	2代目</h3>
<p>
	<a title="tom-gs.com 2代目" href="/blog/media/blog/20120423002l.png" rel="lightbox[]"><img alt="" height="184" src="/blog/media/blog/20120423002s.png" width="300" /></a></p>
<p>
	<a href="/archives/spinner2/" target="_blank">デモ<br />
	</a></p>
<h3>
	3代目</h3>
<p>
	<a title="tom-gs.com 3代目" href="/blog/media/blog/20120423003l.png" rel="lightbox[]"><img alt="" height="184" src="/blog/media/blog/20120423003s.png" width="300" /></a></p>
<p>
	<a href="/archives/spinner3/" target="_blank">デモ<br />
	</a></p>
<h3>
	4代目</h3>
<p>
	<a title="tom-gs.com 4代目" href="/blog/media/blog/20120423004l.png" rel="lightbox[]"><img alt="" height="207" src="/blog/media/blog/20120423004s.png" width="300" /></a></p>
<p>
	<a href="/archives/20070917/" target="_blank">デモ<br />
	</a></p>
<h3>
	5代目</h3>
<p>
	<a title="tom-gs.com 5代目" href="/blog/media/blog/20120423005l.png" rel="lightbox[]"><img alt="" height="184" src="/blog/media/blog/20120423005s.png" width="300" /></a></p>
<p>
	<a href="/archives/20080501/" target="_blank">デモ<br />
	</a></p>
<h3>
	6代目</h3>
<p>
	<a title="tom-gs.com 6代目" href="/blog/media/blog/20120423006l.png" rel="lightbox[]"><img alt="" height="249" src="/blog/media/blog/20120423006s.png" width="300" /></a></p>
<h3>
	7代目</h3>
<p>
	<a title="tom-gs.com 7代目" href="/blog/media/blog/20120423007l.png" rel="lightbox[]"><img alt="" height="300" src="/blog/media/blog/20120423007s.png" width="300" /></a></p>
<h3>
	8代目</h3>
<p>
	<a title="tom-gs.com 8代目" href="/blog/media/blog/20120423008l.png" rel="lightbox[]"><img alt="" height="250" src="/blog/media/blog/20120423008s.png" width="300" /></a></p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=279</comments>
 <pubDate>Mon, 23 Apr 2012 01:42:08 +0900</pubDate>
</item><item>
 <title><![CDATA[Mootools 1.4へのアップグレード　Lightbox編]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=278</link>
<description><![CDATA[<p>
	Lightbox系は<a href="http://digitarald.de/project/squeezebox/" target="_blank">SqueezeBox</a>や<a href="http://www.digitalia.be/software/slimbox" target="_blank">Slimbox</a>を使っていたのですが、1.4系に最適化されたものないかと検索した結果「mootools 1.4 lightbox」でいいのが見つかりました。って一発でした。</p>
<p>
	ということで<a href="http://cerabox.net/" target="_blank">CeraBox</a>というものを使います。<br />
	Lightboxとしての機能もそうですが、YouTubeやSWF、IFRAME、それにAndroidやiOSなどのスマートフォンにも対応しているので、すんげぇいい感じです。<br />
	ですが、ちょっと問題が。使い方が違うのでそのままでは使えない。<br />
	Slimboxでは以下のようにrel属性を設定するようにしていました。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">&lt;a href=&quot;large-image.png&quot; <span style="color:#f00;">rel=&quot;lightbox[]&quot;</span> target=&quot;_blank&quot; title=&quot;Image title&quot;&gt;&lt;img alt=&quot;Image title&quot; height=&quot;150&quot; src=&quot;small-image.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;
</pre>
<p>
	ここでブランケット（[]）の中に文字列を入れることでグループ化することができます。<br />
	過去の記事を書き換えるのは面倒臭いので、このルールを変更することなくCeraBoxに移行するための対応をすることにします。</p>
<p>
	ということで、JavaScriptをガリガリっと。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">var LightboxManager = {
    /**
     * Create Lightbox
     * Using CeraBox on Mootools
     *
     * @param attrName string Name of attribute
     * @param groupName string Name of group, and attribute value must be &#39;groupName[]&#39;
     * @param options object Options for CeraBox
     */
    createLightbox: function(attrName, groupName, options) {
        options = options || {};
        var elements = $$(&#39;a[&#39; + attrName + &#39;]&#39;);
        var targetElements = [];
        var regexp = new RegExp(&#39;^&#39; + groupName, &#39;i&#39;);
        for (var i = 0, len = elements.length; i &lt; len; i++) {
            var relValue = elements[i].getAttribute(attrName);
            if (relValue.match(regexp)) {
                if (!targetElements[relValue]) {
                    targetElements[relValue] = 0;
                }
                targetElements[relValue]++;
            }
        }
        for (var i in targetElements) {
            var createOptions = options;
            if (i.match(/\[.*\]/)) {
                createOptions.group = targetElements[i] &gt; 1;
            } else {
                createOptions.group = false;
            }
            $$(&#39;a[&#39; + attrName + &#39;=&quot;&#39; + i + &#39;&quot;]&#39;).cerabox(createOptions);
        }
    }
}

window.addEvent(&#39;load&#39;, function(e) {
    LightboxManager.createLightbox(&#39;rel&#39;, &#39;lightbox&#39;, {
        animation: &#39;ease&#39;,
        loaderAtItem: true,
        titleFormat: &#39;Image {number} / {total} - {title}&#39;,
        fixedPosition: true
    });
});
</pre>
<p>
	これで大体同じ動きをしよるはずです。</p>
]]></description>
 <category>JavaScript</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=278</comments>
 <pubDate>Mon, 9 Apr 2012 01:23:24 +0900</pubDate>
</item><item>
 <title><![CDATA[Mootools 1.4へのアップグレード　noobSlide編]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=277</link>
<description><![CDATA[<p>
	サイトで使っているJavaScriptは基本的にMootoolsを使っています。<br />
	今まで1.3.xを使ってきたわけですが、ここで1.4.x系にアップデートしてみようと思ったわけです。</p>
<p>
	JavaScriptライブラリのアップデートは結構勇気が入ります。特にメジャーバージョンアップだのしていると特に。実装されていた命令の名前が変わっていたりするからです。</p>
<p>
	私はMootoolsで動作するプラグインをいくつか使用しているのですが、今回はその一つ、<a href="http://www.efectorelativo.net/laboratory/noobSlide/" target="_blank">noobSlide</a>の1.4対応についてお話します。</p>
<p>
	Mootoolsでソースをダウンロードするとき、1.2系と1.3系をコンパチしてくれるオプションがありますが、今回はあえてそのオプションは使わないことにします。</p>
<p>
	noobSlideの場合、問題となるのは2箇所。以下のメソッドを使っているところです。</p>
<ul>
	<li>
		$extend()</li>
	<li>
		$clear()</li>
</ul>
<p>
	$extend()は第1引数のオブジェクトに第2引数をマージするのですが、同じ名前のプロパティを上書きしない、つまり増えたプロパティだけ拡張するというものらしいです。<br />
	<a href="http://docs111.mootools.net/#$extend" target="_blank">http://docs111.mootools.net/#$extend</a></p>
<p>
	これは、1.4ではObject.append()というメソッドに置き換えられます。<br />
	<a href="http://mootools.net/docs/core/Core/Core#Deprecated-Functions:extend" target="_blank">http://mootools.net/docs/core/Core/Core#Deprecated-Functions:extend</a><br />
	<a href="http://mootools.net/docs/core/Types/Object#Object:Object-append" target="_blank">http://mootools.net/docs/core/Types/Object#Object:Object-append</a></p>
<p>
	なので、_class.noobSlide.jsの107行目は以下のように書き換えます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">this.fx = new Fx.Tween(this.box,$extend((params.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));
&darr;変更
this.fx = new Fx.Tween(this.box,Object.append((params.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));
</pre>
<p>
	もう一つは$clear()。<br />
	これはclearTimeout()関数に置き換えるようにとのこと。JavaScriptのネイティブ関数ですね。<br />
	<a href="http://mootools.net/docs/core/Core/Core#Deprecated-Functions:clear" target="_blank">http://mootools.net/docs/core/Core/Core#Deprecated-Functions:clear</a></p>
<p>
	で、_class.noobSlide.jsの147行目は以下のように書き換えます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$clear(this._play);
&darr;変更
clearTimeout(this._play);
</pre>
<p>
	これで一応動くみたいです。</p>
<hr />
<p>
	I use JavaScript based on Mootools for this site. I had been using version 1.3.x, and now decided to update it to 1.4.x.</p>
<p>
	Updating JavaScript Library is really troublesome job, isn&rsquo;t it? Especially, the command names are sometimes unavailable by changing when major version is updated.</p>
<p>
	I&rsquo;m using some plugins for Mootools, this time this is the story to migrate to 1.4.x for one of them, <a href="http://www.efectorelativo.net/laboratory/noobSlide/" target="_blank">noobSlide</a>.</p>
<p>
	Downloading source from Mootools website, you can choose the option to download compatible source of 1.2 and 1.3, but I don&rsquo;t choose it this time.</p>
<p>
	So, the following two methods are problems on noobSlide:</p>
<ul>
	<li>
		$extend()</li>
	<li>
		$clear()</li>
</ul>
<p>
	Please get detail about $extend() from the following URL.<br />
	<a href="http://docs111.mootools.net/#$extend" target="_blank">http://docs111.mootools.net/#$extend</a></p>
<p>
	And, you have to use Object.append() instead of it on 1.4.<br />
	<a href="http://mootools.net/docs/core/Core/Core#Deprecated-Functions:extend" target="_blank">http://mootools.net/docs/core/Core/Core#Deprecated-Functions:extend</a><br />
	<a href="http://mootools.net/docs/core/Types/Object#Object:Object-append" target="_blank">http://mootools.net/docs/core/Types/Object#Object:Object-append</a></p>
<p>
	So line 107 on _class.noobSlide.js will be changed like the following:</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">this.fx = new Fx.Tween(this.box,$extend((params.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));
// Change to the following:
this.fx = new Fx.Tween(this.box,Object.append((params.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));
</pre>
<p>
	The other is $clear(). You can use clearTimeout(), the native JavaScript method, instead of it. Please get detail from the following URL.<br />
	<a href="http://mootools.net/docs/core/Core/Core#Deprecated-Functions:clear" target="_blank">http://mootools.net/docs/core/Core/Core#Deprecated-Functions:clear</a></p>
<p>
	And, line 147 on _class.noobSlide.js will be changed like the following:</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$clear(this._play);
// Change to the following:
clearTimeout(this._play);
</pre>
<p>
	And noobSlide looks moving correctly.</p>
]]></description>
 <category>JavaScript</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=277</comments>
 <pubDate>Sun, 8 Apr 2012 03:08:32 +0900</pubDate>
</item><item>
 <title><![CDATA[Ubuntu 11.10にGvimをインストール]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=276</link>
<description><![CDATA[<p>
	Vimはインストールして、CUI上ではデフォルトのエディタに設定している。<br />
	ただGUI上では使えない（？）みたいなのでインストールすることにした。</p>
<p>
	<a href="http://www.ubuntulinux.jp/" target="_blank"><img alt="Ubuntu" height="230" src="http://design.ubuntu.com/wp-content/uploads/logo-ubuntu_st_no®-black_orange-hex.png" width="325" /></a><a href="http://www.vim.org/" target="_blank"><img alt="Gvim" height="230" src="http://images2.wikia.nocookie.net/__cb20091102074445/vim/images/6/68/Vim-editor_logo.png" width="230" /></a></p>
<p>
	インストールするのはGvim。GUI上で動作するVimをインストールする。<br />
	Vimとはかぶらないので大丈夫。</p>
<p>
	便利なものでUbuntuには「Ubuntuソフトウェアセンター」というアプリケーションがついており、ソフトウェアのパッケージ管理をしている。<br />
	かつてはSynapticとかでしていたと思うのだが、11.10ではこれに変わっている。</p>
<p>
	「すべてのソフトウェア」を選択し、検索欄に「gvim」と入力するとパッケージの一覧が表示される。<br />
	そこで「インストール」をクリックするとインストール完了。</p>
<p>
	ちなみにターミナル上で「gvim」を実行すると、Gtk-WARNINGエラーがでることがある。<br />
	以下のサイトを参考に必要モジュールをインストールする。<br />
	<a href="http://d.hatena.ne.jp/hoge37/20111119/1321680014" target="_blank">http://d.hatena.ne.jp/hoge37/20111119/1321680014</a></p>
<p>
	ここでGUI上で実行出来なかったので、OSを再起動させてみたら見事に使えた。<br />
	Gvimの設定ファイルはLinuxの場合ホームディレクトリの.gvimrcに記述する。なければ作成する。</p>
<p>
	基本的にはWindowsやMacで動作しているものの設定が流用できる。<br />
	フォントなどシステムに依存する箇所以外は見事に動く。<br />
	以下の記事を参照。<br />
	<a href="http://tom-gs.com/blog/index.php?itemid=248" target="_blank">http://tom-gs.com/blog/index.php?itemid=248</a></p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=276</comments>
 <pubDate>Sat, 11 Feb 2012 04:34:16 +0900</pubDate>
</item><item>
 <title><![CDATA[Sony VAIO VGN-TZ90NSにUbuntu 11.10 64bit版を入れてみた]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=275</link>
<description><![CDATA[<p>
	可能性を広げるためとか、Vistaが嫌だったからとか、環境改善とかいろいろ理由はあるのだけれど、世界的にも名高いデスクトップLinux OS、Ubuntuをインストールしてみた。</p>
<p>
	インストール自体は、何回かVMwareなどでインストールした経験があったのだが、やはりインストールが簡単。<br />
	この<a href="http://www.vaio.sony.co.jp/Products/TZ1/" target="_blank">TZ90</a>はオーナーメイドで作ってもらったもので、Windows Vista Business Editionが入っており、Google日本語入力もまともに動かない（起動中に落ちる）というカオスなマシン。<br />
	常にHDDアクセスランプが付いているので、いい加減乗り換えたかった。</p>
<p>
	HDDは60GHz、メモリは2GBに増設済み。</p>
<p>
	オフィシャルサイトの指示通り、インストールディスクを作成。CD-Rで作れるのが魅力的。<br />
	光学ドライブにCDをセットして、起動させると見事Ubuntuのインストーラーが立ち上がる。</p>
<p>
	インストール自体は1時間ぐらいだっただろうか？　2時間はかからなかったと思う。普通に待てる時間だった。</p>
<p>
	会社でPCのインストールとかやってるけど、Windows XPに比べてWindows 7は速い。しかしUbuntuはOSのインストール自体もそうだが、ハードウェアのドライバの依存関係もデフォルトで解決してくれるので、OSインストール後の手間がはるかに違う。<br />
	Viva Linux!　マイクロソフトも見習って欲しい。</p>
<p>
	インターフェースはMac OSに似てる。どっちが先かは知らんが。</p>
<p>
	無線LANの設定に少し戸惑うも、アップデートも行い最新の状態に。これで2、3時間ぐらいじゃないだろうか。<br />
	Google Chrome（Chromium Browser）とMozcをインストール。メーラーもセットアップ。すこぶる快適だ。</p>
<p>
	Windows使うよか快適な感じ。（このPCの場合）</p>
<p>
	Windowsとのファイル共有もできるので、何の支障もない。<br />
	ただ、若干ウェブとかで文字化けしているところがあるっぽい。（特にFlash関連）</p>
<p>
	でも一応快適だ。<br />
	なんどもいうが、Linuxのドライバのサポート率は半端ない。</p>
<p>
	ディスプレイもUSBも、BluetoothもLANも気にしなくてもOSインストール後そのまま使える。</p>
<p style="text-align: center;">
	<a href="/blog/media/blog/20120206001l.png" rel="lightbox[]" target="_blank" title="VAIO VGN-TZ90NS"><img alt="VAIO VGN-TZ90NS" height="150" src="/blog/media/blog/20120206001s.png" title="" width="200" /></a><a href="/blog/media/blog/20120206002l.png" rel="lightbox[]" target="_blank" title="BIOS起動画面"><img alt="BIOS起動画面" height="150" src="/blog/media/blog/20120206002s.png" title="" width="200" /></a><br />
	<a href="/blog/media/blog/20120206003l.png" rel="lightbox[]" target="_blank" title="Ubuntu 11.10 64bitのログイン画面"><img alt="Ubuntu 11.10 64bitのログイン画面" height="150" src="/blog/media/blog/20120206003s.png" title="" width="200" /></a><a href="/blog/media/blog/20120206004l.png" rel="lightbox[]" target="_blank" title="Google ChromeやWindowsとのファイル共有"><img alt="Google ChromeやWindowsとのファイル共有" height="150" src="/blog/media/blog/20120206004s.png" title="" width="200" /></a></p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=275</comments>
 <pubDate>Mon, 6 Feb 2012 02:37:07 +0900</pubDate>
</item><item>
 <title><![CDATA[PHPのエラーが見づらい時]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=274</link>
<description><![CDATA[<p>
	remiレポジトリを使って、PHPをインストールしているのですが、あるときからブラウザ上に表示されるエラーが見づらくなった。<br />
	これ自体はphp.iniで設定変更できる。</p>
<p>
	問題となっているのはhtml_errorsという設定項目。<br />
	これのOn/Offを切り替えることでブラウザ上に表示されるエラーがHTMLフォーマットになるかどうかを設定できる。</p>
<p>
	Apacheなんかのエラーログに載るときはHTMLフォーマットのエラーは見づらくなるので、お好みの方を選べばいい。<br />
	個人的に開発段階では、HTMLフォーマットのほうが見やすいと思う。</p>
<p>
	/etc/php.ini</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">html_errors = Off
</pre>
<p style="text-align: center;">
	<a href="/blog/media/blog/20120131001l.png" rel="lightbox" title="PHP - html_errors"><img alt="PHP - html_errors" height="109" src="/blog/media/blog/20120131001s.png" title="PHP - html_errors" width="400" /></a></p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=274</comments>
 <pubDate>Tue, 31 Jan 2012 02:17:39 +0900</pubDate>
</item><item>
 <title><![CDATA[Apacheのアクセスログ・エラーログのフォーマットがイケてない件]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=273</link>
<description><![CDATA[<p>
	言われてみて納得だった。<br />
	Apacheのアクセスログとエラーログの日付のフォーマットが違う。<br />
	通常は、エラーが発生したら、それに対応するアクセスを見つけようとするだろう。</p>
<p>
	なので、アクセスログとエラーログを同じファイルに出力しているという人も聞いたことがある。<br />
	どっちにしろ、ログ解析をする時に困る。</p>
<p>
	論より証拠。<br />
	私のVMware環境のログ。確かに日付のフォーマットが違う。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">==&gt; error_log.0127 &lt;==
<span style="color:#f00;">[Fri Jan 27 01:02:24 2012]</span> [error] [client 192.168.***.***] File does not exist: /home/www/localhost/public_html/test

==&gt; access_log.0127 &lt;==
192.168.***.*** - - <span style="color:#f00;">[27/Jan/2012:01:02:24 +0900]</span> &quot;GET /test HTTP/1.1&quot; 404 278 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1&quot;
</pre>
<p>
	これを同じフォーマットになるように設定を変更する。<br />
	私はアクセスログにデフォルトで用意されているcombined識別子を使うため、それを直接変更してみた。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">#変更前
LogFormat &quot;%h %l %u %t \&quot;%r\&quot; %&gt;s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; combined

#変更後
LogFormat &quot;%h %l %u <span style="color:#f00;">[%{%a %b %d %T %Y}t]</span> \&quot;%r\&quot; %&gt;s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; combined
</pre>
<p>
	%{format}tを使う。参考にできるページは以下のとおり。</p>
<ul>
	<li>
		<a href="http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html" target="_blank">Apache モジュール mod_log_config<br />
		</a></li>
	<li>
		<a href="http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/strftime.3.html" target="_blank">Man page of STRFTIME<br />
		</a></li>
	<li>
		<a href="http://php.net/manual/ja/function.strftime.php" target="_blank">PHP: strftime - Manual<br />
		</a></li>
</ul>
<p>
	これで再度確認してみたら、日付のフォーマットが統一できた。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">==&gt; error_log.0127 &lt;==
<span style="color:#f00;">[Fri Jan 27 01:03:27 2012]</span> [error] [client 192.168.***.***] File does not exist: /home/www/localhost/public_html/test

==&gt; access_log.0127 &lt;==
192.168.***.*** - - <span style="color:#f00;">[Fri Jan 27 01:03:27 2012]</span> &quot;GET /test HTTP/1.1&quot; 404 278 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1&quot;
</pre>
<p>
	&nbsp;</p>
<p>
	と、ここで疑問が湧いてきた。</p>
<p>
	なぜアクセスログとエラーログで日付のフォーマットが違うのか。<br />
	その答えを探してみたが見つからなかった。</p>
<p>
	<a href="http://httpd.apache.org/docs/2.0/ja/logs.html#errorlog" target="_blank">Apacheのエラーログのページ</a>には、エラーログはカスタマイズできないが、アクセスログと照らし合わせることでトレース可能みたいな内容。<br />
	深く確認していないのだが、ApacheのエラーログはLogFormatみたいな指定ができない・・・ってことだろうか。</p>
<p>
	ひとまずこれは、サーバー設定項目で必須のものとなるはずだ。</p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=273</comments>
 <pubDate>Fri, 27 Jan 2012 02:02:15 +0900</pubDate>
</item><item>
 <title><![CDATA[自作ランチャーの便利な使い方]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=272</link>
<description><![CDATA[<p>
	すごく久しぶりの投稿です。<br />
	最近は忙しくて、なかなかサイトを行進することが出来なかったので、簡単な記事でも投稿しようと。</p>
<p>
	だいぶ前、<a href="http://www.tom-gs.com/blog/index.php?itemid=191" target="_blank">自作ランチャーの作り方をブログに投稿しました</a>が、仕事で使っていてこの方法が意外に便利だと気づきました。<br />
	ショートカットでランチするソフトを追加したり、削除したりできるのも便利なんですが、特定のファイルを開くこともできるできるということです。</p>
<p>
	具体的には・・・</p>
<p>
	仕事でよくhostsというネットワーク用のファイルをいじることが多いのですが、Windows上のhostsはかなり深い階層に存在していて、しかも拡張子がついていないので、ファイルタイプで使用するソフトを関連付けすることができない。<br />
	そこで、ショートカットと実行ファイルの使い方を利用して、ランチャーで起動できるようにします。</p>
<p>
	エディタはVimを利用しています。<br />
	では、設定方法。前回の記事の構成を利用します。</p>
<p>
	C:\launcherで右クリック＞「新規作成」＞「ショートカット」。<br />
	「項目の場所を指定してください」に以下のように記述して、「次へ」。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">&quot;C:\Program Files\Vim\vim72\gvim.exe&quot; &quot;C:\Windows\System32\drivers\etc\hosts&quot;
</pre>
<p>
	「ショートカットの名前を入力してください」に「hosts」と入力。「完了」をクリックします。<br />
	簡単なんです。</p>
<p style="text-align: center;">
	<a href="/blog/media/blog/20111225_001_l.png" rel="lightbox"><img alt="ショートカットの作成ダイアログ" height="158" src="/blog/media/blog/20111225_001_s.png" title="ショートカットの作成ダイアログ" width="200" /></a></p>
<p>
	あまり馴染みがないと思いますが、コマンドプロンプト上では、exeファイルは一種のコマンド（いや実行ファイルだけど）みたいなもので、引数が指定できるようになっています。<br />
	Vimの場合、第1引数はファイルを指定することができます。<br />
	詳細は各ソフトのヘルプを見る必要がありますが、大体第1引数はファイルみたいです。</p>
<p>
	ちなみに、Vimの場合はコマンドプロンプトで以下を実行するとヘルプが見れます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">&quot;C:\Program Files\Vim\vim72\gvim.exe&quot; --help
</pre>
<p style="text-align: center;">
	<a href="/blog/media/blog/20111225_002_l.png" rel="lightbox"><img alt="Vimのヘルプ（Windows）" height="149" src="/blog/media/blog/20111225_002_s.png" title="Vimのヘルプ（Windows）" width="300" /></a></p>
<p>
	いやー、下手に他のランチャソフトに手出さなくてよかった。</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=272</comments>
 <pubDate>Sun, 25 Dec 2011 03:13:00 +0900</pubDate>
</item><item>
 <title><![CDATA[Redmineをインストールしてみる]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=271</link>
<description><![CDATA[<p>
	概してこういうものはインストールが面倒くさい。<br />
	PHP+MySQLで動作するCMSほど、インストールが簡単じゃないのが特徴で、大体の場合がうまく行かない。</p>
<p>
	<a href="http://blog.redmine.jp/articles/redmine-1_2-installation_centos/" target="_blank">RedmineのブログにCentOS 5.6へのインストール方法の記事</a>があった。<br />
	この通りやったら概ねうまくいった。ということでその方法。</p>
<p>
	ちなみにCentOS 6.0に入れた。MySQLは5.5。</p>
<p>
	ちなみにTracのインストールもやってみたけど、これはようわからんかった。<br />
	インストール手順とかがわかりにくかったので諦めました。</p>
<p>
	ApacheとかMySQLとかの基本的な設定は、自身の開発環境なので整っています。<br />
	そこで、まずは最初にデータベースを片付けます。<br />
	MySQLにrootでアクセスして以下のクエリを実行です。パスワード等は変えてください。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">CREATE DATABASE redmine DEFAULT CHARACTER SET utf8;
GRANT ALL ON redmine.* TO redmine_admin IDENTIFIED BY &#39;password&#39;;
FLUSH PRIVILEGES;
</pre>
<p>
	では、Linux上でrootになり必要なサーバーモジュールのインストールからはじめます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># yum install httpd-devel
# wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.03.tar.gz
# tar xzvf ruby-enterprise-1.8.7-2011.03.tar.gz
# ./ruby-enterprise-1.8.7-2011.03/installer --dont-install-useful-gems --no-dev-docs
[/opt/ruby-enterprise-1.8.7-2011.03] : /usr/local/
# gem install rack -v=1.1.1 --no-rdoc --no-ri
# gem install rake -v=0.8.7 --no-rdoc --no-ri
</pre>
<p>
	この時点で以下のコマンドしろとか言われるけど、実際もっと後なのでしなくてOK。しても怒られるだけ。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># rake generate_session_store
# gem install i18n -v=0.4.2 --no-rdoc --no-ri
# gem install mysql --no-rdoc --no-ri
</pre>
<p>
	ここでApache用のユーザー（私の場合はwebmaster）に切り替えます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># su - webmaster
</pre>
<p>
	迷いましたが以下のディレクトリを作ってそこに展開することに。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># mkdir cgi-bin
# cd cgi-bin/
# wget http://rubyforge.org/frs/download.php/75097/redmine-1.2.1.tar.gz
# tar zxvf redmine-1.2.1.tar.gz
# cd redmine-1.2.1/
# cp config/database.yml.example config/database.yml
</pre>
<p>
	DB設定をします。データベース、ユーザー、パスワードを先ほど作ったものにします。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi config/database.yml

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine_admin
  password: password
  encoding: utf8
</pre>
<p>
	システムの設定をします。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># cp config/configuration.yml.example config/configuration.yml
</pre>
<p>
	domainの部分を適当にかえます。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># vi config/configuration.yml

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: &quot;localhost&quot;
      port: 25
      domain: &#39;example.com&#39;

# rake generate_session_store
# rake db:migrate RAILS_ENV=production
</pre>
<p>
	ドキュメンルート以下にシンボリックリンクを作って見れるようにする。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># ln -s /home/webmaster/cgi-bin/redmine-1.2.1/public/ /home/webmaster/public_html/redmine
</pre>
<p>
	ここでrootに戻ります。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;"># exit
# gem install passenger --no-rdoc --no-ri
# passenger-install-apache2-module

# vi /etc/httpd/conf.d/passenger.conf

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby

Header always unset &quot;X-Powered-By&quot;
Header always unset &quot;X-Rack-Cache&quot;
Header always unset &quot;X-Content-Digest&quot;
Header always unset &quot;X-Runtime&quot;

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerUseGlobalQueue on
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0
RailsBaseURI /redmine

# /etc/init.d/httpd configtest
# /etc/init.d/httpd graceful
</pre>
<p>
	これでhttp://IPアドレス/redmine/にアクセスするとRedmineが見れます。最初のユーザーはIDもパスワードもadminとなっているのでそれでログインできます。</p>
]]></description>
 <category>WEB、WEBシステム関連</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=271</comments>
 <pubDate>Wed, 14 Sep 2011 02:20:25 +0900</pubDate>
</item><item>
 <title><![CDATA[Gangliaのバージョン違いでモニタリングができない件]]></title>
 <link>http://www.tom-gs.com/blog/index.php?itemid=270</link>
<description><![CDATA[<p>
	過去に使っていたCentOS 6.0に乗り換える前に使っていたCentOS 5.6のVMのイメージがあったので、こいつにgangliaでモニタリングできるようにしてみようと思ったのですが、これが結構くせものでした。</p>
<p>
	というこうとで、前にやったようにyumでインストールします。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ yum install ganglia-gmond
</pre>
<p>
	でまぁ設定して、起動します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ /etc/init.d/gmond start
</pre>
<p>
	で監視サーバーの方を見てみたのですが、待てど暮らせど監視対象として上がってきやしない。<br />
	いろいろ試してみたのですが、結局のところ使ってるバージョンの問題であると判明。<br />
	っていうのは新しいバージョンのやつを入れて気づきました。</p>
<p>
	モニタリングのクライアントである、gmondのバージョンが問題のようです。<br />
	私の環境では、</p>
<table border="1" cellpadding="1" cellspacing="1" style="width: 300px;">
	<thead>
		<tr>
			<th scope="col">
				OS</th>
			<th scope="col">
				監視クライアント</th>
			<th scope="col">
				監視サーバー</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Scientific Linux 6.0</td>
			<td style="text-align: center;">
				gmond-3.2</td>
			<td style="text-align: center;">
				gmetad-3.2</td>
		</tr>
		<tr>
			<td>
				CentOS 6.0</td>
			<td style="text-align: center;">
				gmond-3.1</td>
			<td style="text-align: center;">
				---</td>
		</tr>
		<tr>
			<td>
				CentOS 5.6</td>
			<td style="text-align: center;">
				gmond-3.0</td>
			<td style="text-align: center;">
				---</td>
		</tr>
	</tbody>
</table>
<p>
	&nbsp;</p>
<p>
	ということでCentOS 5.6には3.0がインストールされてしまうんです。<br />
	サーバー側のgmetad-3.2とクライアントのgmond-3.0の相性がよくないらしい。っていうか、対応してないみたい。</p>
<p>
	&nbsp;</p>
<p>
	&nbsp;</p>
<p>
	ということで、最新の3.2をインストールすることにします。</p>
<p>
	まずは、インストールした3.0を削除します。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ yum remove ganglia*
</pre>
<p>
	でRPM取ってきます。私のはGUI環境だったのでブラウザでダウンロードしました。コマンドでやる場合は以下でOK・・・みたいです。</p>
<pre style="background:#e4effc;border-left:5px solid #7cb1ed;color:#175ca9;font-family:ｍｓ ゴシック;font-size:12px;padding:5px 10px;">$ wget http://cdnetworks-kr-2.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.2.0/libganglia-3.2.0-1.i386.rpm
$ wget http://cdnetworks-kr-2.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.2.0/ganglia-gmond-3.2.0-1.i386.rpm
$ yum localinstall ganglia-gmond-3.2.0-1.i386.rpm libganglia-3.2.0-1.i386.rpm --nogpgcheck
</pre>
<p>
	でRPMはローカルインストールでyumコマンド使えるので、簡単にインストールできます。<br />
	「--nogpgcheck」をつけるのを忘れないようにしてください。<br />
	あとは同じように設定するだけで、監視サーバーからモニタリングすることができます。</p>
]]></description>
 <category>コンピュータ</category>
<comments>http://www.tom-gs.com/blog/index.php?itemid=270</comments>
 <pubDate>Sun, 14 Aug 2011 08:55:18 +0900</pubDate>
</item>
  </channel>
</rss>
