代码编写
文章平均质量分 67
yaocoder
做一个深懂业务的科技人,搭建业务与科技的桥梁!
展开
-
ActiveX开发知多少?
由于前段时间要为一个项目定制一个电子地图+视频监控系统,考虑到公司的现有的开发资源(C#项目组)及已经完成的下层业务框架(C++实现),选择了.net技术结合ActiveX来实现需求。由于下层业务框架是我编写的,所以开始了自己的编写Activex插件之旅。 按照我的习惯在接触一个新技术时并不会匆匆开始上手实现,而是在了解基本原理之后再着手。所以通过各种百科了解了一些关于ActiveX的背景和原创 2013-11-16 21:31:57 · 662 阅读 · 0 评论 -
你会使用回调函数吗?
之所以以反问的形式提出这个问题,是因为以我的观点来看,“回调函数”对一个C/C++程序员来说是很平常的,一些API的使用,一些接口的设计均要用到回调函数的概念。但是我面试过的一些有“多年工作经验”的C系程序员,共事过的一些“有经验”的同事竟然对回调函数不了解,更别提使用了。那今天我就以我的理解来梳理一下回调函数的概念和使用场景。什么是回调函数?维基百科释义:在计算机程序设计中,回调函数,或简称回调原创 2013-11-05 16:32:59 · 619 阅读 · 0 评论 -
STL容器的线程安全?
接上一篇STL容器删除操作继续,STL使用起来方便,还有自动内存管理,再结合合适的泛型算法大大提高了我们编程的效率,于是我们“肆无忌惮”的使用在自己的程序中。但是只要你有“肆无忌惮”的态度,你终归是要走上弯路的,比如其线程安全问题。先从《Effective STL》进行搬运。线程安全的情况多个读取者是安全的。多线程可能同时读取一个容器的内容,这将正确地执行。当然,在读取时不能 有任何写入者操作这个原创 2013-11-05 16:32:52 · 3404 阅读 · 0 评论 -
STL容器删除操作
接上一篇STL容器的选择继续,为什么要选这个话题,是因为我相信很多人都曾经错用过STL容器的删除,虽然网上也有不少解决方案,但是我觉得真正能深入其本质进行讲解而且给出了完整解决方案的网络资料并不多,所以我替大家从《Effective STL》进行下总结搬运。删除特定值连续内存容器(vector、deque或string)使用 erase-remove。例:c.erase(remove(c.begi原创 2013-11-05 16:32:50 · 713 阅读 · 0 评论 -
用”伪代码“装饰你的程序
记得在大学接触的初级编程语言丛书都会推荐先用伪代码来理清程序逻辑再用相应的语法和变量来实现程序。那时总认为那是一种很低级的编程策略,耗费精力,浪费时间。于是在以后早期的程序生涯中,从未用过先写伪代码的形式写过一次程序。 可是去年的一次偶然机会,让我彻底改变对"伪代码"的看法,那时在看一个同事写一个web后台的逻辑,我看见他首先在一个方法中用文字写到step1:......step2:....原创 2013-11-05 16:32:06 · 945 阅读 · 0 评论 -
提高工作效率的工具“类”
(说明:标题所说的“类”,并不一定是指面向对象的类,而是泛指有着特定作用的代码文件) 我写代码有个习惯,在一个工程建立之初,首先会建一个“工具代码”目录,在这个目录里会放入多种工具“类”,比如提供文件操作的,字符串转换的,dump文件输出(windows),注册表操作(windows),计时器服务......等等。别小看这些工具类或方法,举个简单的例子,就拿ANSI和UNI原创 2013-11-05 16:31:30 · 557 阅读 · 0 评论 -
线程池的介绍及简单实现
自己也写过不少线程池的应用,对于性能往往是在使用中根据经验调整,前些天在IBM开发网站上看到这么一篇文章,对线程池的讲解很好,分享给大家650) this.width=650;" src="/editor/icons/etc_17.gif" border="0" alt="etc_17.gif" />作者:幸勇,简介:服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但转载 2013-11-05 16:31:06 · 552 阅读 · 0 评论 -
成长之路---写好一个类
提高自己和培养人才应该循序渐进,首先要能写好一个方法,之后能写好一个类,之后能写好一个程序,之后能做好一个产品...... (本篇是针对C++类的建议) 距离上一个主题写了“写好一个方法”已经有一周多了,本想接着那篇文章直接写这篇关于写好一个类的文章,由于正在看《effective c++》这本书,以前只是选章节的看过这本书的电子版,这次买了实体书,当阅读了这本书的部分内容后,也原创 2013-11-05 16:31:04 · 678 阅读 · 0 评论 -
成长之路---写好一个方法
提高自己和培养人才应该循序渐进,首先要能写好一个方法,之后能写好一个类,之后能写好一个程序,之后能做好一个产品...... 怎样才能写好一个方法呢?(下面给大家以伪代码形式的伪代码给大家举一个例子,仅仅是为了介绍一种思路)首先明确方法的作用,确定参数个数,意义,类型及格式注释采用Doxygen的注释方式,至于优点,请google/** * * * * * * @param Descr原创 2013-11-05 16:30:58 · 591 阅读 · 0 评论 -
无压缩的打包文件
在做一个补丁管理系统,要实现一个对文件打包的过程,因为补丁已经是压缩过的,所以打包时不需要再压缩,另一方面没有压缩打包过程也会快很多,发现zip进行打包已经是默认压缩的。但是tar包是可控的,可以设置压缩选项,此处是用java实现, 引入apache的公共组件包 import org.apache.commons.compress.archivers.ArchiveEntry; impo原创 2013-11-05 16:30:24 · 1036 阅读 · 0 评论 -
STL容器选择
注:这是篇搬运工文章,是在读了《Effective STL》这本书后对一些知识点的总结、摘录,希望和大家一起学习共享。题外话:在网上看到很多人喷C++,喷STL,其实我曾经也会喷C#、喷Java,...但是随着工作经验的增长,阅读书籍的增多,知识面的扩展,我对种类繁多的语言以及技术产生的是敬畏,再也不敢也不会信口开河的去喷,每种语言都有自己的优缺点,也正是这些优缺点,决定了其适用场景。送大家一句今原创 2013-11-05 16:32:48 · 622 阅读 · 0 评论 -
防御式编程
最近在进行一个C/S模型程序集成测试时屡次出现程序崩溃而费时去寻找bug的问题。为此我和团队成员一起探讨了何谓”防御式编程“,为何要做”防御式编程“。 何谓防御式编程,“防御式编程的中心思想是:子程序不因传入错误数据而被破坏,哪怕是有其他程序产生的错误数据。”引自《代码大全》p187——(防御式编程)。说说我们写程序常有的误区,比如我们会假定某处一定存在我们要加载的文件;比如我们会假定客户端原创 2013-11-05 16:32:04 · 582 阅读 · 0 评论 -
成长之路---写好一个程序
提高自己和培养人才应该循序渐进,首先要能写好一个方法,之后能写好一个类,之后能写好一个程序,之后能做好一个产品...... 之前已经写了两篇关于写好一个方法,写好一个类的文章,紧接着把写好一个程序的经验与大家分享下。 (用一个windows平台下的VS2010工程进行介绍,附件有工程文件,由于博客附件最大只能2M,上传不了,感兴趣者可把邮箱发于我,我发给大家) 首先,咱得给工程原创 2013-11-05 16:31:34 · 516 阅读 · 0 评论 -
Linux环境下线程消息同步的陷阱
我们程序中常常会使用到线程间的消息同步处理,比如以下一段伪码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 var message = ""; void func() { 1. 启动线程Thre原创 2014-06-28 19:53:52 · 744 阅读 · 0 评论