タグ

ブックマーク / ryoasai.hatenadiary.org (25)

  • アナリシスパターン - 非常にとっつきにくいが読めば読むほどに良さがわかる名著 - 達人プログラマーを目指して

    アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series) 作者: マーチンファウラー,Martin Fowler,堀内一,友野晶夫,児玉公信,大脇文雄出版社/メーカー: ピアソンエデュケーション発売日: 2002/04メディア: 単行購入: 7人 クリック: 89回この商品を含むブログ (70件) を見るAnalysis Patterns: Reusable Object Models (Addison-Wesley Object Technology Series) 作者: Martin Fowler出版社/メーカー: Addison-Wesley Professional発売日: 1996/10/09メディア: ハードカバー購入: 1人 クリック: 3回この商品を含むブログ (3件) を見るJava EEを含めて、業務システムの開発をオ

    アナリシスパターン - 非常にとっつきにくいが読めば読むほどに良さがわかる名著 - 達人プログラマーを目指して
    suginoy
    suginoy 2014/07/26
    "O/Rマッピングが気軽に使えるようになった今こそ、再度読み直してみるべき価値のある本だと思います"
  • 1台のPC上で複数のJBossサーバーを起動する方法 - 達人プログラマーを目指して

    リモート通信やクラスターの試験をローカルPC上で行いたい場合など、一台のPC上で複数のサーバーを起動できると便利です。tomcatやweblogicだとサーバーのポートを変更するだけで比較的簡単に複数のサーバープロセスを一台のPC上で起動できるのですが、JBossの場合は内部のサービスが大量のポートを利用しているため、ポートを変更する方法だとかなり設定変更が大変です。メモリなどのリソースが豊富なPCをお持ちの方なら仮想マシンの利用も可能ですが、いくつも起動するのはよほど高性能なPCでないと困難です。もっとも簡単なのは、マルチホーミングを使ってPCに複数のIPアドレスを割り当てておき、各サーバーのインスタンスに対して別々のIPアドレスをバインドする方法です。Windows7だとマルチホーム化はループバックアダプターを追加するのが簡単です。Windows 7でMicrosoft Loopbac

    1台のPC上で複数のJBossサーバーを起動する方法 - 達人プログラマーを目指して
    suginoy
    suginoy 2013/06/05
    「JBossの場合は内部のサービスが大量のポートを利用している」「マルチホーミングを使ってPCに複数のIPアドレスを割り当てておき、各サーバーのインスタンスに対して別々のIPアドレスをバインドする」
  • Pulseを使ってEclipseの設定を共有すると便利(ただし、閉鎖環境では使えません) - 達人プログラマーを目指して

    Eclipseのワークスペース設定を共有することは難しい EclipseはJavaの開発では最も人気の高いIDEであり、もちろん、私も仕事でも自宅でもずっとメインのIDEとして使ってきました。もちろん、NetBeansやIDEAなど他の優秀なIDEもフリーで利用できる時代なのですが、やはり、入力支援機構やリファクタリング機能の豊富さについては、やはり、Eclipseが他と比べて一歩優れているように思われます。*1 そして、Eclipseの最大の特徴の一つは柔軟なプラグインのアーキテクチャであり、豊富なプラグインの中から選択して好みの機能を拡張することができます。ただし、これはEclipseの最大のメリットでもあるのですが、大量のプラグインを管理して複数の端末で効率的に共有するということは案外大変なことでした。 Pleiadesのオールインワンパッケージを利用したり、また、SpringやJB

    Pulseを使ってEclipseの設定を共有すると便利(ただし、閉鎖環境では使えません) - 達人プログラマーを目指して
    suginoy
    suginoy 2013/05/22
  • 楽しく読めるUML業務モデリングのカラー図鑑 - 達人プログラマーを目指して

    Javaエンタープライズ・コンポーネント―カラーUMLによるJavaモデリング 作者: ピーターコード,ジェフデ・ルーカ,エリックレイフェイブル,Peter Coad,Jeff De Luca,Eric Lefebvre,依田光江,依田智夫,今野睦出版社/メーカー: ピアソンエデュケーション発売日: 2000/09メディア: 大型 クリック: 1回この商品を含むブログ (10件) を見る先日紹介したアナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)と共に、私が気に入っているモデリングのです。残念ながら、原書、和訳ともに既に絶版となっているようで、現在では古としてしか購入できないようですが。著者のピーター・コードもソフトウェア業界から完全に引退してしまったみたいですし、非常に残念です。 このの最大の特徴はUMLモデリングでクラスを

    楽しく読めるUML業務モデリングのカラー図鑑 - 達人プログラマーを目指して
    suginoy
    suginoy 2013/03/26
    「トランザクション系、マスター系という2種類でエンティティを抽出するのに比べて、4色の色分けで思いがけない有効なクラスが抽出されることもあり、より深いドメインモデルへと到達できる可能性があります」
  • アマゾンにおけるソフトウェア開発の仕事について感じたこと - 達人プログラマーを目指して

    ちょうど、先日アマゾンのオープンハウスというイベントでお話をさせていただく機会があったのですが、開発者向けの20日のセクションだけで90名近くの方々にご参加いただきました。平日にもかかわらず、多数の方々にご参加いただき、どうもありがとうございました。 私自身は、昨年秋にSIerからアマゾンに転職してまだ半年ですが、この機会にアマゾンにおけるソフトウェア開発の文化や考え方について、ブログでご紹介できる範囲でまとめてみたいと思います。 私は、ずっとブログに書いてきたようにSI業界からの転職だったのですが、一般的なSIerにおけるソフトウェア開発の考え方や手法といろいろな面で違っているということは予想していたというか、もともと覚悟の上での転職でした。それでもやはり最初のうちはあまりにも大きな変化に自分の仕事のスタイルを合わせるのにいろいろと苦労しました。基的には転職したての頃に抱いた感想(転職

    アマゾンにおけるソフトウェア開発の仕事について感じたこと - 達人プログラマーを目指して
  • 日本のユーザー企業は忍者のようなプログラマーをもっと登用して重用すべきでは - 達人プログラマーを目指して

    あの記事から一年、ひがやすを氏が以下のエントリーで、プログラマーとして、新しいサービスを作ることの難しさについて書かれています。 僕と君とSIerの生きる道 - yvsu pron. yas 確かに私自身は、サービスを作る側に回った(まだISIDにいるけど、ベンチャーで働いているようなものです)のですが、身を持って面白いサービスを作る難しさも経験しました。 面白いサービスを作るのはほんとうに難しい。その後、マネタイズにも成功するのはさらに難しい。サービスを作る側に回って成功するのはほんの人握りの人なんです。 もともと一年前におっしゃっていたことは、SIerのビジネスに将来性はないから優秀なプログラマーは自分でサービスを作る側に回らなくてはならないし、単によいコードを作れるだけでなくて、自分からアイデアを考えられるようにならなくてはならないということだったかと思います。一年前この記事を読んだ

    日本のユーザー企業は忍者のようなプログラマーをもっと登用して重用すべきでは - 達人プログラマーを目指して
    suginoy
    suginoy 2012/02/13
    「Amazonではエンジニアのことを忍者と呼ぶことがありますが、単に外国人の興味を引くということだけでなく、この呼び方はエンジニアの職務を表現する上で非常にマッチしていると考えます。」おもしろい。
  • 開発コストや技術リスクを考えない「上流設計」がシステムの複雑化と大規模な障害の原因となっているのでは? - 達人プログラマーを目指して

    皆さん、明けましておめでとうございます。昨年の後半は私自身SI業界からWeb業界へ転職したことなど仕事環境の変化があり、ブログの更新頻度も鈍りがちになってしまっていましたが、年もどうぞよろしくお願いいたします。 さて、ちょうど、一年前のお正月にはグルーポンのおせち料理事件が話題になっていましたが、私はおせち料理の品質とIT業界における品質の問題を絡めて、以下の記事を書きました。 グルーポンのおせち事件を受けてSI業界が当に教訓とすべきこと - 達人プログラマーを目指して この記事では、一般にSIerによって開発される日のシステムはあの事件おせち料理のように、低い品質に甘んじているが、多くの場合、社内システムなどではそういった品質の問題が公に明らかにされることが少ないのではということを指摘しました。ただ、その時は私の希望も込めて 最近はOSSやクラウドなどの影響で社内システムもどんど

    開発コストや技術リスクを考えない「上流設計」がシステムの複雑化と大規模な障害の原因となっているのでは? - 達人プログラマーを目指して
  • 日本における初の解説書であるJenkins実践入門を送っていただきました - 達人プログラマーを目指して

    先日、技術評論社の傳智之さん(@dentomo)より、Jenkins実践入門を献していただきました。どうも、ありがとうございました。 Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) 作者: 佐藤聖規,和田貴久,河村雅人,米沢弘樹,山岸啓,川口耕介出版社/メーカー: 技術評論社発売日: 2011/11/11メディア: 単行(ソフトカバー)購入: 26人 クリック: 496回この商品を含むブログ (64件) を見る既に、Jenkins(Hudson)については、開発プロセスを自動化する継続的インテグレーションに欠かせないツールとして、日でも非常に人気高いツールとなっており、また、雑誌やインターネットの記事でも今まで時々特集が組まれてきたと思います。WEB+DB PRESS 総集編 [Vol.1?60] 作者: 森田創,cho45

    日本における初の解説書であるJenkins実践入門を送っていただきました - 達人プログラマーを目指して
    suginoy
    suginoy 2011/11/14
    "研究をされている方々"「一般にSIerはビルドを自動化していないというような誤解を与えかねない書き方をしてしまったのですが、なんと、本書の著者は全員NTTデータで研究をされている方々のようです。」
  • 転職して感じたウォーターフォール文化とアジャイル文化の違いについて - 達人プログラマーを目指して

    今月から新しい会社に転職して、あっという間に半月が過ぎてしまいました。いろいろな会社の規則や、開発環境、フレームワーク、仕事の進め方など、とにかくたくさんのことを短期間で詰め込む必要があり、もともと想定していたことではありますが自分としてはかなりたいへんでした。 やはり、自分としては、外資系の会社で英語でのコミュニケーションが必要となるということが、最も気がかりなことでした。実際、初日の歓迎ランチはいきなり名前もわからない多くの外国人に囲まれる状況でしたし、電話会議を使って中国アメリカのチームと一緒に行う日々の進捗ミーティングも英語で行われています。自分としては、特に、リスニングが苦手ということもあり、いまだに完全に会話についていくのが困難なところはありますが、同僚やマネージャーもみんなすごく親切に教えてくれるので安心しました。私は新しい環境に慣れるのに結構時間がかかる方なので、まだまだ

    転職して感じたウォーターフォール文化とアジャイル文化の違いについて - 達人プログラマーを目指して
    suginoy
    suginoy 2011/10/19
    「SIerのように新システムの開発をゼロから行うという機会はめったにありません。だから、常に最新の言語やフレームワークでなくては嫌な人には向いていないかもしれません」
  • すでに定年を過ぎていますが、Amazonで引き続き達人プログラマーを目指すことになりました。 - 達人プログラマーを目指して

    このたび9月末日をもってオージス総研を退職し、10月よりアマゾンジャパン株式会社に入社しました。今後はSoftware Development Engineerとして、日をはじめ世界各国のAmazonのモバイルWebアプリケーションの開発を担当することになる予定です。 およそ7年間にわたり、前職のオージス総研ではソフトウェアアーキテクトとして、SOAやEAといった全社的なシステムのアーキテクチャから、上流のモデリング、Java EEを使ったアプリケーションの開発など、技術者として様々な経験を積ませていただきました。私自身はこのブログでも何度も取り上げてきたように、モデリングやオブジェクト指向といった技術を用いて、実際の基幹業務システムの設計などに活用することで、高品質で保守性の高いシステムの構築に貢献したいという思いがありました。そのようなシステムを構築、維持するためには高品質なアーキテ

    すでに定年を過ぎていますが、Amazonで引き続き達人プログラマーを目指すことになりました。 - 達人プログラマーを目指して
    suginoy
    suginoy 2011/10/04
    結局SIerから足を洗うと。まずは、おめでとうございます。
  • staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して

    何が良いプログラムかという点はもちろん人やコンテキストによって異なりますが、少なくともプログラマーとしての私の信念としては、 機能拡張や変更が容易なプログラム 単体試験によって正しく動作することの検証が容易なプログラム どういった内容が記述されているか理解しやすいプログラム といったものこそ、「品質の高い」プログラムが持つべき性質として、まず真っ先に挙げるべき事項であると考えています。もちろん、前提として顧客の要件に従うということは大切なことです。しかし、一般に要件は長期にわたって変更されるものですし、使い捨てのプログラムを除けば、プログラムを長期にわたって保守するコストという点も見過ごすべきではありません。したがって、ユーザーの目には触れない上記の性質をもっと重視すべきだと思うのです。 DRYの原理 上記のような性質を満たすプログラムを作る上で大切になってくる原理として、DRYの原理とい

    staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
    suginoy
    suginoy 2011/06/29
    「staticメソッドにはポリモーフィズムが存在せず、コンパイル時に呼び出し先が一つに固定されます。」忘れがち。
  • 普通の業務系Java PGでなくても一度はハマる?JavaScriptのthisの奇妙な振る舞い - 達人プログラマーを目指して

    先日書いた普通の業務系PGには意外と知られていないJavaJavaScriptの相違点10選 - 達人プログラマーを目指してでは、これからJavaScript格的に勉強する層のプログラマーの人を対象に、JavaJavaScriptの違いを理解する上で重要な10個のポイントについて説明しました。いただいたコメントの中には、JavaScriptJavaは当然まったく別の言語で、比較すること自体問題であるという趣旨のご指摘もいただきました。確かにその通りなのですが、実際、業務で格的なプログラムの開発はJavaでしかしたことがないという開発者は結構自分のまわりにはたくさんいますし、時代の流れから言って、これから初めて格的にJavaScriptを書くという人も今後たくさん出てくるのではないかと思います。そういう人にとっては、やはり、違いを意識するところから入っていくというのは学習のアプ

    普通の業務系Java PGでなくても一度はハマる?JavaScriptのthisの奇妙な振る舞い - 達人プログラマーを目指して
  • 普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して

    以前はJava EEの普通のWebアプリケーションで、JavaScriptはあくまでも利便性のために補助的に使うものという認識がありましたが、さすがに最近では普通の業務系のSI案件でもテーブル表示や入力補助などで高度なAjaxライブラリーの使用が当たり前のように求められるようになりつつあります。サーバーサイドのJavaScript技術といったものもありますが、そういった新しい技術を使わないまでも、ごく普通にある程度大きなJavaScriptの作成が必要になってきているということです。 もちろん、JavaJavaScriptはその名前にかかわらず、来全く別の言語です。しかし、意図的に似た構文でロジックが書ける*1ため、兄弟の言語として認識している人も意外に多いのではないかと思います。しかし、使用できるライブラリーに違いがあるという点が一見してわかる最も大きな違いですが、基的な言語の文法

    普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して
    suginoy
    suginoy 2011/04/25
    「JavaScriptのswitch文による値比較では===演算子のように厳密な型比較が行われ、暗黙の型変換は行われないことに注意」
  • DevLoveのBeautiful Development(DDD勉強会)に参加してきました - 達人プログラマーを目指して

    昨日、DevLoveの主催するBeautiful Development(ソフトウェアの核心にある複雑さに立ち向かう)という勉強会に参加してきました。 https://sites.google.com/a/devlove.org/development/past-beneficiaries/devlove_ddd2 今回は、Domain-Driven Design(DDD)をテーマにした勉強会でした。ここで簡単にレポートさせていただきたいと思います。 勉強会参加のすすめ 実は、DevLoveの勉強会に参加するのはまだ今回が2回目です。*1 このように私自身もまだDevLove初心者なのですが、今回は初参加の人がかなり大勢いたようです。*2こういった技術者の勉強会というと、初心者お断りというか、相当の予備知識があったりOSSコミュニティーに貢献したりしていないと参加してはいけないのでないかと

    DevLoveのBeautiful Development(DDD勉強会)に参加してきました - 達人プログラマーを目指して
  • IT業界における「技術力」の意味するものは、日進月歩の勢いで変化しているということを理解してほしい - 達人プログラマーを目指して

    前回のエントリー日のSI業界でこそ、専門の技術者の必要性がもっと見直されるべきではないのか? - 達人プログラマーを目指してで、「技術の専門家」という言葉を用いたのですが、人によってこの言葉に対してイメージするものが結構違うのではないかと思います。この点に関して、ちょっと補足させてください。 一般的なイメージだと「匠」という言葉を聞いてイメージするのは、その道何十年、ひたすら同じ作業を繰り返すことで特定の技を極めるような仕事を想像してしまいます。実際、車の車体の細かい傷を一瞬で判別してしまうような熟練工の技といったものは簡単に身に付くものではありません。陶芸家とかバイオリンのマイスターなども同じようなイメージですし、ピアニスト、将棋棋士、野球選手などプロフェッショナルな職業はそのように長い時間をかけて道を究めるといったところがあります。同じ専門家でもちょっと毛色が違うところがありますが、

    IT業界における「技術力」の意味するものは、日進月歩の勢いで変化しているということを理解してほしい - 達人プログラマーを目指して
    suginoy
    suginoy 2011/04/09
    「自分の記憶している昔の技術が使われなくなったことにより、技術力が不要になったと勘違いしている人が多い」
  • システム系の例外は実行時例外+AOPでハンドリングするのがベスト - 達人プログラマーを目指して

    インフラ層のチェック例外はやはりJavaのBad Partだと思う 先日のJava言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指してで、 インフラ層のフレームワークなどでは実行時例外が適切 ということを書いたのですが、この点についてもう少し詳しく考えてみたいと思います。 Java: The Good PartsのではRMIの章があるのですが、RMIではRemoteというマーカーインターフェースを継承しつつ、すべてのメソッドがRemoteExceptionというチェック例外を送出する規則となっています。 Java Good Parts(9.1節より引用) pubic interface StatRecorder extends Remote { void recordGame(BoxScore stats) throws RemoteException;

    システム系の例外は実行時例外+AOPでハンドリングするのがベスト - 達人プログラマーを目指して
    suginoy
    suginoy 2011/03/03
  • 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して

    Java: The Good Partsののタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす

    業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して
    suginoy
    suginoy 2011/03/02
  • RMIのサーバーオブジェクトはスレッドセーフでなくてはならない - 達人プログラマーを目指して

    RMIのAPIJava Docに書かれていないようなので見落としがちなことですが、RMIのサーバーオブジェクト(Remoteの実装クラス)は、複数のスレッドから同時に呼び出される(可能性がある)ようです。このことは、 Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行購入: 30人 クリック: 442回この商品を含むブログ (174件) を見るJava Concurrency in Practice 作者: Brian Goetz,Tim Peierls,Joshua Bloch,Joseph Bowbeer,David Holmes,Doug Lea出版社/メーカー: Addison-Wesley

    RMIのサーバーオブジェクトはスレッドセーフでなくてはならない - 達人プログラマーを目指して
    suginoy
    suginoy 2011/02/24
  • Java言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指して

    デブサミ2011会場のオライリーのブースで目に入ったため、以下のを購入しました。 Java: The Good Parts 作者: Jim Waldo,矢野勉,笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型購入: 3人 クリック: 148回この商品を含むブログ (37件) を見る180ページほどの薄いですし、各章は独立して気軽に読むことができます。早速、気になるいくつかの章から読んでみました。ただし、監訳者のid:t_yano氏も前書きで 書が、みなさんにとってJava以外の言語についても考えるようになり、みなさんのプログラミングの世界がさらに豊かになることを望みます。 と書かれているように、このから直接Javaのプログラミングのテクニックや知識を得るというよりも、ベテランの上級者がJavaについて考え直すきっかけ作りとして読むのが良

    Java言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指して