请注意,Zanblog并不支持低于IE8的浏览器,为了获得最佳效果,请下载最新的浏览器,推荐下载 Chrome

最近的一些技术整理(20120109)

Web开发 7,647
前段时间一直没写博客,昨天更新了一篇,今天突然又来了兴致,那就再更新一篇吧(所以说啊,治疗拖延症最好的方法就是现在开始做) 这篇还是一些技术的整理,主要是用于备忘,大家如果觉得太简单就一笑而过啦~ 一. python通过图片内容判断图片类型 前段时间写了一个...
阅读全文 20

最近的一些技术整理(20120109)

1-09 7,647

前段时间一直没写博客,昨天更新了一篇,今天突然又来了兴致,那就再更新一篇吧(所以说啊,治疗拖延症最好的方法就是现在开始做) 这篇还是一些技术的整理,...
阅读全文 20

C++模板的几个应用

Web开发 7,992
C++的模板其实是个挺纠结的东西,用的不好的话,编译的一堆错误够你调到崩溃,但要是用的好呢,又确实非常方便,我们来看看 一.获取数组长度 比如 C++ int arr[10]; 1 int arr[10]; ...
阅读全文 38

C++模板的几个应用

10-13 7,992

C++的模板其实是个挺纠结的东西,用的不好的话,编译的一堆错误够你调到崩溃,但要是用的好呢,又确实非常方便,我们来看看 一.获取数组长度 比如 ...
阅读全文 38

又见C++诡异问题

Web开发 8,782
用C++越久,越是觉得C++太多陷阱,真是防不胜防。 我们看这样一段代码: C++ #include <stdio.h> using namespace std; class C { public: C(int a) { printf("%d\n", __LINE__); } virtual ~C() {} ...
阅读全文 46

又见C++诡异问题

9-28 8,782

用C++越久,越是觉得C++太多陷阱,真是防不胜防。 我们看这样一段代码: C++ #include <stdio.h> using namespace std; ...
阅读全文 46

代码即数据,数据即代码(1)-把难以变更的代码变成易于变更的数据

Web开发 7,905
相信对于这个标题,用过lisp的朋友一定不陌生,本来也是准备了一大堆理论要讲,想了想还是直接举例子比较好。 就举最近产品提的一个产品需求吧,简单描述一下: 对于不同的第三方应用,有不同的频率限制。没有配置则使用默认值 对于不同的第三方应用,在不同的时间段...
阅读全文 8

代码即数据,数据即代码(1)-把难以变更的代码变成易于变更的数据

8-17 7,905

相信对于这个标题,用过lisp的朋友一定不陌生,本来也是准备了一大堆理论要讲,想了想还是直接举例子比较好。 就举最近产品提的一个产品需求吧,简单描述一下...
阅读全文 8

通过引用计数解决野指针的问题(C&C++)

Web开发 8,745
C/C++代码中,野指针问题历来已久,当然,大家都知道new/delete要成对出现: C++ A *p = new A(); delete p; p = NULL; 123 A *p = new A();delete p;p = NULL; ...
阅读全文 14

通过引用计数解决野指针的问题(C&C++)

6-13 8,745

C/C++代码中,野指针问题历来已久,当然,大家都知道new/delete要成对出现: C++ A *p = new A(); delete p; p = NULL; ...
阅读全文 14

再谈C++版的MySQL API封装

Web开发 5,369
上一篇文章《更简洁的C++数据库访问框架-soci》介绍了soci,但也同时提到了一个缺点—insert/update/delete操作的时候,没有返回影响了多少行。 另外还有一个隐性的原因,soci的代码大量使用了异常,而项目中要求底层代码是严禁抛出异常的(其实google也是有这...
阅读全文 7

再谈C++版的MySQL API封装

3-14 5,369

上一篇文章《更简洁的C++数据库访问框架-soci》介绍了soci,但也同时提到了一个缺点—insert/update/delete操作的时候,没有返回影响了多少行。 另外还...
阅读全文 7

STL可能的误用-find_first_of和erase

Web开发 8,902
一.string中find_first_of的误用 STL中提供的string可以说极大方便了对字符串的操作,但是很多函数由于样子上很相似,所以导致很容易理解错误,find_first_of和find就是一个很好的例子。 我们先来看一下string提供的查找相关的函数列表: C++ ...
阅读全文 10

STL可能的误用-find_first_of和erase

2-26 8,902

一.string中find_first_of的误用 STL中提供的string可以说极大方便了对字符串的操作,但是很多函数由于样子上很相似,所以导致很容易理解错误,find_first_of...
阅读全文 10

有限状态机的C++实现(2)-bayonet开源网络服务器框架

Web开发 12,177
接着上一篇文章: 有限状态机的C++实现(1)-epoll状态机,我们今天来介绍更复杂和深入的部分。 为什么会在标题中提到bayonet这个开源项目呢?笔者本人一直想要写一套架构优美、功能完善的异步server框架,也看过很多朋友、同事实现的版本,虽然功能上基本能满足需求,...
阅读全文 6

有限状态机的C++实现(2)-bayonet开源网络服务器框架

2-18 12,177

接着上一篇文章: 有限状态机的C++实现(1)-epoll状态机,我们今天来介绍更复杂和深入的部分。 为什么会在标题中提到bayonet这个开源项目呢?笔者本人一直想要...
阅读全文 6

有限状态机的C++实现(1)-epoll状态机

Web开发 17,781
之前公司的同事写了一个基于epoll的网络服务器,其中涉及到socket状态的转化(如等待接收,接收中,接收完成等),以及socket之间的转化(如验证完ip权限之后,验证完登录态),可见是一个多层次的状态机。 但是在原来的实现中却并没有使用状态模式,导致整个逻辑非常...
阅读全文 19

有限状态机的C++实现(1)-epoll状态机

1-20 17,781

之前公司的同事写了一个基于epoll的网络服务器,其中涉及到socket状态的转化(如等待接收,接收中,接收完成等),以及socket之间的转化(如验证完ip权限之后,...
阅读全文 19

巧用宏定义来简写C,C++代码

Web开发 8,885
今天在工作上遇到一个问题,觉得很有代表性,特抽象如下: 通过设计模式的角度来说,就是模板方法,已经有一个基类,需要定义很多子类来实现其方法。 但是类名都只有一部分不同,且构造函数的入参也只有一部分不同。 如代码: C++ #inclu...
阅读全文 8

巧用宏定义来简写C,C++代码

1-05 8,885

今天在工作上遇到一个问题,觉得很有代表性,特抽象如下: 通过设计模式的角度来说,就是模板方法,已经有一个基类,需要定义很多子类来实现其方法。 但是类名...
阅读全文 8