自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Fiddler实现移动端手机抓包

Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。一、Fid...

2018-06-06 10:00:00 1440

转载 Windows 安装 Go语言开发环境以及使用

下载安装包下载地址:http://www.golangtc.com/download32 位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的。下载好后运行,不要修改默认安装目录 C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码。安装完成后默认会在环境变量 Path 后添加 Go 安装...

2018-05-29 16:19:00 187

转载 laravel队列,事件简单使用方法

A.队列的使用1.队列配置文件存储在 config/queue.php 根据自己的情况进行配置2..env文件 QUEUE_DRIVER=database(根据个人情况配置,redis等)3.创建jobs表(不用数据库的可以不用建表)php artisan queue:tablephp artisan migrate4.创建任务文件php artisan make...

2018-04-27 16:45:00 485

转载 视图

优先使用 Blade视图文件 必须 优先考虑使用 .blade.php 后缀来指定使用 Blade 模板引擎。保持目录清晰layouts - 页面布局文件 必须 放置于此目录下;common - 存放页面通用元素;pages - 简单的页面存放文件夹,如:about、contact 等;resources - 对应 Restful 路由的资源路径名称,以 UR...

2018-04-18 14:56:00 164

转载 laravel Passport - 创建 REST API 用户认证以及Dingo/Api v2.0+Passport实现api认证

第一部分:安装passport使⽤ Composer 依赖包管理器安装 Passport :composer require laravel/passport 接下来,将 Passport 的服务提供者注册到配置⽂件 config/app.php 的providers 数组中:(5.6后不用加 )Laravel\Passport\Passport...

2018-04-17 17:28:00 145

转载 多台服务器 同时部署一套代码

把文件放入linux下bin目录#!/bin/bashserver_ips=("第一台主机IP" "第二台主机IP" "第三台主机IP");#pwd 当前路径work_path=$(pwd);#option up info参数option=$1;#sw_url 例如sw 后面的路径sw_url=$2;commond='';if [[ $op...

2018-03-29 18:39:00 1462

转载 Redis、Memcache与MongoDB的区别

>>MemcachedMemcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。支持直接配置为session handle。Memcached的局限性:只支持简单的key/value数据结构,不像Redis可以...

2018-01-08 19:00:00 76

转载 php Redis函数使用总结(string,hash,list, set , sort set )

对于:string, set , sort set , hash 的增,改操作,是同一个命令,但是把它当改操作时,及时成功返回值依旧为0对于:list结构来说,增删改查自有一套方法。 1 <?php 2 /*1.Connection*/ 3 $redis = new Redis(); 4 $redis->connect('...

2018-01-08 15:08:00 99

转载 mysql索引类型和索引方法

索引类型mysql索引类型normal,unique,full text的区别是什么?normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefull textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 ...

2018-01-03 16:21:00 145

转载 PHP性能优化利器:生成器 yield理解

如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。优点直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下:生成器会对PHP应用的性能有非常大的影响...

2018-01-02 13:48:00 57

转载 MySQL-分组查询(GROUP BY)及二次筛选(HAVING)

为了测试GROUP BY 语句,我们创建两张表,并往表中添加数据-- 创建部门表CREATE TABLE IF NOT EXISTS department(id TINYINT UNSIGNED AUTO_INCREMENT KEY,depName VARCHAR(20) NOT NULL UNIQUE);-- 添加部门INSERT departmen...

2017-12-08 17:12:00 230

转载 日期时间处理

获得当前周的周一到周日select subdate(curdate(),date_format(curdate(),'%w')-1)//获取当前日期在本周的周一select subdate(curdate(),date_format(curdate(),'%w')-7)//获取当前日期在本周的周日数据库字段为int 那样where条件这样写:FROM_UNIXTIM...

2017-12-05 11:03:00 283

转载 常见web安全隐患及解决方案

Abstract有关于WEB服务以及web应用的一些安全隐患总结资料。1. 常见web安全隐患1.1.完全信赖用户提交内容 开发人员决不能相信一个来自外部的数据。不管它来自用户提交表单,文件系统的文件或者环境变量,任何数据都不能简单的想当然的采用。所以用户输入必须进行验证并将之格式化以保证安全。具体如下:⑴ 始终对所有的...

2017-11-24 15:20:00 1065

转载 确保 PHP 应用程序的安全 -- 不能违反的四条安全规则

规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。 例如,下面的数据元素可以被认...

2017-11-24 15:18:00 82

转载 nginx php mysql日志配置

1.编辑mysql的配置文件my.cnf,这个文件通常在/etc目录下,但我用rpm装mysql的时候这个配置文件是在/usr目录下,但我测试过,无论是放在/etc目录下,还是放在 /usr目录下,都可以生效,不过由于习惯,我还是将my.cnf文件放到/etc目录下vim /etc/my.cnf# The MySQL server[mysqld]port = 330...

2017-11-23 20:20:00 80

转载 php-fpm和cgi,并发响应的理解以及高并发和多线程的关系

首先搞清楚php-fpm与cgi的关系cgi  cgi是一个web server与cgi程序(这里可以理解为是php解释器)之间进行数据传输的协议,保证了传递的是标准数据。php-cgi  php-cgi是php解释器,就是上文提到的cgi程序。Fastcgi  Fastcgi是用来提高cgi程序(php-cgi)性能的方案/协议。  ...

2017-11-23 17:17:00 330

转载 php内存管理机制与垃圾回收机制

PHP内存管理机制1 var_dump(memory_get_usage()); //获取内存2 $a = "laruence"; //定义一个变量3 var_dump(memory_get_usage()); //定义变量之后获取内存4 unset($a); //删除该变量5 v...

2017-11-23 17:13:00 123

转载 【转】shell命令中>/dev/null 2>&1的实现原理

异步执行 exec("/alidata/server/php/bin/php /nas/wxdoctor/index.php App/Common/WordsPic/user_id/".$user_info['user_id']."/goods_id/".$goods_id."."/open_id/".$user_info['open_id']." > /dev/nu...

2017-11-21 19:03:00 158

转载 PHP SPL使用方法 自动加载和迭代器

SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪般的说明文档,使你忽略了「它的存在」。SPL 这块宝石犹如铁达尼的「海洋之心...

2017-11-20 20:35:00 75

转载 基于RESTful API 设计用户权限控制

RESTful简述本文是基于RESTful描述的,需要你对这个有初步的了解。 RESTful是什么? Representational State Transfer,简称REST,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。 REST比较重要的点是资源和状态转换, 所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本...

2017-08-10 14:41:00 185

转载 PHP中关于 basename、dirname、pathinfo 详解

basename(url)返回路径中的文件名部分。dirname(url)返回路径中的目录名称部分。pathinfo(url)返回关于文件路径的信息。basename() 函数返回路径中的文件名部分。语法basename(path,suffix)参数描述path...

2017-08-08 17:52:00 110

转载 PHP中的魔术方法和关键字

PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload1、__get、__set这两个方法是为在类和他们的父类中没有声明的...

2017-08-08 14:51:00 47

转载 PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

sort() 函数用于对数组单元从低到高进行排序。  rsort() 函数用于对数组单元从高到低进行排序。  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。  ksort() 函数用于对数组单元按照键名从低到高进行排序。  krsort() 函数用于对数组单元按照键名从高到...

2017-08-07 16:50:00 118

转载 mysql cursor游标的使用,实例

mysql被oracle收购后,从mysql-5.5开始,将InnoDB作为默认存储引擎,是一次比较重大的突破。InnoDB作为支持事务的存储引擎,拥有相关的RDBMS特性:包括ACID事务支持,数据完整性(外健),灾难恢复能力等特性。使用mysql做为数据库的话,将来程序员肯定要写很多,存储过程,function等。在写些东东的时候,游标肯定是少不了的。下面简单简介一下。...

2017-07-31 17:09:00 76

转载 mysql 存储过程

存储过程什么是存储过程??简单来说,存储过程就是为了以后使用而保存的一条或多条SQL语句的集合.和我们编程语言中的函数这个概念比较像。在编程语言中,我们经常要完成某个功能,我们都会将它写成一个函数,然后在需要这个函数的时候调用它就好了。同样的道理,存储过程也是这样,我们首先先声明这个存储过程,在我们需要这个存储过程的时候,我们调用这个存储过程就行了。例如:在...

2017-07-31 17:00:00 91

转载 mysql视图学习总结(转)

一、使用视图的理由是什么?1.安全性。一般是这样做的:创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定。这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。2.查询性能提高。3.有灵活性的功能需求后,需要改动表的结构而导致工作量比较大。那么可以使用虚拟表的形式达到少修改的效果。这是在实际开发中比较有用的例子:假如因为某种需要,a表与b表需要进...

2017-07-31 16:34:00 83

转载 mysql之触发器before和after的区别

我们先做个测试:接上篇日志建的商品表g和订单表o和触发器假设:假设商品表有商品1,数量是10;我们往订单表插入一条记录:insert into o(gid,much) values(1,20);会发现商品1的数量变为-10了。这就是问题的所在,因为我们之前创建的触发器是after,也就是说触发的语句是在插入订单记录之后才执行的,这样我们就无法判...

2017-07-31 16:29:00 106

转载 mysql之触发器trigger

触发器(trigger):监视某种情况,并触发某种操作。触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)语法:create trigger triggerNameafter/before inse...

2017-07-31 16:28:00 62

转载 mysql触发器(Trigger)简明总结和使用实例

一,什么触发器1,个人理解触发器,从字面来理解,一触即发的一个器,简称触发器(哈哈,个人理解),举个例子吧,好比天黑了,你开灯了,你看到东西了。你放炮仗,点燃了,一会就炸了。2,官方定义触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器...

2017-07-31 16:27:00 188

转载 使用 redis 减少 秒杀库存 超卖思路

由于数据库查询的及插入的操作 耗费的实际时间要耗费比redis 要多,导致 多人查询时库存有,但是实际插入数据库时却超卖redis 会有效的减少相关的延时,对于并发量相对较少的 可以一用 1 public function buy($goods_id = 0){ 2 if(!$goods_id){ 3 d...

2017-07-31 11:53:00 363

转载 php结合redis实现高并发下的抢购、秒杀功能

抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下...

2017-07-31 11:46:00 57

转载 PHP解决并发问题的几种实现

对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制。方案一:使用文件锁排它锁flock函数用于获取文件的锁,这个锁同时只能被一个线程获取到,其它没有获取到锁的线程要么阻塞,要么获取失败在获取到锁的时候,先查询库存,如果库存大于0,则进行下订单操作,减库存,然...

2017-07-31 11:30:00 152

转载 PHP观察者模式

观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新。场景:一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻辑,当更新得逻辑增多之后,代码会变得难以维护.这种方式是耦合的,侵入式的,增加新的逻辑需要改变事件主题的代码观察者模式实现了低耦合,非侵入式的通知与更新机制 1 /** 2 * ...

2017-07-28 14:51:00 54

转载 PHP中“简单工厂模式”实例讲解

原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html简单工厂模式:①抽象基类:类中定义抽象一些方法,用以在子类中实现②继承自抽象基类的子类:实现基类中的抽象方法③工厂类:用以实例化对象看完文章再回头来看下这张图,效果会比较好 1 采用封装方...

2017-07-28 14:30:00 59

转载 PHP单例模式

单例模式(职责模式):简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;2、拥有一个保存类的实例的静态成员变量3、拥有一个访问这个实例的公共的静态方法(常用ge...

2017-07-28 14:13:00 50

转载 PHP设计模式之策略模式

介绍策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 封装:把行为用接口封装起来,我们可以把那些经常变化的部分,从当前的类中单独取出来,用接口进行单独的封装。互相替换:我们封装好了接口,通过指定不同的接口实现类进行算法的变化。 思维导图php策略模式-鸭子游戏我来解释下这个思维导图的过程:1...

2017-07-27 18:21:00 57

转载 看看PHP迭代器的内部执行过程

1 class myIterator implements Iterator { 2 private $position = 0; 3 private $array = array( 4 "first_element", 5 "second_element", 6 "last_element",...

2017-07-27 17:40:00 75

转载 PHP设计模式之迭代器模式

概念迭代器模式(Iterator),又叫做游标(Cursor)模式。提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。当你需要访问一个聚合对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑使用迭代器模式。另外,当需要对聚集有多种方式遍历时,可以考虑去使用迭代器模式。迭代器模式为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。...

2017-07-27 17:37:00 50

转载 php琐碎

1.类中的常量,可以用类来引用:class MyClass(){const SUCCESS ="success";const FAIL ="fail";}print_r(MyClass::SUCCESS);静态方法: 你不用实例化就可以使用它,不支持$this变量,因为他们没有绑定到任何的具体的对象;class MyClass(){static f...

2017-07-21 17:27:00 73

转载 php抽象类和接口

接口使用接口,你可以指定某个类必须实现那些方法,但是不需要定义这些方法的具体内容,我们可以通过interface来定义一个接口,就像定义标准类一样,但其中定义所有的方法都是空的,接口中定义的所有的方法都必须是public实现一个接口,可以使用implement操作符,类中必须实现接口中定义的所用的方法,如果实现多个接口,可以用逗号来分割多个接口的名称注意 ...

2017-07-21 16:30:00 49

空空如也

空空如也

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

TA关注的人

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