銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

NupkgファイルをGiHub PackageにPublishするGitHub Actionを作りました

github.com というGitHub Actionを公開しました。 作った背景ですが、まずGitHub Actionsの中でGitHub PackageにNuGetパッケージを公開する手順は、Windows限定で昨日の記事に書きました。 tech.tanaka733.net 公開リポジトリならWindowsでも無料なので気に…

GitHub Actionsで作成したNuGetパッケージをGitHub Packagesに公開する

久しぶりにNuGetパッケージを公開したくなったのですが、最近だとGitHubで公開しているのならGitHub Actionsでビルドするのが簡単なようです。 tech.guitarrapc.com 最終的には作成したパッケージは nuget.org に公開するのですが、いったんprivateなNuGetリ…

AZ-301に合格して、Azure Solutions Architect Expertを取得しました

先日、AZ-300に合格しました。 tech.tanaka733.net かなりぎりぎりで合格したので、もっと準備してからAZ-301を受けるつもりだったのですが、AZ-300と301がAZ-303と304に更新されるニュースがありその時点ではAZ-300とAZ-304の組み合わせでOKか不明だったの…

ASP.NET Core 3 Web APIで例外をスローして、指定したステータスのレスポンスを返す

ASP.NET Core Web APIでアプリケーションロジック内では例外を投げておいて、共通処理として例外をキャッチして例外に応じたステータスコードとメッセージのレスポンスを返したい場合があるかと思います。ASP.NET Framework やCore 2.2まであったHttpRespons…

DateTimeとTimeSpanの書式文字列が違うという話

知ってればそれだけなのですが、System.DateTimeとSystem.TimeSpanでは指定できる書式文字列が異なります。知らずによくわからないエラーを出して一瞬困りました。 たとえば、DateTimeオブジェクトで時間のところで HH:mm:ss という形式で出力したい場合は次…

.NET Core で暗号論的疑似乱数生成器を使ってソルトを作成し、PBKDF2でパスワードのハッシュ化を試みる

この時代、自前でパスワードの管理などしたくはないのですが、しないといけないケースもあるでしょう。最低限やらないといけないこととしては、ソルト生成した上でハッシュ化したパスワードを保存することではないでしょうか。.NET Coreでこれらの処理を行う…

.NET CoreでUTCのISO8601形式の時刻文字列から指定のタイムゾーンに変換する

例えば 2020-03-23T12:00:00.000Z というUTCでのISO8601形式の文字列をパースしたうえで、指定したタイムゾーンでの時間に変換したいとします。2020-03-23T12:00:00.000Zであれば、日本標準時(UTC+9)で2020年3月23日21時です。これは次のようなコードで処理…

.NET CoreでWindowsとLinuxでタイムゾーンを識別するID表記が異なるという話

最近、ASP.NET CoreでTimeZoneまわりのコード書いてて遭遇しました。以前このブログ読んだ記憶はあるのですが、すっかり忘れていました。そして、.NET Core 3でもそのままなんだなというのがわかりました。 devblogs.microsoft.com .NET Coreで特定のTimeZon…

AZ-300 Microsoft Azure Architect Technologies に合格しました

Ignite The Tourに参加するといくつかの検定試験の中から一つ無料で受けられます。 docs.microsoft.com というわけで時間がある冬休みに受験を思い立ち、1週間ほど準備して合格しました*1。どんな準備をしたかについてメモしておきます。 *1:得点としてはか…

2019年を振り返る

2019年大晦日ということで、今年一年を振り返ってみます。 ここ最近はお仕事関係のブログは公式ブログに書くようになってしまって、少し更新頻度が落ちてしまいました。 blog.newrelic.co.jp New Relic株式会社への転職 今年の初めごろから転職活動をはじめ…

Q#のコードをAWS Lambdaでサーバーレス実行して、New Relicで監視する

量子コンピューターアドベントカレンダーの12日目のエントリです。 qiita.com 何かQ#のエントリ入れたいなあと思いつつ、いいネタがなかったので変化球で攻めたいと思います。Azure Quantumがまだ公開されていない中、AWS Bracketがリリースされたわけですが…

Microsoft Quantum Development Kit 0.10.1910.3107がリリースされました

Q#

11/1にMicrosoft Quantum Development Kit 0.10.1910.3107がリリースされました。 docs.microsoft.com 今回の更新ではあまり大きい変更点はないようです。 VS CodeとVSの拡張で、.NET Coreのバージョン依存性をなくすためにLanguage ServerをSelf Contained…

Windowsコンテナをビルドしようと思って気づいたこと

ASP.NET MVC (Coreではなくて昔からある方)が動くコンテナイメージを作って動かそうと思って気づいたことのメモです。 準備とプロジェクト作成 まずはこのページから始める。 docs.microsoft.com 自分のWindowsマシン上でビルド、実行したい場合はDocker for…

Microsoft Quantum Development Kit 0.9.1909がリリースされていました

9/30にQuantum Development Kit 0.9.1909がリリースされていました。珍しくリリースブログも公開されています。 cloudblogs.microsoft.com docs.microsoft.com 今回パッチバージョン扱いの更新ということもあり、Q#の機能そのものではなく、開発ツールまわり…

Microsoft Quantum Development Kit 0.9.1909がリリースされていました

Q#

9/30にQuantum Development Kit 0.9.1909がリリースされていました。珍しくリリースブログも公開されています。 cloudblogs.microsoft.com docs.microsoft.com 今回パッチバージョン扱いの更新ということもあり、Q#の機能そのものではなく、開発ツールまわり…

connpassで先着順と抽選の両方の参加枠を用意したい

conpassでイベントを開催する際、まず何人かは先着順で参加可能にして、残りの枠を抽選にしたいということがあります。今まではこのように別々の枠に分けて募集していました。 なのですが、いくつかやりづらいなと感じている点がありました。 参加者にとって…

Microsoft Quantum Development Kit 0.9がリリースされていました

Q#

ブログを更新していなかった間に Microsoft Quantum Development Kit が 0.9までリリースされていました。 docs.microsoft.com 0.6については記事を書いたので、0.7から0.9までのリリースノートを簡単に日本語にしてみました。 tech.tanaka733.net 0.7 (2019…

CloudNative Days Tokyo 2019振り返りNight に参加してきました

先日、Cloud Native Days Tokyo2019の振り返りとして行われたイベントに参加してきました。 microsoft-events.connpass.com Cloud Native Days Tokyo2019はこのようなイベントでした。 cloudnativedays.jp 今回、Cloud Native Days Tokyoのセッションにも参…

Microsoft MVPを再受賞しました

昨年に引き続き、Microsoft MVPをAzureカテゴリで受賞しました。7回目の受賞らしいです*1。 昨年やったこと 昨年の4月から今年の3月までの活動実績が評価対象なのですが、こんなことをやってました。 Q#ハンズオンを中心とするQ#関連のブログ投稿、登壇など …

AKSとQ#の試してみようリポジトリを公開しました

de:code 2019でMicrosoft MVP パーソナルスポンサーというものに選ばれまして、サンプルコードを公開していました。 www.microsoft.com 参加者向けのサンプルコードということなのですが、参加者の方にどのように伝えられたのか私は把握できておりませんので…

Azure Kubernetes with Azure Cosmos DB (preview) を試してみた

//Buildで発表されたAzure Kubernetes with Azure Cosmos DB (preview)を試してみた記録です。 docs.microsoft.com これは何かというと、kubernetesの必須コンポーネントであるetcdを通常etcd clusterではなく、代わりにマネージドサービスであるAzure Cosmo…

Microsoft Quantum Development Kit 0.6がリリースされていました

Q#

GWの最中、破壊的変更を含む0.6が出ていました。 docs.microsoft.com 主な変更点です。 (0.6より前からですが) Pythonとの連携が進み、Jupiter NoteBook上での実行ができるようになっています。これに伴って、インストールのドキュメントもPython推しになっ…

New Relic 株式会社に転職し(てい)ました

GW明けに投稿しようかと思っていたのですが、せっかくなので令和明けてすぐのエントリにしようと思います。Facebookや直接お会いした人には伝えていたのですが、4月中旬にNew Relic株式会社に転職していました。職種は引き続きテクニカルサポートエンジニア…

Visual Studio 2019 Launch Event in Tokyoで.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能について話しました

Visual Studio 2019 Launch Event in Tokyoを開催しまして、登壇もしました。 connpass.com 発表資料はこちらです。 .NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能 from Takayoshi Tanaka www.slideshare.net 今回、手持ちのノートPC…

【Launch 記念】Visual Studio 2019 を試してみる会でGitクライアント機能について話しました

【Launch 記念】Visual Studio 2019 を試してみる会で登壇しました。 csugjp.connpass.com 資料だけだとなんのこっちゃな感じですが、公開しています。 Try! Visual Studio 209 git feature from Takayoshi Tanaka www.slideshare.net 現地でチャットとか質…

kubernetes on Azureで接続できる上限を超えた数のディスクをPVとして利用するPodをデプロイしたときの話

kubernetesをAzureで動かすとAzure DiskをPVとしてマウントできる機能があります。一方、Azure Diskは仮想マシンサイズごとに仮想マシンに接続できる上限が決まっています。というわけで、その上限を超えるようなディスクをPVとしてマウントしているPodをデ…

Quantum Development Kit 0.4がリリースされていました

Q#

知る限り特にアナウンスなどはなかったと思うのですが、Quantum Development Kit 0.4.1901がリリースされていました。リリースノートは更新されています。 docs.microsoft.com 更新方法は、いつもの通り.NET Coreのプロジェクトテンプレートの更新で、既存プ…

Qiskit を使ってQ#で記述した量子回路を描画する

Q#

Q# で書いた量子回路を回路図として表示したいというUserVoiceを見つけました。 div.uv-card {background: #fff;border: 1px solid #CED6E6;-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;color: #5C5F66;font: normal 11px/1.3em…

AKS ベストプラクティス解説という動画を公開しました

あのチャンネルにおじゃまして、AKSベストプラクティス解説という動画を公開しました。全4回の予定です。 www.youtube.com こちらで公開されているMicrosoftのAKSベストプラクティスについて解説しているので、PCなどでご覧の方はぜひあわせてごらんになって…

2018年の振り返り

少し早いですが、Advent Calendarの最後として今年の振り返りで終わりたいと思います。 adventar.org しばやんせんせーの人気記事ランキング生成ツールを使って上位20記事を出してみました。 ASP.NET Core 2.2のHealthchecks機能を試してみる .NET Coreにお…