├── aspnetcore-developer-roadmap.png ├── aspnetcore-developer-roadmap.xmind ├── aspnetcore-developer-roadmap.ja.png ├── aspnetcore-developer-roadmap.ru.png ├── aspnetcore-developer-roadmap.uz.png ├── aspnetcore-developer-roadmap.ja.xmind ├── aspnetcore-developer-roadmap.ru.xmind ├── aspnetcore-developer-roadmap.uz.xmind ├── aspnetcore-developer-roadmap.zh-Hans.png ├── aspnetcore-developer-roadmap.zh-Hant.png ├── aspnetcore-developer-roadmap.zh-Hans.xmind ├── aspnetcore-developer-roadmap.zh-Hant.xmind ├── CONTRIBUTING.md ├── .github └── FUNDING.yml ├── ReadMe.ja.md ├── ReadMe-tr.md ├── ReadMe.zh-Hant.md ├── ReadMe.zh-Hans.md ├── ReadMe.md ├── ReadMe.uz.md └── ReadMe.ru.md /aspnetcore-developer-roadmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.png -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.xmind -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.ja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.ja.png -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.ru.png -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.uz.png -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.ja.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.ja.xmind -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.ru.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.ru.xmind -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.uz.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.uz.xmind -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.zh-Hans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.zh-Hans.png -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.zh-Hant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.zh-Hant.png -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.zh-Hans.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.zh-Hans.xmind -------------------------------------------------------------------------------- /aspnetcore-developer-roadmap.zh-Hant.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/HEAD/aspnetcore-developer-roadmap.zh-Hant.xmind -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contribution 2 | 3 | The roadmap is built using [xMind](https://www.xmind.net/). Project file can be found at `aspnetcore-developer-roadmap.xmind` file. To modify it, download and open xMind Zen from [here](https://www.xmind.net/download/), click **Open File** and choose `xmind` file with project. It will open the roadmap for you. Update it, upload and update the exported images from xMind in readme and create a PR. 4 | 5 | - Open a pull request with improvements 6 | - Discuss ideas in issues 7 | - Spread the word -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: MoienTajik 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # aspnetcore-developer-roadmap 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # ['https://www.buymeacoffee.com/MoienTajik'] 13 | -------------------------------------------------------------------------------- /ReadMe.ja.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core 開発者ロードマップ 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](#backers) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](#sponsors) 6 | 7 | - [英語 ReadMe](ReadMe.md) 8 | - [中国語繁体字 ReadMe](ReadMe.zh-Hant.md) 9 | - [中国語簡体字 ReadMe](ReadMe.zh-Hans.md) 10 | - [トルコ語 ReadMe](ReadMe-tr.md) 11 | - [日本語 ReadMe](ReadMe.ja.md) 12 | 13 | > 2022年に [ASP.NET Core](https://docs.microsoft.com/aspnet/core) の開発者になるためのロードマップ: 14 | 15 | ASP.NET Coreの開発者になるために、どのような道をたどり、どのようなライブラリを習得すればよいかを示した表を以下に掲載します。このチャートは、「ASP.NET Core開発者として次に何を学ぶべきか?」と私に尋ねる人へのヒントとして作りました。 16 | 17 | ## 注意事項 18 | 19 | > このロードマップの目的は、風景についてのアイデアを提供することです。このロードマップは、次に何を学ぶべきか迷ったときに、流行りのものを選ぶように勧めるのではなく、あなたを導いてくれるでしょう。あるツールが他のツールよりも適している理由を理解し、流行が必ずしもその仕事に最適であるとは限らないことを覚えておいてください。 20 | 21 | ## スターをください! :star: 22 | 23 | もし、このプロジェクトが気に入ったり、解決策を学ぶため、または始めるために使用している場合は、スターを付けてください。ありがとうございます! 24 | 25 | ## ロードマップ 26 | 27 | ![Roadmap](./aspnetcore-developer-roadmap.ja.png) 28 | 29 | ## リソース 30 | 31 | 1. 前提を学ぶ 32 | 33 | - [C#](https://www.pluralsight.com/paths/csharp) 34 | - [.NET 6](https://devblogs.microsoft.com/dotnet/announcing-net-6) 35 | - [Entity Framework](https://www.pluralsight.com/search?q=entity%20framework%20core) 36 | - [Dapper](https://github.com/StackExchange/Dapper) 37 | - [NHibernate](https://github.com/nhibernate/nhibernate-core) 38 | - [ASP.NET Core](https://www.pluralsight.com/search?q=asp.net%20core) 39 | - SQL 基礎知識 40 | 41 | 2. 一般的な開発技術 42 | 43 | - Gitを学び、GitHubでリポジトリを作って、あなたのコードを他の人とシェアする 44 | - HTTP(S) プロトコル、リクエストメソッド (GET, POST, PUT, PATCH, DELETE, OPTIONS) を知る 45 | - Googleや [Power Searching with Google](http://www.powersearchingwithgoogle.com) を使うことを恐れるなかれ 46 | - [dotnet CLI](https://docs.microsoft.com/dotnet/core/tools) を学ぶ 47 | - アルゴリズムやデータ構造に関する本を読む 48 | 49 | 3. ASP.NET Core 基礎知識 50 | 51 | - [MVC](https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-6.0) 52 | - [REST](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-6.0&tabs=visual-studio) 53 | - [Razor Pages](https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-6.0&tabs=visual-studio) 54 | - [Razor Components](https://docs.microsoft.com/en-us/aspnet/core/blazor/components/?view=aspnetcore-6.0) 55 | - [Middlewares](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-6.0) 56 | - [Filters & Attributes](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters?view=aspnetcore-6.0) 57 | - [Application Settings & Configurations](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0) 58 | - [Authentication](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/?view=aspnetcore-6.0) 59 | - [Authorization](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction?view=aspnetcore-6.0) 60 | - [IdentityServer](https://identityserver4.readthedocs.io/en/latest) 61 | - [Auth0](https://auth0.com/docs) 62 | - [OIDC](https://openid.net/connect) 63 | 64 | 4. SOLID 65 | 66 | - [単一責任の原則 / Single Responsibility Principle (SRP)](https://www.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle) 67 | - [オープン・クローズドの原則 / Open-Closed Principle (OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle) 68 | - [リスコフの置換原則 / Liskov Substitution Principle (LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) 69 | - [インターフェース分離の原則 / Interface Segregation Principle (ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle) 70 | - [依存関係逆転の原則 / Dependency Inversion Principle (DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles) 71 | 72 | 5. 依存性の注入 (DI) 73 | 74 | 1. DI コンテナ 75 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) 76 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 77 | - [Ninject](http://www.ninject.org) 78 | - [Castle Windsor](https://github.com/castleproject/Windsor) 79 | 80 | - [Simple Injector](https://github.com/simpleinjector/SimpleInjector) 81 | 2. [ライフサイクル](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection#service-lifetimes) 82 | 3. [Scrutor](https://github.com/khellang/Scrutor) 83 | 84 | 6. データベース 85 | 86 | 1. 関係データベース(RDB) 87 | 1. [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019) 88 | 2. [PostgreSQL](https://www.postgresql.org) 89 | 3. [MariaDB](https://mariadb.org) 90 | 4. [MySQL](https://www.mysql.com) 91 | 2. クラウドデータベース 92 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 93 | - [DynamoDB](https://aws.amazon.com/dynamodb) 94 | 3. 検索エンジン 95 | - [ElasticSearch](https://www.elastic.co) 96 | - [Solr](http://lucene.apache.org/solr) 97 | - [Sphinx](http://sphinxsearch.com) 98 | 4. NoSQL 99 | - [Redis](https://redis.io) 100 | - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app) 101 | - [Apache Cassandra](http://cassandra.apache.org) 102 | - [LiteDB](https://github.com/mbdavid/LiteDB) 103 | - [RavenDB](https://github.com/ravendb/ravendb) 104 | - [CouchDB](http://couchdb.apache.org) 105 | 106 | 7. キャッシュ 107 | 108 | 1. [キャッシュメモリ](https://docs.microsoft.com/aspnet/core/performance/caching/memory) 109 | 2. [分散キャッシュ](https://docs.microsoft.com/aspnet/core/performance/caching/distributed) 110 | 1. [Redis](https://redis.io/) 111 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 112 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 113 | 2. [Memcached](https://memcached.org) 114 | 3. Entity Framework セカンドレベルキャッシュ 115 | 1. [EFCoreSecondLevelCacheInterceptor](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 116 | 2. [EntityFrameworkCore.Cacheable](https://github.com/SteffenMangold/EntityFrameworkCore.Cacheable) 117 | 118 | 8. ロギング 119 | 120 | 1. ロギングフレームワーク 121 | - [Serilog](https://github.com/serilog/serilog) 122 | - [NLog](https://github.com/NLog/NLog) 123 | 2. ログ管理システム 124 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 125 | - [Sentry.io](http://sentry.io) 126 | - [Loggly.com](https://loggly.com) 127 | - [Elmah.io](http://elmah.io) 128 | 129 | 9. API クライアント & 通信 130 | 131 | 1. REST 132 | - [OData](https://devblogs.microsoft.com/odata/experimenting-with-odata-in-asp-net-core-3-1) 133 | - [Sieve](https://github.com/Biarity/Sieve) 134 | 2. [gRPC](https://docs.microsoft.com/en-us/aspnet/core/grpc) 135 | 3. GraphQL 136 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 137 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 138 | 139 | 10. リアルタイム通信 140 | 141 | - [SignalR](https://docs.microsoft.com/aspnet/core/signalr) 142 | - [WebSockets](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets) 143 | 144 | 11. オブジェクトマッピング 145 | 146 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 147 | - [Mapster](https://github.com/MapsterMapper/Mapster) 148 | - [ExpressMapper](http://expressmapper.org/) 149 | - [AgileMapper](https://github.com/agileobjects/AgileMapper) 150 | 151 | 12. タスクスケジューリング 152 | 153 | - [Background Service](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 154 | - [HangFire](https://github.com/HangfireIO/Hangfire) 155 | - [Quartz](https://github.com/quartznet/quartznet) 156 | - [Coravel](https://github.com/jamesmh/coravel) 157 | 158 | 13. テスト 159 | 160 | 1. 単体テスト (Unit Testing) 161 | 1. フレームワーク 162 | - [xUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test) 163 | - [NUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-nunit) 164 | - [MSTest](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest) 165 | 2. モック 166 | - [Moq](https://github.com/moq/moq4) 167 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 168 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 169 | 3. アサーション 170 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 171 | - [Shouldly](https://github.com/shouldly/shouldly) 172 | 2. 結合テスト (Integration Testing) 173 | - [WebApplicationFactory](https://docs.microsoft.com/aspnet/core/test/integration-tests) 174 | - [TestServer](https://koukia.ca/integration-testing-in-asp-net-core-2-0-51d14ede3968) 175 | 3. 振る舞いのテスト (Behavior Testing) 176 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 177 | - [BDDfy](https://github.com/TestStack/TestStack.BDDfy) 178 | - [LightBDD](https://github.com/LightBDD/LightBDD) 179 | 4. E2E テスト 180 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 181 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 182 | 183 | 14. マイクロサービス 184 | 185 | 1. メッセージブローカー 186 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 187 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 188 | - [ActiveMQ](https://github.com/apache/activemq) 189 | - [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview) 190 | - [NetMQ](https://github.com/zeromq/netmq) 191 | 2. メッセージバス 192 | - [MassTransit](https://github.com/MassTransit/MassTransit) 193 | - [NServiceBus](https://github.com/Particular/NServiceBus) 194 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 195 | - [CAP](https://github.com/dotnetcore/CAP) 196 | 3. API ゲートウェイ 197 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 198 | 4. コンテナ 199 | - [Docker](https://www.docker.com) 200 | 5. オーケストレーション 201 | - [Kubernetes](https://kubernetes.io) 202 | - [Docker Swarm](https://docs.docker.com/engine/swarm) 203 | 6. リバースプロキシ 204 | - [YARP](https://github.com/microsoft/reverse-proxy) 205 | 7. その他 206 | - [Orleans](https://github.com/dotnet/orleans) 207 | - [Steeltoe](https://steeltoe.io) 208 | - [Dapr](https://github.com/dapr/dapr) 209 | - [Tye](https://github.com/dotnet/tye) 210 | 211 | 15. CI/CD (継続的インテグレーション/継続的デリバリー) 212 | - [Github Actions](https://github.com/features/actions) 213 | - [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines) 214 | - [Travis CI](https://travis-ci.org) 215 | - [Jenkins](https://www.jenkins.io) 216 | - [Circle CI](https://circleci.com) 217 | - [TeamCity](https://www.jetbrains.com/teamcity) 218 | 219 | 16. デザインパターン 220 | 221 | - [CQRS](https://docs.microsoft.com/azure/architecture/patterns/cqrs) 222 | - [Decorator](https://www.dofactory.com/net/decorator-design-pattern) 223 | - [Strategy](https://www.dofactory.com/net/strategy-design-pattern) 224 | - [Builder](https://www.dofactory.com/net/builder-design-pattern) 225 | - [Singleton](https://www.dofactory.com/net/singleton-design-pattern) 226 | - [Facade](https://www.dofactory.com/net/facade-design-pattern) 227 | 228 | 17. クライアントライブラリ 229 | - [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) 230 | 231 | 18. テンプレートエンジン 232 | 233 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 234 | - [DotLiquid](https://github.com/dotliquid/dotliquid) 235 | - [Scriban](https://github.com/lunet-io/scriban) 236 | - [Fluid](https://github.com/sebastienros/fluid) 237 | 238 | 19. 知っておくと良いこと 239 | 240 | - [MediatR](https://github.com/jbogard/MediatR) 241 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 242 | - [Polly](https://github.com/App-vNext/Polly) 243 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 244 | - [NodaTime](https://github.com/nodatime/nodatime) 245 | - [GenFu](https://github.com/MisterJames/GenFu) 246 | - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) 247 | 248 | ## まとめ 249 | 250 | もし、このロードマップが改善の余地があると思うのであれば、是非、PRを作成して、更新やissueを提出してください。また、このロードマップを改善し続けますので、このリポジトリにスターを付けて再訪問してください。 251 | 252 | 参考 : [React Developer RoadMap](https://github.com/adam-golab/react-developer-roadmap) 253 | 254 | ## コントリビューション 255 | 256 | ロードマップは[xMind](https://www.xmind.net/)を使って構築されています。プロジェクトファイルは `aspnetcore-developer-roadmap.xmind` ファイルにあります (日本語の場合は`aspnetcore-developer-roadmap.ja.xmind` )。これを修正するには、[ここ](https://www.xmind.net/download/) から xMind Zen をダウンロードして開き、**Open File** をクリックして、プロジェクトと一緒に `xmind` ファイルを選択します。ロードマップが開かれます。それを更新し、xMind からエクスポートされた画像を readme にアップロードして更新し、PR を作成します。 257 | 258 | - 改善点をまとめたプルリクエストを開く 259 | - issueでアイデアを議論する 260 | - 情報を広める 261 | 262 | ## ライセンス 263 | 264 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) 265 | -------------------------------------------------------------------------------- /ReadMe-tr.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core Geliştirici Yol Haritası 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](#destekçiler) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](#sponsor) 6 | 7 | - [Yol Haritası](https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/master/aspnetcore-developer-roadmap.png) 8 | - [Basitleştirilmiş Çince'de beni oku](ReadMe.zh-Hans.md) 9 | - [Geleneksel Çince'de beni oku](ReadMe.zh-Hant.md) 10 | 11 | > 2022'de [ASP.NET Core](https://docs.microsoft.com/aspnet/core) geliştirici yol haritası: 12 | 13 | ASP.NET Core geliştiricisi olmak için izleyebileceğiniz yolları ve öğrenmek isteyeceğiniz kitaplıkları gösteren tabloyu aşağıda bulabilirsiniz. Bu çizelgeyi bana "Bir ASP.NET Core geliştiricisi olarak bundan sonra ne öğrenmeliyim?" diye soran herkese bir ipucu olarak hazırladım. 14 | 15 | ## Sorumluluk Kabul Edilmez 16 | 17 | > Bu çizelgenin amacı size yol haritası hakkında bir fikir vermektir. Yol haritası, bir sonraki adımda ne öğreneceğiniz konusunda kafanız karıştıysa sizi popüler ve trend olanı seçmeye teşvik etmek yerine size rehberlik edecektir. Bir aracın neden bazı durumlar için diğerinden daha uygun olduğuna dair bir fikir geliştirmelisiniz. Popüler ve trend araçlar, iş için her zaman en uygun anlamına gelmeyebilir. 18 | 19 | ## Yıldız Ver! :star: 20 | 21 | Bir şeyler öğrenmek veya takıldığınız problemi çözüme kavuşturmak için bu projeyi beğendiyseniz/kullanıyorsanız, lütfen ona bir yıldız verin. Teşekkürler! 22 | ## Yol Haritası 23 | 24 | ![Yol Haritası](./aspnetcore-developer-roadmap.png) 25 | 26 | ## Kaynaklar 27 | 28 | 1. Ön koşulları öğrenin 29 | 30 | - [C#](https://www.pluralsight.com/paths/csharp) 31 | - [.NET 6](https://devblogs.microsoft.com/dotnet/announcing-net-6) 32 | - [Entity Framework](https://www.pluralsight.com/search?q=entity%20framework%20core) 33 | - [Dapper](https://github.com/StackExchange/Dapper) 34 | - [NHibernate](https://github.com/nhibernate/nhibernate-core) 35 | - [ASP.NET Core](https://www.pluralsight.com/search?q=asp.net%20core) 36 | - SQL temel bilgiler 37 | 38 | 2. Genel Gelişim Becerileri 39 | 40 | - GIT öğrenin, GitHub'da birkaç depo oluşturun, kodunuzu başkalarıyla paylaşın 41 | - HTTP(S) protokolünü, istek yöntemlerini (GET, POST, PUT, PATCH, DELETE, OPTIONS) bilin 42 | - Google kullanmaktan korkmayın, [Google ile Güçlü Arama](http://www.powersearchingwithgoogle.com) 43 | - [dotnet CLI](https://docs.microsoft.com/dotnet/core/tools) öğrenin 44 | - Algoritmalar ve veri yapıları hakkında birkaç kitap okuyun 45 | 46 | 3. ASP.NET Core Temelleri 47 | 48 | - [MVC](https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-6.0) 49 | - [REST](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-6.0&tabs=visual-studio) 50 | - [Razor Sayfaları](https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-6.0&tabs=visual-studio) 51 | - [Razor Bileşenleri](https://docs.microsoft.com/en-us/aspnet/core/blazor/components/?view=aspnetcore-6.0) 52 | - [Ara Yazılımlar](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-6.0) 53 | - [Filtreler ve Özellikler](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters?view=aspnetcore-6.0) 54 | - [Uygulama Ayarları ve Konfigürasyonlar](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0) 55 | - [Kimlik Doğrulama](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/?view=aspnetcore-6.0) 56 | - [Yetkilendirme](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction?view=aspnetcore-6.0) 57 | - [IdentityServer](https://identityserver4.readthedocs.io/en/latest) 58 | - [Auth0](https://auth0.com/docs) 59 | - [OIDC](https://openid.net/connect) 60 | 61 | 4. SOLID 62 | 63 | - [Tek Sorumluluk İlkesi (SRP)](https://www.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle) 64 | - [Açık-Kapalı Prensibi (OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle) 65 | - [Liskov Substitution Prensibi (LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) 66 | - [Arayüz Ayrımı Prensibi (ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle) 67 | - [Bağımlılık Tersine Çevirme Prensibi (DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles) 68 | 69 | 5. Bağımlılık Enjeksiyonu 70 | 71 | 1. DI Containers 72 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) 73 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 74 | - [Ninject](http://www.ninject.org) 75 | - [Castle Windsor](https://github.com/castleproject/Windsor) 76 | - [Simple Injector](https://github.com/simpleinjector/SimpleInjector) 77 | 2. [Life Cycles](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection#service-lifetimes) 78 | 3. [Scrutor](https://github.com/khellang/Scrutor) 79 | 80 | 6. Veritabanları 81 | 82 | 1. İlişkisel 83 | 1. [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019) 84 | 2. [PostgreSQL](https://www.postgresql.org) 85 | 3. [MariaDB](https://mariadb.org) 86 | 4. [MySQL](https://www.mysql.com) 87 | 2. Bulut Veritabanları 88 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 89 | - [DynamoDB](https://aws.amazon.com/dynamodb) 90 | 3. Arama Motorları 91 | - [ElasticSearch](https://www.elastic.co) 92 | - [Solr](http://lucene.apache.org/solr) 93 | - [Sphinx](http://sphinxsearch.com) 94 | 4. NoSQL 95 | - [Redis](https://redis.io) 96 | - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app) 97 | - [Apache Cassandra](http://cassandra.apache.org) 98 | - [LiteDB](https://github.com/mbdavid/LiteDB) 99 | - [RavenDB](https://github.com/ravendb/ravendb) 100 | - [CouchDB](http://couchdb.apache.org) 101 | 102 | 7. Önbelleğe Almak 103 | 104 | 1. [Bellek Önbelleği](https://docs.microsoft.com/aspnet/core/performance/caching/memory) 105 | 2. [Dağıtılmış Önbellek](https://docs.microsoft.com/aspnet/core/performance/caching/distributed) 106 | 1. [Redis](https://redis.io/) 107 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 108 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 109 | 2. [Memcached](https://memcached.org) 110 | 3. Entity Framework 2. Seviye Önbellek 111 | 1. [EFCoreSecondLevelCacheInterceptor](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 112 | 2. [EntityFrameworkCore.Cacheable](https://github.com/SteffenMangold/EntityFrameworkCore.Cacheable) 113 | 114 | 8. Logging 115 | 116 | 1. Log Frameworks 117 | - [Serilog](https://github.com/serilog/serilog) 118 | - [NLog](https://github.com/NLog/NLog) 119 | 2. Log Yönetim Sistemi 120 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 121 | - [Sentry.io](http://sentry.io) 122 | - [Loggly.com](https://loggly.com) 123 | - [Elmah.io](http://elmah.io) 124 | 125 | 9. API İstemcileri ve İletişim 126 | 127 | 1. REST 128 | - [OData](https://devblogs.microsoft.com/odata/experimenting-with-odata-in-asp-net-core-3-1) 129 | - [Sieve](https://github.com/Biarity/Sieve) 130 | 2. [gRPC](https://docs.microsoft.com/en-us/aspnet/core/grpc) 131 | 3. GraphQL 132 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 133 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 134 | 135 | 10. Gerçek Zamanlı İletişim 136 | 137 | - [SignalR](https://docs.microsoft.com/aspnet/core/signalr) 138 | - [WebSockets](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets) 139 | 140 | 11. Nesne Eşleme 141 | 142 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 143 | - [Mapster](https://github.com/MapsterMapper/Mapster) 144 | - [ExpressMapper](http://expressmapper.org/) 145 | - [AgileMapper](https://github.com/agileobjects/AgileMapper) 146 | 147 | 12. Görev Zamanlama 148 | 149 | - [Background Service](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 150 | - [HangFire](https://github.com/HangfireIO/Hangfire) 151 | - [Quartz](https://github.com/quartznet/quartznet) 152 | - [Coravel](https://github.com/jamesmh/coravel) 153 | 154 | 13. Test 155 | 156 | 1. Birim Testi 157 | 1. Frameworks 158 | - [xUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test) 159 | - [NUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-nunit) 160 | - [MSTest](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest) 161 | 2. Mocking 162 | - [Moq](https://github.com/moq/moq4) 163 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 164 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 165 | 3. Assertion 166 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 167 | - [Shouldly](https://github.com/shouldly/shouldly) 168 | 2. Entegrasyon Testi 169 | - [WebApplicationFactory](https://docs.microsoft.com/aspnet/core/test/integration-tests) 170 | - [TestServer](https://koukia.ca/integration-testing-in-asp-net-core-2-0-51d14ede3968) 171 | 3. Davranış Testi 172 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 173 | - [BDDfy](https://github.com/TestStack/TestStack.BDDfy) 174 | - [LightBDD](https://github.com/LightBDD/LightBDD) 175 | 4. E2E Testi 176 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 177 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 178 | 179 | 14. Mikro Hizmetler 180 | 181 | 1. Mesaj Aracısı 182 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 183 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 184 | - [ActiveMQ](https://github.com/apache/activemq) 185 | - [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview) 186 | - [NetMQ](https://github.com/zeromq/netmq) 187 | 2. Message-Bus 188 | - [MassTransit](https://github.com/MassTransit/MassTransit) 189 | - [NServiceBus](https://github.com/Particular/NServiceBus) 190 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 191 | - [CAP](https://github.com/dotnetcore/CAP) 192 | 3. API Geçiti 193 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 194 | 4. Containerization 195 | - [Docker](https://www.docker.com) 196 | 5. Orkestrasyon 197 | - [Kubernetes](https://kubernetes.io) 198 | - [Docker Swarm](https://docs.docker.com/engine/swarm) 199 | 6. Ters Proxy 200 | - [YARP](https://github.com/microsoft/reverse-proxy) 201 | 7. Diğer 202 | - [Orleans](https://github.com/dotnet/orleans) 203 | - [Steeltoe](https://steeltoe.io) 204 | - [Dapr](https://github.com/dapr/dapr) 205 | - [Tye](https://github.com/dotnet/tye) 206 | 207 | 15. Sürekli Entegrasyon ve Teslimat 208 | - [Github Actions](https://github.com/features/actions) 209 | - [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines) 210 | - [Travis CI](https://travis-ci.org) 211 | - [Jenkins](https://www.jenkins.io) 212 | - [Circle CI](https://circleci.com) 213 | - [TeamCity](https://www.jetbrains.com/teamcity) 214 | 215 | 16. Tasarım Desenleri 216 | 217 | - [CQRS](https://docs.microsoft.com/azure/architecture/patterns/cqrs) 218 | - [Decorator](https://www.dofactory.com/net/decorator-design-pattern) 219 | - [Strategy](https://www.dofactory.com/net/strategy-design-pattern) 220 | - [Builder](https://www.dofactory.com/net/builder-design-pattern) 221 | - [Singleton](https://www.dofactory.com/net/singleton-design-pattern) 222 | - [Facade](https://www.dofactory.com/net/facade-design-pattern) 223 | 224 | 17. İstemci Taraflı Kitaplıklar 225 | - [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) 226 | 227 | 18. Şablon Motorları 228 | 229 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 230 | - [DotLiquid](https://github.com/dotliquid/dotliquid) 231 | - [Scriban](https://github.com/lunet-io/scriban) 232 | - [Fluid](https://github.com/sebastienros/fluid) 233 | 234 | 19. Bunları da bilmen iyi olur 235 | 236 | - [MediatR](https://github.com/jbogard/MediatR) 237 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 238 | - [Polly](https://github.com/App-vNext/Polly) 239 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 240 | - [NodaTime](https://github.com/nodatime/nodatime) 241 | - [GenFu](https://github.com/MisterJames/GenFu) 242 | - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) 243 | 244 | ## Geliştirmek için 245 | 246 | Yol haritasının iyileştirilebileceğini düşünüyorsanız, lütfen güncellemeleri içeren bir PR açın ve sorunları gönderin. Ayrıca, yol haritasını geliştirmeye devam edeceğim bu yüzden tekrar ziyaret etmek için bu depoya yıldız ekleyebilirsiniz. 247 | 248 | Fikir : [React Geliştirici Yol Haritası](https://github.com/adam-golab/react-developer-roadmap) 249 | 250 | ## Katkı 251 | 252 | Katkıda bulunmak ister misiniz? Topluluk geri bildirimlerini ve katkılarını teşvik ediyoruz. Lütfen [katkıda bulunan yönergelerimize](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/CONTRIBUTING.md) uyun. 253 | 254 | ## Jenerik 255 | 256 | ### Destekçiler 257 | 258 | Tüm destekçilerimize teşekkür ederiz! 🙏 [[Destekçi ol!](https://opencollective.com/AspNetCore-Developer-Roadmap#backer)] 259 | 260 | 261 | 262 | ### Sponsor 263 | 264 | Sponsor olarak bu projeye destek olun. Logonuz, web sitenize bir bağlantı ile burada görünecektir.[[Sponsor ol!](https://opencollective.com/AspNetCore-Developer-Roadmap#sponsor)] 265 | 266 | 267 | 268 | 269 | 270 | ## Lisans 271 | 272 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) 273 | -------------------------------------------------------------------------------- /ReadMe.zh-Hant.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core 開發人員指南 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.md#backers) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.md#sponsors) 6 | 7 | - [英文 ReadMe](ReadMe.md) 8 | - [繁體中文 ReadMe](ReadMe.zh-Hant.md) 9 | - [简体中文 ReadMe](ReadMe.zh-Hans.md) 10 | - [土耳其文 ReadMe](ReadMe-tr.md) 11 | - [日文 ReadMe](ReadMe.ja.md) 12 | 13 | > 2023年 [ASP.NET Core](https://docs.microsoft.com/zh-tw/aspnet/core/) 開發人員指南: 14 | 15 | 以下您會看到一張圖表,說明可以採取的學習路徑以及要成為 ASP.NET Core 開發人員所要學習的函式庫。我將此圖表作為提示,給每個問我「作為 ASP.NET Core 開發人員,接下來應該學習什麼?」的人。 16 | 17 | ## 免責聲明 18 | 19 | > 這份指南的目的是為了給讀者心裡有個大概的輪廓。如果您對接下來要學習的內容感到困惑時,這張路線指南將引導您,而不是鼓勵您選擇時髦和前衛的東西。您應該逐漸理解為什麼一種工具比另一種工具更適合某些場景,並且記住時髦和前衛的東西並不總是意味著最適合完成工作。 20 | 21 | ## 請給一個星星! :star: 22 | 23 | 如果您喜歡或正在使用這個專案進行學習或開始您的解決方案,請給它一個星星。謝謝! 24 | 25 | ## 學習指南 26 | 27 | ![學習指南繁體中文版](./aspnetcore-developer-roadmap.zh-Hant.png) 28 | 29 | ## 學習資源 30 | 31 | 1. 一般開發技能 (General Development Skills) 32 | 33 | - 學習 [Git](https://git-scm.com/doc) 並且在 [GitHub](https://docs.github.com/en/get-started/quickstart) 中建立與分享您的專案 34 | - 掌握 [HTTP(S) 協定](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)與請求方法 (例如 [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET)、[POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)、[PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT)、[PATCH](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH)、[DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/DELETE)、[OPTIONS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS) 等) 35 | - 什麼是 [TLS](https://www.cloudflare.com/zh-tw/learning/ssl/transport-layer-security-tls/)? 36 | - 什麼是 [SSL](https://www.cloudflare.com/zh-tw/learning/ssl/what-is-ssl/)? 37 | - 不要害怕使用 [Google 搜尋技巧](http://www.powersearchingwithgoogle.com) 38 | - 開始使用 [ChatGPT](https://chat.openai.com/chat) 39 | - [閱讀一些關於演算法和資料結構的書籍](https://www.tenlong.com.tw/categories/algorithms-data-structures) 40 | 41 | 2. C# 42 | 43 | - [C#](https://www.pluralsight.com/paths/c-10) 44 | - [.NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7) 45 | - 學習 [.NET CLI](https://learn.microsoft.com/zh-tw/dotnet/core/tools/) 46 | 47 | 3. SQL 基礎知識 (SQL Fundamentals) 48 | 49 | - [Pluralsight 學習路徑:從 SQL Server 使用 T-SQL 查詢資料](https://www.pluralsight.com/paths/querying-data-with-t-sql-from-sql-server) 50 | 51 | 4. ASP.NET Core 基礎 (ASP.NET Core Basics) 52 | 53 | - [MVC](https://docs.microsoft.com/zh-tw/aspnet/core/mvc/overview) 54 | - [REST](https://docs.microsoft.com/zh-tw/aspnet/core/tutorials/first-web-api) 55 | - [Application Settings & Configurations](https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/configuration) 56 | - [Middlewares](https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/middleware/) 57 | - [Filters & Attributes](https://docs.microsoft.com/zh-tw/aspnet/core/mvc/controllers/filters) 58 | - [Authentication](https://docs.microsoft.com/zh-tw/aspnet/core/security/authentication/) 59 | - [Authorization](https://docs.microsoft.com/zh-tw/aspnet/core/security/authorization/introduction) 60 | - [IdentityServer](https://identityserver4.readthedocs.io/en/latest) 61 | - [OpenIddict](https://github.com/openiddict/openiddict-core) 62 | - [Auth0](https://auth0.com/docs) 63 | - [OIDC](https://openid.net/connect) 64 | - [Razor Pages](https://docs.microsoft.com/zh-tw/aspnet/core/razor-pages/) 65 | - [Razor Components](https://docs.microsoft.com/zh-tw/aspnet/core/blazor/components/) 66 | - 教學課程 67 | - [Pluralsight 學習路徑:ASP.NET Core 6](https://www.pluralsight.com/paths/aspnet-core-6) 68 | - [Pluralsight 學習路徑:ASP.NET Core 6 Web API](https://www.pluralsight.com/paths/aspnet-core-6-web-api) 69 | 70 | 5. SOLID 71 | 72 | - [單一職責原則(SRP)](https://www.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle) 73 | - [開放封閉原則(OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle) 74 | - [里氏替換原則(LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) 75 | - [介面隔離原則(ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle) 76 | - [依賴反轉原則(DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles) 77 | 78 | 6. 物件關聯對應 (ORM) 79 | 80 | - [Entity Framework Core](https://learn.microsoft.com/zh-tw/ef/core/) 81 | - 教學課程 82 | - [Pluralsight 學習路徑:EF Core 6](https://www.pluralsight.com/paths/ef-core-6) 83 | - [Dapper](https://github.com/StackExchange/Dapper) 84 | - [RepoDB](https://github.com/mikependon/RepoDB) 85 | 86 | 7. 相依注入 (Dependency Injection) 87 | 88 | 1. 注入容器 89 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/dependency-injection) 90 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 91 | - [Ninject](http://www.ninject.org) 92 | - [Castle Windsor](https://github.com/castleproject/Windsor) 93 | - [Simple Injector](https://github.com/simpleinjector/SimpleInjector) 94 | 2. [生命週期](https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/dependency-injection#service-lifetimes) 95 | 3. [Scrutor](https://github.com/khellang/Scrutor) 96 | 97 | 8. 資料庫 (Databases) 98 | 99 | 1. 關聯式 100 | - [SQL Server](https://www.microsoft.com/zh-tw/sql-server/sql-server-2022) 101 | - [PostgreSQL](https://www.postgresql.org) 102 | - [MariaDB](https://mariadb.org) 103 | - [MySQL](https://www.mysql.com) 104 | 2. 搜尋引擎 105 | - [ElasticSearch](https://www.elastic.co) 106 | - [Solr](http://lucene.apache.org/solr) 107 | - [Sphinx](http://sphinxsearch.com) 108 | 3. NoSQL 109 | - 落地 110 | - [Redis](https://redis.io) 111 | - [MongoDB](https://docs.microsoft.com/zh-tw/aspnet/core/tutorials/first-mongo-app) 112 | - [Apache Cassandra](http://cassandra.apache.org) 113 | - [LiteDB](https://github.com/mbdavid/LiteDB) 114 | - [RavenDB](https://github.com/ravendb/ravendb) 115 | - [CouchDB](http://couchdb.apache.org) 116 | - 雲端 117 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 118 | - [DynamoDB](https://aws.amazon.com/dynamodb) 119 | 120 | 9. 快取 (Caching) 121 | 122 | - [記憶體快取](https://docs.microsoft.com/zh-tw/aspnet/core/performance/caching/memory) 123 | - [分散式快取](https://docs.microsoft.com/zh-tw/aspnet/core/performance/caching/distributed) 124 | 1. [Redis](https://redis.io/) 125 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 126 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 127 | 2. [Memcached](https://memcached.org) 128 | - 應用程式層級 129 | - [回應快取](https://learn.microsoft.com/zh-tw/aspnet/core/performance/caching/response) 130 | - [輸出快取](https://learn.microsoft.com/zh-tw/aspnet/core/performance/caching/output?source=recommendations) 131 | - [Entity Framework 第二層快取](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 132 | 133 | 10. 日誌框架 (Log Frameworks) 134 | 135 | - [Serilog](https://github.com/serilog/serilog) 136 | - [NLog](https://github.com/NLog/NLog) 137 | 138 | 11. API 用戶端及通訊 (API Clients & Communications) 139 | 140 | 1. REST 141 | - [Sieve](https://github.com/Biarity/Sieve) 142 | - [OData](https://learn.microsoft.com/zh-tw/odata/webapi/first-odata-api) 143 | - [REPR (Request EndPoint Response) Pattern](https://ardalis.com/mvc-controllers-are-dinosaurs-embrace-api-endpoints/) 144 | - [Minimal APIs](https://learn.microsoft.com/zh-tw/aspnet/core/fundamentals/minimal-apis/overview) 145 | - [Fast Endpoints](https://github.com/FastEndpoints/FastEndpoints) 146 | - [Ardalis.Endpoints](https://github.com/ardalis/ApiEndpoints) 147 | 2. [gRPC](https://docs.microsoft.com/zh-tw/aspnet/core/grpc) 148 | 3. GraphQL 149 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 150 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 151 | 152 | 12. 即時通訊 153 | 154 | - [SignalR](https://docs.microsoft.com/zh-tw/aspnet/core/signalr/introduction) 155 | - [WebSockets](https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/websockets) 156 | 157 | 13. 物件對應 (Object Mapping) 158 | 159 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 160 | - [Mapster](https://github.com/MapsterMapper/Mapster) 161 | - [ExpressMapper](http://expressmapper.org/) 162 | - [AgileMapper](https://github.com/agileobjects/AgileMapper) 163 | 164 | 14. 背景工作排程 (Background Task Scheduler) 165 | 166 | - [Native BackgroundService](https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/host/hosted-services) 167 | - [HangFire](https://github.com/HangfireIO/Hangfire) 168 | - [Quartz](https://github.com/quartznet/quartznet) 169 | - [Coravel](https://github.com/jamesmh/coravel) 170 | 171 | 15. 測試 (Testing) 172 | 173 | 1. 單元測試 174 | - 框架 175 | - [xUnit](https://learn.microsoft.com/zh-tw/dotnet/core/testing/unit-testing-with-dotnet-test) 176 | - [NUnit](https://learn.microsoft.com/zh-tw/dotnet/core/testing/unit-testing-with-nunit) 177 | - [MSTest](https://learn.microsoft.com/zh-tw/dotnet/core/testing/unit-testing-with-mstest) 178 | - 模擬 179 | - [Moq](https://github.com/moq/moq4) 180 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 181 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 182 | - 判斷 183 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 184 | - [Shouldly](https://github.com/shouldly/shouldly) 185 | - 假資料產生器 186 | - [Bogus](https://github.com/bchavez/Bogus) 187 | - [AutoFixture](https://github.com/AutoFixture/AutoFixture) 188 | - [GenFu](https://github.com/MisterJames/GenFu) 189 | 2. 整合測試 190 | - [WebApplicationFactory](https://learn.microsoft.com/zh-tw/aspnet/core/test/integration-tests) 191 | - [TestServer](https://koukia.ca/integration-testing-in-asp-net-core-2-0-51d14ede3968) 192 | 3. 快照測試 193 | - [Verify](https://github.com/VerifyTests/Verify) 194 | 4. 行為測試 195 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 196 | - [BDDfy](https://github.com/TestStack/TestStack.BDDfy) 197 | - [LightBDD](https://github.com/LightBDD/LightBDD) 198 | 5. 端對端測試 199 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 200 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 201 | 6. 效能測試 202 | - [K6](https://github.com/grafana/k6) 203 | - [JMeter](https://github.com/apache/jmeter) 204 | - [Crank](https://github.com/dotnet/crank) 205 | - [Bombardier](https://github.com/codesenberg/bombardier) 206 | 207 | 16. 微服務 (Microservices) 208 | 209 | 1. 訊息代理人 210 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 211 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 212 | - [ActiveMQ](https://github.com/apache/activemq) 213 | - [Azure Service Bus](https://learn.microsoft.com/zh-tw/azure/service-bus-messaging/service-bus-messaging-overview) 214 | - [NetMQ](https://github.com/zeromq/netmq) 215 | 2. 訊息匯流排 216 | - [MassTransit](https://github.com/MassTransit/MassTransit) 217 | - [NServiceBus](https://github.com/Particular/NServiceBus) 218 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 219 | - [CAP](https://github.com/dotnetcore/CAP) 220 | 3. API 閘道 221 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 222 | - [YARP](https://github.com/microsoft/reverse-proxy) 223 | 4. 容器化 224 | - [Docker](https://www.docker.com) 225 | 5. 協調流程 226 | - [Kubernetes](https://kubernetes.io) 227 | - [Rancher](https://github.com/rancher/rancher) 228 | - [Kubectl](https://kubernetes.io/docs/reference/kubectl) 229 | - [K9s](https://github.com/derailed/k9s) 230 | - [Docker Swarm](https://docs.docker.com/engine/swarm) 231 | 6. 其他 232 | - [Orleans](https://github.com/dotnet/orleans) 233 | - [Proto.Actor](https://github.com/asynkron/protoactor-dotnet) 234 | - [Steeltoe](https://steeltoe.io) 235 | - [Dapr](https://github.com/dapr/dapr) 236 | - [Tye](https://github.com/dotnet/tye) 237 | 238 | 17. 持續整合與部署 (Continuous Integration & Continuous Delivery) 239 | 240 | - [GitHub Actions](https://github.com/features/actions) 241 | - [Gitlab CI](https://docs.gitlab.com/ee/ci) 242 | - [Azure Pipelines](https://azure.microsoft.com/zh-tw/products/devops/pipelines/) 243 | - [Travis CI](https://travis-ci.org) 244 | - [Jenkins](https://www.jenkins.io) 245 | - [Circle CI](https://circleci.com) 246 | - [TeamCity](https://www.jetbrains.com/teamcity) 247 | 248 | 18. 設計模式 (Design Patterns) 249 | 250 | - 分類 251 | - [創建型模式](https://learn.microsoft.com/zh-tw/azure/architecture/patterns/cqrs) 252 | - [結構型模式](https://www.dofactory.com/net/decorator-design-pattern) 253 | - [行為型模式](https://www.dofactory.com/net/strategy-design-pattern) 254 | - 教學課程 255 | - [Pluralsight 學習路徑:C# 的設計模式](https://www.pluralsight.com/paths/design-patterns-in-c) 256 | 257 | 19. 監控/記錄/追蹤/警示 (Monitoring/Logging/Tracing/Alerting) 258 | 259 | - 監控 260 | - 地端 261 | - [Prometheus](https://github.com/prometheus/prometheus) 262 | - [Grafana](https://github.com/grafana/grafana) 263 | - 雲端 264 | - [Datadog](https://www.datadoghq.com) 265 | - 記錄 266 | - 地端 267 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 268 | - [Seq](https://datalust.co/seq) 269 | - 雲端 270 | - [Datadog](https://docs.datadoghq.com/logs) 271 | - 追蹤 272 | - 地端 273 | - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-dotnet) 274 | - [Jaeger](https://github.com/jaegertracing/jaeger) 275 | - [Zipkin](https://github.com/openzipkin/zipkin) 276 | - 雲端 277 | - [Datadog](https://docs.datadoghq.com/tracing) 278 | - 警示 279 | - 地端 280 | - [Zabbix](https://www.zabbix.com) 281 | - [Alertmanager](https://github.com/prometheus/alertmanager) 282 | - 雲端 283 | - [Datadog](https://docs.datadoghq.com/monitors) 284 | 285 | 20. 用戶端 .NET (Client-Side .NET) 286 | 287 | - 範本引擎 288 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 289 | - [DotLiquid](https://github.com/dotliquid/dotliquid) 290 | - [Scriban](https://github.com/lunet-io/scriban) 291 | - [Fluid](https://github.com/sebastienros/fluid) 292 | - 框架 293 | - [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) 294 | - [.NET MAUI](https://github.com/dotnet/maui) 295 | 296 | 21. 進一步學習 (Good to Know) 297 | 298 | - [MediatR](https://github.com/jbogard/MediatR) 299 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 300 | - [Polly](https://github.com/App-vNext/Polly) 301 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 302 | - [NodaTime](https://github.com/nodatime/nodatime) 303 | - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) 304 | - [Nuke](https://github.com/nuke-build/nuke) 305 | - [EF Core Bulk Extensions](https://github.com/borisdj/EFCore.BulkExtensions) 306 | 307 | ## 總結 (Wrap Up) 308 | 309 | 如果您認為本指南可以改進,請提交包含任何更新的PR或提交任何Issue。此外,我將會持續改進這個存放庫,因此您可以按下 star 這個存放庫以便於重新訪問。 310 | 311 | 靈感來源: [React Developer RoadMap](https://github.com/adam-golab/react-developer-roadmap) 312 | 313 | ## 貢獻 (Contribution) 314 | 315 | 想做點貢獻嗎?我們鼓勵社群回饋與貢獻。 316 | 317 | 本指南是使用 [xMind](https://www.xmind.net/) 來建構。繁體中文版專案檔案為`aspnetcore-developer-roadmap.zh-Hant.xmind`。要修改它,在[此處](https://www.xmind.net/download/)下載 xMind,點選 **Open File** 並選擇 `xmind` 檔案,它將為您開啟此指南,更新它之後,上傳和更新 `ReadMe.zh-Hant.md` 中的圖片並建立一個PR。 318 | 319 | - 修改後提交PR 320 | - 在Issues中討論問題 321 | - 推廣此專案 322 | 323 | ## 許可協議 (License) 324 | 325 | 創用 CC 授權條款
本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權. 326 | -------------------------------------------------------------------------------- /ReadMe.zh-Hans.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core开发者指南 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.md#backers) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.md#sponsors) 6 | 7 | - [英文 ReadMe](ReadMe.md) 8 | - [繁體中文 ReadMe](ReadMe.zh-Hant.md) 9 | - [简体中文 ReadMe](ReadMe.zh-Hans.md) 10 | - [土耳其文 ReadMe](ReadMe-tr.md) 11 | - [日文 ReadMe](ReadMe.ja.md) 12 | 13 | > 2024年 [ASP.NET Core](https://docs.microsoft.com/zh-cn/aspnet/core/) 开发人员指南: 14 | 15 | 以下您会看到一张图,说明可以采取的学习路径以及要成为ASP.NET Core开发人员所要学习的库。我将此图作为提示,给每个问我「作为ASP.NET Core 开发人员,接下来应该学习什么?」的人。 16 | 17 | ## 免责声明 18 | 19 | > 这份指南的目的是为了给读者心里有个大概的轮廓。如果您对接下来要学习的内容感到困惑时,这张路线指南将引导您,而不是鼓励您选择时髦和前卫的东西。您应该逐渐理解为什么一种工具比另一种工具更适合某些场景,并且记住时髦和前卫的东西并不总是意味着最适合完成工作。 20 | 21 | ## 请给一个星星! :star: 22 | 23 | 如果您喜欢或正在使用这个项目进行学习或开始您的解决方案,请给它一个星星。谢谢! 24 | 25 | ## 路线图 26 | 27 | ![路线图](./aspnetcore-developer-roadmap.zh-Hans.png) 28 | 29 | ## 学习资源 30 | 31 | 1. 通用开发技能 32 | 33 | - 学习 [Git](https://git-scm.com/doc),在 [GitHub](https://docs.github.com/en/get-started/quickstart) 上创建几个仓库,与你的代码分享给其他人。 34 | - 了解 [HTTP(S) 协议](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)、请求方法([GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET)、[POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)、[PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT)、[PATCH](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH)、[DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/DELETE)、[OPTIONS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS) 等)。 35 | - 什么是 [TLS](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/)? 36 | - 什么是 [SSL](https://www.cloudflare.com/learning/ssl/what-is-ssl/)? 37 | - 不要害怕使用 Google,[Google 强力搜索](http://www.powersearchingwithgoogle.com)。 38 | - 开始使用 [ChatGPT](https://chat.openai.com/chat)。 39 | - 读几本关于算法和数据结构的书](https://www.interviewbit.com/blog/data-structures-and-algorithms-books)。 40 | 41 | 2. C# 42 | 43 | - [C# 12](https://www.pluralsight.com/paths/c-12) 44 | - [.NET 8](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8) 45 | - [.NET CLI](https://docs.microsoft.com/dotnet/core/tools) 46 | - [StyleCop 规则](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/DOCUMENTATION.md) 47 | 48 | 3. SQL 基础知识 49 | 50 | - 教程 📚 51 | - [Pluralsight 学习路径:使用 T-SQL 查询 SQL Server 数据](https://www.pluralsight.com/paths/querying-data-with-t-sql-from-sql-server) 52 | 53 | 4. ASP.NET Core 基础 54 | 55 | - [MVC](https://docs.microsoft.com/en-us/aspnet/core/mvc/overview) 56 | - [Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis) 57 | - [REST](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api) 58 | - [Application Settings & Configurations](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration) 59 | - [Middlewares](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware) 60 | - [Filters & Attributes](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters) 61 | - [Authentication](https://docs.microsoft.com/en-us/aspnet/core/security/authentication) 62 | - [Authorization](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction) 63 | - [IdentityServer](https://identityserver4.readthedocs.io/en/latest) 64 | - [Duende IdentityServer](https://duendesoftware.com) 65 | - [OpenIddict](https://github.com/openiddict/openiddict-core) 66 | - [Auth0](https://auth0.com/docs) 67 | - [OIDC](https://openid.net/connect) 68 | - [Razor Pages](https://docs.microsoft.com/en-us/aspnet/core/razor-pages) 69 | - [Razor Components](https://docs.microsoft.com/en-us/aspnet/core/blazor/components) 70 | - 教程 📚 71 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 72 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 73 | 74 | 5. 五个面向对象设计原则(SOLID): 75 | 76 | - [Single Responsibility Principle (SRP)](https://www.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle) 77 | - [Open-Closed Principle (OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle) 78 | - [Liskov Substitution Principle (LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) 79 | - [Interface Segregation Principle (ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle) 80 | - [Dependency Inversion Principle (DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles) 81 | 82 | 6. 面向对象关系映射(ORM) 83 | 84 | - [Entity Framework Core](https://learn.microsoft.com/en-us/ef/core) 85 | - 教程 📚 86 | - [From Zero to Hero: Entity Framework Core in .NET](https://dometrain.com/course/from-zero-to-hero-entity-framework-core-in-dotnet/?affcode=1115529_alq6yoqt) 87 | - [Dapper](https://github.com/StackExchange/Dapper) 88 | 89 | 7. 依赖注入(Dependency Injection) 90 | 91 | 1. 依赖注入容器(DI Containers) 92 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) 93 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 94 | 2. 依赖注入开源库:[Scrutor](https://github.com/khellang/Scrutor) 95 | 96 | - 教程📚 97 | - [From Zero to Hero: Dependency Injection in .NET](https://dometrain.com/course/from-zero-to-hero-dependency-injection-in-net/?affcode=1115529_alq6yoqt) 98 | 99 | 8. 数据库(Databases) 100 | 101 | 1. 关系数据库(Relational) 102 | - [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019) 103 | - [PostgreSQL](https://www.postgresql.org) 104 | - [MariaDB](https://mariadb.org) 105 | - [MySQL](https://www.mysql.com) 106 | 2. 搜索引擎(Search Engines) 107 | - [ElasticSearch](https://www.elastic.co) 108 | - [Meilisearch](https://github.com/meilisearch/meilisearch) 109 | - [ManticoreSearch](https://github.com/manticoresoftware/manticoresearch) 110 | - [OpenSearch](https://github.com/opensearch-project/OpenSearch) 111 | 3. NoSQL 112 | - 本地部署(On-Premises) 113 | - [Redis](https://redis.io) 114 | - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app) 115 | - [Apache Cassandra](http://cassandra.apache.org) 116 | - [LiteDB](https://github.com/mbdavid/LiteDB) 117 | - [RavenDB](https://github.com/ravendb/ravendb) 118 | - [CouchDB](http://couchdb.apache.org) 119 | - 云部署(Cloud) 120 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 121 | - [DynamoDB](https://aws.amazon.com/dynamodb) 122 | 123 | 9. 缓存(Caching) 124 | 125 | - 内存缓存 [(Memory Cache)](https://docs.microsoft.com/aspnet/core/performance/caching/memory) 126 | - 分布式缓存 [(Distributed Cache)](https://docs.microsoft.com/aspnet/core/performance/caching/distributed) 127 | 1. [Redis](https://redis.io/) 128 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 129 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 130 | 2. [Memcached](https://memcached.org) 131 | - 应用程序级缓存 (Application-Level) 132 | - 响应缓存(Response Caching) 133 | 1. [Built in](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/response) 134 | 2. [Marvin.Cache.Headers](https://github.com/KevinDockx/HttpCacheHeaders) 135 | - 输出缓存[(Output Caching)](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/output?source=recommendations) 136 | - Entity Framework 二级缓存[(Entity Framework 2nd Level Cache)](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 137 | 138 | 10. 日志框架(Log Frameworks) 139 | 140 | - [Serilog](https://github.com/serilog/serilog) 141 | - [NLog](https://github.com/NLog/NLog) 142 | - 教程 📚 143 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 144 | 145 | 11. API 客户端与通信(API Clients & Communications) 146 | 147 | 1. REST 148 | - [Gridify](https://github.com/alirezanet/Gridify) 149 | - [OData](https://learn.microsoft.com/en-us/odata/webapi/first-odata-api) 150 | - REPR 模式([REPR Pattern](https://ardalis.com/mvc-controllers-are-dinosaurs-embrace-api-endpoints/)) 151 | - [Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/overview) 152 | - [Ardalis.Endpoints](https://github.com/ardalis/ApiEndpoints) 153 | - [Fast Endpoints](https://github.com/FastEndpoints/FastEndpoints) 154 | 2. [gRPC](https://docs.microsoft.com/en-us/aspnet/core/grpc) 155 | 3. GraphQL 156 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 157 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 158 | 159 | - 教程 📚 160 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 161 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 162 | - [From Zero to Hero: gRPC in .NET](https://dometrain.com/course/from-zero-to-hero-grpc-in-dotnet/?affcode=1115529_alq6yoqt) 163 | 164 | 12. 实时通信(Real-Time Communication) 165 | 166 | - [SignalR](https://docs.microsoft.com/aspnet/core/signalr) 167 | - [WebSockets](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets) 168 | 169 | 13. 对象映射(Object Mapping) 170 | 171 | - [Manual mapping!](https://www.youtube.com/watch?v=U8gSdQN2jWI) 172 | - [Mapperly](https://github.com/riok/mapperly) 173 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 174 | 175 | 14. 后台任务调度器(Background Task Scheduler) 176 | 177 | - [Native BackgroundService](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 178 | - [HangFire](https://github.com/HangfireIO/Hangfire) 179 | - [Quartz](https://github.com/quartznet/quartznet) 180 | - [Coravel](https://github.com/jamesmh/coravel) 181 | 182 | 15. 测试(Testing) 183 | 184 | 1. 单元测试(Unit Testing) 185 | - 框架(Frameworks) 186 | - [xUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test) 187 | - [NUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-nunit) 188 | - [MSTest](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest) 189 | - 模拟(Mocking) 190 | - [Moq](https://github.com/moq/moq4) 191 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 192 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 193 | - 断言(Assertion) 194 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 195 | - 假数据生成器(Fake Data Generators) 196 | - [Bogus](https://github.com/bchavez/Bogus) 197 | - [AutoFixture](https://github.com/AutoFixture/AutoFixture) 198 | 2. 集成测试(Integration Testing) 199 | - [WebApplicationFactory](https://docs.microsoft.com/aspnet/core/test/integration-tests) 200 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 201 | - [Test Containers](https://github.com/testcontainers/testcontainers-dotnet) 202 | - [Respwan](https://github.com/jbogard/Respawn) 203 | 3. 快照测试(Snapshot Testing) 204 | - [Verify](https://github.com/VerifyTests/Verify) 205 | 4. 行为测试(Behavior Testing) 206 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 207 | 5. 端到端测试(E2E Testing) 208 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 209 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 210 | 6. 性能测试(Performance Testing) 211 | - [K6](https://github.com/grafana/k6) 212 | - [JMeter](https://github.com/apache/jmeter) 213 | - [Crank](https://github.com/dotnet/crank) 214 | - [Bombardier](https://github.com/codesenberg/bombardier) 215 | 7. 架构测试(Architecture Testing) 216 | - [ArchUnitNET](https://github.com/TNG/ArchUnitNET) 217 | - [NetArchTest](https://github.com/BenMorris/NetArchTest) 218 | 219 | - 教程 📚 220 | - [From Zero to Hero: Unit testing in C#](https://dometrain.com/course/from-zero-to-hero-unit-testing-in-c/?affcode=1115529_alq6yoqt) 221 | - [From Zero to Hero: Integration testing in ASP.NET Core](https://dometrain.com/course/from-zero-to-hero-integration-testing-in-asp-net-core/?affcode=1115529_alq6yoqt) 222 | - [From Zero to Hero: Test-Driven Development in C#](https://dometrain.com/course/from-zero-to-hero-test-driven-development-tdd-csharp/?affcode=1115529_alq6yoqt) 223 | 224 | 16. 微服务(Microservices) 225 | 226 | 1. 消息代理(Message-Broker) 227 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 228 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 229 | - [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging) 230 | - [Amazon SQS](https://aws.amazon.com/sqs) 231 | - [NetMQ](https://github.com/zeromq/netmq) 232 | 2. 消息总线(Message-Bus) 233 | - [MassTransit](https://github.com/MassTransit/MassTransit) 234 | - [NServiceBus](https://github.com/Particular/NServiceBus) 235 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 236 | 3. API 网关(API Gateway) 237 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 238 | - [YARP](https://github.com/microsoft/reverse-proxy) 239 | 4. 容器化(Containerization) 240 | - [Docker](https://www.docker.com) 241 | - [Podman](https://podman.io) 242 | 5. 编排(Orchestration) 243 | - [Kubernetes](https://kubernetes.io) 244 | - [Rancher](https://github.com/rancher/rancher) 245 | - [Kubectl](https://kubernetes.io/docs/reference/kubectl) 246 | - [K9s](https://github.com/derailed/k9s) 247 | 6. 其他(Other) 248 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 249 | - [Orleans](https://github.com/dotnet/orleans) 250 | - [Proto.Actor](https://github.com/asynkron/protoactor-dotnet) 251 | - [Dapr](https://github.com/dapr/dapr) 252 | 253 | - 教程 📚 254 | - [Getting Started: Microservices Architecture](https://dometrain.com/course/getting-started-microservices-architecture/?affcode=1115529_alq6yoqt) 255 | - [Getting Started: Solution Architecture](https://dometrain.com/course/getting-started-solution-architecture/?affcode=1115529_alq6yoqt) 256 | - [From Zero to Hero: Docker for Developers](https://dometrain.com/course/from-zero-to-hero-docker/?affcode=1115529_alq6yoqt) 257 | 258 | 17. 持续集成与交付(自动化) 259 | 260 | - [GitHub Actions](https://github.com/features/actions) 261 | - [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines) 262 | - [GitLab CI/CD](https://docs.gitlab.com/ee/ci) 263 | - [TeamCity CI/CD](https://www.jetbrains.com/teamcity) 264 | 265 | 18. 设计模式(Design Patterns) 266 | 267 | - 分类 268 | - [创建型(Creational)](https://refactoring.guru/design-patterns/creational-patterns) 269 | - [结构型(Structural)](https://refactoring.guru/design-patterns/structural-patterns) 270 | - [行为型(Behavioral)](https://refactoring.guru/design-patterns/behavioral-patterns) 271 | - 教程 📚 272 | - [Pluralsight Learning Path: Design Patterns in C#](https://www.pluralsight.com/paths/design-patterns-in-c) 273 | 274 | 19. 监控/日志记录/追踪/告警(Monitoring/Logging/Tracing/Alerting) 275 | 276 | - 监控(Monitoring) 277 | - 本地部署(On-Premises) 278 | - [Prometheus](https://github.com/prometheus/prometheus) 279 | - [Grafana](https://github.com/grafana/grafana) 280 | - 云部署(Cloud) 281 | - [Datadog](https://www.datadoghq.com) 282 | - 日志记录(Logging) 283 | - 本地部署(On-Premises) 284 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 285 | - [Seq](https://datalust.co/seq) 286 | - [Sentry.io](https://sentry.io/welcome/) 287 | - 云部署(Cloud) 288 | - [Datadog](https://docs.datadoghq.com/logs) 289 | - [Sentry.io](https://sentry.io/welcome/) 290 | - 教程 📚 291 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 292 | - 追踪(Tracing) 293 | - 本地部署(On-Premises) 294 | - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-dotnet) 295 | - [Jaeger](https://github.com/jaegertracing/jaeger) 296 | - [Zipkin](https://github.com/openzipkin/zipkin) 297 | - [Sentry.io](https://sentry.io/welcome/) 298 | - 云部署(Cloud) 299 | - [Datadog](https://docs.datadoghq.com/tracing) 300 | - [Sentry.io](https://sentry.io/welcome/) 301 | - 告警(Alerting) 302 | - 本地部署(On-Premises) 303 | - [Zabbix](https://www.zabbix.com) 304 | - [Alertmanager](https://github.com/prometheus/alertmanager) 305 | - 云部署(Cloud) 306 | - [Datadog](https://docs.datadoghq.com/monitors) 307 | 308 | 20. 客户端 .NET(Client-Side .NET) 309 | 310 | - 模板引擎(Template Engines) 311 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 312 | - [Scriban](https://github.com/lunet-io/scriban) 313 | - [Fluid](https://github.com/sebastienros/fluid) 314 | - 框架(Frameworks) 315 | - [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) 316 | - [.NET MAUI](https://github.com/dotnet/maui) 317 | 318 | 21. 实用库 319 | 320 | - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) 321 | - [MediatR](https://github.com/jbogard/MediatR) 322 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 323 | - [Polly](https://github.com/App-vNext/Polly) 324 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 325 | - [Distributed Lock](https://github.com/madelson/DistributedLock) 326 | - [EF Core Bulk Extensions](https://github.com/borisdj/EFCore.BulkExtensions) 327 | - [Nuke Build](https://github.com/nuke-build/nuke) 328 | - [Marten](https://github.com/JasperFx/marten) 329 | 330 | ## 总结 331 | 332 | 如果您认为本指南可以改进,请提交包含任何更新的PR或提交任何Issue。此外,我将会持续改进这个存放库,因此您可以按下 star 这个存放库以便于重新访问。 333 | 334 | 灵感来源: [React Developer RoadMap](https://github.com/adam-golab/react-developer-roadmap) 335 | 336 | ## 贡献 337 | 338 | 想做点贡献吗?我们鼓励社群回馈与贡献。 339 | 340 | 本指南是使用 [xMind](https://www.xmind.net/) 来建构。繁体中文版项目文件为`aspnetcore-developer-roadmap.zh-Hans.xmind`。要修改它,在[此处](https://www.xmind.net/download/)下载 xMind,点击 **Open File** 并选择 `xmind` 文件,它将为您打开此指南,更新它之后,上传和更新`ReadMe.zh-Hans.md`中的图片并创建一个PR。 341 | 342 | - 修改后提交PR 343 | - 在Issues中讨论问题 344 | - 推广此项目 345 | 346 | ## 赞助者 347 | 348 | ### 支持者 349 | 350 | 感谢所有支持者的支持! 🙏 [[成为支持者](https://opencollective.com/AspNetCore-Developer-Roadmap#backer)] 351 | 352 | 353 | 354 | ### 赞助商 355 | 356 | 通过成为赞助商来支持这个项目。您的标志将显示在这里,并链接到您的网站。[[成为赞助商](https://github.com/sponsors/MoienTajik)] 357 | 358 | 359 | 360 | ## 许可协议 361 | 362 | 创用 CC 授权条款
本著作系采用创用 CC 姓名标示-非商业性-相同方式分享 4.0 国际 授权条款授权. 363 | 364 | -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core Developer Roadmap 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](#backers) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](#sponsors) 6 | 7 | - [Read-me in Traditional Chinese](ReadMe.zh-Hant.md) 8 | - [Read-me in Simplified Chinese](ReadMe.zh-Hans.md) 9 | - [Read-me in Turkish](ReadMe-tr.md) 10 | - [Read-me in Japanese](ReadMe.ja.md) 11 | - [Read-me in Russian](ReadMe.ru.md) 12 | 13 | > Roadmap to becoming an [ASP.NET Core](https://docs.microsoft.com/aspnet/core) developer in 2025: 14 | 15 | Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become an ASP.NET Core developer. I made this chart as a tip for everyone who asks me, "What should I learn next as an ASP.NET Core developer?" 16 | 17 | ## Disclaimer 18 | 19 | > The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hip and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hip and trendy does not always mean best suited for the job. 20 | 21 | ## Give a Star! :star: 22 | 23 | If you like or are using this project to learn or start your solution, please give it a star. Thanks! 24 | 25 | ## Roadmap 26 | 27 | ![Roadmap](./aspnetcore-developer-roadmap.png) 28 | 29 | ## Resources 30 | 31 | 1. General Development Skills 32 | - Learn [Git](https://git-scm.com/doc), create a few repositories on [GitHub](https://docs.github.com/en/get-started/quickstart), share your code with other people 33 | - Know [HTTP(S) protocol](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview), request methods ([GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET), [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST), [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT), [PATCH](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH), [DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/DELETE), [OPTIONS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS), etc.) 34 | - What is [TLS](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/)? 35 | - What is [SSL](https://www.cloudflare.com/learning/ssl/what-is-ssl/)? 36 | - Don't be afraid of using Google, [Power Searching with Google](http://www.powersearchingwithgoogle.com) 37 | - Start using [ChatGPT](https://chat.openai.com/chat) 38 | - [Read a few books about algorithms and data structures](https://www.interviewbit.com/blog/data-structures-and-algorithms-books) 39 | 40 | 2. C# 41 | - [C#](https://www.pluralsight.com/paths/c-12) 42 | - [.NET 8](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8) 43 | - [.NET CLI](https://docs.microsoft.com/dotnet/core/tools) 44 | - [StyleCop rules](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/DOCUMENTATION.md) 45 | 46 | 3. SQL Fundamentals 47 | - Tutorials 📚 48 | - [Pluralsight Learning Path: Querying Data with T-SQL from SQL Server](https://www.pluralsight.com/paths/querying-data-with-t-sql-from-sql-server) 49 | 50 | 4. ASP.NET Core Basics 51 | - [MVC](https://docs.microsoft.com/en-us/aspnet/core/mvc/overview) 52 | - [Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis) 53 | - [REST](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api) 54 | - [Application Settings & Configurations](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration) 55 | - [Middlewares](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware) 56 | - [Filters & Attributes](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters) 57 | - [Background Tasks](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 58 | - [Authentication](https://docs.microsoft.com/en-us/aspnet/core/security/authentication) 59 | - [Authorization](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction) 60 | - [IdentityServer](https://identityserver4.readthedocs.io/en/latest) 61 | - [Duende IdentityServer](https://duendesoftware.com) 62 | - [OpenIddict](https://github.com/openiddict/openiddict-core) 63 | - [Auth0](https://auth0.com/docs) 64 | - [OIDC](https://openid.net/connect) 65 | - [Caching](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/overview) 66 | - [Razor Pages](https://docs.microsoft.com/en-us/aspnet/core/razor-pages) 67 | - [Razor Components](https://docs.microsoft.com/en-us/aspnet/core/blazor/components) 68 | - Tutorials 📚 69 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 70 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 71 | 72 | 5. SOLID 73 | - [Single Responsibility Principle (SRP)](https://www.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle) 74 | - [Open-Closed Principle (OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle) 75 | - [Liskov Substitution Principle (LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) 76 | - [Interface Segregation Principle (ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle) 77 | - [Dependency Inversion Principle (DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles) 78 | 79 | 6. ORM 80 | - [Entity Framework Core](https://learn.microsoft.com/en-us/ef/core) 81 | - Tutorials 📚 82 | - [From Zero to Hero: Entity Framework Core in .NET](https://dometrain.com/course/from-zero-to-hero-entity-framework-core-in-dotnet/?affcode=1115529_alq6yoqt) 83 | - [Dapper](https://github.com/StackExchange/Dapper) 84 | 85 | 7. Dependency Injection 86 | 1. DI Containers 87 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) 88 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 89 | 2. [Scrutor](https://github.com/khellang/Scrutor) 90 | - Tutorials 📚 91 | - [From Zero to Hero: Dependency Injection in .NET](https://dometrain.com/course/from-zero-to-hero-dependency-injection-in-net/?affcode=1115529_alq6yoqt) 92 | 93 | 8. Databases 94 | 1. Relational 95 | - [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019) 96 | - [PostgreSQL](https://www.postgresql.org) 97 | - [MariaDB](https://mariadb.org) 98 | - [MySQL](https://www.mysql.com) 99 | 2. Search Engines 100 | - [ElasticSearch](https://www.elastic.co) 101 | - [Meilisearch](https://github.com/meilisearch/meilisearch) 102 | - [ManticoreSearch](https://github.com/manticoresoftware/manticoresearch) 103 | - [OpenSearch](https://github.com/opensearch-project/OpenSearch) 104 | 3. NoSQL 105 | - On-Premises 106 | - [Redis](https://redis.io) 107 | - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app) 108 | - [Apache Cassandra](http://cassandra.apache.org) 109 | - [LiteDB](https://github.com/mbdavid/LiteDB) 110 | - [RavenDB](https://github.com/ravendb/ravendb) 111 | - [CouchDB](http://couchdb.apache.org) 112 | - Cloud 113 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 114 | - [DynamoDB](https://aws.amazon.com/dynamodb) 115 | 116 | 9. Caching 117 | - [Memory Cache](https://docs.microsoft.com/aspnet/core/performance/caching/memory) 118 | - [Distributed Cache](https://docs.microsoft.com/aspnet/core/performance/caching/distributed) 119 | 1. [Redis](https://redis.io/) 120 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 121 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 122 | 2. [Memcached](https://memcached.org) 123 | - Application-Level 124 | - Response Caching 125 | 1. [Built in](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/response) 126 | 2. [Marvin.Cache.Headers](https://github.com/KevinDockx/HttpCacheHeaders) 127 | - [Output Caching](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/output?source=recommendations) 128 | - [Entity Framework 2nd Level Cache](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 129 | 130 | 10. Log Frameworks 131 | - [Serilog](https://github.com/serilog/serilog) 132 | - [NLog](https://github.com/NLog/NLog) 133 | - Tutorials 📚 134 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 135 | 136 | 11. API Clients & Communications 137 | 1. REST 138 | - [Gridify](https://github.com/alirezanet/Gridify) 139 | - [OData](https://learn.microsoft.com/en-us/odata/webapi/first-odata-api) 140 | - [REPR Pattern](https://ardalis.com/mvc-controllers-are-dinosaurs-embrace-api-endpoints/) 141 | - [Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/overview) 142 | - [Ardalis.Endpoints](https://github.com/ardalis/ApiEndpoints) 143 | - [Fast Endpoints](https://github.com/FastEndpoints/FastEndpoints) 144 | 2. [gRPC](https://docs.microsoft.com/en-us/aspnet/core/grpc) 145 | 3. GraphQL 146 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 147 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 148 | - Tutorials 📚 149 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 150 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 151 | - [From Zero to Hero: gRPC in .NET](https://dometrain.com/course/from-zero-to-hero-grpc-in-dotnet/?affcode=1115529_alq6yoqt) 152 | 153 | 12. Real-Time Communication 154 | - [SignalR](https://docs.microsoft.com/aspnet/core/signalr) 155 | - [WebSockets](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets) 156 | 157 | 13. Object Mapping 158 | - [Manual mapping!](https://www.youtube.com/watch?v=U8gSdQN2jWI) 159 | - [Mapperly](https://github.com/riok/mapperly) 160 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 161 | 162 | 14. Background Task Scheduler 163 | - [Native BackgroundService](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 164 | - [HangFire](https://github.com/HangfireIO/Hangfire) 165 | - [Quartz](https://github.com/quartznet/quartznet) 166 | - [Coravel](https://github.com/jamesmh/coravel) 167 | 168 | 15. Testing 169 | 1. Unit Testing 170 | - Frameworks 171 | - [xUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test) 172 | - [NUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-nunit) 173 | - [MSTest](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest) 174 | - Mocking 175 | - [Moq](https://github.com/moq/moq4) 176 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 177 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 178 | - Assertion 179 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 180 | - Fake Data Generators 181 | - [Bogus](https://github.com/bchavez/Bogus) 182 | - [AutoFixture](https://github.com/AutoFixture/AutoFixture) 183 | 2. Integration Testing 184 | - [WebApplicationFactory](https://docs.microsoft.com/aspnet/core/test/integration-tests) 185 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 186 | - [Test Containers](https://github.com/testcontainers/testcontainers-dotnet) 187 | - [Respwan](https://github.com/jbogard/Respawn) 188 | 3. Snapshot Testing 189 | - [Verify](https://github.com/VerifyTests/Verify) 190 | 4. Behavior Testing 191 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 192 | 5. E2E Testing 193 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 194 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 195 | 6. Performance Testing 196 | - [K6](https://github.com/grafana/k6) 197 | - [JMeter](https://github.com/apache/jmeter) 198 | - [Crank](https://github.com/dotnet/crank) 199 | - [Bombardier](https://github.com/codesenberg/bombardier) 200 | 7. Architecture Testing 201 | - [ArchUnitNET](https://github.com/TNG/ArchUnitNET) 202 | - [NetArchTest](https://github.com/BenMorris/NetArchTest) 203 | - Tutorials 📚 204 | - [From Zero to Hero: Unit testing in C#](https://dometrain.com/course/from-zero-to-hero-unit-testing-in-c/?affcode=1115529_alq6yoqt) 205 | - [From Zero to Hero: Integration testing in ASP.NET Core](https://dometrain.com/course/from-zero-to-hero-integration-testing-in-asp-net-core/?affcode=1115529_alq6yoqt) 206 | - [From Zero to Hero: Test-Driven Development in C#](https://dometrain.com/course/from-zero-to-hero-test-driven-development-tdd-csharp/?affcode=1115529_alq6yoqt) 207 | 208 | 16. Microservices 209 | 1. Message-Brokers 210 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 211 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 212 | - [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging) 213 | - [Amazon SQS](https://aws.amazon.com/sqs) 214 | - [NetMQ](https://github.com/zeromq/netmq) 215 | 2. Message-Bus 216 | - [MassTransit](https://github.com/MassTransit/MassTransit) 217 | - [NServiceBus](https://github.com/Particular/NServiceBus) 218 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 219 | 3. API Gateway 220 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 221 | - [YARP](https://github.com/microsoft/reverse-proxy) 222 | 4. Containerization 223 | - [Docker](https://www.docker.com) 224 | - [Podman](https://podman.io) 225 | 5. Orchestration 226 | - [Kubernetes](https://kubernetes.io) 227 | - [Rancher](https://github.com/rancher/rancher) 228 | - [Kubectl](https://kubernetes.io/docs/reference/kubectl) 229 | - [K9s](https://github.com/derailed/k9s) 230 | 6. Other 231 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 232 | - [Orleans](https://github.com/dotnet/orleans) 233 | - [Proto.Actor](https://github.com/asynkron/protoactor-dotnet) 234 | - [Dapr](https://github.com/dapr/dapr) 235 | - [Akka.NET](https://github.com/akkadotnet/akka.net) 236 | - Tutorials 📚 237 | - [Getting Started: Microservices Architecture](https://dometrain.com/course/getting-started-microservices-architecture/?affcode=1115529_alq6yoqt) 238 | - [Getting Started: Solution Architecture](https://dometrain.com/course/getting-started-solution-architecture/?affcode=1115529_alq6yoqt) 239 | - [From Zero to Hero: Docker for Developers](https://dometrain.com/course/from-zero-to-hero-docker/?affcode=1115529_alq6yoqt) 240 | 241 | 17. Continuous Integration & Continuous Delivery 242 | - [GitHub Actions](https://github.com/features/actions) 243 | - [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines) 244 | - [GitLab CI/CD](https://docs.gitlab.com/ee/ci) 245 | - [TeamCity CI/CD](https://www.jetbrains.com/teamcity) 246 | 247 | 18. Design Patterns 248 | - Categories 249 | - [Creational](https://refactoring.guru/design-patterns/creational-patterns) 250 | - [Structural](https://refactoring.guru/design-patterns/structural-patterns) 251 | - [Behavioral](https://refactoring.guru/design-patterns/behavioral-patterns) 252 | - Tutorials 📚 253 | - [Pluralsight Learning Path: Design Patterns in C#](https://www.pluralsight.com/paths/design-patterns-in-c) 254 | 255 | 19. Monitoring/Logging/Tracing/Alerting 256 | - Monitoring 257 | - On-Premises 258 | - [Prometheus](https://github.com/prometheus/prometheus) 259 | - [Grafana](https://github.com/grafana/grafana) 260 | - Cloud 261 | - [Datadog](https://www.datadoghq.com) 262 | - Logging 263 | - On-Premises 264 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 265 | - [Seq](https://datalust.co/seq) 266 | - [Sentry.io](https://sentry.io/welcome/) 267 | - Cloud 268 | - [Datadog](https://docs.datadoghq.com/logs) 269 | - [Sentry.io](https://sentry.io/welcome/) 270 | - Tutorials 📚 271 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 272 | - Tracing 273 | - On-Premises 274 | - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-dotnet) 275 | - [Jaeger](https://github.com/jaegertracing/jaeger) 276 | - [Zipkin](https://github.com/openzipkin/zipkin) 277 | - [Sentry.io](https://sentry.io/welcome/) 278 | - Cloud 279 | - [Datadog](https://docs.datadoghq.com/tracing) 280 | - [Sentry.io](https://sentry.io/welcome/) 281 | - Alerting 282 | - On-Premises 283 | - [Zabbix](https://www.zabbix.com) 284 | - [Alertmanager](https://github.com/prometheus/alertmanager) 285 | - Cloud 286 | - [Datadog](https://docs.datadoghq.com/monitors) 287 | 288 | 20. Client-Side .NET 289 | - Template Engines 290 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 291 | - [Scriban](https://github.com/lunet-io/scriban) 292 | - [Fluid](https://github.com/sebastienros/fluid) 293 | - Frameworks 294 | - [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) 295 | - [.NET MAUI](https://github.com/dotnet/maui) 296 | 297 | 21. AI / LLMs 298 | - [Semantic Kernel](https://github.com/microsoft/semantic-kernel) 299 | - [OpenAI .NET](https://github.com/openai/openai-dotnet) 300 | 301 | 22. Good to Know 302 | - [Scalar](https://github.com/scalar/scalar) 303 | - [MediatR](https://github.com/jbogard/MediatR) 304 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 305 | - [Polly](https://github.com/App-vNext/Polly) 306 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 307 | - [Distributed Lock](https://github.com/madelson/DistributedLock) 308 | - [EF Core Bulk Extensions](https://github.com/borisdj/EFCore.BulkExtensions) 309 | - [Nuke Build](https://github.com/nuke-build/nuke) 310 | - [Marten](https://github.com/JasperFx/marten) 311 | 312 | ## Microsoft courses 313 | Microsoft has some very interesting [online courses](https://learn.microsoft.com/training/browse/) on its technologies. They're all free. 314 | 315 | ## Wrap Up 316 | 317 | If you think the roadmap can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to star this repository to revisit. 318 | 319 | Idea from : [React Developer RoadMap](https://github.com/adam-golab/react-developer-roadmap) 320 | 321 | ## Contribution 322 | 323 | Want to contribute? We encourage community feedback and contributions. Please follow our [contributing guidelines](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/CONTRIBUTING.md). 324 | 325 | ## Credits 326 | 327 | ### Backers 328 | 329 | Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/AspNetCore-Developer-Roadmap#backer)] 330 | 331 | 332 | 333 | ### Sponsors 334 | 335 | Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://github.com/sponsors/MoienTajik)] 336 | 337 | 338 | 339 | 340 | ## License 341 | 342 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0) 343 | -------------------------------------------------------------------------------- /ReadMe.uz.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core Dasturchi Yo'l Xaritasi 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](#backers) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](#sponsors) 6 | 7 | - [Read-me An'anaviy Xitoy Tilida](ReadMe.zh-Hant.md) 8 | - [Read-me Soddalashtirilgan Xitoy Tilida](ReadMe.zh-Hans.md) 9 | - [Read-me Turk Tilida](ReadMe-tr.md) 10 | - [Read-me Yapon Tilida](ReadMe.ja.md) 11 | - [Read-me Rus Tilida](ReadMe.ru.md) 12 | 13 | > 2024 yilda [ASP.NET Core](https://docs.microsoft.com/aspnet/core) dasturchisi bo'lish uchun yo'l xaritasi: 14 | 15 | Quyida siz ASP.NET Core dasturchisi bo'lishni o'rganishingiz mumkin bo'lgan yo'llar va kutubxonalarni ko'rsatadigan jadvalni topishingiz mumkin. Men ushbu jadvalni mendan “ASP.NET Core dasturchisi sifatida keyin nimani o‘rganishim kerak?” deb so‘ragan har bir kishi uchun maslahat sifatida tuzdim. 16 | 17 | ## Disclaimer 18 | 19 | > Ushbu yo'l xaritasining maqsadi sizga landshaft haqida tushuncha berishdir. Yo'l xaritasi sizni nimani o'rganishingiz kerakligi haqida bosh qotirsangiz, sizni zamonaviy bo'lgan narsalarni tanlashga undashdan ko'ra, sizga yo'l ko'rsatadi. Siz nima uchun bir vosita ba'zi holatlar uchun boshqasiga qaraganda yaxshiroq mos kelishini tushunishingiz kerak va esda tutingki, zamonaviysi har doim ham ish uchun eng mos keladi degani emas. 20 | 21 | ## Yulduzchani Bosing! :star: 22 | 23 | Agar siz ushbu loyihani o'rganish yoki yechimingizni boshlash uchun yoqtirgan bo'lsangiz yoki foydalanayotgan bo'lsangiz, unga yulduzchani bosing. Rahmat! 24 | 25 | ## Yo'l Xaritasi 26 | 27 | ![Yo'l xaritasi](./aspnetcore-developer-roadmap.uz.png) 28 | 29 | ## Resurslar 30 | 31 | 1. Umumiy rivojlanish ko'nikmalari 32 | - [Git](https://www.youtube.com/playlist?list=PLd1cTxGen2d42uGivV8rlaUY1LR2s5zHr) ni o'rganing, [GitHub](https://www.youtube.com/watch?v=BtNnhUOCYrI) da bir nechta repositoriyalarni yarating, kodingizni boshqa odamlar bilan baham ko'ring 33 | - [HTTP(S) protokol](https://www.youtube.com/watch?v=0mwO6QmtY5A), so'rov usullari ([GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET), [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST), [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT), [PATCH](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH), [DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/DELETE), [OPTIONS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS), va boshqalar) 34 | - [TLS](https://www.youtube.com/watch?v=EIoMdjLL2yc) nima? 35 | - [SSL](https://www.youtube.com/watch?v=OI3JrPMd25E) nima? 36 | - Google'dan foydalanishdan qo'rqmang, [Google yordamida kuchli qidiruv](https://www.youtube.com/watch?v=6mkBrvLM-7g) 37 | - [ChatGPT](https://chat.openai.com/chat) dan foydalanishni boshlang 38 | - [Algoritmlar va ma'lumotlar tuzilmalari haqida o'rganing](https://www.youtube.com/playlist?list=PL_WK6W0Gn1I7rCQ28pxKwHbSO1EGzB381) 39 | 40 | 2. C# 41 | - [C#](https://docs.dot-net.uz/c-.net/basic/starter) 42 | - [.NET 8](https://docs.dot-net.uz/c-.net/dotnetga-xushkelibsiz) 43 | - [.NET CLI](https://docs.dot-net.uz/c-.net/.net-dasturchi/cli) 44 | - [StyleCop qoidalari](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/DOCUMENTATION.md) 45 | 46 | 3. SQL Asoslari 47 | - Darsliklar 📚 48 | - [MS SQL Server (Farkhod Dadajanov)](https://www.youtube.com/watch?v=zNqayVWmAbA&list=PL1538BF8E4A3E5D56) 49 | 50 | 5. ASP.NET Core asoslari 51 | - [MVC](https://docs.dot-net.uz/c-.net/web-development/asp.net-core-mvc/mvc-nima) 52 | - [Minimal APIs](youtube.com/watch?v=cBW2HBsQ5X0&t=2872s) 53 | - [REST](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api) 54 | - [Ilova Sozlamalari & Konfiguratsiyalari](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration) 55 | - [Middlewares](https://www.youtube.com/watch?v=FCf8GmfuF2U) 56 | - [Filtrlar & Attribute-lar](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters) 57 | - [Autentifikatsiya](https://docs.microsoft.com/en-us/aspnet/core/security/authentication) 58 | - [Avtorizatsiya](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction) 59 | - [IdentityServer](https://www.youtube.com/watch?v=7mzVukehoXo&t=4360s) 60 | - [Duende IdentityServer](https://duendesoftware.com) 61 | - [OpenIddict](https://github.com/openiddict/openiddict-core) 62 | - [Auth0](https://auth0.com/docs) 63 | - [OIDC](https://openid.net/connect) 64 | - [Razor Pages](https://docs.microsoft.com/en-us/aspnet/core/razor-pages) 65 | - [Razor Components](https://docs.microsoft.com/en-us/aspnet/core/blazor/components) 66 | - Darsliklar 📚 67 | - [ASP .Net Core batafsil (Farkhod Dadajanov)](https://www.youtube.com/playlist?list=PL_WK6W0Gn1I6OqYlkP_evQKq4K6xFwpu8) 68 | 69 | 6. SOLID 70 | - [Yagona Javobgarlik Prinsipi (SRP)](https://docs.dot-net.uz/c-.net/.net-dasturchi/clean-architecture/design-tamoyillari/solid/yagona-masuliyat-tamoyili-srp) 71 | - [Ochiqlik-Yopiqlik Prinsipi (OCP)](https://docs.dot-net.uz/c-.net/.net-dasturchi/clean-architecture/design-tamoyillari/solid/ochiq-yopiq-tamoyili-o-cp) 72 | - [Liskovning Almashtirish Prinsipi (LSP)](https://docs.dot-net.uz/c-.net/.net-dasturchi/clean-architecture/design-tamoyillari/solid/liskovning-almashtirish-tamoyili-lsp) 73 | - [Interfeysni Ajratish Prinsipi (ISP)](https://docs.dot-net.uz/c-.net/.net-dasturchi/clean-architecture/design-tamoyillari/solid/interfeysga-ajratish-tamoyili-isp) 74 | - [Bog'liqlik Inversiyasi Prinsipi (DIP)](https://docs.dot-net.uz/c-.net/.net-dasturchi/clean-architecture/design-tamoyillari/solid/qaramlik-inversiya-tamoyili-dip) 75 | 76 | 7. ORM 77 | - [Entity Framework Core](https://docs.dot-net.uz/c-.net/orm) 78 | - Darsliklar 📚 79 | - [Entity Framework Core bilan ishlash](https://www.youtube.com/watch?v=6XR2lV3ErNk&t=1s) 80 | - [ASP.NET Core da Dapper](https://www.youtube.com/watch?v=sGJmMR16lfI&t=1s) 81 | 82 | 8. Dependency Injection 83 | 1. DI Konteynerlari 84 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) 85 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 86 | 2. [Scrutor](https://github.com/khellang/Scrutor) 87 | - Darsliklar 📚 88 | - [Dependency Injection haqida (Farkhod Dadajanov)](https://www.youtube.com/watch?v=S7_B2lSrNB4) 89 | 90 | 9. Ma'lumotlar Bazasi 91 | 1. Relyatsion 92 | - [SQL Server](https://docs.dot-net.uz/database/ms-sql-server) 93 | - [PostgreSQL](https://docs.dot-net.uz/database/postgresql) 94 | - [MariaDB](https://mariadb.org) 95 | - [MySQL](https://www.youtube.com/watch?v=9A6bqFUtUz8&list=PLcVkxa4hDY3HMSLeg6QOLftJUhLX2JJP) 96 | 2. Qidiruv tizimlari 97 | - [ElasticSearch](https://www.elastic.co) 98 | - [Meilisearch](https://github.com/meilisearch/meilisearch) 99 | - [ManticoreSearch](https://github.com/manticoresoftware/manticoresearch) 100 | - [OpenSearch](https://github.com/opensearch-project/OpenSearch) 101 | 3. NoSQL 102 | - Mahalliy 103 | - [Redis](https://www.youtube.com/watch?v=fCjRbWW4mzM&t=1s) 104 | - [MongoDB](https://www.youtube.com/watch?v=Gm0vrNrP45U&list=PL_WK6W0Gn1I7ishKsAaB8JaOVcg6NpndK) 105 | - [Apache Cassandra](http://cassandra.apache.org) 106 | - [LiteDB](https://github.com/mbdavid/LiteDB) 107 | - [RavenDB](https://github.com/ravendb/ravendb) 108 | - [CouchDB](http://couchdb.apache.org) 109 | - Bulut 110 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 111 | - [DynamoDB](https://aws.amazon.com/dynamodb) 112 | 113 | 10. Keshlash 114 | - [Xotira keshi](https://www.youtube.com/watch?v=fCjRbWW4mzM&t=2s&pp=ygUXa2VzaGxhc2ggTURDIFV6YmVraXN0YW4%3D) 115 | - [Tarqatilgan kesh](https://www.youtube.com/watch?v=fCjRbWW4mzM&t=2s&pp=ygUXa2VzaGxhc2ggTURDIFV6YmVraXN0YW4%3D) 116 | 1. [Redis](https://www.youtube.com/watch?v=fCjRbWW4mzM&t=2s&pp=ygUXa2VzaGxhc2ggTURDIFV6YmVraXN0YW4%3D) 117 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 118 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 119 | 2. [Memcached](https://memcached.org) 120 | - Ilova darajasi 121 | - Javobni keshlash 122 | 1. [Built in](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/response) 123 | 2. [Marvin.Cache.Headers](https://github.com/KevinDockx/HttpCacheHeaders) 124 | - [Chiqishni keshlash](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/output?source=recommendations) 125 | - [Entity Framework 2-darajali kesh](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 126 | 127 | 11. Log Frameworks 128 | - [Serilog](https://www.youtube.com/watch?v=RyjuC-TAxHk&t=1s&pp=ygUWU2VyaWxvZyBNREMgVXpiZWtpc3Rhbg%3D%3D) 129 | - [NLog](https://github.com/NLog/NLog) 130 | 131 | 12. API Mijozlari va Aloqalari 132 | 1. REST 133 | - [Gridify](https://github.com/alirezanet/Gridify) 134 | - [OData](https://learn.microsoft.com/en-us/odata/webapi/first-odata-api) 135 | - [REPR Pattern](https://ardalis.com/mvc-controllers-are-dinosaurs-embrace-api-endpoints/) 136 | - [Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/overview) 137 | - [Ardalis.Endpoints](https://github.com/ardalis/ApiEndpoints) 138 | - [Fast Endpoints](https://github.com/FastEndpoints/FastEndpoints) 139 | 2. [gRPC](https://docs.microsoft.com/en-us/aspnet/core/grpc) 140 | 3. GraphQL 141 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 142 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 143 | - Darsliklar 📚 144 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 145 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 146 | - [From Zero to Hero: gRPC in .NET](https://dometrain.com/course/from-zero-to-hero-grpc-in-dotnet/?affcode=1115529_alq6yoqt) 147 | 148 | 13. Real vaqtda aloqa 149 | - [SignalR](https://www.youtube.com/watch?v=mj_9_IYBJvY&t=1s&pp=ygUWU2lnbmFsUiBNREMgVXpiZWtpc3Rhbg%3D%3D) 150 | - [WebSockets](https://www.youtube.com/watch?v=6Ps7dxJ6qdo&pp=ygUZV2ViU29ja2V0cyBNREMgVXpiZWtpc3Rhbg%3D%3D) 151 | 152 | 14. Obyektni map qilish 153 | - [Qo'lda map qilish!](https://www.youtube.com/watch?v=U8gSdQN2jWI) 154 | - [Mapperly](https://github.com/riok/mapperly) 155 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 156 | 157 | 15. Fondagi vazifalarni rejalashtiruvchisi 158 | - [Native BackgroundService](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 159 | - [HangFire](https://github.com/HangfireIO/Hangfire) 160 | - [Quartz](https://github.com/quartznet/quartznet) 161 | - [Coravel](https://github.com/jamesmh/coravel) 162 | 163 | 16. Testlash 164 | 1. Unit Testlash 165 | - Frameworks 166 | - [xUnit](https://www.youtube.com/watch?v=DtvNioh9eHo&t=1s&pp=ygUTdGVzdCBNREMgVXpiZWtpc3Rhbg%3D%3D) 167 | - [NUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-nunit) 168 | - [MSTest](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest) 169 | - Mocking 170 | - [Moq](https://github.com/moq/moq4) 171 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 172 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 173 | - Assertion 174 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 175 | - Soxta ma'lumotlar generatorlari 176 | - [Bogus](https://github.com/bchavez/Bogus) 177 | - [AutoFixture](https://github.com/AutoFixture/AutoFixture) 178 | 2. Integratsion Testlash 179 | - [WebApplicationFactory](https://docs.microsoft.com/aspnet/core/test/integration-tests) 180 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 181 | - [Test Containers](https://github.com/testcontainers/testcontainers-dotnet) 182 | - [Respwan](https://github.com/jbogard/Respawn) 183 | 3. Snapshot Testlash 184 | - [Verify](https://github.com/VerifyTests/Verify) 185 | 4. Xulq-atvor Testing 186 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 187 | 5. E2E Testlash 188 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 189 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 190 | 6. Ishlashni Testlash 191 | - [K6](https://github.com/grafana/k6) 192 | - [JMeter](https://github.com/apache/jmeter) 193 | - [Crank](https://github.com/dotnet/crank) 194 | - [Bombardier](https://github.com/codesenberg/bombardier) 195 | - Darsliklar 📚 196 | - [From Zero to Hero: Unit testing in C#](https://dometrain.com/course/from-zero-to-hero-unit-testing-in-c/?affcode=1115529_alq6yoqt) 197 | - [From Zero to Hero: Integration testing in ASP.NET Core](https://dometrain.com/course/from-zero-to-hero-integration-testing-in-asp-net-core/?affcode=1115529_alq6yoqt) 198 | - [From Zero to Hero: Test-Driven Development in C#](https://dometrain.com/course/from-zero-to-hero-test-driven-development-tdd-csharp/?affcode=1115529_alq6yoqt) 199 | 200 | 17. Mikroservislar 201 | 1. Xabar-Brokerlari 202 | - [RabbitMQ](https://www.youtube.com/watch?v=8tfAazpwqik&t=1s&pp=ygUXUmFiYml0TVEgTURDIFV6YmVraXN0YW4%3D) 203 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 204 | - [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging) 205 | - [Amazon SQS](https://aws.amazon.com/sqs) 206 | - [NetMQ](https://github.com/zeromq/netmq) 207 | 2. Message-Bus 208 | - [MassTransit](https://github.com/MassTransit/MassTransit) 209 | - [NServiceBus](https://github.com/Particular/NServiceBus) 210 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 211 | 3. API Gateway 212 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 213 | - [YARP](https://github.com/microsoft/reverse-proxy) 214 | 4. Konteynerlash 215 | - [Docker](https://www.youtube.com/watch?v=trW0gihZ78E&list=PL_WK6W0Gn1I4jcUIwAUkcLM76k08Bqi2K) 216 | - [Podman](https://podman.io) 217 | 5. Orkestratsiya 218 | - [Kubernetes](https://kubernetes.io) 219 | - [Rancher](https://github.com/rancher/rancher) 220 | - [Kubectl](https://kubernetes.io/docs/reference/kubectl) 221 | - [K9s](https://github.com/derailed/k9s) 222 | 6. Boshqa 223 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 224 | - [Orleans](https://github.com/dotnet/orleans) 225 | - [Proto.Actor](https://github.com/asynkron/protoactor-dotnet) 226 | - [Dapr](https://github.com/dapr/dapr) 227 | - Darsliklar 📚 228 | - [Getting Started: Microservices Architecture](https://dometrain.com/course/getting-started-microservices-architecture/?affcode=1115529_alq6yoqt) 229 | - [Getting Started: Solution Architecture](https://dometrain.com/course/getting-started-solution-architecture/?affcode=1115529_alq6yoqt) 230 | - [From Zero to Hero: Docker for Developers](https://dometrain.com/course/from-zero-to-hero-docker/?affcode=1115529_alq6yoqt) 231 | 232 | 18. Uzluksiz integratsiya va uzluksiz yetkazib berish 233 | - [GitHub Actions](https://www.youtube.com/watch?v=7O4MCfJs8aY&pp=ygUdR2l0SHViIEFjdGlvbnMgTURDIFV6YmVraXN0YW4%3D) 234 | - [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines) 235 | - [GitLab CI/CD](https://docs.gitlab.com/ee/ci) 236 | - [TeamCity CI/CD](https://www.jetbrains.com/teamcity) 237 | 238 | 19. Dizayn patternlari 239 | - Kategoriyalar 240 | - [Yaratuvchanlik](https://refactoring.guru/design-patterns/creational-patterns) 241 | - [Strukturaviy](https://refactoring.guru/design-patterns/structural-patterns) 242 | - [Xulq-atvor](https://refactoring.guru/design-patterns/behavioral-patterns) 243 | - Darsliklar 📚 244 | - [Design Pattern (Farkhod Dadajanov)](https://www.youtube.com/watch?v=dreyroBhzL4&list=PL_WK6W0Gn1I6IM4WkC7B62mdslDdhH2fY&pp=iAQB) 245 | 246 | 20. Monitoring/Logging/Kuzatish/Ogohlantirish 247 | - Monitoring 248 | - Mahalliy 249 | - [Prometheus](https://github.com/prometheus/prometheus) 250 | - [Grafana](https://github.com/grafana/grafana) 251 | - Bulut 252 | - [Datadog](https://www.datadoghq.com) 253 | - Logging 254 | - Mahalliy 255 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 256 | - [Seq](https://datalust.co/seq) 257 | - [Sentry.io](https://sentry.io/welcome/) 258 | - Bulut 259 | - [Datadog](https://docs.datadoghq.com/logs) 260 | - [Sentry.io](https://sentry.io/welcome/) 261 | - Darsliklar 📚 262 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 263 | - Kuzatish 264 | - Mahalliy 265 | - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-dotnet) 266 | - [Jaeger](https://github.com/jaegertracing/jaeger) 267 | - [Zipkin](https://github.com/openzipkin/zipkin) 268 | - [Sentry.io](https://sentry.io/welcome/) 269 | - Bulut 270 | - [Datadog](https://docs.datadoghq.com/tracing) 271 | - [Sentry.io](https://sentry.io/welcome/) 272 | - Ogohlantirish 273 | - Mahalliy 274 | - [Zabbix](https://www.zabbix.com) 275 | - [Alertmanager](https://github.com/prometheus/alertmanager) 276 | - Bulut 277 | - [Datadog](https://docs.datadoghq.com/monitors) 278 | 279 | 21. .NET Mijoz tomoni 280 | - Shablon enjinlari 281 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 282 | - [Scriban](https://github.com/lunet-io/scriban) 283 | - [Fluid](https://github.com/sebastienros/fluid) 284 | - Frameworks 285 | - [Blazor](https://www.youtube.com/watch?v=fCD4OUM2dxA&t=1s&pp=ygUVQmxhem9yIE1EQyBVemJla2lzdGFu) 286 | - [.NET MAUI](https://github.com/dotnet/maui) 287 | 288 | 22. Bilish yaxshi 289 | - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) 290 | - [MediatR](https://github.com/jbogard/MediatR) 291 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 292 | - [Polly](https://github.com/App-vNext/Polly) 293 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 294 | - [Distributed Lock](https://github.com/madelson/DistributedLock) 295 | - [EF Core Bulk Extensions](https://github.com/borisdj/EFCore.BulkExtensions) 296 | - [Nuke Build](https://github.com/nuke-build/nuke) 297 | - [Marten](https://github.com/JasperFx/marten) 298 | 299 | 300 | ## Wrap Up 301 | 302 | Agar yo'l xaritasini yaxshilash mumkin deb hisoblasangiz, iltimos, har qanday yangilanishlar bilan PRni oching va har qanday muammolarni yuboring. Bundan tashqari, men buni yaxshilashda davom etaman, shuning uchun siz ushbu repository-ni qayta ko'rib chiqish uchun yulduzchani bosib qo'ying. 303 | 304 | [React Dasturcih yo'l xaritasi](https://github.com/adam-golab/react-developer-roadmap) dan g'oya olingan 305 | 306 | ## Hissa Qo'shish 307 | 308 | Hissa qo'shishni xohlaysizmi? Biz hamjamiyatning fikr-mulohazalari va hissalarini qo'llab-quvvatlaymiz. Iltimos, [hissa qoʻshish boʻyicha koʻrsatmalarimizga](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/CONTRIBUTING.md) amal qiling. 309 | 310 | ## Kreditlar 311 | 312 | ### Qo'llab-Quvvatlovchilar 313 | 314 | Barcha qo'llab-quvvatlovchilarimizga rahmat! 🙏 [[Qo'llab-quvvatlovchiga aylaning](https://opencollective.com/AspNetCore-Developer-Roadmap#backer)] 315 | 316 | 317 | 318 | ### Homiylar 319 | 320 | Homiy bo'lish orqali ushbu loyihani qo'llab-quvvatlang. Sizning logotipingiz veb-saytingizga havola bilan bu erda ko'rsatiladi. [[Homiy bo'ling](https://github.com/sponsors/MoienTajik)] 321 | 322 | 323 | 324 | 325 | ## Litsenziya 326 | 327 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0) 328 | -------------------------------------------------------------------------------- /ReadMe.ru.md: -------------------------------------------------------------------------------- 1 | # Дорожная карта разработчика ASP.NET Core 2 | 3 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) 4 | [![Backers on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/backers/badge.svg)](#backers) 5 | [![Sponsors on Open Collective](https://opencollective.com/AspNetCore-Developer-Roadmap/sponsors/badge.svg)](#sponsors) 6 | 7 | - [Read-me на Английском](ReadMe.md) 8 | - [Read-me на Традиционном китайском](ReadMe.zh-Hant.md) 9 | - [Read-me на Упрощенном китайском](ReadMe.zh-Hans.md) 10 | - [Read-me на Турецком](ReadMe-tr.md) 11 | - [Read-me на Японском](ReadMe.ja.md) 12 | 13 | > Дорожная карта разработчика [ASP.NET Core](https://docs.microsoft.com/aspnet/core) в 2025: 14 | На данной карте представлен список технологий и библиотек, которые вам стоит изучить, чтобы стать разработчиком ASP.NET Core. Я создал эту карту в качестве простого руководства для всех, кто спрашивает меня: "Что я должен изучить дальше, чтобы стать разработчиком ASP.NET Core?" 15 | 16 | ## Дисклеймер 17 | 18 | > Цель этой дорожной карты - помочь вам понять общую картину. Она поможет вам определить, что изучать дальше, а не просто следовать модным технологиям. Важно разобраться, когда и какие технологии лучше использовать в конкретных ситуациях и помнить, что модные и трендовые технологии не всегда подходят для всех задач. 19 | 20 | ## Поставьте звездочку! :star: 21 | 22 | Если вам понравилась эта карта или вы собираетесь использовать ее или просто разобрались с ее применением, пожалуйста, поставьте звездочку. Мы благодарим вас! 23 | 24 | ## Дорожная карта 25 | 26 | ![Дорожная карта](./aspnetcore-developer-roadmap.ru.png) 27 | 28 | ## Материалы 29 | 30 | 1. Общие навыки разработчика 31 | - Освойте [Git](https://git-scm.com/doc), создайте пару репозиториев на [GitHub](https://docs.github.com/en/get-started/quickstart), покажите свой код другим. 32 | - Освойте [протокол HTTP(S)](https://developer.mozilla.org/ru/docs/Web/HTTP/Overview), методы запросов ([GET](https://developer.mozilla.org/ru/docs/Web/HTTP/Methods/GET), [POST](https://developer.mozilla.org/ru/docs/Web/HTTP/Methods/POST), [PUT](https://developer.mozilla.org/ru/docs/Web/HTTP/Methods/PUT), [PATCH](https://developer.mozilla.org/ru/docs/Web/HTTP/Methods/PATCH), [DELETE](https://developer.mozilla.org/ru/docs/Web/HTTP/Methods/DELETE), [OPTIONS](https://developer.mozilla.org/ru/docs/Web/HTTP/Methods/OPTIONS), etc.) 33 | - Что такое [TLS](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/)? 34 | - Что такое [SSL](https://www.cloudflare.com/learning/ssl/what-is-ssl/)? 35 | - Не бойтесь использовать Google, [прокачайте навык гугления](http://www.powersearchingwithgoogle.com) 36 | - Начните использовать [ChatGPT](https://chat.openai.com/chat) 37 | - [Прочтите несколько книг о структурах данных и алгоритмах](https://www.interviewbit.com/blog/data-structures-and-algorithms-books) 38 | 39 | 2. C# 40 | - [C#](https://www.pluralsight.com/paths/c-10) 41 | - [.NET 7](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7) 42 | - Интерфейс командной строки [dotnet CLI](https://docs.microsoft.com/dotnet/core/tools) 43 | - [Правила StyleCop ](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/DOCUMENTATION.md) 44 | 45 | 3. Основы SQL 46 | - Обучающие материалы 📚 47 | - [Pluralsight Learning Path: Querying Data with T-SQL from SQL Server](https://www.pluralsight.com/paths/querying-data-with-t-sql-from-sql-server) 48 | 49 | 4. Основы ASP.NET Core 50 | - [MVC](https://docs.microsoft.com/en-us/aspnet/core/mvc/overview) 51 | - [Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis) 52 | - [REST](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api) 53 | - [Application Settings & Configurations](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration) 54 | - [Middlewares](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware) 55 | - [Filters & Attributes](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters) 56 | - [Background Tasks](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) 57 | - [Authentication](https://docs.microsoft.com/en-us/aspnet/core/security/authentication) 58 | - [Authorization](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction) 59 | - [IdentityServer](https://identityserver4.readthedocs.io/en/latest) 60 | - [Duende IdentityServer](https://duendesoftware.com) 61 | - [OpenIddict](https://github.com/openiddict/openiddict-core) 62 | - [Auth0](https://auth0.com/docs) 63 | - [OIDC](https://openid.net/connect) 64 | - [Caching](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/overview) 65 | - [Razor Pages](https://docs.microsoft.com/en-us/aspnet/core/razor-pages) 66 | - [Razor Components](https://docs.microsoft.com/en-us/aspnet/core/blazor/components) 67 | - Обучающие материалы 📚 68 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 69 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 70 | 71 | 5. SOLID 72 | - [Принцип единственной ответственности (SRP)](https://www.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle) 73 | - [Принцип открытости/закрытости (OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle) 74 | - [Принцип подстановки Лисков (LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) 75 | - [Принцип разделения интерфейса (ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle) 76 | - [Принцип инверсии зависимостей (DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles) 77 | 78 | 6. Объектно-реляционное отображение данных (ORM) 79 | - [Основы платформы сущностей(EF Core)](https://learn.microsoft.com/ru-ru/ef/core) 80 | - Обучающие материалы 📚 81 | - [From Zero to Hero: Entity Framework Core in .NET](https://dometrain.com/course/from-zero-to-hero-entity-framework-core-in-dotnet/?affcode=1115529_alq6yoqt) 82 | - [Dapper](https://github.com/StackExchange/Dapper) 83 | 84 | 85 | 7. Внедрение зависимости 86 | 1. Контейнеры DI 87 | - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/aspnet/core/fundamentals/dependency-injection) 88 | - [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) 89 | 3. [Scrutor](https://github.com/khellang/Scrutor) 90 | - Обучающие материалы 📚 91 | - [From Zero to Hero: Dependency Injection in .NET](https://dometrain.com/course/from-zero-to-hero-dependency-injection-in-net/?affcode=1115529_alq6yoqt) 92 | 8. Базы данных 93 | 1. Реляционные 94 | - [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019) 95 | - [PostgreSQL](https://www.postgresql.org) 96 | - [MariaDB](https://mariadb.org) 97 | - [MySQL](https://www.mysql.com) 98 | 2. Поисковые системы 99 | - [ElasticSearch](https://www.elastic.co) 100 | - [Meilisearch](https://github.com/meilisearch/meilisearch) 101 | - [ManticoreSearch](https://github.com/manticoresoftware/manticoresearch) 102 | - [OpenSearch](https://github.com/opensearch-project/OpenSearch) 103 | 3. NoSQL 104 | - Локальный 105 | - [Redis](https://redis.io) 106 | - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app) 107 | - [Apache Cassandra](http://cassandra.apache.org) 108 | - [LiteDB](https://github.com/mbdavid/LiteDB) 109 | - [RavenDB](https://github.com/ravendb/ravendb) 110 | - [CouchDB](http://couchdb.apache.org) 111 | - Облачный 112 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 113 | - [DynamoDB](https://aws.amazon.com/dynamodb) 114 | 115 | 9. Кэширование 116 | - [Кэширование в памяти](https://docs.microsoft.com/aspnet/core/performance/caching/memory) 117 | - [Распределенный кэш](https://docs.microsoft.com/aspnet/core/performance/caching/distributed) 118 | 1. [Redis](https://redis.io/) 119 | 1. [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis) 120 | 2. [EasyCaching](https://github.com/dotnetcore/EasyCaching) 121 | 2. [Memcached](https://memcached.org) 122 | - Прикладной уровень 123 | - Кэширование ответов 124 | 1. [Built in](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/response) 125 | 2. [Marvin.Cache.Headers](https://github.com/KevinDockx/HttpCacheHeaders) 126 | - [Output Caching](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/output?source=recommendations) 127 | - [Entity Framework 2nd Level Cache](https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor) 128 | 129 | 10. Фреймворки логирования 130 | - [Serilog](https://github.com/serilog/serilog) 131 | - [NLog](https://github.com/NLog/NLog) 132 | - Обучающие материалы 📚 133 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 134 | 135 | 11. API-клиенты и коммуникации 136 | 1. REST 137 | - [Sieve](https://github.com/Biarity/Sieve) 138 | - [OData](https://learn.microsoft.com/ru-ru/odata/webapi/first-odata-api) 139 | - [REPR Pattern](https://ardalis.com/mvc-controllers-are-dinosaurs-embrace-api-endpoints/) 140 | - [Minimal APIs](https://learn.microsoft.com/ru-ru/aspnet/core/fundamentals/minimal-apis/overview) 141 | - [Fast Endpoints](https://github.com/FastEndpoints/FastEndpoints) 142 | - [Ardalis.Endpoints](https://github.com/ardalis/ApiEndpoints) 143 | 2. [gRPC](https://docs.microsoft.com/ru-ru/aspnet/core/grpc) 144 | 3. GraphQL 145 | - [HotChocolate](https://github.com/ChilliCream/hotchocolate) 146 | - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 147 | - Обучающие материалы 📚 148 | - [From Zero to Hero: REST APIs in .NET](https://dometrain.com/course/from-zero-to-hero-rest-apis-in-asp-net-core/?affcode=1115529_alq6yoqt) 149 | - [From Zero to Hero: Minimal APIs in .NET with C#](https://dometrain.com/course/from-zero-to-hero-minimal-apis-in-net-with-c/?affcode=1115529_alq6yoqt) 150 | - [From Zero to Hero: gRPC in .NET](https://dometrain.com/course/from-zero-to-hero-grpc-in-dotnet/?affcode=1115529_alq6yoqt) 151 | 152 | 12. Коммуникации в реальном времени 153 | - [SignalR](https://docs.microsoft.com/aspnet/core/signalr) 154 | - [WebSockets](https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/websockets) 155 | 156 | 13. Объектное отображение (маппинг) 157 | - [Manual mapping!](https://www.youtube.com/watch?v=U8gSdQN2jWI) 158 | - [Mapperly](https://github.com/riok/mapperly) 159 | - [AutoMapper](https://github.com/AutoMapper/AutoMapper) 160 | 161 | 14. Планировка фоновых задач 162 | - [Native BackgroundService](https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/host/hosted-services) 163 | - [HangFire](https://github.com/HangfireIO/Hangfire) 164 | - [Quartz](https://github.com/quartznet/quartznet) 165 | - [Coravel](https://github.com/jamesmh/coravel) 166 | 167 | 15. Тестирование 168 | 1. Юнит тестирование 169 | - Фреймворки 170 | - [xUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test) 171 | - [NUnit](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-nunit) 172 | - [MSTest](https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest) 173 | - Mocking 174 | - [Moq](https://github.com/moq/moq4) 175 | - [NSubstitute](https://github.com/nsubstitute/NSubstitute) 176 | - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 177 | - Утверждения (assertions) 178 | - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) 179 | - Генераторы фиктивных данных 180 | - [Bogus](https://github.com/bchavez/Bogus) 181 | - [AutoFixture](https://github.com/AutoFixture/AutoFixture) 182 | 2. Интеграционное тестирование 183 | - [WebApplicationFactory](https://docs.microsoft.com/aspnet/core/test/integration-tests) 184 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 185 | - [Test Containers](https://github.com/testcontainers/testcontainers-dotnet) 186 | - [Respwan](https://github.com/jbogard/Respawn) 187 | 3. Снэпшот тестирование 188 | - [Verify](https://github.com/VerifyTests/Verify) 189 | 4. Тестирование поведения 190 | - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) 191 | 5. E2E тестирование 192 | - [Selenium](https://www.hanselman.com/blog/real-browser-integration-testing-with-selenium-standalone-chrome-and-aspnet-core-21) 193 | - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 194 | 6. Тестирование производительности 195 | - [K6](https://github.com/grafana/k6) 196 | - [JMeter](https://github.com/apache/jmeter) 197 | - [Crank](https://github.com/dotnet/crank) 198 | - [Bombardier](https://github.com/codesenberg/bombardier) 199 | 7. Архитектурное тестирование 200 | - [ArchUnitNET](https://github.com/TNG/ArchUnitNET) 201 | - [NetArchTest](https://github.com/BenMorris/NetArchTest) 202 | - Обучающие материалы 📚 203 | - [From Zero to Hero: Unit testing in C#](https://dometrain.com/course/from-zero-to-hero-unit-testing-in-c/?affcode=1115529_alq6yoqt) 204 | - [From Zero to Hero: Integration testing in ASP.NET Core](https://dometrain.com/course/from-zero-to-hero-integration-testing-in-asp-net-core/?affcode=1115529_alq6yoqt) 205 | - [From Zero to Hero: Test-Driven Development in C#](https://dometrain.com/course/from-zero-to-hero-test-driven-development-tdd-csharp/?affcode=1115529_alq6yoqt) 206 | 207 | 16. Микросервисы 208 | 1. Брокеры сообщении 209 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 210 | - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) 211 | - [ActiveMQ](https://github.com/apache/activemq) 212 | - [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview) 213 | - [NetMQ](https://github.com/zeromq/netmq) 214 | 2. Шина передачи сообщении 215 | - [MassTransit](https://github.com/MassTransit/MassTransit) 216 | - [NServiceBus](https://github.com/Particular/NServiceBus) 217 | - [EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) 218 | 3. Шлюз API 219 | - [Ocelot](https://github.com/ThreeMammals/Ocelot) 220 | - [YARP](https://github.com/microsoft/reverse-proxy) 221 | 4. Контейнеризация 222 | - [Docker](https://www.docker.com) 223 | - [Podman](https://podman.io) 224 | 5. Оркестрация 225 | - [Kubernetes](https://kubernetes.io) 226 | - [Rancher](https://github.com/rancher/rancher) 227 | - [Kubectl](https://kubernetes.io/docs/reference/kubectl) 228 | - [K9s](https://github.com/derailed/k9s) 229 | 6. Прочее 230 | - [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire) 231 | - [Orleans](https://github.com/dotnet/orleans) 232 | - [Proto.Actor](https://github.com/asynkron/protoactor-dotnet) 233 | - [Dapr](https://github.com/dapr/dapr) 234 | - [Akka.NET](https://github.com/akkadotnet/akka.net) 235 | - Обучающие материалы 📚 236 | - [Getting Started: Microservices Architecture](https://dometrain.com/course/getting-started-microservices-architecture/?affcode=1115529_alq6yoqt) 237 | - [Getting Started: Solution Architecture](https://dometrain.com/course/getting-started-solution-architecture/?affcode=1115529_alq6yoqt) 238 | - [From Zero to Hero: Docker for Developers](https://dometrain.com/course/from-zero-to-hero-docker/?affcode=1115529_alq6yoqt) 239 | 240 | 17. Непрерывная интеграция и развертывание(CI/CD) 241 | - [GitHub Actions](https://github.com/features/actions) 242 | - [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines) 243 | - [GitLab CI/CD](https://docs.gitlab.com/ee/ci) 244 | - [TeamCity CI/CD](https://www.jetbrains.com/teamcity) 245 | 246 | 18. Паттерны проектирования 247 | - Категории 248 | - [Creational](https://docs.microsoft.com/azure/architecture/patterns/cqrs) 249 | - [Structural](https://www.dofactory.com/net/decorator-design-pattern) 250 | - [Behavioral](https://www.dofactory.com/net/strategy-design-pattern) 251 | - Обучающие материалы 📚 252 | - [Pluralsight Learning Path: Design Patterns in C#](https://www.pluralsight.com/paths/design-patterns-in-c) 253 | 254 | 19. Мониторинг/Логирование/Отслеживание/Оповещение 255 | - Мониторинг 256 | - Локальный 257 | - [Prometheus](https://github.com/prometheus/prometheus) 258 | - [Grafana](https://github.com/grafana/grafana) 259 | - Облачный 260 | - [Datadog](https://www.datadoghq.com) 261 | - Логирование 262 | - Локальное 263 | - [ELK Stack](https://www.elastic.co/what-is/elk-stack) 264 | - [Seq](https://datalust.co/seq) 265 | - [Sentry.io](https://sentry.io/welcome/) 266 | - Облачное 267 | - [Datadog](https://docs.datadoghq.com/logs) 268 | - [Sentry.io](https://sentry.io/welcome/) 269 | - Обучающие материалы 📚 270 | - [From Zero to Hero: Logging in .NET](https://dometrain.com/course/from-zero-to-hero-logging-in-dotnet/?affcode=1115529_alq6yoqt) 271 | - Отслеживание 272 | - Локальное 273 | - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-dotnet) 274 | - [Jaeger](https://github.com/jaegertracing/jaeger) 275 | - [Zipkin](https://github.com/openzipkin/zipkin) 276 | - [Sentry.io](https://sentry.io/welcome/) 277 | - Облачное 278 | - [Datadog](https://docs.datadoghq.com/tracing) 279 | - [Sentry.io](https://sentry.io/welcome/) 280 | - Оповещение 281 | - Локальное 282 | - [Zabbix](https://www.zabbix.com) 283 | - [Alertmanager](https://github.com/prometheus/alertmanager) 284 | - Облачное 285 | - [Datadog](https://docs.datadoghq.com/monitors) 286 | 287 | 20. Клиентский.NET 288 | - Шаблонизаторы 289 | - [Razor](https://docs.microsoft.com/aspnet/core/mvc/views/razor) 290 | - [Scriban](https://github.com/lunet-io/scriban) 291 | - [Fluid](https://github.com/sebastienros/fluid) 292 | - Фреймворки 293 | - [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) 294 | - [.NET MAUI](https://github.com/dotnet/maui) 295 | 296 | 21. AI / LLMs 297 | - [Semantic Kernel](https://github.com/microsoft/semantic-kernel) 298 | - [OpenAI .NET](https://github.com/openai/openai-dotnet) 299 | 300 | 22. Будет полезным 301 | - [Scalar](https://github.com/scalar/scalar) 302 | - [MediatR](https://github.com/jbogard/MediatR) 303 | - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) 304 | - [Polly](https://github.com/App-vNext/Polly) 305 | - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) 306 | - [Distributed Lock](https://github.com/madelson/DistributedLock) 307 | - [EF Core Bulk Extensions](https://github.com/borisdj/EFCore.BulkExtensions) 308 | - [Nuke Build](https://github.com/nuke-build/nuke) 309 | - [Marten](https://github.com/JasperFx/marten) 310 | 311 | 312 | ## Заключение 313 | 314 | Если у вас есть предложения по улучшению этой карты, пожалуйста, отправьте запрос на изменение (PR) с вашими обновлениями или задайте вопросы в разделе Issues. Кроме того, я буду продолжать обновлять эту карту, поэтому не забудьте поставить звезду, чтобы не пропустить новые обновления. 315 | 316 | Идя взята из : [React Developer RoadMap](https://github.com/adam-golab/react-developer-roadmap) 317 | 318 | ## Участие 319 | 320 | Хотите поучаствовать? Мы ценим фидбек и участие сообщества. Просьба придерживатся [гайдлайну по участию](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/CONTRIBUTING.md). 321 | 322 | ## Упоминания 323 | 324 | ### Поддержка 325 | 326 | Благодарим всех кто нас поддерживает! 🙏 [[Поддержать](https://opencollective.com/AspNetCore-Developer-Roadmap#backer)] 327 | 328 | 329 | 330 | ### Спонсоры 331 | 332 | Поддержите этот проект став спонсором. Ваше лого будет отображено здесь со ссылкой на ваш сайт. [[Стать спонсором](https://github.com/sponsors/MoienTajik)] 333 | 334 | 335 | 336 | 337 | ## Лицензия 338 | 339 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0) 340 | --------------------------------------------------------------------------------