2010-01-01から1年間の記事一覧

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

皆さんはアバンダンウェア(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のようにメソッドの戻り値にメッセージ送信対…

私がプログラミングで最も楽しいと思える作業 = リファクタリング

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史出版社/メーカー: ピアソンエデュケーション発売日: 2000/05メディア: 単行本購入: 94人 クリック: …

プログラマーの才気

今日会社の上司から「読んでみて」ということで、以下の本を渡されました。ソフトウェア要求と仕様―実践、原理、偏見の辞典 (新紀元社情報工学シリーズ)作者: マイケルジャクソン,Michael Jackson,玉井哲雄,酒匂寛出版社/メーカー: 新紀元社発売日: 2004/04…

PGとプログラマーは意味が違う?

どうでもよいことかもしれませんが、人によってはPGはSIer用語で、SEと単価を差別化するための用語だから、広い意味でのプログラマーという用語とは意味が違うという主張もあるみたいですね。ただし、SEがシステムエンジニアの省略なのと同じで、PGは単にプ…

リモート(別プロセス)のJBossサーバー上のキューにXAトランザクション内で正しくメッセージを送受信するには(続編)

以前にJBoss Messagingでリモートのキューに対してXAトランザクション内でメッセージを送受信するにはResourceAdapterの登録が必要であるということを紹介いたしました。 リモート(別プロセス)のJBossサーバー上のキューにXAトランザクション内で正しくメ…

OSS開発の世界にしかアジャイル脳プログラマーの活躍場所がないのはいかがなものか

アジャイル脳の対立概念はSIer脳でなくてウォーターフォール脳? - 達人プログラマーを目指してに関連して、ここで書いておくと、オープンソース開発の世界はどう考えてもアジャイル脳のプログラマーが支配している世界だと思います。こんなことはわざわざこ…

EJBコンテナー、Webコンテナー内で管理されたJMS接続から同時に複数のSessionを生成できない

以下の条件を満たすとJBoss Messaging + Spring MDPの環境で以下の例外となります。 java:/JmsXAからXA対応(JCAのリソースアダプター経由)の接続ファクトリを使用 concurrency属性を2以上に設定 cache属性をsession以上に設定 javax.jms.JMSException: Cou…

アジャイル脳の対立概念はSIer脳でなくてウォーターフォール脳?

SIerがExcel→Javaのコード自動生成をPGに押し付けるのは善か悪か? - 達人プログラマーを目指してに対して「アジャイル脳」の対立概念は「SIer脳」ではなくて「ウォーターフォール脳」であり、「SIer脳」の対立概念は「ソフトウェアハウス脳」なのではという…

SIerがExcel→Javaのコード自動生成をPGに押し付けるのは善か悪か?

以前Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指してにて 何でもかんでもとにかく自動生成させたがる。特にExcelなどの表から大量のクラスを自動生成させるなど。たいていそのようにして生成されたクラスはゴミで保守…

頭数要員だけでこなせる仕事が今後もずっと取れると考えているSIerの仮説は間違っている

本来このブログをつける主な目的は、勉強したことのメモとプログラマー向けの技術の共有というところにあって、業界がどうこういうことを書くつもりはなかったのですが、多くの方のさまざまなコメントがいただけることは非常に勉強になるので、この際思って…

どんなにがんばって教えても伸びないプログラマーの比率

プログラマーの成長を考えないSIerの仮説は間違っている - 達人プログラマーを目指してに対して、 センスとやる気があるプログラマの方が20人に一人もいないに一票 というような意見をたくさんの方からいただきました。私の文章力のなさで多くの人に誤解を与…

プログラマーの成長を考えないSIerの仮説は間違っている

Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指してのコメントで 熟練者も居ることは理解しているが、開発をする上で熟練者ばかりを集めることはできない。このため初心者側にレベルを合わせざるを得ない。 というコメン…

今はSIerのビジネスモデルを変革するチャンスかも

Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指してのブクマのコメントで すごく納得いくんだけど、SIerの上司は領域1ばかりで2は無理って言ってるわけだから、「少なくとも領域2の範囲で仕事をすることは不可能ではな…

Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか?

プログラミングと設計は本来切り離せないものなのではがすごい反響だったのですが、結局この記事で私が言いたかったことは、 Java EEなどの現代的な開発環境はCOBOLなどの古い言語を使った開発とは根本的に設計の手法が異なる 多くの現場では未だに古い設計…

JBoss Messagingでメッセージの永続化ストアを使わなくする方法

JBoss MessagingではデフォルトでHSQLを使ったJMSメッセージの永続化が設定されています。メッセージの永続化は、メッセージの配信を保障するために重要な機構ですが、開発や単体試験実行時に、サーバーを再起動してもキュー内のメッセージが消えないと非常…

Java EEのearファイル形式はMavenの天敵

Ant + Ivy vs Maven - 達人プログラマーを目指して で、AntとMavenの比較を行いました。そこではビルド要件の複雑度からAntが有利な場合とMavenが有利な場合について分析しています。それに関連して、最近Maven地獄に陥っているプロジェクトに関わることにな…

環境によってJBoss AS5.1が起動しない場合の対処方法

java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]突然JBossサーバーが上記のエラーを出して起動しなくなってしまいました。検索したところ、以下に解決…

多くの日本人がオブジェクト指向プログラミングを苦手とするのは英語アレルギーだからか?

やはり、多くの人からいろいろなコメントをいただくと、意外な発見がありおもしろいです。 プログラミングと設計は本来切り離せないものなのでは - 達人プログラマーを目指して のブクマのコメントに 何か、主語がないから理解が難しい読み物 というのがあり…

アーキテクト向けのパターン本

ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系作者: F.ブッシュマン,H.ローネルト,M.スタル,R.ムニエ,P.ゾンメルラード,Frank Buschmann,Hans Rohnert,Michael Stal,Regine Meunier,Peter Sommerlad,金沢典子,桜井麻里,千葉寛之,水野貴…

アーキテクトもプログラミングするべきか?

プログラミングと設計は本来切り離せないものなのでは - 達人プログラマーを目指して で以下のようなコメントをいただきました。 アプリケーションのアーキテクトという役割についてちょっと理解が曖昧だったのがこのエントリ読んでだいぶスッキリした。今度…