自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lawrence的学习笔记

记录自己的学习心得

  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 浅尝python

借网上的一幅图: 如何调用Linux命令下面代码演示了调用一个shell命令, 其中,命令的输出会存储到result变量中, 而命令的返回值,则存储到exitcode中,由此可见,调用shell命令还是很方便的:import commandsexitcode,result = commands.getstatusoutput('dir')print "exitcode: %

2013-03-26 11:40:31 3489

原创 Objective-C 学习笔记(2/2): 内存管理、Selector和属性

接上一篇:http://blog.csdn.net/kwiner/archive/2011/03/20/6263503.aspx内存管理在Objective-C中,NSObject 定义了release和dealloc函数,一般来说,如果你的类中包含有对象,需要重载dealloc函数,在dealloc中释放类成员变量所占用的内存,下面的代码演示了,当给一个对象发送release消息,或者这个对象被自动释放池回收时,dealloc会得到调用,这种行为使用dealloc有点像C++中的析构函数。

2011-03-23 22:45:00 2075

转载 [转帖]iPhone/Mac Objective-C内存管理教程和原理剖析

<br />版权声明<br />此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com/,且必须包含此版权声明的完整内容。<br />版本 1.1  发表于2010-03-08<br />前言<br />初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对

2011-03-23 21:19:00 864

原创 Objective-C 学习笔记之基本语法(1/2): 类的定义、继承、多态与接口等

最近在研究 iOS/Mac 平台下的软件开发,说实话,刚开始看Objective-C的代码实在是跟看外星文差不多,哈哈,不过熟悉之后就适应啦,蛮简洁的,下面是我自已写的一些例子,尽量简短,希望能更好地查询Objective-C语法。

2011-03-20 21:24:00 2123

原创 Android NDK开发环境搭建(Windows7平台)

步骤一:下载并安装NDK 首先,前往从网站http://developer.android.com/sdk/ndk/index.html获取Windows 平台的最新的Android NDK 套件,下载完成会得到一个安装文件,下载页面如下图所示,请下载红色方框框出的文件: 将该压缩包解压到 C:/ 盘的根目录下,得到文件夹android-ndk-r5b,NDK是不需要安装的,直接可以使用了。   步骤二:下载并安装cygwin 我们可以到Cygwin的官方网站下载Cygwin的安装程序,地址是

2011-03-15 10:22:00 9815 6

原创 Plarform Builder 6.0到期后的解决办法

<br />解决方法是使C:/Program Files/Microsoft Platform Builder/6.00目录下文件EtkRemov.inf的创建日期修改成当前的日期,但正常的删除后重新创建是不行的,我发现一个简单的解决办法,就是进入LINUX系统下,删除EtkRemov.inf,再touch EtkRemov.inf重建一个即可。

2011-01-18 16:51:00 987

转载 谁动了我的奶酪

<br />     故事主要讲的是一个有关变化的原理,故事中有4位主人公:2只小老鼠(嗅嗅&匆匆)+2个小矮人(唧唧&哼哼),其实4个主人公的名字都有d意思,嗅嗅:主要是要有触觉,事先闻到d风吹草动,类似危机感意识; 匆匆:做事要快,立即采取行动;唧唧:有小小自嘲的意味,就是说如果发现了错误,只要你肯改正,还来得及,类似亡羊补牢,为时未晚;哼哼:从发音可知,有些高傲自大的感觉,用来形容一些不知悔改的顽固分子就最适合不过了,其实这个也正正反映了4位主人公的性格特点。 <br /><br />

2010-07-28 09:30:00 948

转载 UE,UI,UCD,UED 的概念

UE (User Experience) :用户体验 UI (User Interface) : 用户界面UCD (User-Centered Design) : 以用户为中心的设计UED (User-Experience Design) : 用户体验设计UI(User Interface)即用户界面,也称人机界面。是指用户和某些系统进行交互方法的集合,这些系统

2010-05-13 13:50:00 939

原创 敏捷开发学习总结(4):极限编程(XP)学习笔记

极限编程(XP)有哪些实践方法?1) 短期的迭代目标:传统的开发方法,整个软件开发完成后才发布,周期长所以收到客户反馈的时机晚。XP的做法是按照需求的优先级,持续制定短期的开发目标(或小版本),完成一个小周期就发布一次,尽早取得客户的反馈。2) 简单设计:关于设计,传统的开发方法中常犯的错误有:a) 进行过多的预先

2010-05-09 19:34:00 1404 3

原创 Qt4多线程编程示例

本示例演示在窗口中启动一个线程,然后在线程中通过事件的方式与窗口进行通信,这是窗口与工作线程配合的普遍,而且比较安全的方法,推荐大家在窗口程序中使用多线程时使用这种方法,不要使用全局变量、文件等方式来处理窗口与线程间的通讯。 示例的头文件:class TMyThread; /* 窗口代码*/class TMyWidget : public QWidget

2010-04-29 09:37:00 3932

原创 敏捷开发学习总结(3): 思考开发文档的利与弊

文档是个好东西,这是不可否认的,但是太依赖文档也有弊端,下面我从不同的度来分析一下文档的利与弊,然后思考在敏捷开发时,文档又是如何进行的。从公司的角度来看,编写文档有如下好处:a1) 公司使用的是瀑布生命周期(或序列式开发,传统开发),所以必然的,在某一个阶段,需要编写大量的文档作为进入下一阶段的输入。a2)过程改进的需要,认

2010-04-04 16:10:00 1300

原创 敏捷开发学习总结(2):敏捷和迭代开发的问与答

从传统开发模式的思维,转换到敏捷和迭代开发肯定会有很多的疑问,这些疑问通常是公司管理层对敏捷和迭代开发抱怀疑态度,或者没有信心的主要原因,因此,在本文中,我以问答的方式,试图去整理一下自已对敏捷和迭代开发的理解,有不对的地方,请大家帮忙指出啊。问: 需求没有在项目初期全部细化好,如何保证系统的设计可以满足所有功能?答: 实践中应用如下方法来进行系统的设计:

2010-04-03 15:26:00 2532

原创 敏捷开发学习总结(1):传统序列式软件开发方法的缺点,以及迭代开发方法的选择

大部分公司仍使用传统瀑布模型(或序列式开发方法)进行开发我所工作过的公司,以及我身边的朋友工作所在的公司,再加上招聘时从求职者那里所了解到的其他一些公司的开发过程,基本上都是使用传统的软件开发模式,类拟或者就是瀑布开发模式,这种模式有如下特点:1) 将项目的生命周期明确地划分为几个阶段,完成一个阶段才进入下一个阶段。2)

2010-04-03 14:28:00 4806 1

原创 Qt4中利用Meta Object实现类拟.NET和Java的反射(Reflection)功能

写QT程序时,对一个类进行单元测试,有时不太方便直接获得待测类的私有数据,虽然可以用友元,但是如果待测类的私有数据都放在cpp文件中就比较麻烦了,能不能让待测类在判断到自已是被测试类创建时,在不Include测试类头文件的情况下,直接调用测试类的方法来将数据赋给测试类呢?答案是肯定的,下面是一个尝试,通过元数据来达到此目的,虽然这种做法好像不是太好,但是有时可以解决燃眉之急吧,这种做法是不

2009-12-22 14:58:00 1092

原创 是什么决定你的写作水平?

是什么决定你的写作水平呢? 我觉得有如下几点:1) 看你读过多少好书2) 看你读过多少好的文章和资料3) 是否经常与人交谈,特别是与年长的人交谈4) 其它知识来源,例如经常看营养丰富的电视节目,讲座等5) 多思考,多总结,多写作是什么导致我的写作水平很难提高?1) 平时读书的范围窄,读的书大部分都是技术书籍2) 平时很少看杂志,看也是看技术杂志,例如>

2009-12-14 16:39:00 667

转载 [转载]面试趣谈

原文出处: http://blog.csdn.net/goodxp/archive/2009/03/01/3946466.aspx前几天和几个软件业的同行聊起“面试”的话题,大家讨论的很热烈。有些观点很有趣,在此与朋友们分享一下。某测试主管:关注“品味”作为测试人员,“品味”很重要。没品的人认为已经不错的东西,有品的人可能觉得是垃圾。比如iPhone让你摸了就想再摸

2009-12-14 16:38:00 587

原创 .NET技术初探2 - 中间语言的引入与新语言C#的诞生

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Sty

2009-10-20 19:29:00 757

原创 .NET技术初探 - 为什么要学习.NET?

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Fon

2009-10-14 21:58:00 1201

原创 程序员还应该掌握哪些技能

最近公司在讨论如何通过培训来提高开发人员技能,我觉得除了编程工具的熟悉运用,以及对算法和系统的掌握外,下列的一些技能也是现代开发人员应该要提升的技能: 1. 设计模式 --- 熟悉常用的设计模式,并了解你所用的软件包中提供了哪些设计模式。2. 面向对象的程序设计 --- 熟悉面向对象的程序设计思想,掌握面向对象的各种设计原则,例如单一职责原则、开放-封闭原则等等。

2009-09-19 09:07:00 790

原创 《个体的崛起》读书笔记

不记得在程序员杂志的哪一期哪一篇文章了,看到文章作者推荐这本书,另外还有一本<<大象与跳蚤>>,这两本书一直收藏在我的当当网帐户上,我自已有用PDA阅读电子书的习惯,上一次回老家,下了<<个体的崛起>>的电子版塞进我的PDA,准备在长途车上阅读以打发时间,在还没有阅读之前,从书名来看,我一直以为应该是讲个人自我发展的指导书,但看了开头的序言,才知道是一本写给企业管理者的,是讲管理的书,闷,

2009-06-18 22:44:00 1180

转载 [转载]UML类图关系全面剖析

很想写一篇用C++代码来辅助说明UML中类图关系的文章,使小组里面大家的设计文档能够规范化一些,但发现已经有人写了这样的文章,所以这里就简单转载一下吧:===========================================================本文随便转载,请保留出处:http://blog.csdn.net/dylgsy/UML的类图关系分为: 

2009-04-26 09:35:00 874

原创 在程序中打印调用堆栈

  一直以来都没有花太多精力放在学习调试方面,主要还是平时调试的机会相对较少,一般情况下,用strace、gdb、以及通过打印log基本上就能解决问题了,还有就是,与其花精力去提高调试技能,还不如在设计、防御式编程和单元测试等能力去提高,以及提高自已编码的质量,减少BUG的出现或者缩少BUG的范围。   但是,有时使用调试工具并不是为了查找BUG,在阅读和分析源代码时也非常有用,下面的代码

2009-04-12 12:43:00 9021 2

原创 个人整理的Linux Shell语法速查表(用C语言语法来作对比)

虽然学过Linux Shell编程,但由于编写Shell脚本的机会实在是比较少(通常在项目初期搭建开发环境时编写得比较多一些),所以一些语法久而久之就会忘了,一个简单的语法去翻书效率实在是慢,所以就个人整理了一个表格,由于我用的编程语言是C/C++,所以在编程的时候往往脑海里面首先浮现的是用C语言怎么去编写它,所以我干脆拿C语言的语法来和Shell编程的语法作个对比表,这样查起来就方便了,哈:

2009-04-05 11:06:00 20545 12

原创 Getting Things Done

一个月一晃眼又过去了,发现书架上的新书又准备要生尘了,确实需要好好的管理一个自已的时间,前阵子从同事共享的RSS中接触到GTD的概念,受益颇深,因此在这里分享一些相关的文章:GTD是“Getting Things Done”(完成每一件事) 的缩写,是一个被广泛采用的赋予实际行动的时间管理系统,更多文章可以访问:http://www.mifengtd.cn/。GTD综述和介绍:什么是”

2009-04-05 10:54:00 1576

原创 为什么在当前环境下也招不到人

 简历地毯式的轰过来,频繁的约见,但就是没招到合适的人,为什么呢? 一般都认为,经济危机的时候,大部分的企业裁员和倒闭,企业要招聘到合适的人应该要比以往更加容易才对,但情况并不是这样…… 前阵子看了篇国外的文章,文章中说道,企业无论是裁员或者减薪,对员工的士气都会产生很大的影响,从而影响工作效率,工作效率的降低在经济低潮的情景下对企业简直是雪上加霜,如果企业只是单纯的减薪或

2009-03-21 09:05:00 1213

原创 一段LINUX下常用的多线程程序代码

好久没有更新BLOG了,最近在做语音识别和语音合成方面的工作,粘一段自已写的用得比较多的LINUX多线程代码,做个记录,方面以后查阅吧。代码的作用是,主线程负责将要处理的数据放入队列,另外一个新线程负责处理队列中的数据,如果没有数据新线程将睡眠等待,有新数据到来时主线程会唤醒新线程,就这么简单。。。随手写的程序,存在问题希望能告诉我:)#include #include #in

2008-10-22 14:22:00 978

原创 整理把文档写好的一些guide line

整理把文档写好的一些guide line,这些都是我工作过程中一些笔记,希望对大家有用。。。---------------------------------------------------------------------------------------写文档之前把目录结构定下来在写文档之前,通常已知道文档应该需要包含哪些内容,所以应先把目录结构写好,并给到Review人员

2008-04-13 20:31:00 890

原创 [原]Qt/Qtopia源代码分析之应用程序窗口的显示层次

本次分析是通过源代码来搞清楚以下的Qt窗口特性,以下特性是通过测试得到的:1) 新弹出的全屏窗口(指使用了QWidget::showFullScreen方法显示的窗口)能覆盖已经存在的全屏窗口,以及所有其它窗口(包括带WStyle_StaysOnTop属性的窗口)2)当一个全屏窗口正在显示,而这时如果有其它的窗口被激活(调用QWidget::setActiveWindow)时,这个全屏窗口会被隐藏

2008-01-05 10:29:00 3443 2

原创 搞定Fixed Column Table

  Fixed Column Table是指可以固定列的电子表格,目前大部分的电子表格如Excel都有这样的功能,就是可以固定前面的几列不动,拖动滚动条时只滚动后面的列。  Qt虽然有提供QTable电子表格,但是很遗憾没有固定列的功能(我们用的是Qt2.2.0),由于项目有这样的需求,所以只能自已来实现一个,前阵子已经用Qt实现了一个自已的列表框控件,所以在此基础上加上了固定列的功能,发个图

2007-08-26 10:30:00 2197

原创 享受 UNIX操作系统设计 一书

  一口气把>一书读完了,这一口气大概是从06年6月开始呼入,于07年4月才呼出,哈哈。  看完这本书非常受益,首先,解答一些朋友和同事的疑问,看这本书并不是为了研究LINUX内核才看的,当然,为了更好地理解UNIX和 LINUX系统,以及更好地理解操作系统是一个原因之一。更重要的是,通常阅读此类书藉,可以学习到超级大师们的软件设计方法,以及他们面对各种编程技术 难题时命使用的对策,软件开

2007-04-28 11:55:00 3090 1

原创 开始学习ffmpeg

  昨晚研究ffmpeg, 啃了一大堆文档, 把源代码和SDK都拉下来了, 并把相关的编译工具也拉下来了, 但还没有编译, 用别人编译好的SDK先做一下测试, 我手头上视频不多, 转换相机里面的MOV格式成wmv, 能成功转换, 用暴风影音播放一点问题都没有, 但用window media播放有点问题, window media程序出错, 原因未明, 官方描述支持wmv7和wmv8, wmv9需要

2006-11-16 09:58:00 1585 1

原创 自定义调试信息的输出

  调试信息的输出方法有很多种,  例如直接用printf,  或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一般是使用syslog将调试信息输出到日志文件中等等...  使用标准的方法打印调试信息有时候不是很方便,  例如Qt编程, 在调试已有的代码时, 我想在打印调试信息的地方, 把代码位置也打印出来以方便定位错误, 或

2006-11-07 10:28:00 3255

原创 今天遇到一个由于内存访问越界而引起的bug

  今天对前几天的程序进行了一些修改, 运行时程序出现段错误, 用gdb调试一下, 通过查看调用堆栈,得知段错误是由于调用了一个队列的成员函数 isQueueEmpty 引起的, isQueueEmpty函数的作用是用来判断队列是否为空的, 看了一下isQueueEmpty 的定义,发现isQueueEmpty 函数体只有一条语句:  template   bool TQueue::isQue

2006-10-25 09:43:00 1823

原创 用QSocket来操作Linux命名管道

  今天使用QSocket来操作命名管道时出现了一些小插曲,调试花了一些时间,写下来作一个笔记:  这里所说的命名管道是指FIFO,当打开一个FIFO的时候,通常会出现以下情况:  a. 不使用O_NONBLOCK标志时,只读open要阻塞到某个其它进程为写而打开它为止  b. 不使用O_NONBLOCK标志时,只写open要阻塞到某个其它进程为读而打开它为止  c. 如果在open的时候指定

2006-10-22 10:45:00 2761

原创 一个可以验证两个内存块绝不重叠的断言

验证两个内存块绝不重叠的断言, 用在像memcpy函数这样的场合最适合不过了,  因为在两个重叠的内存块之间拷贝数据, 结果是没有意义的, void memcpy(void* pvTo, void* pvFrom, size_t size){    assert(pbTo>=pbFrom+size || pbFrom>=pbTo+size);    ...}上面的断言很巧妙,只用了一条语句,

2006-10-22 10:39:00 967

原创 关于检查scanf的返回值

  很多人在使用scanf的时候都不会去检查它的返回值, 包括我在这之前也没有去注意它, 如果你方便去翻翻c语言的教科书, 估计也很难找到有检查scanf的例子或代码段,  至少我还没有见过,  当然, 书上的代码毕竟只是一个练习, 和真正用于产品级别的代码有很大的差别。  一个偶然的机会, 让我注意到检查scanf返回值的重要性, 写下来和大家分享一下:)  下面是一个最简单不过的scanf

2006-10-08 16:58:00 2818 2

原创 一些不必要使用多线程的场合

   在开发的过程经常需要处理这样一个情况:  进行一个比较耗时的操作, 例如从网络上下载一个大文件, 或者从数据库中读上万条记录, 如果不采取一些优化措施直接进行操作的话, 在执行操作的过程中, 窗口消息循环就会被阻塞掉, 这时, 用户在窗口上进行点击、或者移动窗口等操作均会无效,用户甚至会误以为程序死掉了。为了解决这种情况,即在耗时的操作正在执行的过程中,让用户仍旧可以流畅地操作窗口,

2006-09-14 16:37:00 2005

Mini6410 Qt4和Qtopia编程开发指南

本手册由友善之臂软件开发工程师编写制作,以Mini6410作为开发演示平台,详细介绍了Qtopia-2.2.0, Qt-Extendded-4.4.3(Qtopia 手机),QtE-4.7.0 等常见 Qt版本的移植过程、应用程序开发方法(含 X86 版和ARM 版),涉及串口编程,LED 控制,PWM控制,中断式按键编程调用,ADC 模拟转换等嵌入式硬件操作编程示例,并配有详细的图解,完整的源代码包,手册中还介绍了一些常见的实用技巧,例如如何增加用户自定义程序组,如何设置开机自动运行等,非常适合嵌入式初学者学习参考之用。

2011-01-05

编程精粹-Microsoft编写优质无错C程序秘诀(Writing Clean Code)

编程精粹(Writing Clean Code)中文pdf版

2009-11-23

微软研发:制胜策略

本书从各个角度对一个项目的研发过程进行了剖析,指出作为一个项目经理或程序员应该避免做错的事情和应该尽可能做的事情,举例生动,通俗易懂,给人以当头一棒的启迪,相信你读完此书后会对一个计算机项目有更深刻的认识,本书尤为适用于正在做项目的和做过项目的读者,本书的许多观点也适用于很多其它的项目,是一本可读性很强的书籍

2008-02-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除