アーカイブ: 2009年4月

佐川急便のページがCakePHPな件

パーマリンク 2009/04/27 13:25:15 著者: kumaold メール
カテゴリ: ニュース批評, PHP, CakePHP

仕事上で送料を調べようと佐川急便のサイトを調べていたら・・・

気づいてしまいましたよ。


トップページ左列の「料金検索」とその下の「営業店検索」の都道府県別ページの中身で、普通はこんな感じ↓のアイコン(favicon.ico)が、


どう見てもCakePHPデフォルトのfavicon.icoです。
本当にありがとうございました。

普通は正式公開時に消すだろ、常識的に考えて。

確かに忘れやすい一点であるのは認めるにしても、誰も気づかなかったのかなぁ。
本当に分かる人にだけ分かる話ってのもあるし。


意外にCakePHPも普及してんだな、と思った瞬間でした。

CakePHPによる実践Webアプリケーション開発CakePHPによる実践Webアプリケーション開発
安藤 祐介
毎日コミュニケーションズ 2009-04-08
おすすめ平均

Virtual PC 2007でCentOS

パーマリンク 2009/04/26 23:26:51 著者: kumaold メール
カテゴリ: 自宅鯖

自宅にもひとつLinuxサーバを導入したいとは思いつつも、既に常時稼動マシンが4台もあるので(電気代的な意味で)ずっと保留状態でした。

そこで1年前に導入したRAID5ファイルサーバ(Pentium4 630/3GHz)のリソースが有り余っていることに着目し、仮想環境でできないかとやってみました。


今回使用したのはMicrosoft Virtual PC 2007CentOS 5.3です。

数年前と違い無償提供なのがありがたい、Windows純正仮想化ソフトです。


ゲストOSがWindows用に設計されているので、Linux系は手間がかかるのかと思っていましたが、意外にあっさりインストール・動作まで完了しました。

Virtual PC 2007でCentOS

画像クリックで拡大スクリーンショット

最低環境ならメモリ128MBで動作するところが流石Linuxといった感じです。

これでデータベースはCentOS+PostgreSQL、WebサーバはIISといった使い方もかんたんに実現できそうです。


PC仮想化テクニック 1台でVistaもXPもスッキリ使い分けPC仮想化テクニック 1台でVistaもXPもスッキリ使い分け
橋本 和則

翔泳社 2007-12-11
type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

LinkTheater PC-P2LAN/DVDの導入

パーマリンク 2009/04/22 23:39:20 著者: kumaold メール
カテゴリ: デジタルモノ

ヤフオクにてネットワークメディアプレーヤ LinkTheater PC-P2LAN/DVDのジャンク品が100円であったので落札してみました。

故障内容はディスクトレイが排出されにくいという品でしたが、分解してみると単純にIDE接続のLITE-ON製DVD-ROMドライブだったので交換できそうです。

PC-P2LAN/DVD


従来はPCの動画を見るのに、HDDレコーダ RD-XS36用に

1. flv2pspでMPEG2/AACに変換して、
2. RDheaderでHDDレコーダ独自ヘッダ情報を作成して、
3. LANDE-RDでLANを通してネットdeダビング

という非常に手間の掛かる作業をする必要がありました。

それをする必要がなくなるのはありがたいことです。


使ってみて思ったこと。

  • PC側ではPCast Media Serverがサーバ側ソフトとして待機する
  • アクセス先PCごとにパスワード設定ができる
  • 早送り・巻き戻しが1%単位でしかできない
  • 解像度720x480以上の動画が再生できない
  • 画面操作のレスポンスが悪い(操作性も悪い)


Windows Server 2003のファイルサーバにPCast Media Server 2.3を入れたところ、通知領域にアイコンは出るのにウィンドウが表示されない問題が発生。

結局付属CDのVer.1.00の導入で解決した模様です。


まあBUFFALOのLinkTheaterの出始めの頃の製品なので色々使いづらいところはあるにしても、送料込みで1000円強なので満足してます。

【3営業日以内発送在庫】【送料無料】[バッファロー]
LinkTheater Draft11n対応 11a/g ネットワークメディアプレ-ヤ(LT-H90LAN
type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

なんかいろいろ当選

パーマリンク 2009/04/20 23:12:51 著者: kumaold メール
カテゴリ: 日々の生活

帰宅してみたらとらのあなからの封筒が届いていて、冬コミの委託本をまとめ買いしたとき以来心当たりがないなと思いつつも開封してみる。

とらのあなアンケート当選通知

そういえばそんなWEBアンケートに答えたな、と今更ながらに思い出しながらも本当にこういうのって当選することあるんだなぁ。

毎月100人にといいつつもそう毎月答える人も居なさそうで倍率は低いかも、ということで今月もアンケートに答えてみた。

とらのあなアンケート 謝礼クオカード


先週はいつしか応募したような気もする少年マガジンのクオカード4枚セットの当選といい、なんか最近はこの手の運が良すぎて恐ろしいくらい。


丸山晴美メソッド 当選する技術――いきいきハッピー懸賞生活 (講談社プラスアルファ文庫)丸山晴美メソッド 当選する技術――いきいきハッピー懸賞生活 (講談社プラスアルファ文庫)
丸山 晴美
講談社 2008-06-19
おすすめ平均

type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

かんたんに表をソートできるJavaScript

パーマリンク 2009/04/16 23:34:00 著者: kumaold メール
カテゴリ: プログラミング, Javascript/Java

HTMLでテーブルで表示したときにかんたんにソートできるJavaScriptです。

使い方はいたって簡単。

まずはas day pass byの中のsorttableからsorttable.jsをダウンロードします。

あとは<head>内などでJavaScriptをインポートした上で、<table>のclass属性に"sortable"を付けるだけ。(sorttableでないので注意)


すると、それだけで下の表ように項目名をクリックするとソートしてくれます。

(強いて言えば項目が数字だけでないと文字列としてソートされるのが難点)

CPU名 周波数 FSB コア数 価格
XEON X7460 2660 MHz 1066 MHz 6 326,999円
XEON X5492 3400 MHz 1600 MHz 4 179,999円
Core i7 965 Extreme Edition 3200 MHz - 4 105,769円
Core 2 Quad Q9300 2500 MHz 1333 MHz 4 22,980円
Core 2 Duo E4700 2600 MHz 800 MHz 2 18,179円
Pentium Dual-Core E2160 1800 MHz 800 MHz 2 6,980円


参考記事 - ソートできる表を作成するjavascript「sorttable.js」

Yahoo!ETCカード突然の有料化

パーマリンク 2009/04/15 23:40:14 著者: kumaold メール
カテゴリ: ニュース批評

メールチェックをしていたら普段利用しているYahoo!カードからこんなメールが。

このたびYahoo!カードでは、下記の通り一部の会員の皆様へYahoo! JAPAN ETCカードの年会費をご請求させていただくことになりましたので、お知らせいたします。
(中略)

■年会費をご請求させていただく会員
年会費ご請求月の前年1年間にYahoo!カードを利用して獲得した、利用可能な
Yahoo!ポイントの合計が3,000ポイント未満の会員の方。

■年会費
1,050円(税込み)


従来まで無料だったETCカードが年30万使ってない人からはいきなり年会費を徴収しはじめるとのこと。

1,050円くらいは別にいいにしても、加入時に「永年無料」と言っておきながらその「永年」がわずか1年ほどとか・・・

いつものことながら最初だけ客寄せで無料で、突然値上げを発表するソフトバンクグループのやり方が気に入らなかったので即解約決定!


しかしコールセンターもまたひどすぎる。

ただでさえ話中、さらにオペレータが何分待っても出る気配がない。
しかも平日9-17時だけ受付とか解約防止のためとしかいいようがないなぁ。


とりあえずSBIカードのほうでETCカードの発行手続きをしときましたよ。

本気のクレジットカード選び2009 最強の2枚はこれだ! (洋泉社MOOK)本気のクレジットカード選び2009 最強の2枚はこれだ! (洋泉社MOOK)
洋泉社 2008-12-01
おすすめ平均

Windows Serverでログオンログを見やすく表示

パーマリンク 2009/04/14 22:16:55 著者: kumaold メール
カテゴリ: 仕事, サーバ関係, PHP, WSH/VBScript

Windows Serverでは、システムのログ管理はすべてイベントビューアによる閲覧のみとなっており、保存もバイナリファイルであるため扱いが面倒です。

テキストデータで吐き出させるためのツール類もそれなりにはあるのですが、ログオン/オフのログは1つのフィールドの中に改行交じりのデータで入っているため、1つ1つのレコードを開いて確認しないといけません。


要はログオン/オフ日時、ユーザ名、ログオンID、リモートホストさえ一覧できればいいのに、無駄な情報が多すぎてわかりにくいわけです。

そこで、VBScriptとPHPを使用してログ閲覧ツールを作ってみました。

まず、VBScriptまわりのリファレンスガイドはこちら。

またまたリファレンスがわかりにくいのはいつものことw

[logon.vbs]

'*********************************************
'* Get logon log by Windows EventLog Script  *
'*********************************************
'Usage:
' logon.vbs start_date > output.file
'Command:
' start_date ログ取得開始日(~1週間分)
'            例: 2009/04/01(~2009/04/07)

'コンピュータ名指定(デフォルト.)
strComputer = "." 

'取得期間の指定(デフォルト2009年4月1日)
If WScript.Arguments.Count < 1 Then
    StartDate = "2009/04/01"
Else
    '開始日を引数から取得
    StartDate = WScript.Arguments(0)
End If

Const CONVERT_TO_LOCAL_TIME = True 
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime") 
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime") 
DateToCheck = CDate(StartDate) 
dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME 
dtmEndDate.SetVarDate DateToCheck + 7, CONVERT_TO_LOCAL_TIME

'ログオン(ID.4624)、ログオフ(ID.4634)のみに絞り込み
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _ 
    ("Select * from Win32_NTLogEvent Where Logfile = 'Security' and (EventCode = '4624' or EventCode = '4634') " _ 
        & "and TimeWritten >= '" & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'")
For Each objEvent in colLoggedEvents
    Wscript.Echo "Record Number: " & objEvent.RecordNumber
    dtmEventDate = objEvent.TimeWritten
    strTimeWritten = WMIDateStringToDate(dtmEventDate)
    Wscript.Echo "Time Written: " & strTimeWritten
    Wscript.Echo "Message: " & objEvent.Message
Next 

'ログ標準の時刻表記を「y/m/d h:i:s」形式で表示
Function WMIDateStringToDate(dtmEventDate)
    WMIDateStringToDate = CDate(Mid(dtmEventDate, 5, 2) & "/" & _
        Mid(dtmEventDate, 7, 2) & "/" & Left(dtmEventDate, 4) _
            & " " & Mid (dtmEventDate, 9, 2) & ":" & _
                Mid(dtmEventDate, 11, 2) & ":" & Mid(dtmEventDate, _
                    13, 2))
End Function


[logon.php]

<?php
if (!isset($argv[1]) || empty($argv[1])) {
    die("引数にログファイル名が指定されていません\n");
} else {
    $path = $argv[1];
}
if (!file_exists($path)) {
    die("ログファイルが存在しません\n");
}

if (isset($argv[2])) {
    $filter = $argv[2];
}

$logfile = file($path, FILE_IGNORE_NEW_LINES);
// 各ログの開始行を取得
foreach ($logfile as $key => $row) {
    // ログを整形
    $logfile[$key] = str_replace("\t", "", trim($row));
    if (preg_match("/Record Number/", $row)) {
        $logs[] = $key;
    }
}
unset($key, $row);
// 最終行の位置を配列の最後に登録
$logs[] = count($logfile);

// 各ログの先頭~次のログの先頭前までループ
for ($i = 0; $i < count($logs) - 1; $i++) {
    // UTC→JSTの時刻変換を行う
    preg_match("/Time Written: ([0-9\/: ]+)/", $logfile[$logs[$i] + 1], $match);
    $datetime = date("Y/m/d H:i:s", strtotime($match[1]) + 3600 * 9);
    preg_match("/Message: (.+)/", $logfile[$logs[$i] + 2], $match);
    $type = $match[1];
    $ipaddr = '';
    $username = '';
    $logon_id = '';
    for ($r = $logs[$i]; $r < $logs[$i + 1]; $r++) {
        $row = $logfile[$r];
        if (preg_match('/ログオ[ンフ]/', $type)) {
            if (preg_match("/アドレス:([0-9.-]+)/", $row, $match)) {
                $ipaddr = $match[1];
            }
            if (preg_match("/アカウント名:([a-zA-Z0-9_\-_]+)/", $row, $match)) {
                $username = $match[1];
            }
            if (preg_match("/ログオン ID:(0x[0-9a-f]{4,})/", $row, $match)) {
                $logon_id = $match[1];
            }
        }
    }
    // フィルタリングユーザ名に合致した行のみ表示
    if (!isset($filter) || isset($filter) && $username == $filter) {
        echo sprintf("%s %10s %-15s %-15s %s\n", $datetime, $logon_id, $username, $ipaddr, $type);
    }
}
?>


使い方は、まず日付を指定して1週間分のログをテキストに書き出します。

CScript //NoLogo logon.vbs 2009/04/06 > logon.log

それをphp側の整形表示スクリプトに渡します。
phpのパスはあらかじめ通しておき、各ファイルは同一階層に置いときます。

(本来はパイプで渡すべきですが、Windowsだと色々面倒なので)

php logon.php logon.log

これで、あれだけ見づらかったログがこんなに分かりやすく表示できます。

2009/04/06 00:18:53            SYSTEM          -               アカウントが正常にログオンしました。
2009/04/06 18:39:08            SYSTEM          -               アカウントが正常にログオンしました。
2009/04/07 11:59:03   0x3fb874 IIS_USER        -               アカウントが正常にログオンしました。
2009/04/07 12:25:07   0x3fb874 IIS_USER                        アカウントがログオフしました。
2009/04/07 15:26:49            SYSTEM          -               アカウントが正常にログオンしました。
2009/04/08 10:30:08   0x455ce6 IIS_USER        -               アカウントが正常にログオンしました。
2009/04/08 10:30:08   0x455ed9 IIS_USER        -               アカウントが正常にログオンしました。
2009/04/08 10:51:08   0x455ed9 IIS_USER                        アカウントがログオフしました。
2009/04/08 10:51:12   0x455ce6 IIS_USER                        アカウントがログオフしました。
2009/04/08 13:07:35            SYSTEM          -               アカウントが正常にログオンしました。
2009/04/09 08:07:10            SYSTEM          -               アカウントが正常にログオンしました。
2009/04/09 11:25:11   0x4b9ed4 IIS_USER        -               アカウントが正常にログオンしました。
2009/04/09 11:25:11   0x4ba0b8 IIS_USER        -               アカウントが正常にログオンしました。
2009/04/09 11:41:32   0x4bc4b2 Administrator   123.45.67.89    アカウントが正常にログオンしました。
2009/04/09 11:43:02   0x4bc4b2 Administrator                   アカウントがログオフしました。
2009/04/09 11:52:38   0x4e0a01 Administrator   111.222.333.44  アカウントが正常にログオンしました。
2009/04/09 11:54:09   0x4e0a01 Administrator                   アカウントがログオフしました。

さらにユーザ名によるフィルタリング機能も実装。

logon.phpの第2引数に表示したいユーザ名を指定すると絞り込みできます。

そのままでは表示されてしまう匿名ユーザ認証(IIS, WMSなど)によるログオンもこれで排除でき、アクセスログ管理に役立ちます。

2009/04/09 11:41:32   0x4bc4b2 Administrator   123.45.67.89    アカウントが正常にログオンしました。
2009/04/09 11:43:02   0x4bc4b2 Administrator                   アカウントがログオフしました。
2009/04/09 11:52:38   0x4e0a01 Administrator   111.222.333.44  アカウントが正常にログオンしました。
2009/04/09 11:54:09   0x4e0a01 Administrator                   アカウントがログオフしました。
2009/04/10 15:59:30   0x61e4c3 Administrator   55.66.77.88     アカウントが正常にログオンしました。
2009/04/10 16:01:00   0x61e4c3 Administrator                   アカウントがログオフしました。

これらのファイルをまとめときましたので、使いたい方はどうぞ。
おそらくWindows Server 2008環境でしかうまく動かないと思われます。

Windows_logon_log.zip


ひと目でわかるMicrosoft Windows Server 2008 (マイクロソフト公式解説書) (マイクロソフト公式解説書)ひと目でわかるMicrosoft Windows Server 2008 (マイクロソフト公式解説書) (マイクロソフト公式解説書)
天野 司

Let's noteのACアダプタ修理

パーマリンク 2009/04/12 20:14:43 著者: kumaold メール
カテゴリ: デジタルモノ, メインPC

どうも最近Let's noteでACアダプタを繋いでもバッテリ残量警告が出たままになったりと、電源周りの不調で悩んでいました。

先日テスターで電圧を測ったところ、ACアダプタのPC側(定格DC16V)で電圧が掛かっていないことが判明し、よくみたら配線がむき出しで短絡してました。


仕方ないので買い換えようとCF-W4用のACアダプタ「CF-AA1625AJS」を探したところ、定価10,500円・売値3,000円~というのが相場とか・・・

ACアダプタ如きに数千円も使うのも馬鹿馬鹿しいので、短絡部分だけを切断して繋ぎなおせば直ると判断し、自分で修理しました。


※以下の作業は完全に電源を抜いた状態で自己責任で行ってください

まずは被覆が割れて配線がショートしていそうな部分を完全に切断。
トランス(変圧器)の箱部分の付け根はカッターナイフで削り落としちゃいます。

半田付けをするために双方の被覆を数ミリほど剥がします。

半田付けの際には配線が太く熱が逃げやすいので、あらかじめ半田メッキを施しておいた上で+、-同士をそれぞれの結線します。

この状態で端子からDC16Vの出力が確認できたので、原因は解決したようです。

あとは短絡のないようにしっかりビニールテープで絶縁処理をした上で、念のため無理な力が加わらないように固定すれば完璧です。


これで高いACアダプタをわざわざ買う必要もなくなったのでよかったです。

初心者マーク卒業

パーマリンク 2009/04/09 23:35:00 著者: kumaold メール
カテゴリ: 日々の生活


ちょうど免許を取って昨日で1年となりました。

なんとか何事もなく無事故無違反でやってこれ、初心者マークから卒業することができました。


結局アレから免許フルビットの夢を抱きつつも教習所に通う暇がなく1年が経過してしまいました。

今年こそは3日で取れる大型特殊or4日のAT限定小型二輪でも受けようかと。


 

大型特殊第一種・第二種免許―合格の基本と秘訣大型特殊第一種・第二種免許―合格の基本と秘訣
木村 育雄
企業開発センター交通問題研究室 2002-03
おすすめ平均

入社して丸1年。

パーマリンク 2009/04/01 23:40:54 著者: kumaold メール
カテゴリ: 仕事

@疲労で眠くて仕方なかったので、3日に投稿


今日でちょうどかしもソフトウェアに入社して丸1年になります。

で、今日一六社にて目の前で今年の新入社員を迎えているわけですよ。

思ってみれば1年もかなりあっという間で、毎日忙しい日々を送っていると去年までの学生時代と比べ1週間がかなり短く感じられました。


まだ一人前ではないにしても、やっと自分で何をどうすべきかという業務の方向性を自主的に見つけられるまでにはなってきたと思います。

ただ、まだ作業スピードの面であまり効率がいいとはいえないような状態なので、今年度はもう少し迅速に仕事を片付けていきたいです。


あと、色々やろうとして結局先延ばしにしてしまったことがあるので、今年こそはこの辺を一通り片付けたいです。

  • 応用情報技術者試験合格(旧ソフトウェア開発技術者, 情報1種)
     平成21年度春季試験申し込みし忘れたorz
  • ブログのデザインリニューアル
  • 自宅鯖をWindows Server 2003からWindows Server 2008へ移行
  • 手元の同人誌管理システムの構築(夏コミまでに)
  • 駅情報・入場券管理システムの構築(今年中?)


まあ詳細についてはそのうち紹介します。

入社3年目までに勝負がつく77の法則 (PHP文庫)入社3年目までに勝負がつく77の法則 (PHP文庫)
中谷 彰宏
PHP研究所 1998-03

おすすめ平均

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2009年4月
 << < 現在> >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

検索

XMLフィード

16ブログ     blogging tool