自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

写程序的赵童鞋

Github: https://github.com/Zhao-666

  • 博客(40)
  • 收藏
  • 关注

原创 LNMP环境的搭建与Yaf框架的配置

所谓的LNMP环境其实就是:Linux+Nginx+MySQL+PHP本次采用的LNMP环境为https://lnmp.org/install.html提供的一键安装包Yaf框架的话,需要先加载一个Yaf扩展,然后再用https://github.com/laruence/yaf框架生成一个简易的项目就可以了~我们先来安装一下操作系统先把我们的CentOS 7安装起来,这里选用的是...

2018-02-10 12:56:03 394

转载 phpstorm激活码注册码序列号

1. 在Licence Server 激活:(以下总有可以的吧))http://idea.imsxm.com/ (亲测直至目前均可用)http://www.0-php.com:1017http://idea.singee77.com/ http://idea.lanyus.com/ http://idea.qinxi1992.cn/2. 浏览器打开 http://idea....

2018-01-25 09:53:29 21144 3

原创 Apache2.2升级Apache2.4(Windows环境)

本次升级的Apache版本为2.2.22升级到2.4.29最新版本的Apache2.4.29可以在https://www.apachehaus.com/cgi-bin/download.plx这里找到因为2.2.22是服务器已经部署的版本,不知道以前的开发怎么配置的,所以要先去找个原版的2.2.22在官网找了好久都没找到历史版本下载,后来无意发现了这样一句话只有最新的版本才能在...

2018-01-14 10:43:11 11077 3

原创 浅谈Laravel中的设计模式(一) SoC 关注点分离

 阅读时长:7分钟技术预备:熟悉Laravel的使用关注点分离(Separation of Concerns, SoC)这个设计模式应该作为我们开发和架构的原则,在开发某个业务逻辑时,应将不同的功能点进行划分,降低耦合度。一、首先关注点是什么呢?举例来说,我们打游戏放技能时通常都是要键盘和鼠标一起操作的,但是本质上键盘只负责选择技能,而鼠标只负责选择对象,这就是两个不同...

2018-10-11 22:14:19 1134

原创 Redis Cluster数据分布方式

节点取余客户端分片:哈希+取余节点伸缩:数据节点关系变化,导致数据迁移迁移数量和添加节点数量有关:建议翻倍扩容一致性哈希客户端分片:哈希+顺时针(优化取余)节点伸缩:只影响邻近节点,但是还是有数据迁移翻倍伸缩:保证最小迁移数据和负载均衡虚拟槽分区预设虚拟槽:每个槽映射一个数据子集,一般比节点数大良好的哈希函数:例如CRC16服务端管理节点、槽、数据:例如...

2018-10-04 11:21:14 585

原创 Redis数据持久化

Redis的数据持久化有两种方式,一种是RDB,一种是AOF,本文将对这两种方式进行优缺点介绍RDB方式利用二进制文件将当前Redis的数据当作一个快照存储在硬盘当中,类似于MySQL的dump,也可用作主从复制触发机制save(同步):触发Redis保存数据,因为是同步的命令所以会阻塞其他命令。会自动替换老的RDB文件bgsave(异步):调用后在后台进行数据备份。也会自动替...

2018-09-05 22:58:17 310

原创 Redis慢查询优化

获取慢查询配置config get slowlog-max-len:慢查询队列的长度,默认是128 config get slowlog-log-slower-than:慢查询阈值(微妙),默认是10000。slowlog-log-slower-than=0,记录所有命令设置慢查询配置修改配置文件重启 动态配置,如 config set slowlog-max-len 1000慢查...

2018-08-31 19:53:18 2441

原创 Redis中String与Hash对比

String序列化优点:编程简单 可能节约内存缺点:序列化操作,每次更新需要全部读取之后再全部写入 设置属性要操作整个数据String独立设置优点:直观 可以部分更新缺点:内存占用较大 key较为分散Hash优点:直观 节省空间,支持Hashtable和Ziplist,比String节约空间5倍 可以部分更新缺点:编程稍微复杂 ttl不好...

2018-08-24 08:46:15 7552

原创 Linux下mount vboxsf失败的解决方法

最近使用Vagrant搭虚拟机时,出现了一句百度了很久,都找不到一个满意的解决方法,自己琢磨了一下,可以这样解决出现这个问题就是因为 virtualBox 没有安装 VBoxLinuxAdditions那只要安装就可以了,首先是去设置里挂载这个光驱然后进入虚拟机,运行命令sudo mkdir /mnt/cdromsudo mount /dev/cdrom /mnt/...

2018-07-22 17:21:43 9792

原创 Docker中安装Mysql报错

运行命令在安装一个带有mysql的docker镜像docker run --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql:5.7可是却一直在报错百度了很久也没有找到结果,后来看见了一句but the flags in file...

2018-07-19 08:45:08 1248

原创 Docker中的Container如何与外网联系

各个容器使用Linux的veth技术与docker0产生了连接,通过docker0来进行转发则互相连通。而docker0再进过Linux的iptables进行NAT转换,达到了与外网连通如下图所示: 我们可以通过docker network ls命令查看当前docker的网络连接,其中bridge就是container所使用的网络通过docker network inspe...

2018-07-18 07:54:51 3482

原创 捕获有问题的SQL

启用mysql慢查询日志set global show_query_log_file = /sql_log/show_log.log;set global log_queries_not_using_indexes = on;set global long_query_time = 0.001;set global low_query_log = on;

2018-07-09 06:55:24 286

原创 数据库操作规范

数据库命名规范所有数据库对象名称必须小写。因为MySQL是大小写敏感的,Dbname和dbname是两个不一样的数据库命名要做到见名识意,禁止使用MySQL保留关键字。如from,使用的话就会变成 select name,from from user_table;临时表以tmp_开头,备份表以bak_开头并以时间戳结尾所有存储相同数据的列名和列类型必须保持一致。否则在关联查询中会导致隐式的类型转换...

2018-07-03 07:53:31 1642

原创 数据库分片前的准备

通常来说,如果可以采用分库就尽量不要进行分片,分片后的数据表难以维护,但也会有到不得不分片的时候。如何选择分区键分区键要能尽量避免跨分区查询的发生。例如一个博客表,如果采用每一篇博客的主键ID来进行分区,查询某个用户的博客时则要跨多个分区去汇总数据,性能会比分区前更慢。所以可以考虑使用用户ID来进行分区,则只需要在一个分片中进行查询分区键要能尽量使各个分片中的数据平均。分片就是为了减轻数据库的负载...

2018-06-30 10:59:07 393

原创 MHA架构的优缺点

MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证...

2018-06-27 08:01:05 4110

原创 MMM架构的优缺点

MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现...

2018-06-27 07:38:22 1453

原创 MySQL主从数据库配置

基于日志点的复制配置优点:是MySQL最早支持的复制技术,Bug相对较少对SQL查询没有任何限制故障处理比较容易缺点:故障转移时重新获取新主的日志点信息比较困难...

2018-06-25 21:27:34 173

原创 MySQL的二进制日志记录方式对复制的影响

基于SQL语句的复制格式(SBR)即 binlog_format = statement优点:生成的日志量少,节约网络传输I/O并不强制要求主从数据库的表定义完全相同相比于基于行的复制方式更为灵活缺点:对于非确定事件,如UUID(),无法保证主从复制数据的一致性对于存储过程 ,触发器,自定义函数等进行的修改也可能造成数据的不一致相比于基于行的复制方式在从上执行时需要更多的行锁(推荐)基于行的复制(...

2018-06-24 10:03:24 264

转载 Linux centos7 php7 编译安装 php 扩展包 curl

先声明,本文档适合在本地虚拟机安装的centos,php7版本上面折腾近一上午,终于解决了该问题是因为下载curl安装后,虽然制定到了/usr/local/curl目录,但是并无法执行phpize,因为必须要到/lamp/php-7.0.7下边的ext下边的curl才能执行phpize,这样才会生活curl.sophp源码目录:/lamp/php-7.0.7php编译目录:/usr/local/p...

2018-05-29 08:57:33 1016

转载 CentOS7上解决tomcat不能被外部浏览访问的问题

在linux上开启的tomcat使用浏览器访问不了。主要原因在于防火墙的存在,导致的端口无法访问。CentOS7使用firewall而不是iptables。所以解决这类问题可以通过添加firewall的端口,使其对我们需要用的端口开放。1.使用命令  firewall-cmd --state查看防火墙状态。得到结果是running或者not running2.在running 状态下,向firew...

2018-05-28 20:54:49 1260

原创 CentOS环境配置php执行命令

源码方式安装完php之后,运行php -v命令是不行的,因为此时还没有配置php指令的路径只需要输入 vim ~/.bash_profile ,在此文件的末尾加上 alias php=/你的php路径/bin/php 保存之后输入 php -v,会发现还是不行。还要再加上一句 source ~/.bash_profile 让系统重新读取一次配置文件就OK了...

2018-05-08 22:34:10 1978

转载 CSRF 攻击的应对之道

CSRF 背景与介绍CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 SQL 脚本注入,跨站域脚本攻击等在近年来已经逐渐为众人熟知,很多网站也都针对他们进行了防御。然而,对于大多数人来说,CSRF 却依然是一个陌生的概念。即便是大名鼎鼎的 Gmail, 在 2007 年...

2018-04-17 00:00:14 237

转载 PHP中MySQL、MySQLi和PDO的用法和区别

PHP的MySQL扩展(优缺点)设计开发允许PHP应用与MySQL数据库交互的早期扩展。mysql扩展提供了一个面向过程 的接口;并且是针对MySQL4.1.3或更早版本设计的。因此,这个扩展虽然可以与MySQL4.1.3或更新的数 ;据库服务端 进行交互,但并不支持后期MySQL服务端提供的一些特性。PHP的mysqli扩展mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MyS...

2018-03-09 17:23:52 250

原创 减少HTTP请求的四种方式

由于HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须一次逐个发送,前面的一个请求完成才能发送下一个请求。所以我们在开发的时候应该尽量减少HTTP请求,如下有4种方式:1、使用图片地图图片地图允许你在一个图片上关联多个URL,目标URL的选择取决于用户单击了图片上的哪个位置使用标签,如: 2、CSS Sprites中文翻译为CSS

2018-02-05 23:09:18 4184

原创 PHP中的逻辑运算符优先级问题

先看一道面试题:$a = 0;$b = 0;if ($a = 3 > 0 || $b = 3 > 0) { $a++; $b++; echo '$a= '.$a . "\n"; echo '$b= '.$b;}看上去好像不难,看得出最终的打印结果是怎样的吗?$a= 1$b= 1这是为什么呢?这里就涉及到了PHP中的逻辑运算符优先级问题了官方

2018-02-04 10:56:46 899

原创 php在foreach中使用引用变量

今天看到了一个很神奇的代码:写出如下程序的输出结果:<?php$data = ['a','b','c'];foreach($data as $key=>$val){ $val = &$data[$key]; print_r($data);}问:最终$data的值是多少?一开始以为$data变量的值是不会变的,因为咋看上去并没有赋值操作。但是运行了一次之后就发现

2018-02-03 17:34:58 1406

转载 你的简历能帮你争取到面试机会吗?

最近我在帮朋友的公司招人,招人的第一步是要筛选简历,在这过程中,我发现虽然能收到很多简历,但实际能通过筛选能进入到技术面试流程的简历不多,估计10份里不会超过4份能通过筛选。    如果没法通过技术面试,那么候选人尚且能收集面试题,回家继续准备,毕竟他和面试官也交流过,也不算没收获,但对于这些没法通过筛选的简历,简历的主人往往是无从得知的(公司不会主动通知),所以他们依然会混混沌沌,可以预

2018-02-01 15:09:52 303

转载 服务器.htaccess 详解以及 .htaccess 参数说明

.htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件

2018-01-31 22:07:48 586

转载 PHP5.6版本安装redis扩展

PHP使用redis扩展一.php安装redis扩展 1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本   2.根据PHP版本号,编译器版本号和CPU架构,选择php_redis-2.2.5-5.6-ts-vc11-x64.zip和php_igbinary-1.2.1-5.5-ts-vc

2018-01-28 22:50:05 485

转载 Windows 64位下安装Redis超详细教程

Linux下redis安装链接 :     转到Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是

2018-01-28 22:25:07 599

转载 Thinkphp5助手函数和Thinkphp3的单字母函数对应参照表

thinkphp5中取消了3.2版本中的单字母函数,初用tp5可能不大适应,下边给出两者的对应参照表,以便查阅。  3.2版本5.0版本CconfigEexceptionGdebugLlangT废除I

2018-01-25 13:54:42 1337

原创 php 自带加密函数 mcrypt_encrypt

以下代码转载自:http://blog.csdn.net/chenmoimg_/article/details/62888909经试验,ECB加密模式不需要创建iv初始化向量,具体看这:http://www.360doc.com/content/11/1012/16/5482098_155493376.shtml换句话说,以下解密代码可以改为: //$iv = mcrypt_c

2018-01-24 10:52:52 2951

转载 MySQL中char、varchar和text的区别

它们的存储方式和数据的检索方式都不一样。数据的检索效率是:char > varchar > text空间占用方面,就要具体情况具体分析了。char:存储定长数据很方便,CHAR字段上的索引效率级高,必须在括号里定义长度,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填充),且在检索的时候后面的空格会隐藏掉,所以

2018-01-22 18:50:13 201

转载 Jquery插件flexigrid的参数说明

1、flexigrid参数说明: height: 200, //flexigrid插件的高度,单位为px width: 'auto', //宽度值,auto表示根据每列的宽度自动计算,在IE6下建议设置具体值否则会有问题 striped: true, //是否显示斑纹效果,默认是奇偶交互的形式 novstripe: false,//没用过这个属性 minw...

2018-01-22 18:48:38 7985

转载 高性能mysql之慎用BLOB与TEXT

转载自:http://blog.csdn.net/john1337/article/details/70919212 BLOB与TEXT是为了存储极大的字符串而设计的数据类型,采用二进制与字符串方式存储。mysql对待这两个类型可谓煞费苦心,mysql会把这两种类型的值当做一个独立的对象处理,存储引擎在存储时通常会做特殊处理,当BLOB与TEXT的值太大时,InnoDB会使用专门的“外部”...

2018-01-22 18:46:08 13336

转载 小白教你玩转php的闭包

php5.3有一个非常赞的新特性,那就是支持匿名函数(闭包)。匿名函数可用于动态创建函数,并保存到一个变量中。举个栗子$func = function(){ exit('Hello world!!');};//这里必须要有;结尾$func();等效于function func(){ exit('Hello world!!');}func();看上去没什么新奇的地方是

2018-01-15 16:25:45 201

转载 php中全等(===)和相等(==)的用法区别

我们来看一下下面一个程序: $str = "0d52"; if (0==$str) { echo "真"; } else { echo "假"; }这个程序运行的结果出人意料, “0d52”居然 被PHP认为和0相等了。 为什么会出现这样的情况呢? 执行关系运算”==“时要求运算符两边的数据 类型必须一致,所以等号右边的字符串被强制 转换为了整型0。

2018-01-15 15:34:57 4025

转载 php中函数 isset(), empty(), is_null() 的区别

转载至:http://blog.csdn.net/jiaobuchong/article/details/41807011先来看看php的 PHP type comparison tables:可参考http://php.net/manual/en/types.comparisons.phpNULL:当你在你的脚本中写

2018-01-11 09:49:30 206

转载 关于file_get_contents("php://input")

初见file_get_contents("php://input") ,给我第一感觉就是 还有这样写法?好吧  真有“php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any spec

2018-01-06 16:56:56 2495

转载 Python Flask 开发环境搭建(Windows)

在Python Web开发中有很多Web框架:如django等。但是Flask相对它们而言是一个轻量级的,这意味着一个新手想要研究Python Web开发如果从Flask开始会更容易,更快上手。本文选择的Python3 为安装环境。一 Python 安装:在我的系统中分别安装了 Python2.7,Python3.4。安装详细步在此不表。在环境变量中的设置为:C:\Py

2018-01-06 16:55:33 1000

空空如也

空空如也

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

TA关注的人

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