软件开发
七里河蠢才
这个作者很懒,什么都没留下…
展开
-
C++0X的三件好东西(零)
<br />先说一些废话,可以跳过不看。<br /><br />我主张,在具备基础之后,学习任何新东西,都要抓住主线,突出重点。对于关键理论的学习,要集中精力,速战速决。而旁枝末节和非本质性的知识内容,完全可以留给实践去零敲碎打。<br /><br />原因是这样的,任何一个高级的知识内容,其中都只有一小部分是有思想创新、有重大影响的,而其它很多东西都是琐碎的、非本质的。因此,集中学习时必须把握住真正重要那部分,把其它东西留给实践。对于重点知识,只有集中学习其理论,才能确保体系性、连贯性、正确性,而对于那些转载 2011-01-11 10:46:00 · 374 阅读 · 0 评论 -
软件架构师应该知道的97件事
<br />软件架构师是IT 行业里独一无二的职业,既要精通软件开发技术,又要掌握业务知识,还要周旋于公司不同部门之间,协调各种予盾。做到这些绝非易事, 博文视点 即将翻译出版的新书《软件架构师应该知道的97 件事》(97 Things Every Software Architect Should Know )探讨的就是这个主题。<br /><br />本书的编辑Richard Monson-Haefel 是畅销书《 Enterprise JavaBeans 》和《 Java 消息服务 》的作者。Rich转载 2011-01-22 16:53:00 · 634 阅读 · 0 评论 -
程序员沉思录
声明:以下内容多数是本人的突发奇想,部分是看到一些前辈的感慨而记录如下:1.生活有的时候就像是美国大片。2.时不常的锻炼总聊胜于无.3.1900之所以可以战胜一切对手是因为他从来没想过要战胜任何人。4.软件工程 算法及数据结构 业务规则 业界动态.5.再复杂的问题都有一个简单的起点!6.心里要是长草了,那整个世界都将是一片荒芜。聆听心灵的声音。7.对于一艘没有方向的船来说,任何一个方向的风都是逆风。8.没有过不去的事情,只有过不去的心情。9.哪一天,他们不再写程序了,可能是因为他们的手指敲不动键盘了。10.原创 2011-01-26 18:45:00 · 1089 阅读 · 0 评论 -
程序员需要具备的基本技能
<br />软件开发是一个跨度很大的技术工作,在语言方面,有C、C++、Java、Ruby等等等等;在环境方面,又分嵌入式、桌面系统、企业级、WEB、基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。<br /><br />这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其转载 2011-03-14 21:38:00 · 424 阅读 · 0 评论 -
STL--stack/queue的使用方法
<br />stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现。<br /><br />准确地说,STL中的stack和queue不同于vector、list等容器,而是对这些容器的重新包装。这里我们不去深入讨论STL的stack和queue的实现细节,而是来了解一些他们的基本使用。<br />1、stack<br /><br />stack模板类的定义在<stack>头文件中。<br /><br />stack模板类转载 2011-03-23 13:41:00 · 715 阅读 · 1 评论 -
敏捷宣言遵循的原则
<br />我们遵循以下原则: <br /><br />我们最重要的目标,是通过持续不断地<br />及早交付有价值的软件使客户满意。<br /><br />欣然面对需求变化,即使在开发后期也一样。<br />为了客户的竞争优势,敏捷过程掌控变化。<br /><br />经常地交付可工作的软件,<br />相隔几星期或一两个月,倾向于采取较短的周期。<br /><br />业务人员和开发人员必须相互合作,<br />项目中的每一天都不例外。<br /><br />激发个体的斗志,以他们为核心搭建项目。<br原创 2011-03-29 09:57:00 · 373 阅读 · 0 评论 -
The tools version “3.5″ is unrecognized error on Visual Studio 2008 Startup
When you get the following error “The tools version “3.5″ is unrecognized” in Visual Studio 2008. Apply the following fix. Make sure these keys are present in the registry. If not present add it. T原创 2011-06-16 13:08:00 · 1844 阅读 · 0 评论 -
软件开发中的11个系统思维定律
<br />“我会更加努力地工作”——一匹名叫Boxer的马(出自乔治·奥威尔的《动物农庄》)<br /><br />彼得·圣吉在其著作《第五项修炼》中提到的系统思维定律同样适用于软件开发。<br /><br /> 1. 今日的问题源于昨日的解决方案(Today’s problems come from yesterday’s solutions)<br /><br />当解决问题时,我们会感到很高兴。我们经常不考虑后果。令人感到意外的是,我们提出的解决方案可能会产生反作用,并带来新问题。<br /><br转载 2011-04-25 14:11:00 · 415 阅读 · 0 评论 -
Run-Time Check Failure #0
在VC中编写多线程程序,特别是调用DLL时经常碰到如下错误:Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually转载 2011-08-20 16:42:31 · 1209 阅读 · 0 评论 -
Teach Yourself Programming in Ten Years——用十年教会自己编程
<br />作者:Peter Norvig <br /><br />译者:刘海粟 <br /><br />本文原文为:http://norvig.com/21-days.html <br /><br />该翻译文档的PDF版可以在这里获得:http://download.csdn.net/source/2983778 <br /><br />为何万事都如此仓促? <br /> 随便走进一家书店,你就能看到《7天学会Java》以及各种万变不离其宗的书籍,形如:在数天或是数小时内学会Visual Bas转载 2011-01-22 15:22:00 · 14165 阅读 · 3 评论 -
数学是成就卓越开发人员的必备技能
<br />导读:原文作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文就是其中一篇,作者认为:成为优秀的开发人员,可以没有数学技能,但成为卓越的开发人员,不能没有。以下是文章内容,译文来自伯乐在线,CSDN编辑对其中的误译做了必要的校正。<br /><br /><br /><br />Alan Skorkin<br /><br />不久之前,我开始考虑数学。你也知道,到目前为止,我编写软件也有几年了。老实说,在我的工作当中,还没发现需要用到数学的转载 2011-01-17 11:30:00 · 605 阅读 · 0 评论 -
完美程序员的10种品质
<br />导读:谁是完美程序员?著名博客作家Alex Iskold在《明星软件工程师的10种特质》一文中给出这个问题的答案:<br /><br /> 1. 热爱编程<br /><br /> 2. 完成事情<br /><br /> 3. 持续重构代码<br /><br /> 4. 使用设计模式<br /><br /> 5. 编写测试<br /><br /> 6. 善用现有代码<br /><br /> 7. 专注可用性<br /><br /> 8. 编写可维护的转载 2011-01-17 11:08:00 · 623 阅读 · 0 评论 -
软件开发方法需要理论
<br />Semat计划于2009年12月由软件工程三位大师(合称“Troika”)Ivar Jacobson(UML、RUP、组件和组件架构、用例等技术之父),Bertrand Meyer(Eiffel和按约定设计之父)和Richard Soley(OMG主席)正式发起,倡导以坚实的理论、已经证明的原理和最佳实践为基础,重新发现软件工程的本质。Jacobson等撰写了三篇文章详细阐述Semat思想,本刊将陆续刊载,本文是其中第一篇。佛罗里达大西洋大学黄诗虹教授另撰有《Semat: 软件开发的又一次革命》转载 2011-01-12 18:22:00 · 860 阅读 · 0 评论 -
细数二十世纪最伟大的十大算法
<br />译者:July 二零一一年一月十日<br /><br />------------------------------------<br /><br />参考论文:<br />The Best of the 20th Century: Editors Name Top 10 Algorithms。<br />By Barry A. Cipra。<br /><br />博主说明:<br />1、此20世纪的十大算法,除了快速排序算法,或者快速傅立叶变换,其它算法只要稍作了解即可。<br />2转载 2011-01-13 09:28:00 · 719 阅读 · 0 评论 -
2010十大新兴技术
<br />每一年,《MIT技术评论》都会评选出年度十大新兴技术,这份由技术编辑们选出的清单试图列出可能对人类生产/生活产生重大影响的发明。最新出版的5/6月合刊登出了2010年度十大新兴技术,其中IT领域的发明占有重要的位置,由此我们也许可以一窥未来IT领域技术最新进展。名单如下。<br /> <br /> <br />1. 实时搜索(Real-Time Search)<br /><br />Amit Singhal正在Google领导着一个团队挖掘社会化网络的信息,提供与传统Web搜索相同质量和价值的信转载 2011-01-13 11:45:00 · 1107 阅读 · 0 评论 -
侃侃那些美丽的编程语言(上)
<br />就侃侃我见过的那些美丽的语言们吧。<br /><br />IT男好像特别喜欢争论,比如 Windows vs Mac vs Unix, Java vs C# vs C++, Vi vs Emacs, 这些都老生常谈了。甚至如果你弄混了开源与自由软件,自由软件的拥护者会耐心的给你解释:开源并非自由。<br /><br />我不是计算机专业科班的,但是从小喜欢,一直都是自己四处看各种东西,很多时候并不是考虑实用,因此别人问我:你学这玩意有用么?我也只能一笑了之。这就 是“宅”。有人宅漫画,有人宅美剧转载 2011-01-11 10:38:00 · 1081 阅读 · 5 评论 -
linux编程的108种奇淫巧计-4(编译展开)
<br />今天继续介绍第4种常见技巧,编译展开,代码见本文最后,重要的部分有注释说明。<br /><br /> 我们知道对于循环,编译器会自动进行展开,但是如何展开,这完全不可控,如果我们自行码代码,代码会显得臃肿难看,大段重复代码,因此本为介绍了一种常见的方法进行这种代码展开,可以写到任意层次,我这里只写到了DO16,见代码加粗的部分。<br /><br /> 实验表明在手动展开后,加上O3的编译优化,依然能够比不手动展开要快,大家可以实验以下的代码。<br /><br /><br转载 2011-01-11 10:39:00 · 603 阅读 · 0 评论 -
五分钟讲清楚UML
<br />1. 前言<br /><br />最近一段时间做项目,需要做机能模块的设计。客户方指名要用UML图作设计资料。<br /><br />但是跟日本人打了这么多年交道,UML图是什么东西,我早就忘记光了,没办法,只好从头查资料。<br /><br />于是做出来了这样一个资料,把我学习UML的方法和结论告诉大家,让大家在5分钟之内都能学会UML。<br /><br /><br />2. 第一分钟 作为Object的表现形式的模型技术<br /><br />进入UML技术的说明之前,转载 2011-01-11 10:45:00 · 345 阅读 · 0 评论 -
有关STL中的容器和MFC的集合类型构造函数区别的一点思考
<br />作者:朱金灿<br />来源:http://blog.csdn.net/clever101 <br /><br /><br /><br /> 晚上查了一下MSDN,对STL中的容器和MFC的集合类型构造函数区别有所领悟,特写下来和大家分享。不当之处,还望大家赐教!<br /><br />以前使用MFC的集合类型,即CArray和CMap等类,再使用STL的vector、map等类,感觉最大的区别在于其构造函数。当时我感觉MFC的集合类型的构造函数怪怪的,比如CArray和CMap的构造转载 2011-01-16 09:37:00 · 451 阅读 · 0 评论 -
经典算法研究系列:七、遗传算法初探
<br /> <br /> <br /> <br />---深入浅出、透析GA本质<br /><br /><br /><br />作者:July 二零一一年一月十二日。<br /><br />本文参考:维基百科 华南理工大学电子讲义 互联网<br /><br />-------------------------------------------------------------------------------<br /><br /><br /><br />一、初探遗传算法<br /><b转载 2011-01-16 09:50:00 · 1795 阅读 · 2 评论 -
算法与计算数学经典书籍 “算法与计算数学”之四书五经
<br />原文出处http://www.608088.com/show-311-1.html<br />倘若你去问一个木匠学徒:你需要什么样的工具进行工作,他可能会回答你:“我只要一把锤子和一个锯”。但是如果你去问一个老木工或者是大师级的建筑师, 他会告诉你“我需要一些精确的工具”。由于计算机所解决的问题都是从生活中抽象出来的问题,其复杂性不言而喻,所以我们需要这样精确有效的工具去解决现实 生活中的复杂问题。算法、数据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个程序员都十分清楚的。 <br转载 2011-01-16 19:32:00 · 1380 阅读 · 0 评论 -
__declspec关键字详细用法
原文链接:http://hi.baidu.com/baiyw920/blog/item/a06ddb986314fd0f6e068c0c.html __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如sta转载 2011-08-25 11:24:12 · 421 阅读 · 0 评论 -
C++字符串函数详解
转载自:http://zhanglong2004.spaces.live.com/?owner=1void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c.返回dest的值.转载 2011-10-08 20:14:10 · 484 阅读 · 0 评论 -
VIM下,在文件及目录中查找字符串的方法 (vimgrep)
以前用editplus的时候,有一个在文件中查找的功能,可以在所有打开的文件中查找字符串,也可以在某一个目录及它的子目录中查找.那么在VIM中是否也有相关的功能呢?答案当然是肯定的.VIM中有个类似grep的命令,叫做vimgrep,语法如下::vimgrep /{pattern}/[g][j] {file} ... 简单来讲,就是在路径和文件命符合{file}的所有文件转载 2013-02-18 11:46:39 · 17779 阅读 · 1 评论 -
Debug与Release版本的区别详解
Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好的名称。 Debug版本包括调试信息,所以要比Release版本大很多(转载 2013-03-12 11:46:52 · 814 阅读 · 0 评论 -
计算视频文件(包含PCR)播放带宽的方法
通过对码流播放卡的分析,以及对公式的对照,对实际计算播放视频文件所用带宽的方法进行了分析(附件中,带有c语言的实现) 分析如下:关键是最后计算带宽的公式:PCRdelta = (uint64_t) ((uint64_t)PCR1 - (uint64_t)PCR0);bitRate = (double) ( ((double)(40608000000ULL)*转载 2013-02-28 10:43:48 · 774 阅读 · 0 评论 -
数字电视节目码流中的PAT表分析
PAT定义了当前TS流中所有的节目,其PID恒为0x00,它是PSI信息的根节点,要查找节目必须从PAT表开始,在TS中很容易被找到。 在PAT中,列出描述每个节目组成的PMT的PID,也包含NIT PID。PAT section header为8个字节,由表标识符、表格section长度、transport_stream_id、版本号、当前/下一次指示符、分段号和最后分段号组成。转载 2013-03-18 11:28:47 · 2267 阅读 · 0 评论 -
PAT PMT 结构
TS_PAT_Programtypedef struct _M_PAT_MAP_TYPE{ unsigned program_number:16; unsigned reserved:3; unsigned program_map_pid:13;}M_PAT_MAP_TYPE;//PAT表结构体typedef str转载 2013-03-18 17:55:01 · 3237 阅读 · 0 评论 -
数字电视节目码流中的PMT表分析
节目映射表提供节目号与组成它们的所有原始码流之间的映射,其PID由所在TS中的PAT表指定,PMT以program_map_section的形式进行TS打包。 我们知道,单路节目的TS是由具有相同时间基点的PES流复用而成的,典型情况下包含一路视频PES流、多路音频PES流,还有teletext、subtitle等PES,各路PES的PID就在这张表中指定。因此,解析这张表就可以知道一路转载 2013-03-18 16:37:23 · 2739 阅读 · 0 评论 -
计算视频文件(包含PCR)播放带宽的方法 PCR计算码率
关于PCR的重要性在网络上到处都是,但是关于PCR的计算的帖子网上写的却不多,分析来,发现并不是一个很复杂的过程在此 我简单描述一下关于通过PCR计算码率的过程。首先。我们要在TS流中找到PSI信息表,这里我就不多说了。顺序是PAT-->PMT--->PCR_PID.当得到PCR_PID后,我们就可以根据它找对应具有PCR信息的包,有时候这个包的指向会在VIDE转载 2013-03-20 11:27:00 · 1402 阅读 · 0 评论 -
linux下python开发环境之二——安装Eclipse+PyDev
Eclipse是由java开发的,所以要想让Eclipse跑起来就得安装jdk,在命令行里输入javac就能查看本机是否已经安装好了jdk了。1、安装jdk先从oracle官网上下载jdk,放到/usr/local/src/文件中,由于找不到linux的下载连接,所以只能在界面中用FF直接下载了。1、cd /usr/local/src/ #进入所放下载文件的目录2、chm转载 2013-04-22 19:36:27 · 834 阅读 · 0 评论 -
PyQt4学习资料
PyQt4学习资料汇总一个月前研究了下PyQt4,感觉比较不错。相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来。关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干二净。1.PyQt4资料链接 http://www.riverbankcomputing.com http://wiki.woodpecke转载 2013-05-07 21:17:55 · 1167 阅读 · 0 评论 -
H.264中的NAL技术
NAL技术1.NAL概述NAL全称Network Abstract Layer, 即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。现实中的传输系统是多样化的,其可靠性,服务质量,封装方转载 2012-12-18 14:29:02 · 492 阅读 · 0 评论 -
Socket粘包问题
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后转载 2012-12-28 13:12:47 · 668 阅读 · 0 评论 -
抽象工厂模式
一、 抽象工厂(Abstract Factory)模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图: 图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属的等级结构,就可转载 2012-12-27 23:03:40 · 407 阅读 · 0 评论 -
__declspec关键字详细用法
原文链接:http://hi.baidu.com/baiyw920/blog/item/a06ddb986314fd0f6e068c0c.html __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如sta转载 2011-10-09 23:07:31 · 299 阅读 · 0 评论 -
git使用详细介绍
1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。.git目录位于工作目录内。 1) 工作目录:用户本地的目录; 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,转载 2012-12-07 11:11:18 · 404 阅读 · 0 评论 -
玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
玩转Google开源C++单元测试框架Google Test系列(gtest)(总)前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。其实gtest本身的实现并不复杂,我们完全可以模转载 2012-12-07 11:12:01 · 551 阅读 · 0 评论 -
Python读写文件
1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt')try: all_the_text = file_object.read( )finally: file_object.close( )转载 2012-12-08 10:38:16 · 497 阅读 · 0 评论 -
python: 单步调试
在python中也有向gdb一样的调试工具。这个工具是python自带的。命令模式待续...图形模式:(这个真的很好用)$ sudo apt-get install python-wxgtk2.8 python-wxtools python-wxaddons wx2.8-i18npython-wxaddons如果没有先不用装它。$ wget http:/转载 2012-12-08 11:31:03 · 6108 阅读 · 0 评论