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

よりGroovyらしいプログラムへのリファクタリングに挑戦してみました

先日認定試験問題のリファクタリング結果をGroovyにとりあえず移植してみました - 達人プログラマーを目指してにてJavaプログラミング認定試験のサンプルプログラムのGroovy化について紹介しました。その記事を書いた時点では、とにかくGroovyとJavaとの親和…

SI業界の改革には責任者に対するショック療法が有効かもしれない

私の直属の上司ではないのですが、会社の大先輩がインドに1ヶ月程滞在し、現地のSIerの開発現場を視察してきました。現地での研修を提供している会社は、あのデータさんの子会社になっているみたいです。 http://www.vertexsoft.co.jp/services/learning-in-…

クラウドが昔ながらのSIerの仕事を奪うようになってきてはいるけれど

Salesforceといえば、ちょうど最近行われたSalesforce Developers | Developer Eventsというイベントに参加された方もSI業界では多くいらっしゃるのではないかと思います。私はそのイベントには参加していませんでしたが、先日会社でSalesforceのSE*1の方か…

認定試験問題のリファクタリング結果をGroovyにとりあえず移植してみました

最近Groovyから遠ざかっていたため、勘を取り戻す練習も兼ねて、先日Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その3) - 達人プログラマーを目指してでご報告したサーティファイJavaプログラミング認定試験のリファクタリ…

IntelliJ IDEAはGroovyの学習や開発に最適なIDEだった

先日、業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指してで、Javaのイケていない部分について説明し、そこでGroovyやScalaといったいわゆる軽量言語(LL)を使うことでコードが単純化されるという説明をしま…

業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策

Java: The Good Partsの本のタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Part…

JGGUGの勉強会(G*ワークショップ)に初めて参加してきました

昨日JGGUGが主催するGroovyの勉強会に初めて参加してきました。 2月24日 第15回 G*ワークショップ(東京都) 今まで知らなかったのですが、もう15回も行われているのですね。なお、勉強会の詳しい内容については、既に、id:absj31さんが以下で詳しくレポートし…

RMIのサーバーオブジェクトはスレッドセーフでなくてはならない

RMIのAPIのJava Docに書かれていないようなので見落としがちなことですが、RMIのサーバーオブジェクト(Remoteの実装クラス)は、複数のスレッドから同時に呼び出される(可能性がある)ようです。このことは、Java並行処理プログラミング ―その「基盤」と「…

システム系の例外は実行時例外+AOPでハンドリングするのがベスト

インフラ層のチェック例外はやはりJavaのBad Partだと思う 先日のJava言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指してで、 インフラ層のフレームワークなどでは実行時例外が適切 ということを書いたのですが、この点についてもう…

Java言語のチェック例外は本当にGood Partなのか?

デブサミ2011会場のオライリーのブースで目に入ったため、以下の本を購入しました。Java: The Good Parts作者: Jim Waldo,矢野勉,笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型本購入: 3人 クリック: 148回この商品を含むブ…

Developers Summit 2011参加メモ(2日目)

Developers Summit 2011参加メモ(1日目) - 達人プログラマーを目指してに続いて、2日目のレポートです。 【18-B-1】プログラマが知るべき、たったひとつの大事なことがら タイトルはもちろん、以前もすべてのプログラマーに読んでもらいたい本 - 達人プロ…

Developers Summit 2011参加メモ(1日目)

創発 未来につながるために 世界に帆を立てるために Developers Summit 2011に参加してきました。記憶が薄れない前に、ノートに取ったことを以下にまとめておきたいと思います。基本的にはこのブログで日ごろ書いている内容と同様に、エンタープライズ開発や…

jXLS Readerを使ってアップロードされたExcelファイルを読み込む

先日、jXLSを使ったExcelテンプレートをSpring MVCのビューとして利用する方法 - 達人プログラマーを目指してでjXLSを使ってExcelファイルを生成してダウンロードする方法について説明しました。ここでは逆に、アップロードされたExcelファイルを読み込んでP…

jXLSを使ったExcelテンプレートをSpring MVCのビューとして利用する方法

jXLSを使ってJSPと同様の方法でExcelファイルを生成する 業務アプリケーションでは好むと好まざるとにかかわらず、Excelファイルの入出力を行う必要がある場合が多くあります。JavaからExcelファイルの読み書きを行うOSSのライブラリーはいくつかありますが…

Spring MVCでコントローラーのリクエストハンドラメソッドのメタ情報を記録する方法

正攻法でアクションハンドラメソッドのメタ情報を取得することは困難 開発で利用するフレームワークを作成する際には、実行対象となるオブジェクトの型やメソッドに付けられたアノテーションなどのメタ情報を利用したい場合が多くあります。特に、Spring MVC…

自分の定めた目標に向かって努力するということ

最近id:j5ik2oさんの努力する人が最後には”できる人”になる - じゅんいち☆かとうの技術日誌というエントリーを読んだことがきっかけで、エンジニアとして「努力する」ということについてちょっと考えてみました。 努力と目標設定 普段意識していなかったので…

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

少し間が開いてしまいましたが、前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その2)に続いて、試験問題のリファクタリングについて説明します。 Template Methodデザインパターンを使った制御の反転 前回までのリファ…

日本では職業上専門家たるプログラマーという地位が確立されていない?

ずっと前に読んだことがあるのですが、金持ち父さんのキャッシュフロー・クワドラント作者: ロバートキヨサキ,白根美保子出版社/メーカー: 筑摩書房発売日: 2001/06/27メディア: 単行本購入: 23人 クリック: 601回この商品を含むブログ (142件) を見るという…

Spring MVCでJSONデータを返すための手順

バージョン3以降のSpring MVCでは、コントローラーのメソッドからJSON文字列を簡単に返却させることができます。以前のバージョンでもビュークラスを独自に拡張することでJSONの返却は一応可能でしたが、最新バージョンでは非常に簡単にJSON対応させることが…

いまさらだけど、Java言語にはクロージャーがない

Java言語でメソッド中で内部クラスを作る時、そのメソッドのパラメーターやローカル変数に内部クラスのメソッド中からアクセスできます。しかし、この場合にはこれらの変数にfinalを付けないとコンパイルエラーになってしまいます。 public void test(int pa…

英語コンプレックスを持つプログラマーの弱音

想像以上にガラパゴス化した日本のIT業界?に対して ありがちな英語コンプレックス。 というコメントをいただいたことで、私は英語コンプレックスが非常に強いということをあらためて思い出しました。英語は全然平気だという方も中にはいらっしゃるかもしれ…

想像以上にガラパゴス化した日本のIT業界?

出版されている技術書のタイトルやネット上での情報を元に、なんとなくシステム開発で使われる技術が国によって差があるように感じるということを、これまでいろいろな記事で書いてきたのですが、はたして実際のところはどうなのでしょうか?300年前なら、Ma…

Groovy言語とAspectJの人気が今ひとつな本当の理由

先日DevLOVEの主催するぐるぐるGroovyという勉強会に参加してきました。 1月24日 DevLOVE ぐるぐるGroovy -Easy Going Groovy-(東京都) Groovy言語については、構文がJava言語に非常に近い上に、Javaの既存ライブラリーとの相互運用性も高く、さらに、Java言…

AJDTを使って規約違反のコードを検出する方法

AspectJというと、メソッドなどに処理を織り込むAOPのイメージが強いと思いますが、AJDTというeclipseのプラグインを使うと強力なコード検証ツールとして利用できることは意外と知られていないようです。(AJDTはSpring Tool Suiteには最初から内蔵されてい…

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などの用語もそうですが、立場によって用語からイメージするものが大きく違っ…