序言

亲爱的游客,欢迎来到木木的博客。在浏览前,有一点是需要您了解的,那就是——木木是个很啰嗦的人。接下来即将进入本篇,也是我的第一篇博客的正文。为什么我要开始写博客?原因有以下几点。

继续阅读“序言”

PHP 实现请求结束之后,后台静默执行部分代码

这一篇其实是由上一篇引申出来的。之前说到,勉勉强强实现了 PDF 和 PPT 文件转图片,但是转换需要一定的时间,而我这里是用户发起请求进行转换的,这部分时间不应该让用户一直等着,应该结束请求,把数据返回给用户,然后后台再慢慢执行这些转换操作。

继续阅读“PHP 实现请求结束之后,后台静默执行部分代码”

Conway’s Game of Life – Unlimited Edition(康威生命游戏-无限版)

最近也不知道在忙啥,反正好久没玩 codewars 了,上去看看的时候偶尔看到了一个很有意思的题目,稍微看了一下说明,感觉可以做出来,于是就开始了长达 2+2 个小时的解题过程。

下面是简单的题目说明:简单的来说,就是有一个二维数组,数组的每一个元素就是一个细胞,细胞有存活和死亡两种状态,每经过一代,细胞的状态都可以发生改变,有如下四个具体规则:

继续阅读“Conway’s Game of Life – Unlimited Edition(康威生命游戏-无限版)”

MySQL学习笔记(六):小结一下(废话一下)

这次的学习笔记其实还是比较少的,才短短的五篇,简单地涉及了一下MySQL基础、数据类型、索引和三大范式,离完完整整的MySQL还差得远呢。虽然感觉很可惜,学了一通MySQL,但是留下的记录并不多,但是最近事情还是不少的,能拿出来学习并且细细地记下笔记还是很不容易的,只能是且学且珍惜了。

继续阅读“MySQL学习笔记(六):小结一下(废话一下)”

MySQL学习笔记(五):数据库设计规范

数据库的设计可是一门大学问,如果没有亲手开发过好几个项目,基本上是不能真正掌握的,简单点的设计字段类型的选择、表结构的设计,复杂的还得考虑项目的体积,相应地进行分表、分库等等操作,这些就超出我的能力范畴了,我也还不具备资格在这里说些大话,不过学习到了一些理论知识,还是想在这里记录下来,以后看起来方便点。

继续阅读“MySQL学习笔记(五):数据库设计规范”

MySQL学习笔记(四):正确使用索引(二)

上一篇学习到了MySQL中的索引是什么,以及一些关于索引的简单的知识,这篇我打算详细地谈一谈如何正确地使用索引。索引的使用看起来很简单,但是在真正去学习它的时候才发现,原来是暗藏玄机。使用索引时有很多需要特别注意的点,稍有不慎,我们建立的索引就不能发挥其作用了。

继续阅读“MySQL学习笔记(四):正确使用索引(二)”

MySQL学习笔记(三):关于索引(一)

在MySQL中,索引的使用非常重要。当你的数据量小的时候,可以不需要考虑索引,甚至使用了索引之后不但占用了更多空间,还会使CURD操作都变慢了;但是当你的数据量逐渐增多时,哪怕只是千、万级的数据,使用适当的索引都能帮助你的接口的性能提升一个台阶。

如果把我们的数据库比作一个字典,那么索引就是字典前面的目录。当你的数据量小的时候,在其中进行查找操作可能还比较轻松;但是现象一下,如果你需要在一本没有目录的新华字典里面找一个字,那得是多么可怕的操作。

继续阅读“MySQL学习笔记(三):关于索引(一)”

MySQL学习笔记(二):数据类型

MySQL的数据类型还是较为简单的,总共有四种:整数类型、浮点数类型、字符串类型、时间和日期类型。

整数类型从小到大有tinyint、smallint、mediumint、int、bigint五种,区别所占空间的大小,对应为存储数据的数值大小。
拿tinyint来举例子,一个tinyint字段占一个字节Byte,即8位,8位二进制所能存储的十进制数值即2^8=256,也就是能够存储范围为-128~127(有符号),或0~255(无符号)的数。

继续阅读“MySQL学习笔记(二):数据类型”

MySQL学习笔记(一):MySQL基础

前段时间一直在忙活做项目,已经好久没有特意去提升自己了,博客也是放着几乎没怎么管。经过这么长一段时间的做项目(重复工作)和带带小学弟学妹,我也渐渐意识到,我自身的基础还是有所欠缺,虽说写写不复杂的接口已经和吃饭一样稀疏平常了,但是对于更底层的数据库、运维以及架构的知识,感觉仍需学习。

从图书馆借了两本讲MySQL的书,就此正式从MySQL数据库开始学习了!

继续阅读“MySQL学习笔记(一):MySQL基础”