2009年12月

2009年12月26日

Webアプリ開発フレームワーク はてなブックマーク - Webアプリ開発フレームワークこのエントリーをはてなブックマークに追加

以前、JavaでWebアプリを作成したときは、struts2というフレームワークを使いました。struts2をうまく使えば、綺麗にプログラムを書けます。しかし、struts2は若干癖があって、たまに常識外の動作をすることがありました。

Google Apps EngineでWebアプリを開発するにあたって、今回は、struts2を使うのではなく、軽量のフレームワークを自作することにしました(二つのブラックボックスの干渉によって、不可解な現象に悩まされるのを防ぐためです)。

JavaでWebアプリを開発するときの一つの問題は、JSPのコードが混沌となりがちなことです。

struts2の面白いところを一つ挙げるとしたら、ActionがJSPのモデルになるというところだと思います。これにより、JSPではプログラム処理を行わず、Actionで用意されたデータを表示するだけというポリシーでプログラムを書くことができます。

今回、この思想にそって簡単なフレームワークを自作しました。

遷移のルールとして、以下の三つに対応させました。
・Actionから、同一ディレクトリのJSPへの遷移(Forward)
・Actionから同一ディレクトリのActionへの遷移(Chain)
・Actionから他のディレクトリのActionへの遷移(Redirect)

Chainの場合は、遷移元のpublicフィールドの値が、遷移先のpublicフィールドに引き継がれるようにしました。

ちなみに、Java Beansのプロパティの引継ぎは、BeanUtilsライブラリを使うと簡単にできます。しかし、私は、データ構造のクラスを作るときに、Java Beansにしないことが多いので、フィールドの値を引き継ぐ機能を自作しました。

さらにロギングやエラー時の遷移などに色々工夫を加えて、私が良くやる書き方の範囲に関しては、struts2を使うよりも便利にしたつもりです。これを使って、簡単なプログラムを作ってみようと思います。

2009年12月23日

現実を見すえる はてなブックマーク - 現実を見すえるこのエントリーをはてなブックマークに追加

今日は、引っ越したばかりの友人の家に遊びに行きました。新大阪の近くのマンションだったのですが、家賃が手ごろでいいところでした。(私が住んでいる京都南区より安いくらいです。)

ちなみに、その友人は、転職を考えているらしく、私も相談も受けたのですが、私の会社は今は土台がしっかりしていない状態ですので、人を入れるのは難しいと感じています。(これまでは、いい加減な経営でも適当に仕事をやっていくことができたのですが、今後は無理だと感じていますので。。。)

自分以外の人と一緒に仕事をすると、気持ち的にはだいぶ楽になります。何とか土台ができたら人を増やしたいですが、土台を作るところまでは、自分一人でやる必要があるかなと思っています。

2009年12月22日

RDBとGoogle App Engine はてなブックマーク - RDBとGoogle App Engineこのエントリーをはてなブックマークに追加

現在、一つ実験的に作ろうと考えているサービス(できれば商用化につなげたい)があるのですが、データ構造を考えたところ、RDBじゃなくても自然に実現できそうな気がしてきました。

したがって、Linux+MySQLで実現する代わりに、Google App Engine (Bigtable) で実現することを、一つの選択肢として検討しています。

RDBのいいところは、物事の概念モデルや論理的なモデルを、自然な形で実装できる(物理モデルに落としこめる)ということだと思います。物事の概念を、ほぼそのままテーブルの集合として表現することができて、それをどう使うか(何をどう検索するか)は、検索の方法(どのテーブルをどうJOINさせるか)によって自由にできるということがRDBの強みだと思います。

一方で、実装上のテクニックとして、JOIN検索をなるべく避けるということがあります。というのも、JOIN検索を行う場合はSQLを書かないといけませんが、単なるテーブル検索を行う場合はORマッピングツールを利用して簡単に(高い保守性を保ったコードによって)実現できますので。

例えば、データが二つのテーブルに分かれて格納されている場合に、JOIN検索では1回で検索できる場合でも、2回のテーブル検索処理で実現することも多いです。(N回の検索が必要とか、NxM回の検索が必要になる場合は、間違いなくJOIN検索を行いますが)。

そういうことを念頭において、データのモデリングをしていたら、今回のサービスで必要となるデータ構造は、RDBで実現しなくても実現できるような気がしていました。

Google App Engineが使えるのならば、MySQLの障害に頭を悩まされることがなくなります。

というわけで、Google App EngineとBigtableについて調査したいと思います。

2009年12月16日

競売物件 はてなブックマーク - 競売物件このエントリーをはてなブックマークに追加

久しぶりに親と会ったのですが、いつまで賃貸暮らしなのかと聞かれました。

私としては、数年先はどうなっているか分からないということもあり、これまで、不動産を持つことに魅力を感じたことはありませんでした。

ちなみに、今住んでいるところは家賃の割りに便利ですので、あと五年くらいは住むかなあと漠然と思っています。

しかし、夜に、ふと競売物件というのを思いついたので、以下のサイトで、競売物件を調べてみました。

http://bit.sikkou.jp/

過去の売却結果を調べてみたら、今の家賃の五年分くらいの金額で購入できるところがちょくちょくあることが分かりました。

もしかしたら、不動産を競売で購入するというのはありなのかもしれませんねー(親にお金を借りて(笑))。

2009年12月13日

コーチング はてなブックマーク - コーチングこのエントリーをはてなブックマークに追加

日々、一人で仕事をしていると、どうしても仕事のペースが乱れがちになります。

毎日10分くらい電話やSkypeで定期的に打ち合わせができるようなコーチがいたら雇いたいところです。

ただし、個人で出せる金額としては、10分1000円くらいでしょうかね。月20日で20000円です。

これが成立するかどうか考えてみたのですが、コーチング業務は、10分2000円は取らないと成り立たないと思いました。

私は、コーチを雇ったことはないので、コーチがどういう能力を身に着けているのかは良く分かりません。しかし、マネージメントには、二種類のマネージメントがあると思います。コーチにもこの二種類のコーチがいるのではないでしょうか。
(1) クライアントの問題解決を助ける
(2) クライアントのモチベーションを上げる

(1)のタイプの特徴は、クライアントの課題を一般化して、適切な手助けをするということだと思います。それに対し、(2)のタイプの特徴は、話しを聞くことが上手くて、クライアントのモチベーションを下げることを言わない(具体的には、一般論を言わない)ということだと思います。

(1)のタイプのコーチングを行う場合、どうしてもクライアントの業務について理解を深める必要があります。コーチングの時間が10分間でも、実際には倍くらいの時間が必要となることになります(それで、10分2000円と計算しました)。一方で、(2)のタイプのコーチングは、人間性でコーチングを行うことになりますので、クライアントの業務についての理解を深める必要はそれほどないのかもしれません。

というか、(2)のタイプのコーチが10分1000円で雇えたら雇いたいですね。

2009年12月12日

臨床心理士向けアプリケーション はてなブックマーク - 臨床心理士向けアプリケーションこのエントリーをはてなブックマークに追加

友人の紹介で、臨床心理士向けのアプリケーションを作って欲しいという依頼があったので、詳細(仕様や実現方法)を検討中です。

私は少し気がつくのが遅かったのですが、技術的な仕事よりも、こういう実際の業務に沿ったソフトの開発の方が、将来につながる可能性が高いように思っています。

2009年12月11日

Webデザインの勉強 はてなブックマーク - Webデザインの勉強このエントリーをはてなブックマークに追加

ある業界の社長向けの本を読んでいたら、「Webサイトの構築を自分でできるようにせよ」と書かれていました。

Webサイト作成を外注すると、色々と自由がきかないのがその理由です。PhotoShopを使えるようにして、自分で綺麗なWebサイトを作れるところまでなるのもそんなに難しくないと書かれていました。

私は、今まで、Webサイト構築は、拾ってきた素材を駆使して騙し騙しやっていました。それに、いざとなったら外注できると軽く考えていました。しかし、この際、ちゃんと勉強しよう思っています。

最近思ったのですが、IT技術者が手っ取り早くビジネスを始める場合は、「○○業界向けのWebサイト構築事業」という形で業界に入り込んでいくのが、一番やりやすいのではないでしょうか。その後、
「○○業界500社の実績」とか謳ったり、
「○○業界向けの新サービス」を開発して使ってもらったり、
「○○業界向けのコンサルタント」を始めたり
などの成長の可能性があると思います。

というわけで、以下にリストアップされている本を一通り読んでいるところです。

プログラマが1ヶ月でWebデザイナーに転身する方法(やねうらおさんのブログ)

その他、動画マニュアル.comというところで、Fireworks, DreamWeaver, PhotoShopの使い方を一通り見ています。

2009年12月03日

日本の著作権法 はてなブックマーク - 日本の著作権法このエントリーをはてなブックマークに追加

少し古い話題なのですが、MYUTAというサービスが、裁判で負けて停止に追い込まれたことがありました。

MYUTAは、自分が持っている音楽ファイルを、携帯の着うたの形式にして、利用できるようにするサービスです。データの変換は、利用者が自分のPC上で行います。その後、PCから携帯のデータの受け渡しをするのですが、そのときにサーバのストレージを経由するということが問題と見なされてしまったようです。

以下のブログに、裁判で証言したMYUTAの開発責任者のコメントがありました。

http://d.hatena.ne.jp/slayer845/20081017/1224239125

ちなみに、今は、似たようなサービスで、海外のドメイン名で運用しているものがあるようです。MYUTAとは異なり、個人の方が運営しているようです。

http://3gp.fm/

日本の著作権では、「個別制限規定」と言って、著作権の効力の範囲が、個別の事例ごとに定められています。一方、アメリカなどでは、フェアユースと言って、著作権の効力の範囲が抽象的に定められていて、ようするに、「公正な使い方だったらOK、だけど問題がありそうだったら、個別に裁判で争うよ」ということになっています。

一見何でもないことでも、考えようによっては、著作権に違反していると捉えることができることは多いです。例えば、ここに書いてあるように、本をオークションで売るために、本の写真をとってオークションサイトに掲載することは、厳密にはアウトなんですよね。

これが、日本で新しいサービスを始めることを難しくしているように思います(慣例がないことは、とりあえずアウトと考えざるを得ず、サービスを始められない可能性があります)。

日本版のフェアユースも検討されているようなのですが、しかし、文化審議会著作権分科会の議事録を見ていると、何というか、、、革新的なことは遅々として進まない様子が感じられます。どこかの団体の偉い人たちが、Googleを熱く批判しているいうシーンが良く見られました(笑)。


2009年12月02日

かわいいAA見つけた はてなブックマーク - かわいいAA見つけたこのエントリーをはてなブックマークに追加

         ノ´⌒ヽ,, :
   : γ⌒´      ヽ,    
    //""⌒⌒\  ) :  ないと信じていたし、
 :  / ") /   ー ヽ )    今でもないと信じていたい・・・
   / /  (>)` ´(<i〈 :
: 〈 〈 U   (__人_) | 〉
   \ \     ' // :
  :  〉       /
    /       /
   〈   ̄ ̄)  ̄)
    7  /  /

                    ノ´⌒ヽ,,                     \
                γ⌒´      ヽ,                       \
               // ""⌒⌒\  )             由紀夫〜
                i /   ⌒  ⌒ ヽ )              お小遣いよ〜
        /      !゙   (・ )` ´( ・) i/  はーい♪               /
        /      |     (__人_)  |                      /
        /      \    `ー'  /
                /       ヽ
                / /      |ヽヽ
               (、、)      / (__)
                 \  、/
    ε=    ε=     / >、 \,-、  スタスタ
                ヽ_/  \_ノ


なんだか、やる夫のように憎めないところがあります。これは、支持率が高いのもうなずけますね。


PR広告
月別アーカイブ
最新コメント
最新トラックバック
livedoor Readerに登録
RSS
livedoor Blog(ブログ)