2020
04-07
04-07
PHP 代码分享
MongoDB 教程
正则表达式
jQuery 教程
JavaScript 代码片段
PHP7 教程
MySQL5.7的发行声明中,官方称之为里程碑式的版本,除了运行速度大幅度提升之外,还添加了之前版本没有的功能,如本文所述的原生JSON数据类型功能。
在此版本之前,MySQL所有的JSON数据类型,全部是使用text等文本类型来实现的,数据的处理只能在应用代码级来实现,十分不方便。
继续阅读 >
在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。
unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再nginx配置文件中填写php-fpm的pid文件位置,效率要比tcp socket高。
tcp socket的优点是可以跨服务器,当nginx和php-fpm不在同一台机器上时,只能使用这种方式。
windows系统只能使用tcp socket的通信方式
继续阅读 >
主从复制的配置,大部分都在主机上,注意查看相关步骤。
这里将主从机的防火墙都关闭是为了更好的演示,实际生产环境中一般不会出现windows主机和linux从机这种情况,因此不应该关闭防火墙,而是根据具体情况配置防火墙规则。
继续阅读 >
MySQL5.0.37版本以上支持了Profiling – 官方手册。此工具可用来查询 SQL 会执行多少时间,System lock和Table lock 花多少时间等等,对定位一条语句的 I/O消耗和CPU消耗 非常重要。
继续阅读 >
MySQL官方对索引的定义:索引是帮助MySQL高效获取数据的数据结构。索引是在存储引擎中实现的,所以每种存储引擎中的索引都不一样。如MYISAM和InnoDB存储引擎只支持BTree索引;MEMORY和HEAP储存引擎可以支持HASH和BTREE索引。
继续阅读 >
testing 包是 Go 标准库中我最喜欢的程序包之一,不仅是它具有低干扰的单元测试方法,而且在 Go 的整个生命周期中,它可以改善、提高生活质量 ^_^。
在 Go1.14 中,go test -v 将使 t.Log 的输出变成流式,而不是在测试运行结束之前进行存储,最后一起输出。
继续阅读 >
本文是 Micro in Action 系列的第二篇文章, 我们作了几件事:
介绍了上篇文章所创建的项目结构, 说明每一个文件的用途。
对照源码逐行分析一个 Micro 服务的启动过程。
考虑到 Micro 文档的缺失, 本文完整介绍了创建 Micro 服务所支持的全部 Option
最后用 micro web 查看了服务的运行时状态
继续阅读 >
这是作者 2019-2020 年寒假期间写的一项业余爱好项目。我相信它是相对完整和实用的。但是,它是全新的代码,可能有很多错误。还没有任何人在生产中使用过它。合并运算符。
此外,官方还给了如何和 React 配合使用。
目前,该项目在 Github 上已收获 3400+ Star,并有 51 个 fork。近期增长很快,总在 GitHub 趋势榜。
继续阅读 >
如若在实践中碰到了类似的 bug,只能好好读代码,别无他法,甩锅给离职员工是解决不了问题的。
如果你手边的代码抽象程度比较高,比如函数的参数都是一些 interface,由运行期来决定,那可能要定位这种 bug 就更费劲一些。
继续阅读 >
在k8s中通过kubelet拉起一个容器之后,用户可以指定探活的方式用于实现容器的健康性检查,目前支持TCP、Http和命令三种方式,今天介绍其整个探活模块的实现, 了解其周期性探测、计数器、延迟等设计的具体实现
继续阅读 >
uintptr 可以和 unsafe.Pointer 进行相互转换,uintptr 可以进行数学运算。这样,通过 uintptr 和 unsafe.Pointer 的结合就解决了 Go 指针不能进行数学运算的限制。
通过 unsafe 相关函数,可以获取结构体私有成员的地址,进而对其做进一步的读写操作,突破 Go 的类型安全限制。关于 unsafe 包,我们更多关注它的用法。
继续阅读 >
前两天介绍了一款 Go 语言绘图工具:go-chart。今天发现了另外一款类似的工具,但更强大。不过还没发布稳定版。
项目地址:https://github.com/gonum/plot,Star 数 1.4k
继续阅读 >