タグ

javaに関するvoidy21のブックマーク (275)

  • JavaとFlex/AIRをつなぐ「炎」のオープンソース(1/3) ─ @IT

    JavaとFlex/AIRをつなぐ「炎」のオープンソース Tomcatを使ったサーバPushもできるBlazeDSとは? クラスメソッド株式会社 友田 翼 2007/12/27 2007年12月13日に米国アドビシステムズ社(以下、アドビ社)から「BlazeDS」というオープンソースプロジェクトが公開され、現在Adobe LabsからBlazeDSのパブリックベータ版がダウンロード可能になっています(参照「アドビ、「BlazeDS」はAjax+JSONの4倍速い~リモーティング、メッセージングのOSS~」)。ちなみに、Blazeは英語で「炎」の意味ですね。 稿では、オープンソースになったBlazeDSについて、付属されているサンプルアプリケーションを見ながら、いったいどんなものであるのかを紹介していきたいと思います。 「炎のデータ・サービス」? BlazeDSとは何なのか? BlazeD

  • フィールドごとに getter/setter を用意するな - ぐるぐる~

    未だにフィールドごとに getter/setter を用意しろって言う人がいてびっくりするわけですが。 フィールドごとに getter/setter を用意する人の言い分 そうやれって/Webページに書いてある フィールドに触れないと不便だろう それが OOP だ 言い分に対する反論 そうやるなってに書いてある 5章 オブジェクト指向エクササイズ 5.2.10 ルール9:Getter、Setter、プロパティを使用しないこと ThoughtWorksアンソロジー List<Book> getBooks() { return books; } これはクライアントに最大限の柔軟性を提供するが、さまざまな問題を生み出す. コレクションをそのまま返すと, その内容に依存している内部状態が知らない間に無効にされてしまうかもしれない. 略 代わりに, コレクション内の情報への, 限定された, 意味

    フィールドごとに getter/setter を用意するな - ぐるぐる~
  • enumをもうちょっと使う - しげるメモ

    enum basics - しげるメモで基的なことをおさらいしたので、私がよく使ってるenum関係のパターンをいくつか。 ステートパターンをenumで enumを使うようになってまず一番変わったのが、 private static final int SOME_STATE = 1; みたいな典型的なアンチパターンを書かなくなりました。これはステートパターンを非常に書きやすくなったためだと思います。 よくこんなコード書いてます。当はもうちょっとロック処理とかを書かないとだめですが、ステート部分は大抵こんな感じです。 public class Lifecycle { // 初期状態はINITIALに固定 private State state = State.INITIAL; // 外側に公開する状態遷移メソッド public void start() { state = state.st

    enumをもうちょっと使う - しげるメモ
    voidy21
    voidy21 2009/01/20
  • enum basics - しげるメモ

    仕事柄、Javaのenumを使うことが多いのですが、あまり世の中のプログラムでenumを全力で使ってるところをあまり見かけません。 ということで、自分でもどうなのと思うときがちらほらあるenumの使い方をまとめてみようと思いますが、とりあえず今回は普通の復習用に基的な機能を。 型付の定数が宣言できる enumはもともとCのint形の値に名前をつけただけじゃなくて、型安全な列挙定数が作れるってことでJava5から導入されました。 こんな感じ。 public enum Sample { HOGE, FOO, BAR, } で、世の中で見かけるenumは上記くらいのシンプルなのが多いみたいです。 クラス体が宣言できる 定数定義のあとに ";" で区切ると、以降をクラスの体としてメソッドとか定義できます。 public enum Sample { HOGE, FOO, BAR, ; // セ

    enum basics - しげるメモ
    voidy21
    voidy21 2009/01/20
  • FaqInstallLinuxAsianFontsJa - NetBeans Wiki

    OpenSolaris や Linux で日語が文字化け(四角□)してしまいます。どうすればよいでしょうか? JDK と IDE のリリースノートを確認しましょう NetBeans 5.5 の日語、中国語、ブラジル系ポルトガル語バージョンは Red Hat Enterprise Linux 3 上でテストされています。それ以外のディストリビューション(例えば Ubuntu 6. x や Fedora Core 6) では Javaフォントが正しく設定されていない可能性があり日語や中国語が文字化け(四角□)で表示されてしまうことがあります。 また OpenSolaris 2008.05 では OS 側のフォントが変更されているため java.sun.com からダウンロードした JDK ではフォントが□に表示されることがあります。回避方法にしたがって設定可能です。OpenSolar

  • "".equals(stringVariable) は改悪だろう - まちゅダイアリー(2008-11-30)

    2008-11-30 「ひたすらプログラミング日記」経由で「次のJavaコードはどう改良できる?」を読んだ。 Javaで「if(stringVariable.equals(""))」と記述したとします。「stringVariableという文字列変数が何もない文字列であるときは」という意味のif文です。このif文は,もう少しうまい方法で記述可能です。それは次のどれでしょう? if(stringVariable == "") if(stringVariable == null) if("".equals(stringVariable)) 3のコードはたまに見かけるけど、こういうコードが広がると困る。 場合によるけど、これは一般的に「改良」じゃなくて「改悪」だろうね。 (1) ローカル変数の場合はコンパイラが ~~null ~~初期化チェックをしてくれる stringVariable がローカル

    "".equals(stringVariable) は改悪だろう - まちゅダイアリー(2008-11-30)
  • IBM Developer

    IBM Developer
  • leJOS NXJ API documentation

    <H2> Frame Alert</H2> <P> This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. <BR> Link to<A HREF="overview-summary.html">Non-frame version.</A>

    voidy21
    voidy21 2008/11/01
    leJOS NXT API
  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係

    はじめに 2006年8月、Javaの次期仕様(JDK7)にクロージャを入れる案*が出され話題になりました。クロージャは関数型言語では30年以上の歴史を持ち、プログラミングにおける基的な道具となっています。最近はPerlRubyPythonなどの軽量言語(Lightweight Language)にも取り込まれ、それと知らずに使っているユーザーも増えているのではないでしょうか。 一方、手続き型言語の世界では、完全なクロージャはなじみが薄いようです。C言語からC++へと発展してきた手続き型言語のメインストリームでは、 ガーベジコレクションを持たず、ローカル変数をスタックに置くことを基とする言語のため、クロージャとの相性が悪かった オブジェクト指向を採り入れることでクロージャの代用とできた といったことが理由でしょう。 実際、クロージャとオブジェクト指向プログラミング言語には、メカニズム

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係
  • Java におけるコード進化パターン (Code Evolution Patterns in Java)

    Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my

    voidy21
    voidy21 2008/07/27
  • コンピュータ業界の歴史は「おもちゃ」による勝利の積み重ね - kなんとかの日記

    (追記(2008-07-09): このエントリはタイトルにあるように「歴史ではおもちゃこそが勝ってきた」ことを再認識することが焦点であり、JavaRubyHSPは話の質ではありません。誤解を避けるため、当初つけていたカテゴリ[java]は外しました。) これはJava屋さんのホンネがよく出てる。 いっても良いですか?PerlとかRubyとかツールであって言語じゃないんです。Javaは言語にふく組まれています。PerlRubyは遊びお道具なんです。まあ、まじめにやれば、言語になるけど、エラー処理とか書きにくそうなんですね>Perl。PrelはC言語のにおいがします。RubyはPascalのにおいがします。大体、変数宣言・型宣言しなくても変数がつかえるって、昔のBASICと同じじゃないですか? http://d.hatena.ne.jp/oredoco/20080626/1214416

    コンピュータ業界の歴史は「おもちゃ」による勝利の積み重ね - kなんとかの日記
    voidy21
    voidy21 2008/07/10
  • Javaジェネリックを使ったコンパイル時の動的処理:CodeZine

    はじめに 稿では、ジェネリックを利用してコンパイル時の動的処理およびクライアント関連の型安全性(type-safety)を実現する方法について解説します。一般的に、サブクラス化を行う際の最も重要な側面は、クラス固有の機能を実現するために、いかにして同じメソッドパラメータを使ってオーバーライドを実現するかということです。場合によっては、クラス固有のパラメータが必要になることもあるかもしれません。さらに、オーバーライドメソッドが、こうしたクラス固有パラメータのスーパークラスであるパラメータを使用する場合も考えられます。このようなメソッドの例としては、パブリックAPIを通じて公開され、具象実装クラス内でオーバーライドされるメソッドが挙げられます。シナリオ 稿で取り上げるのは非常によくあるシナリオで、多くの人が過去に直面したことがあり、同じような方法で解決してきたのではないかと思います。ここで

    voidy21
    voidy21 2008/05/10
  • ガベコレおいしい!!! (または いかにして 私がガベコレを研究にするのを諦めたか) - hogelogの日記

    以下いいかげんだぞ! 信用するな!! 諦めてねえし!!! ガーベジコレクション(以下GCとかガベコレとか略す)は大事。なんで大事かって言うと、動的メモリ領域*1の管理は開発における最大のボトルネックの一つだから。メモリ管理のためのコードのために頭使うところもそうだし、わかりにくいバグ入れちゃって、後から直さなきゃいけなくなった場合なんてもっと大変。だからもうさ、プログラマの力を信用するのは止めてGC使わせときゃもうちょっとだけ世界が幸せになれるんです。 でまあ実際各種スクリプト言語とかJavaとかD言語とか、最初からGCを前提としたプログラム言語も普及してるし、GCの重要性は鰻登りなのです。というか「重要なんだってば!」という意見がようやく市民権を得てきたのです。 というわけでまず、その辺のこととか調べるときに使った諸々へのリンク 一般教養としてのGarbage Collection PD

    ガベコレおいしい!!! (または いかにして 私がガベコレを研究にするのを諦めたか) - hogelogの日記
    voidy21
    voidy21 2008/05/05
  • NabeAtzzを作ってみた - そうだ?Blogを書こう?

    そろそろ FizzBuzz に飽きた - にぽたん研究所を見てて、気がついたら組んでた。 気をつけろ!新手のスタンド攻撃だ! とりあえずコード NabeAtzz.java public class NabeAtzz{ public static void main(String[] args){ int max = 40; try{ max = Integer.parseInt(args[0]); }catch(Exception e){ } if(max < 0) max = 40; new NabeAtzzMachine(max); } } class NabeAtzzMachine{ final String[] hiragana = { "", "いち", "に", "さん", "よん", "ご", "ろく", "なな", "はち", "きゅう" }; StringBuilder

    NabeAtzzを作ってみた - そうだ?Blogを書こう?
    voidy21
    voidy21 2008/03/10
  • [ヅラド] Javaで顔認識プログラムに挑戦

    This page moved.