高円寺の南のほうのあたりで、ちょっとした新築共同住宅プロジェクトを立ち上げてみたいと思っています。つきましては、このプロジェクトの趣旨とノリに賛同してくださって居住してくださる方をふわっと募集します。
最近、高円寺の南のほうのあたりに築古賃貸物件を買ってみました。物件概要はざっくり以下のような感じです。
- 立地: 丸の内線東高円寺駅徒歩5分、JR中央線中野駅徒歩12分(Google調べ)
- 地積: 110平米と120平米の間ぐらい
- 建物: 築およそ30年の2階建て木造アパートを賃貸運用中
| using System; | |
| using System.IO; | |
| using System.Text; | |
| using System.Text.Json; | |
| // need System.Text.Json 9.0 or later | |
| namespace jsonserializertest | |
| { | |
| class Program |
| using System.Runtime.CompilerServices; | |
| using static ParsingExtensions; | |
| string input = "Name: Andrew; Age: 31"; | |
| string? name = null; | |
| int age = 0; | |
| if (input.TryParse($"Name: {Placeholder(ref name)}; Age: {Placeholder(ref age)}")) | |
| { |
The following are examples of various features.
| #Requires -Version 7.0 | |
| Set-StrictMode -Version Latest | |
| function CreateSubCommand { | |
| param ( | |
| $prof, | |
| [bool]$admin | |
| ) | |
| $regKeyName = $prof.guid |
| # https://github.com/secretlint/secretlint | |
| name: secretlint | |
| on: | |
| push: | |
| branches: ['main'] | |
| pull_request: | |
| branches: ['**'] | |
| jobs: |
| using System; | |
| using System.Collections; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Reflection; | |
| using System.Text; | |
| namespace Cysharp.Reflection | |
| { | |
| public static class DiffUtil |
そんなに深くない気がしますが。Microsoft.Extensions.DependencyInjection の DI についてざっくりまとめた記事です。なお、長いので、Microsoft.Extensions.DependencyInjection を M.E.DI と略します。
例によって、公式ドキュメント にすべて書いてある、はずですが、ここでは少し別の観点でまとめてみます。また、ドキュメントに書いてない(と思う)内部実装についてもいくつか書いてあります。
IServiceCollection の拡張メソッドを使用して、フレームワークやランタイムが提供する IServiceCollection の実装に対して登録していきます。IServiceCollection は ServiceDescriptor というサービスについてのスペックを表すオブジェクトのコレクションである。ServiceDescriptor はサービス型をキーにして、ライフタイムと実装を持ちます。最近は .NET Core の仕事をしています。
さて、ASP.NET Core を使っていると、とりあえず構成情報みたいなものは IOptions<TOptions> で受け取っておけみたいな雑な話を目にします。
一応 公式のドキュメント はあるのですが、正直読んでもよくわからない。柔軟なんだねー、なるほどねーみたいな感じになりました。なので、ここではできる限り(?)網羅的に解説してみようと思います。
IOptions<TOptions> って何?(TOptions を直接注入すればいいじゃん)IOptionsSnapshot<TOptions> とかたくさんあってよくわかんない