タグ

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

  • 分散コンピューティングの八つの誤信 - 矢野勉のはてな日記

    プログラミングいまや、インターネットはあまねく広がり、いままで何度も喧伝されて来てはバズワードとして去っていた「分散コンピューティング」が、現実のものとして普通に取りざたされる世の中です。でも今よりももっと前、10年以上も前に、「分散コンピューティングの八つの誤信」と呼ばれる、簡潔かつ重要な提言がされていました。一部の人はこの話を今でも覚えていると思いますが、忘れ去られるのも惜しいので、ここに記録しておきます。この提言が生まれた企業はもう既にありません。その会社のマントラは「ネットワークこそがコンピュータだ」でした。 分散コンピューティングの八つの誤信ネットワークは安定している 帯域は無制限だネットワークはセキュア(安全)だトポロジーは変化しない 管理者は一人である 転送コストはゼロだネットワークは均質だ レイテンシはゼロだこれらのひとつであっても、前提にしている分散システムは、欠陥を抱え

    daisuke-m
    daisuke-m 2012/01/07
    俺が知らない時代の話だ。リアルタイムで触れられなかったので、こういう話が読めるのはとっても嬉しい。
  • AnnotationProcessorを利用して楽してintrefaceを徹底活用したプログラミングをしようぜ - 矢野勉のはてな日記

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

  • Java: The Good Parts - 矢野勉のはてな日記

    2/23に「Java: The Good Parts」というがオライリージャパンから発売されます。配は22日らしいので、早いところなら明日には売ってるのかもしれません。O’Reilly Japan - Java: The Good PartsJava: The Good Parts作者: Jim Waldo,矢野勉(監訳),笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型クリック: 10回この商品を含むブログ (8件) を見る翻訳は笹井崇司さん、監訳は私が行いました。目次は次のような感じです。 型システム 例外 パッケージガベージコレクションJava仮想マシンJavaDoc コレクション リモートメソッド呼び出し(RMI)とオブジェクトシリアライゼーション 並行処理 開発者のエコロジー目次をみれば分かるように、JavaといってもJavaに付

    daisuke-m
    daisuke-m 2011/02/23
    監訳お疲れさまでした!
  • Wicket勉強会開催直前です。 - 矢野勉のはてな日記

    Java, WicketWicket勉強会が1/11、オラクル青山センターにて開催されます。Wicket勉強会 2011-01 : ATNDWicket勉強会 2011-01 懇親会 : ATNDもう連休を挟むのみとなりました。おかげさまで満員です。ありがとうございます。会場が40人部屋なので、増やすのにも限界が。すこし人数を増やしましたが、たぶん今の設定で限界だと思います。各社、会社も始まってるだろうし、連休やその後の予定も立ったところだと思いますので、出席できなくなった人は早めにキャンセル操作をお願いします。補欠登録の方が何名かいらっしゃいますので。なお、20分枠は全部は埋まらなかったので、A枠とB枠ぶちぬきで私が話すことにしようと思います。あと、LTはまだ受け付けていますので、ちょっと簡単なことを話したいなーという人は是非ご連絡ください。当日オラクル青山センター2階入り口を入った、右

  • Javaの型パラメータ境界指定を使って型を合成する話 - 矢野勉のはてな日記

    Javaはい。開発者のあいだでAdvent CalendarがはやってるみたいなのでJavaでもやろうという話があり、早速はじめることにしました。Java Advent Calendar -ja 2010 : ATNDほんとは1日からはじめるものらしいんですが、いいじゃないですかそんなこと。5分で考えて5分でかけるものでOK、ということで、最近遊んでた、Javaで型を合成する話を書いてみようと思います。ネタがぱっと思いつかなかった…あらかじめ書いておくと「できるかなと思ったけどやっぱりできなかったね」という話に過ぎませんのでよろしく。戯れ言です。真剣に読むと損します。あと5分で書けませんでした。型合成Javaでインターフェイスをきるとき、メソッドの引数はおおむねすべてインターフェイスになるように設計するのがよいとされているようです。そうしてると「このメソッドの引数はMapだけど、このMap

    daisuke-m
    daisuke-m 2010/12/13
    いきなり濃いめの来たw
  • Javaで戻り値の型パラメータにワイルドカードを使う意味 - 矢野勉のはてな日記

    java例えば次のようなメソッドを考えてみる。Bookはまあ、独自クラスだとする。 List getBooks(); これを次のようにすることに意味はあるのかどうか。 Listextends Book> getBooks(); メソッドの戻り値にワイルドカードを使ったところで、結局、Bookの固有のサブクラスで結果を受け取れるわけではない。これはコンパイルエラー List books = getBooks(); 受け取るにはこうすることになるでしょう。 Listextends Book> books = getBooks(); Listでは受け取れない(コンパイルエラーになる)。Listから値を取り出す場合、結局のところ、下限型であるBookとしてしか取り出すことはできない。もちろん、booksの中にはBookのサブクラスが入っている可能性もあるけど、サブクラスにするには、instance

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

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

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

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

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

    daisuke-m
    daisuke-m 2009/06/15
    擬似的ダックタイピング
  • Javaにおける疑似Map生成リテラル({ key => value }ばりに簡単にMapを生成する方法) - 矢野勉のはてな日記

    Javajava-ja@lingrのログを見ていたら、なにやらキーワード引数の話から、マップをサクっと作れないと「流れるようなインターフェース」が作りにくいとかそんな話になってて、「せめてMapのリテラルさえあれば…」とかいう話に行っていました(敷居が高かったので、下に紹介するブログのURLを貼って逃げた(笑))。 JavaMap生成リテラルが欲しい!という話は結構昔からぽろぽろ出てますよね。たしかにMapがささっと作れるのと作れないのとではMapを使う時のモチベーションが違う。気軽に使えない。 国内はもちろん海外のブログでもそういう話題は上がってまして、私のお気に入りは、odz bufferさんにて紹介されてた、このNicolas Lehuen氏のアイデアです。このアイデアを使うと、下記のようにBuilderみたいに簡単にHashMapを生成できます。 // Example usage

  • Mavenのパワーをthe rest of usに解放する - mvnbeans 1.0 SNAPSHOT公開 - 矢野勉のはてな日記

    Java2割増くらいで大げさに書いたけど8割くらいは気です。 maven2はjava最高のビルドツールです。コマンド一発でビルド、テスト、jarのアップロード、サイトの更新を行ってくれる。最も強力な力は、あらゆる依存jarを連鎖的に解決してくれるところです。もし私のプログラムがある一つのjarに依存しているとして、その一つのjarが5つのjarに依存し、そのそれぞれが2つの依存jarを持っていたら。 maven2が現れるまで、私たちは一つずつそれらの依存jarをすべて手動でダウンロードしてきました。でもmaven2はたったひとつの依存jarを元にして、すべての依存jarを連鎖的に走査し、すべてを一括でダウンロードしてくれる。 そのmaven2も登場からもうかなり立っているのに、「スタンダード」にまではなっていないんですね。なんでだろう。 要するに、maven2は敷居が高いんです。 mav

  • ウェブ・アプリケーションの革命がここにある - Apache Wicketユーザーグループを始めます - 矢野勉のはてな日記

    Java, Wicket このブログをいままで読んでいる方なら、私がApache Wicketの大ファンだということはご存知でしょう。ついに1.3としてApacheプロジェクト入りしてから最初のリリースを果たしたWicketフレームワークは、日ではまだそれほど普及していませんが、今年は米国で「Wicket in Action」が出版される予定があるなど、かなり注目されているフレームワークです。 私はそんな控えめな表現では表せない魅力をWicketに感じています。Wicketは、Javaのいままでのフレームワーク開発の積み重ねがもたらした「ウェブ・アプリケーションの革命」です。Echo2のようにHTMLを廃してJavaだけでプログラムを組むのでなく、JSFのように新しいテンプレートを作るのでもない。HTMLJavaを結合して、HTMLJavaで、Javaらしいコードで制御するという方向

    daisuke-m
    daisuke-m 2008/02/14
    Wicket-ja発足! 陰ながら応援します。
  • 1