回首2018,展望2019--2018年终总结
Intro
马上就要回家过年了,是时候该总结一下这一年了,回首过去一年,没有做出多大的成就,还算是有收获,没有白过这一年。
工作
最主要的变动今年七月中旬从待了两年的途虎离职,八月入职了新公司。
在途虎养车待了两年的时间,因为自己的原因选择了离开,感谢在途虎两年来所有帮助我成长的小伙伴们,感谢刚入途虎的时候带我的师傅杨瑞,感谢仝哥,忠哥,增哥和那些门店组的小伙伴们,感谢仝哥申请让我去架构组,也要感谢大师愿意带我,让我有机会到架构组跟着大师修炼。跟着大师写了好多bug,尤其是改短信的时候,多次改出了bug,让大师帮我填坑,最后也学到了很多,提高了不少,感谢大师。
回顾在途虎的工作经历,自己算是曾经呆过三个项目组,刚入职在门店组,在门店组待了一年,后来转到了基础架构组,后因为大前端项目业务比较多开发人员较少,让我到大前端帮忙。
不管是在哪个项目组,都很有收获,都学到了很多,感谢每一份经历,感谢每一份宝贵的财富。
今天8月份开始入职了新公司,公司很小,创业公司,不过使用的技术还是比较不错的,完全的前后端分离,后端使用 .net core,前端使用 angular,技术总监人还不错,见识广博,知识面很广。
原来的单体项目打算做微服务,现在已经是各个项目相互独立,docker自动化部署,有一些基础类库也是由我开发的。
小公司也丰富了自己的技术栈,各方面都要了解一点,也写了一些别的语言,用 python 和 nodejs 去写爬虫
业余项目
这一年来主要维护的自己的业余项目
WeihanLi.Common
.net 基础类库,提供了丰富的扩展方法和帮助类,提升你的开发效率,提供了类似于 Dapper 的数据库扩展,还有其他很多扩展
WeihanLi.Npoi(新增)
NPOI扩展,更方便的导入导出excel 和csv
这是一个有故事的类库,下面请听我娓娓道来,
这个项目最初主要是给我女朋友做的,她每个月月底要对账,一堆excel要整理对比,于是想通过代码去解决一部分问题,提高效率,开始是写了一个 console 项目,后来为了可以移植和重用,后面就做成了一个类库,后面使用的时候只需要引用 nuget 包,几行代码即可搞定,后面就是不断的做了一些优化以及参考借鉴了一些同类项目丰富功能。
后面因为使用 jmeter 进行压力测试的时候要参数化变量,增加了导入导出csv.
令我感到意外的是有一个老外竟然也有在用我的这个包,还给我发了邮件给我提了一个bug…
很感谢他的反馈,后来修复了,也很希望大家用的时候可以考虑一下,有什么问题的话可以随时给我发邮件或者直接在 Github 上提 issue。
WeihanLi.DataProtection(新增)
这个本是入职新公司之后的一个需求,主要是做数据保护,也算是一种反爬虫。根据最初的实现,后面对其进行抽象和重构,最后提炼出来了这个类库,可以对asp.net core 的参数进行保护
WeihanLi.Redis(新增)
基于 StackExchange.Redis 的 Redis 扩展,封装了缓存以及一些常用的计数器,防火墙,排行榜,队列,栈,分布式锁等。
有一些想法来自大师封装的途虎的 DotNetSdk 里的Redis方法。
AccessControlHelper
这个项目起源于来自在途虎门店组的时候要设计一个基于角色的权限控制管理,需要满足以下几点:
- 不同角色的用户可访问的资源不同,对于一个mvc应用来说,也就是不同角色的用户可访问的action不同
- 不同角色的用户看到的系统菜单不一样
- 不同角色的用户看到同一个页面,页面上的元素不一样
系统菜单的话可以根据用户的角色来查询数据库并缓存,这个组件主要实现了对 mvc 的 action 访问的限制和对页面元素的访问控制,对其进行了一定程度的抽象,用接口定义了访问策略,使用的时候只需要定义自己的访问策略即可使用,后面对 asp.net core也增加了支持,又增加了 tagHelper 的支持
ActivityReservation
这个项目就有点久远了,这个项目主要是由在学校的时候给学校团委老师做的一个活动室预约项目,原来在学校的时候是用的asp.net web form,后来到了途虎之后,抽时间把这个项目用asp.net mvc重新做了一下,最近把这个项目迁移到了asp.net core并增加容器化,现在这个项目借助Azure Pipeline 实现了自动部署,自动构建docker镜像,自动推送镜像,自动部署到我的服务器上。
微软大法好!!
AccountingApp
这个项目是因为之前和两个基友一块住,我们整租了一个自如的房子,然后开发了这个平时的账单就用这个来记录了,也算是一个 .net core 的练手项目。
SparkTodo
另一个 .net core 练手项目,使用.net core web api 结合了jwt身份验证以及 swagger 生成api文档
ProxyCrawler(新增)
代理爬虫,使用 topshelf + quartz.net 的代理爬虫windows服务,从网上多个网站爬取代理并聚合验证过滤掉可用的代理保存到redis中
后面还有一个代理监控管理的ui界面项目,但是一直拖着没弄。。希望2019年能抽出时间来做
DesignPatterns(新增)
重读《大话设计模式》,将里面的各种模式的代码用 C# 基于 .net core 2.0写了一遍。
后面打算把各种模式的 UML 图补充上,一直处于计划中。。。
展望
新的一年要做的事情也有很多
- 3月份报了驾校,到现在还没考科目二。。新的一年要把驾照抓紧时间考了
- 极客时间上买了一个 《数据结构与算法》的课,要好好过一遍,毕竟不是科班出身,这是弱项
- 自己维护的类库还要继续维护,具体要维护的根据已定的 Roadmap 和以后遇到的实际需求而定
- 学习 k8s,使用 docker 部署的webapp用 k8s部署
- 开发自己的博客系统
- 坚持简书日更(=====
能想到的暂时就这么多了,先这样吧,想起来了再补充。