記事の概要
c#/.NET関連の情報収集に利用しているサイト/ブログ/動画/コミニティ/講演を共有する。
また、開発で利用するサイトも記載する。
記事の用途
- 新しい技術情報を収集するサイトの蓄積。
- 公式サイト、非公式サイトからの情報検索時間の短縮する。
- Microsoftの公式ドキュメントは膨大すぎて、目的の記事に辿りつくのに時間がかかる。
- 公式サイトだけで問題を解決できず、知見者にヒントをもらって解決したことがある。非公式サイトも載せる。
- 過去に見つけ、役立ったサイトの蓄積。
- 「あれ、どこ?」と検索する時間を省く。
情報収集用
近年のソフトウエア技術トレンド
情報サイトInfoQが発表した2020年以降の技術トレンドレポートを下記リンクに記載する。
技術調査のご参考に。
近年のソフトウエア技術トレンド
Microsoftの公式情報
ドキュメント
No | リンク | 説明 |
---|---|---|
1 | Microsft Docs | 公式ドキュメント。 |
2 | .NET API ブラウザー | .NET ベースのAPIを検索するために利用する。 |
3 | Reference Source | .NET FrameworkのAPIの内部ソースを参照できる。 |
4 | Microsoft Developer Blogs | 開発者ブログ。最新情報の入手に役立つ。 |
5 | MSDNマガジン | 開発者がMicrosoft社の技術を紹介した公式の記事。開発に役立つノウハウが多い。2019年頃に廃刊。 |
6 | Microsoft Learn | Microsoftが提供する学習コンテンツ。 |
7 | .NET用語集 | タイトルの通り用語集。 |
※よく利用するものは、太字
GitHub
No | リンク | 説明 |
---|---|---|
1 | Monthly resources | 毎月特定のテーマに関するコンテンツをリリースするMicrosoftのリポジトリ。 |
動画チャンネル
YouTube
Microsoft公式
No | チャンネル | 備考 |
---|---|---|
1 | Microsoft Developer | Microsoft開発者の動画。 |
2 | dotNET | .NET チームの公式YouTubeチャンネルです。 C#関連はCSharpFritzなど。 |
※視聴頻度が高いものを太字。
Microsoft公式以外
No | チャンネル | 備考 |
---|---|---|
1 | .NET Foudation | OSS開発を行う.NET Foundationのチャンネル。 |
2 | Microsoft Visual Studio | Visual Studioの情報を発信したサイト。 |
3 | NDC Conferences | NDCは.NETとアジャイル開発のために発足したヨーロッパの会議。 |
4 | Update Conference Prague | Update Conference Pragueはヨーロッパの中心部で開催される.NET開発者会議。 |
5 | C# Corner | C#開発者コミュニティが発信している動画 |
6 | Nick Chapsas | Microsoft MVPのチャンネル。C#のコーディング技術、.NETで使えるツールを動画で紹介している。 |
7 | Raw Coding | C#/デザインパターン/設計原則とかの動画が多い。 |
※視聴頻度が高いものを太字。
コミュニティ
国内のコミニティ
No | 名称(リンク) | 活動日 | 説明 |
---|---|---|---|
1 | .NETラボ 勉強会 | 毎月第4土曜日 | .NET技術やマイクロソフト製品について勉強するコミュニティ。 オンライン講演、交流会がメイン。 connpassでグループ登録すれば、過去の講演資料を参照できる。 2022/01までの講演 dotnetlabチャンネル 2022/01からの講演 |
国外のコミニティ
No | 名前(リンク) | 説明 |
---|---|---|
1 | C# Corner | 米国のオンライングローバルコミニティ。ソフトウェアのニュース、記事、チュートリアル、QAなどを無料で公開している。 |
2 | Code Project | ソフトウエア開発者のコミュニティ。メンバーがソースコード、記事、チュートリアルなどを無料で共有している。 |
イベント
No | 名前(リンク) | 説明 |
---|---|---|
1 | .NET Conf | Microsoft社イベント |
検索サイト
アメリカのGoogle
英語圏の人々の方が、日本人より多い。情報格差があるから、英語で検索する。
https://www.google.com/webhp?gl=us&hl=en&gws_rd=cr
検索のノウハウに関しては、ググり力、それはエンジニアには必須の能力であるが参考になる。
NuGetパッケージの調査、比較用
No | 名前(リンク) | 説明 |
---|---|---|
1 | NuGet | NuGetの公式ページ |
2 | nuget TRENDS | パッケージのダウンロード数を比較できる。 |
3 | Github Compre | Githubのリポジトリを比較できる |
情報サイト
No | 名前(リンク) | 説明 |
---|---|---|
1 | Visual Studio Magazine | Visual Studio関係の記事が紹介されている。 |
2 | @IT .NET TIPS | .NET プログラミングに役立つテクニックやヒントが集まっている。2019年01/08から更新止まっているみたい |
3 | InfoWorld | 開発者向けの情報を発信しているサイト。 |
4 | .NET Ketchup | 世界中から最新の.NETニュースを収集するサイト |
5 | Zenn | エンジニアのための新しい情報共有コミュニティ |
6 | WeekRef.NET | .NET 関連の情報を配信しているサイト |
※よく使うのを太字。
Qiita
No | 名前(リンク) | 説明 |
---|---|---|
1 | 【C#/.NET】【長期】Qiitaの今読んでおくべき記事100選【毎週自動更新 | Qiita内の記事がLGTM順位付けされている。 |
2 | 【C#/.NET】【短期】Qiitaの今読んでおくべき記事100選【毎週自動更新】 | Qiita内の記事がLGTM順位付けされている。 |
3 | 読みごたえのある .NET 技術書 | .NET関連書籍がまとめられているQiitaの記事 |
Q&Aサイト
システム開発で躓いたときに使用するQ&Aサイト
No | 名前(リンク) | 説明 |
---|---|---|
1 | Stack Overflow | 英語で遭遇している問題のキーワードを検索して、回答を探す。 |
2 | teratail | 日本語で遭遇している問題の回答がないか、検索する。 |
JetBrains社
Rider/ReSharper(後述)などのIDE/拡張機能を手掛けるJetBrains社の情報リンク。
No | 名前(リンク) | 説明 |
---|---|---|
1 | JetBrains .NET Days Online | JetBrains社イベント |
2 | The JetBrains Blog:Matthias Koch | Matthias Kochさんが投稿したブログ |
知見者のブログの一覧
個人でウォッチしている知見者のサイトをまとめる。並び順に意味は有りません。
国内の知見者サイト
No | お名前 | 備考 |
---|---|---|
1 | 岩永 信之さん | 未確認飛行のオーナー。YouTueチャンネル |
2 | 河合 宣文さん@neue | C#のOSS開発をなさっている。ブログとSlideShareがとても勉強になる。 |
3 | 大田 一希さん@Kazuki Ota | 技術系記事のアウトプットがとても多く、とても読みやすい。 Zenn Qiita Hatena Blog |
4 | 鈴木 孝明さん@xin9le | FastEnumの作者さん。今日からできる!簡単.NET高速化Tipsなど役立つトピックを発信してる。講演スライドを見ることが多い。 |
5 | 出井 秀行さん | 書籍:実戦で役立つ C#プログラミングのイディオム/定石&パターンの著者さん。この書籍は、「なぜC#でそのように書くのか?」を丁寧に解説しており、いつも大変お世話になっています。Qiitaでも記事の投稿をなさっている。 |
6 | 松井 幸治さん | ブログはKekyoの丼です。なぜC#でそのように書くのか?疑問についてブログで記載している。 |
国外の知見者サイト
No | お名前 | 備考 |
---|---|---|
1 | David McCarterさん | C# Corner MVP。この方が編集長を務めるDotNetTipsがとても勉強になる。 |
2 | Steve Gordonさん | ブログは.NET Core/ASP.NETの投稿が中心。Turbocharged: Writing High-Performance C# and .NET Codeって講演を行っている。blogにも上がっている(リンク)。 |
3 | Brandon Minnickさん | Microsoft社のXamarinの開発者のようです。ブログはXamarinの投稿が中心。 |
4 | VINCENT MAVERICK DURANOさん | CodeProjectでMVPに輝くなど情報のアウトプット量が非常に多い方。ブログには、ASP.NET関連の投稿内容が多い。 |
5 | Adam Sitnikさん | BenchmarkDotNetの作者さん。Microsoft .NETチームの方みたい。ブログにパフォーマンス周りの投稿が多い。 |
6 | Kevin Gosseさん | デバック、パフォーマンスの知見者の方みたい。ブログの中でまた読みたいと思った記事は次に記載したもの。Performance best practices in C# .NET ThreadPool starvation, and how queuing makes it worse |
7 | Konrad Kokosaさん | Pro .NET Memory Managemenという書籍の著者さん。ブログもメモリ関連投稿が多い。High-performance code design patterns in C#というタイトルの講演動画を観る。 |
8 | Steven Smithさん | ASP.NETやクラウドのアーキテクチャの知見者。SlideShareにアーキテクチャに関する資料を投稿している。ブログのリンク。 |
9 | Marc Gravellさん | StackOverflow で上位0.01%に食い込み凄腕 ブログ |
10 | Andrew Lockさん | Microsoft MVP.主にASP.NET Coreに注力している ブログ |
11 | Joydip Kanjilalさん | ブログにHow to 的な内容の記事が多い。比較的に新しい技術のものが多いので、助かる。 |
類似した情報が掲載されているサイト
本記事を公開後に似たまとめを発見した。更新が止まっているが、さらに情報を集めたい人の役に立つ(?)かもしれないので掲載しておく。
No | 名前 | 備考 |
---|---|---|
1 | .NET開発者がよく使うサイト、本当に使えるサイト【2016年度版】 | 2016年から更新されていない。 |
2 | tech.guitarrapc.cóm | 「わたしが C# を学ぶにあたって教わっている先達のサイトをまとめてみる(2016-04-25)」って記事に本記事と類似した内容が掲載されている。 |
開発関連
設計
アーキテクチャ
No | リンク | 説明 |
---|---|---|
1 | 一般的な Web アプリケーション アーキテクチャ | Microsoftの一般的な Web アプリケーション アーキテクチャに関する記事。 Nレイヤーアーキテクチャ、Clean Architectureに関する解説あり。 |
RESTful Web API
No | リンク | 説明 |
---|---|---|
1 | RESTful Web API の設計のベストプラクティス | MicrosoftのWeb API設計に関するベストプラクティス 。 |
2 | RESTful Web API のガイドライン | Microsoft REST API Guidelines |
DI(IoCコンテナ)について
.NETではDIコンテナが標準でサポートされるようになった。関連リンク
NO | リンク | 備考 |
---|---|---|
1 | Ioc Performance | 標準のDIコンテナーでは、速度要件を満たせない場合がある。 GithubにDIコンテナのパフォーマンス計測結果が掲載されているため、選定の際に参考になる。 |
オンラインコンパイラ
NO | リンク | 備考 |
---|---|---|
1 | Sharplab | SharpLabはC#/VB/F#コードをコンパイル/デコンパイルできる。 内部処理の解析に役立ち、URLを介してコード共有が可能である。 |
2 | .NET Fiddle | オンラインコンパイラでコードをオンラインで作成、実行、共有できる。 |
3 | Try.NET | Microsoft社のオンラインコンパイラ。ドキュメントはこちら。 |
コーディング
CodingGuideline(全般)
No | リンク | 備考 |
---|---|---|
1 | C#のコーディング規約 | MicrosoftのC#コーディングガイド |
2 | C# at Google Style Guide | GoogleのC#コーディングガイドライン 日本語版はこちらを参照 |
3 | C# Coding Guidelines and Practices - 2021 | VINCENT MAVERICK DURANOさんがまとめたガイドライン。避けるべき書き方/推奨する書き方の組み合わせが計35個記載されている。 |
4 | clean-code-dotnet | Clean Code実装例の.NETバージョン |
CodingGuideline(Web API)
No | リンク | 備考 |
---|---|---|
1 | Web API実装 | Microsoft Azure/アーキテクチャ/ベストプラクティスに記載されたWeb API実装のガイド |
IDEについて
Rider/ReSharper
実装の生産性を底上げするIDE (Rider)/ Visual Studioの拡張機能(ReSharper)の紹介です。
これらのツールは、実装中に「良くない実装」を検出して、「修正方法」を提案してくれる機能を持ちます。
バグを未然に防ぐことで生産性が向上します。
そのほかにも実装を支援する機能が充実しています。詳しくは下記を参照のこと。
No | リンク | 備考 |
---|---|---|
1 | JetBrains ReShaper | JetBrain ReShaperのページ |
2 | JetBrains Rider | JetBrain Riderのページ |
3 | SlideShare Riderはいいぞ | .NET Conf2019講演。Riderの凄さが語られている。 |
ライセンス形式が特殊で、年間サブスクリプションを購入すると、購入したバージョンの永久ライセンスを得ることができるらしい。下記を参照。
永久fallbackライセンス
コードスニペットについて
No | リンク | 備考 |
---|---|---|
1 | Visual Studio C#コードスニペット早見表 | Qiita記事 |
2 | C# コードスニペット | Microsoft ドキュメント |
よく使うショートカットについて
No | リンク | 備考 |
---|---|---|
1 | Visual Studio のショートカットに関するヒント | 生産性あがるショートカット |
ネーミング
No | リンク | 備考 |
---|---|---|
1 | プログラミングの変数・メソッドの命名でよく使う英単語まとめ | プログラミングでよく使われる英単語をまとめたカンニングペーパ的なサイト |
2 | プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ | ネーミングに役立つサイトへのリンクがまとめられている。 |
3 | Qiita:プログラミングでよく使う英単語のまとめ【随時更新】 | Qiitaのネーミングに利用する英単語のまとめの記事 |
4 | Qiita:Naming-名前付け- | Qiitaのネーミングの指針に関する記事 |
Dispose()について
No | リンク | 備考 |
---|---|---|
1 | C# のファイナライザ、Dispose() メソッド、IDisposable インターフェースについて | ファイナライザ、Dispose()についてのQuiita記事。違いの説明に便利。 |
2 | C# の Dispose を正しく実装する | ファイナライザ、Dispose()についてのQuiita記事。違いの説明に便利。 |
非同期プログラミング
No | リンク | 備考 |
---|---|---|
1 | 【C#】async awaitを用いた非同期処理-役立つサイトまとめ- | async awaitに役立つサイトをまとめた。 |
2 | Joe AlbahariによるC#でのスレッド化 | C#のスレッドに関してまとまっている |
データ形式
JSON
JSON.NET
Nuget上だとNewtonsoft.Jsonと表記される。
No | リンク | 備考 |
---|---|---|
1 | 公式ドキュメント | |
2 | JSONデータを作成/解析するには? | わかりやすい記事 |
3 | C# の Json.NET を理解する | Qiitaの記事。他のサイトであまり解説されていないLINQ to JSONも紹介されている。 |
CSV
Cinchoo ETL
No | リンク | 備考 |
---|---|---|
1 | Githubのページ | OSSの紹介、ドキュメント、StackOverFlowへのリンクが掲載されている。 |
ログ(テキスト)
No | リンク | 備考 |
---|---|---|
1 | 方法: ログ ファイルを開いて情報を追加する | OSSを使用しない場合、無難なのが.NET標準のStreamWriter StreamReaderでテキスト出力する方法。 |
2 | Serilog | ログの構造化に便利なOSS。 |
正規表現
No | リンク | 備考 |
---|---|---|
1 | .NETの正規表現 | Microsoft社の正規表現に関するページ。 .NETで正規表現を使用する際のトピックがまとめられている。 |
テスト
単体テスト
テストフレームワーク
xUnit、NUnit、MSTestの3つの選択肢があり、xUnitが人気である。下記記事を参考。
.Net 5 時代のテストフレームワーク比較
NUnit vs. XUnit vs. MSTest: Comparing Unit Testing Frameworks In C#
xUnit
No | リンク | 備考 |
---|---|---|
1 | xUnit公式ページ | |
2 | C#のテストフレームワークを MSTest から xUnit に乗り換えたい時にその理由を同僚に説明できるようにする | xUnitの良さをチームメンバーに説明するときの参考資料。 |
NUnit
No | リンク | 備考 |
---|---|---|
1 | NUnitドキュメント | 公式ドキュメント |
2 | NUnitのサンプル | 開発言語ごとに準備されている |
3 | Most Complete NUnit Unit Testing Framework Cheat Sheet | チートシート |
MSTest
No | リンク | 備考 |
---|---|---|
1 | チュートリアル: マネージド コードの単体テストを作成し、実行する | チュートリアル。 |
2 | 単体テストでの MSTest フレームワークの使用 | テストの目的別にMSTestが提供する機能を俯瞰するのに利用する。 |
3 | MsTestによるユニットテストの解説 | Visual Studioのバージョンが古いけどよく纏まっている。 |
Moq
No | リンク | 備考 |
---|---|---|
1 | moq: Quickstart | チュートリアル。 |
通信
No | リンク | 備考 |
---|---|---|
1 | ネットワーク プログラミング方法のトピック | Microsoft Doc ネットワークプログラミング方法のリンク一覧。 |
HTTP通信
クライアント評価用
No | リンク | 備考 |
---|---|---|
1 | WireMock.Net | HTTP APIの動作を簡単に模倣できるツール。モックサーバーとして使える。 |
2 | Playwright | E2Eテストを自動化するMicrosoftのOSS。Playwrightを紹介したスライドのリンクを貼る。 |
サーバー評価用
個人的には、Swaggerをオススメする。ASP.NET CoreだとSwagger/OpenAPIを標準でサポートしている。
自前でSwaggerを組み込む場合は下記のライブラリを用いる。
- Swashbuckle
-
NSwag
具体的な方法は下記が参考になる。
Swagger/OpenAPI を使用する ASP.NET Core Web API のドキュメント
Swaggerを用いずにやる場合は下記方法。
No | リンク | 備考 |
---|---|---|
1 | REST Client | Visual Studio Codeの拡張機能。 HTTP要求を送信し、Visual StudioCodeで応答を直接表示できる。 |
UI
No | リンク | 備考 |
---|---|---|
1 | UI オートメーションによる自動テスト | UI自動テスト機能。WPFをサポート |
ライセンス
No | リンク | 備考 |
---|---|---|
1 | たくさんあるオープンソースライセンスのそれぞれの特徴のまとめ | 製品開発にOSSは当たり前。 ライセンスの特徴を知るのに便利。 |