タグ

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

  • 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」の開発者が書いています。このの冒頭

  • WicketのCPU負荷について調べてみた - 矢野勉のはてな日記

    Java, Wicketid:s-ishigamiさんがWicketのCPU負荷について調べていて、IMarkupSettingsのsetAutoLinkEnabled(true)をしていると負荷がとても上がって困るって話でした。いやいやそれはおかしいと思って調べてました。...と言ってる間に、id:s-ishigamiさんも継続調査していて似たような方向に調査が向かっているようですが、せっかく調べたので書いておきます。 もとねた:WicketのCPU負荷 - s-ishigamiの仕事日記(WicketでECを作る道のり)WicketのCPU負荷〜その2〜 - s-ishigamiの仕事日記(WicketでECを作る道のり)WicketのCPU負荷〜その3〜 - s-ishigamiの仕事日記(WicketでECを作る道のり)WicketのCPU負荷〜その4〜 - s-ishigamiの

  • WicketとSeasar 2を統合する「wicket-seasar2」ライブラリを作りました - 矢野勉のはてな日記

    Java, Wicket主についったーでid:yuripopがWicketとSeasar2を統合しようとしてウンウン悩んでいるのをみて、いっちょやるかと思ってやった次第。 Seasar 2とWicketの統合にはS2Wicketというライブラリが既に存在していて有名なんですが、このS2WicketがWicket 1.2系統(org.apache.wicketにパッケージ名が変わる前)に向けて作られているっぽく、最新のWicket 1.4-rc1では動かないんですね。 Wicketのページクラス内のフィールドに値を持つ場合、それらのオブジェクトはすべてシリアライズ可能である必要があります。これは、ページはHttpSessionに格納されたり、2次キャッシュ・ファイルに保存されたりするためです。そのために、単純にDIで値を放り込んでもダメなんです。 Wicketでは、この問題を「フィールドには

  • Javaフレームワークの比較検討資料公開 - 矢野勉のはてな日記

    Java仕事で各種フレームワークを比較検討したので、比較用に作った参考資料を公開します。ちなみに現在私は、ドワンゴさんの社内システム開発をお手伝いしてまして、その一環で調べたものです。会社資料じゃなく、私の資料ということでブログで公開してよい、むしろしとけ、とのことなので公開しときます。 今回の案件向けにアプリケーションを画面層コンテナ層データアクセス層に分けて、それぞれフレームワークを選ぶのが目的です。コンテナ層はDIコンテナのうちいずれか、データアクセス層はO/Rマッパーを選ぶことになります。 太枠の範囲が選定対象です。よくに出てくる杓子定規な階層図とは変えてあります。 次のものを比較検討しました。画面層SAStrutsApache Wicket(ほかにもTeedaとかClick Frameworkとかももともとは候補にあったが、調査が追いつかないので二つに絞った)コンテナSeasa

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

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

    lizy
    lizy 2008/06/22
  • JavaでRubyのfixtureみたいなことをしよう - Fixtureを作りました - 矢野勉のはてな日記

    Java Ruby on Railsのfixtureという機能は有名なので皆さんご存じかと思います。JavaでいうJUnitのTestCaseクラスに、 fixture :test と書くだけでtestというテーブルにtest.ymlという名前で用意されたテストデータが投入されるという機能です。 同じような機能はJavaでもかなり以前からDbUnitとして提供されてきましたが、使い勝手という点で圧倒的にfixtureが勝っている。というのは、DbUnitは汎用的なライブラリなので使うためにはDBへの接続定義をコードで書いたり、ロードするxmlファイルを探したり、といろんな手間があったのです。 DbUnitはデータベーステストのデファクト・スタンダードなのでJavaプログラマなら一度くらいは使ったことがあるかと思います。私も仕事柄いろんなところのアプリケーション開発環境を構築するのを手伝いま

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

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

    lizy
    lizy 2007/09/26
    人月以外の評価軸が出てこない限り状況は改善されそうにない。スターロジック式見積もりに期待。
  • コンパイラおばさんとの対話 - 矢野勉のはてな日記

    Java, LL静的片付けは、私が大学で教わったようにプログラムするなら良い考え方だと思う。でも私の知るハッカーたちはそんなふうにはプログラムしない。私たちに必要なのは、落書きしたりぼかしたり塗りつぶしたりできる言語であって、型の紅茶茶碗を膝に置いて、落とさないようにバランスをとりながら、作法にうるさいコンパイラおばさんとお上品な会話をするような言語じゃない。(『ハッカーと画家』 第2章 ハッカーと画家 P.26 より)いまや超有名な、ポール・グラハム著「ハッカーと画家」に出てくる「コンパイラおばさん」。その一言でイメージがつかめてしまう素晴らしい訳語ですよね。びしっと手を叩かれてどこがいけなかったかグチグチいうようなおばさん。 コンパイラの文法チェックを「コンパイラおばさん」と呼ぶところ、すごく分かります。この言葉一つでコンパイラ(の文法チェック)に対する憤り、うっとうしさを感じます。

  • PHPやJavaのJSPやRubyのeRBのクールじゃないところ - 矢野勉のはてな日記

    Java, PHP, Ruby, Wicket この話題はPHP限定でもないので上の記事とは切り離しました。PHPのいいところを褒めてるところに書くと、褒めたい意図が壊れてしまうので。 symfonyの10分デモを見てて考えたことがきっかけではあるんだけど、実はRuby on Railsの勉強でを読んでた時にも思ったこと。彼らはHTMLファイルにコードを書くことをなんとも思ってないんだね。もちろん、プログラマからすればその方が早いのかもしれないけどね、私には「HTMLはプログラマのものなの?」という思いがあります。 PHPRuby on RailsもeRB使ってる関係でそういう気があるんだけど)はなんでもかんでもHTMLページに書いちゃう傾向があるのだけども、仕事でデザイナの主張を聞くこともある身としては、HTMLにコードを書くことはちょっとこれからのウェブ開発フレームワークとしては受

  • 1