中航工业杯无人机大奖赛感悟

历时三天的的中航工业杯国际无人飞行器创新大奖赛圆满落下帷幕,南京航空航天大学,这个名字,以出现次数最多的方式向全国乃至全世界证明了它的实力,我所在的”航宇灵鸮”队最终获得了旋翼竞技项目二等奖的好成绩.大赛的结束,是瞬时的,而我们的心情却是复杂的.我担任灵鸮2号无人旋翼飞行器的试飞员兼机身维护机械师已经两年,两年的时光转瞬即逝,那些景象,仿佛仅在昨日……

那是2013年的冬季,我接到于师兄(于永军,现已毕业,就职于南京理工大学)电话,第一次来到国家级重点实验室-旋臂机大厅,从外面看,并没有什么不同,像是一般的厂房,带着一个独特的卷帘门,只有一个很小的牌子写着:”直升机旋翼动力学”.进入[……]

Read more

继续阅读

NavigationView获取Header View的问题

NavigationView是Google推出的MD风格支持库里的主要控件之一,一般与DrawerLayout结合使用提供侧滑菜单。
NavigationView的header布局中常用来放置用户头像、用户名等信息,所以我们必须获取到header布局中的view。
最近在使用NavigationView的时候遇到无法通过findviewbyid方法获取header布局的问题(返回值是null),经过一番周折终于解决,在这里将解决过程记录下来。

 

其实,NavigationView是一个RecyclerView(在23.1.0版本之前是ListView),header[……]

Read more

继续阅读

不同系统的大小写问题实在是坑

切记在开发时(尤其是服务端开发时),将所有目录以及文件名

都采用小写字母!

都采用小写字母!

都采用小写字母!

因为Windows系统中目录和文件名不区分大小写,而Linux中则是区分大小写的。同样的代码,如果使用了大小写混杂的命名方式,在Windows上正常运行,上传到Linux服务器上可能就要跪。因为所有的API,URL都会变成大小写敏感的。

所以除非代码每处都能保证大小写与实际文件名严格一致,否则还是乖乖统一用小写字母吧。

继续阅读

【书评】深入理解计算机系统

csapp

 

深入理解计算机系统(豆瓣),这本书鼎鼎大名,无论是原版还是中译版在豆瓣都有接近满分的评分。就算没有读过,想必也在各个必读书单、各大购物网站的推荐里见过很多次,这足以证明它的含金量。

 

此书是我2014年11月花30块钱从二手书店购买的正版书,或许这是我此生花的最超值的30块钱。买回来断断续续看了大半年,终于算是看完了。期间有过好几次比较长的弃坑,不过每次拾起来都会重读前面已经读过的章节,每次读都有新的收获,这也坚定了我择日重读的想法。第三版的英文原版已经出了,期待引进,或许下次我读的会是影印版。到时一定亚马逊买本全新正版支持下。

&nb[……]

Read more

继续阅读

Git合并多次提交——续

上次分享了使用patch来合并多次commit,从而获取比较干净的提交历史的方法。最近在工作中又发现使用Git中的rebase命令就可以很方便地达到同样的效果。

比如,我们在master分支中保存稳定版本的代码,在dev分支中继续开发。现在开发的某个阶段完成,需要将变更合并到master分支中,在合并之前,就可以利用rebase命令得到一个干净的提交历史。方法如下:

然后会进入到另一个界面,在里面列出从master分支到dev分支的所有commit,每条记录前都有一个命令,可以更改这个命令来达到不同的目的。具体[……]

Read more

继续阅读

Git合并多次提交

Git是一个非常强大的版本控制工具。实际工作中,我们经常需要对每次commit都按照冗长的模板来填写注释。然而很多情况下我们只是想在写试验性质的代码之前临时commit一下,如果新代码工作正常,就保留,否则就撤销修改。但是这样就导致一个问题:我们不得不填写很多完全没有必要填写的注释模板,并且还会导致Log的混乱。本文分享一种方法,利用 git diff 和 patch 命令可以解决这个问题。

比如,我们目前有两个branch,master和debug(其中debug的进度领先于master,用作开发)。我们想在debug中试验一些代码,需要临时commit一下:
[crayon-597[……]

Read more

继续阅读

Git 常用命令笔记

最近由于工作需要学习了Git的使用,在这里做一些笔记以供备忘。

配置用户信息

编辑器默认vi,若要修改

更改差异分析工具

检查已有的配置信息

常用命令

要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:

[……]

Read more

继续阅读

最近三个月的一些感悟

一转眼大二下学期又要过去了,这学期过的似乎特别快,过的也特别充实。从学期初开始就在疯狂写代码,一天一天过去,广州还是这么热,只不过从雨季到了夏季,蓝天白云,似乎并没有什么变化,而我却觉得自己每天都在飞快的进步。有人说程序员做到三十就该不敲代码了,我是不敢苟同的。十年磨一剑,三十岁正是出关入江湖的时候,为何反而要放弃?

 

话说回来,现在各种项目如期结束,也再次迎来了考试月。其实这次考试月我没有之前几个学期那么慌的感觉,因为对于专业课,我是很喜欢去学的,因此看书不会觉得无聊。本学期的课程在之前也有自己研究过,因此期末的复习不会太吃力。但是因为学期开学到现在一直在忙碌中度过,[……]

Read more

继续阅读

动态规划法求最大子矩阵和

问题描述

给定某二维矩阵,求出其所有子矩阵中所有元素之和最大者。

样例

INPUT

0 -2 -7  0
9  2 -6  2
-4  1 -4  1
-1  8  0 -2 

OUTPUT

15

解法及代码

其实求最大子矩阵和的关键思想,就是将问题转化为最大子数组问题。

假定我们已经知道某个子矩阵是最大子矩阵,那么将这个二维的矩阵从上到下”拍扁”(同一列中各行元素相加),就变成了一个一维的数组,那么也就转化成了求最大子数组的问题。

所以,我们只需要将所有可能的一维数组构造出来,分别求出最大子[……]

Read more

继续阅读

无人机飞控相关网站介绍 

经过很长时间的搜集,积累了一些无人机开发项目的相关网站,在此与大家分享几个关于无人机开发及应用的相关网站。希望能够对无人机开发初学者起到一点帮助。(该目录将不定期更新)

1. http://diydrones.com/

该网站是国外最大的开源飞控APM交流社区,聚集众多APM及PX4用户。

2. dronecode.org

该网站是目前正在建设的开源无人机代码Drone code官方网站

3. https://github.com/diydrones

该网页内存有diydrones社区的开源无人机代码,包括APM及PX4。

4. http://www.[……]

Read more

继续阅读