FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

関連リンクをグラフ可視化するサービスを作りました

URLを入力すると関連リンクをグラフにして表示するサービス LinkViz を作って公開してみました。
例えばYouTubeの動画のURLを入力するとこんな風に表示されます。
linkviz_03.jpg

続きを読む

スポンサーサイト

Javaライブラリから学ぶデザインパターン Observer

久々に『Javaライブラリから学ぶデザインパターン』のコーナーです。
今回はObserverパターンをご紹介します。
いつものようにパターンの具体的な適用例を見ていきましょう。

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

[Java]要素と優先度をあわせて追加できる優先度付きキュー

JDKに用意されている優先度つきキュー(PriorityQueue)って、
要素を追加するときに優先度を設定できないんですよね。

// こうはできない。
PriorityQueue<String> queue = new PriorityQueue<String>();
queue.offer("最優先", 1);
queue.offer("ちょい優先", 2);
ってことで、こういうことができるクラス SettablePriorityQueue を作りました。

続きを読む

[Ruby]抽象メソッドを定義できるようにするGem、abstractableを作りました

Rubyは抽象メソッドをサポートしていませんが、こいつを使えば抽象メソッドを定義できるようになります。

使い方はこんな感じ。
require "abstractable"
class AbstractDriver
extend Abstractable
abstract :open, :close
end

class AbstractIODriver < AbstractDriver
abstract :read, :write
end

class NotImplIODriver < AbstractIODriver; end

NotImplIODriver.new
# => following abstract methods are not implemented. (NotImplementedError)
# [:open, :close] defined in AbstractDriver
# [:read, :write] defined in AbstractIODriver

続きを読む

[Ruby]メソッドチェーンをオブジェクト化するGemを作りました

2~3週間前からRubyを使い始めまして、折角だから何か作ろうかということで、Gemを作りました。
作ったのは、表題の通りメソッドチェーンそのものをオブジェクトとして扱えるようにするGemで、
名前はfunction_chainといいます。

使い方としてはこんな感じになります。

# こういうメソッドチェーンを
account.user.name

# こんな風に書いてオブジェクト化し、callメソッドで後から呼び出せます。
chain = PullChain.new(account) << :user << :name
chain.call

# また、こういうコードを
filter3(filter2(filter1(value)))

# オブジェクト化することもできます
chain = RelayChain.new >> :filter1 >> :filter2 >> :filter3
chain.call("XXX")

続きを読む

プロフィール

Kenji Suzuki

Author:Kenji Suzuki
IT技術に関するあれこれを書いているブログです。
Pujohead Softの方では開発したソフトを公開しています。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
タグ

プログラミング デザインパターン コードリーディング bat 

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文:

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。