kwseeker

学编程:找代码,读代码,改代码,写代码;少看书。但少看不是不看,看一本书要限制在一天内。任务是通读书中主要的概念,明白大致是干什么用的,形成一个大概的框架;然后一周内干掉书中全部代码,代码不理解再浏览书中相关章节,注意是浏览。或者刷博客。代码实在刷不懂,可以先刷后面,待日后重新刷;因为书中代码有些部分可能出自后面的章节。代码总是在多次刷过之后,拨开乌云见日月的。。。

导航

杂感

12. 有同学问为什么在大学不申请助学金,我只是回答不想。因为曾经在高中因为几百块,卖掉了自己的自尊,然后花很长时间去淡忘一句话:“他凭什么拿贫困生补助(又不是班里前几名)”,我在怀疑为什么当时没有勇气拒绝那几毛钱,,如果说上学毕竟是花家里钱,这样能为家里人分担压力,这是骗人的。我为什么没有拿那几毛钱甩ta一脸,然后傲娇的说:这点补助金是属于成绩优异的人的奖学金,不属于我,我拒绝做拿别人奖学金的事,然后摔门而去。却是怯怯的签名然后领了。真TM,太逊了

 

11. 中午吃饭时,和室友看了一集据说称作《龙樱》的日剧,里面讲述一个即将高考的高二女生,因为以往不爱学习,成绩很差,不仅外面的人看不起,就连家里人都怀疑她能否考上大学,但是律师主角却鼓励她报考日本顶级的大学东大。并和她家里人以及其他相关人员打赌,5天后让她能够在数学考试中拿满分,并要求他们同意她报考东大。这位女生,在主角的激励下和同学(男生,从这点看高中盲目禁止谈恋爱也有一定弊端)的鼓励下,5天内起早贪黑真的是非常用功补自从初中到高中的数学知识。在小测中真的是进步很大。终于5天后的最终测验结果不出所料,半数题目未答(主角早料到,一切都笼罩在主角装逼的光环中,但是主角的目的已经达到)。之后看到那女生表现的真的是很不甘心。那一刻内心真的是很受触动,自己曾经在高中生涯也经常有这样的不甘心,认为自己的能力不只是如此,就是成绩与能力不对等的那种不甘心。那种受不了因为表面成绩比别人差一些就受到不公平待遇的那种不甘心。以及凭什么因为高考的失利,一向成绩较好的我,要忍受班里绝大部分去了名校,而我只能来普通一本的不甘心。以及老师们总是捧着那几个清华北大潜力股,漠视其他大部分学生的那种不甘心。

  原来的不甘心真是太多太多,但是很奇怪的是来到大学,自己的心镜就慢慢真的是犹如那一谭臭泥坑一样,即使抛进去一块石头也泛不起半点涟漪,没有成功与失败,没有激情与创伤,然后就开始思考人生存在的意义了。自己都不得不说太逊了......

 

10. 看书不通过生活,是书呆子。生活不伴随着看书是盲视者。

 

9.  人从野蛮走向文明需要几千年时间,但是从文明走向野蛮却只需要几个月几天的时间。原因就是人性难改,前者需要的是制度、约束的不断完善以及对人性善的主流价值观的不断维护;后者只需要抹杀人的安全感,人之间的信任,或者不断断绝人物质精神层面的基本需求或其他提升人负面状态的方式(从战争中军人的人性的畸变可以感受)又或者思想绑架。有时变得不是人而是环境,以及供给关系(或许存在个例不同但也绝对是少数)。不要把自己看的多么崇高,或多么邪恶,人底层的性质通过教育也不容易改变。交换一下位置可能发现我们的差别并不大。

  《隔绝》《浪潮》这些电影讲的很好。

 

8. 想做Kinect编程开发,如果是基于Kinect for windows SDK, 无论如何都避不开Windows编程,因为两个学习要素:1 对SDK的框架及API的清晰理解;2 编程实例的分析,能读懂才能理解SDK中的控制思想是如何转化为实际的程序代码的。问题出现在我只是对C++比较熟悉,对Windows编程不了解,想通过各种方式避免windows编程带来的知识局限性的困扰;最终还是只能向windows编程妥协,对编程实例分析上是如何都避不开的;因为如果使用C#,你会遇到几乎所有的现有官方实例都是使用C# WPF做的界面,不懂WPF就无法分离出核心的控制代码;如果是使用C++,呵呵,你会遇到几乎所有的现有官方实例都是使用C++开发的Win32应用界面程序,不懂win32还是无法分离出核心的控制代码;

  当然,不一定非要用官方SDK, 若使用OpenNI开发Kinect应用,还是得看其官方源码是怎么实现的,官方源码里涉及的知识点都得在正式开发之前狂补。

  Kinect for windows SDK知识体系:

  1、C#/WPF/SDK API

  2、C++/Win32/SDK API

  最后终于决定学Window应用编程了,但是学东西也看时代潮流,果断学习Windows8这种最新平台上东西,于是C# WPF走起。

 

7. 慢慢的会越来越多的发现编程语言中一些库函数的不适用性,总有一天必须逼着自己去研究库函数的实现,并根据自己需要去拓展。

   (被一个编译顺利,运行就死的QT函数,困扰了两天,最后发现问题出在传入的参数,在前面经过了多次转换,因为最初始的变量设置的不好,后面又使用了atof()这个不完善的库函数,导致了某种不好的后果,可能编译器还没把这种后果收录到错误汇总里。就这么悲剧了两天。)

   (没有弄清各种语言之间的差异,还是少混合编程的好,不然碰到那种黑区,死都不知道怎么死的)

 

6. 文件读写时,读写操作是在文件关闭后,才生效的。

 

5. 基于ARM Linux嵌入式的QT应用调试:

  当前还没有什么有效的调试方法,但是可以通过log文件的方式,log文件不会弄,就弄个简单的文件读写,把程序中的信息(变量,当前运行到的行数、文件名、函数名等信息)写到一个文件中。运行程序,然后查看文件打印的信息。判断程序出错大概位置,然后在附近继续加写文件的代码。

 

1. 做事要始于整体,终于细节。先要把握全局的架构,然后丰盈局部。构框架时能简则简。

 

2. 二重指针的功能之一:在子函数中有效地修改指针变量的值。

 

3. 基于库(代码库:Qt/OpenCV等)开发学习步骤(个人总结):

  • 基本要求:掌握使用的开发语言的完整的概念,开发语言的代码结构,设计思想。(主要是为了能够看懂例程代码,并能够迅速把握程序大概的结构)
  • 入门学习:(后面几步是相辅相成的)
    • 搭建开发环境,并能够完成工程创建,开发环境编译、调试、帮助文档查阅等功能的使用。
    • 找书,浏览库的基本概念,实现的功能有哪些(先不要深入),开发程序的一般基本框架。
    • 找简单实例代码,调试(必须调试不要懒)获知代码行、代码段的功能,然后根据指导书和帮助文档加深理解。并尝试实现相关的功能。
    • 找复杂实例代码,先通过折叠代码段的方法和实例Document,获取实例的大概的框架(实例的实现是分为哪些个功能,各功能是通过哪些子功能实现的),并使用freemind画出思维导图并对应到代码块中,阅读理解子功能代码段,然后是父功能代码段;步步为营,各个击破。最后统筹全局。(好像说的有点太简单了)。
    • 基于小项目,模仿上面实例程序的设计思想独立开发。
      • 分析要实现的功能。
      • 结合库中的知识设计代码结构和数据结构。
      • 以一种最方便拓展的代码结构,规划代码,并实现子功能代码,并调通子代码;然后实现其他子代码,并调通。
      • 完成代码的功能后,实现性能调优。(没做过,以后工作了再看吧,前面的现在想学好已经够受了)
  • 深入学习(???):
    • 还是基于项目,提升复杂度。

 

posted on 2015-05-14 23:45  kwseeker  阅读(157)  评论(0编辑  收藏  举报