自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 接管php-fpm运行方式

最近新入职了一家游戏公司,公司不在采用常用的LNMP的环境进行开发,而是去掉了nginx,通过代理链接fast CGI进行进行发送请求。也让我恶补了一下php的运行模式1、先介绍下PHP的运行模式。 1、CGI(通用网关接口 / Common Gateway Interface) 2、FastCGI(常驻型 CGI / Long-Live CGI) 3、CLI(命令行运行 / Command Line Interface) 4、LoadModule【Apache 独有】.

2020-10-20 19:33:32 256

原创 PHP使用 tokent (令牌)进行登录

1. 为什么要使用tokent进行登录前后端分离或者为了支持多个web应用,那么原来的cookies或者session在使用上就会有很大的问题 cookie和session认证需要在同一主域名下才可以进行认证(目前可以把session存储在redis内进行解决)。 2. 解决方案oauth2 和 jwt jwt :是一种安全标准。基本思路就是用户提供用户名和密码给认证服...

2018-05-09 10:19:46 13319

原创 论如何快速的拥有产品思维和架构师思维

大家都在说程序员后期的发展方向可以是架构师,也可以是产品经理。然后巴拉巴拉的列出了一些相应的书籍。可是这些都是后期慢慢发展的方向,距离成为产品经理或者架构师还有很长的路要走,那么如果更快速的进入角色呢?然后每个人又都提出了,要有架构师的思维,要有产品经理的思维。那么,什么又是产品经理的思维,什么又是架构师的思维呢?然而得到的答案,大多就是考虑用户该怎么使用啊,这个东西该如何去架构啊,想别人之所想啊

2018-01-05 12:08:14 883

原创 redis加锁的几种实现

1. redis加锁分类redis能用的的加锁命令分表是INCR、SETNX、SET2. 第一种锁命令INCR这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。 然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。 1、 客户端A请求服务器获取key的值为1表示获取了锁

2017-09-23 17:43:49 45252 4

原创 探索laravel里的encrypt和decrypt实现

Laravel 的加密机制使用 OpenSSL 提供 AES-256 和 AES-128 的加密1. 使用方法首先是生成秘钥。要需要在.env目录里提供APP_KEY,这个如果没有的话,可以通过命令php artisan key:generate生成,也可以自己设置。生成后例子应该是这样的 APP_KEY=base64:5BM1BXGOBrGeeqJMAWJZSzyzh5yPcCGO

2017-09-18 20:40:20 2705

原创 三年PHP面试总结

在第一家公司工作有三年了,以前只专注写PHP,现在换工作后才了解自己知识的匮乏,现在总结下面试中会问到的问题。也是工作三年的PHP应该必须知道的内容 以下并不提供答案,只是碰到问的面试问题,因为好多我都没答上来。1. PHP方面的问题什么是composer?以及composer是干什么用的?工作原理PHP如何实现静态化你了解设计模式吗?说下你最常用的设计模式观察者模式是如何实现的?工

2017-08-08 15:38:36 12844 3

原创 Ubuntu下安装Docker

Docker官方分为了两个版本,一个是Docker EE(即企业版,收费),另外一个是Docker CE(社区版,免费)。目前我们自己使用的话社区版完全够用。 目前操作系统我用的是ubuntu 16.041. 安装OverlayFS的支持如果你Ubuntu的版本为14.04的话,需要安装额外的OverlayFS的支持,如果是16.04的版本因为已经自带了OverlayFS支持,所以不需要安装

2017-08-08 13:39:02 414

原创 Lumen使用Redis指南

鉴于官方文档过于简单,所以详细写了下使用指南1. 安装扩展要使用redis必须安装两个扩展 composer require predis/predis composer require illuminate/redis (PS:官方上有要求安装两个安装的版本为predis/predis (~1.0)和illuminate/redis (5.2.*),因为目前安装的最新版本就是这两个版本,故

2017-08-07 15:19:26 7283

原创 新手也能用docker搭建PHP环境

虽然这篇叫Docker环境搭建,但是是用了一个别人写好的配置文件,为什么要用别人写好的呢?因为第一节省了我们学习的成本,类似一键安装环境的东西。二节省了我们的构造docker和测试docker的时间。三也省略了我们在去写额外的服务器配置。这里我选用LaraDock,因为它的容器多,不仅仅用来作web服务器。LaraDock官网 以下,所说的文件夹和目录是同一个意思,只不过不同的操作系统叫法不

2017-08-06 21:12:52 5176

原创 做微信登录前必须先了解的事情

1. 微信公众平台与微信开放平台微信登录分为微信开放平台和微信公众平台微信公众平台:指使用微信内置浏览器登录网站,没有二维码显示。微信开放平台:为PC或者移动网页登录网站,显示二维码,扫码二维码后登录。2. 网页授权的两种scope的区别以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进

2017-08-06 21:12:49 889

原创 cookie和session

1. 由来long long ago……,在以前浏览器只是用来查看文档的,并没有其它增删改的之类的操作。后来万恶的产品经理提出了各种奇葩的需求,为了解决产品经理的特殊需求,引入了cookie和session的概念,用来保存HTTP的请求状态。(PS:比如你增加一个东西,我可以记录cookie或session。你删除一个东西我也可以删除一个cookie或者session。而cookie是存储在你

2017-08-06 21:12:46 382

原创 Swoole学习笔记

1. 安装目前官方推荐两种方式1).使用pecl的方式安装pecl install swoole2).使用源码安装,推荐下载releases版本的swoole,最好不要从github主干上拉取代码编译,直接下载tar包。swoole包下载地址然后进行编译安装 wget https://github.com/swoole/swoole-src/archive/v2.0.7.tar

2017-08-06 21:12:43 424

原创 Restful API学习笔记

1. 什么是RestfulRestful是互联网软件的架构原则。什么是互联网软件的架构原则呢?互联网软件的架构原则就像MVC或者设计模式一样,一种约定。就像我们日常生活中的,靠右行走,红灯停绿灯行一样。而Restful就是对于服务器资源之间交互的一种规定。RESTful是面向资源的一种准则。什么是资源,网络上的所有事物都可以被抽象为资源,比如生活中得水资源,能量资源等等,在网络中比如种子,文章,

2017-08-06 21:12:41 413

原创 PHP-RSA2签名

什么是RSA2:RSA2就是在原来SHA1WithRSA签名算法的基础上,新增了支持SHA256WithRSA的签名算法。该算法在摘要算法上比SHA1WithRSA有更强的安全能力。SHA1WithRSA的签名算法会继续提供支持,但为了您的应用安全,强烈建议使用SHA256WithRSA的签名算法开发平台算法名称标准签名算法名称备注RSA2SHA256WithRSA强制要

2017-08-06 21:12:38 2945

原创 Laravel注册重构

需要使用laravel搭建一个后台内容管理系统,但是laravel默认的登陆注册不能满足目前的需求注册的话因为是用在后台,并且不需要使用邮箱注册的,而且会有一些额外的配置需要在注册时一起填写。1. 首先确定用户注册的路由我们在安装好laravel的时候默认生成的注册是用邮箱进行注册的,并且有些选项不需要,有些还需要加一些表单选项我们注册的话,并不是可以随便注册的,只有一些超级管理员才能进行注册

2017-08-06 21:12:35 563

原创 Laravel重置密码重构

需要使用laravel搭建一个后台内容管理系统,但是laravel默认的登陆注册不能满足目前的需求重置密码的话因为是用在后台,并且不需要发送邮件进行重置,所以默认的重置密码肯定是不行的。1. 首先确定重置密码的路由我们在安装好laravel的时候默认生成的重置密码是在用户未登录的情况下进行的。所以使用原来的控制器是不可行的并且原有的重置密码,并不需要查看原始密码是否正确,而是通过邮件来进行直接

2017-08-06 21:12:32 1887

原创 Laravel登陆重构

需要使用laravel搭建一个后台内容管理系统,但是laravel默认的登陆注册不能满足目前的需求登陆的话,首先需求是不一定需要邮箱进行注册,还可以直接使用用户名等进行登陆或者手机号1. 登陆路由的确定首先我们必须找到它默认的登陆路由,这样的话我们可以直接重写它的登陆方法默认的登陆路由是直接在后面输入\auth\login,这个可以在手册里找到,如果不是得话也可能是直接输入login然后它访问

2017-08-06 21:12:30 586

原创 PHP新特性DateTime常用方法整理

对DateTime对象使用的方法进行了一些整理,方便以后的查找和翻阅实例化对象前面加\表示的是,在命名空间中使用原生的类,如果没有使用命名空间的话,可以把前面的\给删除掉1. 输出当前时间$datetime = new \DateTime;print_r($datetime->format('Y-m-d H:i:s'));2. 输出给定的时间$datetime = new \DateTi

2017-08-06 21:12:27 623

原创 PHP新特性笔记

1. 命名空间使用namespace进行定义,导入时可以使用use2. 接口像定义类一样使用 interface3. 性状使用关键字trait定义,导入时在类里使用use导入4. 生成器使用关键字yield。生成器从不返回值,只产生值5. 闭包和匿名函数闭包是指在创建时封装周围状态的函数。匿名函数是指没有没有名称的函数。可以使用use关键字,把外部的变量附加

2017-08-06 21:12:24 343

原创 记一次第三方验证码踩过的坑

1. 接手了一个注册验证的一个坑。起因:一个小时内同一个手机号突然发送了8000多条短信。原因:测试代码发现确实可以无限发送短信,是因为后台没有限制同一个手机号发送次数的限制。解决方案:联系短信提供商,限制同一个手机号发送次数,并且在后台添加同一个手机号发送的限制操作:首先在数据库里的记录发送短信的表里增加一个字段用来记录同一个手机号发送的条数。发送短信前,首先查看有没有短信发送记录,如果没有,

2017-08-06 21:12:22 2127

原创 Laravel学习笔记

1. 模板页上的内容覆盖子页面上的内容在子页面中可以使用 @parent 指令来显示模板页上的内容,前提是在布局模板中使用@section指令用来指定覆盖的区域 App Name - @yield('title') @section('sidebar') This is the master sidebar

2017-08-06 21:12:19 561

原创 javascript学习笔记

1. 原型对象和原型链prototype的主要作用是继承,prototype中定义的属性和方法是留给自己的“后代”用的。子类可以完全访问prototype中的属性和方法function f(){}f.prototype.foo = "abc";console.log(f.foo); //undefined通过例子可以看出,自身是访问不到自己的prototype的__proto__通常是

2017-08-06 21:12:16 238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除