壹佰文章总结| 关于ASP.NETCore的分享之路
公眾號不讓放外網鏈接,點擊【閱讀原文】,去我的博客園,可以看對應的詳細文章。
?
(關于學習ASP.NET Core需要了解和掌握的知識點圖)
?
一言不合就來圖,各位博客園小伙伴大家好,感覺好久沒有寫文章了,自從春節開始,中間經歷種種,慢慢的就開始微信公眾號發文了,原因有很多,不做說明,不好的地方就是不知道目錄鏈接,所以還是發到博客園吧。
?
請注意:我不是做框架的,BCVP只是作為案例來配合文章視頻,掌握了技術才是關鍵。
?
為什么要突然寫這篇了呢,是因為這一年我又寫了一些文章和幾個視頻,但是因為比較雜亂無章,很多人都找不到自己想要看的資料,一直向我反饋很多次了,時不時的在QQ群里問相關的知識點,或者一直在百度,畢竟我已經總結過了,要是百度未免有些浪費時間,所以就打算總結出來,這樣方便大家查找,也方便我分享指導,更是自我的一個總結吧。你可能會問,那你之前為啥不總結,因為我現在基本已經該講的都講完了,畢竟已經快到K8s,所以總體的總結一下,情有可原吧。
?
上邊這個路線圖呢,我個人認為沒必要都學會,一半足矣,當然會的越多肯定越好,只不過精力不足的情況下,還是要打基礎,然后看服務,最后寫業務,這是我的總結的。好啦,下邊就開始總結吧,文章采用list列表的形式,會對每篇文章/視頻簡要描述,這樣你一看就大概知道這是講啥的了。
?
這是我這兩年講解的知識點大綱導圖:
?(在線思維導圖工具:mindmeister)
?
?
?
ASP.NET CORE學習指南
?
PS:
1、下文說的知識點基本都是netcore3.1版本的,特別標注為(視頻)的,是視頻教程,其他的皆是文章教程
2、點擊每一個小標題即可到達目的鏈接。
3、官網永遠是最好的老師:
https://docs.microsoft.com/zh-cn/dotnet/core
4、一共73篇ASP.NetCore基礎知識+19篇Ids4內容+23篇DDD = 115(篇/個 視頻和文章)
?
基礎知識掌握部分
A.1、后端WebApi項目初探搭建
本文主要是講解了我們如何創建一個ASP.NETCore項目,并對其中的初始的幾個重要文件和Class類文件做了簡單的講解和梳理,看完之后,可以動手創建一個初始化項目。
A.2、ASP.NET Core框架基礎(視頻)
本視頻從為什么學習ASP.NETCore入手,講解了其發展歷史、相應的執行過程、以及如何命令行創建項目。
A.3、運行原理解析(視頻)
本視頻簡單分析了ASP.NETCore的運行原理、重要文件的分析、如何下載查看源碼、Host項目啟動過程分析。
A.4、進程內和進程外討論(視頻)
視頻重點分析了,NetCore和.NetFwk之間的區別和聯系,是如何運行起來的,進程內和進程外的含義。
A.5、NetCore編譯和運行時過程(視頻)
通過直播的形式,分析了ASP.NETCore是如何編譯的,也說明了運行時執行的過程是怎樣的,有助于理解項目啟動。
B.1、Swagger接口文檔的使用
文章講解了如何在ASP.NETCore Webapi項目中,引入接口文檔swagger,并自定義index.html首頁。
B.2、Swagger代碼拷貝(視頻)
視頻版講解如何從blog.core項目中,把Swagger組件部分的代碼拷貝出來。
B.3、Swagger如何配合使用API多版本
自寫方案,比較簡單,比較low,可以借鑒和參考,如何配置swagger,使用api版本控制
C.1、JWT認證授權過程
文章分析了JWT令牌的由來和組成部分,自定義認證中間件和官方認證中間件(推薦使用)來講解如何認證token有效性,如何在Swagger中開啟小鎖,以及其他比如Claim聲明等小知識點。
C.2、JWT原理詳解(視頻版,NetCore2.2版本)
視頻講解API保護的幾種方案、JWT的核心知識、如何使用JWT,令牌是如何存到HTTPContext中,如何解析Claim、使用的好處等
C.3、簡單角色授權(視頻)
通過直播的形式,手寫代碼,如何基于角色的簡單授權,生成令牌(3+2),認證過程演示等。
C.4、授權和上下文的關系(視頻)
通過直播,講解授權是如何讓JWT令牌這個字符串,變成系統的HttpContext內存中的。
C.5、權限認證流程解析,7個表,實現數據庫復雜策略鑒權
本文講解最簡單的一種授權認證方案,將接口、菜單、角色、用戶四個模板給結合在一起,實現基于數據庫接寶的復雜策略授權。
C.6、JWT滑動刷新
通過一個很簡單的小技巧,將JWT失效后,如何做到前端無感刷新的案例,有一定的參考意義。
C.7、基于數據庫的復雜策略授權(視頻)
通過直播的形式,分析了BlogCore項目中,是如何實現JWT 基于數據庫 復雜的認證策略授權的。
C.8、如何從HttpContext中獲取用戶信息(視頻)
上邊我們說了token是如何轉成HttpContext內存中的,那這篇講的是,如何從內存中,把用戶信息取出來,實現閉環。
D.1、什么是倉儲模式
說白了,很像之前的三層架構的數據訪問層,只不過是想把這個倉儲的概念說出來,讓大家先了解,為DDD打基礎。
D.2、泛型基類倉儲的使用
用了泛型基類,可以省去每個倉儲和服務文件,都寫CURD等基礎操作了。
D.3、用泛型倉儲做服務注入
通過泛型倉儲的形式,可以省去多余不必需要的空倉儲子文件,同時也去掉倉儲接口層,如果倉儲層。
E.1、依賴注入與IOC
大篇幅講解依賴注入的由來、好處、使用方法、三種聲明周期注冊方式、容器化管理含義、Autofac組件使用、批量服務注冊,無接口注冊等。
E.2、原生依賴注入一對多
簡單的實現一個接口,多個實現的注入方案。
E.3、依賴注入原理解析(視頻)
視頻的形式,深入分析控制反轉的由來、為什么使用、注入的步驟、三種注冊方法、三種注入方法、Autofac組件使用、查看是否注入成功等;
E.4、三個生命周期注冊糾結說明(視頻)
是針對上一個視頻的補充說明。
E.5、Autofac組件使用(視頻)
講解如何從blogcore項目中,把依賴注入Autofac組件的代碼給copy出來,自己使用。
E.6、依賴注入直播(視頻)
通過直播的形式,手敲代碼,也是使用Autofac組件來實現。
F.1、AOP切面編程初探
通過兩個案例:AOP緩存和AOP日志,來配合講解切面編程的原理。
F.2、AOP結合Redis實現切面緩存
切面編程的第三個案例:Redis緩存。
F.3、AOP切面編程原理分析(視頻)
視頻的形式,分析什么是AOP、面向過程/面向對象/面向切面/面向服務之間的發展歷程和關系、切面編程的優勢、使用場景等。
F.4、AOP原理—動態代理(視頻)
以直播的形式,分享AOP的核心思想:動態代理是如何將目標類做代理服務的。
G.1、DTOs數據傳輸對象
第一次將視圖模型、對象傳輸引出討論,并介紹如何將對象進行合理化映射,以及最后的Automapper的使用。
G.2、Dto與多模型(視頻)
通過視頻的講解,進一步討論為什么項目中需要用到多個模型,已經模型之間的傳輸和體現形式。
G.3、Automapper對象映射(視頻)
將Blog.Core中對應的Automapper組件的使用的內容抽離出來,更好的方便對組件的學習。
H.1、基于Log4net的全局異常日志
文章主要包含兩個部分,第一個是全局異常處理,第二個就是集成日志,這里使用的是Log4net,目前這個日志方案和我blogcore的不一樣,我還在修改中,備注。
H.2、Log4Net日志處理(視頻)
視頻是將Blog.Core中對應的Log4net組件的部分內容給抽離出來,可以針對性學習,這里的代碼是最終正式且正確的。
H.3、日志_Serilog(視頻)
通過直播的形式,一步步給大家講解如何在Asp.NetCore中使用Serilog組件。
I.1、配置IConfiguration(視頻)
視頻講解如何在Blog.Core中來使用配置,并對Appconfig.cs類抽離出來,有一定的參考價值。
I.2、變量與配置(視頻)
也是一期視頻,分析了下平時開發的時候是如何使用配置的,主要列舉了常見的幾種方案。
J.1、跨域與代理,3.0正式版
本文主要是下邊兩篇文章的總結篇,而且是基于netcore3.0的,可以只看本文即可,當然可以看下邊兩篇,講解了四種平時開發中必須用到的方案和技術,JSONP、CORS、devProxy、Nginx。
J.2、三種跨域比較
比較原始的3種開發方案,主要是在.Net Fwk中使用的,分別是JsonP,請求頭,CORS。
J.3、另外兩種方案實現跨域
在上邊的基礎上,講解了vue項目中用到的本地devProxy代理模式,和部署到線上后的nginx反向代理,來實現跨域。
J.4、跨域原理詳解(視頻)
視頻不僅講解了下跨域的原理,還列舉了常見開發的六種跨域方案,比較詳細,值得觀看。
J.5、CORS跨域與釣魚(視頻)
將Blog.Core項目中關于CORS跨域的那部分代碼給抽離出來,更方便在新的項目中使用。
K.1、Ip限流(視頻)
也是把Blog.Core中的代碼抽離講解,起到一定的限流的作用,有一定的借鑒,使用組件AspNetCoreRateLimit
L.1、基于AOP實現接口性能分析
將AOP、SqlSugar的Sql輸出、Miniprefiler三個組件相結合,實現AOP切面的接口性能分析,并在swagger中輸出sql日志等多個日志。
L.2、性能監控分析MiniProfiler(視頻)
通過視頻的方式,將Blog.Core中,關于性能監控的部分抽離出來,也同時講解了如何自定義Swagger首頁問題。
M.1、最全的部署方案和錯誤分析
本文比較全面的講解了,如何在windows、CentOs、Ubuntu等系統上部署前后端分離項目,也講解了如何使用IIS和Nginx等代理服務器,最后也列舉了前后端部署的時候比較常見的錯誤案例和解決辦法,從404到503。
M.2、在線項目全部遷移到Linux
作為開源的六個在線項目,個人表示還是有點兒借鑒意義的,目前都已經遷移到了Linux服務器,文章列舉了方案和方法,也有對問題的解決方案。
M.3、在Windows上部署Aspnetcore(視頻)
以視頻的形式,講解了ASP.NETCore項目在win系統上的多種部署方案,獨立部署,框架依賴部署等等,如何選擇合理的服務器,如何安裝指定的依賴環境,以及可能在部署中遇到了常見問題,比如缺少文件,環境錯誤,跨域問題等。
M.4、在Linux上部署Aspnetcore(視頻)
和上邊的講解內容一樣,只不過是在CentOS系統上講解。
M.5、在Azure上部署Aspnetcore(視頻)
內容同上,通過三個小視頻,講解第一次如何注冊和使用Azure,以及如何部署。
M.6、BlogCore在IIS中的三種部署方案(視頻)
和上邊的內容不太一樣,本視頻主要用BCVP的三端項目作為案例,講解前后端是如何在IIS中部署的,比如新建虛擬目錄還是靜態文件等等。
M.7、Nginx+Git的形式部署BlogCore(視頻)
前邊幾種都是在本地publish發布好后,上傳到服務器再部署,本視頻是通過git的形式,將源代碼clone到服務器,實現手動版的快速部署。
M.8、BlogCore前后端部署Linux(視頻)
用BCVP前后端項目,部署在Linux,可能和上邊的視頻有重復。
N.1、Redis的異步開發
使用的組件是微軟官方推薦的StackExchange.Redis,然后用異步方式可以解決一些問題。
N.2、StackEx.Redis的安裝與使用(視頻)
通過視頻的形式,基于BlogCore來講解和分析如何使用Redis。
N.3、基于Redis的消息隊列概要
很簡單的實現MQ,支持一個發布多種訂閱。
O.1、集成任務調度Quart.Net
參考作者@Kawhi,來設計的一個基于Quart.Net的任務調度中心。
O.2、任務調度的使用(視頻)
主要講解BlogCore中是如何使用的,并把該部分代碼給抽離出來,方便獨立學習。
P.1、基于SignalR實時通信實現日志推送
本文基于NetCore項目,結合SignalR,將后端項目五種日志實時推送到Vue的Admin項目,比如異常日志,操作訪問日志,sql日志等等。
P.2、SignalR通訊初體驗(視頻)
采用視頻的形式,從新寫Demo代碼,用js來講解。
P.3、SignalR指定用戶組發消息(視頻)
上邊的是對全部人發消息,本視頻是針對指定的用戶群體,用戶組Group發消息。
P.4、SignalR通過JWT實現用戶間通訊(視頻)
本視頻繼續深入,通過令牌的方式,識別指定的某個用戶,并實現相互之間的通訊。
Q.1、xUnit測試——單元測試(視頻)
借鑒eShopOnContainer架構,用計算器的小方法入手,講解TDD是如何實現快速敏捷開發的,對理解單元測試有一定的幫助。
Q.2、xUnit測試——功能集成測試(視頻)
在上邊單元測試的基礎上,進一步說明功能測試,如何實現項目某個功能模塊是否成功。
R.1、使用Docker部署Asp.NetCore應用
文章用BlogCore作為真是案例,在CentOS系統上安裝Docker,并部署相應的應用,注意在安裝的過程中,盡量先安裝Docker,再安裝SDK,如果先安裝SDK,可能會出現倉儲的異常更新問題,解決方案是,刪除了,再安裝,然后再添加倉儲源文件。
R.2、在Docker中配置ASP.NETCore的HTTPS模式
內容很簡單,就是對Docker中的Aspnetcore應用,配置Https的安全模式,需要證書。
R.3、Dcoker容器化操作(視頻)
通過視頻的形式,講解如何在Linux系統上,安裝Docker,并部署項目。
R.4、Docker端口映射解析(視頻)
講解我們在使用Docker的時候,如何在ASP.NETCore項目中,配置端口,并合理的Expose端口,才能實現監聽和代理。
R.5、Docker部署Vue應用(視頻)
除了可以構建后端應用,同樣可以將前端項目,比如vue,來構建鏡像,并生成運行容器。
R.6、Docker -v掛載配置文件到宿主機(視頻)
掛載是Docker應用中,很重要的一個技術,也是必須要學會的技能,合理使用掛載,對于容器的安全性,健壯性都很有幫助。
S.1、CICD,使用Docker安裝Jenkins
之前都是習慣了全家桶似的安裝Jenkins,當然如果公司想要更強大的功能可以一點點安裝,如果項目比較中等,用docker安裝就行了。
S.2、使用Jenkins發布和代理ASP.NETCore項目
上文已經安裝好后,可以部署core項目了,只不過會有問題,比如不能在Jenkins容器內使用dotnet命令,所以需要一個新的jenkin鏡像,我已經封裝好了,可以直接使用。
S.3、Jenkins的安裝與使用(視頻)
通過視頻的形式,給大家展示了使用一個空的全新的CentOS系統,一一說明如何安裝docker,如何安裝Jenkins,并如何配置core項目,并代理和反向代理等。
T.1、IdentityServer4系列教程(10篇文章)
因為Ids4的變動比較少,所以還是延續之前的目錄即可,還是比較工整的,一共文章十篇,這里就不過多的介紹了,從基礎知識,到表結構遷移,數據持久化,三端聯調,統一角色管理,安全加鎖等等多個方面講解了如何使用IdentityServer4項目。
T.2、Ids4學習視頻教程(9節視頻)
通過視頻的形式,更加深入的講解了我們開發ids4認證平臺的時候,需要掌握的核心知識點。
U.1、DDD視頻與文章(23個)
13篇文章+10個視頻,因為已經不是ASP.NETCore的基礎教程了,所以暫不描述。
?
?一共73篇ASP.NetCore基礎知識+19篇Ids4內容+23篇DDD = 115(篇/個 視頻和文章)
?未完待續。。。
點擊【閱讀原文】,博客園有對應的鏈接????
總結
以上是生活随笔為你收集整理的壹佰文章总结| 关于ASP.NETCore的分享之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: log4net直切ElasticSear
- 下一篇: 云原生时代,.NET5必将称王!