« April 2009 | Main | June 2009 »

May 2009

2009.05.30

mod_proxy_balancerの振り分けをhttpで

 Apache2.2以降は、mod_proxy_balancerやmod_proxy_ajpで簡単に複数台のTomcatと連携できるようになりました。

 これらのmoduleを組み合わせる場合は、ブラウザから送られてきたリクエストを、Proxyディレクティブでbalancerプロトコルに変換し、balancerプロトコル側でさらにajpに転送といった感じでの指定が一般的(参考:Apache2.2とTomcatでロードバランサー)。

 ただ、Apache/Tomcat間にFirewallが存在すると、時々ajpのエラーが発生することもあるようで(これ自体、そもそも何故エラーが発生しているのか、どういう回避方法があるのか不明なのですが)、試しに、ajpではなくhttpでApache⇒Tomcatへ転送してみました。

 すると・・・Redirectの部分で、見事に大ハマリ(苦笑)。リダイレクトされた場合、次のリクエストがBalancerMemberのところで指定したホスト名になってしまうため、PRGで画面遷移を行っているTeedaなどは実質使用不可に・・・。

BalancerMember http://localhost:8080/Test route=Tomcat1

 なんて感じで指定していると、リダイレクト時は、http://localhost:8080/でアクセスしようとするため、接続先不明と言うことに・・・(当然ながら、localhost:8080で待ち受けているものがあればそこに接続してしまいます)。

#そもそも設定方法を間違えているのかなぁ・・・。

| | Comments (1) | TrackBack (0)

2009.05.27

開発速度

プログラマーの開発速度は「はまる」時間の長さで決まる

1. クラスやメソッドの命名が不適切
 時々、自分自身でもやっちゃってます(苦笑)。メソッド名だけでは内容がよくわからず、結局ソースコードを見て「今使いたいメソッドかどうか」を判断する場合も。

2. 「とりあえず」書いたコードが悪さをしている
 これも、よく経験があります。多くの場合、その箇所を修正する機会もなく平穏に(?)時は流れるのですが、「その場しのぎ」での修正が後々響いてくることも。そういう時に限って、元々「その場しのぎ」での修正だったため、修正すべき箇所の特定に手間取ったり、別の箇所に影響が出たり。

3. 「このままでは何かがおかしい」と感じながら作業を続けている
 2.と同様ですね(^^; ただ、「おかしい」と気付きながら作業するのか、そもそも「おかしい」とすら気付かずに作業を続けるのか、といったところに、それなりに大きな開きがあるような気もします(おそらく、4以降とも関連してくると思いますが)。

4. ツールに振り回されている
 EclipseやC#を使っていると、デバッガの使い方で作業時間に大きな開きが出てくる場合も。不慣れな(?)人の場合、例外トレースの内容を上手く解釈できず、全くといっていいほど見当違いの箇所の修正をしていることもあるようで(当然ながら、ブレークポイントも見当違いな場所に)。
 例外が発生しないけどおかしな動きをしている場合、「どういう動きをすべきか?」「その結果を得るためにはどの部分の処理が関与しているのか?」「その部分の処理が期待した通りに動いていないのは何故か?」と言ったところの推測が不充分なケースも。

5. 「よくあるつくり」に対する理解が乏しい
 おそらく、言語を問わず、「プログラム開発における共通的な考え方」ってのはあると思います(デザインパターンなども「共通的な考え方」に入るものではないかと)。まぁ、最近では目移りしてしまうほどいろいろな(しかも使い勝手の良い)ライブラリやフレームワークがあるため、それを使うことで手一杯になってしまう(あるいは満足してしまう)ってことも多いのではないかと思いますが。
 オープンソースなライブラリ/フレームワークを使っていて、「ここってどういう風に処理を実現しているのだろう?」って時に、ソースを見ようと思うかどうか、ってのも大きな境目になるのではないかと。

6. APIの存在を認知できていない
 これって、なかなか難しいですよね・・・。各言語の標準API、ライブラリ/フレームワークのAPI等々、1つのアプリケーションを構築する際に全部のAPIを一通りチェックするとした場合、かなり膨大な数になってしまうのではないかと。そういう意味では、1とも絡んでくるのですが、「ある機能が必要」⇒「英語だと、xxという単語になるのでは?」⇒「xxという単語を含んでいるクラスはある?」って感じで、徐々に自分の中でのAPIライブラリを増やしていくというのが現実的な選択肢かなぁ、と。
 あとは、言語のバージョンが上がった時の、「目玉API」に関して、概要だけでも目を通しておくとか。Java5やJava6での追加機能に関しては、例えばJava in the boxのようにいい感じでまとめてくださっているところもありますし。スレッドプールが必要になった場合、Java5で追加された同期関連のAPIを知っているかどうかは大きな差として現れるかと。

Continue reading "開発速度"

| | Comments (0) | TrackBack (0)

2009.05.05

高槻ジャズストリート 2009 (第11回)

 既に終わってしまっていますが、先々日、先日と高槻ジャズストリート聴きにいってきました。(ゲストミュージシャンを除き)基本的に知っているバンドなどはないので、適当にふらつくことが多いですが、ここ数年は高校の吹奏楽部などの演奏を聴くことが多いかなぁ(もちろん例外もありますが)。

 そんな中で、可能な限り聴きにいこうとしているのが、芥川高校の和太鼓部。4/29の鯉のぼりフェスタでも演奏していましたが、残念ながらそっちは聴きに行くことができなかったので、TJSで聴きにいってきました。阪急の構内が会場でしたが・・・演奏スタイルからすると、少し会場が狭かった?(場所はどうやって割り振られているんでしょうね?)

 いつものように、力強い演奏で楽しませていただきました(^^)。おそらく、和太鼓の演奏は、「音だけ」ではなく、その「動き」も一緒の方がより楽しめるのではないかと思います。

 ちなみに、今年は「よしこの」も演奏してましたが、これを聴くと、やっぱり「夏」を感じてしまいます(^^; 今年のメンバーに徳島県出身者でもいたんでしょうか??

#僕自身は徳島出身(もっとも、阿波踊りはあまりしたことがないのですが・・・)

| | Comments (0) | TrackBack (1)

« April 2009 | Main | June 2009 »