ちょっと復活した

あれから一年以上。いろいろあったよ。

三日坊主と気まぐれは、じゃんがりあん、だからしょうがないw

まぁ、そんなもんだw

実はPC買い換えた時に、ブログセットアップ系やら書きもの系やら色々となくしちゃって慌ててたのは内緒。

ってことで、前の記事書いてから、できるようになったことだけ箇条書きにしとく。

  • Appleっていう会社のMacブックとかいうPCを触っている
  • Office365、会社で使ってて、あれやこれや調べてるつもりがいつのまにか自分用ライセンス購入をぽちってたドジっ子です
  • IE11でWebDriver+Seleniumが地獄すぎて速攻で放棄したヘタレも私です。
  • Docker愛しすぎて辛い、たまに1CPU独占して動くところとか、この小悪魔め♪
  • Angularとかいうのがマイブーム、コンポーネントとパイプ楽しい
  • Pythonかわいい、とくに、CentOS上のコンパイラがで微妙なバージョン違いで拗ねるとことか最高
  • PostgreSQL相変わらず、無料で働き者の象さんすぎてキリンさんより素敵
  • DB2どうしてお前はそうなのか
  • そして、WindowsFormsアプリ、私は帰ってきた! Core化ロードマップおめ<違

また、ゆるゆるとやっていきまする。

相変わらずAKAIは吹いてる。Macで再生ゆるゆる音よし。

de:code2018 に行ってきた

技術や情報、ヒトとモノ、行きかう出会う触る知る、「お土産」は物質だけじゃないから、この手のイベントはやめられないw あ、会場を着物でウロウロしていたのが私ですw

Microsoftさんとこのイベント、de:code2018 今年もアプリ提供で色々と捗りました。

https://www.microsoft.com/ja-jp/events/decode/2018/

Screenshot_20180524-184756Screenshot_20180524-184814

行ったセッションはこんな感じ。

アプリケーション開発(デスクトップ&.NET)を中心にして、興味ある分野(CSIRTとか、オンプレとか)つまみ食い。

体調と相談しながらだったからフル参戦はできなかったorz

今はチマチマと自己満足ライブラリ作ってたり、ときどきコンサルしたり、翻訳したり、だから、べったり開発者です的な活動はしていないけれど、こういったイベントで「何か」を得ること、それは知識や出会いや再会や10%引きの関連書籍やノベルティとかかもしれないけど、私の言葉でいう「お土産」をもって帰ること、はとても大事っていつも思う。

セッションの終了には「Ask the speaker」ってのがあって、セッションしてくれた人と一対一で話せるし、DAY1の最後にはパーティがあって、偶然同じテーブルになって一緒に乾杯して大盛り上がりしちゃうかもしれない。袖すりあうも、で、名前きいたら、知ってるコミュニティの人だったり、とある書籍の作者だったりするかもしれない、掲示板で質問に答えてくれていた人かもしれない、それでいいと思うんだ。市場調査、知識吸収、それぞれの目的があるし、その目的のためにイベント参加もあると判る一方で、きっとそれ以上の「お土産」があるのが「イベント」であり、「勉強会」だと私は思う。その「お土産」に自分の資産(時間とお金)をどこまで使えるのか、最後はそこに尽きるけどw

システム屋って、案外、孤独な時ってあるんよね。私みたいに、おひとり様情シスとか、Sierもどきとか、いろんな業種業界業態で、時には全く異世界な環境でITやってたりとかしてるとね、そんな気持ちをもったりすることあるんだ。そんなとき、そんな大変さを知っている人たちと知り合いでいる、ってことはとても支えになったりすることある。大変さを知らなくても「大変な人もいるんだ」と生で知ることも、きっと、そうならないための試金石になれるし、反面教師にもなれる。私としては、「同じ轍は踏んでほしくない」っていつも思うし。だから、「お土産」を何か持ち帰ってほしいなぁと、その「お土産」に私がちょっとでも手伝えていたらいいなぁ、と思ったりもする。こういうところに現れる時にはねv

といっても、アプリにはまだまだ改善点があるし、会場動線の問題、休憩できる場所が少ない&わかりづらい、とかあるけれど、

んなことはとりあえず置いといて、

今回も、たくさんの「お土産」をありがとう。

Microsoft Store版 iTunes 入れたら、iPod Touchが同期できなくなったので同期できるようにしてみた

すでにあるのをアンインストールするのは構わないけどさ、ドライバファイルまで消しちゃうとか、鬼畜w

Microsoft Store で iTunes が発表されたので、はしゃいで入れてみたんだわ。アプリケーション版iTunes がすでにPCに入ってたんだけど、Store版入れると自動的にアンインストールするんだねー、すごいねー、なんて思ってたら

Store版iTunes起動したら、iPodTouchを認識してない!

うそーんと思って、まずは「ヘルプ」>「診断を実行」ってやってみたら

画像に含まれている可能性があるもの:テキスト

ガチだったorz

デバイスドライバないんですけど(遠い目)

最初はAppleさんとこのヘルプ見に行ったんだけれど、

image

ねーよ!! そんなパスがそもそもないわ! エクスプローラで探したけど見つからんわ!

そしてふと気づく「アプリケーション版アンインストールしたよな? 勝手に」

ドライバファイル消した?!

これはやられたw

ってことで、デバイスマネージャーで、再度ドライバ入れ直し。

デバイスマネージャーから

image

Apple iPod 探して「ドライバーの更新」

まぁさすがに「オンライン検索」でよさげなのを勝手に入れてくれるので、

image

こうなってくれたら後はOK。

image

認識したっぽい。

おー、同期もできた。

あー、肝冷えた。

キーボードのNumLock状態をタスクトレイで確認できるようにした

えー、フツーでしょ、My.Computerクラスとか、え? 使えないの? インスタンス取るの? メンドクセー!!! が第一声w

新しい作業用PC、画面大きいし、テンキーあるし、メモリあるし、今のところ不満――あるんだな、これが。

NumLockキーのインジケーターが存在しないw

つまり、NumLockキーON/OFFが目視できないんだわ、いや、あるの当たり前だと思ってたんだけどさ、なかったんだわ、このPC。

なので、タスクトレイにインジケータつけておけばよくね?という発想に至る。

まぁ、あれだ、VBだと、さくっと一行で解決するんだわ。

https://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.devices.keyboard(v=vs.110).aspx

My.Computer.Keyboardにずばり、NumLock のBooleanいるしね。さくっと書いて終わり。

んじゃ面白くないから、勉強かねてC#でやろうとしたらさ、そしたらさ、My.Computer がない。My空間そのものがない。

まじかーorz

しょうがないから、Microsoft.VisualBasic.Devices 参照追加して、自分で書くorz

んでもって、作ったのがこちら。長いよw

/// <summary>
/// タスクトレイ専用アイコン制御するフォームクラス
/// </summary>
internal class MainForm : Form
{
    //動的変更するのでコンテナ化しとく
    private IContainer components = null;

    //アイコンも固定で持つ
    private NotifyIcon icon;

    //終わるよメニューは固定でもつ
    private ContextMenuStrip menu;

    private ToolStripMenuItem menuItem;

    //VBer必須のMy.Computerクラス
    private Computer myComputer;

    //タイマー
    private Timer timer;

    public MainForm()
    {
        //一回だけ処理
        ShowInTaskbar = false;
        initialize();
    }

    private void Close_Click(object sender, EventArgs e)
    {
        // 終わるよイベント 
        timer.Stop();
        timer.Dispose();
        Application.Exit();
    }

    private void initialize()
    {
        //初期化処理
        myComputer = new Computer();
        components = new System.ComponentModel.Container();
        icon = new NotifyIcon(components);

        //メニュー構成
        setMenu();

        //通知アイコン設定
        setNotifyIcon();

        //タイマー初期化
        timer = new Timer();
        timer.Interval = 1000;
        timer.Tick += new EventHandler(intervalCheck);
        timer.Start();
    }

    private void intervalCheck(object sender, EventArgs e)
    {
        // タイマーイベント 
        timer.Stop();
        setNotifyIcon();
        Refresh();
        timer.Start();
    }

    private void setMenu()
    {
        //メニュー作成
        menu = new ContextMenuStrip();
        menuItem = new ToolStripMenuItem();

        // 簡単な単語の場合、リソース提供のテキストにしておくと、
        // あとでGlobal化するとき困らないw
        menuItem.Text = Properties.Resources.M0001;
        //イベントハンドラ登録
        menuItem.Click += new EventHandler(Close_Click);

        menu.Items.Add(menuItem);
    }

    private void setNotifyIcon()
    {
        //VBerなら当たり前のことをC#でもさせてみるw
        //まさか、自分でクラスインスタンスとらないと
        //My.Computer使えないとかびっくりしたよ
        if (myComputer.Keyboard.NumLock)
        {
            icon.Icon = Properties.Resources.On;
            icon.Text = "NumLock ON";
        }
        else
        {
            icon.Icon = Properties.Resources.Off;
            icon.Text = "NumLock OFF";
        }
        icon.ContextMenuStrip = menu;
        icon.Visible = true;
    }
}

/// <summary>
/// NumLockすぐにわかるよインジケータ
/// </summary>
internal class MainWindow
{
    private static void Main()
    {
        MainForm rm = new MainForm();
        Application.Run();
    }
}

実行結果がこちら

image

あとはスタートアップに突っ込んでしばらく使っていろいろとチューニングしてくw