glassphereの開発日記
Amebaでブログを始めよう!

怒涛の日々

年が明けてから、スピード感を大事にやってきているのだが、
いまいちスピードが出ない今日この頃。

後から後から追いかけてくる、納期という魔物にトリツカレタITド方です。こんばんは。

最近、電車の中で某バーバラ・ミント氏の「考える技術・書く技術」なる本を読んでいる。

自分には論理的思考力が欠如しているのだ。

知識、経験はプラスアルファ。大前提としてロジカルシンキングは、どの職種でも
必要だ・・・という訳が、やっと分かってきた。

ひとつに、理解力が違う。論理的な人とそうでない人では、ある事象に対して
シナプスのつながりを感じる。
なんか、知識が繋がっていく感じ、とでも言えばいいのか。

そして、そういう人は、深い思考力と俯瞰力を持っている。
きっと、ロジカルシンキングができる人は、大局的にものを見ている人が多い、
でも、細かいところにも目が届く。

視野の広さ・・・はこういったところから始まるんだろう。

というわけで、遅まきながら訓練中なのです。

本日(1/13)のハマリネタ

本日のハマリネタは、".resx"ファイルについて。

軽く状況を説明すると、
1. テストのプロジェクトで作成した a.resx を、「できた!」と思って
本ちゃんプロジェクトに持ってきた。
2. コンパイルは通ったのに、実行するとこんなエラーが出て、リソースが読めな~い。

MissingManifestResourceException

なんだ!これは!?

愚直にデバッグとスタックトレースで追うも、原因はつかめず。

結局は、本ちゃんプロジェクトにリソースを追加して、手打ちで作るハメに・・・。
それはそれで、直った納得がいかないのだが、そこらへんのカルチャ情報は
.NetFrameworkは厳密に管理するみたい。


自己回帰して、
そもそも、サテライトアセンブリやら、ニュートラルリソースやらをきちんと
理解していないことが問題じゃん?

というわけで、これらについて、調べてみた。

  • サテライトアセンブリ

  • a.resx(ニュートラル)と、a.ja.resx(日本語)などを作成してビルドすると、
    メインアセンブリとは別に、jaフォルダ配下にa.resources.dllができる。
    これがをサテライトアセンブリと言うらしい。
    実行時には、OSの言語により読み込むリソースを変えてくれる。

    内部的には、CultureInfo.CurrentUICulture の値。

    じつはこれ、バージョン管理されているらしく、GACに配置するか、
    "myApp.resources, Version=1.0.0.0, Culture=de, PublicKeyToken=b03f5f11d50a3a" みたいな
    厳密名がいるんだと。

    ほかのプロジェクトからこぴぺしたら、バージョンは確かに違うので、
    これが原因かも・・・あした調べてみよ。


    .Net初心者みたいなところで、抜けられない輪廻のように、右往左往する毎日。

    あしたももう少し調べてみますが、今日はもう眠いので、寝ます。

    明日以降もローカライズがらみの話題でひっぱります。

  • ニュートラルリソース

  • マニフェストと署名について

  • ローカリゼーション


  • 参考:
    固有カルチャのリソースの検索と使用(=ResourceManagerの使い方)
    エンコーディングとローカリゼーション

    今日のハマリネタ

    うちのプロジェクトは、いわゆる「詳細設計」というフェーズが無い
    に等しいのだが、これが実装工程にはいって、ボディーブローのように
    効いてくる。

    これをなんとかカイゼンしていきたい。

    ・・・と、毎回毎回思う今日この頃。

    でも、時間は無い。要件は増える。WaterFlowの名のもとに、体だけをあらわす
    昔ながらのプロジェクト管理と、アジャイルとのハザマで悶える。

    本日のお題はコレ。

    XMLシリアライザ

    柔軟に使えると思っていたが、意外と使えないことに気がついた。

    SettingsにシリアライズしたオブジェクトをXML形式で持たせようとしたが、
    app.configがとんでもないことに・・・・。
    "<",">","/"が「<」やら二変換されて、なんともひどい結末に・・・。

    こんな美しくないapp.configは初めてナリ。

    と、いうわけで布団の中でぼーっと考えてみるナリ。

    Good night.