Skip to content

Blog

C# で UI コントロールにスレッドセーフなアクセスをする

Windows Form アプリケーションを作成する際に UI コントロールへスレッドセーフにアクセスするには一工夫、必要です。 例えば TextBox に文字列を設定する場合、C# だと以下のように書けます。 InvokeRequiredInvoke が必要な場合は MethodInvoker を使います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
private void SetText(TextBox txtBox, string text)
{
    if (txtBox.IsDisposed) return;
    if (txtBox.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate { SetText(txtBox, text); });
    }
    else
    {
        txtBox.Text = text;
    }
}

Ansible-Tower ライクな Semaphore の Docker イメージ

以前にCentOS 7.4 に ansible-tower ライクな OSS「semaphore」の v2.4.1 をインストールするというメモを書きました。 もっと手軽に semaphore を試せるように Docker イメージを作成しましたので公開しています。

以下のように Docker-compose を使って起動します。

1
docker-compose up -d

RancherOS で Kubernetes 環境を構築する際の cloud-init

RancherOS 上で Kubernetes (以下、k8s) を試す際、Docker Engine のバージョンを予め k8s 互換バージョンに指定しておくと便利です。 その場合、cloud-init の定義例は以下のようになります。 尚、k8s と Docker Engine の互換性については Getting Started with Hosts の SUPPORTED DOCKER VERSIONS に記載されています。

Ansible で仮想マシンをクローンした際の電源状態を操作する

Ansible から vSphere ゲスト(仮想マシン)を操作するモジュールを使って仮想マシンを作成する際、電源の状態は state の定義を利用して制御します。 しかし、from_template を使ってテンプレートからクローンを実行した際は state を使って電源状態を制御することが出来ません。 from_template を使った場合の電源状態は(state では無く)power_on_after_clone を使います。

Ansible で vSphere 上に複数の仮想マシンを作成する

以前にAnsible で vSphere ESXi に仮想マシンをデプロイするにはというメモを書きました。 RancherOS の検証をする際、何度も複数の RancherOS 仮想マシンを作成するのが面倒だったので Ansible で自動化してみました。 今回はひとつの Playbook で RancherOS-1 ~ 9 という複数の仮想マシンを作成します。