- 博客(105)
- 收藏
- 关注
原创 supervisor 进程管理工具
Supervisor 简介 supervisor 是一个用python写的小工具, 目的是监控进程。他以子进程的形式创建那些需要被监控的进程(在 supervisord.conf 中添加),当子进程异常退出时, 他会重启该子进程;注意这里必须时异常(throw new Exception)退出他才会重启,如果是正常退出(return, exit )是不会重启的。 ...
2018-07-31 13:36:28 903
原创 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 412
原创 rabbitmq的账号、角色与权限介绍
账号 Web Management 的账号与客户端(生产者/消费者)的账号是公用的。 账号列表 rabbitmqctl list_users 添加账号 rabbitmqctl add_user <username> <password> 删除账号 rabbitmqctl delete_user <us...
2018-07-30 14:16:16 5593
原创 快速搭建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 728
原创 use dockerfile to build image
如何写dockerfile phpstorm可以支持dockerfile 文件的编写, 并且有指令补全 Dockerfile example : /***********************************************/#基础镜像, 表示即将要打包的镜像是基于这个镜像打包的FROM rupeelabs/phpdev:v2 ...
2018-07-18 22:02:12 953
转载 几种常见的Shell:sh、bash、csh、tcsh、ash
Linux 是一个开源的操作系统,由分布在世界各地的多个组织机构或个人共同开发完成,每个组织结构或个人负责一部分功能,最后组合在一起,就构成了今天的 Linux。例如:Linux 内核最初由芬兰黑客 Linus Torvalds 开发,后来他组建了团队,Linux 内核由这个团队维护。 GNU 组织开发了很多核心软件和基础库,例如 GCC 编译器、C语言标准库、文本编辑器 Emacs、进程管...
2018-07-18 16:27:46 2164
原创 restful api 规范
1、参数验证错误统一状态码 status:”412” ,状态码用字符串保存(int类型无法兼容其他基础设施抛出的异常状态码) 返回格式:{ "status": "0", “message": "success", "result”:[]}对于列表结果需要再包一层,方便日后扩展,比如:{ "status": "0", “message": &q
2018-06-11 16:26:21 644
原创 关于Mysql的事务和锁 看这一篇文章就够了
锁共享读锁(S锁)和 排他写锁(X锁)行锁与表锁innodb用的是行级锁,相对于表锁来说性能开销会更大。虽然叫做行级锁,但不表示他只锁住修改的行记录,即使找不到行记录,他也会产生锁。innodb 是根据扫描范围来锁定行记录,如果有索引,那么只会锁定索引的覆盖范围,如果找不到索引,就会扫描全表,那么行级锁就会升级为表级锁。做个测试:CREATE TABLE `user` ( `id` int(10...
2018-05-27 12:21:20 758 1
原创 使用phpexcel库遇到中文出现错误问题
用excel来批量导入数据最好是先转换为csv文件再进行导入,因为csv是纯文本文件格式,文件中不会包含excel里的一些特殊符号。phpexcel库对于中文的支持不是很友好,如果csv文件中有中文字符,会出现乱码或读取不到该cell的值。解决方案:1、转换成csv文件2、用其他编辑器(如sublime)把文件的编码保存为utf8格式
2017-03-28 16:23:11 983
原创 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 611
原创 关于vendor目录无法push到git问题
问题描述:用Composer来管理库有时会出现安装的库无法push到git上,解决方法:从常理来推断肯定是该库的目录被忽略了,即该目录在gitignore文件中,但是你去该库里找gitignore文件根本找不到 或者 gitignore没有这个目录,并且项目的根目录的gitignore也没有这个目录。这时肯定是在其他文件夹或其他库中的gitigore把该目录
2017-01-22 13:45:11 8481 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 1096
原创 Mysql 事务的四种隔离级别介绍
1、未提交读(READ UNCOMMITTED)事务中的修改,即使没有提交,对于其他事务来说也是可见的。也就是说事务可以读取未提交的数据,也就是脏读(Dirty Read).这是最低的隔离级别,实际的应用中一般不用这种隔离级别。下面来模拟看下效果:Session 1 :mysql> show variables like '%isolation%'; 【1】+-----
2016-12-24 14:39:47 1044
原创 win7查看远程服务器(Linux)端口是否打开
指令:telnet [ip] [端口]如:telnet 192.168.12.25 22如果提示 'telnet' 不是内部或外部命令,也不是可运行的程序表示没有开启telnet 客户端开启方式:控制面板-》程序和功能-》打开或关闭windows功能 ,在 【telnet客户端】复选框打钩 。如图:
2016-12-24 11:19:37 5966
原创 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 12770
原创 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 609
原创 如何获取用JS产生的DOM元素
如果DOM元素不是页面加载时就存在的,而是后面用js生成的那么用 $('#dom-name').clcik() 是无法绑定事件的 ,因为页面中没有这个DOM但可以用 $("body").on("click","#dom-name",function(){ })) 来绑定事件 至于为什么 , 还没研究
2016-11-14 14:55:17 984
原创 记录一些容易忘记的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 737
原创 JS 的定时器函数setInterval和setTimeout的用法和区别
1、setTimeoutsetTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。setTimeout() 只执行 code 一次。语法setTimeout(code,millisec)参数描述code必需。要调用的函数后要执行的 JavaScript 代码串。millisec必需。在执行代码前需等待的毫秒数
2016-08-01 11:15:09 1065
原创 初识composer
一、Composer简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。Co
2016-07-16 23:12:08 1245
转载 RabbitMQ基础概念详细介绍
引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ
2016-07-15 15:22:32 307
转载 PHP的输出缓冲区的介绍及应用
什么是缓冲区?简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料.其实缓冲区最本质的作用就是,协调高速CPU和相对缓慢的IO设备(磁盘等)的运作. PHP在执行的时候,在什么地方有用到缓冲区?想要了解PHP的缓冲区,就要知道执行PHP的时候,缓冲区被设置到了什么地方.当执行
2016-07-15 10:01:52 448
转载 程序员生存定律--成长路上常见的坑
目录(?)[-]1 学习失去焦点2 学习与实践相分离1 博与专上的迷失2 错过人生中的好时机3 停止知识更新前面讲到了程序员成为高手需要有一张地图,借助这样一张地图,程序员可以尝试成为架构师、Guru或者纯管理者。但这条路总是不会那么顺畅。升级练功流的网文中总会给修仙的主人公设置下几大关卡,比如:金丹难成、元神
2016-07-12 17:38:49 719
原创 $_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 4165
转载 浅谈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 307
原创 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 495
转载 redis的两种持久化机制:RDB和AOF介绍
redis 版本:3.0.7Redis 持久化Redis 提供了多种不同级别的持久化方式:RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的
2016-07-02 15:38:13 901
转载 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 886
转载 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 81181 3
原创 几种常用JQuery插件介绍
1、表单异步提交插件 jquery.form.js下载地址:http://plugins.jquery.com/form/
2016-04-26 11:16:21 318
转载 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 324
原创 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 4042
转载 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 53727
转载 mysql处理高并发,防止库存超卖
问题描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。从技术方面剖析,很多人肯定会想到事务,但是事务是控制库存超卖的必要条件,但不是充分必要条件。举例:
2016-04-01 17:41:35 638
原创 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 649
原创 汉字转拼音(不带音调)
【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 58774 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 713
原创 PHP如何判断变量为空?
PHP如何判断变量为空? 这看似很简单的问题,其实不小心就很容易出错!一般我们判断变量为空常用的函数如下:empty($var) :检查一个变量是否为空。如果 var 是非空或非零的值,则empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返
2016-03-23 10:20:45 701
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人