書籍紹介

日本における初の解説書であるJenkins実践入門を送っていただきました

先日、技術評論社の傳智之さん(@dentomo)より、Jenkins実践入門を献本していただきました。どうも、ありがとうございました。Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)作者: 佐藤聖規,和田貴久,河村雅人,米沢弘樹,…

SIerにはコード記述の自動化からビルド・デリバリの自動化へのトレンドの変化を理解してほしい

ちょっと前にTogetterで作成したまとめに対して大きな反響をいただきました。 SIerは自動化する対象が違っているのでは? - Togetter これは、私がContinuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addiso…

WebLogic & Java EE 活用セミナーのパネルディスカッションに登壇させていただくことになりました

9月6日(火)にオラクル青山センターで開催されるWebLogicとJava EEのセミナーの最後に行われるパネルディスカッションのセッションに登壇させていただくことになりました。 http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=139806&src…

日本でパターンが広まらない理由の一つは「ワンパターン」などのネガティブな和製英語のせい?

ソフトウェアアーキテクトの作業の一つに、システム全体の設計思想や開発方針を記述するアーキテクチャ説明書を作成をする仕事があります。そして、そのような設計書を記述する際に私はアーキテクチャパターンやデザインパターンの用語を利用します。例えば…

staticおじさんとオブジェクトおじさんはお互いに分かり合えるようになるかもしれません。

先日書いたstaticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指してのエントリに、なんと、みながわけんじ氏ご本人よりコメントを頂きました。もともとは一般のstaticおじさん達(英語ではst…

Javaエンジニア必携の「プログラミングGroovy」を献本していただきました

昨日、ポストを確認したところ、執筆陣の皆さんより、献本として送っていただきましたプログラミングGroovyが届いていました。プログラミングGROOVY作者: 関谷和愛,上原潤二,須江信洋,中野靖治出版社/メーカー: 技術評論社発売日: 2011/07/06メディア: 単行…

staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて

何が良いプログラムかという点はもちろん人やコンテキストによって異なりますが、少なくともプログラマーとしての私の信念としては、 機能拡張や変更が容易なプログラム 単体試験によって正しく動作することの検証が容易なプログラム どういった内容が記述さ…

こだわりのある職人プログラマーほど、無駄なコードを少なくしたいものという事実を理解してほしい

ちょっと興味深いエントリが目に留まりました。「プログラミングへのこだわり」を方向づける: 設計者の発言基本的に、この方自身もプログラマーや開発者をされているようですし、他のエントリを読んでも「プログラマーの地位向上をすべき」ということで、私…

Clojure言語基本の「き」(その2)

前回Clojure言語基本の「き」 - 達人プログラマーを目指してに引き続き、Clojure言語を新しく覚える際にポイントとなる事柄をまとめていきたいと思います。 逐次実行 (do 式1 式2 ... 式n)の形式を使うことで、処理を逐次実行させることができます。最終的に…

JavaEE標準の進化から最近の業務アプリケーション開発手法の変遷について考える

昨日まとめの記事EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指してを書いてみて、この10年間でエンタープライズJava開発の生産性がいかに向上してきたということをあらためて思い出し…

EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る

十年一昔といいますが、文字通り一昔前の書籍ではJ2EEのEJBコンポーネントはプロセスが分散化されたリモート呼び出しにより処理を行う分散コンポーネントとして説明されています。そして、残念ながら現状Java EE関連の日本語の書籍はこうした古い時代に書か…

JavaをSEとEEに分類するのは今では無意味になってきている?

ご存知のとおり、かなり以前からJavaプラットフォームはJava SEとJava EEとに分かれています。Java EEはJava SEを含んだ拡張APIを含み、エンタープライズ開発向けのプラットフォームということで一般的にはなんとなく理解されていますが、よくよく調べてみる…

ふと思い立ってClojureの勉強を始めることにしました。

最近は並行プログラミングの必要性から、関数型言語の人気が以前にもまして高まってきているという話はいろいろなところで耳にするようになったのですが、普段はJavaしか書かない私のような普通の業務プログラマーにとっては、正直なところHaskellやScalaと…

普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選

以前はJava EEの普通のWebアプリケーションで、JavaScriptはあくまでも利便性のために補助的に使うものという認識がありましたが、さすがに最近では普通の業務系のSI案件でもテーブル表示や入力補助などで高度なAjaxライブラリーの使用が当たり前のように求…

DevLoveのBeautiful Development(DDD勉強会)に参加してきました

昨日、DevLoveの主催するBeautiful Development(ソフトウェアの核心にある複雑さに立ち向かう)という勉強会に参加してきました。 https://sites.google.com/a/devlove.org/development/past-beneficiaries/devlove_ddd2 今回は、Domain-Driven Design(DDD…

Groovyのオーバーロードメソッドの解決はユニークなところがある

Java、C#、C++などを含めて現代のほとんどの静的な型付けのプログラミング言語では、異なる型を取る複数のメソッドを同じクラス中に多重定義することができます。これはメソッドのオーバーロード(overload)*1として知られています。たとえば、以下のように同…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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