dev

Interface First

RoR で有名な37signals。そこが出していたwebアプリ開発の指南書「Getting Real」が無料公開された(HTML版のみ)。 https://gettingreal.37signals.com/toc.phpいろいろと考えさせれれることがある良いエッセイである。ここでは、Interface Firstのところに…

MinGW での開発環境を整える

MinGW のサイト: http://www.mingw.org/ MinGW は、サードパーティのCランタイムDLLに依存しないネイティブのWindowsプログラムを作成するための「Windows固有ヘッダファイル」「GNUツールセット用ライブラリ群」です。自由に使用・配布することができます…

ビューフレームワーク

dev

ZOGANとかのテンプレートだと、結局、制御できるのはHTMLのところだけなんですが、ビューのデザインの作成と変更ということになると、CSSの方が重要になってくるかと思います。だから、ビュー関連の生産性の向上ということを考えると、テンプレートというシ…

フレームワークのアクセサ

dev

ユーザがアクセスするファイルをひとつ(index.phpとか)にすることを想定しているフレームワークは多い。 ただ、個人的には、ブックマークされうることを考えると、1ユースケースにひとつのアクセサが有るほうが良いのではないだろうかと思う。さらに、ユ…

Graphviz 日本語の入ったPDFをつくりたい

dev

PS形式では上手く日本語の出力ができない。Laten1に文字エンコードが固定されている模様。いじり方もよくわからない。 そこで、SVG形式を利用する。この場合もフォント名の指定が上手く行かないが、font-family:のところをテキストエディタで一括変換する。 …

Graphviz

dev

メモ:日本語フォントの設定方法(WinXP:graphviz-2.2.1.exe) fontname属性にC:\WINDOWS\Fontsにあるフォントファイルの.ttfを取って指定する。しかし、MSゴシックは.ttcなのでどうも使えないみたい。 HG丸ゴシック(HGRSMP.TTF)をとりあえず使うこととする。

PWAF/props

dev

http://sourceforge.jp/projects/pwaf/ なんてのを昔つくろうとしてたんですけどね。もう2年も止まっている。じっと手を見る。mapleのiniファイルを使うという発想、アクションにフィルタを準じ適用していくと言う発想は、参考にできそう。iniファイルを読む…

PHPOOT/zogan

dev

>> kunitさん 属性周りの変更は一応出来ていてCVSには入っているのですが、マニュアルの変更が追いついておりません。日本語版も作らないとねと思っているのですが。ところで、mapleのライセンスって何ですか?サイトに記述がないので。

maple チュートリアルを読んで

dev

maple http://kunit.jp/maple/ 注目はしておるのですが、試せておりません。 そこで、チュートリアルのところだけを読んでの感想です。 webapp/ ディレクトリにコード本体を置くのは良い。 つい、見えるところにコード置いてしまうのだよね。 セッター これ…

汎用のwikiパーサ

dev

「あーありがち」 http://f50.aaa.livedoor.jp/~wtnabe/diary/index.cgi?date=20050324#p01 経由、 「WikiParserクラス」 http://dev.ishinao.net/miniwiki/シンプルな汎用のwikiパーサが開発されつつあるようだ。PEARのtext_wikiもあるが、シンプルな仕様の…

bogoYAML は YAML に改悪を加える

dev

bogoYAMLは、以下で提唱されている、YAMLのサブセットです。 http://shinh.skr.jp/bogoyaml/index.htmlこのパーザをPHPに移植して、僕好みにほげほげしてみました。 ダウンロードは、以下のbogoYAMLのところから。 http://sourceforge.jp/projects/pwaf/

sajax

dev

トダさん教えていただきありがとうございます。 僕が疑問なのは、HTMLにJSを埋め込む形になっているように見えるのですが、これだとロジックとビューの分離はできるのかいなということです。 まことに、残念ながら、詳しく調べる時間がないっす。

 AJAXとかJavaScriptによる動的サイト構築ブーム来る?

dev

で、この場合のJavaScriptによるロジックとHTMLのビューとの分離はどのようになされるのだろうか? たとえば、PHPがバックエンドとすると、PHP, HTML, CSS, JSと4つも管理しないといけませんよ。たいへんですよ。

正規表現中の選択肢の順番

dev

preg_match('/(abc|bcd)/', 'abcd') は、abcにマッチ。 選択肢の順番を代えて、preg_match('/(bcd|abc)/', 'abcd') としても、abcにマッチ。この場合、選択肢の順番は関係なさそうだ。preg_match('/(ab|abc)/', 'abcd')は、abにマッチ。 preg_match('/(abc|a…

コード内ドキュメント

dev

コード内に自動生成できるフォーマットでドキュメントを書くべきなのは賛成です。開発の際に有用だと思うからです。それでも、ライブラリ「ユーザ」には、自動生成した文書 *だけ* を見せるようにするべきだろうという考えです。ソースを見ろというのでは無…

ドキュメント

dev

あと、ドキュメント重要。でもソースに書いてある。 Wiki にも書くけど細かいことは RDoc 読め。が、今どきじゃないのかな。 http://f50.aaa.livedoor.jp/~wtnabe/diary/index.cgi?date=20050223#p02僕は、ライブラリは、ユーザに、たとえコメントを読ませる…

coLinux

dev

なんかphpdocのビルドが上手くいかないので、手元のwinマシンにcoLinuxを入れてみる。 参考 http://scratchpad.fc2web.com/colinux/install/index.html http://buxus.s31.xrea.com/pukiwiki/pukiwiki.php?coLinuxインストールに当たっての注意点 WinPCapは不…

より良いCMSを作る

dev

http://www.yamdas.org/column/technique/bettercmsj.html yomoyomo氏によるJeffrey Veen による Making A Better CMS の日本語訳。 同感な意見ばかりである。「どうして「コラム」のあるウェブサイトに固執するの?」なんてのは僕も同感ですね。2コラムま…

プログラムのわからないデザイナと協同するなら

dev

デザイナにHTMLを触らせるといかんと思う。CSSだけを触らせろ。

引数のエラー処理 3

引数のエラー処理をしないといっても、たとえば、 function doSome($element) { return $this->_elements[$element]->doSome(); } なんてコードの場合、未定義のelement名を渡すと、非オブジェクトに対しメソッドコールしているので、止まってしまう。これが…

引数エラーの処理 その2

前回引数のエラーチェックは無しの方向でと言ったが、データベースを扱うクラスなどでは、データをミスで書き換えた場合のダメージが大きくなるのも事実。 そこでやっぱり、データの書き込みの発生するメソッドに対しては、最低限のエラーチェックはしたい。…

関数の入力パラメータのチェック

クラスを書いていていつも悩むのが、 関数の入力パラメータのチェックをするかどうかだ。 いちいち書いたり、書かなかったりしているのがこれまでで、何かすっきりしていなかった。 完全にチェックするのはコードが無駄に多くなるし、遅くなるし、でも異常値…

XHTML+CSS 時代の画面レイアウト

dev

その昔は、tableタグを使って画面レイアウトをしていたものだが、CSSを使うともっとスマートにレイアウトができる。 とは言っても、tableタグもそうだが、自由自在な画面レイアウトができるわけではないのではないか。たとえば、 <div id="a">part A</div> <div id="b">part B</div> <div id="c">part C</div> <div id="d">part D</div>…

XHTML+CSS 時代のフォーム

dev

<form action="index.php" method="post"> <fieldset> <input type="hidden" name="foo" value="bar" /> <label for="name">Your Name:*</label> <input class="textstrip" type="text" name="name" id="name" /> <br /> <label for="comments">Your Comments:*</label> </fieldset></form>

dev

あとで調べる。 http://securit.gtrc.aist.go.jp/research/paper/AIST03-J00017/csec200307-takagi-slide-sp1.pdfトランザクショントークンhttp://www.asahi-net.or.jp/~wv7y-kmr/note/2003-08.html#YMD20030817_PHP

webアプリの抽象化について考える6

dev

次に、各機能に共通なコードとは何があるであろうか。考え付くところとしては、 セッション管理 アプリの設定 データベース接続 認証 ユーザの入力の妥当性チェック なんてところですか。 ユーザ入力以外は、各機能ごとのコードを呼び出す前にやれば良くて、…

webアプリの抽象化について考える5

dev

1のまとめかたは単純だが、認証とか共通の動作をするコードを各ファイルに記述する必要がある。それは面度くさい。 2の方法で「グローバルレベルのコードをincludeする」のが、単純だし、共通のコードもまとめられる。では、mojaviのactionクラスなどに見ら…

webアプリの抽象化について考える4

dev

「一機能ごとに一まとまりのコード」としてwebアプリを構成すると、コードを書いたり読んだりしやすくなる。当然である。問題は、どのようにしてコードを一まとまりとするかだ。 機能ごとに別のファイルとして、ブラウザから直接アクセスさせる show.php , e…

webアプリの抽象化について考える3

dev

自分が欲しいwebアプリ用のフレームワークはどんなだろう? これを考える第一歩として、昨日の日記に書いた「問題の対象の限定」を行いたい。 コードを書いたり読んだりするのが面度くさく無い様にしたい 中小規模のwebアプリに使いたい 高速なサーバは使え…

webアプリの抽象化について考える2

dev

Mojaviのようなフレームワークは、MVCとか言われるが、実はフレームワークにはMとVは含まれていなくてCだけでなのではないか。いわゆるactionクラス、これをMであると捕らえていたが、これは実はMへのAdapterパターンを実装したCなのだね。同様に、viewク…