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

Javaのクラスとオブジェクトについて再度解説を試みる

オブジェクト指向プログラミングの考え方については、今までこのブログでも何度か取り上げてきました。 [オブジェクト指向] - 達人プログラマーを目指して オブジェクト指向プログラミングはプログラミング技法のすべてではないとはいえ、Javaのようなオブジ…

ここぞというときの集中力Upのために、ヘッドフォンで音楽を聴きながらプログラミングしましょう

仕事や趣味でプログラミングしたり技術書を読みながら勉強したりする際には、言うまでもなく集中力を高めて維持することが大切ですね。職業プログラマーに必要な集中力ということには少なくとも二つの意味があるとは思いますが、 単純に正確に繰り返しキーを…

Javaの型パラメーターに対してstaticメソッドを呼び出した場合の挙動

以前にJavaの配列関連で調べたことがあったのですが、Javaの総称型は型消去によって直感的でない挙動をする場合があります。 Java言語のClassクラスが持つちょっと不思議な性質について - 達人プログラマーを目指して Java5の型システムを理解するにはリフレ…

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

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

転職して感じたウォーターフォール文化とアジャイル文化の違いについて

今月から新しい会社に転職して、あっという間に半月が過ぎてしまいました。いろいろな会社の規則や、開発環境、フレームワーク、仕事の進め方など、とにかくたくさんのことを短期間で詰め込む必要があり、もともと想定していたことではありますが自分として…

すでに定年を過ぎていますが、Amazonで引き続き達人プログラマーを目指すことになりました。

このたび9月末日をもってオージス総研を退職し、10月よりアマゾンジャパン株式会社に入社しました。今後はSoftware Development Engineerとして、日本をはじめ世界各国のAmazonのモバイルWebアプリケーションの開発を担当することになる予定です。 およそ7年…

普通の構造化プログラマーがオブジェクト指向の存在意義を理解するコツ

オブジェクト指向言語の存在意義を理解するのは難しい? id:amapetasさんによる、ちょっと興味深い記事がありました。 オブジェクト指向言語が流行した必然性について考える(1) - Programmer’s Log そして、その記事の中で説明されているのですが、やはり、C…

Pulseを使ってEclipseの設定を共有すると便利(ただし、閉鎖環境では使えません)

Eclipseのワークスペース設定を共有することは難しい EclipseはJavaの開発では最も人気の高いIDEであり、もちろん、私も仕事でも自宅でもずっとメインのIDEとして使ってきました。もちろん、NetBeansやIDEAなど他の優秀なIDEもフリーで利用できる時代なので…

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

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

オラクルさんのWeblogicセミナーでJava EEについてディスカッションしてきました

前回の記事で予告させていただいたとおり、本日、WebLogic & Java EE 活用セミナーの最終セッションの座談会にパネラーとして登壇させていただきました。今回、このような機会を与えていただいたオラクルさんの関係者の皆様、また、セミナーに参加された皆様…

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

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

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

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

Java EE6環境でJSF2を使う場合はCDIのBeanを管理Beanとして使う方がよい

先週の勉強会で紹介させていただいたjsf-scrumtoys-refactoredでは、JSFの管理Beanを使用する代わりにCDIのBeanを利用しています。この点説明が不十分だったので、ここで簡単に補足させていただきます。 JSFと管理Bean 勉強会の中で、JSFはコンポーネントベ…

Java EE6で単体テストや結合テストを自動化する方法について

今週水曜日に、オラクル青山センターで行われたGlassfish Japanユーザーグループの勉強会でJava EE6のお話をさせていただきました。勉強会のスライドとビデオは以下のリンク先にあります。 Glassfish勉強会(JavaEE6について) View more presentations from…

JPAを使ったデータアクセスでポイントとなる永続コンテキストについて

先週書いたエントリJava EE6標準の範囲でフルスタックのWebアプリケーションが簡単に作成できることを確かめてみました。 - 達人プログラマーを目指してで、Java EE6の標準仕様を使うだけで、かなりシンプルにデータのCRUD処理を行うアプリケーションが作成…

Java EE6標準の範囲でフルスタックのWebアプリケーションが簡単に作成できることを確かめてみました。

Java EE6でさらに開発は容易になった? 以前JavaEE標準の進化から最近の業務アプリケーション開発手法の変遷について考える - 達人プログラマーを目指してにてJava EE標準の開発モデルの進化について説明しました。10年前の相当面倒だったJ2EEの開発モデルと…

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

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

JavaのFileクラスは不変(immutable)クラスという点に関する注意点

長年Javaを書いてきた人間としてはちょっと情けないことに、先日、会社で自分の書いたコードが原因でちょっとしたバグを出してしまいました。きちんとテストファーストで単体試験は書いていたのですがテストが不十分でしたね。 バグの原因は、Fileクラスの仕…

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

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

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

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

汎用のフレームワークがあれば業務アプリ実装にオブジェクト指向は不要という考え方は適切でないと思う

前回のエントリいまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味についてのブクマのコメントで、 すごく今さら感がw 最近の開発はフレームワーク使うことが多いようだから知らなくても作れちゃうと思ってたけど違うのかなあ。 …

いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について

正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の…

第16回 G*ワークショップ(Groovy勉強会)に参加してきました。

大震災の影響もあるのか、前回(JGGUGの勉強会(G*ワークショップ)に初めて参加してきました - 達人プログラマーを目指して)と少し間が開いていますが、昨日、JGGUGさん主催のG*ワークショップというGroovy勉強会に参加してきました。場所は、東京の勉強会…

EclipseでJava EE6を使った開発をするときは型フィルター機能が便利

CDIなどJava EE6の新機能を使うときに、ちょっと厄介と感じるのは、複数のパッケージに同名のアノテーションが存在していることです。 大混乱に陥っているJavaEE 6のアノテーションに関する使い分けについて - 達人プログラマーを目指して うっかり間違えてi…

ConQATを利用してソースコードの品質をチェックする

ある程度プログラマーとして経験を積めば、ソースコードを読んだときに、そのソースコードの良し悪しというものは、嗅覚を使って直感的に嗅ぎ分けることができるものです。実際、そのように体の感覚を使ってこのコードは不吉だと感じるところは実際大いにあ…

Javaプログラミング能力認定試験の問題がかなり改善されていました

以前、本ブログでJavaプログラミング能力認定試験の1級のサンプルプログラムがあまりにも旧態依然とした設計でひどいという指摘をさせていただきました。 SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラ…

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

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

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

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

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

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

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

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