之前实现 kbase 的 ENSURE
宏支持如下用法
1 | // Throw a std::runtime_error when condition is violated. |
本次 post 的主角 GetEnvironmentVariableW()
用于获取某个环境变量的值,它的文档可以参见这里,看的时候记得仔细研究一下返回值细节。
Starting a tech startup with C++
又名,Facebook 开源项目宣传广告。
不过实话说,以 Facebook 写 C++ 那部分代码的恣意姿态,如果团队的平均水平够不到中上的槛,弄不好项目还没发布自己就先挂了。
投稿工具的压制功能一直来都有一个问题:如果主进程被强行结束了(例如利用任务管理器),那么创建的 ffmpeg 压制进程仍然会继续运行。
因为 ffmpeg 是以二进制的方式部署的,因此不存在修改它的代码,自己和主进程建立 IPC 监控的方式。
至于采用远线程注入的方式来强行 HACK,我一直对这种无视客观规律的霸道方式都不太感冒,毕竟我们又不是做安全软件。
使用 URLFetcher
作为网络请求的基础组件有一个优势:如果 server 的 response header 指明了 set-cookie
,那么 URLFetcher
在发出下一个请求时会自动往 request header 中设置 cookie。
net::URLFetcher
默认情况下会使用系统代理,对于针对应用于浏览器而设计的网络组件来说,这是合情合理的;并且这也方便了测试对于网络接口的调试,因为只需要打开 Fiddler 或者 Charles,就可以看到应用发出去的 HTTP 请求。
但是有时候我们又希望默认情况下不开启代理支持,比如:在我用 net::URLFetcher
重写某直播姬的网络通信组件后,出现了不少傻逼用户因为不知道自己系统上为什么会各种乱七八糟的本地代理而导致无法登陆。