タグ

Javaと開発に関するglcsのブックマーク (7)

  • Javadocを書かない - しげるメモ

    前回はJavadocを書く - しげるメモというタイトルで話を進めましたが、今回は逆にJavadocを減らすプラクティスについてメモがてら。 私は別にJavadocを書くのが好きなわけではなく、単純に書いたほうがめんどくさくないと思うのでそうしてます。ただ、Javadocを書くのもかなりめんどくさいとは自分自身で感じているので、そのめんどくささをできるだけ減らす道を現在も模索中です。 やり方としては単純で、次のうちどちらかです。 Javadocをそもそも書かない Javadocに書くことを減らす かなりの部分がEffective Java (Java Series)に紹介されているプラクティスとかぶりますが、ここではあくまで"めんどくさくないJavadoc"という視点でいきます。 Javadocをそもそも書かない If an API is to be usable, it must be

    Javadocを書かない - しげるメモ
  • *「ふっかつのじゅもんがちがいます。」 Javaにvariant型を実装した

    最近Hadoopを使うために5~6年ぶりにJavaをいじっています。 そんで、ちょっとばかり耐えがたいわけです。 例えばありがちな例題を挙げると、 ["google", "検索エンジン","開発"]のようなタグ(文字列)のリスト(でも配列でもなんでもいい)を受け取って [ {tag=>"google", enc=>"google"}, {tag=>"検索エンジン", enc=>"%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3"}, {tag=>"開発", enc=>"%E9%96%8B%E7%99%BA"} ] のようなハッシュテーブルのリストに変換しなさい。 ただしパーセントエンコーディングを行う関数(でもメソッドでもなんでもいい) uri_encodingは与えられているものとする。 こんなこと、Web

  • Java : クロージャ - lethevert is a programmer

    Delphiでクロージャ([id:lethevert:20060110])をやったので、次はJavaでもクロージャをやりたいと思うのですが・・・ - 実際は、Javaには、もうほとんどクロージャと読んでもよいものがあるんですよね。つまり、無名クラス。(そういえば、昔も似たようなことを書いているような [id:lethevert:20050825:p2]) interface Closure { int call(int in0); } class OuterClass { Closure add_n(int _n) { final n = _n; return new Closure() { int call(int in0) { return in0 + n; } } } }もし、final変数を経由しないで、ローカル変数にアクセスすることができれば、それはクロージャと呼んでよいものにな

    Java : クロージャ - lethevert is a programmer
    glcs
    glcs 2008/05/19
    Javaでクロージャ
  • 【ハウツー】即デプロイ可能なWebサービスを簡単構築、「Enunciate」を試す (1) Enunciateとは? | エンタープライズ | マイコミジャーナル

    Enunciateとは、Ryan Heaton氏により開発が進められているWebサービスフレームワークである。2007年3月にバージョン1.0が出たばかりの真新しいプロダクトだ。 Webサービス関連のフレームワークと言うと、AxisやXFireが有名だが、Enunciateはそうした「Webサービスの実行環境を提供するフレームワーク」ではない。EnunciateプロジェクトではEnunciateを「Webサービス・デプロイメント・フレームワーク」と位置付けている。 Webサービスデプロイメントフレームワークについて平たく説明するならば、「(1)完全なドキュメントを備え、(2)相互運用性に優れ、(3)すぐにデプロイ可能、という3つの条件を併せ持つWebサービスを、ソースコードを基に自動的に構築する」ためのフレームワークである。つまりは、Webサービスを構築する際に必要な作業のうち、ソースコー

  • 2006-10-09

    モデラーはいつも抽象的な現実しか語らない。 概念なんだからしょーがねーだろ っと言われるかもしれないが、 実際問題使う人たちが理解に苦しむのであれば 提供側はもちっと考えるべきである。 ユーザを苦しめるのがベンダの仕事か?ってことにYesYesYesと答えるのは ユーザをないがしろにしている事実にほかならない。 ポリモルフィズムを語る際に、必ずコードが単純になるよってことしか言わない。 再利用性が高まることを示すにはサンプルコードはあまりにも少ないのだ。 理解を促すために必要なのは前提と結論と過程の3つであり、 巷にあふれる説明には過程がカケラしかない。 ふっとぐぐったらこんなんみつかったのだが、中身はひでぇもんだ。*1 コードに落とし込む時、メソッドの役割は2種類必要になる。 ・実処理 ・実処理を呼び出すだけの処理 *1:世で見る普遍的な言葉という意味では「平均的」なのだが、 世の中の平

    2006-10-09
  • Super Technique 講座~goto 文が有用な場合

    goto 文の利用とは、神学論争ではなくて、「リソースバランス」の問題である。この視点によって goto 文という議論の多いC言語機能を検討するのが、この論の目的である。goto 文の利用は「常に不可である」とする教条主義者はこんな論は読まずに、信仰の道を歩まれるのが良かろう。 リソースバランス 多重脱出 依存するリソース リソースバランス まず、「リソースバランス」という大変重要な問題について考えてみよう。「リソースバランス」とは、平たく言えば「使ったものは片付けなさい」ということに過ぎない。オープンしたファイルは必ずクローズするし、malloc(3) したメモリは必ず free(3) する。これを確実に行わないことには、いわゆる「メモリリーク」「リソースリーク」が起きて、長時間動作したり、大量のリソースを消費するプログラムでは、性能が制限されることになったり、OSの動作に悪影響(スラッ

  • Java Mozilla Html Parser登場、ブラウザと同じクオリティを実現 | エンタープライズ | マイコミジャーナル

    21日(米国時間)、Java Mozilla Html Parserの最新版となるJava Mozilla Html Parser 0.2.0が公開された。Java Mozilla Html ParserはHTMLデータをパースしてJavaドキュメントオブジェクトに変換するためのパッケージ。Mozillaで採用されているHTML Parserに対するラッパパッケージになっており、Webブラウザと同じクオリティレベルでのパースが可能という特徴がある。 0.2.0はパフォーマンスの改善が実施されているほか、エンコーディング関連のバグが修正されている。Java Mozilla Html ParserはもともとDapperにおける開発の一部として取り組まれたもの。ラッパライブラリでありすべてJavaで開発されたわけではないのでビルドやデプロイは若干手間だが、WindowsLinuxMac OS

  • 1