tech.guitarrapc.cóm

Technical updates

2019-01-01から1年間の記事一覧

Pulumi の .NET Coreの Preview リリースとGetting Started

この記事は、Pulumi dotnet Advent Calendar 2019 の1日目です。 qiita.com Pulumi の .NET Core 対応版が Preview リリースされました。 Getting Startedから、実際に環境を構築したり疑問点の解決を回を重ねながらみていきましょう。 目次 目次 TL;DR Pulu…

CircleCI でdotnet test が遅い問題と対処方法

この記事は、C# その2 Advent Calendar 2019 の一日目の記事です。 qiita.com C# で書いたアプリをLinuxやコンテナ環境で動かすことも当たり前になりました。コンテナイメージを作成するのにCircleCI は非常に便利な機能が多く、私も多くの場面で CircleCI …

Nature Remo / Nature Remo mini Remo-2W1 の接続安定を試みる

台風21号の風がいい環境音で作業が捗っています。 さて、外出先からエアコンを消す、家に着く前に少しエアコンをつけておきたいなどというシーンがあります。 また、Google Home を使っていると電気機器の動作も声で制御したくなります。 ここ2年ほどNature …

servo で gRPC(MagicOnion)サーバーを公開する

2019/7/29 に servo に関する記事をみて、gRPC っていけるのかなということで MagicOnion で試していました。 qiita.com 記事にするのを忘れてたので書いておきます。 目次 目次 結論 何がうれしいのか 結論 問題なくok 大事なのは、MagicOnion のサーバーを…

TeamsId2BitwardenConverter でTeamsId から Bitwardenへの移行を再度行う

TeamsId から Bitwarden への移行をまたやってました。 tech.guitarrapc.com 作っておいてよかったということでサクッとやったのですがいくつか修正しています。 目次 目次 TeamsId2BitwardenConverter 個人のデータを移行する まとめ TeamsId2BitwardenConv…

.NET Core 3の Single-file executables を生成する

.NET Core 3.0 では、単一バイナリ(Single-file executables)が生成可能になりました。 github.com 今回はどのようにSingle Executable生成するのか、普段は .NET Core 2.1 でビルドしたいときの分け方、dotnet global tool とビルドを分けること、GitHubリ…

PowerShell で1から100までの偶数の和を求めるワンライナー

PowerShell でどういうやり方がいいかを少し考えてみます。 「1から100の偶数の和を求めるワンライナー」まとめ - Qiita というのがあり、Twitter でつぶやいたのですが、一応まとめておきます。 (1..100).Where{$_ % 2 -eq 0} | Measure -Sum1..100 | Where…

Azure DevOps Pipeline をYAML で定義しよう

何度か挙げている Azure DevOps Pipeline ですが、ずっとYAML で紹介してきたかと思います。 実際に私はAzure DevOps にYAML がPreview で来てからずっとYAML にしています。 これはほかのCIサービスも複数触っていたことからもYAML でかけることに大きなメ…

Azure DevOpsの Microsoft-hosted Agent で HoloLens ビルドを行う(MRTK/MRTKv2)

前回、Azure DevOps で HoloLens のビルド環境を行うこと、Microsoft-hosted Agent が今ならいいということを書きました。 tech.guitarrapc.com 今回は、MRTKとMRTKv2 を Microsoft-hosted Agent で現実的にビルドすることを考えてみましょう。 内容としては…

Azure DevOpsでのHoloLens ビルドを行うためのCI/CD選択

お手伝い先でHoloLens でのCI/CD を構築、運用して1年を超えましたが、日々安定してビルドができています。 先日素敵な記事も出てて良い感じです。*1 Azure DevOpsでHoloLensアプリをビルド(MS-hosted編) | NEXTSCAPE with MR HoloLens のCI環境について、…

Terraform 0.11.14から0.12.0 にアップグレードを行う

Terraform 0.12.0 がリリースされ、すでに 0.12.1 がリリースされました。 いくつかのTerraform 環境で随時0.11.14 から 0.12.0 にアップグレードしているのですが、その中で AzureRM Provider に関して少し困ったのでメモしておきます。 目次 目次 TL;DR 操…

Windows10 のPowerShellでF7を押しても履歴が画面に表示されない

以前書いたPowerShell の履歴に関する操作ですが、Windows 10 のWindows PowerShell ではF7による画面表示がされません。 tech.guitarrapc.com これに関して少し見てみましょう。 目次 目次 TL;DR Windows 10 と Windows PowerShell と PSReadline 従来のよ…

PowerShell でsudo っぽいものを内蔵した関数を作る

時々思い出したようにPowerShell の記事を書いてみます。 スクリプトでよくあるのが、sudo で実行時に権限があるスクリプトの許可をしたいというケースです。 Windows は組み込みsudo がないので面倒でしたが、現状なら scoop で sudo をインストールすると…

Azure DevOps の Template を利用してビルドする

Azure DevOps Pipeline で何度も同じ処理をYAMLに書いていた場合、Templateを使うとまとめられて便利になります。 実際にビルドが多く重複した定義の多いプロジェクトに適用したところ、表向き300行 (template 含めると100行) 減らせて見通しは良くなりまし…

DELL PC のスペックに対するコストパフォーマンスを考える

相談されたので少し考えていたことのメモを書いておきます。 ネットがメイン、少し絵を書いたりするぐらいの大多数のユーザーに取っては、DELLのこのモデルはコストパフォーマンスはすごくいいと感じます。 残念ながら、わたしはUnity使ってHoloLens やVR開…

AWS Secret Manager を使ってASP.NET Core のシークレット情報を扱う

.NET Core で AWS において機微情報を扱うときに、AWS Secret Manager や System Manager の Parameter Store が候補に上がります。 ここでは、Secret Manager を使った ASP.NET Core での組み込みについて書いておきます。 目次 目次 TL;DR AWS Secret の選…

非ASP.NET Coreなプロジェクトで UserSecretsを使うためのVisual Studio 拡張を作りました

非ASP.NET Core、特にGeneric Host で開発するなら必要になるVS拡張を公開していたのを忘れていました。*1 今回は、GenericHost など非ASP.NET Coreなプロジェクトでも、ASP.NET Core なプロジェクトにある Manage UserSecrets (ユーザーシークレットの管理)…

CircleCI CLI を Windows でも利用する

circleci の cliを使うとconfigやorbs などローカルでの操作がはかどります。 この CircleCI Local CLI、以前は公式ページに macOS と Linux の記述しかありませんでしたがWindows の導入方法も示されるようになりました。 circleci.com 少し見てみましょう…

.NET Core でgitなどSCM情報をCIで埋め込んでアプリケーションに表示する方法と選択

開発中、リリースのいずれにおいても「今どのバージョンなのか」という情報は重要な情報です。 とはいえ、実際に埋め込みたいのはバージョンというより「ソースコード」とくに「コミット」と連動する情報、加えて「ビルド」と紐づく情報もほしいでしょう。 …

.NET Core で AssemblyInfo.cs の生成を制御する

C# のアセンブリ情報は AssemblyInfo.cs によって制御されています。 .NET Core でいくぶん取り扱いが変わったものの基本は一緒です。 たびたび忘れるので、どのように取り扱いが変わったのか制御方法をメモしておきます。 目次 目次 TL;DR Microsoft.NET.Ge…

SQL Server Docker Image のCU12以降でDBがクラッシュする件

SQL Serverは Dockerで動かせるので、いちいちSQL Server をインストールせずともローカル開発をスムーズに回すことができます。 hub.docker.com そんな SQL Server on Docker ですが、macOS ではホストのDBファイルをボリュームマウントができない制約があ…

.NET Core Global Tools のインストールとアップグレードを状態に応じて行う

.NET Core Global Tools は.NET Core SDKがインストールされている環境でdotnet系cliツールをlist/install/upgrade/uninstall を行う仕組みです。 docs.microsoft.com この仕組みがでたことで、少なくとも dotnet core製のCLIツールの配布はnugetを経由する…

AzureDevOpsPipeline/Azure DevOps Pipeline で docker build と Azure Container Repository への push を行う

Azure Pipeline を使っているとタスクによせたくなるのですが、あんまりそういうのもアレなのでほどほどにというのはもうちょっと言われてもいい気がします。 Docker はその最たる例で コマンドで3行で済むようなものがDockerタスクを使うといたずらに時間を…

CircleCI のOrb をPull Request を通じて学ぶ

エンジニア同士で話していると、CIどうしよう、今何がいいかなぁという話にたびたびなります。 CIサービスは複数ありますが、サーバーサイドビルドでSaaS 型CI なら CircleCI が今のところいいい感じです。(2.1を前提とする) circleci.com あるいはGitHub Ac…

Google Analytics やGoogle Adsを使っていることの対応

このサイトでは、Google Analytics を使っています。これは、アクセスに対してどういう動きをしているのか、どんな興味を持たれているのかのサイトの改善を意図しています。あとはGoogle Analyticsがどんどん変化するので手元で確認できるサイトを持っておき…

AzureFunctions におけるStorageTableBindingの選択

Azureには、Storage Table という機能があり単純なテーブル形式でデータが管理できます。 C# のコード的にはTableEntity を継承してデータを表現し、メソッドを組み立ててCRUDを実現できます。 さて、このStorage TableをWebJobs 並びにその実装の1つである …

Inboxからのメールクライアント移行

Inbox by Gmail が2019年3月31日で終わりますというアナウンスが流れて半年、ついに4/1です。 じつはまだログインできますがじきにできなくなるでしょう。(4/1 23:00 9 tile からは Inboxが消えました) メールクライアントをInboxから何に乗り換えたかについ…

Deployment Groupを用いてManagedにVMへのデプロイを行う

現状、サーバーサイドの多くはコンテナで動かすことが可能です。そのため、VMに直接アプリケーションをデプロイする機会はかなり減りました。最高ですね。しかし、UWPをはじめとして一定の要件下においてはコンテナ対応が技術的に難しく、VMへのデプロイをせ…

MSIを使ったStorage Account(Blob, Queue) の認証を使ってQueueの監視を行う

Azure の Storage Account アクセスといえばConnection String ですが、Managed Service Identity (MSI) による AzureAD認証が可能です。(2019/3/25 に GAしたはず.... あれ?) ここでは、Storage Account ではなく MSI を使ったAzure Functions からのアクセ…

Azure Storage Queue を Application Insightsで監視する

あるあるな Queue の監視ですが、自前でやらなきゃいけないなら Serverless でぺちって任せるのは楽ちんですよ、というのはよくあるパターンです。 実際にQueue Storage のモニタリングをしてみましょう。 TL;DR Azure Storage Queue や Service Bus などの…