2008年12月30日火曜日

ゆうパックの集荷用電話番号

ここから最寄りの郵便局を見つける。
http://www.post.japanpost.jp/shiten_search/index.html

集荷電話番号があるのでそこに電話。

2008年12月2日火曜日

PHPで親ディレクトリのフルパスを取得する

今回はPHPで親ディレクトリのフルパスを取得する方法を紹介します。

phpファイルは「/var/www/index.php」に存在しているものとします。

■ ファイルが存在するディレクトリを取得するコード

// $pdir = '/var/www';
$pdir = implode(array_slice(explode(DIRECTORY_SEPARATOR, __FILE__), 0, -1), DIRECTORY_SEPARATOR);

■ ファイルが存在するディレクトリの親ディレクトリを取得するコード

// $pdir = '/var';
$pdir= implode(array_slice(explode(DIRECTORY_SEPARATOR, __FILE__), 0, -2), DIRECTORY_SEPARATOR);


上記コードからわかるように-1, -2となっている部分を変える事でさらに上の階層を取得する事も可能です。

require_onceなどで相対パス指定していると、そのファイルがさらに別のファイルからrequire_onceなどで読み込まれた場合に正しく動作しないという現象に対応する事ができます。
また、相対パス指定でrequire_onceしているとcronなどから実行した場合に動作しない現象を避けることができます。

2008年10月29日水曜日

Googleトレンド

日本でもGoogleトレンドが開始されたようです。

http://www.google.co.jp/trends

現時点で急上昇ワードは「たりないもの占い」

「バナナ,納豆」などで比較もできておもしろいです。

2008年7月16日水曜日

MINICLIPのmother loadが面白い

MINICLIPのサイトのmother loadというゲームを最近やったのですが、
これが面白くて結構ハマりました。


MNICLIP : http://www.miniclip.com/lip.com/
mother load :http://www.miniclip.com/games/motherload/jp/

ゲームとしては地面を掘って、より深く掘っていくという内容です。


地面には銅や鉄、金などの鉱石が埋まっていて、それを回収し売却することで
得られるお金で自機(採掘機)をパワーアップさせることができます。
鉱石以外にも色々埋まっていて50000くらいお金が増えるものも埋まっています。

操作方法は簡単。
移動(上下左右)はマウスかキーボードの矢印キーでできます。
ほかにwで上、sで下、aで左、dで右に対応しているのがFPSに慣れている関係上
非常にやりやすいです。


また、いちばん右のショップでアイテムを購入し使用する事もできます。
5000ft.を超える深さからテレポートして帰ってこれるようなアイテムも売っています。


途中、ドリルでは壊せない岩などが出てきますがダイナマイトなどの爆弾で吹っ飛ばせます。



爆弾を使用した時の画面。


地上で浮いている機械みたいなやつに触れるとセーブできます。
※その時点でのスコアは0になってしまいますが。

4000ft.くらいを超えるとスコアはガンガンあがるのであまりスコアを気にせず
セーブする方が良いかもしれません。

2008年7月14日月曜日

EC-CUBEでのセッション

最近EC-CUBEのソース解析なぞしてます。

EC-CUBEのセッションはどこで管理してるのか見る機会があったので、それについてメモ。

EC-CUBEはセッションをDBで管理してるようです。

テーブルは「dtb_session」
関連情報:http://www.lockon.co.jp/blog/php/db_1.html

セッションをDBに保存する理由については下記サイトを参考に。http://dozo.matrix.jp/framework/symfony/database_session

2008年7月1日火曜日

emoを導入してみた

emoを導入してみました。
右のメニューバーの自己紹介の一番下に表示されてるヤツです。

なんでもブログの内容を解析して性格分析してくれるらしい。
でもって顔が表示される、と。

ちなみに現在のニックネームは「pdateが好きなザブザブサムライ」です。
まぁ確かに「pdate」っていっぱい書いたけどもw
って書いてたらまた解析されてpdateのランク上がるなw
と言ってる文章にも・・・(エンドレス)

2008年6月24日火曜日

初プール

前の休みに息子とプールに行ってきました。

息子はちっちゃいビニールのプールでしか遊んだ事がないはずなので、
25mプールはさぞかし驚いて最初は入るの嫌がるだろうなぁと思ってました。

が、驚きはしましたが普通にザブザブとプールの中へ。
すごいぞ我が息子!w

水深が80cmくらいなので息子は頭がちょうど出るくらい。
たまに水かぶって驚いた顔になりつつも楽しく遊べた模様。

途中、休憩を入れつつ3時間ほど遊んで帰宅したらば帰って5分程で
息子は電池が切れました。その後3時間爆睡。

ふと思うのは息子が大きくなった時に初プールの記憶はあるんだろうかということですが、
自分自身も記憶がないようにきっと覚えてはいないんだろうなぁと。
でも、父が私の初プールの記憶があるように息子の初プールは一生忘れないでおこうと思うのです。

息子@3歳 語録3

とあるショッピングセンターのエレベータにて。

「下に上ってる~」

自由な感じの発想がイイネ!

2008年6月18日水曜日

CentOSでAjaxがうまく動かない

Ajaxでの通信がうまくいかない現象に遭遇。Webサーバ(Apache)のOSがCentOSかつAddDefaultCharset noneという設定がhttpd.conf(またはhttpd.confからインクルードしている設定ファイル)に存在しているのが原因。

Firefoxでは問題なく動作するけども、IE7では動作しない。AddDefaultCharset noneをコメントアウトして#AddDefaultCharset noneにすれば良い。

httpd.confの設定を変更できないのであれば、Webサーバからのレスポンスヘッダにcharsetを設定すればおkPHPだと header("Content-Type: text/html; charset=UTF-8");UTF-8の部分は出力文字コードに応じて変更すべし。

2008年6月10日火曜日

息子@3歳 語録2

電話にて。

「お父さん、2階建ての会社行ってるの?」

・・・バスじゃないんだぞ。

息子@3歳 語録1

「雪は焼いて食べられる!」

・・・どんな味になるのか想像できません。

2008年6月3日火曜日

WindowsをNTPサーバにしてLinux(Fedora7)と時刻を同期させる

先日「Virtual PC 2007で動作しているFedora7の時間がおかしくなるのを自動的に直す」で「WindowsTimeサービスなるものがあるらしい」と言いましたが、
いろいろ調べてチャレンジした結果WindowsをNTPサーバとしてLinux(Fedora7)と時刻を同期させる事ができました。

以下手順です。
--------------------------------------------------------------------------------
この手順はレジストリを直接いじるため、操作については自己責任で行ってください。
操作の結果、起こった損害・トラブルについて私は一切責任を負いません。
---------------------------------------------------------------------------------
■手順1 : WindowsでNTPサーバを動作させる (XP, Vista共に同じ手順)
・windowsキー + Rでファイル名を指定して実行ダイアログを出す。
・regeditと入力してOK
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
の値を5に変更(変更前は16進数でa)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
の値を1に変更(WinXPはデフォルトで1でした。)
・Windows Timeサービスを再起動
コントロールパネル→管理ツール→Windows Timeを選択してサービスの再起動を実行。

■手順2 : Fedora7からntpdateで接続
#ntpdate 192.168.11.4
2 Jun 23:59:11 ntpdate[2607]: step time server 192.168.11.4 offset 2.225084 sec
※192.168.11.4はWindowsマシンのIPアドレスです。適時読み替えて下さい。

■手順3: Fedora7のcronにntpdateを登録
#crontab -e
*/1 * * * * /usr/sbin/ntpdate 192.168.11.4
※1分毎にntpdateを実行。間隔はご自由にどうぞ。

うまくいかない場合は下記を参考に調べてみて下さい。
・Fedora7のiptables (ntpdateはUDP123ポートを利用しているようです)
・Windowsのファイアウォール設定
・ウイルスバスターなどのファイアウォール設定

2008年6月2日月曜日

「仕事時間を賢く楽に節約する10の方法」の1つを実践してみた

仕事時間を賢く楽に節約する10の方法」を読んでなるほどなぁと思ったので、実践してみた。
とはいっても全てではなく1つだけ。

今の自分に一番適用できそうなのが「2. 気を散らすものを遮断し、タイマーをセットする」。
普段からいろんな事が気になって仕事が中々進まない自分にぴったりなわけで(笑

キッチンタイマーがなかったので、メモ帳(手書き)とWindowsの時計で脳内キッチンタイマーを準備。
メモ帳に開始時刻と終了時刻を記入。その横にその時間内に実行しなければならない事(目標)を記入。
ちょうどテスト仕様書を作成していたので、時間内にテスト項目を何個作るかということを目標にしました。

例:14:30-40 5つ

実践してみた感想としては、割と集中しやすい状況を作れるのではないかと思いました。
目標に対して自分が今どれくらい達成できているかという事と照らし合わせて自分が今どのあたりにいるかということがすぐわかるのが利点かなぁと。
本当はもっと長い間隔で同じことができればいいんですが。そういうわけにもいかないわけで。

2008年5月31日土曜日

Fedora9で外部サーバからFTPでファイルがダウンロードできない

自社のローカルにあるFedora7で、外部サーバにあるバックアップファイルを定期的にダウンロード
していたのですが、Fedora9に変えたところ定期的にダウンロードできなくなっていました。

原因はiptableでした。
-------------------------
【解決方法】
/etc/sysconfig/iptables-configの
IPTABLES_MODULES=""
となっている所を変更
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"

/etc/sysconfig/iptableに下記を追加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

iptablesを再起動
/etc/rc.d/init.d/iptables restart

以上の設定により外部のFTPサーバからファイルをダウンロードすることができるようになりました。

2008年5月29日木曜日

鶏カツ丼

先日、飲み会でぢどり亭に行きました。

もう少し何か食べたいと思いメニューを見たら「鶏カツ丼」がありました。
そしてその下に「鶏カツ丼のうえ」なるものが。

これだ!と思い「鶏カツ丼のうえ」を注文。
しばらくして「鶏カツ丼のうえ」が来てびっくり。
・・・なんとご飯がありません。

あくまで「うえ」であって「上」ではありません。
上ロースとかの「上」と勘違いしてました。

ちゃんと考えればわかりそうですが、酔っていたからということにしておこうw

2008年5月28日水曜日

SQLで年度別のデータカウントを取得する

仕事で年度別のデータカウントを取得しなければならなかったので、できるだけプログラム(PHP)で処理をしなくていいようにSQLを考えてみた。

※MySQLのみ想定しています。Postgresの場合はpdateの型とdate_formatをto_char(pdate, 'YYYY-04-01 00:00:00')とすれば良いかと。動作保障はできませんので悪しからず。MySQL5.0.45での動作は確認済。

------------------------------------------------------------
年度はX年4月1日~(X+1)年3月31日とする。
例: 2008年4月1日~2009年3月31日は2008年度、 2008年3月31日は2007年度

テスト用テーブル:test
id, pdate(DATETIME型)
1,2008-03-31 00:00:00
2,2008-04-02 00:00:00
3,2007-10-21 00:00:00
4,2007-04-02 00:00:00
5,2007-03-31 00:00:00
6,2006-04-01 00:00:00

上記の年度はそれぞれ 2007, 2008, 2007, 2007, 2006, 2006 となるはず。

【SQL】
SELECT pdate , count(pdate) as yearly_cnt FROM (
SELECT extract(YEAR FROM pdate)-1 as pdate, id FROM test WHERE pdate <>
UNION
SELECT extract(YEAR FROM pdate) as pdate, id FROM test WHERE pdate >= date_format(pdate, '%Y-04-01 00:00:00')
) as tmp_tbl GROUP BY pdate

【実行結果】
pdate yearly_cnt
2006 2
2007 3
2008 1

2008年5月27日火曜日

Smartyでimplodeを利用する。

Smartyのテンプレート内でimplodeを利用するには下記の様に記述します。
{","|implode:$aryData}

$aryDataが array("A", "B", "C"); となっているとすると、上記コードは
A,B,C と表示されます。

ちなみにimplodeのマニュアルによると「歴史的な理由により、引数をどちら の順番でも受けつけることが可能」とあるので、
{$aryDataimplode:","}
としても同じ結果が得られるはず。

しかしながら結果は
Array

{$aryData|implode:","}
とするとOK

・・・なぜ?

ちなみにSmartyのVersionは 2.6.17です。

2008年5月26日月曜日

Virtual PC 2007で動作しているFedora7の時間がおかしくなるのを自動的に直す

私は現在開発でVirtual PCにFedora7をインストールして、apache, php, MySQLを動作させています。

Virtual PCを利用しているとよく「状態の保存」を利用するのですが、その場合、復帰させると時刻が進まないままになってしまっています。

時間に関係するような処理をしていると、実際の時間とずれているので困ることがあります。
自動的に時間を修正させることでその問題に対処します。

ntpdateコマンドを定期的に実行することで実現させます。
ntpサーバはNICTのntpサーバを利用します。
※自身が利用しているプロパイダでntpサーバを利用できないかをまず調べて、  利用できるならそちらを利用する方が良いと思います。
 OCNASAHIネットはntpサーバがあるようです。

# crontab -e
@reboot /usr/sbin/ntpdate ntp.nict.jp
0 * * * * /usr/sbin/ntpdate ntp.nict.jp

上記により起動時と毎時0分にntpサーバとの時刻同期が実行されます。

しかしながら、一度時刻同期をしてしまうと「状態保存」「シャットダウン」をしない限りはさほどずれは問題にならないので、毎時間実行するのは無駄のような気がします。
1日10時間起動してても単純計算で10回程度ですが、多くの人が一つのntpサーバに問い合わせるとサーバへの負荷とトラフィックの増加を招きます。
できる限りそういう事態は避けたいところ。

調べてみるとWindowsTimeサービスなるものがあるらしいのでそれにチャレンジしてみる予定。

2008年5月25日日曜日

Virtual PC 2007にFedora9をインストール

マシン構成
 OS : Windows Vista Ultimate
 CPU: Core2 Duo E6850
 Memory:4G

Fedora9をここからダウンロード。

Mirror選択が面倒な人はここ。→ Fedora-9-i386-DVD.iso

インストール時のオプションは
vesa i8042.noloop psmouse.proto=imps clock=pit noapic nolapic vga=786

インストール後に起動しようとすると「回復できないプロセッサエラー」が1回発生したあと起動できる。
その後、起動時に必ず「回復できないプロセッサエラー」→「リセット」が起こる。

noreplace-pravirt

をオプションに追加することで「回復できないプロセッサエラー」が発生することなく起動可能。