大家好,我是bigsai,自己的出差生活已彻底结束,在这里和大家share一下。

持续两个半月,自己的第一次出差生活也算正式结束,这两个月写的几篇技术文都是摸鱼、熬夜偷偷整的,太不容易了。给大家简单分享分享!

0X01 时间经历

七月初伊始状态被安排这个任务,心中也是一个忐忑、未知的状态,中下旬和两位师弟,一位老师一起在研究生开始初期开发工作,面对完全陌生的项目、语言、环境,初期多多少少还是有些操蛋的,不能正确知道和理解:有什么、是什么、该怎么做,原地打滚也很多次,不过还好这个时候dls给了很多帮助和指导,工作之余给我们讲了很多我们不知道有趣的故事,我们给dls称作项目中技术的顶梁柱,不过当时处在武汉江夏洪山交界,最困惑的就是信号问题,经常没信号这对开发人员来说体验是比较差的。

八月初中后来转场在长沙的二十多天,这段期间的环境可能最难熬的吧,这段期间任务最重,核心的开发测试功能都是在这个阶段完成的,然后长沙的夏天真的太热了,每天都是汗流浃,工作的时间每天都期盼能够下雨。

再后来九月初就是转场阿拉善,攒着一口气对着最后的冲刺,每天就是面对无数黄沙,中午接受阳光暴晒,早晚冻成狗……

阿拉善景色

虽然环境很恶劣,但是还好的是团队的人都非常友好和谐,给了我们很多帮助,帮我和师弟也顶了很多内容和工作,也经常请我们喝茶颜悦色、吃饭,生活和工作上都非常照顾我们,虽然是挺熬人的,每天早早起,深夜回,但在忙碌生活中互相分享一些所见所闻、他们上学时候的经验、他们的出差生活,整个节奏相对也能适应的。

0X02 一些学习

拓宽技术栈

虽说大部分情况学一些对就业方向更相关的技术栈的内容在当前阶段对我们更有益,但是作为程序员你可能也不知道自己以后会遇到什么、分到什么项目组、做什么内容,如果有机会接触一些自己比较陌生的知识和内容最好还是接触一下,以防不时之需。

对于这次出差生活,项目的技术栈为cpp语言基础的一些内容,用到的东西有qt、tcp、udp、串口等内容,项目中的地图模块、视频模块、栅格图等模块基本都是老师那边解决好给我们移植的,因为对cpp这门语言的不熟悉,在开发途中遇到结构体赋值字节对齐、对象初始化、各种类型转化等等一系列问题,还好身边有cpp大哥能够帮我们及时解决问题不然估计可能又得波折好几番……

还有遇到一些偏硬的东西有的人软硬兼吃感觉还是非常牛,我们非常慕的……

边界异常考虑

我们写程序很多时候,会按照正常想法去开数组开内存,但是有时候可能就会出现比平常大很多的值的存在,这时候我们要考虑容器大小能够包含在正常范围的极限 (有点不正常但还是正常的数据),如果开的太大虽然可能会浪费不少内存,但是如果开小了造成越界就会导致程序挂了。

还有通信、函数收到的数据,可能很多时候可能是个非常异常的值也应该充分考虑,判空判NULL,判过大,判头判校验还是非常有必要的,因为在程序中要的就是有效数据,如果万一来个异常包没有被过滤被强行赋值可能触发一些方法调用造成一些意想不到的额结果。

做好日志排查

问题的排查,日志真的太重要了,其实我个人以前用日志排查问题也是非常少,开发途中程序经常遇到各种奇奇怪怪的问题,并且有很多难以溯源,经常一杯茶,一个bug一整天。这次跟着n哥在项目中各模块打满重要的日志,做好做美日志的格式输出,巧用grep筛选排查问题还是非常高效的。

当然除了日志外debug是开发途中非常有效找错方式。日志更偏向程序运行过程中的问题或错误,而debug更倾向查找程序代码块逻辑运行的问题或错误。

做好版本控制

在多人协同开发的时候,一定要做好版本控制,一个一个版本、一天一个版本非常容易出现版本冲突。版本控制优先推荐还是git或者svn等版本控制工具,如果不方便使用git手动合并版本也可以使用一些项目合并工具进行比对再合并。我们这次就吃了很多版本控制的亏(见笑了)……

传说中的手动控制版本

重视逻辑和算法

逻辑和算法真的无处不在,就在这次的项目中也存在很多地方需要逻辑和算法的地方,项目中最核心的两大块用到算法的地方一个是光电目标多次识别的类型判断、合并、去重、返回固定大小值,这个就像一个逻辑复杂一点的算法题一样有点基础就可以完成的,这块也是我提的思想大家认为没问题我负责的。

还有另一个就是路径规划算法,google earth pro制作给一张路网(很多点经纬度组成的路径),这就需要有良好的文件、字符处理能力,将文本中的内容提取到程序中完整存储是第一步,然后给一些任务点需要你规划一条路径能够覆盖所有任务点.当然这部分不是我负责的,我只是感兴趣写了一点算法和文件读写展示一下,感觉很有研究价值(有兴趣后面一起研究)。

全局路径规划

多多测试

写的程序不测试,就像一个定时炸弹,指不定就爆炸了,专业化、系统化测试对软件最后上线真的太重要了,开发者思维很容易将情况局限在自己的程序逻辑认知中。

0X03 新的旅程

对于这次无选择权的出差生活,8 11 7虽然一定程度非常非常的透支自己,我觉得还能够欣然接受,不管怎么样,趁着这次的出差机会,能够去武汉夜览长江大桥景色;也第一次去长沙品一杯茶颜悦色,目睹橘子洲头的伟人;也第一次坐飞机、领略大漠和沙漠风光(还有蚂蚁森林的梭梭林),毕竟一个人的行走范围就是他的世界春夏秋冬。

作为程序员,还是要休息好保持一个非常好的状态,低效熬时间降低效率我觉得确实得不偿失,很多时候一点点小问题因为头脑都昏了可能还得等清醒了才能发现很简单,效率远比时间的把控要重要……

最后,感谢这两个多月的所有相遇相识,从大家的身上学到了很多,让我的读研生活多了一丝炫彩。在家短暂休整两天后明天就要回南京了,从江阴校区搬到南京校区,离更多朋友更近了一些,但学习环境可能没以前那么惬意,南京有很多朋友和老同学可以相聚,也希望能够认识更多的朋友。

在这两月,也断断续续跟不少朋友联系过,有的还在考研奋战,有的备战实习成为offer收割机,有的也在实习外派,希望大家最后能有个好的结果!

刚结束上一个终点,下一个起点就又开始了,看看自己其实除去论文时间自己所剩时间也不是很多了,后面得好好学习,好好刷题,好好肝文,好好准备,upup!

欢迎各位加个好友交流

两个半月!出差终于结束啦相关推荐

  1. 【Python】P4994 终于结束的起点

    题目背景 终于结束的起点 终于写下句点 终于我们告别 终于我们又回到原点 -- 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演. 如果 ...

  2. [洛谷月赛]终于结束的起点

    题目背景 终于结束的起点 终于写下句点 终于我们告别 终于我们又回到原点 -- 一个个 Oler 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演. 如果 ...

  3. 五月天的《终于结束的起点》

    作者:将离 链接:https://www.zhihu.com/question/55080303/answer/144303735 来源:知乎 这首歌是去年五月天的第九张专辑的第十一首歌,它前奏是五月 ...

  4. luogu P4994 终于结束的起点

    题目背景 终于结束的起点 终于写下句点 终于我们告别 终于我们又回到原点 -- 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演. 如果 ...

  5. 终于结束的起点(滚动数组,记忆化搜索)

    任意门 终于结束的起点 题目背景 终于结束的起点 终于写下句点 终于我们告别 终于我们又回到原点 -- 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次 ...

  6. 【洛谷 4994】终于结束的起点

    [题目] 传送门 题目背景: 终于结束的起点 终于写下句点 终于我们告别 终于我们又回到原点 - - -- -- 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束 ...

  7. 浅谈入职两个半月心得和感受

    入职两个半月说时间长也不长,时间短也确实不短,自己刚从学校走出来发现自己学到的能用到工作中的很少,都得不断接收新鲜事物,学习新的知识,自己有时候还是会不经意想还是大学时光美好,现在一切都是注重绩效,讲 ...

  8. 落谷----P4994 终于结束的起点

    终于结束的起点题解集合 递推 递推 思路: 首先无论取什么模数 M,最终模 M 下的斐波拉契数列都会是 0, 1, -, 0, 1, - 我们需要求出: 请你求出最小的 n > 0,使得 fid ...

  9. 【离职总结复盘】在墨刀远程实习的两个半月,既不舍,又感激,这是初恋的感觉……

    [离职总结复盘]在墨刀远程实习的两个半月,既不舍,又感激,这是初恋的感觉-- 文章目录 [离职总结复盘]在墨刀远程实习的两个半月,既不舍,又感激,这是初恋的感觉-- 前言 文章概要 作者介绍 保密声明 ...

最新文章

  1. JAVA Spring Cloud 注册中心 Eureka 相关配置
  2. Silverlight与WPF中BeginInvoke的差异
  3. 31全志r58平台Android4.4.2下打开USB摄像头
  4. esp8266 阿里云 arduino_ESP8266接入阿里云——基于官方SDK接入阿里云串口获取云下发数据...
  5. 成功解决极其刁钻bug之TypeError: ‘<=‘ not supported between instances of ‘list‘ and ‘int‘
  6. linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务
  7. mysql 取substring_如何在MySQL中的字段上应用Substring()以获取字符串的一部分?
  8. micropython中文教程.pdf_micropython中文教程
  9. web前端编程语言有哪些?
  10. 在SQL Server中比较VARCHAR(max)与VARCHAR(n)数据类型
  11. First集、Follow集
  12. 函数指针,函数指针数组,函数返回值为函数指针
  13. 嵌入式开发Verilog教程(三)——Verilog HDL基本语法汇总(上)
  14. H5微信登录获取unionid
  15. 微信小程序毕业设计选题
  16. ​力扣解法汇总904.水果成篮
  17. 数显之家快讯:【SHIO世硕心语】值得你一读再读《周易》里面最经典的6句话!
  18. 202007 软件市场分析
  19. unity 条目换位效果_Unity AI主题博客条目
  20. 小米红米Note12,11,Pro系列安装谷歌套件谷歌服务框架GMS,Google Play商店

热门文章

  1. 买股票的最佳时机(六种题解dp)
  2. MySQL—表的完整性约束(外键约束)(一)
  3. csdn自定义模块backup
  4. optee中的panic函数实现
  5. [architecture]-ARMV8的ELx等级切换
  6. Django + Uwsgi + Nginx 的生产环境部署项目知识点
  7. 【STL】string的增删改查
  8. MoeCTF 2021Re部分------大佬请喝咖啡,A_game
  9. 设计模式C++实现(5)——原型模式、模板方法模式
  10. 【Prometheus】prometheus生成快照,并冷备份数据,恢复数据