Tổng Hợp Các Kiến Thức Và Các Thư Viện Phổ Biến

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Tổng hợp các kiến thức và các thư viện phổ

biến
Admin
Dưới đây là tổng hợp các kiến thức cần thiết, thư viện và các công cụ nên tìm hiểu cho các
lập trình viên khi xây dựng các ứng dụng Web trên nền tảng .NET của Microsoft.

https://www.dotnetcoban.com/2020/04/popular-knowedge-and-good-libraries.html

Các kiến thức chung

Operating Systems
Basic Terminal
Protocols (HTTP, FTP, SSH ...)
HTTP, HTTP/2, HTTPS, DNS, Networking, Hosting
Web Server
Character Encodings
OOP
Data Structures and Algorithms
Software Design (Logical, Process, Development, Physical, Use Case View)
Software Design (Class, Database, Flow, Sequence Diagram)

Design Patterns (Creational, Structural, Behavioral)

Design Patterns (Repository, Unit of Work, Specification, Service Locator, CQRS, Event
Sourcing)
Domain Driven Design (Domain Complexity, Technical Complexity, Seperation of Concerns,
Sub-domains, Bounded Contexts, Context Maps, Context Boundaries, Ubiquitous
Language)

Domain Driven Design (Entities, Value Objects, Domain Services, Aggregates,


Repositories, Anti-corruption Layers, Domain Events, Anemic vs Rich Models)
Architecture Patterns (Layered, Modular, Service-Oriented, Microservices, Serverless)
SOLID, KISS, YAGNI, DRY
Git, Github
CI/CD
HTML, CSS, Javascript
SQL Database (SQL, ORM, Indexes, Transactions, Normalization,  Replication, Sharding,
CAP)
SQL Server (Views, Functions, Stored Procedures, Triggers, Indexes, ...)
NoSQL Database
Dependency Injection
APIs (REST, gRPC, GraphQL, Open API, Swagger)
Authentication (Cookies, Basic, Windows, Token, JWT, OAuth2, OpenID)
Authorization (Roles, Claims, Attributes, Policies)
Localization, Globalization
Caching
Search
Web Socket
Load Balancing
Web Securies (HTTPS, SSL/TLS, CORS, Hashing)
Testing (Unit, Behavior, Integration, E2E)
Single Page Application (Angular, React, Vue)
Package Managers
Serverless
Microservices
Cloud

Các kiến thức liên quan đến nền tảng  .NET

C# (OOP, Generics, Linq, Collections, Attributes, Reflection, Delegate, Event, Extension


Method, Anomymous Methods, Lamda Expression, Expression Tree, Async/Await, Multi-
Threading, Regular Expressions, Reflection, Dynamics, Cryptography)
Package Manager (Nuget)
ASP .NET Core (Application Settings, Configurations ...)
ASP .NET Core MVC (Models-Views-Controllers, Request Life Cycle, Middlewares,
Routing, Model Binding, Model Validation, Action, Filters, View Engines, View Components,
Tag Helpers, Action Results, Global Exception Handler, Attributes, ...)
ASP .NET Core Razor Pages
Blazor ( Server Side, WebAssembly)
Profiler
Dotnet CLI
Blazor

Các kiến thức liên quan đến triển khai trên mô hình Microservices

Container (Docker)
Kubernetes
Messaging Patterns (Fire - Forget, Send - Receive, Request - Response, Publish -
Subscribe)
Message Broker
Message Bus
API Gateway
Service Discovery
Service Proxy
Monitoring
Tracing
Service Mesh
Cloud Native

Một số thư viện, công cụ hỗ trợ phân theo các nhóm chủ đề khác nhau

CQRS

MediatR

Mapping

AutoMapper, Mapster

Validation

FluentValidation
Ensure.That
Dawn.Guard
Ardalis.GuardClauses

Datetime

Nodatime

Depencency Injection

Microsoft.Extensions.DependencyInjection + Scrutor
Autofac
Unity
NInject
Castle.Windsor
CommonServiceLocator
Structuremap
SimpleInjector
DryIoc
Database

Relational Database
SQL Server (ADO.NET, System.Data.SqlClient, Microsoft.EntityFrameworkCore.SqlServer)
SQLite, Realm
MySQL, MariaDB, Vitess, TiDB (MySqlConnector, MySql.Data,
Pomelo.EntityFrameworkCore.MySql)
PostgreSQL, CockroachDB (Npgsql.EntityFrameworkCore.PostgreSQL, Marten)

NoSQL Databases
MongoDB (MongoDB.Driver, MongoDB.Driver.GridFS)
CouchDB (CouchDB.NET)
Cassandra (CassandraCSharpDriver)
RavenDB (RavenDB.Client)

Key-Value Storage
Redis
LevelDB, RocksDB
TiKV

Cloud Databases
Azure CosmosDB
Amazon DynamoDB

Dapper
EF Core
NHibernate

GraphQL
HotChocolate
GraphQL .NET
Tanka.graphql

GraphQL.Server.Ui.Playground
GraphQL.Server.Ui.Voyager
GraphQL.Server.Ui.GraphiQL

Apollo

APIs

ASP .NET Core

Swashbuckle, NSwag

ServiceStack

File 

CsvHelper, EPPlus, ClosedXML, ExcelDataReader

Itextsharp, PdfSharp, DinkToPdf, IronPdf

SharpZipLib, System.IO.Compression.ZipFile, SharpCompress, DotNetZip
DocX
GemBox.Document

Serializer/Deserializer

Newtonsoft.Json, System.Text.Json, Utf8Json, ServiceStack.Text
MessagePack
protobuf-net

Testing

xUnit, NUnit
Moq, NSubstitute, FakeItEasy, AutoFixture, JustMock
FluentAssertions, Shouldly

OpenCover, AxoCover, dotCover

WebApplicationFactory, TestServer

Selenium, PuppeteerSharp

Genfu
Bogus
Faker-cs
NBuilder

Netling

Security

IdentityServer4
Microsoft.IdentityModel.JsonWebTokens
System.IdentityModel.Tokens.Jwt
Microsoft.IdentityModel.Tokens
Microsoft.AspNetCore.Authentication.JwtBearer
Microsoft.AspNetCore.Authentication.OpenIdConnect
Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Authentication.OAuth
Microsoft.AspNetCore.Authentication.Google
Microsoft.AspNetCore.Authentication.Facebook
Microsoft.AspNetCore.Authentication.Twitter
Microsoft.AspNetCore.Authentication.MicrosoftAccount
Microsoft.AspNetCore.Authorization
Microsoft.AspNetCore.Identity

FusionAuth
Keycloak

Logging

Serilog, Nlog, log4net


Fluentd, Logtash, Seq, Grafana Loki, Sentry.io, Graylog, Splunk, Loggly

Caching

Memory caching
Distributed caching (Redis, Memcached)
Database Caching

StackExchange.Redis
CacheManager
EasyCaching

Monitoring

App Metrics
Prometheus (Prometheus-net)
Grafana

Tracing

OpenTelemetry, OpenCensus, OpenTracing


Zipkin, Jaeger
Socket 

WebSocket (SignalR)
SuperSocket
BedrockFramework

Sync Messaging (REST)

RestSharp
System.Net.Http
Microsoft.AspNet.WebApi.Client
Refit
System.Net.Http.Json
RestEase
ServiceStack.HttpClient
RestClient.Net
Flurl.Http

Polly

Sync Messaging (RPC)

gRPC
Google.Protobuf
Grpc
Grpc.Core
Grpc.Reflection
Google.Api.Gax.Grpc
Grpc.Tools
Grpc.AspNetCore
protobuf-net.Grpc

Async Messaging

Message Broker
RabbitMQ (RabbitMQ.Client, RawRabbit)
Apache Kafka (Confluent.Kafka)
ActiveMQ
Azure Service Bus
Amazon SQS
MQTT (MQTTnet)
CloudEvents + NATS

Message Bus
CAP
EasyNetQ
Rebus
MassTransit
NServiceBus

API Gateway

Ocelot , Kong, Ntrada
Envoy
YARP

Background Tasks

HangFire, Quartz.NET, Coravel, FluentScheduler, Ncrontab


Worker Service

Search
ElasticSearch (Elasticsearch.Net, NEST)
Solr
Sphinx
Lucene.Net

Service Discovery

Consul
Neflix Eureka (Steeltoe.Discovery.ClientCore)

Service Mesh

Linkerd, Istio, Consul Connect, Kuma

Service Proxy, Load Balancer

Envoy
Nginx
HAProxy
Traefik

Kubernetes

Helm
Portainer, Rancher

Storing secrets 

Azure Key Vault


Vault (VaultSharp)

CI/CD
AppVeyor, Travis CI, GitLab CI, Bitbucket Pipelines, Azure Pipeline

Source Control

Git
Github, GitLab, Bitbucket

Web  Server

Nginx, Apache

Email, SMS 

MailKit, SendGrid, FluentEmail


Twilio

Health Checks

AspNetCore.HealthChecks.*

JetBrains Tools

Rider IDE
ReSharper
dotCover
dotPeek
dotTrace
dotMemory

Microservice Framework
Steeltoe
Foundatio
Abp

Graphics, Image Processing

SkiaSharp
EMGU.CV, OpenCVSharp
ImageProcessor
ImageResizer
ZXing.Net
Magick.NET

AWS

AWSSDK.*

Azure

Azure Active Directory


Azure SignalR Service
Azure App Service
Azure Functions
Azure Kubernetes Service

Code Analysis

StyleCop
SonarQube

Utilities
DynamicExpresso
GlobalExceptionHandler
Figgle
SmartFormat.NET
ReflectionMagic
Dbup, FluentMigrator, Redgate Flyway
System.ValueTuple
MessagePack
System.Reactive
Humanizer.Core
Nancy
Pipelines.Sockets.Unofficial
DnsClient
JetBrains.Annotations
SmartSql
LetsEncrypt
BenchmarkDotNet
ProxyKit
NewId
Morelinq, LinqKit
MetadataExtractor
Wangkanai.Detection
WebEssentials.AspNetCore.ServiceWorker
NetEscapades.AspNetCore.SecurityHeaders
Joonasw.AspNetCore.SecurityHeaders
NWebsec
WebMarkupMin
MiniProfiler
IPNetwork2
Exceptionless
AspNetCoreRateLimit
FluentFTP
WinSCP
Njsonschema
Xabe.FFmpeg
SSH.NET
StyleCop.Analyzers
FastMember
AngleSharp
NUglify
TimeZoneConverter
BCrypt.Net
QRCoder
NBitcoin
YamlDotNet
ReportGenerator
CommandLineParser
Antlr
WebGrease
MedallionShell
GMap.NET
Topshelf, Microsoft.Extensions.Hosting.WindowsServices

You might also like