分类目录归档:IT 杂谈

MySQL enum(枚举类型) set(集合类型) 用法

说下写这篇日志的原因:在 MySQL 中存储状态等值时,用的 char、varchar、或 tinyint,很少使用 enum 或 set。

从个人角度感觉,enum(枚举类型)、set(集合类型)更直观(它适用于业务功能已经确定,否则后期要频繁维护表结构。),但,总用 FIND_IN_SET 查询 set 很是麻烦。网上找了好些时间,才找到方法。因此记录下。

enum 可存储 65535 项值。这有点像 HTML 中的单选框。
set 可存储 64 项值。这有点像 HTML 中的 复选框。

下面将介绍常规用法:

其中 set 类型查询时,可以通过 FIND_IN_SET、LIKE 以及位运算符。首推位运算。

继续阅读 MySQL enum(枚举类型) set(集合类型) 用法

Windows PHP 安装 pthreads 扩展

注意:
现在仅支持 PHP 7.2+ 这是由于 PHP 7.0 和 7.1 上的 ZTS 模式存在安全问题。
摘自:https://github.com/krakjoe/pthreads

停止 PHP 7.4 的 pthread 开发
我不再打算维护 pthread,也不想鼓励对其进行维护:我认为,这样做被设计所破坏并加以修复,根本不值得。
我已经开始开发与未来兼容的新扩展程序:https://github.com/krakjoe/parallel
尽管它与 pthreads 不兼容,也不会兼容,但我认为它是即将到来的 PHP 版本的唯一可行替代品,而我的重点必须放在这上面。
当 7.4 于今年年底进入 RC 阶段时,该存储库将被存档,并且在 PECL 或此存储库中不会再发布 pthread。

感谢贡献者对 pthread 所做的所有努力,您辛勤工作,我对此表示赞赏,并且我想请今天专注 pthread 的任何人都将重点转移到未来和 parallel。
接自:https://github.com/krakjoe/pthreads/issues/929


pthreads 是一组允许用户在 PHP 中使用多线程技术的面向对象的 API。 它提供了创建多线程应用所需的全套工具。 通过使用 Thread, Worker 以及 Threaded 对象,PHP 应用可以创建、读取、写入以及执行多线程应用,并可以在多个线程之间进行同步控制。

建议使用 parallel 作为替代。

不可以在 web 服务器环境中使用 pthreads 扩展, PHP 多线程开发仅限于命令行模式的应用。

只能在 PHP 7.2+ 版本中使用 pthreads (v3) 扩展, 在 PHP 7.0 和 7.1 版本中,ZTS 模式是不安全的。

继续阅读 Windows PHP 安装 pthreads 扩展

跟我一起写 Makefile – 陈皓

什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。

继续阅读 跟我一起写 Makefile – 陈皓