とある技術の開発日記

Diary of irregular phrase programmer

Azure Dev Test Labsに触れてみた

AzureにはAzure DevTest Labsという、開発者&テスター向けの仮想マシンを管理する機能があります。

どの程度何ができるのか軽く触れてみたのでまとめておきます。

azure.microsoft.com

できること

  • 仮想マシンの数とインスタンスサイズを制限
  • 作成する仮想マシンのイメージを制限
    • Marketplaceから使用できるイメージを制限
    • 独自のVHDイメージ
  • 仮想マシンを作成後にアーティファクト(成果物)と呼ばれるアプリケーションをプロビジョニング
  • 仮想マシンの自動起動と自動シャットダウン

アーティファクト(成果物)について

まだ、日本語訳の問題なのかアーティファクトと成果物という単語が乱立しているので混乱しますが、アーティファクトは仮想マシンの作成後にインストールするアプリケーションです。

仮想マシンイメージを作るときのアーティファクト選択はWindowsとLinuxベースで異なりますが、Windowsだとこのような感じのアプリがデフォルトで用意されてます。 f:id:airish9:20160616094004p:plain

アーティファクトはjsonで管理されているリポジトリに定義されているので、独自でアーティファクトを追加する事もできます。

azure.microsoft.com

自動起動・自動シャットダウンのスケジュール

仮想マシンの自動起動や自動停止は全体だけでなく、仮想マシン単位で行う事ができます。

起動のスケジュールは曜日単位で選べるのですが、停止スケジュールは曜日選択できないようです。

f:id:airish9:20160616103958p:plain:w300:left

f:id:airish9:20160616104017p:plain:w300

まとめ

DevTest Labを使うとユーザーは制限された範囲内で仮想マシンを使用する事ができます。管理者側からするとDevTest Lab単位でコストの確認や、Azureサブスクリプションから開発&テストメンバー用にサブスクリプションを貸し出しているような利用方法になります。

f:id:airish9:20160616100617p:plain

俺のVisual Studio Codeにラブライブの東條希が出なくなったので復旧作業をした

こんにちは、以前Visual Studio Codeを痛エディタ化しました。

blog.hamamotsu.jp

しかしApril 2016 (1.1)のバージョンくらいから、画像が表示されなくなりました。
これではVisual Studio Codeの存在意義に関わるので早急に修正しました。

以前のコード

以前はworkbench.main.cssを以下のようにしていました。

.monaco-workbench .part.editor {
    background: url('nozomi.png') no-repeat;
    background-position: right bottom;
    background-size: 60% auto;
     /*background-size: cover;*/
}
.monaco-editor.vs-dark.vscode-theme-nontan-themes-nontan-tmTheme {
    background: none;
}
.monaco-editor.vs.vscode-theme-nontan-themes-nontan-tmTheme {
    background: none;
}

今回のコード

.monaco-workbench .part.editor .content {
    background: url('nozomi.png') no-repeat;
    background-position: right bottom;
    background-size: 60% auto;
     /*background-size: cover;*/
}
.monaco-editor.vs-dark.vscode-theme-nontan-themes-nontan-tmTheme {
    background: none;
}
.monaco-editor.vs.vscode-theme-nontan-themes-nontan-tmTheme {
    background: none;
}

中身を詳しく追いかけてはいないのですが.contentクラスが付与されているようです。修正後は今までと同様の方法で表示されました!

f:id:airish9:20160614195355p:plain

のんたんが帰ってきたぁぁあ!

f:id:airish9:20160614195643p:plain

ASP.NET Core RC2 WebAPIでSwaggerを利用する

2016年6月7日~9日にかけてdotnetConf2016というイベントがありました。

www.dotnetconf.net

セッション内容はChannel9で公開されているので気になる方は見てみましょう。

今回は最近のAPI開発周りでよく耳にするSwaggerを利用してみたいと思います。

従来のASP.NETでもSwaggerを利用する事はできましたが、基本的な流れは変わりません。Swaggerの説明はみそ先生のブログが参考になるでしょう。

miso-soup3.hateblo.jp

手順

  1. NugetパッケージマネージャーでSwashbuckleをインストールする
  2. Startup.csにSwaggerを利用する設定を追記
  3. /swagger/uiにアクセスするとSwaggerUIが表示される

1.NugetでSwashbuckleをインストール

Install-Package Swashbuckle -Pre

.NET Core版はまだbetaなので-Preオプションを付けましょう

f:id:airish9:20160614004225p:plain

2. Startup.csにSwaggerを利用する設定を追記

サービスの設定でSwaggerGenServiceCollectionExtensions.AddSwaggerGenを呼び出して。
アプリケーションの設定でSwaggerGenBuilderExtensions.UseSwaggerGenSwaggerUiBuilderExtensions.UseSwaggerUiを呼び出せばOKです。

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    services.AddSwaggerGen();  // Add
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

    app.UseMvc();

    app.UseSwaggerGen(); // Add
    app.UseSwaggerUi();  // Add
}

3. /swagger/uiにアクセスするとSwaggerUIが表示される

f:id:airish9:20160614010001p:plain

コンフィグの方法がCoreでよく利用するDIになっている以外は基本的に従来と同じで簡単ですね。

Web API: The Good Parts

Web API: The Good Parts