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

tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud, Serverless Technical Update and Features

AzureFunctions の Precompiled Functions を試してみる

2017/1/6 に Precompiled Functions がサポートされました!! この対応により、C# Scripting (.csx) に比べてかなり Azure Functions が書きやすくなります。早速Precompiled の利用とこれまでの.csxとの違いを見てみましょう。 Nice. Precompiled functions …

.NET Core on Lambda で Unity Cloud Build のWebhook処理とLambda をネスト実行する

今回は、Unity 開発に欠かせない存在になってきた Unity Cloud Build のビルド通知をAWS Lambda (.NET Core) でいい感じに処理することを考えてみます。手始めに、他のチャット基盤 (Chatwork) への通知に取り組んでみましょう。 結果こんな通知がくるように…

Azure Functions で Asssembly.Location が正しくかえって来ない問題の対処

Azure Functions が6日ほど前に更新されて1.0.10690になってから、以下のエラーが発生する場合があります。 Can't create a metadata reference to an assembly without location. at Microsoft.CodeAnalysis.MetadataReference.CreateFromAssemblyInternal(…

.NET Core on Lambda の CI を組んでみる

パッケージの利用、ローカルテスト、ビルド、Visual Studioからのデプロイまで来たのでローカル開発は問題なくできそうですね。ただCIがないままではチーム開発がしにくいです。 tech.guitarrapc.com tech.guitarrapc.com tech.guitarrapc.com そこで今回は…

.NET Core on Lambda で nuget パッケージを利用してみた

といいつつ、当初から Json.NET を利用しているのですが、そこはおいておきましょう。 今回は、AWS Lambda で nuget パッケージを利用してみます。とはいっても難しいことは何もなく、通常の.NET Core アプリと同様です。 Azure Fucntions とは少し違うので…

.NET Core on Lambda のローカルデバッグでロガーと変数確認する

Serverless といっても大事なのはローカルで実行できるかです。どんなに便利でも高速なイテレーションが回せないものは継続せず触らなくなったり進化の波に乗れません。 さて、.NET Core on Lambda が出た当初にローカルデバッグで ILambdaContext がないた…

.NET Core on Lambda で Github 連携をSlack に飛ばしてみよう

私の中で Serverless ななんとかネタで鉄板なのが、Github の PRやIssue などの通知連携です。日々使っているものなのでついつい。 もちろん過去にも Lambda + Node.js や Azure Functions で作っています。 tech.guitarrapc.com では .NET Core でもやって…

.NET Core on Lambda で Slack Slash Command を作ってみよう

さて、前回、前々回と .NET Core on Lambda の下回りを見てきました。 tech.guitarrapc.com tech.guitarrapc.com 大事なパッケージ周りやデプロイについては別の機会にするとして、そろそろ簡単なコマンドをWebhook で投げて返してみましょう。ついでに Lamb…

.NET Core on Lambda で テスト、ローカル実行、async/await、ロギングについて

さて、AWS Lambda の続きです。 tech.guitarrapc.com Lambda というか サーバーレスに限らず、ローカル実行ができるか、言語機能の対応状況、ログ確認方法は開発の基本となります。NuGetパッケージの対応状況や他を見る前にざっと確認しておきましょう。

.NET Core on AWS Lambda がリリースされました

今年は非常にうれしいことが Azure と AWS 両方でありました。Azure Functions と .NET Core on AWS Lambda です。 これまで多くの AWS Lambda関数 (Node.js) と Azure Functions (C#) を書いてきましたがこれでようやく AWS Lambda に完全に寄せることがで…

Anagram check in C#

C#

There are no chance of me to write Anagram check in C#. Anagram - Wikipedia, the free encyclopedia Let's see some article posted. blog.agile.esm.co.jp It says he met anagram question with code interview and answer was as follows. def anagr…

Azure Functions で SSLサーバー証明書の有効期限を監視する

久しぶりの AzureFunctions 記事です。この間、グラニでは更に Functions が増えてずいぶんと楽になりました。Function as a Service (FaaS) だけでも非常に助かるものです。もちろん Lambda のような Backend as a Service (BaaS) にはまだまだ足りませんが…

第24回◯◯o◯裏番組シェル芸勉強会 を PowerShell と C# でやってみる #シェル芸

久々のシェル芸です。 Bsh on Ubuntu on Windows でやろうと思ったのですが、手元の環境が入らないのでそっとじ... 今回は途中で飽きるまでということで、やってみました。

Azure Web Apps を使ったReference Source による ブラウザ上でのコード追跡

2014年2月に Microsoft がブラウザ上におけるソースコード閲覧の新しい体験を提供しました。今でも使うことが多い、Reference Source です!! 個人的にこの時の衝撃はすさまじいものがありました。 blogs.msdn.microsoft.com http://referencesource.microsof…

AWS の新ELB である Application Load Balancer を .NET SDK で作成してみる

AWS のロードバランサーといえば ELB です。これはEC2 をバックエンドに置いたときの負荷分散として多くで採用されることが多いものです。 しかし従来の ELB は Google LoadBalancer と比べてもいろいろできなくてもんにょりします。これはGoogle LoadBalanc…

Windows 資格情報マネージャーをPowerShell DSC で構成管理するリソースを公開しました

PowerShell DSC は PowerShell が目指してきた姿の一つの目標であり、強力な技術基盤です。 PowerShell は DSC を提供にするにあたり、OMI の実装を WMI から クロスプラットフォームな CIMに移してきました。実際 Linux で PowerShell DSC を利用する Power…

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

現在、5/26 -27 で、ニューヨークにて Serverless Conf が行われています。コンテンツホルダーが信じられないぐらい豪華、かつホットな人ばかりなので、動向に注目です。 serverlessconf.io さて、Azure Functions の PMも参加しているように、Azure Functio…

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

2016/5/13 に、アマゾン ウェブ サービス(AWS) 様主催で、AWS で Windows を扱っている方を集めてのクローズドなラウンドテーブルの第一回が開催されました。 私も、AWS Solution Architect の@keisuke69さんにお誘いいただき登壇させていただきました。今回…

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

前回は、Azure Functions に C#コードを投げつけると Roslyn Scripting で評価して結果を返すところまでやりました。 tech.guitarrapc.com 次にやりたくなるのが、独自クラス、メソッドも Roslynに評価させることですね。自分用ヘルパーなどはみなさんお持ち…

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

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

わたしが C# を学ぶにあたって教わっている先達のサイトをまとめてみる

C#

書いていないネタは多いのですが、アンケートで C# についてと言われました。 次なんの記事がいいですか? #書く記事募集中— guitarrapc_tech (@guitarrapc_tech) April 23, 2016 そこで、私自身 C# を学ぶにあたって参考にしているものをまとめておくことこ…

Azure Functions の API Key を扱ってみる

Azure Functions を使っていて気になるのが認証制御です。 AWS API Gateway + Lamdba では、任意の Token をつけることができました。それでは Azure Functions はどうでしょうか? App Service Authentication/Authorization のような、アカウント連携はあ…

LINE BOT API で緊急避難情報を返すボットのβバージョンを公開しました

熊本地震災害に遭われた方、その関係者の皆様の無事を祈っております。 少しでも力になれることがないかと、LINE BOT API で緊急避難情報を返すBOTを作成したので公開します。 まだLINE BOT API がβバージョンのため、友達上限が50人と苦しい制限があるのが…

Azure Functions - C# を活用するために気をつけていることをまとめてみる

Azure Functions たのしいです。今回は、現時点で グラニにおいて Azure Functions を展開するにあたり気をつけていることをメモしておきたいと思います。 現時点で、リリースされて2週間程度に加えて、プレビュー版なので今後変わる可能性が高いです。 が、…

Azure Functions - C# で安全に機密情報を渡そう

Azure Functions は、本当に各所で活用できるポテンシャルがあり、すでに多くの実績をグラニで積んでいます。実際グラニでは、プロダクト投入に加えてインフラにおける中心となりつつあります。活躍できるシーンが多く思いつくため、どんどん実装が追加され…

Azure Functions - C# で外部.csx ファイルをファンクションにロード可能になりました

Azure Functions で、ファンクション本体の run.csx から、外部の .csx を呼び出せるようになりました! これは相当大きな改善なので早速見てみましょう。 あ、あと、Azure WebJobs と Azure Functions をどう選択するか、中の人の神記事があるので読んでお…

Azure Functions を使って C# で LINE BOT を作ってみた

Azure Functions の活用をいろいろ考えていたところで、そういえば LINE BOT API がトライアルになってました。 qiita.com Azure Functions で簡単に爆速10分で作ってみました。

HoloLens Emulator エミュレータの準備と DEP6100 エラーの対処

今、個人的に何が一番おもしろいかというと、AR/VR です。 VR 元年と言われて久しいですが (2013年が実質VR開発者にとっての元年というのはおいておいて)、昨年から個人的に話題なのが AR における有望株 Microsoft HoloLens です。 HoloLens の何がいいかっ…

Azure Functions で C# の拡張メソッドを定義、利用してみた

最近 Azure Functions の記事しか書いてませんが、それぐらいの価値があるサービスなので AWS Lambda 以外にも把握、活用しておくといいともいます。 これまで、C# Script (.csx) をAzure Functions で利用してきました。利用、CI、外部ライブラリ(NuGet) の…

Azure Functions - C# で Nuget パッケージを利用してみた

さて、Azure Functions の基本的な利用、GitHub や VSTS でのCI まで見てきました。 以前みた中で残っている、Azure Functions を本番で利用できるようにする最後の砦が「外部ライブラリの利用」です。 tech.guitarrapc.com 外部ライブラリの利用。つまり、N…

Azure Functions を GitHub と Continuous Integrationして自動デプロイされるようにしてみた

前回、Azure Functions を AWS Lambda を使っている一人としての視点で軽く触ってみました。 tech.guitarrapc.com さて、作ったらデプロイですよね。*1かつ Github や CI とどのように連携するかは大事です。 見てみましょう。 *1:Web 上で書くとか初めの一…

Azure Functions - C#で Github Webhoook や VSTS Build 通知 を Slack に通知してみた

AWS Lambda といえば、Amazon Web Service が提供する Node.js や Python、Java を使ったサーバーレスなコード実行基盤です。 AWS Lambda (サーバーレスでコードを実行・自動管理) | AWS これって、単純にコードをサーバーなしに実行できるだけじゃなくて、…

Unity Cloud Build を API で操作しよう

Unity のビルドといえば、長らく Mac + Jenkins などのCIツールという印象でした。昨年、Unity Cloud Build の存在を知ってはいたものの、いまいちという印象で回避してきました。 改めて触ってみると git連携、ビルド状況の把握、ユーザーのダウンロードフ…

WeatherHacks を触ってみる

Twitter を眺めていると面白そうなのをみつけたので、自分ならどう書くか考えてました。 C#で気象情報REST API(WeatherHacks)を使ってみる1e3)g=1e3;else if(200>~~g)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("…

Event Tracing for Windows (ETW) の トレースプロバイダーリストを取得してみる

ネットワークキャプチャといえば、Wireshark や Microsoft Message Analyzer が定番です。今回、USB や Bluetooth のキャプチャもできることを教わりました。 USBなど の通信ログは ETW (Event Tracing for Windows) に流れてくるのでEtwStreamでログをキャ…

PowerShell Cmdlet を人道的に使いたいから頑張ってみるお話

この記事は、PowerShell Advent Calendar 2015 最終日の記事です。 atnd.org 最近はもっぱら C# を使っており、PowerShell も Cmdlet を書いてたりしてスクリプトあまり書いていません。*1 しかしながら、Cmdlet はただ読み込むならともかく、継続的デプロイ…

#ComuPlus Comm Tech Festival 2015 のセッション資料公開

@ufcpp さんにお話しをいただいて Comm Tech Festival に参加してきました。 comuplus.doorkeeper.jp セッション資料をここで公開します。

VisualStudio の .csproj でビルド構成に依存せずApp.config のConfiguration Transformを行おう

Visual Studio で C#など を書いていると、データベースの接続設定などアプリケーションで利用する値を外部ファイルに外出ししたくなることが多々あります。この時利用するのが アプリケーション構成ファイル App.config です。 方法: C# プロジェクトにアプ…

Azure Web App のカスタムデプロイを使って特定のディレクトリをGithubと同期する

Azure で一番好きなサービスはダントツで Web App です。以前は Azure WebSite と呼ばれていました。やりすぎず、でも必要なことはできる。このバランス感が今でも崩れていないのはすごいです。 さて、Azure は各種SCM からのデプロイをサポートしており、そ…

PackageManagement (aka. OneGet) の プライベートパッケージソースを NuGet Server で立ててみよう

OneGet では、パッケージの取得先のことを パッケージソース (PackageSource)と呼びます。OneGetにはデフォルトで2つのパッケージソース(PackageSource) が入っています。*1 Get-PackageSource Name ProviderName IsTrusted IsRegistered IsValidated Locati…

なぜ私たちはSumo Logicを捨ててBigQueryを選んだのか

ログ分析サービスはアプリケーションのインフラであり、サービス開発/運用の中で重要な位置を占めます。グラニでは、今年に入って利用しているログ分析サービスを、 Sumo Logic から Google BigQuery に完全移行しました、 本記事は、グラニで議論された「ロ…

Active Directory の GPO で ExecutionPolicy が設定されているとVS2015 RTM と VS2013 Update 5 において Package Manager Consoleでエラーが出る場合の対処

VS2015 RTM と VS2013 Update 5 がリリースされました。 さて、これらをActiveDirectoryに参加したWindowsで起動すると PackageManagerConsole の起動に失敗する場合があります。今回はこの対処。 Package Manager Console がここで停止するので、一切 Insta…

Nancy からLightNode へ移行のススメ

C#

前回はNancyFx と TopShelf を使った SelfHost な APIサーバーについて紹介しました。 tech.guitarrapc.com しかしプロダクション環境に投入する前に Nancy を辞めて、LightNode に完全移行しました。 そこで今回は、なぜLightNode にしたのかについて書きた…

NancyFx/Nancy と TopShelf でIISに依存しないAPIサーバーを作ってみよう

前回は、TopShelf アプリケーションのデプロイをDSCで自動化する例を紹介しました。 tech.guitarrapc.com 今回は、LightNode + TopShelf を使うことでIISに依存しないAPIサーバーを作ってみましょう。と、書いていたのですが、その前にNancy だとどうなるの…

TopShelf によるWindowsサービスの配置をDSCで自動化してみよう

しばらく C# のみ触っており その中で LightNode + TopShelf を使ったセルフホストな Windows サービスを構築していました。 運用を自動化するために、CIでビルドした生成物を、どうやって本番にデプロイするのかが懸念となります。これを行うために 久々にD…

PowerShell v3 でも ファイルのハッシュ値 (File hash) を確認したい

ファイルの変更を検知する時に一般的に行われるのが ハッシュ値の比較です。ファイルの変更検知はすなわち改ざんがないか、ファイルが更新されてないかなど、あいまいではない変化の検知を意味するのでこういうのって大事です。*1 日付やファイル名での判断…

PowerShell Cmdlet のデバッグとかなんとか

最近は、もっぱら RespClient がお気に入りで欲しいと思ったものをちょいちょい追加しています。 neuecc/RespClient Cmdlet なので、VS で C# となります。 PowerShell ISE での function デバッグといえば、まぁごにょごにょ。 これが、Cmdlet となるとどう…

PowerShell の Pipeline と C# の LINQ の簡単な比較とかなんとか

てきとーです。ふぇぇ、まさかりこわいです。 PowerShell といえば Pipeline 処理。 C# なら LINQ がわかりやすい対比になると思ったのでてきとーな記事をでっち上げてみます。 今回は文字列(string) を題材にします。

C# や PowerShell から Redis を直接操作する RespClient というクライアント

私が所属する謎社では、Cache として Redis をフルに活用しています。Redis大好き最高です。 そんなRedis ですが、 インタラクティブに操作するクライアントとして誰もがお世話になったことがあるのが redis-cli でしょう。 Redis - built-in client ビルト…

PowerShell で Windows の 資格情報マネージャー を利用する (Jenkins などでの Git Credentialなど)

本記事は PowerShell 3.0 以上を対象にしています。 ご存知の通り、Windows には 資格情報マネージャー があります。 資格情報保管ボックスの概要 エクスプローラで見るとここにありますね。 コントロール パネル\すべてのコントロール パネル項目\資格情報…