タグ

2010年11月7日のブックマーク (9件)

  • ジェネリクスの代入互換のカラクリ - プログラマーの脳みそ

    Javaジェネリクス再入門 - プログラマーの脳みそでは、「変数の型の宣言」の項で「ジェネリクスの<>の中は一般のJavaの型の代入互換性とは異なる。このことはよく覚えておかなくてはいけない。」と言ったものの、深入りはしなかった。 このあたりについて深入りしてみようじゃないか。 とりあえずサンプルコードはJavaで記述していくが、このあたりはジェネリクス指向の概念の部分だから、あまり言語に依ることはない。便宜的にJavaで書く、としておこう。 まず、型変数の境界について考えるために以下の継承関係のクラスを用意しておく。 public class A {} public class B extends A {} public class C extends B {} public class B2 extends A {} public class C2 extends B {} これは図で

    ジェネリクスの代入互換のカラクリ - プログラマーの脳みそ
  • 「もっと早く知りたかった」と思ったvimrc設定 - e2esound.com業務日誌

    vimrcをいじり始めると納得するまでいじってしまい仕事が手に使ない皆さん、こんにちわ。 このところ、vimrcに新たな設定を幾つか追加したのでまとめてみます。どれも、もっと早く知りたかった!と思うものばかりでした。 (),[],{},<>,””,’’,“入力+()の中にカーソル戻す HTMLでもPHPでもRubyでも、()を入力する場合には”()+←+中身を入力”という風に、いつも”←”をタイプしていました。面倒だな!といつも思ってたところ、先日偶然晒されているvimrcの中から以下の設定を発見しました。(どこで見つけたかは忘れました。) imap {} {}<Left> imap [] []<Left> imap () ()<Left> imap “” “”<Left> imap ” ”<Left> imap <> <><Left> imap “ “<Left> “()”を

    gfx
    gfx 2010/11/07
    カッコでカーソルを一つ戻すのは余計なお世話だな。一度設定してみたがすぐ戻した。本当に"foo()"と入力したいときに邪魔すぎる。
  • なぜ特区に反対するのかがわかって怖くなった : 404 Blog Not Found

    2010年11月07日19:00 カテゴリ書評/画評/品評Taxpayer なぜ特区に反対するのかがわかって怖くなった これ、反対の対象は実はカジノ特区なんかじゃない。 la_causette: カジノ特区に反対する理由 「国民の射幸心を煽り、勤労の美風を損い、国民経済の影響を及ぼす」が故に賭博行為を刑罰規定を持って禁止するというのが今の時代に合わないというのであれば、全国一律で賭博行為を合法化すべきだからです。他方、賭博罪の存在価値は今なお薄れていないということであれば、「特区」を作ってそこでのみ賭博を合法化する合理的な理由はありません。すなわち、特定の地域でのみ賭博を合法化するというのは理屈に合致していないのです。 反対の対象は、特区という考え方そのもの。 「日を駄目にした」という言い方が私は大っ嫌いなのだけど、その私ですらこれに関してはそういうのにやぶさかでないほど、駄目な考え。

    なぜ特区に反対するのかがわかって怖くなった : 404 Blog Not Found
    gfx
    gfx 2010/11/07
  • smart-args-and-moose-types.pl

    gfx
    gfx 2010/11/07
    @tokuhirom type constraintはMooseのでもMouseのでもいいので、既存のMX::Typesが全て使えるようになったよ
  • Re: Time::Piece::MySQL とタイムゾーン - Yet Another Hackadelic - ヒルズで働く@robarioの技ログ

    Time::Piece::MySQL とタイムゾーン (訂正あり) - Yet Another Hackadelic Unix timeにタイムゾーンの概念を持ち込むのは気持ち悪いです。 得られたUnix timeに対してタイムゾーンに対応する目的で数値を加算減算してはいけないと思います。 何故ならUnix timeは「UTCにおける1970/1/1からの経過秒数」だからです。 タイムゾーンがJSTになっていて、NOW()はJSTにおける時刻を返しているという前提で話を進めますが、 (当然のことながら、UNIX_TIMESTAMP()はUTCにおける時間を返している) 何が話をややこしくしているかというと、 $ perl -MTime::Piece -MTime::Piece::MySQL -e 'my $t = Time::Piece->from_mysql_datetime("2010

    Re: Time::Piece::MySQL とタイムゾーン - Yet Another Hackadelic - ヒルズで働く@robarioの技ログ
    gfx
    gfx 2010/11/07
  • にひりずむ::しんぷる - make test で Test::mysqld を永続化させる方法

    実際にどうやってんのかなーって話をあんまりしてなかったので。 まず、こんな感じのモジュールを t/lib/Test/MyApp/mysqld.pm とかで作って M::I::TestTarget の default_test_target() で `make test` を書き換えてやり、t/script/setup_mysqld.pl に とか書いてあげます。 それぞれのテストでは、Test::MyApp::mysqld->setup で mysqld を立ち上げるようにして置けば、 prove で個別にやった時は、それぞれ立ち上がる make test したときは、最初に立ち上げて、あとは使いまわす という感じになります。 ポイントとしては、 $ENV{TEST_MYSQLD} に Test::mysqld のデータ構造をそのまま JSON にして突っ込む Test::MyApp::m

  • Use array references with the array operators | The Effective Perler

    gfx
    gfx 2010/11/07
    Perl 5.14 feature: `push $array_ref, ...;` will be okay
  • ∂ - Wikipedia

    ^ Adrien-Marie Legendre, "Memoire sur la manière de distinguer les maxima des minima dans le Calcul des Variations," Histoire de l'Academie Royale des Sciences (1786), pp. 7–37. ^ Carl Gustav Jacob Jacobi, "De determinantibus Functionalibus," Crelle's Journal 22 (1841), pp. 319–352. ^ a b "The 'curly d' was used in 1770 by Antoine-Nicolas Caritat, Marquis de Condorcet (1743-1794) in 'Memoire sur l

    gfx
    gfx 2010/11/07
    der/partial derivative
  • [perl] Coro::Specific の使いどころについて

    Coro とは、AnyEvent、JSON::XS で有名な Marc Lehmann 作の、Perlにおいて、協調型スレッド(簡単な方のスレッド) を実現して、背後で AnyEvent が仕事をしながら、プログラマ側からは今までのブロッキング方式と思って書けるようにするためのモジュールです。 体に同梱されている Coro::Specific というモジュールを使うと、今まで fork システムコールで多重化していた Net::Server のような、サーバーのインスタンスが1つで、それぞれのクライアントがプロパティをちょこっと書き換える型のサーバーを Coro 化するのに役に立ちます。 実際に、Coro における PSGI サーバー実装である Corona で使っている、Net::Server::Coro では、以下のようにして特定のプロパティをコルーチンごとに別々に設定できるようにし