タグ

2009年1月27日のブックマーク (11件)

  • Javaの例外処理 - K.Maebashi's はてなブログ

    Diksamに例外処理をつけるため、Javaの仕様を参考にしようとしているんですが。 try catchのfinally節は、「何があっても通る」ところなので、たとえば以下のようなソースでは、 for (;;) { try { … break; } catch (Exception e) { … return; } finally { … } }try節の中のbreakやcatch節の中のreturnでfor文やメソッドを抜ける際でもfinallyの中は通らなければなりません。しかも、finally実行後に行うことはbreakだったりreturnだったりと異なるので、これは単にジャンプ命令で引き回すだけでは実現が難しそうです。 そのためにjsr(jump subroutine)という、関数内のサブルーチンコールのインストラクションがJVMにはあるのだと私は理解してました。 JVMの仕様書を

    Javaの例外処理 - K.Maebashi's はてなブログ
    Nagise
    Nagise 2009/01/27
    try-catch-finally節はどのようなバイトコードに変換されるのか
  • SunのコンパイラとEclipse JDTで動きが違う(3) - しげるメモ

    酒の肴くらいにしかならない豆知識。メソッド呼び出し時の型推論とか - しげるメモの知識が前提のネタです。 下記のコードはjavacとJDTで動きが違います。 public class Assignable { public static void main(String[] args) throws Throwable { throw get(); // ここの評価が違う } static <T> T get() { return null; } } javacだとコンパイルエラーにはならず、JDTだとコンパイルエラーになる感じ。 ... ThrowStatement: throw Expression ; A throw statement can throw an exception type E iff the static type of the throw expression

    SunのコンパイラとEclipse JDTで動きが違う(3) - しげるメモ
    Nagise
    Nagise 2009/01/27
    throwキーワードに対して適切な型推論を…。そもそも<T extends Exception>とかならEclipse JDTでもコンパイルできるし、本当にどうでもいいネタだけど面白い
  • 議論を巡るやりとり帳 - (旧姓)タケルンバ卿日記避難所

    昨日、Twitterでいくつか議論に関してやりとりをしたんだけど、その内容が結構おもしろかったので、こちらにフィードバックしてみる。 Q.「感情論」の反対語は? A.「論証論」 「感情」の反対語を考えると、「理性」とかがあてはまるので、「理性論」みたいな言葉でもいいと思うんだけど、自分は「論証論」という言葉を用いています。というのは、言葉をこう分解するとわかりやすいから。 感情論……感覚と情理によって説明する手法*1 論証論……論理と証明によって説明する手法 ともにあることを説明するときの方法論。「人に説明する」「他人に伝える」「外に発信する」という目的をかなえるために、どういう方法をとるかの手段の違い。そして「感覚と情理」か「論理と証明」かという道具の違い。こう考えるとわかりやすいかと。 Q.「感情論」は悪い手段なのか? A.手段なので良いも悪いもない あくまで「モノを伝える」が目的なの

    議論を巡るやりとり帳 - (旧姓)タケルンバ卿日記避難所
    Nagise
    Nagise 2009/01/27
    それは議論だろうか。プレゼンだろうか。正しさを求める学術的な議論などでは感情論は手段足りえない。ひとに同意を貰うプレゼンであれば感情論も手段足りえる。
  • 正規表現に見切りをつけるとき

    Perl, Rubyなど手軽に使えるプログラミング言語に慣れてくると、あらゆるテキストデータの処理に正規表現(regular expression)を使ってしまいがちです。 けれど実は、正規表現の処理能力を超えるフォーマットというのが存在します。その典型的な例が、XMLやJSONのように、入れ子になったデータフォーマットです。

    Nagise
    Nagise 2009/01/27
    正規表現は再帰に無力。たしかに。
  • 「膨大なデータを分析して見えてくること」ニコニコ動画データ分析研究発表会

    最大の動画投稿サービス「ニコニコ動画」は、動画上を流れるコメントや、自由に編集できるタグ機能といった特徴を持ち、単なる動画共有サービスにとどまらず、コミュニティサイトとしての側面も持つ。多くの人がアクセスする中で「アイドルマスター」「初音ミク(VOCALOID)」「東方プロジェクト」など、いろいろなムーブメントが生まれてきた。 今も毎日多くの動画が投稿されており、各動画は「再生数」「コメント数」「マイリスト数」などの情報がわかるようになっている。すでに投稿動画数は200万を超えるが、これら膨大なデータを分析することで、どんな現象やコミュニケーションが起きているのかを明らかにしようとするのが今回の発表会の目的である。 分析する際の2つの障壁 独自にデータ収集が必要であること しかし、そもそもニコニコ動画自体はデータを分析しやすいように広く提供しているわけではない。1つ1つの動画の再生数

    「膨大なデータを分析して見えてくること」ニコニコ動画データ分析研究発表会
    Nagise
    Nagise 2009/01/27
    最近この手の研究結果の発表を見る機会が増えた気がするけど、研究素材が手に入りやすくなったのが影響しているのかな?
  • フィールドごとに getter/setter を用意するな - ぐるぐる~

    未だにフィールドごとに getter/setter を用意しろって言う人がいてびっくりするわけですが。 フィールドごとに getter/setter を用意する人の言い分 そうやれって/Webページに書いてある フィールドに触れないと不便だろう それが OOP だ 言い分に対する反論 そうやるなってに書いてある 5章 オブジェクト指向エクササイズ 5.2.10 ルール9:Getter、Setter、プロパティを使用しないこと ThoughtWorksアンソロジー List<Book> getBooks() { return books; } これはクライアントに最大限の柔軟性を提供するが、さまざまな問題を生み出す. コレクションをそのまま返すと, その内容に依存している内部状態が知らない間に無効にされてしまうかもしれない. 略 代わりに, コレクション内の情報への, 限定された, 意味

    フィールドごとに getter/setter を用意するな - ぐるぐる~
    Nagise
    Nagise 2009/01/27
    なんかgetter/setter作るな説を述べているかのように誤読するタイトルだな。盲目的に全部のフィールドに対してgetter/setterを作るなという話。隠すところはちゃんと隠せよ、と。場合によってはImmutableとかにしろよ、と。
  • 知らないと損するフレームワーク思考活用法 - GoTheDistance

    ホッテントリメーカーからタイトルを頂戴した。id:phaさんありがと。 社会人なら押さえておきたいフレームワーク思考 : LINE Corporation ディレクターブログが非常に人気で今年のアルファブロガー(というかエントリ大賞に見える)大賞にもノミネートされている。こういう記事はニーズがありそうなので、僕なりにフレームワーク思考についていくつかサンプルを用意し、僕が使うチャートのサンプルを紹介しておきます。 というか1000以上のブクマとか・・・嫉妬!激しく嫉妬!!ハンカチ噛んじゃう!!!! そもそも議論しちゃいけないこと 個人の価値観に依拠し、お互いの主張を出し合っても全体として合意が得られそうにないこと。例えば「浮気の定義」とか。こんなのは議論したって全体最適なんて導けるわけが無いので、ビジネスの場では全く持ってムダです。居酒屋でやりましょう。 仕事で議論することの意味 あなた

    知らないと損するフレームワーク思考活用法 - GoTheDistance
    Nagise
    Nagise 2009/01/27
    前提を理解するのにある程度の知識や技能が要求される場合とかは、どんだけ前提が明確でも共有ができない場合がある。どうしたもんか。
  • 20代の3割が「英語は萌え系教材で学びたい」

    英語を学ぶための理想の“教材”はどんなものだろうか。アイシェアがネットユーザーに「英語を勉強するならどんな方法がいいか」を聞いたところ、トップは「ゲーム」(49.6%)だった。 「あったら欲しい教材」は世代別で差があり、20代は3割が「アニメ・萌え系教材で学びたい」と答えた。 英語を勉強する方法の2位以下は「英会話教室」(41.9%)、「eラーニング」(24.2%)、「」(23.2%)、「DVD」(19.1%)、「CD」(18.4%)の順。。年代別で見ると「ゲーム」は20代と30代では半数を超えたが、40代では47.3%と半数を割り込んだ。 あったら欲しいと思う教材は、1位が「ネイティブに教わる」(57.4%)、2位は「もともと英語が苦手だったが克服した人から学ぶ」(30.0%)、3位は「カリスマ講師もの」(15.5%)、4位は「子どもと一緒に学ぶ」(13.8%)。 「アニメ・萌え系もの

    20代の3割が「英語は萌え系教材で学びたい」
    Nagise
    Nagise 2009/01/27
    画像のリンク間違ってないか?こっちの記事の画像にいくっぽいけど。http://www.itmedia.co.jp/news/articles/0901/27/news045.html
  • メソッド呼び出し時の型推論とか - しげるメモ

    自分めも。途中からメソッド呼び出し時の型推論についての話題になっても気にしない。タイトルも直した。 クラスインスタンス生成式の型の部分にはtype wildcardは書けない。 List<?> list = new ArrayList<?>(); // ^^^ - ERROR なんとなくこうは書きたくない。 List<?> list = new ArrayList<Object>(); // ^^^^^^^^ - Object? メソッドの型推論に任せると勝手に < Object > を作ってくれる。 public static void main(String[] args) { ArrayList<?> obj = newArrayList(); } private static <T> ArrayList<T> newArrayList() { return new ArrayLis

    メソッド呼び出し時の型推論とか - しげるメモ
    Nagise
    Nagise 2009/01/27
    Java言語仕様の型推論のところを読むと10ページ以上にわたって延々と考察が書かれていてうへーっと思う。あの難しい仕様のおかげで楽できるんだから感謝しないとね。
  • 文ラベルのスコープ - しげるメモ

    自分めも。 ラベルのスコープはけっこう特殊。 public static void hoge() { L1 : {} L1 : {} } 上記のように並列してもOK。 下記のように直列するとNG。 public static void seq() { L1 : L1: {} } LABEL : STATEMENT のSTATEMENTの部分がスコープらしい。下記も重複してNG。 public static void inner() { L1 : { L1 : {} } } 確かにこれなら、break, continueで下記のような記法はスコープ外になるので余計なことを考えないで済む。 public static void outer() { L1 : for (int i = 0; i < 10; i++) { } L2 : for (int i = 0; i < 10; i++) {

    文ラベルのスコープ - しげるメモ
    Nagise
    Nagise 2009/01/27
    ただのブロックにもラベルつけれたのか。知らなかった。forとかを伴う場合だけかと思ってた。L1:{break L1;}とかできるんだね。
  • 1972年の絵文字(エモチコン) | 秋元@サイボウズラボ・プログラマー・ブログ

    Emoticon(エモチコン)、スマイリー(smiley)、絵文字、アスキーアート、いろいろ呼び方はあるけど、コンピュータスクリーン上で文字を使って絵を描くことで感情を表したもの。今ではだれでも、堅苦しくないチャットやメールなんかでは特に、使っているだろう。 “:-)”が(横倒しになった)笑った顔を現すというSmileyは、1982年に発生したと言われている。 上の絵文字、イリノイ大学のPLATOという教育用ネットワークシステムでの掲示板で使われていた、おそらく最古のエモチコンだという。時は1972年。 …1972年だよ? 驚きだなあ。そんなに前から掲示板システムというのがあって、その時にはすでに文字で絵を作って遊ぶことも既に始まっていたなんて。 左側にある四角い絵がそれなんだけど、これは当時の文字しか表示できないコンピュータの端末上で、制御文字を使って一文字カーソルを左に戻し、その上に新

    1972年の絵文字(エモチコン) | 秋元@サイボウズラボ・プログラマー・ブログ
    Nagise
    Nagise 2009/01/27
    8bit時代ならではの手法かな?エスケープシーケンスとか使っても文字を重ねることって出来たっけか?機種に依るとは思うんだけど。