关闭

如何判断一个Http Message的结束——python源码解读

HTTP/1.1 默认的连接方式是长连接,不能通过简单的TCP连接关闭判断HttpMessage的结束。以下是几种判断HttpMessage结束的方式: 1.      HTTP协议约定status code 为1xx,204,304的应答消息不能包含消息体(Message Body), 直接忽略掉消息实体内容。[适用于应答消息] Http Message =Http Header 2. 如果请求消息的Method为HEAD,则直接忽略其消息体。[适用于请求消息] Http Message =Ht...
阅读(2847) 评论(0)

SVN Hook + Python实现commit后自动发送邮件

svn 的hook机制方便了用户根据svn动作自定义一些操作,post-commithook是当用户执行commit后执行的用户自定义操作。如用户commit后,自动调用post-commit hook script群发邮件到项目组。实现过程是Commit后post-commithook 自动调用,发送邮件。          我自己写了一个功能简单的sendmail.py来辅助发送邮件。...
阅读(4934) 评论(0)

浅出C++对象模型——理解构造函数、析构函数执行顺序

本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序;对象销毁时析构函数的执行顺序,对象成员的销毁顺序。        “对象的构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。       一个有趣的现象是,成员对象初始化的次序完全不受它们在初始...
阅读(7812) 评论(0)

用栈实现队列-用队列实现栈

栈的特点:FILO(First In Last Out)                        仅能从栈顶插入,删除元素。                          最基本的接口包括push() —— 从栈顶压入元素 ,pop()——从栈顶弹出元素      队列的特点:FIFO(First In First Out)...
阅读(1306) 评论(0)

[置顶] 喜欢sublime的N多理由

刚工作的时候,项目组都用UltraEdit,我也随大流。我使用UltraEdit(UE)工作的时间仅有2个月, 我对UE的印象一直是不亲切,功能齐全常用的却不多,一些功能与配置在菜单和界面中的位置与我期望 的不一样,没有舒适的配色方案等等。     后来用Notepad++ , 大概半年左右。Notepad++功能相对较简单,界面比UE简洁,快捷键用的比较熟 练,搭配上多view功能和...
阅读(15324) 评论(3)

版本控制的极佳实践

本文是www.git-tower.com总结的使用Git的最佳实践,其中的大部分实践具有普适性,可用其他版本控制工具SVN,CVS等。               原文:http://www.git-tower.com/files/cheatsheet/Git_Cheat_Sheet_grey.pdf                  "Best Practice of Version Con...
阅读(2724) 评论(1)

迭代器失效(2)—一个例子

前几天刚写了一篇关于STL迭代器失效的博文(迭代器失效(1)-小心使用STL容器的erase() ),今天又犯了错误,原因是代码结构的复杂性掩盖了迭代器失效的事实。                  现把代码层层简化,如下: #include std::vector myVector; void do_something(); void handleElement(int val);...
阅读(1496) 评论(4)

迭代器失效(1)-小心使用STL容器的erase()

对于以下代码:       my_container.erase(iter);                 其中my_container是STL的某种容器,iter是指向这个容器中某个元素的迭代器。如果不是在for,while循环中,         这种方式删除元素没有问题,如果是在for,while中对m_container迭代,删除其中符合条件的所有元素,就可能出现问题。...
阅读(13400) 评论(5)

C++ 的API 设计指导

原文地址:API Design Principles http://qt-project.org/wiki/API-Design-Principles 摘要:        此文为Qt 官网上的API设计(for C++)指导准则,其中有不少原则具有普遍适用性,整个篇幅中有很多示例,是Qt在API设计上的实践。    正文:       Qt 一致、易掌握、强大的AP...
阅读(4066) 评论(2)

用代码告诉你为什么努力工作却不能涨薪水

昨天下班在QQ上跟同事说我要去参加公司里的培训。 同事:培训完涨工资吗? 我:(突发奇想, 用代码告诉他) finish_training(); if (false) { raise_my_pay(); } 同事:哈哈 我:回来后,我要努力工作,等着涨工资。 同事:你错了,其实是这样的: if (work_hard)...
阅读(2567) 评论(2)

4个月的工作中对软件设计开发的思考

Author : Gary Gao      http://garyelephant.me garygaowork[at]gmail.com  关注自动化运维,软件部署自动化 1. 运维监控平台的设计: 集群的运维监控,需要确保的是将发现问题,记录问题,报告问题,定位问题紧密结合,尤其是对问题的准确定位。在运维监控平台的设计、开发阶段确立准确定位问题的机制,可使系统能够记录问...
阅读(2103) 评论(0)

以实践的方式学习C++ &(引用)

1.第一个例子: 假设: int var1 = 224; //存放var1的值224的内存地址是0x12ABCDEF则以下Code: int var2 = var1; // 将var1的值复制给var2. int& var2 = var1;//var2 是var1 的别名(var2是var1的引用),var1= var2 = 224,var1的值未发生复制,它们的值的地址都是0x12...
阅读(936) 评论(0)

linux的各种开发环境的百花齐放害苦了众多开发者

这几天想给金山快盘写一个linux的客户端(主要是面向ubuntu),软件的开发复杂程度远非我想象的那么简单。其实并不是快盘提供的API复杂,而是我所要开发的这个客户端必须面临不同的开发环境,简单来说,仅对ubuntu而言,我就必须面对ubuntu的不同的桌面shell,Gnome还是Unity且不说,桌面shell还有其他重量级,轻量级的如KDE等。而且如Gnome这种不同的版本之间又有一些不同...
阅读(983) 评论(2)

如何使用Unix/Linux grep命令——磨刀不误砍柴工系列

如何使用Unix/Linux grep命令     ——磨刀不误砍柴工系列      Garygaowork#gmail.com        grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印出来,不会修改原文件内容。 使用grep 命令的语法为:  $grep [option(s)] pattern [file(s)]...
阅读(10415) 评论(0)

满足用户需求,创造用户价值-有感于36氪开放日

刚从36氪的线下活动——‘36氪开放日’回来,清华园科技大厦C座2层的国家会议中心里,挤满了人,36氪,腾讯开放平台,风险投资人全都来了,还有9个创业团队以及众多的像我一样的年轻人。       一谈到互联网创业,互联网创业团队,VC,移动应用,交互设计,大家都热情高涨,今天的开放日包括主题演讲和9个创业团队的产品展示。           主题演讲包括腾讯开放平台陈磊的创造价值,开放梦...
阅读(1070) 评论(0)
53条 共4页首页 上一页 1 2 3 4 下一页 尾页
    个人资料
    • 访问:193932次
    • 积分:2508
    • 等级:
    • 排名:第15180名
    • 原创:45篇
    • 转载:3篇
    • 译文:5篇
    • 评论:67条