自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 grafana+influxdb+telegraf监控服务器cpu,内存和硬盘

目前的策略数据采集:Telegraf数据库:InfluxDB展现:Grafana报警:自开发shellgrafana相比graphite, 优势非常大, 特别是配置和部署, 要简单很多, 界面方面的体验做得非常好, 特别是还兼容graphite的数据。由于grafana仅仅只是提供界面显示, 所以他需要从influxdb中获取数据, 而influxdb中的数据又需要从其他地方收集过来, 常用的收集工

2017-08-11 15:01:39 5798

原创 thefuck

跟大家分享一款很火的神器 「 thefuck 」,作为一个程序员,还是要不断虚心学习的, 不过此 fuck 可不是彼 fuck ,这可不是骂人的啊。话说,这个玩意是怎么来的呢?少说废话,接下来进入正题: 你是不是经常在终端敲错命令?敲错命令,删掉重敲,很烦有没有?当你一再敲错的时候,内心一定是崩溃的,一定在默念“What The FUCK!!!”。 有位名为 @liamosaur 的哥们就忍不住

2017-11-08 18:27:50 3592

转载 解释型语言与编译型语言有什么不同

因为一段话而引发的血案:“解释语言的工作被限制在内存里,而编译行语言不会限制。也就是说在系统支持的情况下编译行语言是无所不能的”。所以才去查了资料。编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++ 等都是编译型语言,而

2017-09-14 18:53:34 1237

原创 数组编程:array_reduce array_map array_walk

1、array_reduce($arr, $callback)用回调函数迭代地将数组简化为单一的值。其中$arr 为输入数组,$callback($result , $value)接受两个参数,$result为上一次迭代产生的值,$value是当前迭代的值。使用array_reduce()替代foreach()循环最常用的一个业务场景也许就是数组求和,比如:$arr = array('1','2'...

2017-08-09 14:54:40 1092

原创 微信公众平台 接口返回码45047 说明

最近也在做腾讯客服接口对接,测试时出现了该返回码,查找微信官方文档,解释如下: 目前允许的动作列表如下(公众平台会根据运营情况更新该列表,不同动作触发后,允许的客服接口下发消息条数不同,下发条数达到上限后,会遇到错误返回码,具体请见返回码说明页):点击移步到微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140

2017-07-05 18:53:28 2896

原创 yii2.0--reseful实现

因为最近项目中要用到restful,就研究了下,发现在成规下还是很灵活很简洁的;但是扩展性不太好;所以又该用原来的api了,趁此有机会简单记录下yii restful的实现。配置URL规则,然后,修改有关在应用程序配置的urlManager组件的配置:'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing

2017-06-27 19:07:45 572

原创 nginx: [emerg] duplicate "log_format" name "access"

nginx在开启多个虚拟主机日志时,会出现如下错误提示:nginx: [emerg] duplicate "log_format" name "access" in /etc/nginx/sites-enabled/www.exp.com:2其实就是因为nginx.conf配置文件在多个access_log中使用了同一个log_format访问;解决方法:在其它虚拟主机配置文件中,将log_form

2017-06-27 18:38:36 3200

原创 Ubuntu--nginx配置虚拟主机

假定我们的虚拟主机存放目录为var/www/exp创建nginx虚拟主机www.exp.com文件配置(PHP域根据本机的PHP应用情况配置) vim /etc/nginx/sites-available/www.exp.comLog Format2 log_format access_exp ‘$time_iso8601 | $remote_addr | $request | $status |

2017-06-27 18:23:47 640

翻译 微信支付 常见报错

支付返回签名错误注意签名参数的大小写,支付密钥key要到商户平台设置,设置的规则是32位数字与字母大小写的组合。以下链接为签名过程。(https://pay.weixin.qq.com/wiki/doc/api/jsapi.PHP?chapter=3_1)支付回调认证后的服务号之间支持跨号支付。

2017-04-20 21:19:07 3200

原创 逻辑思维

1.走楼梯一下走1阶 2阶,问走20阶有多少种方式附上答案链接2.1 2 5块钱组成100块钱,有多少种方式3.abcd四个字符,输出他们所有的组合

2017-03-02 22:58:47 806

原创 Mac MAMP 使用终端shell操作mysql数据库

在MAMP中已经集成了phpMyAdmin,可以很方便的管理mysql数据库,但是有的情况是phpMyAdmin不能做到的。比如,导入sql文件,当sql文件非常大(大于20MB)的时候,apache通常会执行超时,导致最终导入不完全,而且费时很长。如果此时使用shell导入的话,仅仅需要10秒即可轻松导入20MB的SQL文件。打开终端(Terminal),输入/Applications/

2017-02-06 21:34:49 8779 3

原创 百万级别的数据导入到MySQL库中的快速方法

最近在倒一张表数据到MySQL 库中时,用sql拼接感觉效率还是有点低于是到网上去谷歌了一把回来:网上也有人问到这个问题 并且也有相关的解答 其中我印象比较深的就是文件导入方法大概流程:建立一个 t.sql 文件文件里面的数据是这样的:INSERT INTO e_tuike_goods VALUES (1, 342, 23, 446, 0.0500, 'upload/10000

2017-01-11 22:01:06 3946

原创 yii2- 批量添加

假设有一个Post类的数组 $models,你就可以这样操作use yii\helpers\ArrayHelper; - 第一种写法$rows = []; foreach ($models as $model) { if ($model->validate()) { $rows[] = $model->attributes; } } $rows = Arr

2017-01-11 21:50:44 700

原创 linux shell 编程入门

1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行: chmod +x filename 这样才能用./filename 来运行1.1.2 注释在进行shell编程

2017-01-10 22:38:52 334

原创 使用awk批量杀进程的命令

ps -ef|grep aaa|grep -v grep|awk ‘{print “kill -9 ” $2}’ |shps -ef|grep aaa|grep -v grep 这是大家很熟悉的命令,这里就不再多说,就是从当前系统运行的进程的进程名中包含aaa关键字的进程。后面部分就是awk命令了,一般awk命令的格式为:awk ’ pattern {action} ‘print是打印,ki

2017-01-10 22:34:45 798

原创 PHP学习进阶之路

我的索引-程序员垂直导航PHP完整实战23种设计模式GitHub PHP资源列表web前端知识点总结segmentfault头条

2017-01-05 22:14:15 533

原创 yii CDbCriteria类的compare方法的使用

Yii的Active Recorder包装了很多。特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。 $criteria =newCDbCriteria; $criteria->addCondition("id=1"); //查询条件,即where id =1

2017-01-04 22:13:06 1693

原创 redis事务

本文档翻译自: http://redis.io/topics/transactions 。MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务的基础。事务可以一次执行多个命令, 并且带有以下两个重要的保证:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

2017-01-04 21:55:44 313

原创 硬链接与软连接的区别

首先我们需要了解Linux下硬链接以及软连接的基本概念.硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.下面详细介绍一下硬链接和软连接之间的区别.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系

2017-01-04 21:49:03 554

原创 Mac Terminal增强对git命令支持

在mac下,使用标准的terminal(终端)来敲Git的命令着实很痛苦,对于不熟悉git命令或者遇到特别长的命令的时候,会心生烦躁。经过摸索,找到一款用于增强Terminal的工具,基本上敲几个字母,Tab一下即可出来。安装Homebrew它只是Mac OSX下用于软件包管理的工具,类似于Linux下的apt-get。输入下面命令即可安装: ruby -e “$(curl -fsSL http

2017-01-04 21:45:43 411

原创 Mac自带apache+php环境配置

Mac自带了apache和php,但系统默认是隐藏apache安装目录的,但我们可以通过“命令行”或者“文件夹前往”的方式找到它。它是安装在系统的私有目录下,也就是/private/etc下面,因为它是隐藏的,所以我们无法通过界面找到它。 ps:/ect目录是mac os 系统存放系统配置信息的地方,里面都是xxx.conf的配置文件。 命令行 在终端输入 open /etc 命令即可打开

2017-01-04 21:38:12 1012

原创 yii2框架-伪静态的配置/美化URL

总结一下隐藏index.php文件的步骤: 1.开启apache的mod_rewrite模块去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号确保中有“AllowOverride All”apache打开重写模块参考文章2.在项目中的/config/web.php中添加代码:"urlManager" => [

2017-01-03 21:13:01 3374

原创 Yii2.0 scenarios场景应用详解

Yii2.0 场景的使用:举个简单的例子,现在在 post表里面有 title image content 三个的字段,当我创建一个 post 的时候,我想三个字段全部是必填项,但是你修改的时候,title content 两个字段是必填的, iamge 可以不填写。正常的情况下, [['title', 'content', 'image'], 'required',], 但是我们更改

2016-12-31 01:36:58 842

原创 使用Redis 建议/技巧

Redis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。下面我们将探索正确使用 Redis 的10个技巧。1、停止使用 KEYS *Okay,以挑战这个命令开始这篇文章,或许并不是一个好的方式,但其确实可能是最重要的一点。很多时候当

2016-12-31 01:28:57 291

原创 Redis几种数据结构常用命令整合

来点redis的干货,今天整理了redis一些常用的命令 ,好让大家进行对比操作 , 更容易记得也更容易上手。1、String类型  添  加:set   :直接添加       (set key value)                   setnx :不存在则添加   (setnx key value)                   setex :添加并设置

2016-12-31 01:23:57 634

原创 yii2框架-yii2自身的自动加载(三)

上一节说完了composer的自动加载,下面我们来说一下yii2自身的自动加载。在我们的入口文件,例如index.PHP,代码如下: <?php // comment out the following two lines when deployed to production defined('YII_DEBUG') or defin

2016-12-29 21:52:05 351

原创 yii2框架-composer的自动加载(二)

Composer作为php包的管理工具,可以整合很多的优秀的php库资源,进行共享,可以在https://packgist.org上搜索到很多我们开发中需要的库。下面我们将了解一下composer的自动加载的原理。Composer 不是一个包管理器。是的,它涉及 "packages" 和"libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安

2016-12-29 21:41:42 589

原创 yii2框架-yii2文档资料整理(一)

最近在学习yii2的框架,因为国内关于yii2框架的具体中文资料还是比较少,下面整理一些比较好的中文资料。(1)yii2的底层和架构方面  a)http://www.yiichina.com/doc/guide/2.0yii2的目前的官方中文社区文档,翻译还算是比较明白,最好从这里入手  b)http://www.yiichina.com/tutorial/773

2016-12-29 21:36:45 1871

原创 Yii2.0 探究三 :用户登录机制

前言:做后台管理的首要任务当然是登陆、注册;登陆的重要性不言而喻,而yii框架为我们封装好了用户的验证方法,我们要做的就是模仿,接触别的框架的可能会有人问:我自己写一个验证登录啊,不就是查询数据库,对照字段吗?下面就做出解答:一、为什么推荐你用自带的登陆?yii2.0框架为我们封装好了用户的信息(登录后才可以查看); 比如: \Yii::$app->user->isGust

2016-12-22 23:12:07 1375

原创 PHP框架性能测试报告_php技巧

作为一个PHP开发者,而且是初创企业团队的技术开发者,选择开发框架是个很艰难的事情。 用ThinkPHP的话,招聘一个刚从培训机构出来的开发者就可以上手了,但是性能和后期代码解耦是个让人头疼的事情。不过很多第三方功能不需要自己写,众多大牛已经给铺好路了。 用Laravel的话,传说写起来很爽扩展性也够,但是学习成本有点高,总不能给初级开发者半个月的时间去学习框架吧。而且据说江湖人士透漏,Larav

2016-12-18 20:02:00 991

原创 完美利用Yii2微信后台开发的系列总结

网上有很多关于YII2.0微信开发教程,但是太过复杂凌乱,所以今天在这里给大家整理总结利用Yii2微信后台开发的系列了,给需要的小伙伴们参考。一:接入微信Yii2后台配置1.在app/config/params.php中配置token参数return [ //微信接入 'wechat' =>[ 'token' =

2016-12-18 20:00:18 2932

原创 throw new Exception

throw new Exception(String, Exception)throw new Exception(String)throw是明确地抛出异常MSDN:Exception (String, Exception) 使用指定错误信息和对作为此异常原因的内部异常的引用来初始化 Exception 类的新实例。    在发现异常以后作一下记录异常信息然后在抛出异常,让

2016-12-17 21:26:24 9455

原创 excel文件直接导入mysql数据库的方法

一、假设你的表格有A、B、C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1、col2、col3二、在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:1、增加一列(假设是D列)2、在第一行的D列,就是D1中输入公式:=CONCATENATE("insert   into   table   (col1,col2,col3)   va

2016-12-17 21:13:26 702

原创 redis持久化方式

现在有 项目用到redis的做内存,同时也需要做持久化备份,看了一下redis自身的持久化redis自身支持两种持久化方式RDB和AOF1、RDB是定时对数据库内存做快照的方式备份整个内存数据库,这种方式,在redis或者服务器故障的时候有可能会丢失大量数据,但是这种方式是主进程fork一个子进程来执行,不影响到主进程的效率,也不会阻塞,同时保存数据集的完整性,如果对数据丢失能容忍一个小时

2016-12-17 21:10:19 302

转载 数据库存储过程缺点总结

数据库存储过程缺点总结,及各位讨论经典语录1、数据库移植不方便:2、大量采用存储过程进行业务逻辑的开发致命的缺点是很多存储过程不支持面向对象的设计,无法采用面向对象的方式将业务逻辑进行封装,从而无法形成通用的可支持复用的业务逻辑框架。3、 代码可读性差,相当难维护,4、不支持群集  金融和电信行业的确在数据库服务器的硬件投资少不会吝惜,但是数据库服务器是单点的,极难扩展,即

2016-12-17 21:09:08 662

原创 国内镜像http://packagist.phpcomposer.com不能进行访问

最近使用composer进行php依赖管理,但是国内镜像http://packagist.phpcomposer.com不能进行访问,国外镜像访问速度也很慢如图,系统提示我们your configuration does not allow to connection to `http://xxxxxxx`,see the https://getcomposer.org/doc/06-co

2016-11-30 21:53:49 11207 1

原创 yii2 利用dropDownList组件实现三级联动

(以下贴出的只是部分核心代码;并不代表完整思路)view.phpfield($model,'level_one_id')->dropDownList($model->getCategoryList(0), [ 'prompt'=>'--请选择一级分类--', 'onchange'=>' $(".form

2016-11-28 23:39:34 2399

原创 yii2 GridView常见操作

收集了网络上GridView出现的大部分问题做一个总结,希望有一个能帮助到你。下拉搜索日期格式化并实现日期可搜索根据参数进行是否显示链接可点击跳转显示图片html渲染自定义按钮设定宽度等样式 自定义字段自定义行样式增加按钮调用js操作实现批量删除案例批量删除禁止排序table加表头字段内容换行yii2 GridView 下拉搜索实现案例教程yii2 GridView 日期格式化并实

2016-11-28 23:15:01 1950

原创 编写API应该考虑那些问题

编写API应该考虑那些问题安全机制的设计:动态token、https、对称加密与非对称加密接口数据的设计:良好的相应速度、跨平台性接口版本的设计:良好的说明文档、测试程序、接口数据、状态接口框架 :slim rap文档优化接口:restful风格接口版本的切换(迭代设计)公共接口的安全设计 1、考虑接口的跨平台性     编写的接口要支持Android/

2016-11-21 22:34:08 511

原创 电子商务网站中订单号设计有什么规则和依据吗?

电子商务网站中订单号设计有什么规则和依据吗?写的很不错,在这分享给大家。原文链接:https://www.zhihu.com/question/19805896生成随机唯一号码, 比如订单号function build_order_no(){ return date('Ymd').substr(implode(NULL, array_map('ord', s

2016-11-21 22:32:19 1311

空空如也

空空如也

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

TA关注的人

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