首页 文章详情

我和 .NET 的故事

DotNet NB | 153 2022-03-08 05:01 0 0 0
UniSMS (合一短信)

我和 .NET 的故事

Intro

今年是 .NET 20 周年,你可能已经看到了很多关于 .NET 20 周年相关的活动介绍以及卢老师组织的 .NET 20 周年庆祝视频活动,.NET 20周年的直播你看了吗?

今天想分享一下我和 .NET 的故事~

.NET 历史上的关键时刻

  • 2000 年微软公布下一代互联网愿景:Microsoft 公布了其下一代软件和服务 Microsoft .NET 平台的愿景和路线图。
  • 2002 年 Visual Studio .NET 发布!:这个统一的 IDE 包括第一个 .NET 版本,允许您构建 Windows 客户端 (Windows Forms) 和 Web (ASP.NET) 应用程序,支持 C# 和 Visual Basic。
  • 2005 年 F# 语言诞生:F# 是第一个基于函数的 .NET 编程语言,由 Microsoft Research 的 Don Syme 开发。它最初是根据共享源代码许可证发布的,然后在 2010 年根据开源许可证 (Apache 2.0) 重新发布。
  • 2008 年 ASP.NET MVC 在 CodePlex 发布:Microsoft 在 MS-PL 许可下发布了 ASP.NET MVC 的源代码。到 2012 年,它在 Apache 2.0 下重新获得许可,并成为微软首批主要的开源项目之一。
  • 2014 年 .NET 开源,.NET 基金会成立:.NET 编译器平台 (Roslyn) 在 4 月的 Build 大会上作为开源发布,.NET 基金会成立。11 月,.NET Core 项目——一个跨平台的高性能实现——在 GitHub 上启动。
  • 2016 年微软收购 Xamarin,Mono 加入 .NET 基金会,.NET Core 1.0 发布:.NET Core 1.0 在 Red Hat DevNation 上发布,展示了微软对拥抱 Linux 的认真态度,并展示了其对开源的承诺。
  • 2021 年 .NET 6 在 .NET Conf 上正式发布:目前 .NET 的最新版本, .NET 有史以来速度最快的版本,微软以外的 7,000 多名贡献者做出了超过 21,000 项贡献。它包括 C# 10、F# 5 和许多新功能,以代码更加简洁、更快地迭代和更好地执行。
  • 2022 年 .NET 成功走过了 20 年

Story

我在大学的时候开始接触 .NET,我大学的专业是电气工程及其自动化,和 .NET 并没有关系,之所以能够接触 .NET 要感谢我们学校的大学生网络工作室,感谢带我们学习和成长的学长学姐,感谢我的组长,没有我的组长,我也不会进我们工作室,没有我们工作室,我也不会接触 .NET,也不会走上软件开发的道路,让我真正的多了一种人生选择。

我是 2012 年上的大学,2013 年第一次参加网络工作室的培训,开始接触 C# 和 .NET,最开始用的是 VS 2010,后面的 VS 每个版本都有用过了,当时有很多网站和系统还是 ASP.NET WebForm 做的,还维护过几个  ASP 的网站,2013 年 3 月份买了我的第一个笔记本电脑,暑假在学校参加学长学姐们组织的工作室的培训,不仅仅是 .NET 方面的,也有一些前端设计、PPT 、动画等方面的培训,在暑假培训结束后自己用 ASP.NET WebForm + SqlServer 实现了一个图书管理系统。

后来我们程序组分了三个方向,JAVA、.NET 和 PHP,我选择了 .NET,随着逐渐深入的了解 .NET,发现 .NET 还可以做很多有意思的事情,后来还买了一本 WP 开发的书学习开发 WP 应用,在 2014 年初入手了我第一个智能机,买了一个诺基亚的 Lumia 525,在暑假的时候我们工作室的同学做了我们学校第一版的新生宝典手机 App,我做了 WP 版本,另外一位 JAVA 方向的同学做了 Android 版本。





之所以想尝试一下 WP,也是想探索更多发展的可能性,当时我们学校买了 SiteServer(一个 .NET 的 CMS),设计组的同学学会写标签以后,简单的功能基本可以不需要做专门的后端开发,而且 PHP 开始流行起来,我的组长就转了 PHP,希望用 C#/.NET 创造更多可能性,当时还是挺喜欢 Win8/WP 的,WP 感觉可以是一个方向,然而现在 WP。。。

之后偶然的机会在网上看到了微软针对学生的一个项目 —— MSP(Microsoft Student Partner),现在已经改名为 MLSA(Microsoft Learn Student Ambassadors),于是抱着尝试的心态申请试了一下,后来也比较幸运的通过了。

2014 年下半年的时候我们开始做了我们学校一个新的项目,我们学校的活动室预约管理,在之前一直是线下找老师预约,团委的老师觉得很麻烦,想让我们做一个线上预约的功能,从线下转变为线上+线下,线上预约成功之后打印预约表之后再线下去找老师签字确认就可以了,避免同一个活动室同一个时间点很多人预约。使用的 ASP.NET WebForm 实现的,前端的设计和样式由我们设计组的大神搞定的。

2015 年算是正式的确定,不走我们专业的路子,也不考研,走上程序猿这条”不归路“,15 年暑假和工作室的几个小伙伴去郑州做了大半年的 JAVA 开发,做一个互联网金融产品,写了很多 JAVA 代码更感觉 C# 写起来更加舒服了。

2015 年底有幸作为 MSP 幸运玩家去北京参加在中国的微软技术大会,还遇到了十分给力的 MSP 队友,2016 年毕业设计完全用 .NET 技术搞定,用树莓派模拟一个人脸识别的门禁系统,树莓派装了一个 Win 10 Iot 系统,通过一个简单的发光二极管来模拟门禁的状态,用 ASP.NET 实现了人脸信息管理,做了一个 UWP 应用来实现人脸信息采集和人脸认证,人脸信息调用的微软的认知服务 API。

帮了两个同学做了毕业设计,搞了两个校级优秀,自己的毕设没拿到校级优秀,拿了一个学院优秀 ==

2016 年毕业之后和同学一起来了上海,来上海之后找了 .NET 的工作。工作以后周末找时间把学校做的预约系统打算用 MVC 重写一遍,虽然最后并没有投入使用,但是对我来说也是不错的,不仅仅是一个学习和实践的过程,也是维护自己一个开源项目的开始,在后面的版本中又更新到了 .NET Core,更新到 .NET 6,从原来的每次手动部署到 IIS,到利用 CI/CD 自动部署到 docker,到自动部署的 k8s 中,从原来的单机部署的单体应用到现在的集群部署,从原来的 MVC 前后端混合开发到现在的前后端分离,这些尝试的经历也同样是一笔十分宝贵的财富。

2016 年 .NET Core 正式发布,刚开始中文文档很差,尝试翻译了一点文档 https://weihanli.gitbook.io/asp-net-core-documentation/,后来发现博客园有更好的翻译后来就没翻译了。刚开始并没有马上用起来,最早开始用是使用 .NET Core 1.1 Preview 当时项目文件还不是现在的 .csproj,还是 project.json,可以参考 Commit: https://github.com/WeihanLi/SparkTodo/commit/77991848e55e2a17cd4f52a6948ecad64f319d16,SparkTodo 这个项目算是我的第一个 .NET Core 项目,后面就大部分开始使用了 .NET Core ,另外一个 .NET Core 项目是我和两个基友我们自己用来记账的一个小应用,稍微晚一些,开始使用的时候已经是 .NET Core 1.1 正式版了,已经开始使用 .csproj 作为项目文件了,可以参考 commit: https://github.com/WeihanLi/AccountingApp/commit/f1f3e08604a8dcdccf4a6ae1e3a33dc9afee0403,目前已经不再维护。

2016 年年底,非常幸运地又一次有机会参加微软技术大会了,现在已经毕业了已经不能作为 MSP 去参加了,不过能够免费参会也已经很不错了,此时 .NET Core 已经有一些公司已经开始用起来了,网易游戏有一部分项目已经开始客户端使用 Unity 服务器端使用 .NET Core ,也去听了张队的分享,也是这一年开始  .NET 又逐渐发展起来,全新的 .NET 时代要开始了

在大会结束之际,在亮总的带领下,非常幸运地和其他 MSP 小伙伴一起参观了微软亚研院

2017 年 8 月 .NET Core 2.0 发布,同时 .NET Standard 2.0 正式发布,从此开始很多 .NET Framework 项目开始向 .NET Core 迁移,支持 .NET Standard 2.0 的类库也越来越多,我自己封装的一个类库也开始支持 .NET Standard 2.0 了。

在 2018 年 7 月份,因为我个人原因换了一家公司,这家公司虽然很小,但是技术感觉还是比较不错的,基本是完全的前后端分离,前端是 angular,后端是 .NET Core 2.x(刚去的时候是 2.0 后面升级到了 2.1),在这家公司也学习了很多,成长了很多,改造一个单体应用,从单体改为分布式微服务系统,在此过程中也逐渐搭建和完善了 CI/CD 容器化部署、日志、报警等等,虽然在这里还没有正式地使用 Kubernetes,但也是我尝试 Kubernetes 的开始,我自己的开源项目也同样地进行了容器化改造,在此基础上学习了一些 k8s 的知识,最后将应用部署到了 kubernetes 上。

2019 年开始写公众号,目前一共写了有三百篇左右的文章,最近一段时间因为个人时间原因,更新的有些少,有时间会及时更新的,欢迎监督和催稿

2020 年 8 月,再次走到了一段新的旅程,入职了现在的公司,无论是技术还是基础设施都是我比较喜欢的, .NET Core on k8s,很喜欢,在工作的过程中有了更多的收获,在完成日常需求开发的同时有时也会发现一些 .NET 的 ”骚操作“,对于 k8s 的了解也更加地深入了,对于应用程序的监控和报警也有了进一步的认识,持续学习持续踩坑吧。

2021 年成功申请了微软  .NET 方向的 MVP,感谢张队的推荐,大家想申请微软 MVP 需要推荐的话也可以联系我。

希望未来能够继续为 .NET 做一些力所能及的贡献,为 .NET 社区和生态的发展贡献自己的绵薄之力。

More


2022 在路上,希望 .NET 越来越好,希望 .NETer 薪资越来越高,生活越来越好,心想事成~~


推荐阅读:
Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记
.NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记
.NET Core开发实战(第1课:课程介绍)--学习笔记

点击下方卡片关注DotNet NB

一起交流学习

▲ 点击上方卡片关注DotNet NB,一起交流学习

请在公众号后台

回复 【路线图】获取.NET 2021开发者路线图
回复 【原创内容】获取公众号原创内容
回复 【峰会视频】获取.NET Conf开发者大会视频
回复 【个人简介】获取作者个人简介
回复 【年终总结】获取作者年终总结
回复 加群加入DotNet NB 交流学习群

长按识别下方二维码,或点击阅读原文。和我一起,交流学习,分享心得。


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter