タグ

PL-Javaに関するsasaplus1のブックマーク (76)

  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
  • Fedora 14でOpenJDKをビルドする - nekop's blog

    さて、第1回JVMソースコードリーディングの会(OpenJDK6)もあることですし、OpenJDKのソースに手を入れたりコンパイルオプションとか変えてビルドしたいなぁ、とか思いますよね。というわけで一つOpenJDKビルド用サンドボックスとなるFedora 14環境を用意してOpenJDK 6をビルドしてみましょう。 Fedora 14が無い人はFedoraのサイトからLive isoイメージダウンロードして(torrentが利用できる人はtorrent使った方がダウンロード早いです)、仮想環境とか一個作って入れれば良いです。仮想環境では1.2GBほどのメモリと20GBほどのディスクを用意してください。インストールしたらsu -してvisudoで自分のユーザからsudoを発行できるようにしましょう。サンドボックス環境なのでNOPASSWD指定で良いと思います。 Fedora 14がインスト

    Fedora 14でOpenJDKをビルドする - nekop's blog
  • 普通のSI会社では評価されにくいのだけど、多くのシステムは研究熱心な技術者の小さな発見と工夫の積み重ねによって支えられているのでは? - 達人プログラマーを目指して

    昨晩遅く、id:backpaper0さんの以下のツイートが目にとまりました。 staticでない物の内部クラスは暗黙で外側のインスタンス(エンクロージングインスタンス)のthisにアクセスできる仕様なので、newを使った普通のインスタンス化の方法では決して外部のインスタンスが存在しない状態でnewできないようになっています。つまり、内部クラスのインスタンス化にはエンクロージングインスタンスの存在が前提となるというのが私が長年Javaのコードを書いてきた中での常識でした。 実際、エンクロージングインスタンスの外側で内部クラスのインスタンスを作成する場合、以下のようにnew演算子の前にエンクロージングインスタンスを書かなくてなならない仕様となっているため、これがnullでは決して内部クラスが生成できないように構文上工夫されています。 public class Outer { private

    普通のSI会社では評価されにくいのだけど、多くのシステムは研究熱心な技術者の小さな発見と工夫の積み重ねによって支えられているのでは? - 達人プログラマーを目指して
  • 普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して

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

    普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して
  • もう Java EE 6 でいいんじゃない?

    もう Java EE 6 でいいんじゃない? 2011年4月21日 at 11:31 午前 2件のコメント 日、「Oracle ダイレクトセミナー」で Java EE 6 の詳細説明を行います。当初 GlassFish についても説明する予定でしたが、日は GlassFish の説明は殆どなく Java EE の説明に集中します。またエントリ中に今日発表で使用するプレゼンを添付します。全部で P 132 程あり1時間のセミナーでは全てを伝える事はできません。ただ、資料を見て頂く事で、Java EE 6 に含まれる技術について理解して頂けるのではないかと思います。Java EE 6 について全体像を理解したい方は是非ご覧ください。(必要な場合、SlideShare からダウンロードしてください。) ※ Bean Validation, DI/CDI については別途追加予定です セミ

    もう Java EE 6 でいいんじゃない?
  • Javaにおける開発・Test(Unit/Web/負荷)環境のまとめ - よねのはてな

    うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence

  • Javaで覚えるIT技術者の40の常識 - @IT

    ~新人プログラマ/SEは覚えておきたい“まとめ”~ @IT編集部 2011/3/24 このページは、開発者/プログラマが、以下のような項目に関して、常識的な基礎知識を学ぶための記事リンクのまとめです。 デスクトップなどの見た目に関する3つの常識 プログラミング・コーディングに関する6つの常識 ネットワーク/通信に関する9つの常識 セキュリティに関する3つの常識 データとファイルに関する5つの常識 設計・アーキテクチャに関する6つの常識 ソフトウェアの品質管理に関する3つの常識 業務アプリに関する5つの常識 Java SE(旧、J2SE)のコアAPIやJSP/サーブレット+StrutsのWebアプリケーション開発、JBossやその他のJavaオープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • Java で Web アプリケーションを開発する。(前編) - D.

    環境構築がいちいち面倒なので情報をまとめておく。手早く設定してすぐに開発に取り掛かれるようにしたい。 Java JDK Mac OS X の場合、すでに Java がシステムに組み込まれている。 $JAVA_HOME を /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home に設定する。 $JAVA_HOME/bin にパスを通しておく。 Debian / Ubuntu の場合は apt を使うだけである。 sudo apt-get install sun-java6-jdk Windows の場合は、公式サイトから Sun の JDK をダウンロードしインストールする。 http://java.sun.com/javase/ja/6/download.html インストールする場所はデフォルトのままでも良いが C:

    Java で Web アプリケーションを開発する。(前編) - D.
  • Jodd

    Jodd is a set of micro-frameworks and developer-friendly tools and utilities. Code-things-done. Great performances. Tiny dependencies. Use what you like!

  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
  • 業務系の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とその対策 - 達人プログラマーを目指して
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

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

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • Googleが開発したJavaデバッグを簡単にする新技術「cofoja」 | エンタープライズ | マイコミジャーナル

    Java Programming Language Googleの20%プロジェクトからJava向けの新しい技術「cofoja (Contracts for Java)」が公開された。既存の実装に大きく手を加えることなく、デバッグをより簡単にしてくれる効果が期待できる。バグは些細なコードが起こすものだったりするが、それを追跡して発見するのは時に困難を極める。これは問題が発生した箇所と、実際にバグがある箇所が大きく離れていることが理由になっていることもある。問題発生箇所とバグ発生箇所を近くにまとめることができれば、それだけバグ発見も取り組みやすくなる。 cofojaはこれを簡単に実現するための技術。インタフェースに制約表現を追加可能にするところがポイントとなっており、クラスの実装に手を加えなくてもインタフェースに制約表記を追加することで実行時にチェックできるようになる。ブログに掲載されている

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

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

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • Page not found - ファイヤープロジェクト

    The page you are trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for.

  • OSS iPedia 記事

    ・報告書概要資料 ・調査報告書 アプリケーション実行基盤標準のJavaについて、広く使用されているJDK(SunJDK) とオープン化されたOpenJDK についてクラウド環境上で詳細な解析を行い比較しました。仮想化環境での相互運用性評価、ソースコード解析などによりJDK(SunJDK)と OpenJDKの違いについて確認し、OpenJDKが問題なく使用できるか、また相互運用性の観点から互換性が担保されているかを確認しました。

  • Apache commonsが便利な件(commons-lang編) - 都元ダイスケ IT-PRESS

    http://d.hatena.ne.jp/daisuke-m/20080702/1214982943 やー、前書いたエントリいつだったかな、と思って見たら7月ですよ。コツコツ書いていきますね。まず初回はcommons-lang。 commons-lang は、java.langパケにあるような基的なクラスを追加で提供している感じです。また、既存の基クラス(String,Object,配列等)のメソッドに対してnullチェックを搭載したものが多く提供されています。null対策を内部で行っているので、ぬるぽを恐れる必要があまりありません。こういうのを使いこなせると便利ですね。 StringUtils これはよく使いますかね。もしかしたらcommonsで一番知名度の高いクラスかもしれない。しかしその中でマイナーかもしれないのはまず定数系。下記の例では、後者の方が記述量は多くなりますが、「コ

    Apache commonsが便利な件(commons-lang編) - 都元ダイスケ IT-PRESS
  • ASFがJCPから脱退 - karasuyamatenguの日記

    https://blogs.apache.org/foundation/entry/the_asf_resigns_from_the ASFの声明をラフに訳してみた Apache Software FoundationはJava SE/EE Executive Committeeから辞退した。 … 何故このよう重大な決断をしたかをコミュニティーに説明したい。 Java SE 7投票はECがJCPをオープンな仕様プロセスとして守る意思がありそのルールと精神がまだ有効であること証明する最後のチャンスであった。 問題を要約すると、オラクルはJSPAで規定された責任を回避しながらも、ECにJava SE 7の仕様要求を提出した。このライセンスには矛盾があり独自の実装の分配を厳しく制約し、仕様の独自のオープンソープの実装を禁じるものだ。オラクルはこれらの問題に関するECからの質問を無視した。 「JS

    ASFがJCPから脱退 - karasuyamatenguの日記
  • Java回顧録 〜独白: 僕は全ての事をJavaから学んだ〜 - 風と宇宙とプログラム

    先日Javaのコードを3年振りくらいで書いてみたら、無性にJavaについて振り返ってみたくなった。Javaの誕生当時をリアルタイムで経験した僕にとってJavaは感慨深いものであり、多くのことをJavaから学び、僕を成長させてくれた原点でもある。 僕とJavaとの関わりはJavaがまだOakと呼ばれていた頃から始まる。1994年の暮れの頃だったと思う。Oakで書かれたWebブラウザはWebRunnerと呼ばれていて、両者はほとんど一体だった。会社の上長からこれを使って携帯情報端末機器を開発することになったから、秘密裏に調査しておくようにと突然指示された。後になって知ったことだが、Oakは家電などの組込み系を想定して開発されたもので、当時Sunは日の多くのメーカに呼びかけてOak を普及させようとしていたようだ。 その頃のインターネット事情というのは、Mozilla(Netscape)が登場

    Java回顧録 〜独白: 僕は全ての事をJavaから学んだ〜 - 風と宇宙とプログラム
  • Javaはアプリケーション開発言語として行き詰まっている、とアナリスト

    Javaによるビジネスアプリケーションの開発は複雑すぎる。開発チームはJavaからの逃避を検討すべきだ」という内容のレポート「Java Is A Dead-End For Enterprise App Development」(Javaはエンタープライズアプリケーション開発に行き詰まっている)を調査会社フォレスターのアナリストMike Gualtieri氏がブログで公開しています。 Gualtieri氏は、Javaはビジネスアプリケーションの開発言語として確固たる地位を築いており、COBOLが消え去らないのと同じように急に消え去ったりはしないけれど、Java以外の選択肢を検討した方がよいとしています。 ビジネス要件が変わり、プレゼンテーションレイヤで失敗した Javaが行き詰まっているというGualtieri氏のおもな理由をピックアップしてみましょう。 ビジネスの要件が変わってきた 変化

    Javaはアプリケーション開発言語として行き詰まっている、とアナリスト