北京黄村专业网站建设价钱,qq群排名优化软件购买,企业网站维护工作计划,泉州网站建设推广企业这几天一直在琢磨在我现有技术认知基础上#xff0c;未来如何做技术提升。
日思夜想#xff0c;我整理出了我自己的一套学习规划方案#xff0c;并希望在实施过程中能够不断调整学习方案与方式#xff0c;以接近自我提升的效率最大化。
从以下几个大的方面来得到提升未来如何做技术提升。
日思夜想我整理出了我自己的一套学习规划方案并希望在实施过程中能够不断调整学习方案与方式以接近自我提升的效率最大化。
从以下几个大的方面来得到提升
看源码算法与数据结构经典书籍
如果我切实能从以上方面有所收获并不断深入遇到瓶颈时我可以考虑
看基础(操作系统计算机组成原理...)数学...
一切看起来都是那么庞大...每一个点都可以琢磨三五年成长是需要从长计议的上面的方案也需要在一个合适的时间(初版先体验感受)写出细节。人是矛盾的有时候我总担心过度思考最终得不到一个好的执行有时候直接拿起来做又担心战略方向错误这又需要不断磨练精进自我的思维能力。不过现在来说我最需要拿出执行力。
如果是看源码的话我能够得到的了解/提升
扎实语言基础知识所以我在看源码过程中如果涉及到比较生疏的知识点我也会动手coding并做记录某个概念的底层实现(如依赖倒置、并发模型)某个组件的工作流优秀的代码设计
我会怎么做
带着问题看记录看的过程了解源码后能够在此源码基础上添加新功能
看源码过程中涉及到的比较生疏的知识点 lambdaget属性的简写 _age _age01 使用_age a * b 而不是 _age a * b的好处是前者可以在被调用前再计算右边的算式后者需要在全局变量被加载时就计算出右边的算式。换句话说前者是懒加载后者是预加载。前者可以做到比较好的性能管理。
using语句在哪里
.net6默认采用的c#语法版本是c# 10所以在asp .net 6 mvc的program.cs中看不到using语句。c#支持global using意思是可以将可能在多个类文件中同时引用的程序集写在一个地方如using.cs。但是我看了每一个文件都没看到我想看到的那个“using.cs”其实是asp .net 6把这个配置写在了项目模版中(.csproj)
启用此配置global using默认会有 看源码实现时方法内容全是throw null
这是因为微软在C# 7.1开始引入了“引用程序集”的概念源码有具体实现说项目引用的是实现程序集。引用程序集更轻量化、兼容性更强。微软对引用程序集的说明引用程序集。微软就不能给个配置方式可以让我们引用实现程序集方便调试与代码理解.. 那么如果我们想看源码应该怎么破
找到对应的dll反编译 .net的反编译工具ILSpy.net core为开源项目可以从github获取源码 源码地址aspnetcore(注意通过切换分支/tag的方式切换到当前框架版本)
源码内容
通过抛出问题的方式来看源码目的性会更强理解会更深刻。
1.我最关心的ASP .NET MVC的工作流或者说 项目启动会做哪些事情
这个问题解决起来比较直观ASP .NET作为控制台项目自然启动项为Program.Main只是ASP .NET 6简化了写法Program中不再包含main函数那么我们只需要看Program所有代码执行逻辑深入了解底层实现就可以知道项目做了什么事情 var builder WebApplication.CreateBuilder(args);
通过这段代码我们可以拿到一个builder对象。
首先看看WebApplication类定义是 The web application used to configure the HTTP pipeline, and routes. 解释被用来配置HTTP管道和路由的web应用。
然后看看CreateBuilder()是如何创建这个builder对象的