自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鸟叔

近期学习计划:swoole,react

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

原创 supervisor 进程管理工具

Supervisor 简介 supervisor  是一个用python写的小工具, 目的是监控进程。他以子进程的形式创建那些需要被监控的进程(在 supervisord.conf 中添加),当子进程异常退出时, 他会重启该子进程;注意这里必须时异常(throw new Exception)退出他才会重启,如果是正常退出(return,  exit )是不会重启的。 ...

2018-07-31 13:36:28 875

原创 rabbitmq安装和使用简介

安装rabbitmq server  apt install rabbitmq-server  开启rabbitmq-server service rabbitmq-server restart  启用rabbitmq web管理插件  rabbitmq自带了很多插件, 都放在/usr/lib/rabbitmq/lib/rabbitmq_serve...

2018-07-30 14:17:45 390

原创 rabbitmq的账号、角色与权限介绍

账号 Web Management 的账号与客户端(生产者/消费者)的账号是公用的。  账号列表  rabbitmqctl list_users  添加账号 rabbitmqctl add_user <username> <password>  删除账号  rabbitmqctl delete_user <us...

2018-07-30 14:16:16 5556

原创 快速搭建redis集群

  安装redis server (参考https://github.com/antirez/redis)下载redis源码Wget https://github.com/antirez/redis/archive/5.0-rc3.tar.gz Tar -xzvf xxxxx.gz编译安装: make 启动redis server Cd src &...

2018-07-27 08:42:11 705

原创 use dockerfile to build image

  如何写dockerfile  phpstorm可以支持dockerfile 文件的编写, 并且有指令补全 Dockerfile example : /***********************************************/#基础镜像, 表示即将要打包的镜像是基于这个镜像打包的FROM rupeelabs/phpdev:v2 ...

2018-07-18 22:02:12 934

转载 几种常见的Shell:sh、bash、csh、tcsh、ash

Linux 是一个开源的操作系统,由分布在世界各地的多个组织机构或个人共同开发完成,每个组织结构或个人负责一部分功能,最后组合在一起,就构成了今天的 Linux。例如:Linux 内核最初由芬兰黑客 Linus Torvalds 开发,后来他组建了团队,Linux 内核由这个团队维护。 GNU 组织开发了很多核心软件和基础库,例如 GCC 编译器、C语言标准库、文本编辑器 Emacs、进程管...

2018-07-18 16:27:46 2096

原创 restful api 规范

1、参数验证错误统一状态码 status:”412”     ,状态码用字符串保存(int类型无法兼容其他基础设施抛出的异常状态码) 返回格式:{    "status": "0",    “message": "success",    "result”:[]}对于列表结果需要再包一层,方便日后扩展,比如:{    "status": "0",    “message": &q

2018-06-11 16:26:21 581

原创 关于Mysql的事务和锁 看这一篇文章就够了

锁共享读锁(S锁)和 排他写锁(X锁)行锁与表锁innodb用的是行级锁,相对于表锁来说性能开销会更大。虽然叫做行级锁,但不表示他只锁住修改的行记录,即使找不到行记录,他也会产生锁。innodb 是根据扫描范围来锁定行记录,如果有索引,那么只会锁定索引的覆盖范围,如果找不到索引,就会扫描全表,那么行级锁就会升级为表级锁。做个测试:CREATE TABLE `user` (  `id` int(10...

2018-05-27 12:21:20 743 1

原创 使用phpexcel库遇到中文出现错误问题

用excel来批量导入数据最好是先转换为csv文件再进行导入,因为csv是纯文本文件格式,文件中不会包含excel里的一些特殊符号。phpexcel库对于中文的支持不是很友好,如果csv文件中有中文字符,会出现乱码或读取不到该cell的值。解决方案:1、转换成csv文件2、用其他编辑器(如sublime)把文件的编码保存为utf8格式

2017-03-28 16:23:11 953

原创 PHPStorm常用技巧

1、利用phpstorm+xdebug来调试代码:https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm2、替换文本:快捷键: CTRL+R 可正则替换,可大小写转换https://www.jet...

2017-02-24 20:27:21 595

原创 解决在vmware中安装centos7时遇到的无法连接网络问题

解决方法:配置虚拟机网络如图:

2017-02-10 22:10:01 9999 6

原创 关于vendor目录无法push到git问题

问题描述:用Composer来管理库有时会出现安装的库无法push到git上,解决方法:从常理来推断肯定是该库的目录被忽略了,即该目录在gitignore文件中,但是你去该库里找gitignore文件根本找不到 或者 gitignore没有这个目录,并且项目的根目录的gitignore也没有这个目录。这时肯定是在其他文件夹或其他库中的gitigore把该目录

2017-01-22 13:45:11 8398 3

原创 C语言教程之一:Hello World

一、编译器创建一个C程序需要经过 编译-> 链接 ->执行  ,所以需要为C创建个编译环境,下面推荐两个编译器:1、GNU C编译器,GCC,可从www..gnu.org 下载,支持多个操作系统2、集成开发环境(IDE),Pelles C 编译器,下载地址 :http://www.christian-heffner.de/PS :什么是链接 : 链接器(Linker)将

2017-01-15 15:11:50 1079

原创 Mysql 事务的四种隔离级别介绍

1、未提交读(READ UNCOMMITTED)事务中的修改,即使没有提交,对于其他事务来说也是可见的。也就是说事务可以读取未提交的数据,也就是脏读(Dirty Read).这是最低的隔离级别,实际的应用中一般不用这种隔离级别。下面来模拟看下效果:Session 1 :mysql> show variables like '%isolation%'; 【1】+-----

2016-12-24 14:39:47 1020

原创 win7查看远程服务器(Linux)端口是否打开

指令:telnet [ip] [端口]如:telnet 192.168.12.25 22如果提示 'telnet' 不是内部或外部命令,也不是可运行的程序表示没有开启telnet 客户端开启方式:控制面板-》程序和功能-》打开或关闭windows功能     ,在 【telnet客户端】复选框打钩 。如图:

2016-12-24 11:19:37 5915

原创 Java 学习笔记

1、单引号和双引号的区别单引号表示 char类型,双引号表示string 类型

2016-12-18 20:18:12 683

原创 Composer 使用简单教程

一、把本地项目推到远程(如git)作为composer的资源包作为composer的资源包必须要有个composer.json 文件可通过composer命令(http://docs.phpcomposer.com/03-cli.html#init):composer init 按照提示来自动生成。执行init命令时必须要再项目的根目录,因为composer.json文件必

2016-12-17 13:34:24 12710

原创 Yii2 安装教程

1、安装Composeryii2有两种安装方式,建议用composer来安装 方便以后包的升级,所以先安装composer安装composer参考:https://getcomposer.org/download/下载 Composer-Setup.exe  按提示安装。如果出现下图提示,说明ssl扩展没有开启。打开php.ini,把php_openssl.dll 前面

2016-11-22 15:11:38 586

原创 如何获取用JS产生的DOM元素

如果DOM元素不是页面加载时就存在的,而是后面用js生成的那么用  $('#dom-name').clcik()   是无法绑定事件的  ,因为页面中没有这个DOM但可以用    $("body").on("click","#dom-name",function(){ }))     来绑定事件   至于为什么   , 还没研究

2016-11-14 14:55:17 968

原创 记录一些容易忘记的ThinkPHP使用技巧

1、自动生成模块目录在入口文件中定义如下:define('BIND_MODULE','Build'); //模块名define('BUILD_CONTROLLER_LIST','Index,User,Menu');//自动生成控制器define('BUILD_MODEL_LIST','Index,User,Menu');//自动生成模型类define('APP_PATH','./Ap

2016-08-26 14:56:19 722

原创 JS 的定时器函数setInterval和setTimeout的用法和区别

1、setTimeoutsetTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。setTimeout() 只执行 code 一次。语法setTimeout(code,millisec)参数描述code必需。要调用的函数后要执行的 JavaScript 代码串。millisec必需。在执行代码前需等待的毫秒数

2016-08-01 11:15:09 912

原创 初识composer

一、Composer简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。Co

2016-07-16 23:12:08 1232

转载 RabbitMQ基础概念详细介绍

引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ

2016-07-15 15:22:32 294

转载 PHP的输出缓冲区的介绍及应用

什么是缓冲区?简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料.其实缓冲区最本质的作用就是,协调高速CPU和相对缓慢的IO设备(磁盘等)的运作. PHP在执行的时候,在什么地方有用到缓冲区?想要了解PHP的缓冲区,就要知道执行PHP的时候,缓冲区被设置到了什么地方.当执行

2016-07-15 10:01:52 437

转载 程序员生存定律--成长路上常见的坑

目录(?)[-]1 学习失去焦点2 学习与实践相分离1 博与专上的迷失2 错过人生中的好时机3 停止知识更新前面讲到了程序员成为高手需要有一张地图,借助这样一张地图,程序员可以尝试成为架构师、Guru或者纯管理者。但这条路总是不会那么顺畅。升级练功流的网文中总会给修仙的主人公设置下几大关卡,比如:金丹难成、元神

2016-07-12 17:38:49 704

原创 $_POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别

HTTP_RAW_POST_DATA官方文档解释:原生POST数据。需要通过php.ini开启,开启后可通过全局变量 $GLOBALS['HTTP_RAW_POST_DATA'] 获取到post数据。需要设置 php.ini 中的 always_populate_raw_post_data 值为 On 才会生效不能用于 enctype="multipart/form

2016-07-08 11:50:08 4145

转载 浅谈CSRF攻击与防御

转载:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html一.CSRF是什么?  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?  你这可以这

2016-07-05 21:57:02 298

原创 Linux下redis的安装和配置简介

一、安装redis下载地址:http://redis.io/download$ wget http://download.redis.io/releases/redis-3.2.1.tar.gz$ tar xzf redis-3.2.1.tar.gz$ cd redis-3.2.1$ make到这里redis已经安装成功了,但是为了方便管理,一般把 安装目录src 下的red

2016-07-03 15:30:13 484

转载 redis的两种持久化机制:RDB和AOF介绍

redis 版本:3.0.7Redis 持久化Redis 提供了多种不同级别的持久化方式:RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的

2016-07-02 15:38:13 884

转载 redis 配置文件详解

redis版本:3.0.71. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程    daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定    pidfile /var/run/redis.pid3. 指定Redis监听

2016-07-02 15:21:14 874

转载 redis info 命令查看redis使用情况

用客户端连接redis服务器:  redis-cli >> info  :server : 一般 Redis 服务器信息,包含以下域:redis_version : Redis 服务器版本redis_git_sha1 : Git SHA1redis_git_dirty : Git dirty flagos : Redis 服务器的宿主操作系统arch_bits : 架构

2016-07-02 14:25:29 80970 3

原创 几种常用JQuery插件介绍

1、表单异步提交插件 jquery.form.js下载地址:http://plugins.jquery.com/form/

2016-04-26 11:16:21 307

转载 Linux下php安装Redis扩展

1、安装redis下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz上传phpredis-2.2.4.tar.gz到/usr/local/src目录cd /usr/local/src #进入软件包存放目录tar zxvf phpredis-2.2.4.tar.gz #解压cd phpredis-2.2.4 

2016-04-25 09:08:20 316

原创 JQuery 遍历对象(DOM,数组,JSON)方法

1、遍历DOM对象$('div').each(function(){ alert($(this).attr('id'));//这里$(this)就是正在遍历的子对象});2、遍历JSON对象$.getJSON( '/admin/index.php?app=cate_recommend&act=ajax_get_child_

2016-04-16 12:50:41 4023

转载 linux查看文件权限 ls -l 详解

以root的家目录为例:可以看到,用ls -l命令查看某一个目录会得到一个7个字段的列表。第1行:总计(total)Total后面的数字是指当前目录下所有文件所占用的空间总和。可以使用ls –lh查看,也可使用ls –alh查看。第1字段: 文件属性字段-rw-r--r-- 1 root root 762 07-29 18:19 ex

2016-04-08 14:04:29 53207

转载 mysql处理高并发,防止库存超卖

问题描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。从技术方面剖析,很多人肯定会想到事务,但是事务是控制库存超卖的必要条件,但不是充分必要条件。举例:

2016-04-01 17:41:35 622

原创 PHP对编码的常用处理函数

一、获取字符串编码,这个也不是百分百准确,只是返回可能性最大的值。string mb_detect_encoding (string $str [, mixed$encoding_list = mb_detect_order() [,bool $strict = false ]] )$str   :  被检测的字符串,长度短的话错误率比较高$encoding_lis

2016-03-30 17:47:50 622

原创 汉字转拼音(不带音调)

【JS 版本】实现原理:直接弄一字库,把要转换的字符串逐字跟字库匹配var pydis="吖a,阿a,啊a,锕a,錒a,嗄a,厑ae,哎ai,哀ai,唉ai,埃ai,挨ai,溾ai,锿ai,鎄ai,啀ai,捱ai,皑ai,凒ai,嵦ai,溰ai,嘊ai,敱ai,敳ai,皚ai,癌ai,娾ai,隑ai,剴ai,騃ai,毐ai,昹ai,矮ai,蔼ai,躷ai,濭ai,藹ai,譪ai,霭

2016-03-29 10:22:53 58553 3

原创 Linux 实现自动备份mysql

原理:利用Linux的cron进程(用于定时执行任务)来定时调用mysql的备份工具mysqldump 实现自动备份。cron需要用crontab工具来管理。一、检查linux中是否有安装crontab:输入 crontab -l  :如果显示  command not found  说明没有装crontab ,那么用yum安装crontab: yum install

2016-03-23 14:40:12 701

原创 PHP如何判断变量为空?

PHP如何判断变量为空?  这看似很简单的问题,其实不小心就很容易出错!一般我们判断变量为空常用的函数如下:empty($var)   :检查一个变量是否为空。如果 var 是非空或非零的值,则empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返

2016-03-23 10:20:45 687

空空如也

空空如也

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

TA关注的人

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