NAKAMURA Minoru の日記 (2010年11月)

先月の日記(2010年10月) 今月の日記(2010年11月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | Google+
slideshare | github | Qiita



11/24 (水)

[MyWeb] 「食べ歩いた記憶」のページを更新

更新が著しく滞っている食べ歩いた記憶のページを2009年分まで更新した。

前回の更新は2006年5月15日なので、 5年近くほっといたことになる。 初代のデジカメ(DiMAGE Xi)の調子がおかしくなって、 どう撮影しても暗くくぐもった写真しかとれなくなってから、 食事の記録を残さなくなったのが班員か。

今年の4月に新しいデジカメを買ってからは、 また飯の記録が増えているので2010年分を整理するのはメンドクセェ (T_T 。 というか、いい加減この手書きの日記をブロクシステムに移行したい。


11/22 (月)

今日は会社の定期健康検診

うっかりこの日に入れてしまい、連休にできませんでした。 南無、南無。


11/21 (日)

アパートにケーブルTVが導入される

アナログ放送の停波をうけてアパートにケーブルテレビが導入されることになった。 開設曲は iTSCM。 今日はアパートのテレビ端子の交換のための室内工事で業者がやって来た。

工事は15分ほどで終わる。 工事中に端子の裏側になにかあやしい装置を仕掛けていったが、 なんだったんだろう。 後で見てみる。

togetter は MySQL で動作しているのね

togetter は MySQL で動作しているらしい。 今日、アクセスするとたまたま以下のようなエラーメッセージが表示された。

Exception:SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 110

こういうメッセージが外部に見えてしまうのは、どうにかならんものかしら?


11/17 (水)

[Linux] Linux の red-black ツリーをまるごと削除する方法が知りたい

Linux カーネル部分で red-black ツリーを使った時に、 そのデータの回収が必要になる。

struct mytype {
        struct rb_node   rb_node;
        int              data;
};

ふつう red-black ツリーのノードはデータ自身に埋め込むので、 struct mtype のインスタンスとして回収する必要がある。 他のコードを見ると ツリー全体を削除する場合でも rb_erase を使って red-black ツリーのリバランスがしているようだ。

void delete_all(struct rb_root *root)
{
        struct rb_node *node;
        while ((node = rb_first(root)) != NULL) {
                kfree(container_of(node, struct mytype, rb_node);
                rb_erase(node, tree);
        }
}

でも、もうこのツリーは使わないので調整なんかしなくてもいいので、 さっさと削除してしまいたい。

以下のように書ければいいのだが、これでは動かない。南無南無。

void delete_all(struct rb_root *root)
{
        struct rb_node *node, *node_next;
        for (node = rb_first(root) ; node ; node = rb_next(node)) {
                node_next = rb_next(node);
                kfree(container_of(node, struct mytype, rb_node);
                node = node_next;
        }
}

P.S.

この rb_erase を使った一括削除は O(N * log(N)) のオーダーがかかるようなので、ノードが増えた場合には実用にならないようだ。

コメントを書き込む
[1] [uzakadeu] 2010-11-20 14:52:41
各ノードをツリー以外の方法(配列,リスト,etc)で“も”管理しておいて、そちらを使って解放するのはどうですか?
[2] [nminoru] 2010-11-21 03:01:41
> uzakadeuさん
はい。struct mytype 構造体に struct list_head を入れて「red-black tree のノード間の双方向リンク」を作っておいて、一括削除はそちらを使うという方法に逃げました。これだと計算量が O(N) のオーダーですし。

ただ最終的には black-red tree を巡回してリーフノードから削除するルーチンにしようと思っています。これも O(N) オーダーに収まりますし、余分なメモリ消費が押さえられますから。ツリーの深さ分のスタックが必要になりますが。
[3] [uzakadeu] 2010-11-21 07:22:27
言われてみれば、巡回する方がずっとシンプルですね。失礼しました。

「スタック〜」とは再帰を使うということでしょうか?
確認してませんが、解放するだけならループでいけそうに思えます。
[4] [nminoru] 2010-11-21 13:36:23
> uzakadeuさん
[2]のコメントでスタックと呼んだのは First-In First-Out の配列を想定していました。カーネルはスレッドスタックのサイズに制限があるので再帰関数呼び出しを使うのは難しいと思われます。

このスタックに red-black tree の各段の操作中のノードのポインタを保持しておくつもりでした。しかしよく考えると「rb_right と rb_left の両方が NULL なら free して親ノードに戻り、親側から自分を削除する」という処理を繰り返せばスタックも不要ですね。

11/9 (火)

Amazon MP3日本版が開始

Amazon.co.jp で DRM フリーの MP3 ファイルの販売がはじまった。 2005年の8月にiTune Music Store Japanが開始して以来の大きなオンラインミュージックストアの開設ね。

販売形式は普通の Amazon 商品と同じだが、 Amazon MP3 ダウンローダーというソフトも提供されている。 アルバムや複数曲をまとめてダウンロードする際は Amazon MP3 ダウンローダーが必要らしい。

楽曲の揃えはまだまだ悲しい状態のようだ。 この先、DRM フリーなのでメジャーレーベルが参入を果たすかどうかは分からないのが辛いところだ。


11/7 (日)

[Food] 沖縄そば やんばる@渋谷 (30min食べログ)

渋谷の道玄坂の旧さくら屋の近くに沖縄そばの店ができていた。 元は渋谷にあった店の支店みたい。 早速食べてみる。

看板
看板
ソーキそば
ソーキそば
ゴーヤチャンプルー
ゴーヤチャンプルー

11/5 (金)

古代メキシコ・オルメカ文明展@古代オリエント博物館 (公式)

今日はお休み。 池袋サンシャインシティ内ので開催されている「古代メキシコ・オルメカ文明展」を見てきた。

プレ・マヤ文明の展示を見るのは、 大英博物館展のような色々ごっちゃになったのを除くと初めて。 メキシコ/マヤ・アステカの展示よりも ペルー/インカ展の開催の方が多いよね。 昨年も黄金の都シカン展が来たし。

古代オリエント博物館 オルメカヘッド
古代オリエント博物館 オルメカヘッド(のレプリカ)

展示内容は原則撮影禁止だが、 オルメカヘッドだけは OK (フラッシュは禁止)。 高さ176cm、幅120cm、厚み107cmというしろもの。 実物は紀元前1200年ごろに製作されたらしい。

展示内容は全体的に小展示物が中心で、 オルメカ〜アステカに見られる特徴的な壁画もほとんど実物はなく、 壁画を紙に魚拓のように写したものだけだった。 量的にも1時間あれば全部見れる内容で、物足りない。

ただヒスイ製の仮面は面白いので一見の価値あり。 アステカの仮面というと装飾やデフォルメの入ったものを想像するが、 能面のように滑らかで写実的な仮面が作られていたようだ。 これ以外にもヒスイ細工は見事だ。

ナンジャタウン (公式)

古代オリエント博物館を後にした後、 同じサンシャインシティ内にあるナムコナンジャタウンに入場。 晩飯を餃子にする。

入り口
入場料は300円
ナンジャ
猫のナンジャ

池袋餃子スタジアム

新横浜ラーメン博物館形式の餃子の屋台が並ぶエリア。 餃子スタジアム内にもアトラクションやギミックがある

鳥居
鳥居
交番
60年代の佇まい
神社
神社
神社

とりあえず3軒で餃子を食べる。

しそ餃子
神田餃子屋 「しそ餃子」
しそ餃子
しそで肉を巻いている
北海道ジンギスカン餃子
上富良野餃子 神龍
「北海道ジンギスカン餃子」
緑色なのはジェノベーゼ。
かに塩あんかけ餃子
食べなかったが「かに塩あんかけ餃子」というのもある。
鉄なべ餃子
博多鉄なべ餃子
「鉄なべ餃子」

もののけ番外地

無料のアトラクションコーナー。

東京デザート共和国

ケーキやデザートのエリア。

アイスクリームシティ

ケーキやデザートのエリア。

「GELATO NERO」というイタリアンジェラーの屋台でソフトジェラートを食べて帰る。

建物

天にそびえるサンシャイン60。

今日初めて見た地下鉄の車両

有楽町線の東池袋から乗った地下鉄の車両は貫通扉がガラス製になっている。 なんか凄いおしゃれな電車ね。

有楽町線・副都心線 10000系というのね。 2006年から走っていたのか。 知らなんだ。


11/1 (月)

PASMOの履歴照会

PASMOの履歴照会機能をはじめて使ってみたが、 PASMOを使った買い物は全部「物販」という括りで表示されるのね。 せめて店名が表示されることを期待したのだが。

ただ鉄道はJRも含めて入出記録が表示されるので、移動の管理には使える。


先月の日記(2010年10月) 今月の日記(2010年11月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | Google+
slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp