仕事

それっぽく

画面遷移を生じない処理をさせるwebアプリで以下の様なことをやってみた。

  1. ファイルのダウンロードの様な画面遷移の無い処理をするボタンをクリック
  2. その処理が実行か可能かをAjaxで問い合わせ、JSONで応答
  3. 上で得られた応答をJavaScriptでevalで評価、値を判定して処理を実行してよい場合はJavaScriptでフォワード。問題があれば、ダイアログ表示。

それっぽく書いてみたら、それっぽく出来た。*1
ただ、それっぽくのままではいけないのだが、正攻法なやり方はどうなのだろうか?

*1:JavaScriptで文字連結を '.' でしようとしていたり、PHPで文字連結を '+' でしようとしていたのは内緒だ

JavaScript

失敗。
何をしてるんだか。やっぱり休みぼけ。下の様な感じで書いていた。
下の様に書いてfooを for...in したら意図しないものまでトレースされてしまいます...。

var foo;
function foo(key, value)
{
foo[key] = value
}
function trace()
{
for(var hoge in foo){
alert(foo[hoge]);
}
}

早く気づけず。愚かであった。

正月ぼけ

かなり重傷。また週末連休で解消しそうにないなぁ。

  • formにname属性しか書いていないのに prototype.js の $('foo') で値を取りにいこうとしていた。
    • ちなみにformのname属性はXHTML1.0では非推奨、XHTML1.1では廃止だそうだ。
  • コーヒーの分量を間違えた

おさめ

今年最後の出勤。
今年もいろいろありすぎて、何があったかよく思い出せませんが、来年もまた公私ともに充実させたいな。と思う訳です。

あ、来年は特に私生活充実させたいと思います。いろんな意味で。

ん?

iモードHTMLシミュレータIIの画面のキャプチャはフロントエンドコントローラタイプのWebアプリだと使えないようだ。
何か操作を間違ってるのかもしれないけど、少なくても表示しているページとぜんぜん違うページがクリップボードとかにコピーされる。
困った。

eAccelerator

とある先へのサーバーへ導入。プロジェクトのURLは下記の箇所。
http://sourceforge.net/projects/eaccelerator/

基本的には上記URLからファイルをダウンロード・展開した後、含まれるREADMEを参照すれば特に問題なく導入できる。
展開した後の直下の箇所でconfigure

# ././configure --enable-eaccelerator=share --with-php-config=/usr/bin/php-config --with-eaccelerator-info*1
(中略)
# make
(中略)
# make install
(中略)
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

                                                                                                                                          • -

Installing shared extensions: /usr/lib/php4/

ということで、/usr/lib/php4/ に eaccelerator.so がインストールされる。
これを実際に有効にするためにphp.iniを編集する。

続きはあとで書く。

*1:Web経由でキャッシュの状態を見る場合は必要

phpize

とあるものを使おうと'phpize'コマンドが必要になったが入っていない。
HP等を見ると

PHP4をインストールすると同時にインストールされます。

とある。
…なんでないんだろ。と悩むこと、十数分。*1
PHPをaptコマンドで入れたことを思い出す。

# apt-cache search php
(略)
php-devel - Files needed for building PHP extensions.
php-domxml - A module for PHP applications which manipulate XML data
php-imap - An Apache module for PHP applications that use IMAP.
php-ldap - A module for PHP applications that use LDAP.
(以下続く)

あ、確かに入れてないや。
ということで、導入。

# apt-get install php-devel
(略)
展開後に 1331kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/i386/plus php-devel 4.4.4-0vl1 [344kB]
344kB を 12s 秒で取得しました (27.4kB/s)
変更を適用しています...
Preparing... ########################################### [100%]
1:php-devel ########################################### [100%]
完了

これで大丈夫なはず。

# which phpize
/usr/bin/phpize

で、これから本題でこのコマンドが必要なものを入れていく。

*1:時間をかけて悩みすぎである

wiki-style

仕様をwikiでまとめたり、日報を社内用tdiaryに書きながら仕事するスタイルに慣れた今日このごろ。*1
社内用blogを立てるのは結構有効な気がしてきました。もし、お試しが可能な会社の方は是非。

  • wikiはプロジェクト毎に立てる
  • blogに一度書いた物は消さない。(取り消し線  で消す)

で現在のところ進めていますが良さげです。
良さげですが変えたいところもあったり。別途BTSも動いているので、wikiも一緒に動かすべくtracに移行したいのですが、なかなか腰が上がりません。

*1:ときどき忙しすぎてかけないときもあるが...