2006-05-01から1ヶ月間の記事一覧

でjava.util.Mapの内容にアクセスする

Facelets内で使う場合だけではなく本物のJSTLを使う場合でも一緒かもしれないけど。 マニュアルではforEachのitemsはMapも取れることになっているけど、普通にループさせてもvaluesの方しか取り出せない(様に見える。) しかしデバッガで追ってみると、Mapped…

test

http://youtubech.com/test/read.cgi%3Fdl%3D4g-2zxbqfvA%26ext%3D.flv

思いつき

idの部分をすべて記号(「*」とか「わんわん」とか)に置換すれば消さずに公開できるかも? 2007/6/24追記 idのアルファベット部分をxに変換した

良質なアウトバウンドリンクを持つユーザトップ20

減衰係数d * ランクがリンクを経由して流出するランクの合計になるので、これをお気に入り数で割れば、1お気に入り当たりが担うランク流量となる。リンクの品質*1を定量的に表す一つの方法となるだろう。 ということで早速ランキング。ちなみにSQLはこんな感…

お気に入り数とお気に入られ数の分布

横軸は順位。べき乗分布と言えばそうなのかもしれないがよくわからない。両対数とったら直線っぽくなるもんかも? お気に入られ数は1の位まで割とばらけているけど、お気に入り数は20件ぐらいから減りだしている。使う人は使うということかな。 考えたら ブ…

d=0.90での結果

人数:8709 リンク数:25074 d=0.90で実施 no | hatena_id | favorite_rank - 1 | xxxxx | 40.3725 2 | xxxxxxxxxxx | 26.7432 3 | xxxxxx | 20.1405 4 | xxxxxxxx | 19.134 5 | xxxxxx | 13.8747 6 | xxxx-xx | 11.7519 7 | xxxxxxxxx | 11.6585 8 | xxxxxx |…

大量のデータを扱う時のメモリ消費に注意する

データベースのリソースが非常に高価だったり、負荷分散が難しい場合なんかの場合は、アプリの方で検索結果をキャッシュしたりするわけだけど、レコード数が十万を超えてくるとかなりメモリを食ったりする。 データベースが使い放題の場合はあえて毎回データ…

減衰係数のさじ加減について

減衰係数(ランダムジャンプしない確率)を少し高めてやれば、お気に入られ数順とは少し違った結果になってくるようだ。減衰係数を減らせば減らすほどランクの残留量が減ってリンクの価値が平均化するのだから当然と言えば当然かも。あんまり増やすと「上位者…

はてブのお気に入り情報に基づくRank計算

まだ8317ユーザ分のデータしか無いのですが、とりあえず計算してみた。 べき乗の繰り返し回数が200回、減衰係数が0.85で計算したよ。 この辺を参照:http://www.kusastro.kyoto-u.ac.jp/~baba/wais/pagerank.html http://www.sem-r.com/sem/google/2003090900…

統計データ用テーブル作成

create table hatebu_statistics ( user_id integer primary key, favoring_count integer, favored_count integer, favorite_rank real ); -- お気に入られIDの方にもインデックス create index hatebu_favorite_dest_id_idx on hatebu_favorite (dest_id);…

コマンドラインツールで設定ファイルを使う方法

いろいろあると思うけど、実行ファイルと同じディレクトリ(またはその下のResourceディレクトリ)に.plistファイルが配置されるようにして、NSBundleの-pathForResource:ofType:で引っ張ってくるのが楽な気がする。 ファイル(Config.plist)の内容 { /* databa…

PostgreSQL用データアクセスクラス続き(2)

トランザクションのコントロール(begin/commit/rollback)ができるように。 テーブルベースじゃなくてSQLとパラメータを投げて内容を取ってくる機能をつけた。 普通こっちが先か。 というか普通にJDBCみたいになってきたな。 実装の方をリファクタリングし続…

Undefined symbols: .objc_class_name_...

Xcodeで作業中に急にリンクが失敗しはじめましたよ。クラスが見つからないと言われた。 /usr/bin/ld: Undefined symbols: .objc_class_name_<YourClassName> collect2: ld returned 1 exit status該当するクラスファイルのビルドは特に失敗してない。buildディレクトリの下</yourclassname>…

PostgreSQL用のデータアクセスクラスを作成

とりあえず単一テーブルをObjective-CベースでCRUDれるクラスを作った。ヘッダで書くとこんな感じ: @interface TableInfo : NSObject { } + (TableInfo *)tableInfoWithTableName:(NSString *)tableName primaryKeyNames:(NSSet *)primaryKeyNames; - (NSStr…

PostgreSQL用データアクセスクラス続き

serial使用時のinsert後の自動再取得を実装完了。 PQoidValueを使う方法とかもあるようだったが結局currvalを利用する方法で実装。 TableInfoのprimaryKeyNamesとinsert時のvaluesの内容を比較して、valuesに含まれていないPKがあったらinsert後にcurrval('…

未実装のメソッドにマーキングする

TDDなんかする人向きの、とりあえず未実装のメソッドはエラーを返すようにして実装漏れを防ぐ秘訣。 - (id)hoge { // TODO: あとで実装する [self doesNotRecognizeSelector:_cmd]; return nil; }単純にreturn nil;するだけだと、うっかり動いて実装漏れして…

Xcodeで外部のlibを使う方法

こんなことでつまずくとは素人にもほどがある。 サンプルはpostgresqlのクライアント用ライブラリ(libpq.a)で。 「External Frameworks and Libraries」に右クリック→「追加」→「既存のファイル...」でlibpq.aを追加(検索フィールドにパスを打ち込む) プロジ…

ユニットテストをカテゴリで書く

と良いかと思うのだがどうか。例えばHogeClassのテストを書くのに、HogeClass_UnitTest.[hm]を作って、 @interface HogeClass (UnitTest) + (void)testHogeHoge; + (void)testHogeHuga; @endみたいに書いておくと、どれのテストか分かりやすいし、Deployの時…

libpq

接続してselect文投げて値拾うところまでテスト。 なんとかなりそう。

postgres8.1.3をインストール

Core Dataが面白そう

EOFからオブジェクトグラフの永続化機構だけを取り出した感じ。 今回はリンク構造の解析というか、関連テーブルがメインなのでオーバーヘッド多そうなのでパス。

TigerにEOF入って無い

そういえば。やる気減。 PostgresのC言語APIとか使わないとダメなんだろうか。SQLrelayとか?

NSXML関係Tips

URLを指定してDOM documentを取得 NSString *urlString; // @"http://~”が入っている BOOL asHTML; // HTMLならYES NSURL *url = [NSURL URLWithString:urlString]; NSError *error = nil; int options = (asHTML) ? NSXMLDocumentTidyHTML : 0; NSXMLDocume…

Spotlightより

Xcode内蔵のデベロッパマニュアルのが使えそう。シンボルをAlt+クリックで検索できる。 キーボードの方もショートカットを付けたいのだがselectorが分からない。

class-dump

何はともあれclass-dumpをインストール

Spotlightの設定がよくわからない

Librarian.appのように使おうと思うのだがイマイチ設定方法が分からない。 検索対象 /System/Library/Find/SkipFoldersに追加しても結果に表示されてしまう mdimport -fで追加しても反映されない*1 カテゴリ 環境設定でチェックを外してもFinderには表示され…

Xcode Toolsインストール

なんかMac OS Xが流行ってるっぽいので、普段使ってるMac miniに開発環境をインストールしましたよ。 gccが使えるようになった! 迷う人はいないと思うけど、一応。 インストール方法は、Mac OS X Install Disc 1のXcode Toolsの下からXcodeTools.mpkgをダブ…

Media KEG買った

HD30GA9の方。割と良いかも。 ヨドバシゴールドポイントカードの作成を勧められ、断ろうとしたら慌てられました。 Lossless/WAVはタグの自動付けが出来ないので、割り切ってフォルダ分けのみで管理することにした。