タグ

Javaに関するnoire722のブックマーク (107)

  • 「OpenGLを使ってJavaでも3Dを楽しもう」第2回 JOGLをインストールする

    今週から,Java bindings for OpenGL(JOGL)を使用して3D CGを描いていきますが,その準備としてJOGLをインストールする必要があります。 JOGLの仕様はJSR-231で策定されています。リファレンス・インプリメンテーションはjava.netのJOGLプロジェクトで開発されています。2006年7月上旬時点でのバージョンは1.0 beta 5です。 JOGLがサポートしているプラットフォームを以下に示します。 Windows(x86) Solaris(SPARC32/64,x86,AMD64) Linux(x86,AMD64) Mac OS X(PPC,x86) JOGLはJ2SE 1.4以上で使用できます。 ここではWindows XP版を使用してJOGLをインストールしていきます。 JOGLのダウンロード JOGLのダウンロードはjava.netのJOGLプ

    「OpenGLを使ってJavaでも3Dを楽しもう」第2回 JOGLをインストールする
  • 「OpenGLを使ってJavaでも3Dを楽しもう」第1回 3Dは関係ないと思われているかもしれませんが...

    「OpenGLを使ってJavaでも3Dを楽しもう」 第1回 3Dは関係ないと思われているかもしれませんが... 3Dによる表示は様々なところに使われています。 映画やコマーシャル,ゲームなどでは3D CGは当たり前のように使われています。でも,「そんなのはごくごく一部の分野で,仕事には全く関係ない」と思っている方も多いのではないでしょうか。 たぶん,仕事で一番多く使用されている3Dの表示は表計算ソフトのグラフでしょう。それ以外で,3Dといっても思い浮かぶものはないかもしれません。 だからといって3Dによる描画を使用していないかというと,そんなことはありません。意識はしていないかもしれませんが,今後は3Dによる表示は欠かせないものになってきています。 例えば,Windows Vistaはどうでしょう。 Windows Vistaのデスクトップ環境であるWindows Aero(以前はAero

    「OpenGLを使ってJavaでも3Dを楽しもう」第1回 3Dは関係ないと思われているかもしれませんが...
  • Javaパフォーマンス計測 そんなタイマーで大丈夫か? - プログラマーの脳みそ

    駄目だ。大問題だ。 long t1 = System.currentTimeMillis(); long t2 = System.currentTimeMillis(); System.out.println(t2-t1); 結果はなんとでるか? 99.9%以上の確率で0が表示される。そもそもSystem.currentTimeMillis()は時刻をミリ秒で返す。1行のプログラムを実行するのに1ミリ秒もかかってたら、たかだか1000行分動いただけで1秒かかってしまう。今のコンピュータはそんなに遅くない。 そもそもドキュメントをちゃんと読むと ミリ秒で表される現在の時間を返します。戻り値の時間単位はミリ秒ですが、値の粒度は基となるオペレーティングシステムによって異なり、単位がより大きくなる場合があります。たとえば、多くのオペレーティングシステムでは、時間を 10 ミリ秒の単位で計測します

    Javaパフォーマンス計測 そんなタイマーで大丈夫か? - プログラマーの脳みそ
  • Java: The Good Parts - 矢野勉のはてな日記

    2/23に「Java: The Good Parts」というがオライリージャパンから発売されます。配は22日らしいので、早いところなら明日には売ってるのかもしれません。O’Reilly Japan - Java: The Good PartsJava: The Good Parts作者: Jim Waldo,矢野勉(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型クリック: 10回この商品を含むブログ (8件) を見る翻訳は笹井崇司さん、監訳は私が行いました。目次は次のような感じです。 型システム 例外 パッケージガベージコレクションJava仮想マシンJavaDoc コレクション リモートメソッド呼び出し(RMI)とオブジェクトシリアライゼーション 並行処理 開発者のエコロジー目次をみれば分かるように、JavaといってもJavaに付

  • L'eclat des jours(2011-02-20)

    _ Javaには良い点があるのか? Java当に良く使われているプログラミング言語だから、プログラミングを知らない人でもプログラムを記述できる。プログラミングを知っているというのは、この場合、ケースバイケースで記述することができるってことだ(というか、正直なところおれが知っているプログラミングはそのあたりまでで、ケースはわかってもプログラミングがわからなくて、まずいプログラミングをすることもたくさんある)。 そのため、プログラムとは言えないソースコードをたくさん目にする機会があってうんざりした。 どのくらいうんざりしたかと言うとコーディングの掟というケーススタディを上梓できたくらいだ。 コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)(arton) というわけでうんざりしているのはJavaで書かれた妙なコードであって、Java

  • はっぴぃ・りなっくす - CentOS 5 に Sun Java をインストールする - Linux > Linux Software > Program - SmartSection

    # yum install jpackage-utils # yum install unixODBC unixODBC-devel Sun JDK のダウンロード 一般ユーザで。 Sun Java のサイト から最新版をダウンロードする。 2010年11月時点の最新版は Sun JDK 1.6 update 22 です。 $ cd ~/rpmbuild/SOURCES $ curl -L -O 'http://cds.sun.com/...jdk-6u22-linux-x64.bin' $ mv jdk-6u22-linux-x64.bin...jdk-6u22-linux-x64.bin jdk-6u22-linux-x64.bin

  • http://blog.quall.net/program/227/

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

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

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

    書はJava言語をJava言語たらしめている「よい部分」、すなわちJava言語の初期から備わっていたコア機能がどういう意図で作られているかを解説するものです。なぜその機能がJavaに導入されたのか、どのように使われることを意図しているか、そうすることでどのような効果が得られるのか、あるいはその設計判断により生まれた罠をどう避けるべきかを、Java言語開発当初から関わったベテランエンジニアのJim Waldoが説明します。Java言語の設計思想を知ることで、Javaの秀でた魅力を実感し、「Javaらしい」プログラミングを体得できるでしょう。 目次 監訳者まえがき はじめに 1章 Javaについて 1.1 Javaはどのような処理に向いているのか? 2章 型システム 2.1 基礎 2.2 なぜ3つもあるのか? 2.3 内側と外側 2.4 注意すること 2.5 真の問題 3章 例外 3.1 基

    Java: The Good Parts
  • [Java]正しい無限ループの書き方 - きしだのはてな

    人気エントリに便乗するよ。 Delphiみたいだよ。 フラッシュのデモ NetBeans6 M10‚ÌGUIƒf�[ƒ^ƒx�[ƒXƒAƒvƒŠ boolean д = true; for(;д;){ System.out.println("でれません"); } boolean ω = true; for(;ω;){ System.out.println("ぬけれません"); } boolean ェ = true; for( ;(ェ); ){ System.out.println("終わりません"); } boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 参考 while(1)をfor(;;)って書くやつ(2ch)

    [Java]正しい無限ループの書き方 - きしだのはてな
  • 【コラム】攻略! ツール・ド・プログラミング (44) 高速な文字列検索を実現するJavaライブラリ「StringSearch」 | エンタープライズ | マイコミジャーナル

    各種文字列検索アルゴリズムを実装したStringSearch Johann Burkard氏が公開しているStringSearchは、高速な文字列検索アルゴリズムを実装したJava用ライブラリである。BNDM法や、BMH法とその派生、Bit-parallel手法といった複数のアルゴリズムをサポートしている点が特徴。いずれのアルゴリズムを利用する場合でも基的な使い方は共通しているため、用途によって簡単に使い分けることができる。 Burkard氏によれば、StringSearchを利用すればjava.lang.Stringクラスによる文字列検索に比べて5倍から10倍程度の高速化が可能とのことである。ただし、この主張には異論も出ている。また、String.indexOf()メソッドなどで採用されているというnaiveアルゴリズム(シンプルだが低速)にしても、短い文字列を対象とした検索であれば十

  • URLを引数に本文抽出を行うJavaライブラリ「Boilerplate」 | MOONGIFT | オープンソース・ソフトウェア紹介を中心としたITエンジニア/Webデザイナー向けブログ

    BoilerplateはURLを与えると文部分を抽出するライブラリ。 BoilerplateはJava製のオープンソース・ソフトウェア。Webサイトをクローリングしたり、そのサイト内にあるテキストを使って別なWebサービスを構築すると言った手法はよく存在する。そんな時に必要になるのが文抽出というテクニックだ。 デモ Webサイトには文以外にも多様なコンテンツが存在する。例えばヘッダー、サイドバー、フッター、広告などだ。そうした無用なコンテンツを除去し、必要な部分だけ取り出すためのライブラリがBoilerplateだ。 BoilerplateはURLを引数に、後は自動的にコンテンツを取得して文だけを返却してくれるという手軽なライブラリだ。Javaのライブラリなので、既存のJavaシステムに組み込むのはもちろん、Google App Engineを使ってWeb APIとしてコンテンツ抽

  • Java による高階型変数と Scala とジェネリクス

    @nagise さんの記事『Javaによる高階型変数の実装』 http://d.hatena.ne.jp/Nagise/20110124/1295874192 から派生した型についての議論。ジェネリクスの見方、Scala との比較など。

    Java による高階型変数と Scala とジェネリクス
  • Deep Side of Java~Java 言語再入門

    この「Java言語講座」は、あるソフトハウスでの講座を元にして作られている。そのため、「初めてプログラムをするんだけど、Java が流行っているみたいだから勉強してみたい」という人にはまったく向いていない。そのような人のための雑誌・書籍・Webページは山のようにある。→ 裏ページ「Humorous Side of Java」 このページは、Java の Deep Side について筆者が研究した結果がかなり含まれている。また、主として参考にしたJava固有の資料は次の通り。 「The Java 言語仕様」(ゴスリン,ジョイ,スティール、アジソン・ウェスレイ) 「The Java 仮想マシン仕様」(リンドホルム,イェリン、アジソン・ウェスレイ)。これらはSun社自身による、それも開発者自身による最もディープな専門書籍であり、大変役に立つ(というか筆者レベルだとこういうじゃないと役に立たない

  • 松本洋平のウェブサイト(仮): Javaは初心者にやさしいのか

    朝、vaio type pと光ポータブルを持ってスターバックス。フィローネのイタリアンソーセージのトマトソースをべながら、ホリデーブレンドが苦い。イタリアンソーセージは、僕はアミーチのサルシッチャにならされているからか、香辛料が足らないようで、ものたらない。ソースはズッキーニなどが入っている。無難な味ではある。 光ポータブルがやはり繋がらない。昨日もつながらなかったので、あやしんでいたのであるが、どうやら原因がわかった。 ごく最近のことであるが、スターバックスつくば店にFlet's spotが入った。もちろん、僕はflet's spotの契約者であるから、それはありがたいし、光ポータブルの設定は既に万全であるからそれを自動認識して接続してくれるはずであった。けれども、つながらない。 今朝も理由を考えながら帰ってきたのであるが、理由は単純で、実は引越しに先立って1/1からNTTの契約を変更

  • Wicket勉強会に参加しました - kk_Atakaの日記

    詳細: Wicket勉強会 2011-01 : ATND TwitterのTL取得ページを自分用に作った程度ですが、二年連続二回目の出席をキメました。バージョン1.3メインで使っていた(いる?)人なので、もう1.5が出るのかーっといったところです。 1.5になると矢野さんのWicketの1/3が意味なくなるらしい…。 Wicket1.5の新機能 @t_yanoさん WebRequestCycleが消えた steps(), step()も消えた RequestTargetという概念が消えた→IRequestHandlerで代替 UrlCodingStrategy→IRequestMappterで代替 リクエストのサイクル IRequestHandler ↑    ↓ -------------------- IRequestMapper -------------------- ↑    

    Wicket勉強会に参加しました - kk_Atakaの日記
  • Scala == Effective Java ?

    I started reading Joshua Bloch's Effective Javalast week. I'll have to admit that I haven't read it before, but only because I've been told by several people, "you already do most of what's in there anyway." Seeing as we tell all the new recruits to read it, I thought I should actually flip through it myself so I know what's in there. Books of best practices are always written in relation to domai

  • alternative dvamp project  技術の空洞化

    自称Javaが出来る人でも設計書をまともに書けない。先週は社内の諸事情からプログラミングをする機会を得た。 既にプロパーによってプログラム設計書は記載済で、製造工程以後を担当というもの。 早速プログラム設計書を見てみると…。会員No登録チェックメソッド(引数int型で会員番号):戻り値はなしtry-catch宣言をする。try-catch宣言をする。try-catch宣言をする。Connection conn = new Connection();PreparedStatement pstm = new PreparedStatement();ResultSet rs = new ResultSet();DBに接続する。pstm = conn.prepareStatement(strSQL);pstm.setString(1, 会員番号);pstm.executeUpdate();conn

  • Java Native Access - Wikipedia

    Java Native Access (JNA) とは、JavaプログラムがJava Native Interfaceを用いずにネイティブの共有ライブラリにアクセスする方法を提供するライブラリである。JNA は最小限の作業でネイティブコードにアクセスできることを目指して設計されており、決まりきったアクセスコードを書いたりグルーコードの生成を行ったりせず、ネイティブコードへ正しく簡単にアクセスすることを最優先としている(ただし、性能にも注意が払われている)。JNAライブラリはネイティブコードを呼び出すためにlibffiを用いており、名前を指定してライブラリをロードするネイティブの関数を用いて、目的のライブラリ関数の関数ポインタを取得する。ネイティブコードにアクセスする過程で静的なバインディング、ヘッダファイル、またコンパイルは必要ない。アプリケーションの開発者はJavaのインターフェイスを用

  • JSPが遅い理由をJava屋さんはまるでわかってないらしい - kなんとかの日記

    なんかVelocityもJSPもスクリプト言語より遅いという事実は、Java屋さんはあんまり知らなかったみたいだね。しかも、遅い原因の考察が的外ればかりで笑ってしまう。 「Javaの文字列操作は遅いから」とか「UTF-16の変換に時間がかかるから」とか、そんなのまるで関係ないですから。Javaの文字列操作は十分速いし、UTF-16の変換も主要因ではない。 #つうかさ、「Javaの文字列操作は遅い」とか、Javaに対して失礼だろ。 VeocityやJSPが遅いのは、単に動的な独自言語を導入したから。はっきりいって、これはアーキテクチャ上の間違った選択。せっかくJavaが静的であるのにその特性を利用せず、わざわざ動的言語を導入しているのだから、何考えてんだろうと思う。いつもJava屋さんが主張しているような、「コンパイル時にエラーを発見できる」「IDEでの補完が効きやすい」「リファクタリングが

    JSPが遅い理由をJava屋さんはまるでわかってないらしい - kなんとかの日記