前言

时间飞快,转眼就到了年底,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日)相关推荐

  1. Python 计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上

    题目内容: 根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上? a) 1900.1.1是星期一 b) 1月,3月,5月,7月,8月,10月和12月是31 ...

  2. 【练习题】根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?

     题目内容: 根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上? a)  1900.1.1是星期一 b)  1月,3月,5月,7月,8月,10月和1 ...

  3. python输出一年有多少天多少时分秒_python:计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上...

    # -*- coding: UTF-8 -*- """ Created on 2017/4/2 @author: cat """ impor ...

  4. 根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?

    -- coding: utf-8 -- """ Created on Sun Sep 06 08:51:53 2015 @author: MONKEY 根据下列信息计算在 ...

  5. python:计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上

    根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上? a) 1900.1.1是星期一 b) 1月,3月,5月,7月,8月,10月和12月是31天 c) 4 ...

  6. 2019年12月计算机统考答案,2019年12月计算机等级WPS考前冲刺练习题及答案

    [导语]2019年12月计算机等级考试已经进入冲刺阶段,为了方便考生及时有效的备考,那么,无忧考网为您精心整理了2019年12月计算机等级WPS考前冲刺练习题及答案,把握机会抓紧练习吧.如想获取更多计 ...

  7. 零界之痕30号服务器维护,零界之痕12月9日更新了什么 12月9日更新维护公告介绍...

    零界之痕官方宣布将会在今天的凌晨到3点进行停服更新维护维护时间长达三个小时,在维护的过程中可能会时间延长,也有可能提前结束,具体要也开服时间为准,并且在结束后官方会对玩家做出一定的补偿,拿到200的虚 ...

  8. 2020年12月陕西计算机等级考试,2020年12月陕西全国计算机应用水平考试报名时间...

    2020年12月陕西省全国计算机应用水平考试报名时间为11月18日10∶00至20日18∶00. 2020年12月陕西省全国计算机应用水平考试报名时间 本次考试实行个人网上报名,时间为11月18日10 ...

  9. 2016年12月计算机等级考试,2016年12月计算机二级考试练习

    2016年12月计算机二级考试练习 导语:练习是帮助我们巩固知识的最好方法,以下是小编为大家整理的2016年12月计算机二级考试练习题,希望对大家有帮助! 1.五笔字型汉字输入法的编码属于( ). A ...

  10. 2014年11月3日至2014年12月29日

    2014年11月3日 1.在MyEclipse中运行写好的MapReducer,抛出: 2014-11-0310:59:24,729 WARN [main] util.NativeCodeLoader ...

最新文章

  1. R语言基于DALEX包进行特征筛选(feature selection)
  2. php写入记录日志,【转】PHP错误处理写入日志记录
  3. HTML5之内嵌框架
  4. centos6.10中部署percona-mysql双实例的方法
  5. wxWidgets:避免内存泄漏
  6. 网络模型和TCP协议族
  7. 表达爱意的程序_如何像程序员一样表达爱意❤️
  8. elasticsearch中集群选举中的ping源码解析
  9. python添加lxml库_Python lxml库简介
  10. Oracle数据库sql语句空字段筛选方法,sql语句值为空判断方法
  11. Codeforces C. Even Number Addicts
  12. 编程语言的宗教狂热和十字军东征 (转)
  13. vue-cli-service build 如何环境设置,打出不同环境的包
  14. 网络安全[脚本小子] -- SSI注入
  15. (附源码)SSM学生网上请假系统JAVA计算机毕业设计项目
  16. 移动医疗是什么 移动医疗应用实例
  17. unity设置中文版
  18. html5 游戏 闪退,WeGame闪退怎么办?WeGame闪退的六种解决办法
  19. PLC信号处理系列之开关量信号(DI)防抖
  20. 排序算法c语言描述---归并排序

热门文章

  1. c语言编程从入门到精通+pdf下载,编程大讲坛 C语言核心开发技术从入门到精通 陈强 pdf扫描版...
  2. bl系列刀片(blade)服务器,HPE Integrity BL860c i6 刀片服务器
  3. 四足机器人的机械结构
  4. java swing背景_java Swing中添加背景图片(总结)
  5. 人类历史上最经典的13句话,那句你亲身感触过,也算是测试一下你的人生阅历吧
  6. Ironic Key Technologies--IPMI
  7. RDP报表工具全新发布V2.0
  8. .net6.0wpf如何使用winform控件
  9. 从PSCAD中导出数据并绘图MATLAB程序
  10. 【面试题】 面试官:说说你对 TypeScript 中枚举类型的理解?应用场景?