タグ

ブックマーク / kaiseh.hatenadiary.org (23)

  • IntelliJ IDEAのPros and Cons - kaisehのブログ

    最近IntelliJネタばっかりですが、自分が使った範囲で感じたIntelliJの良いところ、良くないところをまとめて書いてみます。 IntelliJの良いところ オールインワン 必要なもの(SVN, Git, Maven, etc)が最初から揃っていて、それぞれ完成度も高い。オールインワンなので、IDE全体が良く調和している。 周辺言語のサポート Scala, Groovy, HTML(*), JS(*), Flex(*)などのサポートが手厚い。Javaの開発に近いレベルで、リファクタリング、コード解析、整形等ができる。Scalaプラグインの完成度は、現時点ではEclipseやNetBeansのプラグインを圧倒しているし、Flexもコードエディタに限ればFlex Builderより高機能。(*はUltimate Editionのみ) コード解析 コード解析機能が充実している。FindBu

    IntelliJ IDEAのPros and Cons - kaisehのブログ
  • IntelliJ IDEAのエディタ周辺機能(Eclipseユーザ向け) - kaisehのブログ

    Scalaプラグインが優秀と聞いて、少し前からIntelliJ IDEA Community Editionを使い始めました。Scalaのサポートは期待通り充実していたんですが、IDE自体も快適で、Eclipseから気で乗り換えたくなってきました。 初めは、Eclipseと比べてエディタの操作感がかなり違うように見えて、とっつきにくく感じたんですが、それは単にEclipseの機能との対応関係が分かっていなかっただけで、少し馴染めば逆にIntelliJのエディタの方が使いやすい気がします。 以下、Eclipseのエディタに慣れた人向けに、IntelliJ IDEAで設定した方が良さそうな項目や機能の対応関係などを書いてみます。 最初にすること Eclipse風キーマップの使用 設定の"Keymap"で"Eclipse"を選択します。キーバインドの大部分がEclipseと共通になります。 フ

    IntelliJ IDEAのエディタ周辺機能(Eclipseユーザ向け) - kaisehのブログ
    Nagise
    Nagise 2009/11/02
    IDE
  • LGPLと商用利用にまつわる話 - kaisehのブログ

    商用アプリケーションにLGPLライブラリを組み込むにあたって、いろいろ問題があるらしいということは知っていましたが、それが具体的に何なのかは良く分かっていませんでした。 Javalobbyに2004年にポストされた「LGPL and Java」という以下のトピックと、そこで繰り広げられているFSF支持派(以下肯定派)とLGPLうざい派(以下否定派)のバトルを読んで、少し状況が理解できました。 LGPL and Java - FSF clarifies この論争で主に槍玉にあげられているのは、LGPLが定めている以下の点です(この原則自体、あまり正確には把握されていないんじゃないかな。特に3とか)。これらは、LGPLライブラリの商用利用の障害になる可能性があります。 LGPLライブラリにリンクするアプリケーションは、そのリンクの形態がいかなるものであれ、LGPLライブラリの派生物になる。した

    LGPLと商用利用にまつわる話 - kaisehのブログ
    Nagise
    Nagise 2009/09/18
    「リンクの形態がいかなるものであれ、LGPLライブラリの派生物になる」うーむ。
  • 『Blogopolisの裏側』発表資料 - kaisehのブログ

    昨日のSeasar Conference 2009 Autumnで発表させていただいた『Blogopolisの裏側』の資料を公開します。 Blogopolisの裏側View more documents from kaiseh. 資料の28枚目に、重み付きボロノイ図の重心ベースレイアウトの説明用動画がありました。その動画は以下にアップしました。 講演者の皆さん、運営の皆様、当にお疲れ様でした! 追記 id:mi-changさん p14ででてる「頂点数」、「多角形数」って何を意味してるんだろう?頂点数が多いということはより多くのタグと結びついているってこと? これは、1つ1つのエントリーやブログ、地区(カテゴリ)に対応する土地の幾何データのことです。例えば、5角形の土地の場合は5個の頂点座標が必要になります。土地の頂点数はレイアウト上の理由で決まるもので、タグとは直接関係はありません。

    『Blogopolisの裏側』発表資料 - kaisehのブログ
    Nagise
    Nagise 2009/09/14
  • ビジュアルブログ検索エンジン『Blogopolis』を公開しました - kaisehのブログ

    ブログランキングサービス『TopHatenar』に登録された20万件超のブログを3Dの仮想都市景観に凝縮したサイト、『Blogopolis』を公開しました。 Blogopolis Blogopolisとは Blogopolisは、昨年6月に公開したはてなダイアリーの勢力地図『HatenarMaps』のコンセプトを継承したサイトです。HatenarMapsの初版は、1000ユーザ×5エントリーの土地から構成された「はてな村」の地図でしたが、Blogopolisは20万人超のユーザと30万件近くのエントリーを収容する「メガロポリス」です。 Blogopolisは、TopHatenarが収集している全ブログのデータ(はてなブックマークにおけるエントリー、ブックマーク数、ブックマークタグ、livedoor Reader購読者数)を活用して、3Dの都市景観を自動生成しています。 ブックマークエントリ

    ビジュアルブログ検索エンジン『Blogopolis』を公開しました - kaisehのブログ
    Nagise
    Nagise 2009/08/28
    素晴らしい。強いて不満を言うとすれば、キーワードを入力時に表示される赤丸が重なったときにクリックできないぐらい。
  • 『実用 Subversion 第2版』を共訳しました - kaisehのブログ

    実用 Subversion 第2版 作者: C. Michael Pilato,Ben Collins-Sussman,Brian W. Fitzpatrick,宮久仁男(監訳),朝枝雅子,浜階生出版社/メーカー: オライリージャパン発売日: 2009/07/27メディア: 大型購入: 6人 クリック: 45回この商品を含むブログ (20件) を見る Subversionの解説書、『実用 Subversion 第2版』が発売されます。僕も翻訳に加わらせていただきました。 このは、Subversionの開発陣が執筆したSubversionガイドブックです(第1版はオンラインでも読めます)。この第2版では、去年に出たSubversion 1.5の新機能の解説などが加筆されています。 翻訳していて感じたのですが、開発の当事者が書いていることもあってか、説明が懇切丁寧で分かりやすいです。s

    『実用 Subversion 第2版』を共訳しました - kaisehのブログ
  • 適切なクラスタ数を推定するX-means法 - kaisehのブログ

    K-means法によるクラスタリングでは、あらかじめクラスタ数Kを固定する必要があります。HatenarMapsでもK-means法を使っているのですが、クラスタ数は(特に根拠もなく)200個に決め打ちになっていました。 これに対して、X-means法というK-means法の拡張が提案されていることを知りました。X-means法を使うと、データに応じて最適なクラスタ数を推定できます。 K-means and X-means implementations http://www-2.cs.cmu.edu/~dpelleg/download/xmeans.pdf X-means法の考え方は、K=2で再帰的にK-means法を実行していくというもので、クラスタの分割前と分割後でBIC(ベイズ情報量規準)を比較し、値が改善しなくなるまで分割を続けます。 調べたところ、Javaのデータマイニングツー

    適切なクラスタ数を推定するX-means法 - kaisehのブログ
    Nagise
    Nagise 2009/06/29
    あの渦巻きは気になっていたんだけど、原因がクラスタ数が不適切であることが原因だったとは!
  • TopHatenarのグラフにエフェクトを追加しました - kaisehのブログ

    TopHatenarで、購読者数とブックマーク数の推移グラフに、ブログのアクティブ度を示すエフェクトを追加してみました。 3users以上の被ブックマークエントリーがある場合、その日の背景からエフェクトが出ます。また、短い期間に3users以上のエントリーが連投されると、エフェクトが強くなります。究極にアクティブなブログからは、以下のように圧倒的オーラが放たれます。 追記 滲んだ感じを抑えるために、線を白抜きにしてみました。

    TopHatenarのグラフにエフェクトを追加しました - kaisehのブログ
    Nagise
    Nagise 2009/06/12
    いつも数値のうまいビジュアル化に驚かされる。なるほど、こういう表現方法もあるか。
  • Lucene 2.4とLucene 2.0のインデックス構築速度比較 - kaisehのブログ

    Luceneは、こちらのベンチマークなどを見る限り、Sennaなど他の全文検索エンジンに比べて相当遅いとされているようです。 上記ページのベンチマークではLucene 2.0が使われています。僕も数年前にLucene 2.0を使ったことがあって、それ以降はLuceneに触れていなかったんですが、最近のバージョンはパフォーマンスが大幅に改善されているそうなので、どれくらい速くなったのか、インデックス作成速度を比較してみました。 比較に使ったのはLucene 2.4.1(2009/03)とLucene 2.0.0(2006/05)です。以下の条件でインデックス作成時間を計測しました。 データ: 日語版Wikipediaのダンプから先頭20万記事 インデックス形式: 記事タイトル: Store.YES, Index.ANALYZED(元文字列+インデックス) 記事文: Store.COMPR

    Lucene 2.4とLucene 2.0のインデックス構築速度比較 - kaisehのブログ
    Nagise
    Nagise 2009/04/06
    そろそろ業務システムでも全文検索エンジンが搭載される時代がくるんじゃないかと思ってるんだよね。質が良い使いやすいものが確立されるといいなぁ。
  • TopHatenarが全ドメインのブログに対応しました - kaisehのブログ

    はてなダイアリーのランキングサイトとして公開してきたTopHatenarですが、今回、はてな以外の全ドメインのブログに対応しました。 従来のページにアクセスすると、はてなランキングに加えて、全ブログ内でのランキングも表示されるようになります。 はてな以外のURLを入力すると、例えば以下のようになります。 ブログサービス別に、ランキングを表示することもできます。 新規登録されたブログ(はてな以外のブログ)について 今年の1月中旬頃から、はてな以外のブログを計測開始しています。新着のはてなブックマークを定期的にチェックして、ブログと判定されたURLについては、自動登録を行っています。判定は完全ではないので、ブログ以外のサイトが登録されているケースもありますが、今後改善していきたいと思っています。 3/22現在、ブログサービス別の集計数は以下のようになっています(あくまでもTopHatenar

    TopHatenarが全ドメインのブログに対応しました - kaisehのブログ
    Nagise
    Nagise 2009/03/22
    その他のblogを書いているのだけどちゃんと拾われてた。blogとそうではないものをどう分けているのだろう?
  • アプレットを開いたユーザに拒絶感を与えない方法 - kaisehのブログ

    Javaアプレットが載ったHTMLページを開くと、こういうスプラッシュ画像が出てきます。 この画像が目に入った瞬間、反射的にページを閉じる習慣が身に付いてしまっているユーザは、僕を含めて多いと思います。 Java SE 6 Update 10でサポートされたimageパラメータを使うと、この画像を任意に置き換え可能なようです。 追記: imageパラメータ自体は、もっと前からあったようです。Java SE 6 Update 10以降は、画像をセンタリングするcenterimageパラメータやアニメーションGIFが追加サポートされたようです。 <applet ...> <param name="image" value="another_image.gif" /> </applet> 例えば以下のFlex風画像で代替すると、ユーザにかなり安心感を持ってもらえるんじゃないでしょうか。

    アプレットを開いたユーザに拒絶感を与えない方法 - kaisehのブログ
    Nagise
    Nagise 2009/03/12
    AppletとFlashの何が違うってイメージというか先入観だね。初期のAppletで変な先入観を持った人が考えなしに「Appletはクソ」と言ってる。だからってFlash偽装Appletってのもどうよと思うけど。オリジナル画像にはしたいかも
  • 外部イテレータと内部イテレータ - kaisehのブログ

    Javaでコレクションクラスを作ってそのイテレータを実装する場合、Javaにはクロージャが無いので、外部イテレータを使うことがほとんどだと思います。 例えばint値のコレクションとイテレータを自作するときは、まず以下のようにIntIteratorとIntIterableを用意して public interface IntIterator { boolean hasNext(); int next(); } public interface IntIterable { IntIterator iterator(); } 以下のように実装します。 public class IntArray implements IntIterable { private int[] array; private int length; public IntArray(int[] array) { this.a

    外部イテレータと内部イテレータ - kaisehのブログ
    Nagise
    Nagise 2009/02/25
    外部/内部というのは処理をイテレータの外部に書くか、内部に書くかということだろうか。
  • ニコニコ動画データ分析研究発表会: タグの可視化 - kaisehのブログ

    ニコニコ動画データ解析発表会でニコニコ大百科の宣伝を行いました(発表資料もあるよ!) - グニャラくんのグニャグニャ備忘録@はてな ニコニコ動画で使われているタグのクラスタリング結果がHatenarMapsと同じ手法で可視化されていて、興味深いです。 デンドログラムをそのまま表示するのに比べて、視覚的に分かりやすいです。ただ、Voronoi Treemapsは二分木や平衡度の低い木に適用してもあまり美しい分割にならないので、そこをどう改善するかが課題だと思います。 ちなみに、この資料(またはHatenarMaps)で使われているボロノイ分割の変形版として、エッジが曲線になる手法もあります。こっちの方が見た目的に奇麗な可能性があるので、今度試したいと思っています。

    ニコニコ動画データ分析研究発表会: タグの可視化 - kaisehのブログ
    Nagise
    Nagise 2009/01/28
    僕はボロノイ図というものを広く知らしめたのはid:kaisehの功績だと思ってる。今なら「TopHatenarみたいなやつ」で結構通じる。
  • K-means法によるクラスタリングのスマートな初期値選択を行うK-means++ - kaisehのブログ

    K-means法は、入力データからK個のランダムな個体を初期クラスタの中心として選択し、以降、クラスタの重心を移動させるステップを繰り返すことでクラスタリングを行う非階層的手法です。K-means法はシンプルで高速ですが、初期値依存が大きいのが弱点で、不適切な初期値選択をすると間違った解に収束してしまいます。 以下は、Introduction to Information Retrievalの16章に出てくる例です。 {d1, d2, ..., d6}をK=2でクラスタリングする場合、{{d1, d2, d4, d5}, {d3, d6}}が大域最適解ですが、初期クラスタの中心をd2, d5で与えると、{{d1, d2, d3}, {d4, d5, d6}}という誤った解に収束してしまいます。 この問題を改善するK-means++という手法を見つけたので、試してみました。 K-means+

    K-means法によるクラスタリングのスマートな初期値選択を行うK-means++ - kaisehのブログ
    Nagise
    Nagise 2009/01/14
    この手の初期値によって非最適解に落ち込むネタは本当に頭が痛い。クラスタリングはやったことないからアルゴリズムをよく知らない。一度調べておきたいな
  • Duke自転車が届いた - kaisehのブログ

    さっき、SunからMA4賞品のロードバイクが届きました!ありがとうございます。 なんと、サドルがDukeです。これはかなり目立つ! ベルもDukeです。 こうして見ると、Dukeって日の丸みたいですね。Sunだけに、Dukeの鼻は太陽をイメージしてるのだろうか。などと思って調べたら、Sun = Stanford University Networkの略だそうで、太陽とは関係なさそうでした。

    Duke自転車が届いた - kaisehのブログ
    Nagise
    Nagise 2008/12/14
    Dukeサドルに吹いた
  • 整数の中で立っているビット数を求める方法 - kaisehのブログ

    訂正: 整数中に立っているビット数ではなく、立っているビットの最左位置を求める方法でした。 java.util.BitSetのソース中で、整数中に立っているビット数を数えるメソッドが面白かったので載せてみます。 二分探索をベタ書きしていて、最大6回の比較でビット数が求まります。この方法が最速なのかな。 private static int bitLen(int w) { return (w < 1<<15 ? (w < 1<<7 ? (w < 1<<3 ? (w < 1<<1 ? (w < 1<<0 ? (w<0 ? 32 : 0) : 1) : (w < 1<<2 ? 2 : 3)) : (w < 1<<5 ? (w < 1<<4 ? 4 : 5) : (w < 1<<6 ? 6 : 7))) : (w < 1<<11 ? (w < 1<<9 ? (w < 1<<8 ? 8 : 9) :

    整数の中で立っているビット数を求める方法 - kaisehのブログ
    Nagise
    Nagise 2008/11/17
    あとで動きを確認してみよう
  • TopHatenar部門別トップユーザー一覧・第2版 - kaisehのブログ

    TopHatenarの部門別ランキングでは、「ニコニコ動画」「nicovideo」「niconico」のように、ブックマークタグの表記ゆれによって部門が分かれてしまう場合がありました。今回、この表記ゆれを統合して、部門を再編しました。 表記ゆれの統合は、ブックマークの分布に基づいて計算しているので、今後再統合・再分離が起きる可能性があります。 今回の統合で部門が圧縮されたことで、新しく38部門が登場しました。そこで、id:takerunbaさんがまとめてくれた部門別トップユーザーの一覧の改訂版を作ってみました。ユーザ名だけでなく、タグ独占率や最多タグ獲得エントリーも載せてみました。 背景の赤い部分が、今回統合された部門です。163番の「sf」以降が、新しく登場した部門です。 ※1度目の投稿で文字数制限に引っ掛かってしまったため、再投稿しました。申し訳ありません。 番号 部門名 タグ総数 1

    TopHatenar部門別トップユーザー一覧・第2版 - kaisehのブログ
    Nagise
    Nagise 2008/11/14
    シソーラス(類義語)はブクマの分布で判別しているのか。そのあたり興味深い。
  • ニュースの可視化サイト『Newsgraphy』を公開しました - kaisehのブログ

    のニュースを地図化して俯瞰できる『Newsgraphy』というサービスを作りました。 Newsgraphy 6月に公開して大きな反響をいただいたHatenarMapsの可視化手法を、Yahoo!のトピックスAPIから取得したニュース記事に適用して、いろいろと機能強化を施したものがNewsgraphyです。Mashup Award 4thにも応募しています。 追記(2008/9/26): 「HatenarMapsの可視化手法を適用」と書きましたが、これは二次元平面へのマッピング手法(Voronoi Treemap)のことで、クラスタリング手法は含んでいません。Newsgraphyは、Yahoo!で分類済みのニュースカテゴリ階層を使用しています。 ニュースの可視化と言えばnewsmapが有名ですが、newsmapよりも面白くて実用性の高いサイトを目指して開発しました。 以下、Newsgra

    ニュースの可視化サイト『Newsgraphy』を公開しました - kaisehのブログ
    Nagise
    Nagise 2008/09/26
    ビジュアルな表現手法にばかり目が行きがちだが、形態素解析などの地味な部分が光っているように思う。人物などの辞書でも用意しているのだろうか?ニュース記事なら文体から日本語のパースは精度よさそう
  • Seasar Conference 2008 Autumn終了 - kaisehのブログ

    Seasar Conference 2008 AutumnでLTに参加させていただきました。 今回発表する側になったことで、このイベントが当に多くの方の支えによって成り立っていることを実感できました。素晴らしい場で発表の機会をいただき、感謝の気持ちでいっぱいです。ありがとうございました。 LTの時間帯は他のレーンで発表がなかったこともあってか、大部屋が満席になってました。これだけの人数の前で喋るのはもちろん初めてで、相当緊張しました。無事に終えられて良かったです。 そして、他のLT発表者の方のレベルの高さに感動しました。特に、ああいう場で笑いを作り出す能力、当に尊敬します。いつか僕にもあんな能力が欲しいです。 以下に、僕のS2Swingの発表資料をアップしました。近いうちに、カンファレンスの公式サイトにも掲載されると思います。よろしくお願いします。 S2Swing - Seasar C

    Seasar Conference 2008 Autumn終了 - kaisehのブログ
  • LGPLとクラス継承 - kaisehのブログ

    僕の理解が正しければ、LGPLのライセンス規定では、LGPLライブラリを使用するソフトウェアには次の区別があります。 改変物(modified versions) 元のLGPLライブラリを修正したもの。改変物を頒布する場合、そのライセンスはLGPLかGPLでなければならない。 派生物(derivative works / combined works) 元のLGPLライブラリに修正を加えることなくリンクしたもの。派生物を頒布する場合、そのライセンスは自由に決定して良い(ただし、LGPLライブラリのソース添付やリバースエンジニアリング禁止等の条件あり)。 ここで、次の疑問が生まれます。 『LGPLライブラリに含まれるクラスを継承した場合、そのクラスは元のLGPLライブラリの改変物になるのか、それとも派生物になるのか。』 以下のFSFの声明に従うなら、この答えは「派生物」だと思います。 The

    LGPLとクラス継承 - kaisehのブログ
    Nagise
    Nagise 2008/09/04
    オブジェクト指向での継承は継承元のライブラリには一切手が入らないわけだから派生物だろうなぁ。派生されたくないならJavaだとfinalにする。思考実験として、メモリ上にロードしてメモリ上で改編したらどうなる?