タグ

javaに関するderbyのブックマーク (79)

  • 業務系の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とその対策 - 達人プログラマーを目指して
    derby
    derby 2011/02/26
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
    derby
    derby 2011/02/26
  • Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その3) - 達人プログラマーを目指して

    少し間が開いてしまいましたが、前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その2)に続いて、試験問題のリファクタリングについて説明します。 Template Methodデザインパターンを使った制御の反転 前回までのリファクタリングで、 全体的にレイヤー化されたパッケージ構造を規定 わかりにくい変数名やクラス名をリネーム Repository、Consoleなど複雑で再利用可能な処理をインタフーフェースとその実装クラスとして抽出 各機能を担当するアプリケーション層のクラスに共通のインターフェースを実装させることでポリモーフィック(多態的)に処理を起動 といった手順を実行してきました。これまでのリファクタリングで、オリジナルのソースコードに比べると飛躍的に可読性の高いコードになっていると思いますが、ところどころで同じような制御構造が繰り返し出現することが

    derby
    derby 2011/02/09
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
    derby
    derby 2011/02/09
  • 次世代のモックフレームワークであるJMockitの基本的な使い方 - 達人プログラマーを目指して

    以前のモックフレームワークの技術的制約 今まで私が担当してきたプロジェクトにおいては、モックオブジェクトを使ったJUnitの単体試験はjMockとEasyMockのいずれかのフレームワークを利用して行ってきました。しかし、これらのフレームワークはJavaプラットフォームにおけるコード自動生成の考え方の変遷で説明したように動的プロキシーに基づいているため、以下のような制約がありました。 モック化する対象の型はインターフェースを実装しているか、継承可能なクラスであること モック化するメソッドはfinal、static、privateでないこと*1 モック化するロジックはコンストラクターの呼び出しではないこと モックオブジェクトをテスト対象クラスにDIかパラメーター経由で引き渡すことが可能であること モック化する場合はクラス全体をモック化する必要があること(getterやsetterなどは物の

    次世代のモックフレームワークであるJMockitの基本的な使い方 - 達人プログラマーを目指して
    derby
    derby 2011/02/05
  • SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して

    私自身は10年以上も前(JDK1.1の頃)にSJC-Pの認定を取って以来、Javaプログラミング関連の認定試験は受けていないのですが、昨日たまたまネットを検索して、SJC-Pとは別にJavaプログラミング能力認定試験という試験が存在していることを知りました。結構メジャーな認定試験のようですので、現役のJavaプログラマーJavaプログラマーを目指している学生さんで、今後受験に向けて勉強されている方々も多くいらっしゃるのではないかと思います。 試験は難易度に応じて3級から1級までランクが分かれており、2級まではJava言語の知識に関する筆記試験ですが1級の試験では実際のプログラムの修正を行う能力が実技試験として課せられます。試験範囲は以下で公開されています。 Javaプログラミング能力認定試験(試験範囲) 私は(自分で言うのも変ですが)、Javaプログラミングについてはこの道15年近くのキ

    SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して
    derby
    derby 2011/01/10
  • 設計者/SEが覚えておきたいJavaと.NETの違い

    編集部注:読者の貴重なご指摘により一部コンテンツを削除・改編させていただきました。内容に不備があったことをお詫び申し上げます(2010年7月8日) プログラマが知っておきたい両者の違いは前回で 第1回「プログラマが知っておきたいJavaと.NETの違い」では、Javaと.NETそれぞれのプラットフォームの特徴や構成、使用されているプログラミング言語や開発環境について解説し、PC上でアプリケーション・ソフトウェアなどのプログラムがどのような仕組みで実行されているかを紹介しました。 今回はクライアント技術、その中でもクライアントアプリケーションを作るうえで重要な、UI(ユーザーインターフェイスを作成するための開発方法や、Webアプリケーションを開発するための主要な技術を、フレームワークやデータアクセス技術なども交えながらご紹介します。 Javaのクライアントサイド技術GUI開発) Java

    設計者/SEが覚えておきたいJavaと.NETの違い
  • Javaで軽快に使える「軽量フレームワーク」特集~リッチなGUIを構築する「Vaadin」(1)

    はじめに フレームワークと言うと、多くの人は「アプリケーション全体を設計するもの」というイメージでとらえているかもしれません。しかし、もちろんそれだけがフレームワークではありません。例えばHibernateのように特定の機能に特化したものも存在します。 最近になって見られるようになってきたのが、「Ajax利用のためのフレームワーク」です。例えば、「Google Web Toolkit(GWT)」などのことです。Javaを使って、Ajax利用のWebアプリケーションを構築するフレームワークです。素のHTMLだけでは実現できないリッチなGUIを、JavaScriptの複雑なコードを書くことなく実現できるフレームワークとして、GWTは広く使われつつあります。 これまで、サーバーサイドのことばかり考えていた感のあるフレームワークの世界に、こうした「クライアントサイドの構築」を重視したものが登場する

    Javaで軽快に使える「軽量フレームワーク」特集~リッチなGUIを構築する「Vaadin」(1)
  • Eclipse バージョン別セットアップマニュアル一覧 - @IT

    IT編集部 2009/3/4 最終更新: 2010/04/01 14:19 主にJavaにかかわる開発者/プログラマのための開発環境/ツール/アプリケーションサーバのセットアップ/インストール記事へのリンク集です。ソフトウェアとそのバージョンごとに表でまとめてあります(基的にWindows系のOSを対象にしていますが、Linuxなども対象にしている記事もあるので、表のバージョン番号にご注意ください)。今後、新たにインストール記事が公開されたら改訂していきます。 それぞれ過去にリリースされたバージョン(アーカイブ)のダウンロード先 も掲載しているので、過去バージョンのソフトウェアを使う場合は併せてご覧ください。 JDK/JRE/Eclipse/MyEclipse/All-In-One Eclipse/NetBeans /Tomcat/JBoss AS/GlassFish/Apache/S

  • Tomcatのインストール(設定編) | へっぽこSEのTomcat入門

    Webサーバ環境構築 - Tomcatのインストール(設定編) Tomcatの設定 Tomcatのインストールが終われば、Tomcatが動作するまであと少しです。 環境によっては既に変更が終わっている場合や値を調整する必要をもあるかと思いますが、基的には下記の4つの点を設定が必要になると思います。 Tomcat設定のポイント ユーザ環境変数の設定 Tomcat実行シェルスクリプト修正 ヒープメモリの設定 Tomcat自動起動の設定 ユーザ環境変数の設定 Tomcatのアプリケーションを実行するには、あらかじめJDKやTomcatの格納ディレクトリにPATHを通しておく必要があります。これらのPATH設定は、「tomcat」ユーザのユーザプロファイルにて設定します。 ユーザを作成した際に指定したディレクトリにもよりますが、Tomcatのインストール(準備編)の

  • redhat.com | jboss document

    For customersCustomer supportDocumentationSupport CasesSubscription managementRed Hat Ecosystem CatalogFind a partnerFor partnersPartner loginPartner supportBecome a partnerTry, buy, & sellRed Hat MarketplaceRed Hat StoreContact SalesStart a trialLearning resourcesTraining and certificationFor developersHybrid cloud learning hubInteractive labsLearning communityRed Hat TVOpen source communitiesAns

    redhat.com | jboss document
  • おいおいRodがOracleにけんか売ってるよ - ひがやすを技術ブログ

    SpringOneのkeynoteでRod(Springのfounder)がOracleにけんか売ってますね。 Rod does not believe Oracle will contribute to Java innovation because *Oracle is not an innovator *Oracle acquisition is for Wall Street not developers *Oracle is focused on making money not innovating詳しくはこちら。 Keynote: The Future of Java Innovation 企業がやってるんだから、making moneyにフォーカスするのはある意味当然でそんな違和感はない。ただ、Oracleにだけ都合が良いように仕様を決められると困るけど、さすがにそんなこと

    おいおいRodがOracleにけんか売ってるよ - ひがやすを技術ブログ
    derby
    derby 2009/06/13
  • G1ガベージコレクタの威力を検証してみた - しんさんの出張所 はてなブログ編

    いよいよおまちかね!GF決勝大会レディーゴ(ry GFは世界の覇権をかけたガベージコレクト・ファイトの略だろJK …少しGガンダムに毒されてしまったようだ… ガベージコレクションの性能を検証したのをあげたのはJ2SE 5.0が出た直後あたりが最後だったっけ。もう5年近く前か。 http://shin.cside.com/diary/2004/10.htm#1 JavaSE 6 update14にてG1ガベージコレクタが入ったようなのでこれを試してみる。 ベンチに使うのはいつもどおりの自作STG。 GCのログも全部掲載してるので長文です。 インクリメンタルガベージコレクタ まず一番最適化してるインクリメンタルGCでの設定。なおインクリメンタルGCは5.0のときに実装がまるごとコンカレントGCにさしかえられているのでコンカレントGCを使っているという認識でOK。単に長いオプション名を暗記してい

    G1ガベージコレクタの威力を検証してみた - しんさんの出張所 はてなブログ編
    derby
    derby 2009/06/13
  • http://msugai.fc2web.com/java/perform/garbage.html

    derby
    derby 2009/05/17
  • Java 入門 | JVM のメモリ構造

    Revised: 2nd/Nov./2003; Since: 26th/Jan./2003 データ・エリア JVM のメモリ構造は、スタックとヒープに大別されます。ヒープ (Heap) は GC の対象で、JVM 起動時に割り当てられる広大な領域です。Java 仮想マシン・スタック (Java Virtual MAchine Stack) はスレッドごとに割り当てられる、メソッド起動ごとにフレーム (Frame) と呼ばれるデータを出し入れする線形のデータ構造です。クラスのインスタンスなどはヒープに格納しますが、インスタンスのような GC 対象となる動的なデータと、クラス構造などの静的なデータは、別の領域に保持し、静的な構造を保持する領域をメソッド・エリア (Method Area) と呼びます。 図:JVM のメモリ構造 Java 仮想マシン・スタック JVM はプロセスの一つとして、O

    derby
    derby 2009/05/17
  • Slim3 for Google App Engine/Java - ひがやすを技術ブログ

    Slim3をGAE/Jに対応させました。 デモサイトはこちら。 http://higayasuo.appspot.com/ ソースコードをチェックアウトしたい場合はこちら。 http://code.google.com/p/slim3/source/checkout https://slim3.googlecode.com/svn/を指定してチェックアウトできます。デモ用のプロジェクトは、slim3-demoです。 SAStrutsのチュートリアルをやったことのある人なら、デモサイトが、そっくりだということがわかるでしょう。Slim3 Struts(SAStruts相当)がGAE/Jで動くわけです。 素のStrutsだとGAEではファイルアップロードに失敗しますが、Slim3 Strutsはその辺も対応してます。 やってみて感じたのは、GAE/Jは、制限が結構厳しいので、高度なフレームワー

    Slim3 for Google App Engine/Java - ひがやすを技術ブログ
    derby
    derby 2009/04/12
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
    derby
    derby 2009/03/27
  • http://www.itarchitect.jp/technology_and_programming/-/18161.html

    derby
    derby 2009/01/18
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    derby
    derby 2008/12/28
  • Eclipseのメリットを知ってほしい - プログラマーの脳みそ

    高機能なIDEを使え、という話題になった場合にはだいたい決まった反論がある。それは確かにIDEの欠点の部分で、要するにIDEを使うかどうかは、そのメリット・デメリットを秤にかけて傾いた方を選ぶべきだ。 私は仕事では主にJavaの開発をやっているのだけど、どうにもEclipseの機能を使えていない人が多い。もちろん、私もそれほどEclipseをマスターしているというわけではないのだけども、それでもテキストエディタでの開発に戻らないだけの十分な理由がある。そこを伝えたかったのがEclipseからテキストエディタに戻れない10の理由 - プログラマーの脳みそだ。 こうした大きな恩恵があるにも関わらず、「そんな恩恵があるなんて知らなかったから」という理由でEclipseを使わないなんて選択をして欲しくない。Javaの父たるジェームズ・ゴスリン氏もIDEの重要性を訴えている。もっとも彼が推すのはNe

    Eclipseのメリットを知ってほしい - プログラマーの脳みそ
    derby
    derby 2008/12/21