自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 PHP 使用事务简单实现

<?php$db = new mysqli("localhost","root","","test"); //连接数据库$db->autocommit(false); //设置为非自动提交——事务处理$sql1  = "INSERT INTO `test`.`test1` (`name` )VALUES ('1' )";$result1 = $db->query($s

2018-07-05 10:55:23 1322

原创 对图片进行等比例缩小

/** * 上传文件 * @return string */public function uploadFile() { if($this->checkError() && $this->checkSize() && $this->checkExt() && $this->checkMime() && $this->checkTrueImg() &&

2017-10-18 15:53:35 475

原创 计算经纬度求出最短的距离

//求坐标最近的距离public static function getDistance($longitude1, $latitude1, $longitude2, $latitude2, $unit=2, $decimal=2){ $EARTH_RADIUS = 6370.996; // 地球半径系数 $PI = 3.1415926; $radLat1 = $lat

2017-10-16 14:35:42 1474

转载 谈一谈闭包

什么是闭包好, 下面开始进入主题, 首先一个问题, 什么是闭包? 对于我们这些习惯了命令式编程, 尤其是Java这种完全面向对象的语言的人, 闭包可能是一个很陌生的概念, 闭包时常在函数式语言中被提及, 那闭包到底是一个什么概念? 下面对闭包的解释来自维基百科.在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(funct

2017-07-18 18:08:11 661

转载 yii2.0高级框架配置时打开init.bat秒退的解决方法

这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退;用cmd运行该文件时显示:The OpenSSL PHP extension is required by Yii2.如下图所示:搜索了很多资料,终于找到问题所在之处了,原来是php.ini中的extension=php_openssl.dll没有打开;1.打开php.ini文

2017-07-10 14:38:04 1165

转载 深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析

mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。例如,如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有

2017-06-29 11:03:03 493

转载 php 开发模式之工厂模式

<?php// 开发模式之工程模式// 工厂模式:// 由工厂类根据参数来决定创建出哪一种产品类的实例;// 工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。// 工厂模式的最主要作用就是对象创建的封装、简化创建对象操作。 // 简单的说,就是调用工厂类的一个方法(传入参数)来得到需要的类;//示例1 最基本的工厂模式cla

2017-06-28 20:42:17 409

转载 PHP设计模式----单例模式(singleton)

提出问题: 为什么使用单例模式?对于系统中的某些类来说,只有一个实例很重要,例如,1、一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;2、在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如果这些窗口显示的内容不一致,则意味着在某一瞬间系统有多个状态,与实际不符,也会给用

2017-06-28 20:34:57 399

转载 PHP设计模式-观察者模式(订阅者模式)

相信大家都用过QQ(没用过QQ的大叔不要扔我),而且大家都很讨厌QQ的小弹窗,不时地就会跳出一个小窗口,真心烦人。那么如果我们是腾讯消息推送的服务端开发人员。如果要用PHP来实现这种消息发送那么如果做到呢?        方案一。被动推送方式   我们采用推的方式来接收消息。也说说,由服务端向各位用户直接推送消息。我们考虑地简单一点,毕竟我们只是学习设计模式嘛。首先,我们需要有一个

2017-06-28 20:33:23 575 1

转载 PHP网络爬虫之CURL学习

PHP的CURLphp的curl可以实现模拟http的各种请求,这也是php做网络爬虫的基础,也多用于接口api的调用。这个时候有人就要发问了:为什么你特么不用file_get_contents?curl的性能比它好,而且可以完成更多复杂的操作,不仅仅只是获取页面数据。下面先分别介绍一些常用的函数。curl_init 初始化一个curl对话curl_setopt

2017-06-28 20:26:04 569

转载 Apache重写规则由浅入深剖析.htaccess

1、.htaccess文件使用前提.htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体 地怎样接待它,就是此文件的作用。所有的访问都是通过URL实现,所以.htaccess的作用非同小可。正因为此,所以一般地网站通过设 置.htaccess,通过一个十分友好的url吸引用户进来,然后用.htaccess把用户

2017-06-15 14:40:06 792

转载 Mysql索引类型

索引的优缺点 优点:有了索引.对于记录数量很多的表,可以提高查询速度。缺点:索引是占用空间的。索引会影响update insert delete速度。 索引的四大类型 一,FULLTEXT:全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目只有 CHAR、VARCHAR ,TEXT

2017-06-14 16:43:58 357

转载 虚拟机下CentOS搭建SVN服务器

yum install subversion find出subversion的安装目录 ,在bin目录下验证是否安装成功 svnserve --version也可以直接将bin目录下的文件加入到path中配置SVN1.建立test目录mkdir -p /opt/svndata/test2.建立test库 svnadmin create /opt/svnd

2017-06-13 17:48:58 523

转载 Lua中的string库(字符串函数库)总结

Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。字符串库中的一些函数是非常简单的:string.len(s)          返回字符串s的长度;string.rep(s, n)      返回重复n次字符串s的串;你使用string.rep("a", 2^2

2017-06-01 19:12:38 1302

转载 ngx_lua 模块

ngx_lua模块的原理:1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM;2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问;3、每个外部请求都由一个Lua协程处理,协程之间数据隔离;4、Lua代码调用I/O操作等异步接口时,会挂起当前协程(并保护上下文数据),而不阻塞worker;5、I/O等异步操作完成时还

2017-05-31 18:35:10 526

转载 linux:vi 替换命令

:s/^.*$/\L&/100##将100行内的小写转换成大写vi/vim 中可以使用 :s 命令来替换字符串。:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

2017-05-31 14:38:47 336

转载 linux tar

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出

2017-05-31 14:23:29 339

转载 linux 压缩和解压

linux zip 命令详解 功能说明:压缩文件。 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b ][-ll][-n ][-t ][-][压缩文件][文件...][-i ][-x ] 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。 参 数: -A 调整可执行的自动解压缩文件。 -b 指

2017-05-31 14:19:33 292

转载 linux命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui

2017-05-31 14:14:03 291

转载 svn常用命令

查看修改的文件记录svn cat -- 显示特定版本的某文件内容。svn list -- 显示一个目录或某一版本存在的文件列表。svn log -- 显示svn 的版本log,含作者、日期、路径等。svn diff -- 显示特定修改的行级详细信息。list示例:svn list http://svn.test.com/svn #查看目录中的

2017-05-31 14:04:14 319

转载 linux命令

常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p           创建目录,若无父目录,则创建p(parent)cd               切换目录touch  

2017-05-27 15:48:09 492

转载 SVN命令使用详解

1、检出svn  co  http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn  co  svn://路径(目录或文件的全路径) [本地目录全路径]  --username 用户名 --password 密码svn  checkout  http://路径(目录或文件的全路径) [本地目录全路径] --userna

2017-05-27 09:28:07 267

转载 PHP那些琐碎的知识点

PHP有很多很奇特、很难记的知识点,我做了一下记录:单引号’’和””的区别:PHP不会检查单引号''字符串中变量内插或(几乎)任何转义序列,所以采用单引号这种方式来定义字符串相当简单快捷。但是,双引号""则不然,php会检查字符串中的变量或者转义序列,并输出变量和转义序列的值。$a = "123";print '$a\t';print '$a';输出:$a\t$a如

2017-05-25 17:24:08 534 1

转载 MySQL索引与优化

索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数

2017-05-25 17:20:03 305

转载 mysql-proxy数据库中间件架构

一、mysql-proxy简介mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server。它使用mysql协议,任何使用mysql-client的上游无需修改任何代码,即可迁移至mysql-proxy上。mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层:进一步的,

2017-05-24 17:36:15 710

转载 lua 函数

lua库函数这些函数都是Lua编程语言的一部分, 点击这里了解更多.assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息collectgarbage() - 垃圾收集器. (新增于1.10.1)date(format, time) - 返回当前用户机器上的时间.error("error messa

2017-05-19 18:24:03 491

转载 干货:mysql索引的数据结构

索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法,例

2017-05-19 17:46:41 655

转载 解析提高PHP执行效率的50个技巧

1、用单引号代替双引号来包含字符串,这样做会更快一些。因为会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。3、$row['id'] 的速度

2017-05-19 17:41:47 583

转载 最全git命令

Git命令查看、添加、提交、删除、找回,重置修改文件git help command> # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件

2017-05-19 17:39:02 396

转载 Lua 字符串替换函数 string.gsub(s, pat, repl [, n])

lua 字符串替换函数 string.gsub(s, pat, repl [, n])函数原型 string.gsub(s, pat, repl [, n])就是 global全局替换子字符串的意思s: 源字符串pat: 即 pattern, 匹配模式repl: replacement, 将 pat 匹配到的字串替换为 repl[, n]: 可选, 表示

2017-05-19 17:35:43 1319

转载 MySQL 处理海量数据时的SQL语句调优

在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈直线下降,而且如果 where 中的查询条件较多时,其查询速度无法容忍。想想可知,假如我们查询淘宝的一个订单详情,如果查询时间高达几十秒,这么高的查询延时,任何用户都会抓狂。因此如何提高 SQL 语句查询效率,显得十分重要。在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈

2017-05-16 18:56:27 422

转载 详述 Cookie 与 Session 的区别

正文Cookie 机制Cookie 是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTTP State Management Mechanism 是通用 cookie 规范。网络服务器用 HTTP 头向客户端发送 cookie,在客户终端,浏览器解析这些 cookie 并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些 co

2017-05-16 18:40:48 207

转载 redis操作

Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键值可以包含字符串,哈希,链表,集合和有序集合。安装安装完成后,进入到安装目录 解决让redis在后台运行,不占据当前终端 使用vi 编辑器打开 redis的配置文件, 修改完成后,要关闭redis服务,重启。 关闭redis的服务: 语法:pkill redis-serve

2017-05-16 18:35:13 301

转载 linux常用命令

概述本篇博文讲述系统内核、Bash解释器的关系与作用,如何正确的执行Linux命令以及常见排错方法。经验丰富的运维人员可以恰当的组合命令与参数,使Linux字符命令更加的灵活且相对减少消耗系统资源。强大好用的SHELL计算机硬件是由运算器、控制器、存储器、输入/输出设备等设备组成的,而能够让机箱内各种设备各司其职东西就叫做——系统内核。内核负责驱动硬件、管理活动和分配/管理硬件资源

2017-05-15 18:03:52 472

转载 从输入 URL 到页面展示,到底发生了什么

刚开始写这篇文章还是挺纠结的,因为网上搜索“从输入url到页面展示到底发生了什么”,你可以搜到一大堆的资料。而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么,不过当面试官一步步追问下去的,很多细节就不太清楚了。最近刚好也在看http协议相关的东西,所以想对这个话题来个深入的总结,本文的目的是通过输入url之后发生的事情来做知识的总结和扩展。所以文章可能会很杂。

2017-05-15 17:48:51 527

转载 HTTP状态码详解

状态码 含义100客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。101服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这

2017-05-10 20:56:51 257

转载 秒杀活动技术方案

1.将秒杀系统独立部署,甚至使用独立域名,使其与网站完全隔离。2.设计秒杀商品页面,不使用网站原来的商品详细页面,页面内容静态化,用户请求不需要经过应用服务。避免页面会请求后台数据库,给服务器造成压力。3.因为秒杀新增的网络带宽,必须和运营商重新购买或者租借。为了减轻网站服务器的压力,需要将秒杀商品页面缓存在CDN,同样需要和CDN服务商临时租借新增的出口带宽。4.为了避免用户直接访问

2017-02-21 08:46:26 578

转载 curl模拟post请求提交

[php] view plain copy header('content-type:text/html;charset=utf-8');  function curlPost($url,$data,$method){      $ch = curl_init();   //1.初始化      curl_setopt($ch, CURLOPT_URL, $url)

2017-02-04 16:05:14 471

转载 进程和线程的关系和区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系一个线程

2017-01-17 12:03:44 716

转载 10 个超级有趣的 Linux 终端游戏

Linux 终端在多数人眼中,是一个非常单调和无聊的工作环境,一个纯黑色背景的输入框,一串串让人记哭的命令,仿佛这些就是它的全部。而相比 Windows 系统,Linux 确实也少了许多的娱乐性。但是这篇文章可能会改变你的一些想法,其实 Linux 终端也有不少有意思的小游戏。虽然比不上 Windows 下的华丽,但足矣让你在闲暇之余,玩上一整天!好了,下面就让我为大家逐一介绍下它们。2048

2017-01-16 13:58:33 23584 1

空空如也

空空如也

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

TA关注的人

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