- 博客(161)
- 资源 (2)
- 收藏
- 关注
原创 养成良好的习惯-每个测试文件前输入标识自己的字符串
对于标题,多数看官会发笑。确实,我也是不屑一顾。发生了好几次,编译的东东的路径错误,而且还恰恰编译出了东东。这时候期待的结果令人咋舌费解。一句,活该。为什么不在入口的地方输出,标识你测试的东东的标识呢?很简单,只有一句话,"cout
2013-09-23 09:37:47 1331 3
原创 怎么对待重复的代码
很多程序员喜欢copy,有点经验之后,可能会鄙视这样的做法。在实际的项目中,我喜欢把多次出现的代码通过一个函数,一个模板模式,一个基类封装起来。但是,在写测试程序的时候却习惯拷贝。来一段比较挫的代码:int main(){ int i = 0; /// future QCLibrary *lib_future; lib_future = new QCLibrary(
2013-09-22 15:42:25 1888 2
原创 养成良好的编程习惯-一个库一个文件夹
今天在linux上进行了比较复杂的编译和测试。先描述一下我比较失败的编译经验,希望能把刚才繁琐的动作的动作描述清楚。情景重复:1.cpp ----> lib1.so2.cpp ----> lib2.so3.cpp ----> exe好啦,我介绍下项目环境。cpp文件:source/bak(这个下面是:1.cpp.bak, 2.cpp.ba
2013-09-22 15:29:22 1363
转载 nm符号的类型
nm命令介绍的很多,但大多不介绍其函数符号标志的含义。最近在调试动态库时常用到,其中用的最多的用法:nm -A * |grep “aaa” | c++filt // -A 为了显示文件, c++filt转换为可读风格,好像有个参数也能实现类似功能其他内容整理如下(原作者未知):nm用于列出目标文件的符号清单,如果没有指定目标文件,则默认为“a.out”。nm的格式如下:n
2013-09-17 14:14:27 2095 2
转载 高性能网络编程3----TCP消息的接收
http://blog.csdn.net/russell_tao/article/details/9950615这篇文章将试图说明应用程序如何接收网络上发送过来的TCP消息流,由于篇幅所限,暂时忽略ACK报文的回复和接收窗口的滑动。为了快速掌握本文所要表达的思想,我们可以带着以下问题阅读:1、应用程序调用read、recv等方法时,socket套接字可以设置为阻塞或者非
2013-09-01 18:58:10 847
原创 LoadLibrary,vs__vfptr查错过程
问题描述:框架中使用了LoadLibrary(它可以淋漓尽致地发挥动态库的优势,独立。完全独立。)1,我有一个【Manager对象】2,【Manager对象】中有个【Load对象】。自己写了个跨平台的的Load,姑且叫它【Load类】,他的设计在~Load()释放动态库,另一个有意思的地方,它是在库提供的函数接口中new 出【client对象】3,【Manager对象】中有个从
2013-08-28 12:48:40 1259
转载 c++继承中的内存布局
今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ O
2013-08-27 21:46:57 650
转载 Visual Studio原生开发的10个调试技巧
最近碰巧读了Ivan Shcherbakov写的一篇文章,《11个强大的Visual Studio调试小技巧》。这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧。我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧。(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是
2013-08-10 12:06:39 1431
转载 epoll
博客首页注册 建议与交流 排行榜 加入友情链接 推荐 投诉 搜索: 搜索 帮助漂泊的程序人生猪头playmud.cublog.cn使用epoll进行高性能网络编程epoll和其他技术的性能比较.翻译:韩红军。hanhj@vrlab.buaa.edu.cn ; hongjun_han@163.com原文出自:https://playmud.cublog.cn英文原文:ht
2013-07-14 11:39:14 969 1
转载 socket网络编程
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传
2013-07-14 00:06:43 1100
转载 支撑5亿用户、1.5亿活跃用户的Twitter最新架构详解及相关实现
http://www.csdn.net/article/2013-07-11/2816199-architecture-twitter-uses-to-deal-with-150m-active-users摘要:Twitter出道之初只是个奋斗在RoR上的小站点,而如今已拥有1.5亿的活跃用户,系统日传输tweet更多达4亿条,并已完成了以服务为核心的系统架构蜕变。Twit
2013-07-13 23:35:20 1827
转载 一个链接引发的血案---------服务器 IO及网络流量暴涨解决历程
http://www.cnblogs.com/hurner/p/ubuntu_IO_net_explosion.html在这里介绍一次因为更改网站地址而引发服务器IO读取速度,网络流入流出速度暴涨10倍的解决经历。环境:Ubuntu + Nginx + php-cgi + Wordpress事情是这样的,现在网站使用的wordpress搭建的,网址为www.main.c
2013-07-13 23:30:20 1595
转载 Linux中select poll和epoll的区别
http://www.cnblogs.com/bigwangdi/p/3182958.htmlLinux中select poll和epoll的区别在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I/O复用方式,自从Linux 2.6中加入了epoll之后,在
2013-07-11 12:09:28 836
转载 XOR的黄色大象:Erasure Code为Hadoop节省数据恢复带宽
XOR的黄色大象:Erasure Code为Hadoop节省数据恢复带宽发表于21小时前| 1392次阅读| 来源CSDN| 6 条评论| 作者包研HadoopErasure CodeReed Solomon摘要:如何在尽可能少的成本下,保证数据安全,或在数据丢失后实现快速恢复?这的确是个不小的挑战。在Azure和Facebook中都使用了Erasure C
2013-07-05 12:25:09 1651
转载 从面向对象的设计模式看软件设计
http://coolshell.cn/articles/8961.html前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一句——“那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了……OO的设计模式思想和Unix的设计思想基本没什么差别”,结果引来了一点点争议。所以,我写下这篇文章把我的观点说明一下。我希望这样可以让大家更容易地
2013-07-02 19:07:52 1052
转载 Unix考古记:一个“遗失”的shell
http://coolshell.cn/articles/9410.html谨以此文纪念伟大的计算机科学巨匠Ken Thompson和Dennis Ritchie,并同时向其他所有为Unix发展做出贡献的黑客致敬。历史的尘埃Unix作为一个举世闻名的操作系统已有40余年的历史,围绕着这个古老的操作系统的发展又衍生出了一系列外围软件生态群,其中一个非常重要的组件就是s
2013-07-02 18:49:52 875
转载 提高程序运行效率的10个简单方法
对于每一个程序员来说,程序的运行效率都是一个值得重视,并为之付出努力的问题。但是程序性能的优化也是一门复杂的学问,需要很多的知识,然而并不是每个程序员都具备这样的知识,而且论述如何优化程序提高程序运行效率的书籍也很少。但是这并不等于我们可以忽略程序的运行效率,下面就介绍一下本人积累的一些简单实用的提高程序运行效率的方法,希望对大家有所帮助。注:以C/C++程序为例
2013-07-02 12:42:04 999
转载 批处理分隔符
在SharePoint迁移中,要同步新旧用户SID,但是用户太多,所以决定用批处理一行行读取导出的User.txt(每一行是一条用户信息),再针对每一条用户记录进行操作。 于是学习参考了上面大侠的一些知识。主要用到的是/f命令,(想了下,还是整个贴到自己空间来了)我需要的是要读取每一条的第一列信息,如下格式 ary,Ary Hong,,aaa@163.com,,
2013-07-01 22:43:14 3773
转载 每个程序员都应该知道的论文和文章
http://geek.csdn.net/news/detail/1566每个程序员都应该知道的论文和文章文章由刘江总编于2013-06-30 18:45分享 评论(46)http://projectmona.com/bits-of-brilliance-session-five/里面内容很杂但很丰富,是UIUC教授Jeff Erickson在编
2013-07-01 20:31:50 825
原创 multithreadqueue
template class CHMQ{public: CHMQ() { m_nMax = -1; m_bDrop = FALSE; ::InitializeCriticalSection(&m_lock); m_hPushEvent = ::CreateEvent(NULL, FALSE, FALSE, NULL); //ASSERT(m_hPushEvent
2013-06-18 21:30:36 835
转载 一个栈溢出的BUG
http://www.cnblogs.com/sheniudou/archive/2013/06/14/3135142.html一个栈溢出的BUG我的博客:http://blog.striveforfreedom.netTable of Contents1 BUG描述2 解决过程3 小结1 BUG描述最近修改一C程序,在一
2013-06-14 12:30:26 996
转载 基于CTP的程序化交易系统开发
http://blog.sina.com.cn/s/blog_56e7157f01016ri2.html 自从综合交易平台(CTP)的API开放以来,很多人开始编写自己的程序化交易系统,今天我想说说自己的一些看法。 首先解读一下CTP的接口说明,CTP的API使用建立在TCP协议之上FTD协议(《期货交易数据交换协议》)与交易托管系统进行通讯,而交易托管系统负责投资者的
2013-06-08 11:53:30 8366
原创 一周讨论精华
牛人的只言片语,胜读十年书。1,堆栈内存多线程的时候,我很疑惑,要是一个局部内存传给了线程,不是会崩掉了么?李总说,堆啊,在堆上分配啊。ps:这才是堆和栈的区别,在多线程是很受用。2,线程池嗯,线程好啊。李总说,是的,减少了线程创建销毁,效率较高。所以,要把业务代码拧出来,是线程池可以处理各种业务。ps:我开始崇拜李总了3,填空李
2013-06-07 16:04:04 943
转载 UML类图关系
http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html继承、实现、依赖、关联、聚合、组合的联系与区别分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过
2013-06-06 12:24:02 972
转载 敢偷用我的Wi-Fi? 看我怎么治你
http://network.chinabyte.com/472/12632972.shtml 我的邻居正在盗用我的WiFi,唔,对此我可以直接选择加密口令,或者…作为一名极客我也可以耍耍他。那么,我就从划分网络开始吧。 我把网络划分成两部分,受信任部分和非受信任部分。受信任部分组成一个子网,而非受信任的部分组成另一个不同的子网。我通过DHCP服务器来辨识MAC地址,以此得
2013-06-06 12:22:20 1073
原创 一个项目中的STL类型的选择和算法实现
1.描述:我的类中需要存放strin类型的数据,而且需要和数据连接,实时跟新该容器的数据。2,我的思路:起初:我打算用一个vector就可以啦~后来:我否决了,并不是我觉得vecotr不好,正式因为我想的算法促使我选择不用vector。3,算法:起初:我用了个很拙楼的算法:假设vFrom是实时得到的数据(新的),vTo是我类中保存的数据(
2013-05-26 16:55:53 1409
转载 千万级并发实现的秘密:内核不是解决方案,而是问题所在!
千万级并发实现的秘密:内核不是解决方案,而是问题所在!发表于2013-05-16 14:41| 11427次阅读| 来源HighScalability| 38 条评论| 作者Todd Hoff内核LinuxC10KErrata SecurityUnixApache摘要:C10K问题让我们意识到:当并发连接达到10K时,选择不同的解决方案,笔记本性能可能会超过
2013-05-18 21:36:33 1119
原创 apue有点激动的写下这个大神的东东,膜拜您啊!!
#include #include int glob = 6;char buf[] = "a write to stdout\n";int main(){ int var; pid_t pid; var = 88; if (write(STDOUT_FILENO, buf, sizeof(buf)-1) != sizeof(buf)-1) printf("%m\n
2013-04-16 11:02:12 961
原创 管道实现交互
这几天在做测试,用脚本比较容易些。但是在此过程中遇到一些问题,也引发出对管道的重新思考。脚本需要实现的功能描述:1,循环上100次2,每次,都需要运行一个服务器上的程序(就叫J程序吧) 都需要输入密码问题:这里需要从脚本里往J里输入密码,这里我不会。我的问题集中在,怎么往标准输入中写入数据。好,我在脚本中这样写的:
2013-01-02 12:58:34 840
原创 ios开发常用工具-reveal
今天遭遇到collectionView的最后一行无法显示。百思不得其解。在stackoverflow上面http://stackoverflow.com/questions/25853466/uicollectionview-last-row-not-showing说可能view在下面。好了,打开reveal看了下,果不其然,见下图:
2015-05-11 20:38:41 783
原创 UILabel圆角
[_itemColorLabel clipsToBounds]; _itemColorLabel.layer.masksToBounds = YES; _itemColorLabel.layer.cornerRadius = _itemColorLabel.frame.size.height/3;
2015-05-11 11:03:37 1001
转载 tintColor ios7特性学习
http://blog.kingiol.com/blog/2014/01/09/ios7-day-by-day-day6-tint-color/天天品尝iOS7甜点 :: Day 6 :: Tint Color2014-01-09 THU这篇文章是天天品尝iOS7甜点系列的一部分,你可以查看完整的系列目录:天天品尝iOS7甜点在UIView中一个相对来说
2015-05-10 22:18:58 775
原创 缓存cell高度开源代码阅读:UITableView-FDTemplateLayoutCell
有木有遇见过cell的高度千差万别毫无规律,你怎么计算cell的高度呢?好吧,我相信你能够计算出来,或者你可能用autolayout的特性得出fit后的size,但是,你有木有遇见过那个tableview长长的长长的,长到你觉得tableview没有丝般的顺滑呢?在优化tableview的性能时,如果你能缓存下cell的高度,你离成功近了那么一点。好了,我稍微介绍下这个框架。地址:http
2015-05-10 20:42:17 1956 1
原创 ios 加载xib遇到的坑
storyboard,个人觉得是个好玩意儿,但是什么都做到其中总觉得杂乱。个人偏好把复杂的局部控件(比如定制的collectionviewcell)在xib文件中拉好。在开发过程中遇到不少坑,记忆犹新的是:xib中的部件(比如button)设置圆角的效果不对;加载的xib不能resize大小。第一个问题:圆角的设置代码:view.layer.cornerRadius = view.
2015-05-10 20:29:27 3167
原创 恼人的野指针--ios实战
在c++中,常常被野指针所困扰。转到了iOS,这个问题依然存在。不多啰嗦,直切主题。何为野指针:就是指针所指向的对象已然释放,但是还有地方在使用该指针。野指针危害性:一枚不定时
2015-05-06 00:07:33 3310
原创 http://www.google.com.hk/patents/US8566217
http://www.google.com.hk/patents/US8566217
2014-03-09 21:49:17 3126
原创 Expression:invalid operator<断言
#include #include using namespace std;/*** 测试目的:重现断言,"include\xtree Line:1746 Expression:invalid operator** 重现手法:operator** 结论:map[key] = value.key重复是不会导致以上断言,而是比较函数写法错误*/struct Te
2014-02-17 12:28:55 1846
转载 利用sscanf()匹配字符串需要注意贪婪匹配
http://www.mysql100.com/c/c_error_list/2013/0130/332.html利用sscanf()匹配字符串需要注意贪婪匹配发布时间:2013-01-30 15:12先来看看下面一段代码:#include int main(){ char de_info[64]="DE_smartmedia:
2014-01-18 14:12:45 3725
我的成功可以复制——唐骏
2010-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人