本文主要是介绍2021年总结(2021年1月1日至2021年12月26日),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
时间飞快,转眼就到了年底,2021年就这么过去了,今年也是正式工作的第一年,记得好像是2020年7月13号进的公司,进入社会,9月7号转正,正式成为一名公司员工,到现在2021年12月26号大概有一年半的时间了。
看到网上,有大佬建议,最好每年都进行一个年终总结,这样会记录自己去年都做了些什么、做的怎么样,也会给来年一些方向,不至于浑浑噩噩,不知道生活/工作的方向在在哪里,毕竟这样的生活还要重复数十年。
有句名言特别喜欢:“你是把一年活成了365天,还是把一天重复了365遍”。
2021年的计划(愿望)完成情况
先说说去年的计划,也是愿望,希望自己能做到什么,我去年是有简单列了几项的,比较简单随意:
主要有四项:
- 多赚银子,超过6位数的存款;(√)
- 多看书,阅读书籍数量超过10本;(×)
- 好好使用业余时间,学会一门乐器;(×)
- 找个女朋友。(×)
第一条,基本完成了。每月定期存钱,勒紧裤腰带,按照自己定的额度往卡里存起,这样一来压着自己不要乱用钱,这也得益于一个朋友的提醒,建议我每月都要存钱,现在感觉是真有用,自己手里有钱了,就比较独立,再也不用担惊受怕被公司突然开了,碰到特别想买的,很实用的东西,也能轻松付款了,比如在2021年中秋前附件买的台式机,终于把我服役了7年之久的笔记本电脑给换了,就再也不用大老远跑到网吧里去打游戏,每天在家都能玩,非常开心!感觉买的很值。
第二条,好像只看了6本左右,没看够10本,一开始没想到10本书这么多,而且用的业余时间,自从买了台式机,看书看的少了,还是太爱玩游戏了。不过10本的目标有点多了,平时周末的时间比较紧张,下次把目标改小点,至少5本吧。
第三条,本来是打算把读研那会儿的小提琴学起来的,可是太难了,拉小提琴真是难上加难,周末的时间又比较宝贵,小提琴又比较难学,唉,以后怕是要放弃了。。。
第四条,单身狗的悲哀,依旧单身,还是性格的锅,比较腼腆内向,另外就是在这方面的时间花的太少了,很少去扩大自己的社交圈,那肯定只能单着了,这点需要反思,以后需要多花点时间在这上面,年龄越来越大了,该到了谈婚论嫁的年纪了~~
上面说的四项比较偏重生活了,后面的计划也要把工作给纳入进来。
2021年的工作
2021年开始,在工作上,也慢慢地开始做项目,承担任务了。
做的项目有:
- 参与了安卓相机应用的开发;
- 参与了windows平台QT软件的一些功能开发;
- 另外就是其他平台的相机驱动以及应用的开发了;
- 对V4L2的框架很熟悉,11月5号组内分享的就是这个。
做的还是一些基础的工作,没参与到核心技术的开发,核心技术方面都是我们组的zy负责,他设计框架,比如相机的数据流、应用界面、有哪些线程,线程之间如何传数据,我们往里面填东西,他比较有经验,七八年的老程序员了,技术需要沉淀。而且自己的基础还不是太好,因为以前是学C和Python的,C++的基础不是特别好,安卓也是现学的,好在学习能力比较强,学起来比较快。自己也在慢慢学习这些
以后打算深入学习的方向也是相机驱动了,要靠这门手艺吃饭了,但是其他涉及到的也要尽量学,技多不压身。
在工作上的:
在2021年认真学的V4L2框架,个人觉得要从五部分学吧:
- V4L2应用层
这部分主要是熟悉V4L2的那些应用命令,命令调用流程,注意事项等 - V4L2应用至驱动的联系
这部分对于做驱动的来说,很重要,需要清楚V4L2的每条命令对于底层驱动的哪部分,每条命令,对应驱动做了什么 - V4L2框架-media framework
这部分就是V4L2的媒体框架了,这部分会说到数据流的pipeline(管道)了,就是数据流向,从camera sensor到顶层应用的数据流了,一个一个模块是如何连接的,数据格式如何统一,比如
sensor->mipi->csi->isp->stat->vinc->video的数据流
- V4L2框架-videobuf2
这部分涉及到camera的数据管理了,因为相机的数据量比较大,内核会对其进行管理,保证数据稳定且快地从底层sensor流向应用层,所以就抽象出了videobuf2,用的队列管理,队列里面用的是双向链表,链表的每个子单元就包含有每一帧数据 - V4L2框架-ctrls
最后这部分就是ctrls了,这部分我还没认真细看,但知道大致意思,就是V4L2关于应用层对底层sensor的一些控制,比如修改sensor的曝光时间和增益了,可能会涉及到一些扩展命令的使用。
具体每部分怎么看,我自己是到网上找一些相关博客看,对着V4L2源码一步一步的看,那些大佬会对每一步进行分析讲解,然后再自己总结,加深印象,能理解使用即可。更有大佬,自己写代码去实现V4L2的框架,这个太厉害了,学不来,我连那些数据结构都还没搞明白呢,还是一步一步来。
第二个大的部分就是Android Camera2的学习了,2021年学习了相机应用的基本框架,会写一个基本的相机应用了,参考的是github的一个例子特别好:android-Camera2Basic,由这个例子,学习相机应用的基本框架、andorid hal层的数据流是比较好的,我们组的一个应用,就是基于这个例子开发出来的,很不错。
但我还是对于hal层了解的不是特别深,因为没有具体手机系统源码,MTK的有,但是比较老了,更想看的是高通的Hal层是如何设计的,但是没有系统源码。当时在开发手机相机应用的时候,后悔没认真学习hal层,因为一直在搞驱动,其实hal层的学习也不能丢下。
第三个大的部分自然是驱动了,一开始是做应用,应用做的差不多后,后面又回来做驱动了。一开始学的就是字符设备驱动了,因为字符设备用的很广泛,很多驱动都是字符设备驱动,比如前面说到的V4L2就是基于字符设备驱动来的,另外就是字符设备驱动比较简单吧,好理解,宋宝华的《Linux设备驱动开发详解》关于这部分讲的特别好。然后就是i2c驱动,因为camera sensor的驱动就是i2c驱动,比较重要,所以也认真看了下,但是没看的很细,后面有时间再加强一下。
另外,因为在开发的时候经常往Git上提交代码,所以现在会熟练地使用git了:git add->git commit->git push、撤销git add、撤销git commit、新建分支、切换分支、删除分支、rebase操作、切换git commit、回撤到某笔commit、cherry pick等。
不得不说,git真是做开发的神器,给Linus大神点个赞,膜拜大神!
最后的一部分就是开发语言的学习了,现在对C语言更加熟练了,写代码不仅仅只关注功能的实现了,还要注意代码的可扩展性和兼容性;C++慢慢地入门了,慢慢由面向过程思想转为面向对象的思想,熟悉封装特性、抽象为类特性,另外还对C++的多态有了更深的理解,因为在开发的时候用到了;然后,安卓的开发是现学的、边做边学,能做基础的安卓界面的开发,《Android的第一行源码》对入门比较友好;Qt的开发也是现学的,会用控件做基本的界面,知道信号和槽的使用,当时还用Qt完成了两个应用(进程)之间数据的传输,传输的数据就是camera的数据,用的进程间通信方式是WM_COPYDATA的方式,简单易用,传输稳定且快,感兴趣的可以看一下。
在生活上的:
在生活上的,2021年最大的收获莫过于学会做饭了!!想吃什么,可以自己做了!
自从2021年7月中旬,换房东后,租了一个带厨房的地方,一个月后,也就是8月15号,自己动手做了第一顿饭后,就开始了自己的做饭生涯,哈哈哈!做的第一顿饭是江西人都爱吃的辣椒炒肉,还有荷包蛋。
然后,几乎每天都会做饭,只做晚饭,午饭在公司吃。所以,到现在,已经能轻松驾驭做饭了,想吃什么,查下菜谱,把原材料买回来,边看边做,做多了就熟练了。现在我的招牌菜是啤酒鸭和辣椒炒肉,哈哈哈,以后打算把酸菜鱼给学了,因为也是我爱吃的!
还有就是前面说的,买了一台新的台式机!24寸的显示屏无论是玩游戏还是看电影都很爽!机械键盘打起字来,也很舒服。虽然忍痛花了将近7千多两银子,但感觉很值!真应了那句话:“贵的东西,买的时候心疼,但用的时候却一直很舒服!”
2022的计划(愿望)
因为以后的工作方向是camera驱动了,所以以后的学习重点是驱动方向,另外,若后面有机会的话,会再认真地学一下手机的Hal层,主要看一下camera数据是如何一步一步由底层驱动传到应用的,然后,也要加强对C++的学习,C++用的比较多,还是要从头一步一步把C++认真学一下,就硬啃《primer C++》 这本书了,还有就是需要了解一下锁啊、自旋锁、信号量、条件变量啊这些,多线程里面用的比较多,最后一部分就是对数据结构的学习了,这部分之前没学过,可能比较头疼,但是实际用的很多,比如链表,双向链表,在驱动源码里面经常看到,所以还是得学。
因此,2022的计划从工作、生活两块分别总结为以下几点:
工作上
- Camera驱动的深入学习,各相关驱动的学习:camera驱动总结,各相关驱动总结;
- 手机Hal层的camera数据流的学习:整理camera的数据流;(有机会)
- C++基础的加强:至少把书啃完一遍;
- 多线程之间的锁、信号量等的学习:熟练使用;
- 基础的数据结构的学习:至少得把链表学会。
生活上
-
当然是找个妹子啦;
优先级直接拉到第一位!其他的,全部排后面。 -
把上海有名的景点都逛一逛,不要太宅,多出去走一走,看一看;
-
利用业余时间,至少看够5本书。
THE END
这篇关于2021年总结(2021年1月1日至2021年12月26日)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!