眠る開発屋blog ある開発屋の雑感。日々勉強。

2008/12/29 月曜日

PHPでのシングルトンパターンとか

Filed under: 技術メモ — タグ: — dev0000 @ 21:39:54

PHPでのシングルトンパターン

[php]
おお。シンプル。

2008/12/24 水曜日

php初心者勉強会とか

Filed under: 技術メモ — タグ: — dev0000 @ 14:33:38

こんなのやってたんだね

php初心者勉強会

2008/12/21 日曜日

100万円になるまで足しこむとか

Filed under: 技術メモ — タグ: , — dev0000 @ 21:53:57

ふと目についたので。
プレゼントの抽選をするプログラムをrubyで書いてみた。

えと、応募する人はカラメルから、GMOとくとくポイントで買える、何でも好きな商品を選んでもらえば、当選で、その分のポイントをプレゼントするというものなので、総額100万円になるまで抽選した応募情報を足しこんでいくプログラム。

Ruby はよく分からないんだけど、とりあえず条件を達成(max > 1000000)した時点でループを抜けるようにしてもいいんじゃないかな、とか。

あと、自分だったらという話だけど、
ファイルに書き込む必要はなくて、標準出力の内容を適当なファイルにリダイレクトさせるかも。

[php]
1000000) {
break;
}
echo $row . “\n”;
}[/php]

件数が少なければ Excel でやってしまうかも。
ランダムな並べ替え-RAND関数
SUM は選択したセルの集計値が右下のステータスバーに出てくるので、
適当な行まで選べばいいし。

第38回PHP勉強会とか

Filed under: 技術メモ — タグ: — dev0000 @ 15:04:45

第38回PHP勉強会@関東参加してきました。

感想。

今回は珍しく定員が埋まりませんでしたね。
年末だからかな。

で、

最初のIEの話は遅刻してしまったので、よく分からず。

ZendFramework の話が2つ。
ZendFramework って どっちかと言えばライブラリ集なのですね。
ZendLibrary とかのほうがいいじゃん、と思ったり。
ただ、ライブラリならばライブラリとして、どうしてもPEARと対比させて考えてしまったり、じゃあPEARではなくZendFrameworkを採用する理由は何か?というのがもやもや。
よりPHP5ライクな作りってことらしいけど、ただ、依存関係を解決するようなコマンドなりツールがないのは少しツラい気がする。
情報はあるらしいのだけどね、PEAR がそのへんまで解決してくれるのはやっぱり嬉しい。

rhaco 頑張ってるなぁ、とか。
ってか、selenium は使っておけってことか。

PHPの全バージョンを揃えるのはネタかと思ったが、strtotime の挙動の違いはどうもね。
「第3木曜日」とか週がからむものはやばげな雰囲気。気をつけたほうがいいのか。
すると2月の処理も違ってくるのか。いやまさか。
strtotime の挙動とか

MVCの話。
Smartyはいい。使っているし。プラグインの追加がラクだし。
Model と View を対比させていたのは興味深い。
ただ、Model は DBなどストレージへ投げる処理こそが命で、だからSQLというDSLを必要としているのだが、
View は ブラウザ(とかXMLとか)に投げる応答が命で、・・・まぁ統一的な手法はないわな。
あと、ひとつの出力をHTMLとかXMLとかJSONとかに色んなフォーマットで使いまわせるってのはViewの抽象度を上げていくことで達成すべき、って話もよくあるが、
実際問題、API出力の開発ならまだ理解できるが、通常のブラウザ・・・、HTMLインターフェイスを戻す必要がある場合、色んなフォーマットで出力する用途がどれくらいあるのか?
ひとつのロジックで多彩なフォーマットが必要とされる場合、そもそもロジック自体はあまり複雑なことをしていない。
結局そのロジック自体にはプログラミングというか思考的作業はあまり発生していない気がする。

あと個人的にはSmarty で DB に参照するプラグインとか使ってたりするから、それがなんとも。

NYの話もあったけど、NYのPHPコミュニティは参加者の年齢層が幅広いとかそれはやっぱりアメリカだからか。
日本だと40代、50代ぐらいになると現場を離れたりとか「いまさらコミュニティ?」って空気なのだろうかね。

今年のまとめだけど、「¥マーク」いっぱいの画面が表示されたとき、「サブプライムネタ?」と思ってしまった。
でもNamespaceに「¥マーク」はないよなぁ。。。多数決とったらしいけど。うーん。

それからαが人気だってことがよく分かりました。

ともあれ、楽しい勉強会でした。皆様お疲れ様、という感じです。

2008/11/30 日曜日

imagegrabwindowとか

Filed under: 技術メモ — タグ: , — dev0000 @ 1:56:09

Windows限定なのですが、PHP5.2.2以降でこういう関数が使えるらしい。

画面全体をキャプチャする。
imagegrabscreen

ウインドウをキャプチャする。
imagegrabwindow

IEのキャプチャのコードが載ってました。
試してないけど、コード自体は簡単そう。

[php]
HWND;
$browser->Visible = true;
$browser->Navigate(“http://www.libgd.org”);

/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, “iesnap.png”);
imagedestroy($im);
?>[/php]

で、ブラウザをフルスクリーンにするには、

$browser->Fullscreen = true;

だとか。
便利そうだね。

gmp_factとか

Filed under: 技術メモ — タグ: , — dev0000 @ 1:49:06

PHPで階乗を計算する関数。
gmp_fact

[php]
知らなかった。

2008/11/28 金曜日

http_build_queryと配列とか

Filed under: 技術メモ — タグ: , — dev0000 @ 0:58:54

http_build_queryとかの続きっぽいこと。

マニュアルにも書いてあるのですが、http_build_query って配列とかもクエリ文字列に変換できたりする。

[php]
array(1,2,3),
‘c’ => array(
‘d’ => ‘e’,
array(
‘f’ => 1,
)
),
);

// 0=a&b[0]=1&b[1]=2&b[2]=3&c[d]=e&c[0][f]=1
// と表示されます
echo urldecode(http_build_query($tmp)) . “\n”;
[/php]

便利そうだね。

2008/11/18 火曜日

スプライン補間法とか

Filed under: 技術メモ — タグ: , — dev0000 @ 16:42:20

自分用メモ。

ラグランジュの補間法だと、たまに極端な山とかができてしまうので、スプラインにしてみる。

参考にしたのはここ。
補間法(スプライン)

ソースはこんな感じ。今度は線の描画付き。
[php]= 1; $i–) {
$r[$i] = $u[$i] – $g[$i] * $r[$i+1];
}

for ($i=0;$i<$n;$i++) { $q[$i] = (double) ($yy[$i+1] – $yy[$i]) / $h[$i] – $h[$i] * ($r[$i+1] + 2.0 * $r[$i]) / 3.0; $s[$i] = (double) ($r[$i+1] – $r[$i]) / (3.0 * $h[$i]); } return; } function spline($x) { global $xx, $yy, $q, $r, $s; $n = count($xx) – 1; $m = -1; for ($i=1;$i<$n && $m < 0;$i++) { if ($x < $xx[$i]) { $m = $i – 1; } } if ($m < 0) { $m = $n – 1; } $x2 = $x – $xx[$m]; $res = $yy[$m] + $x2 * ($q[$m] + $x2 * ($r[$m] + $s[$m] * $x2)); return $res; }[/php]

ラグランジュの補間法とか

Filed under: 技術メモ — タグ: , — dev0000 @ 14:40:53

自分用メモ。

ラグランジュの補間法ってのを使えば、与えられた点を通る波線を作れるらしい。
このへんを参考に。
数式をプログラムで表現しよう

[php]

2008/11/15 土曜日

http_build_queryとか

Filed under: 技術メモ — タグ: , — dev0000 @ 3:34:37

PHPで簡単にURLのGETパラメータを作成する方法

標準関数のhttp_build_query()を使うと、URLのGETパラメータ(クエリーストリング)を簡単に作れる。

知らなかった、便利そう。

あと、こちらも。
とても簡単にPHPからPOSTリクエストを送信する方法
関数 file_get_contents を利用して、POSTデータを送る方法。

« Newer PostsOlder Posts »

Powered by WordPress