netty 初窥

先说结论,总体感觉很好,比 cpp 上的 nio 框架好。 缘起是一个同学来问 java web 的问题,帮他调了一下,两年没怎么碰过 java web 的东西了,各种生疏,而且在调试的过程中,也再次感觉到 java 这个东西实在不适合做 web,一个是重,ssh 框架一上来就给人压得喘不过气的感觉,新增一个功能,要 spring struts 里面 xml ……

阅读全文

boost optional 以及 operator bool

boost 库有一个组件,叫做 optional,用来保存一些可有可无的成员变量,说明见这里,http://www.boost.org/doc/libs/…,样例用法如下 #include <boost/optional.hpp> #include <stdio.h> #include <string> int main() { boost::optional<std::string> name; if (name) ……

阅读全文

动态链接库中的全局变量

想给自己之前的日志库,加一个染色的功能 gcc 有一个自己的特性,叫 __thread,介绍可以看这里,https://gcc.gnu.org/onlinedocs…,是可以用来修饰一个全局变量,从而让这个全局变量在每个线程都有一份拷贝,例子如下: #include <stdio.h> #include <unistd.h> #include <pthread.h> #inc……

阅读全文

(void)var 是在干嘛

最近在看 muduo 的代码,看到类似这样的写法: size_t n = activeTimers_.erase(timer); assert(n == 1); (void)n; 而且不止一处,于是就很好奇,这种 (void)var 是在干嘛,查了一下,这里说道,http://stackoverflow.com/quest… It works around some compiler warnings. Some compilers will warn if you ……

阅读全文

Chrome 中印象笔记悦读插件的问题

印象笔记有一个 Chrome 插件,叫做悦读,可以过滤页面上的杂乱元素,得到一个清爽的纯内容视图,并且可以剪辑到印象笔记中,是个很好的插件。 然而有一个问题,例如这个页面,http://www.techxue.com/techxue…,摘取一段话 微信由腾讯公司于2011年1月推出,到2013年第4季度,注册用户量已经突破6亿,月活跃用户数达……

阅读全文

iOS 的一些后台运行策略

iOS 虽然是一个以打造让用户自由使用而不用关心细节为目标的操作系统,但是对于有好奇心的同学们来说其实还是有很多细节问题可以追问的,从实际的应用场景出发,我们可以遇到的问题有: 在虾米音乐这个 APP 中,有一个离线音乐包的功能,声称可以在 WiFi 状态下预下载一些音乐,然后让用户在没有 WiFi 的时候听,这个自……

阅读全文

分享一个多线程的日志库

思路部分参考了陈硕的 muduo,主要就是多线程写的安全性,以及一些日志分级,自动分割等常用功能,线上几十近百台机器一两年的运行没有发现什么问题 /* * encoding: gbk * created: 2013-09-05 10:33:59 * * 日志工具 * 工具在初始化的时候从堆上分配一片内存,当作二维 char 数组来用 * 每个写入线程在写……

阅读全文