2021年总结(2021年1月1日至2021年12月26日)

2024-04-20 11:48
文章标签 总结 2021 26 日至

本文主要是介绍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日)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920179

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern

暑期学习总结

iOS学习 前言无限轮播图换头像网络请求按钮的configuration属性总结 前言 经过暑期培训,完成了五个项目的仿写,在项目中将零散的内容经过实践学习,有了不少收获,因此来总结一下比较重要的内容。 无限轮播图 这是写项目的第一个难点,在很多项目中都有使用,越写越熟练。 原理为制造两个假页,在首和尾分别制作最后一页和第一页的假页,当移动到假页时,使用取消动画的方式跳到