タグ

2007年11月24日のブックマーク (7件)

  • Javaにおける疑似Map生成リテラル({ key => value }ばりに簡単にMapを生成する方法) - 矢野勉のはてな日記

    Javajava-ja@lingrのログを見ていたら、なにやらキーワード引数の話から、マップをサクっと作れないと「流れるようなインターフェース」が作りにくいとかそんな話になってて、「せめてMapのリテラルさえあれば…」とかいう話に行っていました(敷居が高かったので、下に紹介するブログのURLを貼って逃げた(笑))。 JavaMap生成リテラルが欲しい!という話は結構昔からぽろぽろ出てますよね。たしかにMapがささっと作れるのと作れないのとではMapを使う時のモチベーションが違う。気軽に使えない。 国内はもちろん海外のブログでもそういう話題は上がってまして、私のお気に入りは、odz bufferさんにて紹介されてた、このNicolas Lehuen氏のアイデアです。このアイデアを使うと、下記のようにBuilderみたいに簡単にHashMapを生成できます。 // Example usage

    pentasa
    pentasa 2007/11/24
    Map の簡易初期化
  • ジェネリクスでユーティリティ - ぐるぐる~

    Javaの理論と実践: 疑似typedefアンチパターン ちょっと古めの記事だけど役に立つ内容なので紹介。「継承を使って疑似的にtypedefのようなものは実現できるけど、ぜんぜん駄目だから使うな」って話。で、それだけじゃなくて型推論を活用して、安全にタイプ量を減らす方法も載っていて、今回はそれをちょびっと発展させてみる。 public static <K, V> Map<K, V> newHashMap() { return new HashMap<K, V>(); } 安全なトリック Javaでは戻り値が代入される変数の型によっても推論が働くから、これを使うと、 Map<String, Integer> m = newHashMap(); のように、型を一回指定するだけでいい。これはこれで便利だけど、同時に値も指定できたら便利だと思いません? てことで実装例*1。 public cla

    ジェネリクスでユーティリティ - ぐるぐる~
    pentasa
    pentasa 2007/11/24
    Map の簡易初期化
  • Map の簡易初期化 #2 - odz buffer

    Mapの簡易初期化」の別解。 Nicolas さんが Builder パターンでやっていたりしてそれはそれでいいのだけれども、以下の様なのを思いついた。 package collections; import java.util.HashMap; import java.util.Map; public class MapBuilder { private static class Entry<K, V> implements Map.Entry<K, V> { private K key; private V value; public Entry(K key, V value) { this.key = key; this.value = value; } public K getKey() { return key; } public V getValue() { return v

    Map の簡易初期化 #2 - odz buffer
    pentasa
    pentasa 2007/11/24
  • Genericなリストの簡略記法

    Onion開発日記は、はてなダイアリーに移行しました(URL:http://d.hatena.ne.jp/kmizushima/)。Onion開発日記のデータについては、随時移行していきたいと考えています。 よろしくお願いします(2008年5月4日)。

    pentasa
    pentasa 2007/11/24
    簡単なMapの生成方法
  • 初心者がJavaを“超高速”で学ぶためのコツ:ITpro

    皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ

    初心者がJavaを“超高速”で学ぶためのコツ:ITpro
    pentasa
    pentasa 2007/11/24
  • ニコ動の「ニコスクリプト」、26日に実装

    「ニコニコ動画」の投稿動画にさまざまな機能を付けられる機能「ニコスクリプト」(NICOScript)が、11月26日に実装される。21日付けの開発者ブログで明らかになった。 ニコスクリプトは、コメント欄に専用コマンドを入力すると、動画にさまざまな機能を付けられるというもの。動画を丸でくりぬいて一部分だけ見せる「窓」や、特定の言葉が投稿されると「当たり」などとメッセージを表示できる「クイズ」といった機能が利用できる(関連記事参照)。 当初、10月18日に実装予定だったが延期していた。26日の午後0時から3時までのメンテナンスが終わり次第公開する。 関連記事 “埋もれた職人”に光を――ひろゆき氏に聞く「ニコ動(RC2)」 「才能の無駄遣い」を惜しまない職人たちが、ニコニコ動画に集結している。新バージョン「RC2」は、職人達が「ゲーム風動画」まで作れる仕組みを提供。「埋もれた才能を発掘できる土台

    ニコ動の「ニコスクリプト」、26日に実装
    pentasa
    pentasa 2007/11/24
  • なぜ「ニコ動」は盛り上がり、「Second Life」は過疎化するのか (1/2) - ITmedia News

    「ニコニコ動画」「Twitter」はなぜ盛り上がり、Second Lifeは閑散としているのか――日技芸リサーチャーの濱野智史さんが11月22日、ブロードバンド推進協議会(BBA)が主催したシンポジウム「仮想世界におけるコミュニティサービスの現在」で、3サービスを分析。勝敗を分けたのは「時間軸」だと説明した。 「Second Lifeは、描画が3Dになり、見た目上は進化しているように見える。だが、その進化は当に、ユーザーが求めているものだろうか。見た目にだまされず、見えないもの――時間に着目すれば、なぜSecond Lifeがバッシングされ、ニコニコ動画が受け入れられたか分かってくるだろう」 コミュニケーションの「同期」と「非同期」 3サービスは、ユーザーがネット上でコミュニケーションするという点で共通する。だがコミュニケーションの「同期性」で見るとそれぞれ異なっており、Second

    なぜ「ニコ動」は盛り上がり、「Second Life」は過疎化するのか (1/2) - ITmedia News
    pentasa
    pentasa 2007/11/24