タグ

ブックマーク / nobeans.hatenablog.com (9)

  • JavaOne2010 9/20 -- Java SE: The Road Ahead - 豆無日記

    JavaOneも先週終わってもう一週間経とうとしている今日この頃、今更感が超濃厚ですが、セッション内容をまとめざるを得ない事情が色々とあり、せっかく書くならということでここにも晒しておきます。変なところがあったら突っ込んで下さい。 *** Java SE 7はどうなるのか?という超注目のセッションです。 ただ、どうやら以前よりウォッチしてる人からみると、特に新しいことはなかったようです。 JavaOne期間中に、Java7とJava8のリリースがどうなるか、という予定が決まったくらい? さて、内容ですが、Java7,8,9...のつまり次世代Javaのテーマは、以下の6つだそうです。 Productivity Performance Universality Modularity Integration Serviceability テーマごとに新しい仕様/機能が紹介されていきましたが、い

    JavaOne2010 9/20 -- Java SE: The Road Ahead - 豆無日記
  • JavaOne2010 9/22 -- Project Lambda: To Multicore and Beyond - 豆無日記

    ついにJavaにもクロージャ導入か!?という、注目のProject Lambdaのセッションです。 実際のところ、クロージャと言うより、匿名内部クラスよりは見やすい新たなラムダ式の記法ってだけなんですけども。 とりあえずメンドイし、厳密な定義とかあまりよく知らないので、新しいラムダの記法を「クロージャ」って書いときます。 なぜ今更Javaにクロージャを導入するのか? ムーアの法則における成長限界もあるし、将来的にマルチコアによる並列処理が主流になってくるので、マルチコアをもっと引き出すような言語サポートが必要だよね、というのが主な動機だそうです。 確かに現状でも優秀なjava.util.concurrentパッケージがありますが、万人向けとは言い難い。もっと手軽に利用できて、かつ、コードが読みやすくなるようにしていかないと。 パラレル処理がかんたんに書けないなら、シーケンシャルに書いちゃう

    JavaOne2010 9/22 -- Project Lambda: To Multicore and Beyond - 豆無日記
  • JavaOne2010 9/21 -- The Modular Java Platform and Project Jigsaw - 豆無日記

    Javaには膨大な数のライブラリがあり、我々開発者としてはそれらを使うことで既存の枯れた機能を簡単(?)に利用できてウハウハな訳ですが、ライブラリのJarファイルの管理はどうにも大変ですね。 Jar同士の依存性管理とか、手動でがんばるとありえないし。 というわけで、今まではMavenやIvyなどの完全に外部のプロダクトとしてその辺りのソリューションが提供されてきてたわけですが、ついに家による対策がなされるときがきたのです、というお話。 経緯とかあまり詳しくないんですけど、 既に組み込みではデファクトのモジュラリティソリューションであるOSGiをそのまま採用しよう ↓ やっぱりやめよう ↓ やっぱりOSGiでいこう ↓ (以下ループ) みたいなやりとりが過去にあったようです。結局はOSGiとは全然別物になって今回のお披露目となりました。 というわけで、Project Jigsawのセッショ

    JavaOne2010 9/21 -- The Modular Java Platform and Project Jigsaw - 豆無日記
  • GroovyのPowerAssertにおける空文字の表現がわかりづらい件 - 豆無日記

    以下のようなPower Assertだと、左辺がStringの内部表現(?)になってしまいます。 ""とかで出力してくれればいいのに。 $ groovy -e "assert new String() == 'HOGE'" Caught: Assertion failed: assert new String() == 'HOGE' | | | false java.lang.String@3fb2d7df at script_from_command_line.run(script_from_command_line:1) $ groovy -e "String left = ''; assert left == 'HOGE'" Caught: Assertion failed: assert left == 'HOGE' | | | false java.lang.String@4c5

    GroovyのPowerAssertにおける空文字の表現がわかりづらい件 - 豆無日記
  • Mavenリポジトリを検索してPOMとかGrape用形式で出力できるスクリプトを書いてみた - 豆無日記

    はじめに Groovyで、GrapeというIvyベースのツールがあって鼻水ちょちょぎれるほど便利(ry というわけで、最近はちょくちょくMavenリポジトリを検索することがあります。 Groovyのコードを書くときはscreen+vimでやってるんですけど、そうなると、一々Webブラウザ経由で検索しに行くのがおっくうになってくるわけです。 というわけで、プログラマの三大美徳である「無精(Laziness)」の名の下に、Mavenリポジトリを検索するGroovyでスクリプトを書いてみました。ハイル、無精! もちろん、Maven2のPOM形式と、GroovyのGrape形式で結果を出力できるオプション付きです。 なんかよく考えると既にたくさん前例がありそうですが、車輪の再発明上等です。 楽しいから作ったんだ、何か文句あるかこの野郎。です。すいませんです。 インストール 実行に必要なソースコード

    Mavenリポジトリを検索してPOMとかGrape用形式で出力できるスクリプトを書いてみた - 豆無日記
  • gistコマンドが便利すぐる - 豆無日記

    gitのAccount Setting画面にあったAPI Tokenというのが何じゃろと思ったら、すぐそばのリンクからgistというコマンドの存在を知りました。今更? ↓これ http://github.com/defunkt/gist これをインストールするとコンソールから、 gist < file.txt echo secret | gist --private # or -p gist 1234 > something.txt とかするだけで、gistを使うことができるのですね。 なにこれすごい。 割と短いrubyスクリプトですが、すごくべんりです。 ただ、自分の環境で実行すると、参照はできるんですけど、書き込みがソケットエラーになってしまいました。 エラーメッセージを見るとプロキシ関係っぽいです。 $ gist < test.txt /System/Library/Framewor

    gistコマンドが便利すぐる - 豆無日記
  • SeasarCon2009Autumnにいってきた - 豆無日記

    今回は、まじめにメモをとったのはDomaだけ。 いやーDomaすごいっす。よく分からないままふらっと入ったけど、非常に面白い。 というわけで、メモを貼り付けておきます。 次世代DaoフレームワークDoma Domain指向 "Domain"=値の定義域(DB的なドメイン) 引数全部Stringとか、型で情報を表せてないよね String orderNo, String customerName, ... ↓ OrderNumber orderNo, CustomerName customerName, ..... 「振る舞いはエンティティに持たせればよい」というが、エンティティよりもプロパティに持たせた方が、よりDRYにできる! StringDomain<T>を継承して独自ドメインクラスを定義する public class OrderNumber extends StringDomain<

    SeasarCon2009Autumnにいってきた - 豆無日記
    monjudoh
    monjudoh 2009/09/15
    次世代DaoフレームワークDoma
  • git-stashしたファイルをapplyしようとしてコンフリクトしたときの解決法 - 豆無日記

    はじめに 作業途中で思いついた小さめの修正を先にコミットしてしまおうと思ったときに、ちょっとgit-stashをつかってみたところ、マージ時にコンフリクトしちゃいました。 実際のところ、あるクラスをリファクタリングして名前変更したんだけど、名前変更と実装内容の変更は別に分けてコミットしたいなーと思いついて、ハマったというわけです。 下の知識があれば、必要ファイルを抜き出してさくっと対処できたと思われる(ちがうんかな)。 というわけで、メモに残しておきます。 IDをstash@{0}とか指定すればshowもcheckoutもできるよ! いや、知ってる人には当たり前なんでしょうけど。 $ git stash list stash@{0}: WIP on master: 236b61e... initial import というstash状態で、 $ git show stash@{0} com

    git-stashしたファイルをapplyしようとしてコンフリクトしたときの解決法 - 豆無日記
  • SeasarCon2009White: Slim3のすべて - 豆無日記

    ※2011/01/18追記: どうも勘違いする人が多そうなので、追記しておきます。ここに書いてあるSlim3は現在のGAE向けのフレームワークのSlim3ではなく、その前に構想されていたSpringの薄いラッパーとしてのSlim3です。名前は一緒だけど全然別物ですし、現状、実体としては存在しません。なので今更この記事みても得るところはほとんど無いのでご注意ください。 - もう少しでリリースできそう - full-stack web application framework - slim3 is agile HOT deployment Less configuration CoCとAnnotationでの指定をうまく混ぜながら。 only CoCとかall annotation(1つのメソッドに5つぐらいついてるとか)はやりすぎ。 Less learning cost Struts1.2

    SeasarCon2009White: Slim3のすべて - 豆無日記
  • 1