タグ

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

  • AnnotationProcessorを利用して楽してintrefaceを徹底活用したプログラミングをしようぜ - 矢野勉のはてな日記

    Java, Advent Calendarこの記事は Java Advent Calendar 2011 の一環で書いてます。詳細はこちらを参照してください。昨日の id:ttmmrr さんの記事はこちら (2012年の公休日とか)JTableのフィルタリング - ttmmrr(@o_tmr)の日記たまたま、いま作ってるプログラムで、Javaプログラマに役立ちそうな部分があったので、その部分を抜き出して公開することにしました。今回はその紹介をしようと思います。 「インタフェースこそが型である」世界Java: The Good Parts というがありまして、その3章において、(私の理解としては)Javaにおいて、型とはインタフェースのことあり、クラスは型に実装を提供するものであり、すべてのクラスはインタフェースを備えるべきだ、とかいう意味の論が展開されてます。インタフェースはクラスから型

  • Glassfish v3.1が予想よりもすごかった - 矢野勉のはてな日記

    Java, glassfishこないだ、「Java FX & GlassFish合同勉強会」に参加してきました。個人用にVPSを契約していて、まあ普通にApache HTTP Serverとか入ってたんですが、結局私の使う機能ってほとんどJavaアプリケーションなので、ほとんどのリクエストはAJPでTomcatに転送してたんですよ。httpdはTomcatに転送するためだけにいるような状態。でいろいろ要件があってJMSとか使ったら楽なのに、というケースがあったりで、VPS移設に伴い、httpdを停止して、Glassfish v3に80番ポートを監視させることにしました。Glassfish v3はNIOフレームワークであるGrizzly Kernelベースってことで、スレッド爆発はしなさそうなのと、これはまだ計ってないけど、以前TomcatのNIO Connectorでテストしたときと同じく

  • 『JavaによるRESTfulシステム構築』読了 - 矢野勉のはてな日記

    Java, REST『JavaによるRESTfulシステム構築』を読み終わりました。オライリー様より献いただきました。ありがとうございます。JavaによるRESTfulシステム構築作者: Bill Burke,arton,菅野良二出版社/メーカー: オライリージャパン発売日: 2010/08/23メディア: 大型購入: 8人 クリック: 259回この商品を含むブログ (13件) を見るいろいろあって読む時間がとれなかったのですが、読み始めたら一気に読み終わってしまいました。あとid:Yoshioriが書のみどころをレビューしてくれているので、そちらも参照どうぞ。このは、RESTful Webサービスを開発するための標準Java API仕様として策定された、JAX-RSについての解説書です。JAX-RS仕様に基づいて作られた実装「RESTEasy」の開発者が書いています。このの冒頭

  • Twitter自動フォロープログラムをもっとScalaらしくしてみる - 矢野勉のはてな日記

    scala, twitter前回書いたプログラムはユーザ入力を受け取るところが非常にJavaっぽくてよろしくないので、書き直してみました。あと、コメント欄で、PredefにてreadLineというメソッドが定義されててコンソールの入力を受け取れると教えてもらったので、それも使った。こまごまと変更しているんですが、覚えてる範囲の変更点は次のような感じ BufferedReaderを使ったユーザ入力受け取りをPredefのreadLineに置き換え。変数の型指定が型推論で十分わかるときには型を書かないようにしてみた引数がない場合は()を省略するように変更JavaのString.format()を使っていたところを、"literal".format()に置き換え。文字列はWrappedStringにimplicitConversionされる、と。 主にcatchブロックでif文にて処理を分岐して

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

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

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

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

  • 互いに関連のないオブジェクトを1つのインターフェースにまとめて共通的にアクセス可能にするライブラリを作ってみた - 矢野勉のはてな日記

    Javaもともとやりたかったことは、 あるオブジェクト(インスタンス)がすでに手元にある そのオブジェクトのクラスは何らかの理由で継承不能 そのオブジェクトの一部メソッドをオーバーライドしたい そのオブジェクトにメソッドを1つ足したいという、JavaScriptならすぐにできちゃうことがしたかった。で、これって、オーバーライドしたいメソッドと、追加したいメソッドだけを持ったあるオブジェクトAを用意して、メソッド呼び出し時に該当メソッドの時だけAに委譲しちゃえばできるよね、と思った。他のメソッドはすべてもとのオブジェクトに委譲する。 で委譲コードを書いてみても、すんごいめんどくさい。たくさんのメソッドを定義して、ただ委譲するだけのコードをかかないといけない。でCGLibあたりにそういうのがあるだろうと思って見てみたのですが、どうもないみたい。なんかありがちな要望だと思ったんですが、もうちょっ

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

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

  • 近況−Seasar Conferenceで話してきました - 矢野勉のはてな日記

    雑談, Java Seasar Conference 2009 WhiteでWicketのことを話してきました。今回は「あまりコード、コードという客層じゃないのでギーク向けとか考えない方がいいかも」という前情報を得ていたので、日語ベースでいろいろ話しました。資料は以下のURLに上がってますのでどうぞ。http://event.seasarfoundation.org:80/sc2009white/Session#S3061 演台までプロジェクタのケーブルが伸びなかったのが盲点。なるほどこういうのも想定しとかないとな。個人的には、真ん中付近に立ったほうが話しやすいかなーと思ってるのだけど、あとで人に聞いたらけっこう賛同者がいてよかった。 内容的には、フレームワークがいつまで経っても固定化しないで新しいのが出てくるのは、時代が進んでいてお客さんの要望も(特に日常的にウェブに接することによって

  • Wicket 1.4でのGenerics化にて大論争 - 矢野勉のはてな日記

    Wicket, Java Wicketの書籍が世に出るのは少し伸びそうです。というのも、先日ここに書いた通りWicketは次に出るWicket 1.4をベースに書くことに決まっています。技術の寿命は対象バージョンの寿命分しかないので、1.4が見えている状態ならそりゃあ1.4向けに書くでしょう。その1.4で、いま技術的な大議論が起こっているんですね。 Wicket 1.4は、基的には1.3にgenerics対応を加えただけのものです。もともとGenerics対応は1.3の次に出る1.4(現在の1.5)で行われることになっていましたが、Generics化するだけでも十分に価値があるのではないかとの投票の結果、1.4は「1.3+Generics」、もともとの1.4は1.5にする、という結論が出ました。 当初1.4対応はそんなに難しくないだろうと予想されていて、数週間でベータリリースなどと言

  • 1