微軟官方教學地址 :C# 檔案 - 入門、教學、參考。 | Microsoft Learn
b站視訊:
微軟官方教學地址:使用 ASP.NET Core 建立 Web API | Microsoft Learn
.NET 6教學,.Net Core 2022視訊教學,楊中科主講_嗶哩嗶哩_bilibili
Blazor 是一個使用 Blazor 生成互動式使用者端 Web UI 的框架:
使用 .NET 進行使用者端 Web 開發可提供以下優勢:
Blazor UI框架推薦
- Masa Blazor *作者推薦
- Bootstrap Blazor
- Ant Design Blazor
- MatBlazor
- Radzen Blazor
是一款功能強大的物件關係對映(O/RM)元件,支援 .NET Core 2.1+、.NET Framework 4.0+ 以及 Xamarin✨
Entity Framework (EF) Core 是輕量化、可延伸、開源和跨平臺版的常用 Entity Framework 資料存取技術。
Dapper是由Stack Overflow背後的團隊建立的micro-ORM。Dapper 是 .NET 的簡單物件對映器,在速度方面擁有 Micro ORM 之王的稱號,幾乎與使用原始 ADO.NET 資料讀取器一樣快。ORM是一個物件關係對映器,負責資料庫和程式語言之間的對映。
SQL Server是由Microsoft開發和推廣的關聯式資料庫管理系統(DBMS);
SQL Server使用方便,伸縮性好與相關軟體整合程度高;
SQL Server 資料庫引擎為關係型資料和結構化資料提供了更安全可靠的儲存功能。
MySQL 是最流行的關係型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關聯式資料庫管理系統)應用軟體之一。
PgSQL PostgreSQL 的歷史簡介. 現在被稱為 PostgreSQL 的物件- 關係型資料庫管理系統 (有一段時間被稱為 Postgres95)是從伯克利寫的 POSTGRES 軟體包發展而來的。. 經過十幾年的發展, PostgreSQL 是世界上可以獲得的最先進的 開放原始碼 的 資料庫系統 , 它提供了多版本並行控制,支援幾乎所有 SQL 構件 (包括 子查詢 , 事務 和使用者定義型別和函數), 並且可以獲得非常廣闊範圍的(開發)語言繫結(包括 C,C++,Java,perl,tcl,和 python)
中介軟體是介於應用系統和系統軟體之間的一類軟體,它使用系統軟體所提供的基礎服務(功能),銜接網路上應用系統的各個部分或不同的應用,能夠達到資源共用、功能共用的目的。它並沒有很嚴格的定義,但是普遍接受IDC的定義:中介軟體是一種獨立的系統軟體服務程式,分散式應用軟體藉助這種軟體在不同的技術之間共用資源,中介軟體位於客戶機伺服器的作業系統之上,管理計算資源和網路通訊。從這個意義上可以用一個等式來表示中介軟體:中介軟體=平臺+通訊,這也就限定了只有用於分散式系統中才能叫中介軟體,同時也把它與支撐軟體和實用軟體區分開來。
MongoDB 是一個基於分散式檔案儲存的資料庫。由 C++ 語言編寫。旨在為 WEB 應用提供可延伸的高效能資料儲存解決方案。
MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。
REmote DIctionary Server(Redis) 是一個由 Salvatore Sanfilippo 寫的 key-value 儲存系統,是跨平臺的非關係型資料庫。
Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協定、支援網路、可基於記憶體、分散式、可選永續性的鍵值對(Key-Value)儲存資料庫,並提供多種語言的 API。
Redis 通常被稱為資料結構伺服器,因為值(value)可以是字串(String)、雜湊(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等型別。
RabbitMQ是實現了高階訊息佇列協定(AMQP)的開源訊息代理軟體(亦稱訊息導向中介層)。RabbitMQ伺服器是用Erlang語言編寫的,而叢集和故障轉移是構建在開放電信平臺框架上的。所有主要的程式語言均有與代理介面通訊的使用者端庫。
Apache ActiveMQ是Apache軟體基金會所研發的開放原始碼訊息中介軟體;由於ActiveMQ是一個純Java程式,因此只需要作業系統支援Java虛擬機器器,ActiveMQ便可執行。
Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者規模的網站中的所有動作流資料。 這種動作(網頁瀏覽,搜尋和其他使用者的行動)是在現代網路上的許多社會功能的一個關鍵因素。 這些資料通常是由於吞吐量的要求而通過處理紀錄檔和紀錄檔聚合來解決。 對於像Hadoop的一樣的紀錄檔資料和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是通過Hadoop的並行載入機制來統一線上和離線的訊息處理,也是為了通過叢集機來提供實時的消費。
Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協定開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。
Compose 是用於定義和執行多容器 Docker 應用程式的工具。通過 Compose,您可以使用 YML 檔案來設定應用程式需要的所有服務。然後,使用一個命令,就可以從 YML 檔案設定中建立並啟動所有服務。
Drone是為繁忙的開發團隊提供的自助持續整合平臺。
CI 持續整合(Continuous Integration)
協同開發是目前主流的開發方式,也就是多位開發人員可以同時處理同一個應用的不同模組或者功能。
但是,如果企業計劃在同一天,將所有開發分支程式碼整合在一起,最終可能會花費很多時間和進行很多重複勞動,費事費力。因為程式碼衝突是難以避免的。
如果開發人員原生的環境和線上不一致的話,那麼這個問題就更加複雜了。
持續整合(CI)可以幫助開發者更加方便地將程式碼更改合併到主分支。
一旦開發人員將改動的程式碼合併到主分支,系統就會通過自動構建應用,並執行不同級別的自動化測試(通常是單元測試和整合測試)來驗證這些更改,確保這些更改沒有對應用造成破壞。
如果自動化測試發現新程式碼和現有程式碼之間存在衝突,CI 可以更加輕鬆地快速修復這些錯誤。
CD 持續交付(Continuous Delivery)
CI 在完成了構建、單元測試和整合測試這些自動化流程後,持續交付可以自動把已驗證的程式碼釋出到企業自己的儲存庫。
持續交付旨在建立一個可隨時將開發環境的功能部署到生產環境的程式碼庫。
在持續交付過程中,每個步驟都涉及到了測試自動化和程式碼釋出自動化。
在流程結束時,運維團隊可以快速、輕鬆地將應用部署到生產環境中。
CD 持續部署(Continuous Deployment)
對於一個完整、成熟的 CI/CD 管道來說,最後的階段是持續部署。
它是作為持續交付的延伸,持續部署可以自動將應用釋出到生產環境。
實際上,持續部署意味著開發人員對應用的改動,在編寫完成後的幾分鐘內就能及時生效(前提是它通過了自動化測試)。這更加便於運營團隊持續接收和整合使用者反饋。
總而言之,所有這些 CI/CD 的關聯步驟,都極大地降低了應用的部署風險。
不過,由於還需要編寫自動化測試以適應 CI/CD 管道中的各種測試和釋出階段,因此前期工作量還是很大的。
一種軟體開發技術- 面向服務的體系結構(SOA)架構樣式的一種變體,它提倡將單一應用程式劃分成一組小的服務,服務之間互相協調、互相配合,為使用者提供最終價值。每個服務執行在其獨立的程序中,服務與服務間採用輕量級的通訊機制互相溝通(通常是基於HTTP的RESTful API)。每個服務都圍繞著具體業務進行構建,並且能夠獨立地部署到生產環境、類生產環境等。另外,應儘量避免統一的、集中式的服務管理機制,對具體的一個服務而言,應根據上下文,選擇合適的語言、工具對其進行構建。
ABP是一個開源且檔案友好的應用程式框架。ABP不僅僅是一個框架,它還提供了一個最徍實踐的基於領域驅動設計(DDD)的體系結構模型,可以支援.net framework和.net core兩種技術流派。
ABP 框架特點
ABP 框架特別的功能
歡迎大佬繼續補充,壯大dotnet生態!
來著token的分享
技術交流群:737776595