初心者用の記事ですがあまり深堀はしないので、どちらかと言うと他言語から C# を見に来た人向けかもしれません。
Web 界隈では有名なこれを C# で学んでいきます。Back-end の部分をやっていきます。爆速なので外部アプリケーションが必要な部分はスキップします。
IDE は Visual Studio 2019 を使います。 SDK は .NET Core 3.1 を使います。
kamranahmedse/developer-roadmap: Roadmap to becoming a web developer in 2019
日本語訳は Web Developer Roadmap 2018 が 2019 年版になっていたので比較してみる - Qiita にあります。
リンク先を見なくてもわかるように画像だけ持ってきました。
Roadmap
1. Pick a Language
- 説明: C# (.NET) です。
2. Practice what you learnt
- 説明: テンプレートが用意されているので、マウスクリックだけで学べます。
Visual Studio 2019 を起動して Create a new project
を選択します。
Console App (.NET Core)
を選択します。
適当な名前をつけて Create
を選択します。
こんな感じのプロジェクトが出来たら F5
か 緑色の再生ボタン
を押して実行します。
無事に Hello World!
が表示されました。コマンドラインアプリケーションは学び終わりました。爆速です。
3. Learn Package Manager
- 説明: GUI があるので、マウスクリックだけで学べます。
Tools > NuGet Package Manger > Manage NuGet Packages for Solution
を選択します。
Browse
タブから Install したい Package を選んで Install
を選択します。
Package Install が完了したらすぐに使えるようになります。 Uninstall や Update も GUI から可能です。パッケージマネージャーは学び終わりました。爆速です。
4. Standards and Best Practices
- 説明: C# は Microsoft が出している言語なので Microsoft 公式ドキュメント C# のコーディング規則 - C# プログラミング ガイド | Microsoft Docs が存在します。凄く長くて眠たくなるし、どちらかというと実践しながら学んでいくものなのでスキップします。
- 補足: なんか怪しいなと思ったら電球マークか
Ctrl + .
を押せば、これが正しいよということを教えてくれます。
5. Make and Distribute Some Package/Library
- 説明: NuGet Package を作るのは nuget.org のアカウントが必要なのでスキップします。作りたい人は .NET Standard NuGet パッケージの作成と公開 - Windows 上の Visual Studio | Microsoft Docs を参照してください。
6. Learn about Testing
- 説明: Unit Test を書きます。ようやくキーボードの出番です。
Solution menu > Add > New Project
を選択します。
xUnit Test Project (.NET Core)
を選択します。
適当な名前をつけて Create
を選択します。
Unit Test 用のプロジェクトとコードが作成されます。
Test1 method の中身を下のコードに書き換えます。 a と b が同じだったら成功というコードです。
[Fact]
public void Test1()
{
var a = 123;
var b = 123;
Assert.Equal(a, b);
}
右クリックメニューから Run Test(s)
を選択します。
Test Explorer が開いてテストが実行されます。無事に成功しました。 Unit Test は学び終わりました。爆速です。
7. Write Tests for the practical steps above
- 説明: 爆速すぎてテスト対象のコードがないのでスキップします。
8. Learn Relational Databases
- 説明: RDBMS を学ぶには RDBMS が必要なのでスキップします。
- 補足: C# では Entity Framework という ORM を使うことが一般的です。公式のドキュメントは少し難しいので Entity Framework - マイクロソフト系技術情報 Wiki のほうが見やすいです。もし生 SQL を書きたい場合や、パフォーマンスを重視する場合は Micro-ORM の StackExchange/Dapper: Dapper - a simple object mapper for .Net がおすすめです。
9. Practical Time
- 説明: ログインや CRUD を学ぶには RDBMS があったほうがよいのでスキップします。
10. Learn a Framework
- 説明: C# は .NET が全てなので使っていくうちに学んで行くとよいです。スキップします。
- 補足: .NET Core を学んでください。 .NET Framework は必要になったら学ぶ程度で OK です。今度の予定では .NET Framework は廃止になり、 .NET Core から引き継いだ .NET 5 というものが誕生します。
11. Practical Time
- 説明: #10 と同じなのでスキップします。
12. Learn a NoSQL Database
- 説明: NoSQL を学ぶには NoSQL が必要なのでスキップします。
13. Caching
- 説明: Cache を学ぶには Cache が必要なのでスキップします。
14. Creating RESTful APIs
- 説明: テンプレートが用意されているので、マウスクリックだけで学べます。
新しいプロジェクトを作る画面から ASP.NET Core Web Application
を選択します。
適当な名前をつけて Create
を選択します。
どのテンプレートにするか再度聞かれるので API
を選択します。
WeatherForecastController を開くと、ランダムな天気予報を GET で返してくれる Method が出来ています。 F5
か 緑色の再生ボタン
を押して実行します。
ブラウザが開いて無事に json 形式の天気予報が表示されました。 RESTful APIs は学び終わりました。爆速です。
補足: GET 以外もテンプレートがあります。
Solution menu > Add > Controller
を選択します。
API Controller with read/write actions
を選択します。
適当な名前をつけて Add
を選択します。
GET / POST / PUT / DELETE が出来上がっています。爆速です。
15-23
- 説明: 外部アプリケーションが必要だったり、概念説明が難しいのでスキップします。
Note
スキップします。
という Word を検索したら 12 件 Hit しました。 2019 年はもう終わってしまうので、 2020 年は爆速じゃないバージョンを一つづつ丁寧に解説したいです。