タグ

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

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

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

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

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

    paulownia
    paulownia 2011/12/13
    ソース自動生成よりもコンパイル時にクラス生成、自動生成ソースコード管理なんてしたくない。
  • 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のラムダ式導入に関する最新提案の雑なまとめ - 矢野勉のはてな日記

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

  • ベイブレードの人気 - 矢野勉のはてな日記

    雑文この記事経由です。http://news.finance.yahoo.co.jp/detail/20100719-00000001-president-columnベイブレード、私はやってないんですけど、甥っ子がはまりまくってます。実家に帰ると甥っ子がたくさんのコマを見せつけて来ます。甥っ子の説明を聞いてみるに、こりゃ売れるわ、ある意味すごい、遊び自体がビジネスを組み合わせてデザインされている、ということでした。記事にもあるように、ベイブレードのコマはカスタマイズ可能です。パーツ単位では売ってないみたいなんで、コマを買って来て、それを4つのパーツに分解&組み合わせすることで、独自のコマを作ることができる仕組みです。このコマの作りがなかなか良くできていて、安定して回り続けるコマとか、初回の勢いがいいコマとか、種類ごとに特徴がある。回り続けるコマは、誰がやってもちゃんと回り続けるようにでき

    paulownia
    paulownia 2010/07/23
    ネットでソーシャルソーシャル騒ぎだす前から、子供の遊びはずっとソーシャルという事か…
  • iPad購入三日目 - 矢野勉のはてな日記

    雑談プリペイド版を購入。仕事の時はノートPCをつかうので、別途WiMAXにも入っている関係で、普段は無線LANやWiMAXを使い、さっとつかう時だけ3Gという戦術。7月になったら100メガバイトプランが始まるので、そっちをメインにつかうことになりそう。とりあえず、Webの閲覧は当に楽。PCが目の前にあっても、WebはiPadで見てしまうくらいに楽です。Webが強烈に身近になった。調子に乗ってタクシーのなかでも使っていた。 大きくて電車のなかでは使いづらいという話をどっかで読んだのだけど、たしかに満員電車だと辛いかもしれない。しかし満員電車だとそもそも音楽聞くくらいしかできないからなあ。 私は電車の中でも使ってました。といってもまだ2回だけの話ですが。イラスト漫画iPhoneアプリはよいiPhoneアプリはまあ、おまけみたいなもんだと捉えたほうが良さげ。拡大しても全体が拡大する(文字ま

    paulownia
    paulownia 2010/06/01
    『iPhone用アプリとして売っている同人誌やイラスト集、漫画はもとからけっこう高解像』『リンクが押せません。カーソルが重なった時だけ表示される、という仕様のため、ボタン自体が現れません』
  • 互いに関連のないオブジェクトを1つのインターフェースにまとめて共通的にアクセス可能にするライブラリを作ってみた - 矢野勉のはてな日記

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

    paulownia
    paulownia 2009/06/15
    ほうほう
  • 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では、この問題を「フィールドには

    paulownia
    paulownia 2009/01/19
    WicketでS2JDBCが簡単に使えたりするのかな?
  • Javaフレームワークの比較検討資料公開 - 矢野勉のはてな日記

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

  • えがちゃんの件とサービスの公開について - 矢野勉のはてな日記

    サービス, 雑談, 仕事この記事がらみ。ちょっとまとまらないので散漫とした感じです。すみません。 アピールばかりの口だけ番長を応援して 黙々と頑張る奴には見向きもしない - 変なオジサン♪ 私はこの記事を読んで次のようにブックマーク・コメントを残しました。馬鹿なことを言わないでくれ。なんでやれる人が「黙々と」やってないといけないんだよ。これだとやったひとほど黙らないといけないことになるだろ。逆だろ。やった人ほど表に出る、みんなそれを評価する。こうだろ。あの記事に対する反応としては私はこれしかないんですねー。あの文だとこう反応するしか私はないのです。これは今も変わらない。やった人はやったってことを人に知られた方がよい。一人でやったんじゃなくてチームなり会社なりでやったなら、グループ名でも会社名でもいいから出せばいい。作業中は黙々とやればいいけど、できたらアピールしなよ。 ところで、この記事っ

    paulownia
    paulownia 2008/10/02
    やっと背景を理解した
  • Javaの冗長な記法って小クラス主義の現れではないかな - 矢野勉のはてな日記

    Java以下は無駄に長い駄文です。なんか書いてみたはいいもののうまくまとまらなかった。ごく一部しか表せなかった気がする。これではInputStreamReaderとかがたくさんオブジェクトを連結しないと使えないめんどくささをなぜ許容できるか、しか表せてない... もともとは「 Java における質的でない記述がどのように大規模開発に役立つのか - kwatchの日記」がらみの話です。文中にいくつか「アクセッサが簡潔に定義できない」「FileReader に文字コードを渡せない」のような例があって、「それらが改善されたら大規模開発になにか不利益があるのかどうか」という具体的な質問があったので私はそこにコメントしときました。私はコメント欄に「不利益なんてないよ」と回答しました。実際のところ、後方互換性が維持され、言語としての統一性が維持されるなら別に不利益なんてあるわけない。あるとしたらマネ

  • 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プログラマなら一度くらいは使ったことがあるかと思います。私も仕事柄いろんなところのアプリケーション開発環境を構築するのを手伝いま

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

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

    paulownia
    paulownia 2008/01/15
    「JavaプログラマはJavaで書くのが一番楽なんだ」なるほど
  • プログラマなら人月なんかさっさと超えろ - 矢野勉のはてな日記

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

  • Wicketはライトウェイトなフレームワークじゃない。でも気持ちがいい。 - 矢野勉のはてな日記

    Java, Wicket Wicketの紹介ページのタイトルを書く時、最初は「Java軽量フレームワーク『Wicket』の使い方」としようと思ってました。いろんなところで「Lightweight framework」と呼ばれていたから。でも実際に書いてみたらどうもしっくりこない。軽量....? なんか違う....。なのでお茶を濁して「Javaウェブフレームワーク」としたんですよ。 道具が手に合うようなしっくりさを持ったフレームワークなのに、「軽量」というとなんか違うという感覚が自分でもよく分からなかった。でも最近オライリーのOn JavaにてWicketのレビューが出てたのを読んで、やっぱりそうか、と思いました。 Wicket - (another) Java Web Framework: My First Impressions レビュー自体は比較的長めです。でも結構的を射たレビューです

  • 1