タグ

Javaに関するtoenobuのブックマーク (277)

  • 一歩先行く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選 - 設計と実装の狭間で。
    toenobu
    toenobu 2011/06/10
  • EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指して

    十年一昔といいますが、文字通り一昔前の書籍ではJ2EEのEJBコンポーネントはプロセスが分散化されたリモート呼び出しにより処理を行う分散コンポーネントとして説明されています。そして、残念ながら現状Java EE関連の日語の書籍はこうした古い時代に書かれたものがほとんどとなっています。それゆえ、 開発効率がきわめて悪い 実行性能が悪い*1 仕様がきわめて複雑で理解が大変 といった悪いイメージが定着してしまっているのではないかと思います。しかしながら、最新バージョンのJava EE6では、Spring、Guice、SeamなどのOSSの軽量コンテナのアイデアを取り込むことにより、以前とは比較にならないくらい開発効率が改善されているという事実があります。 ここでは、Hello WorldのEJBの書き方を以前の古いバージョンから順次振り返りながら比較してみることで、EJBのプログラミングモデル

    EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指して
    toenobu
    toenobu 2011/05/29
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
    toenobu
    toenobu 2010/11/05
  • Java EE SDKとJava SDKについて

    お世話になっております。 現在以下の環境でサーバサイドプログラミングをしております。 Eclipse Europa Version 3.3.2 J2SE SDK1.5.0_15 Apache Tomcat /5.5.26 この環境でも問題なくサーブレットやJSPの開発ができており、動作確認もできております。そこで気になったのが、Java EE SDKの存在です。構成内容を見てみるとSample?のようなものとそのほかにも色々入っているようですが、JavaSDKだけで開発ができている今、これらの存在が疑問です。 なんとなく、JSPのコードをコンテナがサーブレット形式にコンパイルする際にJDKが必要なのだということはわかったのですが、なぜにサーバサイドプログラミングであるのにJ2SE Software Development Kitで開発が行え、Java EE SDKが必要ないのでしょうか。

    Java EE SDKとJava SDKについて
    toenobu
    toenobu 2010/11/04
  • 「New I/Oで高速な入出力」第1回 New I/Oをご存じですか

    Java SEには便利な機能が数多くあるのですが,新しい機能ほど活用されていないのではないでしょうか。筆者がJ2SE 1.4であまり使われていないのではないかと感じる機能を挙げてみます。 Assertion New I/O Image I/O Preferences API Logging API AssertionやLogging APIは,JUnitLog4Jなどのオープンソースのプロダクトで置き換えられるので,それほど使われていなくても不思議ではありません。 しかし,JPEGのイメージを出力するために,いまだにcom.sun.image.codec.jpeg.JPEGImageEncoderクラスを使用しているのは腑に落ちません。J2SE 1.3の頃に作られたアプリケーションであればわかりますが,J2SE 1.4以降に作られたアプリケーションではImage I/Oを使うべきではない

    「New I/Oで高速な入出力」第1回 New I/Oをご存じですか
    toenobu
    toenobu 2010/10/24
    nio
  • 【コラム】Java API、使ってますか? (11) "NIO.2"がやってきた - JSR 203: More New I/O APIs for the Java Platform | エンタープライズ | マイコミジャーナル

    待望のNIO.2の全貌が明らかに J2SE 1.4がリリースされたのはもう5年も前のことだが、そのときに追加されたAPIに入出力機能を拡張する「New I/O」がある。New I/OははJSR 51として標準化されているAPIで、バッファを用いた入出力やノンブロッキング入出力、ファイルのロックやメモリへのマッピングなどといった機能を提供する。これらの機能は非常に強力であり、入出力の効率を上げるには不可欠の存在だが、一方で未完成な部分が多々あり、JCPでは後継となる「NIO.2」の策定作業が進められていた。 4月12日、そのNIO.2のEarly Draftがついに公開された。NIO.2の仕様策定は「JSR 203: More New I/O APIs for the Java Platform ("NIO.2")」として進められており、これが最終的にJava SE 7に取り込まれる予定にな

    toenobu
    toenobu 2010/10/24
    nio
  • ProcessBuilder は使いたくはないけど・ - A Memorandum

    ProcessBuilder は使いたくはないけど致し方ない場面がありますね。 ProcessBuilder ProcessBuilder は標準出力や標準エラー出力から読み出さずにいるとロックしたりしてあんまり気軽に使えなくて、いつも以下のようなの作るはめになるので書いとこ・・ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ProcessBroker { private List<String> command = ne

    ProcessBuilder は使いたくはないけど・ - A Memorandum
    toenobu
    toenobu 2010/10/14
    カンマ区切りでやったけど、オレのは未動作。。。パイプが悪い?
  • 「Java による RESTful システム構築」 が超勉強になる!! - 宇宙行きたい

    JavaによるRESTfulシステム構築 作者: Bill Burke,arton,菅野良二出版社/メーカー: オライリージャパン発売日: 2010/08/23メディア: 大型購入: 28人 クリック: 804回この商品を含むブログ (40件) を見る これ,当にタイトル勿体無いなぁって思うでした. いや,タイトルに偽りは無いんだけど,これだと REST に興味無い人は手に取らないだろうなぁと思って,それは凄く勿体無い内容なので,ホントみんな読むと良いと思う. 簡単に説明すると,Java で REST を扱うために JAX-RS という API があるんだけど( JSR311 ),そのエキスパートグループの一人であり,さらにその実装である RESTEasy の作者が書いているです. で,この人は元々 SOAP とかのどちらかというと Fat な仕様大好きっこだったので,このには色

    「Java による RESTful システム構築」 が超勉強になる!! - 宇宙行きたい
  • / - 海豹日記

    {今年|今月|今週|今日}も何%過ぎました ゆく河の流れは絶えずして、しかももとの水にあらず (鴨長明:荘子) FESTINA LENTE ゆっくり急げ (ローマ帝国初代皇帝 アウグストゥス) 立派にできたのであれば、それは十分早くできたことになる (ローマ帝国初代皇帝 アウグストゥス) 海豹日記 へようこそ このサイトは、個人的な覚書を残しておくサイトです 自分は、よくこんなことをします 何かの困りごとや興味の赴くままに、いろいろ調べる 数か月後に、そのことを忘れてしまって、同じことについていろいろ調べる。しかし、そのうち、数か月前の自分が、同じことを同じように調べていたことに気づく それは不毛なので、覚書を残しておこうというわけです (主人公のアリスに掴まれて、チェス盤のはるかかなたまで持ち上げられたことのあるチェスの王さまが、当時のこと思い出し) 王さま「あの瞬間の恐怖といったら、わ

    toenobu
    toenobu 2010/08/03
    org.apache.tools.zip
  • Java定数メモ(Hishidama's Java Constant Memo)

    エスケープシーケンスとUnicodeエスケープは似て非なるもの。[2008-08-30] →処理の差異 不変の変数 finalで宣言して初期値を与えた変数は、定数として扱える。[2008-06-22] なお、定数として扱う場合は、変数名は全て大文字にするのが慣例。 public static final int BASE_YEAR = 1970; この変数には後から値を代入することが出来ない。(finalが付いていると、代入できなくなる) 代入できない→値が不変(固定)→定数 →switch文で使う場合の注意 →他言語の定数の定義方法 ただし、オブジェクト(参照型)の場合は、必ずしも固定(不変)というわけではない。 final Map SAMPLE_MAP = new HashMap(); 変数SAMPLE_MAPには新しいMapを代入することは出来ない。しかしSAMPLE_MAP内に値を

    toenobu
    toenobu 2010/06/05
    環境依存文字
  • 依存モジュールのdependencyを調べるなら「jarvana」が便利! - うなの日記

    実は有名だったりするかもですが、依存モジュールのdependency定義(pom.xmlに書くやつね)を調べるなら「jarvana」�が便利ですよ! →「jarvana」 「jarvana」を使えば、 クラスのFQCNからそれを含むモジュールを探す。 プロジェクト名(「guice」とか)から、モジュールを探す。 といった操作がさくっと行えます!モジュールが見つかった後は、Mavenのdependency定義を確認したり、jarそのものをダウンロードしたりできます! 1.クラスのFQCNから探す 「ClassNotFoundExceptionが発生したけど、このクラスがどのjarに入っているかわからん!」という場合は、「jarvana」の「Class」のところにFQCNを入力して「Search」! クラスを含むモジュールの一覧が表示されるので、それっぽい?行の「Class Details」を

    依存モジュールのdependencyを調べるなら「jarvana」が便利! - うなの日記
  • ダイナミックなモジュールシステム、OSGiを始めよう — OSGi tutorial v0.1 documentation

    ダイナミックなモジュールシステム、OSGiを始めよう¶ 著者:近藤寛喜 kompiro at gmail.com or @kompiro at Twitter OSGiを一言で言うと、Java/VMのみでは実現できない完全なモジュールシステムを構成するための仕様です。OSGiの仕様、それ自体もモジュールとして分離でき、そのコア部分は27個のクラスのみで定義され、一般的な実装も100kBに満たないなど薄い実装となっています。このドキュメントはOSGiについてほとんど知識のないユーザにとっての最初の一歩になる事を目指して作成しました。フィードバックはぜひTwitterの`@kompiro <http://twitter.org/kompiro>`_までお寄せください。 目次: 10分で作るOSGiアプリ 必要な環境 手順 参考文献 OSGiとは OSGi仕様の実装例 OSGiによるモジュールシ

    toenobu
    toenobu 2010/05/07
  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
    toenobu
    toenobu 2010/04/15
  • プロペシア ジェネクリ・公式【本物を即日発送】

    医薬品ガイド 臨床試験によるとプロペシアは初期脱毛や性欲減退や勃起不全というような男性機能の低下、加えてうつ症状とか肝機能不全などの副作用が発生することがあるとのことです。 子供さんや皮脂が減少している中高年、アトピー性皮膚炎に罹っている人などに保湿剤として医者でヒルドイドソフト軟膏がよく処方されるとのことです。 トリキュラーと言いますのは、低用量ピルに類別されます。配合されている成分が排卵を抑え込んだり、精子の侵入を防いだりするため避妊の効果が認められているのです。 ジェネリック医薬品には味に改良を加えた物や小さくしたもの、錠剤やシートに改良を加えた物、そして飲み易さであったり飲み間違いに対する工夫が行われているものも多くなっています。 「直ぐ効く」というのが日人の体質と欲求(ニーズ)にマッチしているレビトラ20mgではありますが、日国内でもこの20mgを服用するのが主流になってきま

    toenobu
    toenobu 2010/04/09
    Threadの方がよい気がするでござる。
  • Java技術最前線 櫻庭祐一 連載目次 :ITpro

    今日のソフトウエア開発において,Javaは最も重要なプログラミング言語あるいは開発環境といってもいいでしょう。そこで,ITproではJavaの最新技術についての連載を掲載しています。著者はJavaプログラマ向け情報ページ「Java in the Box」で有名な櫻庭祐一氏です。

    Java技術最前線 櫻庭祐一 連載目次 :ITpro
    toenobu
    toenobu 2010/04/06
  • 【コラム】イマドキのIDE事情 (79) Java VMの監視/障害解析に役立つツール | エンタープライズ | マイコミジャーナル

    トラブルの発生時に利用するツール システム開発の現場では予期しないトラブルが付き物だ。Javaの場合、ヒープメモリやGCに関するトラブルが発生することが多い。この場合、GCログやヒープダンプを解析することで原因の特定を試みることになる。今回はこれらのトラブルが発生した場合に役立つツールを紹介する。 JDK標準ツール「jconsole」 jconsoleはJDKに標準で付属するJMXクライアントツールで、Java VMのリソースの利用状況を監視するのによく利用される。JDKインストールディレクトリのbinディレクトリ配下のjconsole.exeで起動することができ、ローカルで動作しているプロセスのほか、リモートで動作しているJava VMに接続することも可能だ。JDKのインストールディレクトリ直下のbinディレクトリにあるjconsole.exe(Windowsの場合)で起動することができ

    toenobu
    toenobu 2010/04/05
  • nextindex.jp

    nextindex.jp 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

    toenobu
    toenobu 2010/03/29
  • nextindex.jp

    nextindex.jp 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

    toenobu
    toenobu 2010/03/29
    浅煎りコーヒー
  • ユカイ、ツーカイ、カイハツ環境!

    exeしか知らない人のための「インストール」の基礎知識 ユカイ、ツーカイ、カイハツ環境!(32) WindowsMacLinuxごとのインストーラー、仮想実行環境、言語ごとのなモジュール(ライブラリ)管理・ビルドツールなどを紹介

  • Java変態?コード最速マスター - うなの日記

    Java変態文法最速マスター - プログラマーの脳みそが面白かった && 参考になったので便乗してリスペクト。変態世間であまり見かけない(かも知れない)Javaコードを、過去のエントリからまとめてみました。 nullでなければループ 「配列がnullでなければループ」というシーンはまれにありますが、nullチェックのためにインデントが深くなるのが我慢ならん、というときにこういう記述はどうでしょう。 String[] strs = // 略 // 配列がnullでなければ各要素に対して処理を実行 if ( strs != null ) for ( String str : strs ) { // 処理 } if文の「{}」を省略してforを繋げているだけですが、インデントをさりげなく削れます。 似たような例で、「例外を無視して次へ」とかも。 // 例外が発生しても無視して次へ for ( S

    Java変態?コード最速マスター - うなの日記
    toenobu
    toenobu 2010/03/18