読者です 読者をやめる 読者になる 読者になる

tech.guitarrapc.cóm

PowerShell Technical Update and Features

PowerShell でディスクの初期化からフォーマットを行う

PowerShell Windows

Windows のディスクを管理したいとき、古の時代から diskpart コマンドがあります。

DiskPart のコマンド ライン オプション

www.atmarkit.co.jp

しかし現在これらのdiskpart 操作をを使うことはありません。PowerShell でより高度、安全に操作できるからです。

こういったディスクの初期化処理は、AWS や Azure においてディスク追加するときにも必要になることがあります。

そこで今回はその例を少し見てみましょう。

続きを読む

Azure Functions - C# で Windowsにインストールされている.NET Framework のレジストリバージョンを適切に返してみよう

Azure AzureFunctions C# Windows

現在、5/26 -27 で、ニューヨークにて Serverless Conf が行われています。コンテンツホルダーが信じられないぐらい豪華、かつホットな人ばかりなので、動向に注目です。

serverlessconf.io

さて、Azure Functions の PMも参加しているように、Azure Functions はServerless という意味で着々とよくなってきています。*1

例えば、Github などとの Continuous Integration。

tech.guitarrapc.com

以前は、新しく push した結果が反映するときに、コンパイルが走ってもコンソールに結果出てこないため、実はコンパイルエラーでした!ということもありました。これが現在は、デプロイした後に Functionのコンソール を開くと、コンパイル結果が表示されるようになっています。とても良いです。CI を組むと、コンソールが Read only になるのはいいのですが、コンパイルも走ってくれなくて困った状況からついに開放です。

f:id:guitarrapc_tech:20160527034822p:plain

また、別の Function に移動して、戻ってきても前回の実行ログが保持されるようにもなっています。

github.com

一つバグが発生していて、Clear を押してもログが復活してしまいますが、すでにデプロイ待ちのステータスです。

github.com

こういう更新が、毎日あります。結構面白いので Issue などを眺めているとどう改善していっているかの参考になって個人的に楽しみにしています。

github.com

さて、今回の記事は、.NET Framework のバージョンを確認したいけど、レジストリではわかりにくいケースがあるのでそれを判別するAPIを AzureFunctions に作成してみるというものです。

*1:成熟には程遠いですが!そこがいいということで

続きを読む

AWS Windows 自動化ラウンドテーブルのセッション資料公開

AWS C# PowerShell

2016/5/13 に、アマゾン ウェブ サービス(AWS) 様主催で、AWS で Windows を扱っている方を集めてのクローズドなラウンドテーブルの第一回が開催されました。

私も、AWS Solution Architect の@keisuke69さんにお誘いいただき登壇させていただきました。今回の資料を作るきっかけを与えていただき、本当にありがとうございます。当日参加して下さった方もありがとうございます。

今回は、ラウンドテーブルで用いた資料と、グラニのインフラの基本的な考え方を紹介します。

続きを読む

Azure Functions - C# で外部アセンブリ読み込みとRoslynコンパイラに渡してみる

Azure AzureFunctions C#

前回は、Azure Functions に C#コードを投げつけると Roslyn Scripting で評価して結果を返すところまでやりました。

tech.guitarrapc.com

次にやりたくなるのが、独自クラス、メソッドも Roslynに評価させることですね。自分用ヘルパーなどはみなさんお持ちだと思うので、うまく読みこませられないかやってみましょう。

続きを読む

Azure Functions - C# のRoslyn コード評価環境を構築しよう

Azure AzureFunctions C#

C# を書く環境として、Visual Studio や LinqPad、Visual Studio Code が良く話題になります。特にサクッとコード片を試す、インタラクティブにトライアンドエラーをしたいとなると、LinqPad (特に Premium) が素晴らしいです。

LinqPad に関しては、素晴らしいブログ記事があるのでぜひとも目を通されるといいと思います。

takeshik.org

takeshik.org

takeshik.org

takeshik.org

しかし、チャットでやり取りしていると LinqPad など他ツールを立ち上げること自体が億劫になります。ツールを切り替えるのは非常にコストが高く、ふとコード片を試したい、共有したい、あるいはチャット上でコードを実行したいとなると、チャット上でボットにお願いして評価してほしいでしょう。

そんな時に利用できるのが、Roslyn の Scripting API + AzureFunctions です。

とはいえ、Slack で Outgoing Webhooks を使ったチャットのコード評価ボットに関する素晴らしい記事がすでにあります。

qiita.com

今回はこの素晴らしい知見を基に、Line や 他チャットなど汎用的なWebhookをJSON経由で評価できるようにしてみましょう。

続きを読む