Home > アーカイブ > 2006-09

2006-09

PHPで1から100を表示

  • 2006-09-29 (金)
  • PHP
この記事の所要時間: 129

PHPで1から100の数字を表示するコードをスマートに書くネタがGANCHIKU.comで紹介されていました。

他のPHPerな方だったら、どんな書き方するかなー。

会社で楽しかった瞬間。 at GANCHIKU.com (2006-09-29)

との事なので反応してみました。(ちなみに元ネタは人力検索はてな-PHPのコードを教えてください。…

まずぱっと思いついたコードがこちら

< ?php
echo "<table>";
for ($i = 0 ; $i < 10 ; $i++) {
  echo "<tr>";
  for ($j = 0 ; $j < 10 ; $j++) {
    printf("<td>%d< /td>", $i * 10 + $j + 1);
  }
  echo "< /tr>";
}
echo "< /table>";
?>

まあ何の変哲もないコードです。ただ誰が見ても分かりやすいと思います。

で、エントリのワンライナーがかっこ良かったのでインスパイアwして書いたのがこちら

$ php -r 'foreach (range(0,9) as $v1) { foreach (range(1,10) as $v2) { printf("%02d ", $v1*10+$v2); } echo "\n"; }'

あんま変わってないです。。。

しかしPHPにはいろいろな配列関数がありますね。range()とかarray_chunk()とかは今回のエントリを見るまで知りませんでした。(array_chunk()は同じようなのを以前に自作した覚えがあったり。)

CakePHP array-based Active Record

この記事の所要時間: 138

NYPHPにて行われたCakePHPプレゼンのレビュー記事です。

Last night at the monthly NYPHP meeting, Nate Abele presented an introduction to CakePHP, a web application framework.

Chris Shiflett: CakePHP Visits New York (2006-09-28)

CakePHPの特徴が簡潔に書かれていて興味深い内容なのですが、以下の一文にピクッときました。

Cake has an array-based Active Record implementation.

私が初めてCakePHPを触った時に感じた印象(違和感)がまさにこれでした。うーん、ぴったりの表現です。

Cakeを初めて触る方はこれを頭にいれておけばすんなり入れるかと思います。

 

エントリのコメントを見るとプレゼンを行ったnateからこの件についてコメントがありました。

(1) The reason we decided to go with an array-based approach to ActiveRecord had to do with PHP4, but it also has a lot to do with the fact that even in PHP5, the array support, (i.e. all the great things you can do with arrays really simply) still outweigh PHP’s ability to manipulate objects.

配列ならシンプルだし、オブジェクトより速いでしょ。という事ですね。まあこれはこれでアリですね。

PHP4.2系でPEAR::Mail_mimeDecodeを使う

  • 2006-09-27 (水)
  • PHP
この記事の所要時間: 145

PEAR::Mail_mimeDecodeは送信されたメールをパースするクラスなのですが、PHP4.2系環境だと以下のようなNoticeが出てしまいます。

PHP Notice:  Use of undefined constant __CLASS__ - assumed '__CLASS__' in /usr/local/lib/php/pear/Mail/mimeDecode.php on line 178

これはMail_mimeDecode#decode内で__CLASS__を使用しているために発生します。(__CLASS__は4.3.0からサポート

アドホックな方法ですがPHP4.2系環境では__CLASS__を以下のように書き換えればokです。

        // determine if this method has been called statically
        //$isStatic = !(isset($this) && get_class($this) == __CLASS__);
        $isStatic = !(isset($this) && get_class($this) == strtolower('Mail_mimeDecode'));

 

2006/10/05追加:
考えてみれば__CLASS__を定義しておけば良いですね。(そういえば前にis_a()で同じような事をしてました。。。)

< ?php
if (!defined('__CLASS__')) {
  // メソッド内に書くなら
  define('__CLASS__', get_class($this));
  // それ以外なら
  define('__CLASS__', strtolower('Mail_mimeDecode'));
}
?>

1チップMSX

この記事の所要時間: 118

1チップMSXが売りだされるそうです。

D4エンタープライズは27日、MSX2相当の環境を手のひらサイズで再現する「1chipMSX」の生産を決定、事前登録していた顧客宛に優先販売の案内を開始した。

21世紀に甦るMSX伝説 -1チップMSXの優先販売、27日午後3時から受付開始 (MYCOMジャーナル) (2006-09-27)

MSX懐かしいですね。

中学生の頃に初めて買ったPCがPanasonicのMSX2機でした。(MSXハードウェアデータベースを見るとおそらくFS-A1F)当初はゲームマシンと化していたのですが、雑誌のサンプルプログラムを入力したのをきっかけにどんどんプログラムの世界にはまっていきました。頭で考えている事をプログラムで実現できるという事は快感でしたね。

Basic+Z80アセンブラで作ったゲームを雑誌に投稿したりもしました。(掲載された号はまだ実家にあったりします。。。)Z80アセンブラを使ってのプログラミングは直接ハードウェアを叩く感覚があり、とても楽しいものでした。今は上位レイヤで開発をしていますけど、あの頃の経験はプログラミングの基礎として生きていると思います。

その頃の経験があるせいかソフトウェアエンジニア(技術者)と聞くとそのあたりのレイヤで開発をしている人を指すような気がして、ちょっと自分は違うかなーという感覚があったりします。

また機会があれば触れてみたい世界です。

 

■参考リンク
MSXアソシエーション

Movable TypeにXSSの脆弱性

この記事の所要時間: 032

Movable Typeにセキュリティホールが見つかったようです。

脆弱性が存在するMovable Typeのバージョンは3.3、3.31、3.32。また、Movable Type Enterpriseのバージョン1.01および1.02にも同様の脆弱性が確認されている。

「Movable Type」にセッションハイジャックの危険性–最新版にバージョンアップを – CNET Japan (2006-09-27)

JVN#68295640にも情報があります。

当該バージョンを使用されている方はバージョンアップを。

Ajaxと組み合わせる言語

  • 2006-09-26 (火)
  • PHP
この記事の所要時間: 023

Ajaxと組み合わせる言語1位はPHPだそうです。

言語ではPHPがもっとも人気が高く、次いでJavaとなっている。

もっとも人気のあるAJAX言語は? フレームワークは? (MYCOMジャーナル) (2006-09-26)

今時のサイトではAjax+PHPがトレンドなのでしょうか。PerlやRoR・ColdFusionなどを抑えて、Javaが2位というのが意外な気がしました。

MINI KEYBOARD III – R

この記事の所要時間: 122

MINI KEYBOARD III

キーボードをMINI KEYBOARD III – Rにしました。それまでHHKB Lite2+ワイヤレスマウスという組み合わせだったのですが細かな不満点があったので変えました。やはりポインテングデバイス一体型は使いやすいですね。

実は以前もこのキーボードを使用してたんです。特に不満も無かったのですが、コーヒーをかけて壊してしまいました。新たなキーボードを注文しようとしたのですが、納期が1ヶ月待ちだったので代用としてHHKB Lite2を使うようになりました。ファンクションキーが無くてちょっとギークっぽい?とはじめは楽しんでたのですが、やはりWin環境ではファンクションキーをわりと使うのでいささか不便な思いをしていました。

決定的になったのはマウスの方です。操作の際にキーボードから手が離れるのがイヤというものありますが、これの充電器がいまいちで充電切れ(赤ランプが点滅する)のマウスを充電器に置いても反応なし。いろいろな置き方を数回やってようやく充電が始まるというのがうっとおしくてたまりませんでした。

そんな思いをしていた時にふとMINI KEYBOARDを思い出し、購入に至ったわけです。

まだ使い出したばかりですが、打刻感は普段ノートを使ってる事もあり抵抗無いですし、何よりポインテングデバイスが付いているのが便利ですね。(まあまだマウスカーソルを動かそうとするとついつい手がキーボードを離れてマウスを探してしまいますが。)

またいつコーヒーをかけるかもしれないので、スペアを買って置いた方が良さそうです。;-)

point

ポッチが2種類になっていました。

よく使うコマンドは?

  • 2006-09-24 (日)
  • unix
この記事の所要時間: 131

普段良く使うコマンドって何でしょうか?

history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -r

Review your most oft-used UNIX commands – Lifehacker (2006-09-23)

ローカルサーバで実行したところ以下のような感じでした。

$ history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -r
    168 cd
    140 ls
    109 exit
    105 sudo
     90 vi
     65 dig
     49 php
     47 psql
     22 cat
     16 mv
     14 make
     14 ./configure
     13 su
     11 svn
     11 rm
     11 cp
      9 find
      7 top
      7 ab
      6 tar
      6 tail
      6 mkpasswd
      6 /home/xxx/php5/bin/php
      5 gdb

エントリでは上位のコマンドについてエイリアスを作る事によりキー入力を少なくできるのでは、というTipsが書かれていました。

さらにエントリの元ネタ(UNIX productivity tips)では他にも色々なTipsが紹介されています。

CakePHP1.1.8.3544への移行

この記事の所要時間: 038

既にCakePHP1.1.7.3363で動作しているシステムをCakePHP1.1.8.3544にアップグレードする方法です。

  • 念のため既存のソースを全てバックアップ
  • 1.1.8.3544のcake/を既存のcake/にコピー
  • 1.1.8.3544のapp/webroot/css.php,app/webroot/js/vendors.phpを既存のディレクトリにコピー

フレームワークを変更している場合は別途修正が必要になりますのでご注意を。

ちなみに以前このサイトで公開したパッチは1.1.8.3544でもそのまま使用できます。もしご利用の方は1.1.8.3544にアップグレード後、パッチを当ててください。

MotoGP#14 フィリップアイランド

この記事の所要時間: 223

さて3週連戦の2戦目、やってきましたフィリップアイランド。今年は例年より開催時期が早いので寒いようです。

125cc

バウティスタぶっちぎり勝利で3戦を残してチャンピオン獲得!!とにかく今年は速かった。文句なしのチャンピオンです。

    [小ネタ]

  • また赤旗。コースオフ->コースインの衝突はヤバいね。
  • 小山スタートダッシュ。だが後続に沈む。
  • バウティスタ国旗からまる。(笑)
  • カリオはランキング2位キープに注力する模様。(当たり前か)

250cc

ロレンゾ、ドビィ、デ、青山兄の4台でのトップ争いを制したのはやはりロレンゾ。デはラストラップのゴール直前にロレンゾのスリップから抜け出そうとしたが届かず、また2位。勝てそうでほんと勝てないね。。。バイク+ライダーが速いのにここまで勝てないのも珍しい。青山兄はドビを離して3位表彰台。

    [小ネタ]

  • ドビィ鬼ブレーキング!さすがゼッケン34。もうちょいパワーを。
  • 裕紀マシントラブル・・・。
  • PIのラストラップのゴール前はスリップの使い合いでいつも手に汗握る。そしていつも2000年の中野vsジャックを思い出す。。。

MotoGP

中野がフロントローから会心のスタート。トップで1コーナーに入ったかと思うと後続をどんどん引き離していく。雨がぱらつく中、数周であっという間に5秒の差を付けた。トップを快走するライムグリーンのZX-RRをドキドキ(本当に心臓がどきどきした)しながら見ていた。

ところが雨が強くなりMotoGP初の全車がピットインしてスペアバイクへ乗り換える。このどたばたで中野はペースを落とし後続へ沈んでいってしまった。。。

けっきょく勝ったのはメランドリ。2位はMotoGP初表彰台のバーミューレン。3位は最後の最後でセテを抜いたロッシでした。

    [小ネタ]

  • G+に岡田が来た。
  • スタート前にガードナーが中野のところに来てた。
  • 女レポーターの肩に漢字が。(「使」?)
  • ニッキーのメットシールドは曇り止め用?
  • エドついにノーポイント!!
  • G+アナ興奮してしゃべりすぎ。なぜかケーシーとバーミューレンを間違えまくる。
  • ニッキーがケーシーを抜く。岡田「よしっ」
  • ラップ表示テロップはタイム差が分になるとGAPの文字とかぶる
  • ロッシ黄旗追い越しは?
  • 忘れた頃にメランドリ

さすがフィリップアイランドでしたね。やはり見応えがあるレースになりました。惜しむらくはMotoGPクラスもドライで見たかったです。250ccとMotoGPはまだまだタイトル争いが混沌としていますので目が離せないですね。

次戦はいよいよ日本もてぎです。MotoGPクラスは地上波で生放送(9/24[日] 14:00~ 日テレ系列)するので普段見れない方も是非!!

Home > アーカイブ > 2006-09

検索
フィード
メタ情報

Return to page top