O’Reilly 是有名的动物书出版公司,当然他们也不仅仅出电子书还有很多别的业务。O’Reilly 在线学习平台上有他们所有出版过的图书都是原版的,但是仅提供在线阅读,虽然也有 App,但是想在 kindle 上看提高阅读体验。 于是抽时间练习练习 Golang 写了个程序,生成 mobi 格式的

本文参考使用Docker打造自己的云平台编写 本文基于 Docker Swarm Mode 实现容器化,虽然目前 k8s 更火一些,但实在是太重了,以后再折腾。使用 traefik 来实现反向代理、负载均衡,traefik 还自带了服务发现、后端断路器、健康检查等,相当于是自带服务发现的 nginx

今天来看看经常使用的数组排序函数如 sort, rsort, asort, arsort, ksort, krsort 。话不多说直接找 sort 函数吧。 在 php7.3 源码中搜索 PHP_FUNCTION(sort) 可以搜到如下 其中 .h 文件是C语言的头文件,直接打开 .c 文件。so

之前用Beyond Compare对比文件,功能非常强大。但是试用期到了就用不了了,而且授权非常的贵,很多功能一般也用不到。 一般文件对比直接用系统自带的diff命令就可以了。但是,如果临时复制粘贴不同版本文件对比,又不想为了对比而创建文件,JetBrains家IDE对比功能就派上用场了。 Mac下

背景说明目前公司采用微服务架构,主要开发语言为PHP,通过Swoole开启TCP服务供业务端调用。通过公司内部编写的PHP扩展封装客户端调用逻辑。 需求暂定使用Go语言开发新的业务,并提供TCP服务。其中老的PHP项目要通过原有的客户端扩展实现无修改调用。 解决方案通过阅读客户端扩展源码了解调用逻辑

背景说明来说说当PHP出现E_ERROR级别致命的运行时错误的问题定位方法。例如像Fatal error: Allowed memory size of内存溢出这种。当出现这种错误时会导致程序直接退出,PHP的error log中会记录一条错误日志说明报错的具体文件和代码行数,其它的任何信息都没有了

队列的参数即声明Queues时的Arguments。消息的属性即向Exchange发布消息时的Properties。 Queues ArgumentsMessage TTL消息的存活时间,写入队列后被消费前可以存活的时间单位毫秒,通过x-message-ttl属性设置。 Auto expire队列的

简介消息队列用来解决不同项目间通信、业务解耦。消息队列有很多种比如用Redis实现的轻量级消息队列。RabbitMQ是消息队列的一种,基于AMQP协议,用Erlang语言编写,属于一种消息队列中间件。 消息机制 Connection 链接真实的TCP链接 Channel 信道基于Connection