koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

Tips

ブログ記事や登壇スライドの作り方

この記事も含めて気が向いたときにブログ記事を書いたり、機会と気分が合えばIT系の勉強会でLTやもう少し長い登壇をしたりすることがある。 そんな時どんなことを考えて記事やスライドを作っているのか? のメモ。 動機 メモ 裏取り 整形 調整 例

プライベートなドキュメントをホスティングする2つの方法

最近プライベートなドキュメントを開発メンバーが見るのにこれはまぁ便利だと思う方法を2つ知ったり試したりしたのでメモしておく。 ここでいう「プライベートなドキュメント」は、Gitリポジトリで管理しているリソースをHTMLにレンダリングして閲覧する類…

GitHubのEnvironmentsとAzure Static Web Appsを関連付けてみる

GitHubにEnvironmentsという機能があって、環境毎にワークフローのルールを設けたり、認証情報(Secrets)を管理できたりして便利らしい。 が、そういう便利さより単に環境毎のデプロイ情報がリポジトリに表示されるのが良い。 なんか出るだけで楽しい 何か…

.NET Core 3 以降で任意の言語にローカライズする

ASP.NET Core のWebアプリケーションで国際化対応したければこのドキュメントに従えばよい。 docs.microsoft.com アクセスしてきているユーザーの言語向けの表示を行うことができる。 今回、ユーザーの言語でなく任意の言語で表示したかったのだけれど、すん…

まぜるな危険ライブラリ(Serilog と Microsoft.Extensions.Logging の場合)

Serilog と Microsoft.Extensions.Logging をまぜこぜで使っていたらログレベルの設定でちょっと失敗した話。 背景 出来事 対応

Jekyll の Just the Docs テーマのメニューを力業でカスタマイズ

したメモ。 以前 WinHelpをMarkdownにして編集しやすくする - koudenpaのブログ したのだけれど、単にMarkdown変換しただけだと閲覧性がイマイチで、結局 chm 変換したファイルをローカルで眺めていた。 いちいちローカルでファイルを開くのが面倒くさいし、…

Azure Static Web Appsの環境毎にE2Eテストしてみる

Azure Static Web AppsがGAしたようで、とてもうれしい。 直近のマイブームがE2Eテストなので、Static Web Appsの中でも特にいいなと思うGitリポジトリのPull Requestごとの動作環境に対してE2Eとビジュアルテストを仕掛けてみた。 E2Eテストは先日試したCyp…

System.Windows.Forms.ScrollBar をキー入力でスクロールしないようにする

Windows Forms には水平、垂直スクロールバー(HScrollBar, VScrollBar)コントロールがある。これらはフォーカスが当たっている際にテンキーの上下左右を入力するとスクロールする。この動作をなくしてマウス操作時だけスクロールするようにしたい。 すんな…

.NETでShift_JISからUTF-8に変換するNuGetパッケージを作った

VBのソフトをC#に移植していて、ちょいちょいShift_JISのファイルをUTF-8に変換したいことがある。 その都度スニペットをコピペするのも飽きてきたのでパッケージにしてみた。 www.nuget.org Package Description ダサいDescriptionだ。 github.com using Sy…

WinHelpをMarkdownにして編集しやすくする

最近弄っているOSSのヘルプがWinHelpで編集が厳しいので各ページをMarkdownに変換してみた。 WinHelpの構造もよく分かっていないし、特に汎用的な変換ツールにしたりはしていないのだけれど、こんな考え方で変換できるのでは? という事例になるかもしれない…

Blazor WebAssemblyのログ

がどうなってんのか気になったので少し見ていたメモ。 Blazor WebAssemblyのプロジェクトで依存しているDLLで無造作に.AddDebug()してデバッグログを見ていたのだけれど、Blazor WebAssembly上では特にコンソール上に何か出るわけでも、エラーするわけでもな…

MySql.EntityFrameworkCore で ASP.NET Identity

.NET(Entity Framework Core)を使うならSQL Serverを使っておけ、というのが正直なところなのだけれど、MySQLを使ってみたいと思うこともあるだろう。 ので試した。ASP.NETにはASP.NET Identityという認証ライブラリがあって、Webアプリケーション作成時に…

Visual Basic のプログラムを C# に移植してる感想

Visual Basicは.NETではないやつ。 具体的にはVB5から.NET5 Windows Forms。奇しくも同じ5。 趣味でやっている(完遂しなくてもいい)のでめちゃくちゃ場当たり的だし、仕事で今後やることもないだろうから完全な感想。 移植をこんな風に試してる人がいます…

PHP5時代のアプリケーションを docker-compose up した時のメモ

Laravel docker-compose up とかググるとそれっぽい構成が書かれた記事がヒットする。 だがそれでは太古の昔の、たとえばLaravel5のアプリケーションは動作しない。いつだって太古のアプリケーションを動作させたいという需要はあるものだ。最近も2020年のタ…

KUSANAGIがインストールするComposer

KUSANAGI は謳い文句としては高速WordPress向けの仮想マシンイメージなのだけれど、構築済みのLAMP環境としても使える。 PHPアプリケーションのライブラリ管理にはComposerを使うことが多い。KUSANAGIでも既定でComposerがインストールされる。 比較的最近 C…

OpenCVSharpで動画を処理した時の失敗メモ

先日から作っているダイスボットでは、Raspberry Pi上のAzure IoT Edgeデバイスで動作を処理したかった。 この際、OpenCVで処理すればどうにでもなるだろう+できれば全部C#(.NET)でプログラムを書きたい、と言った理由でOpenCVSharp*1を使用した。 ものは…

MackerelのURL外形監視でAzure App ServiceをAlways on

Microsoft AzureにはApp Serviceという便利なPaaSがあって、趣味でWebアプリケーションを作ったらとりあえずそのFreeプランでホスティングしている。 App ServiceのFreeなど無料や低料金なプランは、一定時間アクセスがないと動作が停止する。アクセスがあっ…

Amazon EFSへのリソース配置をAWS CLI + 踏み台サーバでやってみる

先にAWS Lambdaの関数実行時にEFSをマウントしてみた。その時にはファイルの出力先として使ってみたのだけれど、入力ファイルの配置先としても使えると思う。Lambdaは何かと容量制限があるが、EFSなら容量制限とは無縁だ。Lambda + EFSの記事でも機械学習結…

AWS Lambda上のChromeでHTMLをレンダリングしてS3やEFSに保存した

Twitterのタイムラインを動画にしたいと思ったのでしてみた - koudenpaのブログ からの流れでHTMLをレンダリングして画像を取得することをいくらか試している。 先には.NET Framework、Windowsのローカルマシンで試したので、次はクラウドでと考えてAzure Fu…

Azure App ServiceのFreeやSharedプランでApp Service build serviceのデプロイに失敗した時にしていること

Microsoft AzureのPaaS、Azure App Serviceが好きでよく使っている。 アプリケーションのデプロイにはお手軽なApp Service build serviceを、使うことが多い。簡単な設定をするだけでリポジトリにPushした内容をビルド、デプロイしてくれてとても便利だ。 こ…

Blazor WebAssembly のSSRを試した

Blazor的にはSSRではなくプリレンダリング(Prerendering)と呼ぶらしいけれど、やりたいこと的にはサーバサイドレンダリングの方が通りがいいのではないかと思う。 どうすれば Blazor WebAssembly をプリレンダリングできるのか プリレンダリングするには前…

ページネート? そんなものいいからとりあえず全部よこせよ! Azure SDK for .NET 編

先日AzureのAPIを.NETのSDKから呼び出したのだけれど、ページネートを忘れていてAPIの結果が欠落した。 Fix pagenate by 7474 · Pull Request #2 · 7474/PostAzureCostToMackerelFunction · GitHub でFixした(つもり)。 ページネートという概念は多量のデ…

転載: Azureを個人で(あんまりお金を払わずに)使うには?

これは2020-03-11に株式会社はてな社内の共有スペースに書かれた内容の転載です。 昼会日誌の後東京地下(id:koudenpa は東京オフィスの地下で仕事をしている)でAzureを個人で(あんまりお金を払わずに)使うには? のような雑談をしていた。 結論から言う…

Redashの初期設定が変わっていて???状態だった話

追記:変わっていたのではなく、参照するAMIがカスタマイズされているものなだけだった。 https://redash.io/help/open-source/setup の手順を見て、 https://docs.bitnami.com/aws/faq/get-started/find-credentials/ のAMIを動かしている。アホか? 理由が…

IaCしていないAzure Rsource GroupのARMテンプレートの履歴をBitbucket Pipelinesで取る

履歴を取りたいリソースグループにデプロイしているアプリケーションはBitbucketでリポジトリ管理していることに気が付いてしまった。

IaCしていないAzure Rsource GroupのARMテンプレートの履歴をGitHub Actionsで取る

エクスポートしたテンプレートの履歴を取っておけば最低限変更を見られるようになるのでは? と思ったので試してみた。

GitHub Actions で .NET Core の NuGet パッケージを Push した

以前 NuGet パッケージを作った時にはローカルマシンから nuget.org に Push したのだけれど、正直面倒くさいのでリポジトリにPushしたら勝手にパッケージがプッシュされて欲しい。 最近 GitHub で CIサービス? の Actions が使えるようになり、GitHub Pack…

Azure Functions (.NET Core)の DI 事情

Azure Functions に .NET Core の関数? をデプロイするにあたって、DIしたくてしたので周辺事情を書いておく。 必要な情報は案内されているので、それに従って処理すればDIできる。 docs.microsoft.com しかし、DI対象の設定をどう構成するのか? が書かれ…

ASP.NET Core で System.Random を使う

ASP.NET Core (C#)で System.Random を使った際の覚書記事です。 アプリケーションを作っていると乱数を使いたくなる場面は多々ある。各言語では概ね疑似乱数の実装が提供されている。 .NET Core でも System.Random クラスが提供されている。 疑似乱数の…

リソース名を付ける時の名前長制限への対応

最近公私でいくつかリソース名の長さ制限に抵触する例が発生して面白かった。 ここでいうリソース名は、自分で長さの制御ができない接続先システムで一意にしたい名前だ。 一意な名前の作り方は幾つもあるけれど、以下のような場合が多いだろうか。 元々一意…