Spring MVCでセッション属性のキーをコントローラーごとに別々にするには

Spring MVCで、フォームBean*1をセッションスコープに格納して処理をしたい場合、以下のように@SessionAttributesアノテーションをコントローラークラスに付加することで行うことができます。また、処理の完了時には SessionStatusをパラメーターで受け取り…

自分は恵まれた環境で仕事をさせてもらっていることに感謝しなくてはいけないと思う

私の会社は一般的なSIerと比べてどちらかというと技術力を売りにしている会社だと思いますが、その中でも、現在はアーキテクトチームと呼ばれる部署で働いています。そういうこともあって、自分の周りには40歳過ぎてもプログラミングしているような人もたく…

エンタープライズ開発者が負け組として軽蔑される日本のSI業界って

本ブログの記事に対して多くの皆さんからいただいた意見を総合すると、技術力のあるトッププログラマーにとって現状の日本のSI業界での仕事というのは、働き甲斐のない、魅力の少ない仕事として認識されているという残念な事実を思い知らされます。 オブジェ…

SpringはエンタープライズJava開発者に夢と希望を与えている

Spring Frameworkというと、Seasar2と共にDIとAOPの軽量コンテナーとして知られており、オープンソースのJavaのフレームワークであるというというのがいまだに多くのJava開発者の間では常識かもしれません。しかし、SpringSource社が2009年の夏にVMWare社に…

Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その2)

前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1)に引き続き、試験問題のリファクタリングについて考えます。 画面入出力処理の抽象化とカプセル化 前回はこの試験問題でもっともコーディングが面倒なファイル入出…

今のSI業界もリファクタリング可能だと思います

SIという用語を聞いてイメージするもの 業界の現状を考えると理解できることではありますが、SI業界やSIerという言葉に対して、極端に悪いイメージを抱く人が多いようです。SEやPGなどの用語もそうですが、立場によって用語からイメージするものが大きく違っ…

やはり、私は今後もSI業界で達人プログラマーを目指したい

SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている?に対して、実に多くの方々からコメントやトラックバックをいただきました。中でも、id:higayasuoさんのSI業界からはさっさと抜けだしたほうがいいの記事は、私としては非…

あの認定試験問題の品質をSI業界の代表的なプログラム品質と考えることの是非

SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている?に対して、既に何人かの方々から 単に駄目試験だってだけなのでは。 これ確かにヒドイけどこんな資格試験の内容ひとつで業界全体を語られても のようなご指摘をいただきま…

Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1)

昨日書いたSI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指してが予想以上に大きな反響があり驚いています。特に、あの有名なひがさんにもSI業界の現状と未来に関してコメントをしていただきま…

SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている?

私自身は10年以上も前(JDK1.1の頃)にSJC-Pの認定を取って以来、Javaプログラミング関連の認定試験は受けていないのですが、昨日たまたまネットを検索して、SJC-Pとは別にJavaプログラミング能力認定試験という試験が存在していることを知りました。結構メ…

きのこ本のアーキテクト版

すべてのプログラマーに読んでもらいたい本で紹介した「きのこ本」があまりにも良かったので、同シリーズのアーキテクト向けの姉妹書としてソフトウェアアーキテクトが知るべき97のこと作者: 鈴木雄介,Richard Monson-Haefel,長尾高弘出版社/メーカー: オラ…

すべてのプログラマーに読んでもらいたい本

ネット上で「97きのこ本」として既にいろいろとうわさになっているようですが、私も書店で購入して読み始めました。プログラマが知るべき97のこと作者: 和田卓人,Kevlin Henney,夏目大出版社/メーカー: オライリージャパン発売日: 2010/12/18メディア: 単行…

次世代のモックフレームワークであるJMockitの基本的な使い方

以前のモックフレームワークの技術的制約 今まで私が担当してきたプロジェクトにおいては、モックオブジェクトを使ったJUnitの単体試験はjMockとEasyMockのいずれかのフレームワークを利用して行ってきました。しかし、これらのフレームワークはJavaプラット…

私は「自分の職業はSEです」と名乗るのがちょっと恥ずかしい

ITproの記事に以下のようなものがありました。 「SE」は和製英語にあらず | 日経 xTECH(クロステック) その記事ではSystems Engineerという職業はアメリカでも存在するから和製英語と呼ぶのは間違っていると主張しています。確かに、Systems Engineerとい…

Javaプラットフォームにおけるコード自動生成の考え方の変遷

普段は上位のフレームワークや製品の中に隠蔽されているため、一般の業務アプリケーションのプログラマーには気づきにくいことですが、同じJava言語の環境といっても、時代によってコード自動生成に対する考え方は変わってきています。建材が木、石、鉄筋コ…

グルーポンのおせち事件を受けてSI業界が本当に教訓とすべきこと

共同購入サイトのグルーポンでバードカフェというお店が販売したおせちの話題がネットで大いに盛り上がっています。 痛いニュース(ノ∀`) : グルーポンの割引で買ったおせち料理が酷すぎると話題に - ライブドアブログ 痛いニュース(ノ∀`) : グルーポンおせち騒…

JUnit作成は本当はプログラミングスキルの必要な作業です

多くの開発プロジェクトで試験の自動化をきちんと行えているところはどのくらいの割合あるのでしょうか?理想的なプロジェクトでは単体試験はもちろん、画面の打鍵テストや性能のベンチマーク試験など多くの試験を自動化するのが良いとされていますが、私の…

開発時ビルドのバージョン番号の付け方に対するMavenとIvyの思想の違いについて

Apache Ivyの紹介と基本的な使い方 - 達人プログラマーを目指してに関連して説明させていただきます。 Mavenに慣れている人がIvyを使うときに必ずつまづくポイントとして、開発中の中間ビルド時のバージョン番号の付け方に対する両者の思想の違いがあります…

Apache Ivyの紹介と基本的な使い方

Apache Ivyについては本ブログでも何回か用語自体は取り上げてきましたが、現状日本語での情報が限られるためか、AntそのものやMavenに比べるとユーザーが少ないように思われます。ここで基本的な使い方やMavenとの違いについて簡単に紹介させていただきたい…

アバンダンウェアで懐かしい過去の時代にタイムスリップしてみる

皆さんはアバンダンウェア(Abandonware)という用語をご存知でしょうか? wikipedia:アバンダンウェアにあるように、 著作権者が既に販売をやめたりサポートしていないソフトウェア、あるいは様々な理由により、誰が著作権者であるか不明なソフトウェアを指す…

フレームワークごとの生産性の違いを定量的に計算する方法があったらいいのにな

アーキテクトの重要な仕事の一つに、フレームワークの選択があります。そこで上流の方から毎回必ずと言っていい程求められるのは、選択肢となるフレームワークごとの生産性の違いがどのくらいあるか「定量的に」教えてほしいというものです。たとえば、Strut…

OSS Javaフレームワークはどんどん高度化している

以前、いつまでStruts1を使い続けるの?という記事を書きました。技術から離れているSEの方は、いまだにJavaのオープンソースフレームワークと聞くとStrutsくらいしか思い浮かばないという人も多いと聞きますが、その記事では、Strutsの問題点をあげて、そろ…

SIerが優秀なPG(エンジニア)を積極的に採用する社会を想像してみる

もしSIerがまともなエンジニアリングの会社だったとしたらどんな仕事が考えられるか?でSIerがITゼネコンでなくてエンジニアリングの会社だったらということを書きましたが、ここではもっと踏み込んで「SIerが優秀なスーパーPGを高給で積極的に採用する社会…

日本文化は外人プログラマーから意外に尊敬されている?

JavaScriptの有名なライブラリーの一つとしてDojoというのがあります。 Dojo Toolkit 今まで私は仕事上はPrototype.jsとjQueryを中心に使ってきたのですが、Spring JSで標準サポートされているし、今さらですがちょっと勉強しておかないといけないと思ってい…

Java言語で固定要素のListを初期化する際のイディオム

Generics(総称型)のプログラミングはJava言語(バージョン5以降)で最も習得が困難な文法*1の一つです。私自身、時々どうやって文法エラーを修正すべきか悩むこともあるくらいで、実際かなり複雑です。Genericsの導入は賛否両論なので、実際Javaに導入した…

もしSIerがまともなエンジニアリングの会社だったとしたらどんな仕事が考えられるか?

以前にも何度か書いたように私自身一応SIerと呼ばれる会社で(肩書き上SEとして)働いているのですが、このブログでSIerのことについて書くと、おそらく技術力のある優秀なPGの方からだと思うのですが、 なぜみんなSI業界から飛び出さないんでしょうね 真っ…

上流の壁?

達人プログラマーを目指すための素質 - 達人プログラマーを目指してで、PGの社会的地位の低さについて言及したのですが、ステレオタイプな上流コンサルと思われる方から、以下のようなコメントをいただきました。 現在の貨幣経済において、情報システムサー…

高い品質のプログラムを作らなくてはならないと考えている職人PGの考えは間違っていた?

ソフトウェア工学の教科書やプログラミングに関する技術書は、例外なく「プログラムの品質を(制約の範囲内で)できるだけ高いものにするべき」という前提で書かれています。それがエンジニアリングの目標だし、そもそも、ものづくりの職人として、できるだ…

達人プログラマーを目指すための素質

http://1yg.net/archives/554という記事がはてブで相当話題になっているみたいです。 そんな感じで、自分の考える「プログラミングの出来る人と出来ない人の決定的な違い」は 文字の羅列に興味を持つ事が出来、理解しようと真剣に取り組めるか否か だと思う。…

fluent interface呼び出し書式を正しくeclipse3.6でフォーマットする方法

Java言語のコードの書式のひとつとして、fluent interface(流れるような*1インターフェース)という書き方が知られています。 http://capsctrl.que.jp/kdmsnr/wiki/bliki/?FluentInterface 構文的にはSmalltalkのようにメソッドの戻り値にメッセージ送信対…