読者です 読者をやめる 読者になる 読者になる

修行@ホーチミン

ホーチミン長期出張の日記です

日本ではまず見れない光景

 

写真がすべてを物語っているので

 

文面は短くなりますが

 

とりあえず見ていただきたいのがこちら

 

f:id:bebe0909:20161214012329j:image

 

五人乗りは、こっちに来て初めて見ました。

 

なんでもありですね。

 

日本でやったら捕まるので真似しないようにしてくださいね。

 

おわりです。すみません。

無印直角靴下

 

久しぶりに靴下の数数えたら二足減ってました。

 

安定の洗濯紛失。

 

靴下足りなくなりそうなので、昨日サイゴンスクエアで買った靴下のタグを見たら…

 

f:id:bebe0909:20161212000204j:image

 

無印直角靴下・ドツト柄

 

直角って…

 

ちなみにドット柄でもないし、ネイビーでもないです。

 

ネタにはなったのでよしとします。

観光

 

ホーチミンきて3ヶ月以上経ちましたが

 

初めてちゃんと観光してきました。

 

行ったところは

 

・ベンタイン市場

・サイゴンスクエア

・スーパーマーケット

・ロシアンマーケット

・チルスカイバー

 

ですね。

 

ホテルからベンタイン市場までは初めてバスをつかってみました。

 

f:id:bebe0909:20161210233654j:image

 

値段は日本円で30円くらい。

 

安いけどめちゃ揺れます。

 

ベンタイン市場はなかなかカオスでした。

 

ある偽ブランドカバンを最初8000円でどうだって言ってきて

 

ベンタイン市場は値切れると、あるテレビ番組でやってたので試しに値切りしてみたら2000円まで下げれました。

 

そして買いませんでした。

 

激おこでした。

 

静かにショッピングしたい方はお勧めできないです。

 

スーパーマーケットは、友人のお土産用に。

 

サイゴンスクエアとロシアンマーケットは、まあショッピングモールみたいな感じですが

 

ブランド物が激安で売ってます。

 

まあ偽物でしょうけど。

 

f:id:bebe0909:20161210233925j:image

 

ノースフェイスのリュックなんと1900円ほど。

 

作りがとてもしっかりしてたので、友人は弟用に買ってました。

 

どうやら工場自体がベトナムに多いらしく、横流し品のような感じで

 

素材自体は本物?のようです。

 

どちらかと言うとロシアンマーケットのほうが好みでして、結構楽しめると思います。

 

ベンタイン市場と違って静かにお買い物ができます。

 

最後にチルスカイバーからの夜景でおわります。

 

f:id:bebe0909:20161210234126j:image

 

 

S2Container 自動バインディング

前書き

 

S2Containerを用いたソースコードを読んでいる時に、不明点があったのでメモ。

 

内容

登場人物

#インターフェース
aa.bb.cc.app.logic.SampleLogic;

#インターフェース実装クラス
aa.bb.cc.app.logic.impl.SampleLogicImpl

#処理クラス
aa.bb.cc.app.logic.impl.MainLogicImpl

#コンポーネント定義ファイル
sample.dicon

※名前は適当に変えています。  

本題

MainLogicImpl.java

@Binding
    private SampleLogic sampleLogic = null;

    (省略)

    sampleLogic.do();

このように処理クラスで、フィールドにインターフェースを定義したあとそのままメソッドを呼び出していたので、DIされているとは思いつつSeaserに詳しくなかったのでとりあえず調べました。

定義は、sample.diconで行われていて、中身はこのようになってました。

sample.dicon

   <component
      class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
        <property name="autoNaming">
            <component
              class="org.seasar.framework.container.autoregister.DefaultAutoNaming" />
        </property>
        <property name="instanceDef">
            @org.seasar.framework.container.deployer.InstanceDefFactory@PROTOTYPE
        </property>
        <initMethod name="addClassPattern">
            <arg>"aa.bb.cc.app.logic.impl"</arg>
            <arg>".*Logic.*"</arg>
        </initMethod>
    </component>

ここでは、コンポーネントの自動登録の設定を記述しており、"aa.bb.cc.app.logic.impl"にある".*Logic.*"の正規表現を満たすファイルが登録されます。

ということなので登場人物であるaa.bb.cc.app.logic.impl.SampleLogicImplはコンポーネント登録の対象になりますね。

ここで今回重要になる仕様なのですが、

  • 登録名は、登録されたコンポーネントのファイル名から、Implを除去した名前になります。

  • プロパティの型がインターフェースの場合、 コンテナをその型で検索し、見つかったコンポーネントが設定されます。

ここで先ほどの処理クラスをみてみると

MainLogicImpl.java

@Binding
    private SampleLogic sampleLogic = null;

    (省略)

    sampleLogic.do();

プロパティの型であるSampleLogicがインターフェースなので、コンテナからSampleLogicImplからImplが除去されたSampleLogicで登録されているaa.bb.cc.app.logic.impl.SampleLogicImplが設定されるということですね。

 

認識が間違っていたら申し訳ないですが、いったんこれで納得しました。

 

参考させていただいたサイト

日常

 

内容は薄くなりますが、更新頻度上げていこうと思います。

 

とりあえず出社ルートの風景

 

f:id:bebe0909:20161208213059j:image

 

レースかな…?いえ信号待ちです。

 

日本では見ることのできない風景ですね。

 

そしてクリスマスが近いからか、帰りにはイルミネーションロード的な感じに。

 

f:id:bebe0909:20161208213206j:image

 

今日の深夜から友人がホーチミンに来るので

 

更新できるかはわからないですが

 

ネタはたまるはず…

 

おしまい。

最近

気づいたら前更新した時から結構日が経っちゃっていました。

 

最近はというと、よく体調を崩します。

 

だいぶベトナムにも慣れたはずなんですが...

 

本当にネタがたまらないので、

 

最近行ったとこの写真を載せてみます。

 

 f:id:bebe0909:20161207213709j:plain

 

これは、昼に現地の社員の人たちと行ったランチです。

 

アオザイを着た店員がいたんですが、アオザイがスケスケで目のやり場に困りました。

 

ちなみにそのアオザイ女性の写真はございません。

 

次は病院の帰りの1枚です。

 

f:id:bebe0909:20161207213813j:plain

 

ホーチミンの中心はもうこれは都会といっていいですね。

 

おしゃんです。

 

もと田舎民はやはり都会に憧れを持つのでしょうか、気分が良かったです。

 

明日は日本から知人が遊びにくるので、

 

脱引きこもりして、写真をいっぱいとって、ネタためて、ブログかきます。

 

おしまい。  

飲み会

 

日本から出張に来ていた方がいたので

 

仕事終わりに飲み会に行ってきました。

 

出張に来た方はベトナム出身なので、飲み会はベトナム語で盛り上がっていました。

 

私はというと

 

御察しの通りです。

 

近くにはなんやら船があったり、川も近くにあったので雰囲気はよかったです。

 

f:id:bebe0909:20161130234409j:image

 

体調不良の為早寝します。

 

おやすみなさい。