tonextone.com/note/

Last-modified: 2006-09-01 (金)

Copyright ©master_at_tonextone.com All rights reserved.

スケジュール管理その1

Posted : 2005-09-28 00:00 / Category : [開発日誌]
考えてみると、これといったスケジュール管理ツールを使っていない。
細かいスケジュールはメールで確認していたし、
それなりのプロジェクトのスケジュールは、都度エクセルで管理していた。

…これじゃイカン。
ということで、ここ2,3日、ツールを漁ってみた。
とりあえずこれで始めようと思う。 公開

選んだ理由:

ポイントは、「共有」「UI重視」の 2 つ。
kiko が良さそうなんだけど、
kiko だと、データが「あちら側」にあるので、却下。
一瞬、自分で kiko を作ろうかとも思ったけど賢明にも日和る。
はてなグループも試したけど、元々はてな国民ではない私には良く分からない部分が多く、却下。
Mozilla Sunbird なら、それなりに使いやすいし、
PHP iCalendar と連携すれば、 自動的に WEB で公開できる。
iCalendar 経由で連携というのも、Web2.0 的で良い。

トラックバック

(1)
[ このエントリへはツッコミ出来ません ]

PHP <- UNICODE -> PostgreSQL

Posted : 2005-09-14 00:00 / Category : [開発日誌]
PHP - PostgreSQL の文字コード設定は、通常
PostgreSQL:
initdb --encoding=EUC_JP;
createdb hoge;
PHP:
output_buffering = On
output_handler = mb_output_handler
mbstring.encoding_translation = On
mbstring.language = Japanese
mbstring.internal_encoding = 'EUC-JP'
mbstring.script_encoding = 'ASCII,SJIS,EUC-JP,JIS,UTF-8'
mbstring.http_input = 'ASCII,SJIS,EUC-JP,JIS,UTF-8'
mbstring.http_output = 'SJIS'
mbstring.detect_order = 'ASCII,SJIS,EUC-JP,JIS,UTF-8'
mbstring.substitute_character = none
な感じにしている。

でも、Ajax するからには、UNICODE で統一したい。
ちょっと試した結果、
PostgreSQL:
initdb --encoding=EUC_JP;
createdb hoge;
psql> SET client_encoding TO 'UNICODE';
PHP:
output_buffering = Off
output_handler = none
mbstring.encoding_translation = Off
mbstring.language = neutral
mbstring.internal_encoding = 'UTF-8'
mbstring.script_encoding = auto
mbstring.http_input = auto
mbstring.http_output = 'UTF-8'
mbstring.detect_order = auto
mbstring.substitute_character = none
で、問題なく動作する。

[ 続きがあります ]

[ このエントリへはツッコミ出来ません ]

PHP on Biscuit

Posted : 2005-09-05 00:00 / Category : [開発日誌]
このエントリに関連して。
Ruby の Rails を真似た PHP 版フレームワークとして、 Cake に続き、 Biscuit を触ってみた。
Tutorial にしたがって、これを作ってみた。

特徴:

  1. PEAR(DBその他)を使う。
  2. テンプレートエンジンを使わなくて良い。
  3. グローバルな、変数、関数を上手く使う。
  4. 4つ(だけ!)のファイルで構成される。
  5. そもそも構成ファイルが少ないので、どうにでもできる。

ファイル構成:

biscuit_forum/
|-- index.php (本体)
|
|-- biscuit/ (ライブラリ)
|   |-- activerecord.inc (モデル: クラス定義)
|   |-- activecontroller.inc (コントローラ: クラス定義)
|   `-- actionpack.inc (ビュー: 関数定義)
|
|   # 上記が構成ファイル。(参考)
|   # 下記のファイルでアプリを実装する。
|
|-- models/ (モデル: インスタンス作成)
|   `-- post.php (ファイル名 = モデル名)
|
|-- controllers/ (コントローラ: インスタンス作成)
|   `-- forum_controller.php (ファイル名 = コントローラ名_controller)
|
`-- views/ (ビュー: テンプレート)
    `-- forum/ (ディレクトリ名 = コントローラ名)
        |-- create.html (ファイル名 = アクション名)
        |-- index.html
        |-- login.html
        `-- show.html

所感

かなり好感触。
/index.php(100行) が本体で、これを読めばフレームワークの概要は理解できる。
グローバルな変数、関数を積極的に使う事により、
コアクラスのメンバが必要最小限に抑えられているので、
覚えなければならない事や、親子関係を意識しなければならない状況が少ない。
[一式]

トラックバック

(2)
[ このエントリへはツッコミ出来ません ]

JavaScript の *.onkey* と IME の事情。その2

Posted : 2005-09-04 00:00 / Category : [開発日誌]
このエントリの続き。
ようやく、時間がとれたので、ac.jsを読んでみた。
結論:
key event をトリガーにするのは諦めて、入力値の変更をトリガーにしている。
そのために、10 ms 毎に入力値を監視している(idkc() という関数)。
その部分だけ抜き出すと、つまりこういうことです。
思った通りの実装ではあったが、
実際やった経験がなかったし、何しろ難読化されているので、
すぐには、突き止められなかった。

ちなみに、難読化されたコードの整形には、GNU indent (on Cygwin) を使いました。
javascript-modeも便利ですね。

トラックバック

(1)
[ このエントリへはツッコミ出来ません ]