2017年09月01日正式入职。
之前的比较正式的实习是在Robotron Datenbank-Software公司IT支持部写了一个工作流的申请物件系统,毕设做的是将该系统与公司的其他信息系统整合起来。
该系统的重点在于需要用到一个状态机。每个流程的点都加上一个status来维持该点的信息,包括读写权限。另外,主要是学习解决了AngularJS的前端异步请求时同步加载的问题。
该系统为本人第一次独立完成的一个小型系统。也为现在的入职工作做了一定的铺垫。
从入职到今天(09.30),正好满一个月。接下来写写这一个月我都学到了什么,温故才能知新。
目前入职岗位是.Net工程师,主要工作是基础架构。
.Net之前从未接触过,因此算一个小白入手。
入职前两天,老大给我一本书《CLR via C#》,相信很多人都知道这本书,书是不错,但对我来说可能略微深了点。花了两天时间看完了基础的语法,了解了.Net的CLR机制。各种原因不建议马上接触里面细节的部分,如CLR寄宿,异步IO操作之类的,反正之前也有点线程基础,这些以后遇到再看也不迟。
接下来开始接触公司项目的代码,因期间公司库存没有开发机,一直在等新机,所以配置什么的一周后才装好。
开始阅读公司代码时,每天小组开晨会,我其实业务什么的都不太熟悉,听的云里雾里。但所幸还是记住了某天跟我说这一块消息重传的优化就交给你了。
之后就一直在看原有的重传机制。 看完后画出原有的重传时序图,以及流程图。修修改改了几次,然后迷迷糊糊了几天,没什么头绪,之后老大来跟我讲解了一番,让我画优化后的重传时序图。
一开始我看代码里Job平台的参数是从RabbitMQ里传过来的,就以为重传优化也要用RabbitMQ,于是看了很多相关的东西。包括实现AMQP的延时重传之类的。
之后才知道要改成Kafka重传消息。然后又粗略的看了Kafka的东西。
两天后画出了优化的图。然后开始在callback和resend process处分析数据流,开始写代码。期间又修改了两次优化的图,终于图算合格了。然后现在把大致的优化代码添加完了。
截止今天早上,还有一些代码内部的调用问题,涉及数据库调用的查询方法,和Vo,Dto的一些问题还没解决。因快双十一,我老大很忙很忙。。。我一直找不到合适时间再问。晚上等他有空再问,问完国庆来公司改一改,目测就可以完成了。
在上述的第一个任务做重传优化时,学到的最重要的一点是,在优化一个模块时,前期需要花很多时间把所有的数据流向都弄明白,并且要清楚每个模块之间的关系是什么,前期的分析工作做足了,到后面实现代码的时候,一切就都很顺利了。
以上是我这一个月学到的关于我的第一个任务的东西。
在这一个月里,还零零散散的学了很多知识点。
什么定制特性啊,反射序列化啊,AMQP协议啊,RPC,NUnit,JustMock,async,ConcurrentDictionary,Extensions等等。