タグ

ブックマーク / nowokay.hatenablog.com (11)

  • Java VMの改善案が楽しそう - きしだのHatena

    なんか、Java VMの改善案がでてますね。 すげー楽しそうです。 http://cr.openjdk.java.net/~jrose/pres/201407-JVMEvolution.pdf プロジェクトValhallaとプロジェクトPanamaがあります。 http://openjdk.java.net/projects/valhalla/ http://openjdk.java.net/projects/panama/ Valhallaは、Value TypesとSpecialization、PanamaはArrays 2.0とLayoutsがあります。 概要をまとめてみますが、かなり適当な解釈で書いてたりするので、細かいことはちゃんと原文みてください。 Value Types 簡単にいえば、新しい基型を定義できるようにするというものです。 http://cr.openjdk.ja

    Java VMの改善案が楽しそう - きしだのHatena
  • WindowsでHadoopを動かす手順 - きしだのHatena

    HadoopをWindowsで動かすのは、結構めんどい。 「MapReduceってのが流行ってるらしいから、ちょっとウチのWindowsにHadoop入れて試してみるか」くらいの気持ちでは、くじけてしまうことうけあい。 JavaをインストールしてCygwinをインストールしてSSHを設定してHadoopの設定。 このSSHの設定で泣きそうになる。特にVistaの場合。 基的にhttp://hadoop.apache.org/core/docs/r0.19.0/quickstart.htmlに書いてあるんだけど、SSHの設定は軽くながされてる。 ということで、WindowsでHadoopを動かす手順をまとめてみた。 必要なもの Java JREではなくJDKをダウンロードする http://java.sun.com/javase/downloads/index.jsp Cygwin 右側に

    WindowsでHadoopを動かす手順 - きしだのHatena
  • もっとJavaEE6っぽくcometチャットを実装する - きしだのHatena

    もっとJavaEE6っぽくやってみよう 昨日のエントリでは、AsyncContextの使いかたを試すため、サーブレットだけを使って実装してみました。 でも、すこし泥臭いコードも多くなっていたし、このまま実用的なコードにしていくときにゴテゴテとコードを継ぎ足していくというのもイヤな感じです。 そこで、もっとJavaEE6っぽいコードに書き換えてみましょう。 少し準備 今回は、JAX-RSでのRESTful Webサービスと、CDIでのインジェクションを使ってみます。 JAX-RSの準備 まずは、JAX-RSを使うための設定クラスを作成します。 package chat2; @javax.ws.rs.ApplicationPath("rs") public class ApplicationConfig extends javax.ws.rs.core.Application { } こういう

    もっとJavaEE6っぽくcometチャットを実装する - きしだのHatena
    aufheben
    aufheben 2011/04/17
    JavaEE6 ってこんな感じになるのか。
  • 書評「JavaによるRESTfulシステム構築」 - きしだのはてな

    監訳者のartonさんより「JavaによるRESTfulシステム構築」を献いただきました。直接献いただいたのはオライリーさんからですけども。 これは「RESTful Java With JAX-RS」というの翻訳なわけですけど、こちらのタイトルからわかるとおりJAX-RS(JSR-311)の解説です。何で邦題からJAX-RS抜いちゃったんだろ? ところでJAX-RSというのは、JavaでRESTなWebサービスを構築するためのAPIなのだけど、これがかなり素敵です。 たとえば、こんな感じの名前と住所を保持するクラスを用意します。 package rest; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Customer { public String name;//名前 p

    書評「JavaによるRESTfulシステム構築」 - きしだのはてな
  • 3年後にRubyを勉強し始める人の動機は何になるだろう? - 2009-11-26 - きしだのはてな

    たとえば、JavaだとAndroidGoogle App Engine。あと、期待してるのがGWT。 PythonGoogle App Engineでたくさんの人が触るようになってると思う。 PHPは、なんだかんだでデザイナに近いところの人には欠かせないだろう。Flashも。 Perlはゲノム系の人は使うんだろう。WebのためにPerlの勉強を始める人というのは、今の時点でもいない気がする。 C#はマイクロソフトの続く限り。C/C++はコンピュータの続く限り。 という感じで考えたときに、既存プロジェクトRubyで書かれてるとか会社の方針とか、そういうしがらみがないとき、3年後にRubyの勉強を始める人は、何を動機にしてるだろう? あと、Javaに関して、もしGooglePythonしかサポートしていない会社だったら、ぼくはJavaを今 積極的に触ってない自信がある。

    3年後にRubyを勉強し始める人の動機は何になるだろう? - 2009-11-26 - きしだのはてな
  • 新しい法則をつくろう 2009-06-10 - きしだのはてな

    だれも言ってないような新しい法則をつくりましょう。 みなさんアルファブロガになりたいですよね、そうですね。 ブログのアクセス数を伸ばす近道は、すでにある法則の説明やまとめを書くことです。「あの有名だけど難しそうな相対性理論をわかりやすく説明するよ!」とかだと、100ブクマは固い。これでどんどん購読者がのばせます。 とはいえ、だれかが言ってたことの書き下しやまとめばかりだと、なんだかさびしいものです。やはり「わたしが考えました」というネタが欲しくなります。 しかし研究者でもなければ新しい法則などそうそう転がっているものではありません。 こんなことを言うと、「やはりアルファブロガーの道は遠いのか」と落胆してしまうかもしれませんが、ここで希望を捨ててはいけません。 法則がなければ作ればいいのです。 新しい法則を作るなどというと難しく感じます。 数学や物理を勉強したり、いろんな実験の必要があるとい

    新しい法則をつくろう 2009-06-10 - きしだのはてな
    aufheben
    aufheben 2009/06/10
    風が吹けば桶屋が儲かるメソッド
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
    aufheben
    aufheben 2009/04/09
    今日は酔っぱらいなんで、あとで読む。
  • クラウド対応のモデリング技術がおもしろくなるかもしれない - きしだのはてな

    いま、大きいのはクラウドから小さいのはGPGPUまで、並行システムはなざかりです。 クラウドなど、並行システムが不可欠となったとき、並行システムのモデリング技法が必要になります。 でも並行システムを作るために使えるモデリング技法で、現場の技術者に定着したものはありません。 いま現場で使えるのは、オブジェクト指向モデリングです。 オブジェクト指向のモデリングではUMLを使うと思うのですが、UMLを使ったオブジェクト指向のモデリングでは、クラス図・オブジェクト図が静的な関係を表し、シーケンス図・コラボレーション図はシングルスレッドでのフローをあらわします。これらの図は静的な関係か、シングルスレッドをあらわします。 複数スレッドを扱えるのはアクティビティ図ですが、ここではスレッドの同期を扱えるだけです。 UMLでは、動的な関係の遷移を表すことができません。 並行システムを考えるときには、動的な関

    クラウド対応のモデリング技術がおもしろくなるかもしれない - きしだのはてな
    aufheben
    aufheben 2009/04/02
    シーケンス図でもいちおう書けるとは思うけれど。でも、理論的に扱うなら、(UML の枠内では) ステートマシン図やタイミング図の方が良いかな。
  • Grailsの登場でRuby on Railsに移行する理由はなくなった - 2009-01-23 - きしだのはてな

    とか極端なことを書いちゃうと、またいろいろ怒られるわけですが。 Grailsによって、少なくともJavaプログラマがRuby on Railsに移行する理由はなくなったと言ってもいいのではないでしょうか。そして、JavaRubyも知らない人にとっても、今からWebアプリを作成するためにどちらかを選ぶならRuby on RailsよりもGrailsのほうがいいのではないかと思います。 Grailsの価値は、もちろんRuby on RailsのようにWebアプリケーションが作成できることにあるのですが、Ruby on Railsのようなフレームワークというのは他にもあります。 実運用を前提に考えると、Grails当の価値は、Java VMで動くこととSpring+Hibernateがベースになっていることであると思います。つまり、SpringやHibernateといった、Javaの世界で

    Grailsの登場でRuby on Railsに移行する理由はなくなった - 2009-01-23 - きしだのはてな
  • Javaが入門用言語に向いてない理由 - きしだのはてな

    ・型指定がめんどい ・クロージャーがない ・コードが長くなる ってことで、早くJava言語からScalaに移行が進んじゃえばいいと思います。

    Javaが入門用言語に向いてない理由 - きしだのはてな
    aufheben
    aufheben 2008/02/20
    from Java to Scala!?
  • [Java]正しい無限ループの書き方 - きしだのはてな

    boolean д = true; for(;д;){ System.out.println("でれません"); } boolean ω = true; for(;ω;){ System.out.println("ぬけれません"); } boolean ェ = true; for( ;(ェ); ){ System.out.println("終わりません"); } boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 参考 while(1)をfor(;;)って書くやつ(2ch)

    [Java]正しい無限ループの書き方 - きしだのはてな
    aufheben
    aufheben 2007/07/12
    ネタ
  • 1