タグ

ブックマーク / d.hatena.ne.jp/t_yano (10)

  • Javaのラムダ式導入に関する最新提案の雑なまとめ - 矢野勉のはてな日記

    java7月頭に,Brian GoetzがJavaにおけるラムダ式導入に関する最新提案のドラフトを出しました。State of the Lambda 私はこの提案書と,提案書を元にした英語記事を読んだだけですが,Twitterで話していると,23日くらいにこの提案を元にしたソースがJavaのソースリポジトリにコミットされたらしい。ただし,中ではまだ議論続発してるらしい。ちなみに英語記事はラムダについての連続記事の4回目で,5回目ではWicketでラムダ式を使うとどうなるか,という考察が載っています。提案書のラムダ式とWicketの非整合部分についての考察で,Wicket好きの人は読んでみてもいいと思う。あと,空コンストラクタがないクラスについて提案書は明確なところ書いてないよね,みたいな指摘も。せっかくなんで,最新提案におけるラムダ式実装をまとめておきます。いままでのあらすじ最新提案書では

    voidy21
    voidy21 2010/07/30
  • jMockを使ったテストの実行,あるいは実クラスのモックを作成してテストする方法 - 矢野勉のはてな日記

    Java, Cayenne, jMockjMockの使い方を,いまさらながら調べたのでメモ的に記録しておきます。 ORマッピング・フレームワークであるApache Cayenneでは,多くのORマッパと異なり,データオブジェクト(エンティティ)がインタフェースを使っていません。Cayenneはバイトコード・エンハンスとかを使用しない作りなので,継承関係を用いてデータオブジェクトの機能が提供されてます。で,このデータオブジェクトのテストを実行する際にモックを使いたいのだけど,インタフェースがないからどうしよう,という話がありました。 答えは簡単な話で,ほとんどのモック・ライブラリは実クラスのモック化をサポートしています。今回はjMockを使いました。easyMockでも同じようなことは可能でしょう。pom.xmlへのライブラリの追加次のライブラリをMavenのpom.xmlに追加します。 o

    voidy21
    voidy21 2010/07/28
  • プログラマなら人月なんかさっさと超えろ - 矢野勉のはてな日記

    Java, プログラミングノリノリで書いてみる。 人月というのは「人月の神話」以来、現場の技術者にとっては「お金の計算にしか使えない単位」なのですが、発注者側に分かりやすいということでいまでも大はやりしています。というか受注者側もまじめにこの単位で計算しています。 そしてJavaの世界というのは、私のようにJavaが大好きだからやってる、という人間はすごく少数派で、「そろそろJavaでもやっとくか」「Strutsの使い方覚えたからもういいか」「できればJavaなんかいじりたくないなー。俺も早くプログラマに『これやっといて』って言えるようになりたい」という人のほうが多いのが実情なんですね。その点Rubyの世界は、今は「好きだからやってる」人が圧倒的でしょう。プログラム能力の高いJavaプログラマを探すのは、プログラム能力の高いRubyプログラマを探すよりずっと大変だろうと思う。 Javaの世

  • Javaが不憫すぎる - 矢野勉のはてな日記

    JavaJavaの匿名クラスを使ってかっこよくオブジェクトを初期化するテクニック - 矢野勉のはてな日記を書いて反応などをみて... Java...かわいそうに...小公女のようだ... StrutsみたいなJavaでなくてもいいような、オブジェクト指向ですらないような存在にイメージを固定化されて、フルスペックを知られることもないのか... 初期化ブロックというものがあまり知られていないということにちょっと驚きつつ、昨今の匿名クラスとかを使うのも気持ち悪いという風潮とか、初期化ブロックも知らないで「Javaは退屈」みたいなことを言われてもいい迷惑だと思ったりしました。すみませんJava厨なもので。だって、Java 1.1のころからあるのに... だってJavaの原典とも言えるプログラミング言語Java 第4版 (The Java Series)にはもちろん載っているし、Javaの認定試験S

    voidy21
    voidy21 2009/12/29
  • Javaの匿名クラスを使ってかっこよくオブジェクトを初期化するテクニック - 矢野勉のはてな日記

    JavaJavaの匿名クラスはすごくかわしいかわいい技術でいろいろキモイことができます。匿名クラスは基的に「サブクラス生成のための特殊記法」であって、クロージャではありません。匿名クラスとクロージャを対比して云々するのはそもそも誤りです。なんならクロージャでサブクラス作ってみなよってことです。匿名クラスによって、Javaではなにかのサブクラスを任意の場所で即座に作り出すことが出来るんです。なにかのクラスのメソッドを三つほど書き換えた新しいクラスをさっと作れるのは、なかなか面白い機能ですよ。 その匿名クラスを利用したカッコイイ(でも使うのは躊躇されている)記法として、次のようなのがあります。(追記:この用法はヨシオリさんところで見たのが最初です) List list = new ArrayList() {{add("a"); add("b"); add("c");}}; Javaには「初期

    voidy21
    voidy21 2009/12/29
  • Iteratorより基本forループでArrayListのget()を使ったほうがいいなんて話はもはや百害あって一利なしです。 - 矢野勉のはてな日記

    Java yoshioriさんがいいこと書いてるのを発見しました。私も大賛成。今までArrayListが返ってきていたから getでfor文を書いていたとき。 フレームワークをバージョンアップして もしもそこがLinkedListになっていたら それだけでかなりのパフォーマンスの低下になる。 (Iteratorの誤差など遙か彼方へ吹き飛ぶほどに) そのリストを使っているfor文を全部調べ上げて すべて書式を変更するのはかなりの作業になるだろう。 だから、JavaではIteratorを使うべきだ。 関連記事はこのあたりかな。 http://d.hatena.ne.jp/BlacksmithMirai/20061017/1161081012LinkedListに関する不適切な説明J2SE 5.0虎の穴 拡張 for 文 Iteratorと基forループとの話は、櫻庭さんまで上記虎の穴のリンク

    voidy21
    voidy21 2009/12/29
  • 日本でよく見られる光景(開発者限定) - 矢野勉のはてな日記

    ネタ

  • FizzBuzzをオブジェクト指向にしよう - 矢野勉のはてな日記

    Java, FizzBuzz id:yojikさんからトラックバックをいただきました。こちらを読んでて、逆に純度100%のOO厨気分で考えるとどうなるか考えてみた。まずOO厨な考え方では「結果」を先を求める。1から100まで並んでるんだけど3の倍数の所は「Fizz」で、5の倍数のときはBuzzで、両方の倍数の場合はFizzBuzzが並んでる、FizzBuzzな仕様の「シーケンス」があればいい。シーケンス=繰り返し。ならばIteratorだ。いまさらFizzBuzz問題をOO厨がやるとどんなことになっちゃうのか - yojikのlogなるほど....面白い。 FizzBuzz問題の発端となった記事の「2分」に惑わされていて、自分でこの遊びに思い至らなかったのが口惜しい。Lispの件だってもはや「2,3分で」なんて話はどっかにすっとんじゃってて、「Lisp的にはどうやるか」という方向にシフトし

    voidy21
    voidy21 2009/10/14
  • Amazon Web Servicesを使ってISBN-13からASINを取得するJavaプログラム - 矢野勉のはてな日記

    Java id:hyukiさんのところでやってた「Amazon Web Servicesを使ってISBN-13からASINを取得するPerlプログラム」を例によってJavaでやります。Javaプログラマはこういうのに乗ってこないですねえ。 まずはシンプルにdomを使います。JavaでdomといえばJAXP…じゃなくて、Javaでdomだったらjdomに決まってるじゃないですか。シンプルさがいい。あとCommons Langもちょっとだけ使います(StringUtilsだけ)。 package jp.javelindev.amazon; import java.io.PrintStream; import java.net.URL; import org.apache.commons.lang.StringUtils; import org.jdom.Element; import org.

  • 「エンジニアの未来サミット」に行ってきた - 矢野勉のはてな日記

    仕事, 開発, IT業界未来サミットに行ってきました。抽選にあたったのですが、学生に回すためにキャンセルしようとも考えてた。結局誘惑に負けて自分で行ってきました。最初に一言で言っておくと、行って良かったと思います。ギークたちの第一部はギークらしいマッチョな意見も飛び出したし、第二部は現役世代の意見が聞けたのと、演出が非常に面白かったです。あのホワイトボードは賛否両論あるでしょうけど、私は面白いと思いました。良かった点今回は、おそらく賛否両論起こるだろう演出がふたつありました。ひとつは、パネリストを写しているモニタに、ustreamのコメントが横にスクロールして表示される機能。もうひとつは、第二部で全パネリストがホワイトボードを持っていて、ディスカッション中もくだらないことからコメントへの回答までいろいろ使っていたこと。後半はディスカッションの答えを各パネリストがボードに書く、という形式(テ

  • 1