<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>adruf's blog</title>
  <link rel="alternate" type="text/html" href="http://drupal.395963.com/blog/1"/>
  <link rel="self" type="application/atom+xml" href="http://drupal.395963.com/blog/1/atom/feed"/>
  <id>http://drupal.395963.com/blog/1/atom/feed</id>
  <updated>2008-02-17T22:27:31+09:00</updated>
  <entry>
    <title>viで文字コードを指定してファイルを開く</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/86" />
    <id>http://drupal.395963.com/node/86</id>
    <published>2011-03-18T23:56:28+09:00</published>
    <updated>2011-03-19T00:01:15+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="OS" />
    <summary type="html"><![CDATA[<p>vimを使ってファイル編集等を行うとき、システムの文字コードを扱う場合は問題ないですが、異なる文字コードのファイルを扱う場合は文字化けが発生してしまいます。</p>
<p>こんな場合vim(Ver.6以降)には文字コードを指定してファイルを開く事ができます。</p>
<p>EUCのファイルを開く場合<br />
$ vim "+e ++enc=euc-jp" <ファイル名></p>
<p>シフトJISのファイルを開く場合<br />
$ vim "+e ++enc=cp932" <ファイル名></p>
<p>JISコードのファイルを開く場合<br />
$ vim "+e ++enc=iso-2022-jp" <ファイル名></p>
<p>UTF-8のファイルを開く場合<br />
$ vim "+e ++enc=utf8" <ファイル名></p>
    ]]></summary>
    <content type="html"><![CDATA[<p>vimを使ってファイル編集等を行うとき、システムの文字コードを扱う場合は問題ないですが、異なる文字コードのファイルを扱う場合は文字化けが発生してしまいます。</p>
<p>こんな場合vim(Ver.6以降)には文字コードを指定してファイルを開く事ができます。</p>
<p>EUCのファイルを開く場合<br />
$ vim "+e ++enc=euc-jp" <ファイル名></p>
<p>シフトJISのファイルを開く場合<br />
$ vim "+e ++enc=cp932" <ファイル名></p>
<p>JISコードのファイルを開く場合<br />
$ vim "+e ++enc=iso-2022-jp" <ファイル名></p>
<p>UTF-8のファイルを開く場合<br />
$ vim "+e ++enc=utf8" <ファイル名></p>
    ]]></content>
  </entry>
  <entry>
    <title>wgetでユーザー認証</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/85" />
    <id>http://drupal.395963.com/node/85</id>
    <published>2011-03-18T12:41:58+09:00</published>
    <updated>2011-03-18T12:56:01+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="コマンド" />
    <summary type="html"><![CDATA[<p>Linuxコンソール上でファイルのダウンロードを行うときに使うwgetですが、ユーザー認証を行うときは対話式にはならないためオプションで設定をしてあげる必要があります。</p>
<p>wget --http-user=<ユーザー名> --http-passwd=<パスワード> <URL> </p>
<p>(オプション)<br />
　--http-user : 認証するユーザー名を入れます<br />
　--http-passwd : 認証するユーザーのパスワードを入れます<br />
　url : ダウンロード対象のURLを入れます</p>
<p>(使用例)<br />
wget --http-user=hoge --http-passwd=hogehoge http://example.com/example.zip</p>
<p>(認証をしていないときの応答例)<br />
wget http://example.com/example.zip<br />
--2xxx-xx-xx xx:xx:xx--  http://example.com/example.zip<br />
Resolving example.com... xxx.xx.xxx.xxx<br />
Connecting to example.com|xxx.xx.xxx.xxx|:80... connected.<br />
HTTP request sent, awaiting response... 401 Authorization Required<br />
Authorization failed.</p>
<p>(認証が通ったときの応答例)<br />
wget http://example.com/example.zip<br />
 --http-user=user1 --http-passwd=user1pass<br />
--2xxx-xx-xx xx:xx:xx--  http://example.com/example.zip<br />
Resolving example.com... xxx.xx.xxx.xxx<br />
Connecting to example.com|xxx.xx.xxx.xxx|:80... connected.<br />
HTTP request sent, awaiting response... 401 Authorization Required<br />
Connecting to example.com|xxx.xx.xxx.xxx|:80... connected.<br />
HTTP request sent, awaiting response... 200 OK<br />
Length: xxxxxx (xxxM) [application/x-gzip]<br />
Saving to: `example.zip'</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Linuxコンソール上でファイルのダウンロードを行うときに使うwgetですが、ユーザー認証を行うときは対話式にはならないためオプションで設定をしてあげる必要があります。</p>
<p>wget --http-user=<ユーザー名> --http-passwd=<パスワード> <URL> </p>
<p>(オプション)<br />
　--http-user : 認証するユーザー名を入れます<br />
　--http-passwd : 認証するユーザーのパスワードを入れます<br />
　url : ダウンロード対象のURLを入れます</p>
<p>(使用例)<br />
wget --http-user=hoge --http-passwd=hogehoge http://example.com/example.zip</p>
<p>(認証をしていないときの応答例)<br />
wget http://example.com/example.zip<br />
--2xxx-xx-xx xx:xx:xx--  http://example.com/example.zip<br />
Resolving example.com... xxx.xx.xxx.xxx<br />
Connecting to example.com|xxx.xx.xxx.xxx|:80... connected.<br />
HTTP request sent, awaiting response... 401 Authorization Required<br />
Authorization failed.</p>
<p>(認証が通ったときの応答例)<br />
wget http://example.com/example.zip<br />
 --http-user=user1 --http-passwd=user1pass<br />
--2xxx-xx-xx xx:xx:xx--  http://example.com/example.zip<br />
Resolving example.com... xxx.xx.xxx.xxx<br />
Connecting to example.com|xxx.xx.xxx.xxx|:80... connected.<br />
HTTP request sent, awaiting response... 401 Authorization Required<br />
Connecting to example.com|xxx.xx.xxx.xxx|:80... connected.<br />
HTTP request sent, awaiting response... 200 OK<br />
Length: xxxxxx (xxxM) [application/x-gzip]<br />
Saving to: `example.zip'</p>
    ]]></content>
  </entry>
  <entry>
    <title>amavisd-newとspamassassinの連携でバーチャルドメイン運用のメールのヘッダにスパム情報をつける</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/84" />
    <id>http://drupal.395963.com/node/84</id>
    <published>2011-03-15T11:03:09+09:00</published>
    <updated>2011-03-15T11:39:30+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="amavisd-new" />
    <category term="postfix" />
    <category term="spamassassin" />
    <summary type="html"><![CDATA[<p>なにやらタイトルが長くなってしまったのですがこれ以外書きようがないのでご容赦を。。。</p>
<p>Centos5のpostfixのバーチャルドメイン運用環境でamavisd-newにてclamavとspamassassinを使うために各種設定を行ったのですが、spamassassinの判断結果がメールヘッダに付加されないという状況に四苦八苦したので解決方法をメモしておきます。</p>
<p>amavisd-newでspamassassinの処理結果をメールヘッダに付加するためには通常<br />
$sa_tag_level_defltの値をあり得ない値（マイナス値）にしておき、$mydomainを運用ドメイン名にしておけば必ず付加されるのですが、</p>
<p>(設定例)<br />
/etc/amavisd.conf<br />
$sa_tag_level_deflt = -999;<br />
$mydomain = example.com</p>
<p>マルチドメイン運用の場合はその名の通り複数のドメインを扱うことになるのでこれでは設定できません。そこで@local_domains_mapsに運用ドメインを追加することになるのですが、ドメインが増える毎に都度ここを変更するのは面倒＆変更漏れがあるといけないので、何とかならないかと思ってたどり着いた結果</p>
<p>@local_domains_maps = ( 1 );</p>
<p>とすればよいという結論に。<br />
これと先の設定を行うことですべてのメールにspamassassinの処理結果がメールヘッダに付与されるようになります。</p>
<p>(メールヘッダ例)<br />
X-Spam-Flag: NO<br />
X-Spam-Score: 5.119<br />
X-Spam-Level: *****<br />
X-Spam-Status: No, score=5.119 required=13 tests=[AWL=0.388,<br />
	CONTENT_TYPE_PRESENT=-0.1, DNS_FROM_OPENWHOIS=2.431,<br />
	ISO2022JP_CHARSET=-0.1, ONLY1HOPDIRECT=1, RCVD_NUMERIC_HELO2=1.5]<br />
	autolearn=no</p>
<p>この設定は「すべて」のメールにspamassassinの処理結果を付加するので、メール転送の場合にも処理結果が付加されてしまうと思われますので、これが嫌な場合は、粛々とドメイン名を素直に追加していくしかないでしょうね。</p>
<p>下記が今回の確認環境ですが、今回の例はほかのOS等でも汎用的に適用できるものと思います。</p>
<p>運用環境<br />
　CentOS 5.5<br />
　Postfix 2.3.3<br />
　Dovecot 1.0.7<br />
　MySQL 5.0.77<br />
　Amavisd-new<br />
　clamav<br />
　spamassassin</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>なにやらタイトルが長くなってしまったのですがこれ以外書きようがないのでご容赦を。。。</p>
<p>Centos5のpostfixのバーチャルドメイン運用環境でamavisd-newにてclamavとspamassassinを使うために各種設定を行ったのですが、spamassassinの判断結果がメールヘッダに付加されないという状況に四苦八苦したので解決方法をメモしておきます。</p>
<p>amavisd-newでspamassassinの処理結果をメールヘッダに付加するためには通常<br />
$sa_tag_level_defltの値をあり得ない値（マイナス値）にしておき、$mydomainを運用ドメイン名にしておけば必ず付加されるのですが、</p>
<p>(設定例)<br />
/etc/amavisd.conf<br />
$sa_tag_level_deflt = -999;<br />
$mydomain = example.com</p>
<p>マルチドメイン運用の場合はその名の通り複数のドメインを扱うことになるのでこれでは設定できません。そこで@local_domains_mapsに運用ドメインを追加することになるのですが、ドメインが増える毎に都度ここを変更するのは面倒＆変更漏れがあるといけないので、何とかならないかと思ってたどり着いた結果</p>
<p>@local_domains_maps = ( 1 );</p>
<p>とすればよいという結論に。<br />
これと先の設定を行うことですべてのメールにspamassassinの処理結果がメールヘッダに付与されるようになります。</p>
<p>(メールヘッダ例)<br />
X-Spam-Flag: NO<br />
X-Spam-Score: 5.119<br />
X-Spam-Level: *****<br />
X-Spam-Status: No, score=5.119 required=13 tests=[AWL=0.388,<br />
	CONTENT_TYPE_PRESENT=-0.1, DNS_FROM_OPENWHOIS=2.431,<br />
	ISO2022JP_CHARSET=-0.1, ONLY1HOPDIRECT=1, RCVD_NUMERIC_HELO2=1.5]<br />
	autolearn=no</p>
<p>この設定は「すべて」のメールにspamassassinの処理結果を付加するので、メール転送の場合にも処理結果が付加されてしまうと思われますので、これが嫌な場合は、粛々とドメイン名を素直に追加していくしかないでしょうね。</p>
<p>下記が今回の確認環境ですが、今回の例はほかのOS等でも汎用的に適用できるものと思います。</p>
<p>運用環境<br />
　CentOS 5.5<br />
　Postfix 2.3.3<br />
　Dovecot 1.0.7<br />
　MySQL 5.0.77<br />
　Amavisd-new<br />
　clamav<br />
　spamassassin</p>
    ]]></content>
  </entry>
  <entry>
    <title>リモートデスクトップでCTRL+ALT+DEL</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/83" />
    <id>http://drupal.395963.com/node/83</id>
    <published>2010-06-05T01:46:54+09:00</published>
    <updated>2010-06-05T01:51:08+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <summary type="html"><![CDATA[<p>Windowsのリモートデスクトップを利用する際、リモートPCにCTRL+ALT+DELを送りたいときありますよね。<br />
こんな時素直にCTRL+ALT+DELしても残念ながらローカルPC側に反映されてしまいます。</p>
<p>ではどうするか？<br />
「CTRL+ALT+END」をたたきましょう。<br />
DELの代わりにENDキーです。</p>
<p>備忘録を兼ねて投稿しておきます。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Windowsのリモートデスクトップを利用する際、リモートPCにCTRL+ALT+DELを送りたいときありますよね。<br />
こんな時素直にCTRL+ALT+DELしても残念ながらローカルPC側に反映されてしまいます。</p>
<p>ではどうするか？<br />
「CTRL+ALT+END」をたたきましょう。<br />
DELの代わりにENDキーです。</p>
<p>備忘録を兼ねて投稿しておきます。</p>
    ]]></content>
  </entry>
  <entry>
    <title>EclipseのPHPデバッグでローカル変数が参照できない(xdebug)</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/82" />
    <id>http://drupal.395963.com/node/82</id>
    <published>2010-03-30T12:27:32+09:00</published>
    <updated>2010-03-30T12:42:53+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="eclipse" />
    <summary type="html"><![CDATA[<p>eclipseのPHPデバッグでローカル変数が参照できなかったので備忘録としてメモ。</p>
<p>Eclipse 3.5.1<br />
PHP 5.3.0<br />
PDT<br />
Xdubug 2.0.6(Exlipse内包)</p>
<p>の環境を作成しいざdebugを開始してみましたが、なぜかローカル変数の参照ができません。<br />
グローバル変数は問題ありませんし、ブレークやステップ実行等ほかの機能は問題なく動いています。</p>
<p>Webで調べてみるとどうやらXdebugにバグがあるようです。<br />
これを修正したものが公開されているのでこれを使うようにしましょう。</p>
<p><a href="http://xdebug.org/download.php">Xdebugダウンロード</a></p>
<p>私は現時点で最新の2.1.0rc1-devを導入してみました。</p>
<p>デバッグ環境によってダウンロードするファイルが異なりますので、環境にあったものをダウンロードしてください。（ちなみに私の環境では5.3 VC6 (32 bit)でした。）</p>
<p>apacheとeclipseを再起動して動作を確認してみましょう。<br />
私はexlipseの再起動をしないで動作確認してしまいハマりました。。。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>eclipseのPHPデバッグでローカル変数が参照できなかったので備忘録としてメモ。</p>
<p>Eclipse 3.5.1<br />
PHP 5.3.0<br />
PDT<br />
Xdubug 2.0.6(Exlipse内包)</p>
<p>の環境を作成しいざdebugを開始してみましたが、なぜかローカル変数の参照ができません。<br />
グローバル変数は問題ありませんし、ブレークやステップ実行等ほかの機能は問題なく動いています。</p>
<p>Webで調べてみるとどうやらXdebugにバグがあるようです。<br />
これを修正したものが公開されているのでこれを使うようにしましょう。</p>
<p><a href="http://xdebug.org/download.php">Xdebugダウンロード</a></p>
<p>私は現時点で最新の2.1.0rc1-devを導入してみました。</p>
<p>デバッグ環境によってダウンロードするファイルが異なりますので、環境にあったものをダウンロードしてください。（ちなみに私の環境では5.3 VC6 (32 bit)でした。）</p>
<p>apacheとeclipseを再起動して動作を確認してみましょう。<br />
私はexlipseの再起動をしないで動作確認してしまいハマりました。。。</p>
    ]]></content>
  </entry>
  <entry>
    <title>投稿日の表示</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/81" />
    <id>http://drupal.395963.com/node/81</id>
    <published>2009-11-27T22:24:25+09:00</published>
    <updated>2009-11-27T22:29:50+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>Wordpressで投稿やページの投稿日を表示する際the_date()を利用しますが、この関数は「1つの投稿処理に対し1度だけ結果を出力する」という仕様があります。<br />
従って2度目以降はこの関数では表示が行えなくなってしまいます。</p>
<p>ではどうするのか？<br />
the_date()にはブラウザに直接出力せず、PHPの変数に結果を戻す方法(第4引数をfalseにする)があるのでそれを使うか、もしくはthe_time()関数を使いましょう。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Wordpressで投稿やページの投稿日を表示する際the_date()を利用しますが、この関数は「1つの投稿処理に対し1度だけ結果を出力する」という仕様があります。<br />
従って2度目以降はこの関数では表示が行えなくなってしまいます。</p>
<p>ではどうするのか？<br />
the_date()にはブラウザに直接出力せず、PHPの変数に結果を戻す方法(第4引数をfalseにする)があるのでそれを使うか、もしくはthe_time()関数を使いましょう。</p>
    ]]></content>
  </entry>
  <entry>
    <title>全メールをbccする</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/80" />
    <id>http://drupal.395963.com/node/80</id>
    <published>2009-11-25T13:08:50+09:00</published>
    <updated>2009-11-25T13:17:10+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="postfix" />
    <summary type="html"><![CDATA[<p>postfixで動作確認や会社の情報漏洩などに関するチェックとしてメールの配送を監視したいことがあります。</p>
<p>postfixでは簡単にこれが実現出来ます。(全メールをbccする)</p>
<p>centosの場合</p>
<p>/etc/postfix/main.cf<br />
------------------------------------------------<br />
always_bcc = [転送するメールアドレス]<br />
------------------------------------------------</p>
<p>この1文を追加してリロード(service postfix reload)したら完了です。</p>
<p>なお、上記では送受信メール共にbccされますが、送信メールだけチェックしたいというような場合は「sender_bcc_maps」、受信メールだけの時は「recipient_bcc_maps」を使うことで実現可能です。(postfix2.1以上)</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>postfixで動作確認や会社の情報漏洩などに関するチェックとしてメールの配送を監視したいことがあります。</p>
<p>postfixでは簡単にこれが実現出来ます。(全メールをbccする)</p>
<p>centosの場合</p>
<p>/etc/postfix/main.cf<br />
------------------------------------------------<br />
always_bcc = [転送するメールアドレス]<br />
------------------------------------------------</p>
<p>この1文を追加してリロード(service postfix reload)したら完了です。</p>
<p>なお、上記では送受信メール共にbccされますが、送信メールだけチェックしたいというような場合は「sender_bcc_maps」、受信メールだけの時は「recipient_bcc_maps」を使うことで実現可能です。(postfix2.1以上)</p>
    ]]></content>
  </entry>
  <entry>
    <title>テーマの共通関数はどこに置く？</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/79" />
    <id>http://drupal.395963.com/node/79</id>
    <published>2009-11-24T16:28:05+09:00</published>
    <updated>2009-11-24T16:32:47+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>Wordpressでオリジナルなテーマなどを作成する際、複数のファイルで利用するような共通関数はどこに置いておくのがよいのでしょう？</p>
<p>ずばっと結論ですが、テーマフォルダのトップディレクトリにあるfunctions.phpに置きましょう。<br />
（ファイルがない場合は新規で作成して下さい。）</p>
<p>これで全てのテーマ関連ファイルから利用することが出来ます。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Wordpressでオリジナルなテーマなどを作成する際、複数のファイルで利用するような共通関数はどこに置いておくのがよいのでしょう？</p>
<p>ずばっと結論ですが、テーマフォルダのトップディレクトリにあるfunctions.phpに置きましょう。<br />
（ファイルがない場合は新規で作成して下さい。）</p>
<p>これで全てのテーマ関連ファイルから利用することが出来ます。</p>
    ]]></content>
  </entry>
  <entry>
    <title>WP独自のグローバル変数を見る</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/78" />
    <id>http://drupal.395963.com/node/78</id>
    <published>2009-11-24T16:10:36+09:00</published>
    <updated>2009-11-24T16:25:04+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>Wordpressは様々な情報を取得するための関数をいろいろと用意してくれていますが、それでは対処出来ない場合はどうするか？</p>
<p>WPには$wp_queryというグローバル変数があり、ここにシステムに必要なほとんどの情報が入っています。</p>
<p>従ってこの変数の中から必要なものを直接アクセスすれば大抵は解決しちゃいますね。</p>
<p>var_dumpしてサンプルを置こうかと思いましたが、大きすぎるためやめときます。。。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Wordpressは様々な情報を取得するための関数をいろいろと用意してくれていますが、それでは対処出来ない場合はどうするか？</p>
<p>WPには$wp_queryというグローバル変数があり、ここにシステムに必要なほとんどの情報が入っています。</p>
<p>従ってこの変数の中から必要なものを直接アクセスすれば大抵は解決しちゃいますね。</p>
<p>var_dumpしてサンプルを置こうかと思いましたが、大きすぎるためやめときます。。。</p>
    ]]></content>
  </entry>
  <entry>
    <title>マウスオーバーによる画像切替を簡単に実現する</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/77" />
    <id>http://drupal.395963.com/node/77</id>
    <published>2009-11-23T22:59:52+09:00</published>
    <updated>2009-11-23T23:19:37+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>Wordpressに限った話ではないですが、メニューなどでよく使われるマウスオーバーによる画像切替を簡単に行うためにどうするかを調査。</p>
<p>CSSで実現する方法もありますが、画像が多いと面倒なのでJavascriptを使うことにしました。</p>
<p>Javascriptでこれを実現するためのスクリプトは数多くありましたが、ソースへの追記が少なくて済むという観点で以下のものがよいなぁ～という結論に。</p>
<p><a href="http://css-eblog.com/javascript-link/rollover-javascript.html" target="_blank">手軽に画像のロールオーバー効果を実装するJavaScript</a></p>
<p>prototype.js等外部ライブラリへの依存が一切無いところも良いですね。</p>
<p>【使い方】<br />
　１．マウスオーバーさせる部分のimgタグに「class="rollover"」を追加。<br />
　２．マウスが乗っていないときの画像をa.gifとするとマウスオーバー用にはa_on.gifというように「_on」を追加したファイルを用意する。</p>
<p>これだけです。<br />
ファイルへの追加文字の規則変更等はオプションで指定できます。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Wordpressに限った話ではないですが、メニューなどでよく使われるマウスオーバーによる画像切替を簡単に行うためにどうするかを調査。</p>
<p>CSSで実現する方法もありますが、画像が多いと面倒なのでJavascriptを使うことにしました。</p>
<p>Javascriptでこれを実現するためのスクリプトは数多くありましたが、ソースへの追記が少なくて済むという観点で以下のものがよいなぁ～という結論に。</p>
<p><a href="http://css-eblog.com/javascript-link/rollover-javascript.html" target="_blank">手軽に画像のロールオーバー効果を実装するJavaScript</a></p>
<p>prototype.js等外部ライブラリへの依存が一切無いところも良いですね。</p>
<p>【使い方】<br />
　１．マウスオーバーさせる部分のimgタグに「class="rollover"」を追加。<br />
　２．マウスが乗っていないときの画像をa.gifとするとマウスオーバー用にはa_on.gifというように「_on」を追加したファイルを用意する。</p>
<p>これだけです。<br />
ファイルへの追加文字の規則変更等はオプションで指定できます。</p>
    ]]></content>
  </entry>
  <entry>
    <title>投稿時間をunixtimeに変換する</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/76" />
    <id>http://drupal.395963.com/node/76</id>
    <published>2009-11-21T17:12:33+09:00</published>
    <updated>2009-11-23T23:19:27+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>とあるCMSからの移管で必要になって、投稿時間からunixtimeに変更する方法を検討。<br />
&lt;?php $post_time = strtotime(the_date('Y-m-d H:i:s', '', '', false)); ?&gt;<br />
これで変換できます。<br />
srttotime()はphpの標準関数ですので、不明点があればphpの仕様を確認しましょう。(<a href="http://php.net/manual/ja/function.strtotime.php" target="_blank">こちら</a>)<br />
似たような関数としてthe_time()がありますがこれは結果をphpに戻せないのでNGです。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>とあるCMSからの移管で必要になって、投稿時間からunixtimeに変更する方法を検討。</p>
<p>&lt;?php $post_time = strtotime(the_date('Y-m-d H:i:s', '', '', false)); ?&gt;</p>
<p>これで変換できます。<br />
srttotime()はphpの標準関数ですので、不明点があればphpの仕様を確認しましょう。(<a href="http://php.net/manual/ja/function.strtotime.php" target="_blank">こちら</a>)</p>
<p>似たような関数としてthe_time()がありますがこれは結果をphpに戻せないのでNGです。</p>
    ]]></content>
  </entry>
  <entry>
    <title>カテゴリースラッグ名を取得する</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/75" />
    <id>http://drupal.395963.com/node/75</id>
    <published>2009-11-20T15:47:33+09:00</published>
    <updated>2009-11-23T23:19:02+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>とあるオリジナルブログからWordpressへコンテンツを移行する際にカテゴリー毎にサイドバーを変更する必要があったので調査。<br />
方法としてはカテゴリースラッグを使って読み込むサイドバー(今回はwidgetではなく独自のサイドバー)のソースを入れ替えるというもの。<br />
カテゴリースラッグの取得は<br />
&lt;?php<br />
  $cat = get_the_category();<br />
  $cat_name = $cat[0]-&gt;category_nicename;<br />
?&gt;<br />
これだけで出来ます。<br />
これを必要な部分（今回はサイドバーの読込）で使います。<br />
&lt;?php @include(TEMPLATEPATH . '/_sidebar-' . $cat[0]-&gt;category_nicename . '.php'); ?&gt;<br />
スラッグでなくIDを使ってもよいのですがわかりづらいのでスラッグで。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>とあるオリジナルブログからWordpressへコンテンツを移行する際にカテゴリー毎にサイドバーを変更する必要があったので調査。</p>
<p>方法としてはカテゴリースラッグを使って読み込むサイドバー(今回はwidgetではなく独自のサイドバー)のソースを入れ替えるというもの。</p>
<p>カテゴリースラッグの取得は</p>
<p>&lt;?php<br />
  $cat = get_the_category();<br />
  $cat_name = $cat[0]-&gt;category_nicename;<br />
?&gt;</p>
<p>これだけで出来ます。<br />
これを必要な部分（今回はサイドバーの読込）で使います。</p>
<p>&lt;?php @include(TEMPLATEPATH . '/_sidebar-' . $cat[0]-&gt;category_nicename . '.php'); ?&gt;</p>
<p>スラッグでなくIDを使ってもよいのですがわかりづらいのでスラッグで。</p>
    ]]></content>
  </entry>
  <entry>
    <title>Windowsでサービスを手動削除(XP,2003)</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/74" />
    <id>http://drupal.395963.com/node/74</id>
    <published>2009-11-04T13:31:07+09:00</published>
    <updated>2009-11-04T13:36:14+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="2003" />
    <category term="XP" />
    <summary type="html"><![CDATA[<p>とあるソフトをアップデートした際、サービスがうまく削除されなかったため手動で削除する方法を探しました。</p>
<p>以下その方法です。</p>
<p>１．コマンドプロンプトを開く<br />
　　スタートメニューから「ファイル名を指定して実行」を選び「cmd」と入力。</p>
<p>２．サービス登録の確認<br />
　　C:\WINDOWS\system32\sc query [SERVICE_NAME]」と入力しサービスが登録されている事を確認。</p>
<p>３．サービスの削除<br />
　　C:\WINDOWS\system32\sc delete [SERVICE_NAME]」と入力して削除。</p>
<p>以上XPでの削除方法ですが、2003でも同様に削除可能です。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>とあるソフトをアップデートした際、サービスがうまく削除されなかったため手動で削除する方法を探しました。</p>
<p>以下その方法です。</p>
<p>１．コマンドプロンプトを開く<br />
　　スタートメニューから「ファイル名を指定して実行」を選び「cmd」と入力。</p>
<p>２．サービス登録の確認<br />
　　C:\WINDOWS\system32\sc query [SERVICE_NAME]」と入力しサービスが登録されている事を確認。</p>
<p>３．サービスの削除<br />
　　C:\WINDOWS\system32\sc delete [SERVICE_NAME]」と入力して削除。</p>
<p>以上XPでの削除方法ですが、2003でも同様に削除可能です。</p>
    ]]></content>
  </entry>
  <entry>
    <title>WordPress 2.0.11 を 2.2.3 へアップデート</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/73" />
    <id>http://drupal.395963.com/node/73</id>
    <published>2008-02-20T18:26:17+09:00</published>
    <updated>2008-02-20T18:27:24+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="WordPress" />
    <summary type="html"><![CDATA[<p>サイトマップファイルを簡単に管理できるようにするため<br />
とあるWordPressMeのサイトをバージョンアップすることにしました。<br />
バージョンは 2.0.11 から 2.2.3 となります。</p>
<p>そこで出会った様々な問題を備忘録としてまとめておこうと思います。</p>
<p>まず、バージョンが大きく異なるわけですが、<br />
<a href="http://wordpress.xwd.jp/" target=_blank>日本のWordPressMe本家</a>ではかる～く、ファイルを上書きして<br />
アップデート処理をすれば大抵は問題ないと記載されていました。<br />
それを信じてそのまま実行したわけですが。。。</p>
<p>確かに動くことは動くのですが、管理画面のメニューなどが英語に<br />
なってしまいましたT-T<br />
ネットでさくっと調べたところ<br />
「<a href="http://www.yattemiyo.net/smartfaq+faq.faqid+36.htm" target=_blank>WordPressMEをアップデートしたら管理画面が英語になってしまった場合の対処法は？</a>」<br />
というまさにビンゴな感じのコンテンツがあったので参考にして<br />
変更を加えてみましたが結果はNG。。。</p>
<p>結局問題の根幹は設定ファイル(wp-condig.php)の設定内容でした。<br />
2.2.3にあわせて設定をしないといけなかったのです。<br />
(言語設定関係が変わってますね)</p>
<p>普通なら当然設定ファイルはチェックするべきところではありましたが<br />
「単純に上書きして動く」という案内に見事にだまされたわけです><</p>
<p>とうことで上記2つの対策をしたら無事管理画面も日本語となりました。</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>サイトマップファイルを簡単に管理できるようにするため<br />
とあるWordPressMeのサイトをバージョンアップすることにしました。<br />
バージョンは 2.0.11 から 2.2.3 となります。</p>
<p>そこで出会った様々な問題を備忘録としてまとめておこうと思います。</p>
<p>まず、バージョンが大きく異なるわけですが、<br />
<a href="http://wordpress.xwd.jp/" target=_blank>日本のWordPressMe本家</a>ではかる～く、ファイルを上書きして<br />
アップデート処理をすれば大抵は問題ないと記載されていました。<br />
それを信じてそのまま実行したわけですが。。。</p>
<p>確かに動くことは動くのですが、管理画面のメニューなどが英語に<br />
なってしまいましたT-T<br />
ネットでさくっと調べたところ<br />
「<a href="http://www.yattemiyo.net/smartfaq+faq.faqid+36.htm" target=_blank>WordPressMEをアップデートしたら管理画面が英語になってしまった場合の対処法は？</a>」<br />
というまさにビンゴな感じのコンテンツがあったので参考にして<br />
変更を加えてみましたが結果はNG。。。</p>
<p>結局問題の根幹は設定ファイル(wp-condig.php)の設定内容でした。<br />
2.2.3にあわせて設定をしないといけなかったのです。<br />
(言語設定関係が変わってますね)</p>
<p>普通なら当然設定ファイルはチェックするべきところではありましたが<br />
「単純に上書きして動く」という案内に見事にだまされたわけです><</p>
<p>とうことで上記2つの対策をしたら無事管理画面も日本語となりました。</p>
    ]]></content>
  </entry>
  <entry>
    <title>squirrelmailの認証処理に不具合？？？</title>
    <link rel="alternate" type="text/html" href="http://drupal.395963.com/node/71" />
    <id>http://drupal.395963.com/node/71</id>
    <published>2008-02-17T22:16:00+09:00</published>
    <updated>2008-02-17T22:27:31+09:00</updated>
    <author>
      <name>adruf</name>
    </author>
    <category term="squirrelmail" />
    <category term="Webmail" />
    <summary type="html"><![CDATA[<p>とあるシステムでWebmailが使いたいと言うことで<br />
squirrelmailを導入したのですが、認証が不安定な状況に。。。</p>
<p>システムとしては</p>
<p>・OS　 CentOS4.6<br />
・MTA　postfix<br />
・SMTP Courier-imap</p>
<p>でバーチャルドメイン(postfixadmin)運用。<br />
さらにMaiaMailguardでスパム、<br />
ウィルス対策(spamassassinとclamav)をしています。</p>
<p>まぁこれだけいろいろなシステムが絡み合うと、<br />
それなりに調整する必要は出てくるわけですが、<br />
今回の場合は認証方法がそれにあたりました。</p>
<p>セキュリティー的には良くないのでしょうが、<br />
最終的にはPlainTextで認証処理をするように設定しました。</p>
<p>当初は特に問題なく動いていたのですが、<br />
いつの間にかsquirrelmailにログインできなくなる問題が発生。<br />
しかも確実にNGな訳ではなくかなり低確率ではあるものの<br />
ログインできる場合もあるのです。</p>
<p>はじめはブラウザ等クライアント側を疑ったのですが<br />
原因がなさそうだったので、少し気合いを入れて調査してみました。</p>
<p>すると。。。<br />
squirrelmailのパスワード処理に不具合がっぽいものを確認。<br />
パスワードを暗号化して復号化する際に、元のパスワードに戻らないのです^^;<br />
ランダムデータとbase64にて暗復号化をしているのですが<br />
この処理方法がどうやら問題ありのようです。。。</p>
<p>ということでこの暗復号化処理を間違いなく実行できるように変更。<br />
この修正を実施後は問題なく動作するようになりました^^</p>
<p>具体的な修正内容については・・・<br />
あまりにもやっつけな方法なので公開できません（ぉぃ<br />
もう少し修正方法を検討してみて、良い方法が見つかったら<br />
公開させていただこうと思います m(_ _)m</p>
<p># ネットで検索しても困っている人はいないようなので<br />
# 多分必要のない情報でしょう^^;</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>とあるシステムでWebmailが使いたいと言うことで<br />
squirrelmailを導入したのですが、認証が不安定な状況に。。。</p>
<p>システムとしては</p>
<p>・OS　 CentOS4.6<br />
・MTA　postfix<br />
・SMTP Courier-imap</p>
<p>でバーチャルドメイン(postfixadmin)運用。<br />
さらにMaiaMailguardでスパム、<br />
ウィルス対策(spamassassinとclamav)をしています。</p>
<p>まぁこれだけいろいろなシステムが絡み合うと、<br />
それなりに調整する必要は出てくるわけですが、<br />
今回の場合は認証方法がそれにあたりました。</p>
<p>セキュリティー的には良くないのでしょうが、<br />
最終的にはPlainTextで認証処理をするように設定しました。</p>
<p>当初は特に問題なく動いていたのですが、<br />
いつの間にかsquirrelmailにログインできなくなる問題が発生。<br />
しかも確実にNGな訳ではなくかなり低確率ではあるものの<br />
ログインできる場合もあるのです。</p>
<p>はじめはブラウザ等クライアント側を疑ったのですが<br />
原因がなさそうだったので、少し気合いを入れて調査してみました。</p>
<p>すると。。。<br />
squirrelmailのパスワード処理に不具合がっぽいものを確認。<br />
パスワードを暗号化して復号化する際に、元のパスワードに戻らないのです^^;<br />
ランダムデータとbase64にて暗復号化をしているのですが<br />
この処理方法がどうやら問題ありのようです。。。</p>
<p>ということでこの暗復号化処理を間違いなく実行できるように変更。<br />
この修正を実施後は問題なく動作するようになりました^^</p>
<p>具体的な修正内容については・・・<br />
あまりにもやっつけな方法なので公開できません（ぉぃ<br />
もう少し修正方法を検討してみて、良い方法が見つかったら<br />
公開させていただこうと思います m(_ _)m</p>
<p># ネットで検索しても困っている人はいないようなので<br />
# 多分必要のない情報でしょう^^;</p>
    ]]></content>
  </entry>
</feed>
