本教程使用 VirutalBox 安装 ArchLinux,而不是在真实主机上。
这几天在研究 X.509 证书和 DER 编码的解码信息。
使用 Docker 部署 MongoDB 的例子。
使用 Docker 部署 RabbitMQ 的例子。
使用 Docker 部署 PHP-FPM 的例子。(包括 Redis 等扩展)
使用 Docker 部署 MySQL 的例子。
使用阿里云 DNS 为 ACME.sh 提供验证,签发 TLS 证书。
最近有个朋友问我关于 Node.js 下使用 ECDSA 的问题,主要是使用 Node.js 的 Crypto 模块无法校验网络传输过来的签名结果。在踩坑无数后,终于搞清楚了原因。
使用 Docker 部署 Redis 的例子。
在 JavaScript 中进行时间周期增减计算的方法。特别是——下个月的此刻(解决 29,30,31 号的问题)。
这是一个关于 Redis 坑的故事。
本文介绍如何发布一个包到 npmjs.org,包括创建、发布、撤回、更新、使用分支等等,以及其中 包含的一些小技巧。
使用 Git/SSH/SCP 之类操作的时候,一般都是用 ssh 密钥的,但是每次都要先启动 ssh-agent 才能注册密钥,挺烦的,于是尝试了一下,能不能在登陆终端的时候自动启动 ssh-agent,并在下次启动终端时复用该 ssh-agent。
一次 MySQL 备份事故——不要试图用系统自带 yum 源安装 mysql/php/node/git/nginx 之流!
本文介绍 OpenSSL 命令行进行 RSA 加密、解密、签名、验证的操作,但不涉及 RSA 算法原理解析,如有兴趣,可以阅读阮一峰的《RSA算法原理》。如果你只想知道 RSA 是什么,那么你只要记住:RSA 是一种加密算法,使用两个密钥,一个叫公钥,一个 叫私钥,使用公钥加密的密文只有使用私钥才可以解密,反之亦然。
出于某种特殊的需求,要给一个已经存在的 git 项目添加一个全新的空分支——没有源自现有分支 commits 记录的分支。
使用 VS2015 编译 LibUV 的过程。
本文分享个人编写 TypeScript 声明文件的经验。
TypeScript 的 DefinitelyTyped 声明文件有两种写法,一种叫做 全局类型声明(Global Type Definition),另一个则是叫做 模块导出声明(External Module Definition)。
openssl req
命令在 MinGW 环境下无法正确生成证书的 Bug。
今天遇到一个 Bug,是在逢 31 号当天,日历控件(同事开发的)就会出问题。 表现为凡是有 31 号的月份几乎都不显示 31 号,但是部分月份如 12 月和 7 月除外。
AWS 的 SNS 是一个消息推送服务,通过 SNS,可以将 AWS 的其他服务(如 S3)的事件消息转发给 其它终端(E-Mail,HTTP服务器等)。
今天编译 PHP 时漏了安装 libiconv,于是去编译了一次 libiconv,结果编译报错了。
本文介绍如何在 Windows 系统中安装 MongoDB 并配置为系统服务。
今天下载了一个 mysql-5.7.11-winx64.zip,发现里面没有 data 目录了,看了下以前的笔记整理下安装命令。
公司有一台服务器是 CentOS 6.3,今天安装 sendmail 提示 GPG 验证失败。
由于笔记本加装了SSD,新装了Win8.1后,主分区是SSD,导致机械盘的分区全部都乱了,于是想到用 subst 命令来实现固定化路径。
众所周知,CentOS作为服务器操作系统被广泛使用,然而其包含的 yum 源中提供的软件版本是非常旧的。比如 GCC,最新版本竟然还是 4.4.x。前天尝试编译 MongoDB 3.2.0,都要求使用 GCC 4.8.1了(GCC 4.8+支持C++ 11)。
只好手动编译一次GCC。注意这并不复杂,但是时间很长。且要预留6G以上的空间给编译器。
记录一次编译 MySQL 5.7.10 的过程。
在 Visual Studio 2015 中使用 OpenSSL 的记录。
两则 PHP 连接 MySQL 失败的记录。
由于 yum 里面的 Git 居然还是 1.7.3 版本的,简直不能忍。于是下载了源码编译安装一个。
最近写 C++ 类模板时遇到的一个 C4661 warning,记载于此。
目前网络上流行的 memcached-win32 都是 1.2.x 版本,过于古老。后来在网上找到一个 1.4.5 版本的 memcached-win32 服务端程序。于是尝试自己编译一个适用于 Windows 的 memcached-1.4.24 最新版本。
很多时候会用 in_array 判断一个值是否在允许值内,比如 in_array (‘apple’, $fruits) 就可以判断是否水果。
理论上这一点也可以用 switch 实现,但是问题就在于,switch 并不是可以随意改动的,而数组可以存放到配置文件里。而且另一个问题在于,尽管不如 in_array 方便,可 switch 是语言结构的一部分,性能上绝对比 in_array 高得多。而优化的条件就取决于,两者的性能差异有多大,如果不大,那么用 switch 对 in_array 进行优化毫无意义。
一次逆向练手记录。
PHP 5.3 中新增了 const
关键词用于定义常量,本文介绍其与 define
直接的区别。
最近在项目里用到了SQLite,而 PHP 中的 SQLite3 类去没有提供类似 MySQL 里的 num_rows
函数。官方说法是 SQLite3 并不缓冲结果集,所以无法直接获取 num_rows
。
最近在写 tracker,遇到大整数类型转换溢出问题。具体表现为两个问题。
接前文:PHP 类静态成员的奇怪析构现象。
前文提到:多个类的静态成员析构顺序与构造顺序一致,本文演示另一种类似情况。
PHP 中的 register_shutdown_function 函数可以用来注册一个“在脚本结束时运行的函数”。
本文介绍 PHP 中静态成员属性的析构顺序问题。
最近写一个C小程序时尝试了下用汇编写一部分代码,封装成函数供 VC (2013)调用。Debug模式一切正常,但是到了Release模式下就直接崩溃了。
之前一直用 127.0.0.1 链接 memcached ,最近偷懒改用APMServ搭建服务器,结果用 localhost 却发现怎么也无法接通 memcached。查了许久发现是 IPv6 的问题。附上原因。
Enigma,二战时期与德国战车捆绑的顶级加密机,它是世界上首台具有比较强悍的加密算法的加密机器,它彻底淘汰了手功加密。而为了破解它,英国政府几乎倾家荡产。(可阅读《密码传奇》)
今天安装Windows 8.1 Enterprise With Update En-Us,安装到选择分区时提示 Windows can’t be installed to this disk. This disk is of GPT style.
今日为学校开发网站时,要加入限制外网 IP 段访问网站的功能。由于网站使用的是一个建站程序,我直接使用了其中内置的 getip
函数获取客户端 IP,然后根据 IP 网段限制访问。
今天想把一个用汇编写的 lib 整合到一个 dll 的输出函数中,用 _declspec(dllexport)
导出该函数不可行,最后用 def 模块导出文件,终于在 Visual Studio 2012 下成功通过测试。
CUE 文件,即 CUESheets ,光盘镜像辅助文件。通常用于光盘刻录、音乐播放等等。比如用 EAC 刻录CD光盘,或者用 Foobar2000 播放整轨音乐文件。
VC2012 下写 Windows 程序时,有时需要判断编译环境。在之前的文章《判断程序是否运行在 Windows x64 系统下。》里说过如何在运行期间判断系统环境,但在编译时如何判断?
本文从 Boot 程序开始,逐步讨论硬盘、MBR、分区表等与 Boot 相关的知识,最终完成 Boot 的基本探讨。
以下功能代码判断是否运行在 Windows x64 下。本例使用 Windows API 函数 IsWow64Process,具体请参考MSDN文档:http://msdn.microsoft.com/en-us/library/ms684139(VS.85).aspx
小说《血之沙漏》的时间线整理文档。
最近在研究如何使一个VC编译的程序脱离VC运行库,也就是msvcrXX.dll。经过多次尝试,总算有所收获。
今天编译静态链接库时,VC提示了 LNK4221 警告。虽然没什么影响(起码暂时没遇到),也特别去查了下警告的由来。
其实这是对《VC++写DLL给VB使用》一文的补充,网易不让编辑太古老的文章……
高考结束,高中毕业那晚的回忆。
我在期待什么?
本文展示 Windows 标准控件之按钮控件的使用方法。
如果历史上各位伟大的科学家聚集在一个论坛主题里,他们会说些什么呢?
C语言标准库内,内存操作函数的汇编源代码。
近来学习字符编码,发现网络上总是把“字符集(Character Set)”与“字符编码(Encode)”搞混了,我也给弄得晕头转向。
遂写此文,以明其意。
最近写编码转换,发现MB编码转换成 Unicode 后,中文总是乱码。 起初以为是自己写错了,但测试后发现转换结果是完全正确的。 再测试一下,发现居然连常字符串都不能正常输出……
今天下午把微软VBS的正则表达式库写成了几个实用函数。
一个恶意程序源码,源自于曾经在《电脑报》上看过的恶意程序“垃圾大王”。
关于玛雅历的一些个人整理。
之前用VC写了一个DLL封装了MySQL的CAPI给VB使用。
在写DLL时遇到了一箩筐问题,现在总结了一些经验,特地写在这里记下来以免遗忘。
经常看到网上有验证18位身份证号码的网站,他是怎么验证的?其实是存在算法的。