Hatena::ブログ(Diary)

Softgels - 北京滞在の日々

2010-03-21

焼き鳥の宮本屋

武之助や益康経路マッサージの近くにある宮本屋に行ってきた。

焼き鳥はおいしく、日本で食べるのと変わらない。

ネギ間は一つ一つがでかい!

ナンコツはかりかりしておいしい!

先日行った瑞兆焼き鳥店とメニュー・味ともに似ていた。

どちらも皮はパリパリだったが、これが北京デフォルトなのか。

ただ、焼き鳥が出てくるのが少し遅かった。早い時間に行ったので客は私一人なのに。。。


オーダー

お通し

皮・・・2本

ネギ間・・・2本

ナンコツ・・・3本

豆腐サラダ

朝日生ビール・・・2杯

計78元

1,000円ちょっと。日本だと2,500円くらいいきそう。

近いし安いし2週間に1回くらい来そう。

2010-03-18

施偉桜子足道は全身+足裏で100

馬橋の武之助で、焼きそば+あったかサラダを食べた後、近くにある施偉桜子足道へ行ってきた。

全身+足裏で100元という安い値段。近くにある益康経路マッサージが、同じサービスを120元でやっているから、絶対それに対抗している。いいこと。

f:id:Softgels:20100316234214j:image

2010-03-17

boost1.41にXMLファイルの読み取り、書き込み機能が追加

boost1.41にXMLファイルの読み取り、書き込み機能が追加されていた。XMLだけでなく、JSONやINIにも対応している。

ほとんどboostのサンプルから持ってきて、ソースを書いてみた。

次のdebug_settings.xmlファイルがあることが前提。

<debug>
    <filename>debug.log</filename>
    <modules>
        <module>Finance</module>
        <module>Admin</module>
        <module>HR</module>
    </modules>
    <level>2</level>
</debug>

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <string>
#include <set>
#include <exception>
#include <iostream>

struct debug_settings
{
    std::string m_file;               // ログファイル名
    int m_level;                      // ログレベル
    std::set<std::string> m_modules;  // ロギングが可能なモジュール
};


// XMLファイルから読み出し
void load(const std::string &filename)
{
    // property tree オブジェクトの作成
    using boost::property_tree::ptree;
    ptree pt;

    // XMLファイルの読み込み
    read_xml(filename, pt);

    // タグ名を指定してXMLの要素「ログファイル名」を取得
    m_file = pt.get<std::string>("debug.filename");
    
    // タグ名を指定してXMLの要素「ログレベル」を取得。取得できない場合は、0を設定する。
    m_level = pt.get("debug.level", 0);

    // <debug>-<modules>の子要素(<module>)を全て取得して、set変数へ設定
    BOOST_FOREACH(ptree::value_type &v,
            pt.get_child("debug.modules"))
        m_modules.insert(v.second.data());
}


// XMLファイルへ書き出し
void save(const std::string &filename)
{
    // property tree オブジェクトの作成
    using boost::property_tree::ptree;
    ptree pt;

    // ログファイル名を<debug>-<filename>へ設定
    pt.put("debug.filename", m_file);

    // ログレベルを<debug>-<level>へ設定
    pt.put("debug.level", m_level);

    // 全てのモジュール名をset変数から取得して、<debug>-<modules>-<module>へ設定
     BOOST_FOREACH(const std::string &name, m_modules)
      pt.put("debug.modules.module", name, true);

	// XMLをファイルへ書き出し
	write_xml(filename, pt);
}

int main()
{
    try {
		// ファイルの読み込み
        load("debug_settings.xml");

		// ファイルの書き出し
        save("debug_settings_out.xml");
    } catch (std::exception &e) {
        std::cout << "Error: " << e.what() << "\n";
    }

    return 0;
}

2010-03-16

四合軒のビールはぼったくり!

地球の歩き方に載っていた「四合軒」に行ってきた。

京倫飯店の4Fにあり、国貿駅と永安里駅のどちらからでも、歩いて5分程度だ。

食べ物は安い。そこいらに沢山ある大衆向けの店と、サービス料15%を除けば変わらない。

フカヒレご飯も80元と安く、すごくおいしかった。

写真は取り損ねたが、すごい綺麗な画像がここに載っていた。

しかし!

ビールが高すぎる!!

なんで燕京ビールが90元もするんだ!!!

普通の店だったら10元も取らない。

f:id:Softgels:20100315234455j:image


料理はおいしいくて値段も安いのに、20:30のこの時間になんでこんなに空いているの?と思ったが、酒でぼっってるからだ。

f:id:Softgels:20100315203918j:image


帰りは三元橋までタクシーの予定だったが(20元程度)、もうお金を使いたくなかったので、電車で帰ってきた。

非常に不愉快だった。せっかくのおいしい料理が台無しになった。

RFC5572 - TSP (Tunnel Setup Protocol) のトンネル部分

トンネリングでIPv6NW同士を接続するプロトコルに、IPv6 Tunnel Broker with the Tunnel Setup Protocol (TSP)がある。

gogo6のgogoServerはこの技術で、IPv6 over UDP/IPv4 を実現している。

UDPで Symmetric NAT を超えられるのか?という疑問があったが、なんのとこはなく、

トンネリングサーバClient間でのみ通信が発生するので、トンネリングサーバの実装さえ気をつければよい。

送受信用のソケットをサーバに1個つくって、それを使えば良いだけだ。


RFC内の 4.5.2. IPv6-over-UDP Tunnels にも書いてある(言い方は違うけど、言っていることは同じだ)。

If a v6udpv4 tunnel is configured, the same source/destination

address and port used during the TSP signaling are used to configure

the v6udpv4 tunnel.


図にするとUDPトンネリング部分はこんな感じ。

f:id:Softgels:20100317010031j:image


TCP はこう。各クライアントごとにソケットを作って、それを管理する。

なのでUDPの場合、アプリケーションで状態を管理する必要がある(まあこの辺は実装次第なんでしょうけど)。

またTCPのような信頼性を付与するために、TSPヘッダーが存在して、そこにはTCPのようにシーケンスナンバーが存在する。

f:id:Softgels:20100317010032j:image

移動します

画像のアップデートがここではできませんでした。

新装開店気分で場所まで変えます。こんどは下の場所です。

北京滞在の日々

3/17追記

gooソースコードの色付けがわからないので、利用をやめました。

画像のアップデートもできたので、ここを継続して使います。

2010-03-13

心機一転、再開

およそ1年振りに再会します。ブログInternetに公開するからには、読む価値のある記事でなくては駄目。

ということで、不要な記事を削除しました。

今は北京で仕事をしています。(許される範囲で)北京の仕事や日常生活についてつづりたいと思います。。。