- 博客(10)
- 收藏
- 关注
原创 深谈字符编码的发展史(ASCII,GB2312,GBK,Unicode,UTF-8)
因为我先前遇到了很多关于编码这方面的问题,像数据库字段的长度设置存有疑惑,经过多方查找,现在基本洞悉了其中的缘由,现在就让我分享给大家。 字符编码 编码是信息从一种形式转变成另外一种形式的过程。用预先规定的方法将文字,数字或其它对象编成数码,或将信息,数据转换成规定的电脉冲信号。解码,是编码的逆过程。 在计算机编程中,编码是指用代码来表...
2018-08-28 10:02:36
1092
转载 thinkphp5是好用的php开发框架版本
thinkphp官网在去年的时候发布了tp的颠覆版本thinkphp5,tp5确实比之前的版本好用了很多,增加了很多的一些特性,它采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化工作,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,绝对是新项目的首选(无论是WEB还是API开发),大...
2018-07-09 13:46:51
4526
转载 MySQL数据库设计总结
规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISAM虽然在一般情况下,查询性能比Inno...
2018-06-27 14:20:05
163
原创 ThinkPhp5 数据迁移(think-migration)
在thinkphp5中提供了数据迁移工具(think-migration),它是机遇phinx开发(文档地址:http://docs.phinx.org/en/latest/)首先通过 composer 安装composer require topthink/think-migration注意事项,不支持修改文件配置目录在命令行下运行查看帮助,可以看到新增的命令php think migra...
2018-06-08 09:29:20
3879
翻译 PHPUnit的使用
想试一下单元测试很久了,但是一直没有合适的项目,而且中文网络上的PHPUnit教程要么太旧,要么太乱,所以总也没学会。最近准备把手头的项目重构一下,决定开始使用PHPUnit做单元测试,先照着PHPUnit的官网做了一下Tutorial,虽然已经很简单了,仍然被卡住几次,所以写篇文章记录一下。因为对PHP的包管理系统不熟悉,这篇文章会从安装开始。1.安装PHPUnit如果使用PHAR安装的话很简单...
2018-06-02 10:06:29
2952
转载 php处理加密的几种方式
在使用PHP开发Web应用的中,很多的应用都会要求用户注册,而注册的时候就需要我们对用户的信息进行处理了,最常见的莫过于就是邮箱和密码了,本文意在讨论对密码的处理:也就是对密码的加密处理。MD5相信很多PHP开发者在最先接触PHP的时候,处理密码的首选加密函数可能就是MD5了,我当时就是这样的:$password = md5($_POST["password"]);上面这段代码是不是很熟悉?然而M...
2018-06-02 10:04:28
958
转载 看图学HTTPS
HTTP是什么样的?HTTP是属于应用层的协议,它是基于TCP/IP的,所以它只是规定一些要传输的内容,以及头部信息,然后通过TCP协议进行传输,依靠IP协议进行寻址,通过一幅最简单的图来描述:客户端发出请求,服务端进行响应,就是这么简单。在整个过程中,没有任何加密的东西,所以它是不安全的,中间人可以进行拦截,获取传输和响应的数据,造成数据泄露。加个密呢?因为上图中数据是明文传输的,我们能想到最简...
2018-06-02 10:02:29
359
原创 php快速查找(thinkphp)
基本思想:在数组中挑出一个元素(多为第一个)作为标尺,扫描一遍数组将比标尺小的元素排在标尺之前,将所有比标尺大的元素排在标尺之后,通过递归将各子序列分别划分为更小的序列直到所有的序列顺序一致。<?php //快速排序 function quick_sort($arr) { //先判断是否需要继续进行 $length = count($arr); ...
2018-06-01 13:43:43
615
转载 php中二分查找
二分查找法需要数组是一个有序的数组假设我们的数组是一个递增的数组,首先我们需要找到数组的中间位置.一。要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值来和我们的值做对比。二。如果中间值大于我们的给定值,说明我们的值在中间位置之前,此时需要再次二分,因为在中间之前,所以我们需要变的值是结束位置的值,此时结束位置的值应该是我们此时的中间位置。三。反之,如果中间值小于我们给定的值,那么说...
2018-06-01 13:22:47
222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人