• 彻底明白编译型和解释型、动态语言和静态语言区别
  • 编译型和解释型的区别先来看看编译型语言定义:编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码(二进制)。再来看看解释型语言的定义:解释型语言的源代码不是直接翻译成机器指令,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。咋看一眼,还是一脸懵逼。下面打个比方:编译型相当于用中英文词典(翻译器)将一本英文书一次性翻译(编译)成一本中文书。以后查看直接就是中文了。可想而知,以后读书(运行)会非常非常方便。而解释型相当于用中英文词典(翻译器)将一本英文书读一段翻译一段(解释)中文。以...
  •  2020-03-02  |    程成  |    345  |    0  |    其他  |   编译型  解释型  动态语言  静态语言  
  • mysql深入理解前缀索引
  • 有时候需要很长的索引字符串,这样会使得索引变的很大而且很慢.通常可以索引开始的部分字符,这样可以大大节省空间提升索引效率,但这样也会降低索引的选择性.索引的选择性是指,不重复的索引值和数据表的记录总数的比值,范围从1#T到1之间.索引的选择性越高则查询效率越高,因为选择性高的索引可以让mysql在查找时过滤掉更多的行,唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的.     一般情况下某个列前缀的选择性也是足够高的,足以满足查询性能.对于BLOB,TEX...
  •  2020-03-02  |    程成  |    410  |    0  |    数据库  |   MySQL  前缀索引  数据库  优化  
  • MYSQL全文索引的深入理解
  • 摘要:在开发中经常会有这样的一个功能:就是一篇文章,可能会添加多个TAG标签,而数据库设计的话通常是用一个字段来存储这些标签的,如字段名为“tag”的值为“1,3,4,5,7”这样的,用户可能会通过这些标签...在开发中经常会有这样的一个功能:就是一篇文章,可能会添加多个TAG标签,而数据库设计的话通常是用一个字段来存储这些标签的,如字段名为“tag”的值为“1,3,4,5,7”这样的,用户可能会通过这些标签来搜索相关内容,之前如果想查询标签包含1的内容的时候,用的都是 find_in_set(...
  •  2020-03-02  |    程成  |    413  |    0  |    数据库  |   mysql  数据库  索引  
  • PHP中new self()和new static()的区别探究
  • 1.new static()是在PHP5.3版本中引入的新特性。2.无论是new static()还是new self(),都是new了一个新的对象。3.这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢?为了探究上面的问题,我们先上一段简单的代码:class Father {     public function getNewFather() { &n...
  •  2020-03-02  |    程成  |    364  |    0  |    PHP  |   PHP  self  static  实例  
  • Makefile 的作用是什么
  • MakeFile文件是什么?它里面包含什么内容、具有什么作用、怎么使用?下面就来具体说说。     什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会...
  •  2020-03-02  |    程成  |    336  |    0  |    其他  |   makefile  编译  脚本  IDE  
  • PHP中什么是依赖注入
  • 把有依赖关系的类放到容器中,解析出这些类的实例,就是依赖注入。目的是实现类的解耦。实例:Class A中用到了Class B的对象b,一般情况下,需要在A的代码中显式的new一个B的对象。采用依赖注入技术之后,A的代码只需要定义一个私有的B对象,不需要直接new来获得这个对象,而是通过相关的容器控制程序来将B对象在外部new出来并注入到A类里的引用中。这样做有什么好处呢?解释:假如现在有N多个类,需要用到Class B,那就需要在类里面实例化N多次,这样对于后期的维护和管理都是不方便的,如果后期...
  •  2020-03-02  |    程成  |    381  |    0  |    PHP  |   PHP  依赖注入  
  • 阿里云ECS宝塔安装好了后,无法访问面板解决方法
  • 如果你还不会安装宝塔,点击这里《阿里云ECS如何用宝塔安装 Laravel 环境》安装完成后界面如下:然后在浏览器中输入上面网址:然后输入上面的账号和密码注意:阿里云安全组默认不开放8888端口的,所以当你访问宝塔,可能出现访问不了的情况。这个时候需要我们去阿里云开放8888端口,下面是开放步骤。【云服务器ECS】-【网络和安全】-【安全组】-【配置规则】【安全组规则】-【添加安全组规则】注意:如需完整使用宝塔的所有功能你还需要放行如下端口20 21 30000-40000端口(FTP)&nbs...
  •  2019-05-13  |    程成  |    1909  |    1  |    服务器  |   宝塔  阿里云  ECS  访问  
  • OAuth 2.0 的四种方式
  • 原文地址:http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html作者:阮一峰上一篇文章介绍了 OAuth 2.0 是一种授权机制,主要用来颁发令牌(token)。本文接着介绍颁发令牌的实务操作。下面我假定,你已经理解了 OAuth 2.0 的含义和设计思想,否则请先阅读这个系列的上一篇文章。RFC 6749OAuth 2.0 的标准是 RFC 6749 文件。该文件先解释了 OAuth 是什么。OAuth 引入了一个授权层,用来...
  •  2019-05-09  |    程成  |    1842  |    2  |    其他  |   OAuth2.0  授权  JWT  SAML  
  • Oauth2.0 的一个简单解释
  • 原文地址:http://www.ruanyifeng.com/blog/2019/04/oauth_design.html作者:阮一峰OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据。这个标准比较抽象,使用了很多术语,初学者不容易理解。其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OAuth 2.0 到底是什么。一、快递员问题我住在一个大型的居民小区。小区有门禁系统。进入的时候需要输入密码。我经常网购和外卖,每天都有快递员来送货。我必须找到一个办法...
  •  2019-05-09  |    程成  |    1008  |    0  |    其他  |   OAuth2.0  授权  JWT  SAML  
  • 什么是JWT -- JSON WEB TOKEN
  • 原文地址:https://www.jianshu.com/p/576dbf44b2ae作者:Dearmadman什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token...
  •  2019-05-08  |    程成  |    1138  |    0  |    其他  |   JWT  OAuth2.0  SAML  跨域  
  • SAML该怎么理解
  • 原文地址:https://www.cnblogs.com/shuidao/p/3463947.html作者:Neil提到SAML (Security Assertion Markup Language), 很多人都会联想到单点登录SSO。那么Saml到底是什么,它跟sso到底有什么联系?这里给大家分享一下我在读完了saml差不多全部规范之后的一些心得。希望给saml入门者一些帮助。 我并不想详细介绍每个xml节点怎么写。大家可以参考标准规范。 看了这篇随笔,相信如果万一哪天你要做saml, 你也...
  •  2019-05-08  |    程成  |    1307  |    0  |    其他  |   SAML  OAuth2.0  JWT  
  • 理解OAuth 2.0
  • 原文地址:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html作者:阮一峰OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。更新:我后来又写了一组三篇的 《OAuth 2.0 教程》,更加通俗,并带有代码实例,欢迎阅读。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子...
  •  2019-05-08  |    程成  |    1064  |    0  |    其他  |   OAuth2.0  授权  JWT  SAML  
  • PHP 正则匹配校验身份证号码
  • 下面方法会校验15位身份证和18位身份证号码,并且还会校验生日,校验号码顺序是否合规。附上代码(复杂版):/**      * function: checkIDNum      * author: cc      * date: 2019/5/7 9:51  ...
  •  2019-05-07  |    程成  |    1559  |    3  |    PHP  |   PHP  身份证号  正则匹配  
  • Nginx 工作原理详解
  • 原文地址:https://www.jianshu.com/p/6215e5d24553 1、反向代理1.1 概念反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。举个例子,比如我想访问 https://www.cc1021.com/readme,但  www.cc1021.com 上并...
  •  2019-04-29  |    程成  |    1175  |    1  |    其他  |   正向代理  反向代理  工作原理  
  • Laravel 中 withCount() 建立一对一、一对多关系
  • withCount 是 Laravel5.3 及其以后版本才有,5.2及其以下会报错:方法未定义。比如:我有一张学生表,一张课程表,一张班主任表。一个学生对应了一个班主任,一个学生对应了多个课程。我想通过学生表,用 withCount 连接两张表,计算出该学生的课程数量和班主任数量。原料:准备好三张表的模型代码文件。建立学生与课程老师的关联关系,且方法名和 withCount 里面名字一样。举例:学生模型 Student.php 模型中定义方法,与课程建立一对多关系  &nb...
  •  2019-04-29  |    程成  |    1113  |    0  |    PHP  |   Laravel  withCount  hasMany