布団が俺を呼んでいる

丘山大一のぶろぐ

Hyper-V マネージャで、仮想マシンの作成日時が 1601/01/01 9:00:00 と表示される

Hyper-V マネージャ上で仮想マシンの作成日時の表示がどうもおかしいな、とは
前々から気にはなっていたのですが、既存の問題だったんですね。

Windows Server 2012 R2 限定の問題らしいですが、最近は仮想化環境を作るのに専らコレを使っているのでちょっとだけ困りますね。まあ作成日時がどうしても必要ならメモ欄に記載しておけばいいのでしょうけど……。
(仮想マシンのメモは、仮想マシンの設定 - 管理 - 名前 から入力可能。案外知られていない気がする)


ひと目でわかるWindows Server 2012 R2 [ 天野司 ]

価格:2,808円
(2015/9/20 17:05時点)
感想(0件)


コメントを書く

布団が俺を呼んでいる | 空文字を判定する最も効率のいいやり方は? (C#i編)

布団が俺を呼んでいる

丘山大一のぶろぐ

空文字を判定する最も効率のいいやり方は? (C#i編)

というわけでC#編。

ソース(前回書かなかったな)

効率のいい書き方?作法?そんなん知らんがな(邪悪)。

    class Program
    {
        static void Main(string[] args)
        {
            using (StreamWriter sw = new StreamWriter(@"D:\test.txt", true, System.Text.Encoding.Unicode))
            {
                Console.SetOut(sw);

                string s = string.Empty;
                var result = new List<TimeSpan>();

                var tryCounter = Enumerable.Range(1, 10).ToList();
                var roopCounter = Enumerable.Range(0, 10000000).ToList();

                Console.WriteLine(@"""""での判定");
                result.Clear();
                tryCounter.ForEach(i =>
                {
                    Console.Write(i + "回目:");
                    Console.WriteLine(
                    RunText(() =>
                    {
                        roopCounter.ForEach(r =>
                        {
                            if (s == "") { };
                        });
                    }));
                });

                Console.WriteLine(@"String.Emptyでの判定");
                result.Clear();
                tryCounter.ForEach(i =>
                {
                    Console.Write(i + "回目:");
                    Console.WriteLine(
                    RunText(() =>
                    {
                        roopCounter.ForEach(r =>
                        {
                            if (s == string.Empty) { };
                        });
                    }));
                });

                Console.WriteLine(@"String.IsNullorEmptyでの判定");
                result.Clear();
                tryCounter.ForEach(i =>
                {
                    Console.Write(i + "回目:");
                    Console.WriteLine(
                    RunText(() =>
                    {
                        roopCounter.ForEach(r =>
                        {
                            if (string.IsNullOrEmpty(s)) { };
                        });
                    }));
                });

                Console.WriteLine(@"Lengthでの判定");
                result.Clear();
                tryCounter.ForEach(i =>
                {
                    Console.Write(i + "回目:");
                    Console.WriteLine(
                    RunText(() =>
                    {
                        roopCounter.ForEach(r =>
                        {
                            if (s.Length == 0) { };
                        });
                    }));
                });

                Console.WriteLine(@"""""とequlsでの判定");
                result.Clear();
                tryCounter.ForEach(i =>
                {
                    Console.Write(i + "回目:");
                    Console.WriteLine(
                    RunText(() =>
                    {
                        roopCounter.ForEach(r =>
                        {
                            if (s.Equals("")) { };
                        });
                    }));
                });

                sw.Close();
            }
        }

        static TimeSpan RunText(Action a)
        {
            var t = DateTime.Now;
            a();
            return DateTime.Now - t;
        }
    }

結果

""での判定
1回目:00:00:00.1810066
2回目:00:00:00.1560072
3回目:00:00:00.1440069
4回目:00:00:00.1290084
5回目:00:00:00.1630423
6回目:00:00:00.1779770
7回目:00:00:00.1580394
8回目:00:00:00.1800101
9回目:00:00:00.1579818
10回目:00:00:00.1810102

String.Emptyでの判定
1回目:00:00:00.1690038
2回目:00:00:00.1430068
3回目:00:00:00.1370051
4回目:00:00:00.1190062
5回目:00:00:00.1190067
6回目:00:00:00.1090028
7回目:00:00:00.1030062
8回目:00:00:00.1020050
9回目:00:00:00.0900034
10回目:00:00:00.0890046

String.IsNullorEmptyでの判定
1回目:00:00:00.0770039
2回目:00:00:00.0740020
3回目:00:00:00.0680047
4回目:00:00:00.0670034
5回目:00:00:00.0720012
6回目:00:00:00.0670210
7回目:00:00:00.0619853
8回目:00:00:00.0610202
9回目:00:00:00.0610032
10回目:00:00:00.0600027

Lengthでの判定
1回目:00:00:00.0510044
2回目:00:00:00.0469995
3回目:00:00:00.0460022
4回目:00:00:00.0460020
5回目:00:00:00.0460034
6回目:00:00:00.0460022
7回目:00:00:00.0460020
8回目:00:00:00.0460016
9回目:00:00:00.0420017
10回目:00:00:00.0420029

""とequlsでの判定
1回目:00:00:00.0640032
2回目:00:00:00.0640030
3回目:00:00:00.0630028
4回目:00:00:00.0590029
5回目:00:00:00.0590028
6回目:00:00:00.0580030
7回目:00:00:00.0590032
8回目:00:00:00.0580030
9回目:00:00:00.0560021
10回目:00:00:00.0540025

総括

おおむねこの通りでした。
とりあえず「文字列 == 空」のような書き方はアカンということが分かった。
DelphiとC#は、開発者レベルで似ている(というか同……ゲフンゲフン)ですけど、結果が大分違うのが面白いですね。

※注意!

私の開発環境での結果です。
ロジックや書き方、環境によってなんぼでも結果は変わることをお断りしておきます。


C#実践開発手法 (マイクロソフト公式解説書)

新品価格
¥5,400から
(2016/5/22 17:14時点)

コメントを書く

布団が俺を呼んでいる | NuAns NEO のテストツール? (Neo Factory Test)

布団が俺を呼んでいる

丘山大一のぶろぐ

NuAns NEO のテストツール? (Neo Factory Test)

Neo Factory Test って何ぞ?

「設定」 - 「システム」 - 「バッテリー節約設定 - 「バッテリーの節約設定 - 「アプリの追加」
を開くと、Neo Factory Test なるアプリが入っていることが判明。

名前から言っても、開発中に使用したものが残ってしまっているだけでしょうし、悪さはしないんでしょうけど。

検索するとフツーに出てくる。

画像に、思いっきり YAMADA が出ているけどエエのでしょうか?
YAMADA Phone ぽく見えちゃいますけど。

20160307追記

アプリが更新されました。
開発・工場テスト用かと思いましたが、デバイスに必要なアプリという位置づけみたいですね。
しかし何をしているのかは相変わらず不明。
別に邪魔ではないのですが、気になる。

NuAns NEO TWOTONE CORE(ネオ ツートーン コア)本体セット スムースブラック(Windows 10 Mobile/Continuum for Phone)

新品価格
¥45,900から
(2016/2/8 01:46時点)

コメント (4) -

United States Cameron Wright

Your style is unique compared to other folks I've read stuff from. Many thanks for posting when you have the opportunity, Guess I'll just book mark this site.

ジェレミー

Neo Factory TestはストアからLaunchを出来ました。全部のサブメニューが中国語で使い方がわからないですね。画像はブラウザから見れる。https://mega.co.nz/#!2c5hjRTZ!b_--7K0m_QX2OzYAjN7_FXMJrHj0snTZ5nzKIRxYlgw

丘山大一

>Cameron  Wright
返信が遅れて申し訳ありませんでした。
ありがとうございます。
どうにも英語は苦手なので日本語で。(^^)/

丘山大一

>ジェレミー
画像ありがとうございます。
こんなアプリだったんですね……確認していませんでした。
今度動作を見てみようと思います。
どうにも英語は苦手なので日本語で。(^^)/

コメントを書く