技術メモ

http_build_queryとか

PHPで簡単にURLのGETパラメータを作成する方法 標準関数のhttp_build_query()を使うと、URLのGETパラメータ(クエリーストリング)を簡単に作れる。 知らなかった、便利そう。 あと、こちらも。 とても簡単にPHPからPOSTリクエストを送信する方法 関数 file_…

mysqlのWITH ROLLUP修飾子とか

知らなかった。 11.11.2. GROUP BY 修飾子 GROUP BY 句は、 要約出力に行を追加する WITH ROLLUP 修飾子を許可します。これらの行は、高レベル ( または超集約 ) の要約演算を表します。したがって ROLLUP は、複数レベルでの解析で質問に単一クエリで答える…

192.0.2.0/24とか

例として推奨されているドメイン名とIPアドレス 192.0.2.0/24って、IPアドレスは知らなかった。

"$instance = new self;" とか

自分用覚書。 第2回設計勉強会に参加してきた [php] public static function bindHermitDataSource(sfDatabaseManager $manager){ $instance = new self; $instance->dbManager = $manager; HermitDataSourceManager::setCallback(array( $instance, 'getCon…

DBのカラムの話とか

外部テーブル、enum、varcharとかにコメントをいただいたので続き。 なんかだいぶ後付けなんですけどね、参考程度。 結局、CBC(ケースバイケース)な訳ですが、ここ2年ばかり、「初期開発時には最低限の機能だけで、要求の殆どは運用中に発現する」といっ…

concrete5とか

concrete5 怖くなるくらい優秀なCMSらしい「concrete5」を試してみた。日本語つかえたよ。 表示するところとかは日本語使えるのだけど、入力フォームの項目名で化けました。。。

codereposで移動とか

mysqlの拡張関数系をC言語から移動した。 my_cmd my_hindex my_percentile

外部テーブル、enum、varcharとか

どうでもよい話。 ってか、だいぶダメなことを書いている気もする。 例えば、あるテーブルで状態(status)を扱うとして、"sleep"、"runnning"、"ready"の3つの状態をがある場合、以下の3パターンが考えられる。 1. 外部テーブルとして マスタstatus を準備…

ドメインモデルとか

ふと、 LINQ to SQL と Entity Frameworkの今後 証券業務など複雑な金融計算を必要とするならともかく、 日本の業務系案件の殆ど多くはトランザクションスクリプトで十分、 ドメインモデルは重厚すぎる、 と喝破した文章をどこかで見た気がする。 まぁそんだ…

pecl.php.netとか

pecl.php.netって説明するまでもなく、PHP拡張ライブラリのリポジトリなわけですが、 個人的に使ってみたいライブラリが幾つかあります。 ・ffi FFIというライブラリを利用して、C言語などのライブラリの関数を呼び出すことができる。 ・threads スレッドが…

テストのパターンとか

自分用覚え書き。 ユニットテストとかのパターン(デザインパターンみたいなやつ)ってないのかなと思ったりしたのですが、 なんかそれっぽいやつ。 Unit Test Patterns Advanced Unit Test, Part V - Unit Test Patterns あとアンチパターンも。 JUnit Anti…

PHPの設計勉強会とか

PHPの第2回設計勉強会行って帰ってきました。 面白かった!! とりあえず誰かが概要をまとめてくれると思うので、詳しく書きません。 ってか、だいぶおねむな感じなので。 印象だけ。 1.ZendFramework 2.レイヤパターン 3.プロジェクトの掟重要 4.テストテスト…

携帯のセッションハイジャックとか

携帯サイトでセッションIDをURLで引き回す構成だと、 リファラからURLが漏洩して、それがセッションハイジャックのネタになるってのがあったりします。 セッション機能を利用する携帯サイトでSSLも使っている場合、 他サイトの画像(広告とか)を掲載しなけ…

昔のWEB+DB PRSS があったとか

溜まっていた本とか雑誌を整理していると、 WEB+DB PRESS の Vol.15、16 が出てきました。 内容としては、 VOl.15 (2003年春ぐらいの発売) 特集1. Apache/Tomcat/サーバサイドJavaで実装するWebアプリケーションの認証 特集2.脱初心者!PostgreSQLチュート…

ORマッパーとか

RDBが扱いづらい問題はO/Rマッパーで解決できる? 思考ログということで過程の文章なのでしょうが。 スキーマを事前に定義しておかないといけない 運用中の案件においては、これはあまり意識したことがないなぁ。 確かにオブジェクトに比較するとスキーマ定…

openpearとか

オープンなPEARチャンネルサーバ openpear.org とりあえず参加した!

PEARのMDB2_TableBrowserとか

MDB2_TableBrowser DBのテーブル操作の為のクラスらしいよ。 使い方としてはこんな感じで。 [php] setFetchMode(MDB2_FETCHMODE_ASSOC); $dbh->loadModule('TableBrowser'); $tb = $dbh->tableBrowserFactory('users', 'id'); $data = array( array('Yam…

php_ffiとか

http://pecl.php.net/package/ffi ffiってのは要するにPHPからもWindowsやLinuxのAPIを叩けるというものだが、 PHP5.3 ぐらいだととりあえずコンパイルが通らない。 どうしたものか なお、zend_objects_store_put でエラーが出るっぽいのだが、 ZendEngineの…

プラグインとか

プラグイン機構のあるソフトウェアは初心者を育てる なるほど。 とりあえずWordPressのプラグイン機構は分かりやすくて結構好き。 作成者などのメタデータはコメント欄に書くようになっていて、action や filter への登録もプラグイン側で行う仕組みになって…

業務系のUIとか

最近シリアスな業務系にあまり関わっていないということもあり、 全くもって偏見でしかないのだが、 こういう色合いやレイアウトの業務系UIって多い気がする。 http://labs0000.jp/app/ 逆に敢えてこういうテイストのUI作ったほうがクライアントの信頼がある…

ものすごくセンスがないとか

バックスラッシュはないと思う。 PHP 5.3の名前空間仕様が変更されました 名前空間のセパレータは「\」で決定?

smartyとかescapeとかemptyとか

だいぶ周回遅れで対応 {{$name|escape}}とかやっぱりめんどうだし。 Smartyのデリミタ、あと escape Smartyのデリミタとescape sfSmartyViewPluginあれこれ ただ、default_modifers 利用すると テンプレートで empty が使えなくなるっぽいのよね。 うまく動…

PHPのテストとか

ユニットテストの書き方とか をもやもやと考えいたら、色々と参考になりそうな記事見つかった。 超便利かもしれない設定保存用のクラス ライブラリが直接実行された場合はプログラムとして実行する PHPファイル内にサンプルのみならずドキュメント埋め込む …

Quictyとか

簡単かつ素早くWebアプリを構築できるPHPフレームワーク「Quicty」 Smarty + HTML_QuickForm なフレームワーク。 Quictyの特徴 ページング、パンくず(パスリスト)、ページキャッシュと部分評価、ユーザー認証、メールの非同期送信、データの重複チェックな…

画像処理ツールG'MICとか

G'MIC(GREYC's Magic Image Converter)らしい。 GMICを使用して水面に映りこんだような画像を作成する G'MIC MacOSX版もあったのだが、ImageMatgickがインストールされてなくて当初動作しなかった。 sudo port install ImageMagick で、色々とオプションやら…

Objective-Cとか

CocoaとかObjective-Cとか勉強中。 にしても、 MacについてくるXcode、Interface Builderって知らなかったけど、 IDEとしてはよさげな雰囲気。 開発者にやさしい環境なのかな。 他にもCocoa用のIDEってあるのかしら。 ところで、 Objective-Cは特殊な言語? …

ユニットテストの書き方とか

ユニットテストと言いますか、クラスの為の検証コードって、 同じソースファイルにマクロっぽく書けないかねぇ、 とは思った。 一例だけど、 [php] say(1), true); test end [/php] ってな感じで#test ブロックにテスト処理を記述できて、 php --test hoge.p…

アルゴリズムと配置とか

アルゴリズムの美しさを追求するプログラマが存在する一方で、 業務系プログラマは配置の美しさを追求しているのではないかと思う。 美しい配置とは何か? シンプルであり、見通しがよく、それでいて、変更に対して柔軟であること。 多くのフレームワークの…

PEARのCrypt_CBCとか

PEARにCrypt_CBCという暗号化(復号化)のパッケージがいつの間にかあった。 PerlのCrypt::CBCを移植したものらしい。 CentOSだと、 php -y install php-mcrypt pear install Crypt_CBC でインストール。 サンプルコード [php] encrypt($str) ; echo '[' . $…

CakePHPのDB分割とか

CakePHPで超簡単スケーラビリティ [php] useDbConfig = 'master'; return true; } function afterSave() { $this->useDbConfig = 'default'; return true; } function beforeDelete() { $this->useDbConfig = 'master'; return true; } function afterDelete…