简单工厂 通过静态方法传入不同的参数创建不同的对象,实现对象创建和使用的分离 通过上面的代码可以看出,简单工厂的缺点就是后面如果想增加新的连接,需要频繁地去修改静态方法 工厂方法 通过定义一个抽象的核......
开发并发布自己的 Composer 包
首先需要安装 Composer,安装教程可以查看我之前写的这篇文章 composer 安装以及使用教程 开发自己的 composer 包 一、创建目录名称 这个 ryanzoe 文件夹就是你的包的根目......
如何将本地项目上传到 Github
一般情况下,是先在 Github 上创建好项目后,将项目拉下来后,添加文件,再上传,也可以通过下面的方法直接将本地的项目推送到 Github。 一、先到 Github 创建项目 二、本地项目运行 gi......
数据结构 堆 (heap)
堆 (heap) 是具有这样性质的数据结构: 完全二叉树 所有节点的值大于等于(或小于等于)子节点的值 堆 (heap) 又被为优先队列(priority queue)。尽管名为优先队列,但堆并不是队......
查询优化 - 如何避免回表查询?什么是索引覆盖、索引下推?
问题: 查询语句: select id,name from user where name=’shenjian’ select id,name,sex where n......
技术的正宗与野路子
黄衫女子的武功似乎与周芷若乃是一路,飘忽灵动,变幻无方,但举手抬足之间却是正而不邪,如说周芷若形似鬼魅,那黄衫女子便是态拟神仙。 这段描写出自《倚天屠龙记》第三十八回。 “九阴神抓”本是《九阴真经》中......
如何防止 XSS 攻击?
XSS 是什么? Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取......
Redis 常用数据类型介绍、使用场景及其操作命令
Redis目前支持5种数据类型,分别是 数据类型 说明 使用场景 string 字符串 String是最常用的一种数据类型,可以包含任何数据。比如jpg图片或者序列化的对象 hash 字典......
十种排序算法 详解
程序 = 数据结构 + 算法 在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西......
PHP 反转字符串
一、使用 PHP 函数 strrev 二、使用 strlen() 函数 如果需要反转的字符串中有中文字符,则需要用到 mb_substr 函数 三、递归实现反转......