自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

国苏

发奋忘食,乐以忘忧,不知老之将至云尔

  • 博客(105)
  • 资源 (1)
  • 收藏
  • 关注

原创 PHP生命周期

第一个过程是模块初始化阶段(MINIT), 在整个SAPI生命周期内(例如Apache启动以后的整个生命周期内或者命令行程序整个执行过程中), 该过程只进行一次。第二个过程是模块激活阶段(RINIT),该过程发生在请求阶段, 例如通过url请求某个页面,则在每次请求之前都会进行模块激活(RINIT请求开始)请求到达之后PHP初始化执行脚本的基本环境,例如创建一个执行环境,包括保存PHP运行过程...

2018-10-23 08:51:45 317

原创 leet code 11 Container With Most Water golang解题

理解题意:一个数组i,a[i]形成一个高度,找到两个高度之间能装最多水的面积。思路:从两边向中间找(不考虑高度的情况下,长度最大)从比较小的开始向中间找比他大的(比他小的容积不可能更大)func maxArea(height [] int) int { length := len(height) i := 0 j := length - 1 lh := height[0]...

2018-10-22 08:37:12 289

原创 awk统计nginx每天访问最高的接口

直接代码#! /bin/bashTODAY=`date +%d/%b/%Y`CONTENT=`awk -v val="$TODAY" ' $4 ~ val {print $7}' access.log | awk '{split($1,res,"?") ; print res[1] }' | awk ' {a[$1]++} END {for (i in a) printf "%s %s ...

2018-10-22 08:21:19 2327 1

原创 vue本地调试 跨域cookie 图片 proxyTable

当我在使用 vue + webpack 开发单页面的时候,主机host是 localhost,导致本地调试时cookie无法传递,ueditor编辑去图片等跨域无法上传。解决办法 proxyTable在dev配置中添加 proxyTabledev: { env: require('./dev.env'), port: 80, autoOpenBrows...

2018-08-31 16:21:20 1833

原创 redis实战笔记

nosql 支持5中数据类型数据 结构k-v list hash set zset 订阅发布sort事务WATCH、MULTI、EXEC、UNWATCH和DISCARD。键的过期时间两种持久化方式RDB AOF RDBsave 60 1000AOFappendonly yesBGREWRITEAOF复制 3s最多请求一次...

2018-08-31 16:08:25 355

原创 php程序员该会的技能

tcp/ip协议,基础必会http协议 请求头信息 ,tcp 三次握手 四次挥手,time_wait establish 等含义 数据结构,基础必会链表 数组 哈希 树 图等算法,基础必会排序 二叉树 google等常见算法php 常见语法,生命周期,zend引擎,执行过程,内核原理msqylsql语句,数据库设计,索引使用及原理,冗...

2018-08-14 19:58:48 307

原创 并发测试Siege详解

对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载安装wget http://www.joedog.org/pub/siege/siege-latest.tar.gztar -zxvf siege-latest.tar.gzcd sieg

2018-01-28 21:57:31 1580

原创 linux wget

Linux系统中的wget是一个下载文件的工具下载单个文件wget www.baidu.com使用wget -O下载并以不同的文件名保存wget -O a.html www.baidu.com使用wget -c断点续传wget -c www.baidu.com使用wget -b后台下载wget -b www.baidu.com

2017-11-19 23:21:35 459

原创 yii2 高级模板 单域名 多项目配置

backend/config/main.phpreturn [ 'homeUrl' => '/admin', 'components' => [ 'request' => [ 'baseUrl' => '/admin', ], 'urlManager' => [ 'enablePretty

2017-07-22 10:45:07 2265

原创 golang mysql SetMaxOpenConns SetMaxIdleConns

SetMaxOpenConns用于设置最大打开的连接数,默认值为0表示不限制。 SetMaxIdleConns用于设置闲置的连接数。db, _ = sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?charset=utf8") db.SetMaxOpenConns(2000) db.SetMaxIdleConns(1000)

2017-06-18 18:32:24 12203

原创 mac redis 3.2 安装

到官网下载最新版 稳定版解压安装$ wget http://download.redis.io/releases/redis-3.2.9.tar.gz$ tar xzf redis-3.2.9.tar.gz$ cd redis-3.2.9$ make启动服务src/redis-server新开一个终端$ src/redis-cliredis> set foo barOKred

2017-06-18 09:05:14 1386

原创 mysql 创建用户 远程登录数据库

登录mysql -u root -puse mysql;insert into user(host,user,password) values('%','mpm',password('mpm123'));flush privileges;create database mpm;grant all privileges on mpm.* to mpm@"%" identified by 'mpm12

2017-06-17 10:27:27 487

原创 mac 安装 golang 1.8

下载https://golang.org/dl/双击 一路next在 终端输入 go 有输出 安装成功创建自己的工作控件 我的是 gowork 创建3个文件夹 bin pkg srctotal 0drwxr-xr-x 2 wgyhello staff 68 6 15 22:14 bindrwxr-xr-x 2 wgyhello staff 68 6 15 22:14 p

2017-06-15 23:37:00 1822

原创 leetcode 7 Reverse Integer golang实现

转化为字符换 翻转在转化为intfunc reverse(x int) int { max := int(math.Pow(2,31) - 1) _x := int(math.Abs(float64(x))) s := strconv.Itoa(_x) s = res(s) res,_:=strconv.Atoi(s) if res > max {

2017-06-07 22:20:49 481

原创 RabbitMQ 三 角色权限

RabbitMQ的用户角色分类:none不能访问 management pluginmanagement用户可以通过AMQP做的任何事外加:列出自己可以通过AMQP登入的virtual hosts 查看自己的virtual hosts中的queues, exchanges 和 bindings查看和关闭自己的channels 和 connections查看有关自己的virtual

2017-06-04 19:53:11 1988

原创 RabbitMQ 二 ubuntu安装

安装Erlangsudo apt-get install erlangsudo apt-get install erlang-nox安装rabbitsudo apt-get install rabbitmq-server查看状态wgy@iZ944xmvzogZ:/usr/lib/rabbitmq/bin$ sudo ./rabbitmqctl status报错Status of nod

2017-06-04 19:14:11 305

原创 微信小程序 五 下拉刷新

微信小程序提供了原声的下拉刷新,三个小点的下拉刷新。在.json 中写{ "enablePullDownRefresh": true, //开启下拉刷新 "backgroundTextStyle": "dark" //设置小点为深色 }在.js中写onPullDownRefresh:function(){ console.log('---刷新'); wx.stop

2017-06-04 10:57:03 978

原创 RabbitMQ php 一 简介

RabbitMQ能为你做些什么?消息系统允许软件应用相互连接和扩展.这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据进行连接.消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶. 或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都属于消息系统的模式。 RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可

2017-06-01 22:29:59 339

原创 微信小程序 四 wxss引用 wxml引用

wxss引用 可以看到这是一个列表,每一条可以看做是一个item,item自己会有自己的wxml和wxss,先看一下item.wxss.item_class{ width: 100%; height: 150rpx; background-color: #ffffff;}.profile_holder{ width: 100%; height: 100rpx; fle

2017-05-31 23:19:13 13685

原创 正则表达式 php

正则表达式就是用某种模式去匹配一类字符串的一种公式。php中用PCRE提供的函数,”preg_”为前缀。元字符-正则表达式中有专用意义的字符。 元字符 描述 . 除了换行意外的任意字符 \w 字母 数字 下划线 汉字 \s 任意空白符 \d 数字 \b 单词的开始或者结束 ^ 字符串的开始 $ 字符串的结束 - 表示范围 [

2017-05-31 23:00:07 274

原创 thinkphp5 nginx 配置

server { listen 80; #端口 server_name think.com; #主机名 set $root /Users/wgyhello/dev/php_dev/tp5admin/public; #文件入口

2017-05-28 13:10:33 4665

原创 微信小程序 三 圆形图片

圆形图片和圆形其它控件一样 home.wxss.profile{ width: 50rpx; height: 50rpx; border: 0 solid #ff0000; border-radius: 100rpx; background-color: #f10b2e;}home.wxml <image src="/res/icon_tab_fightin

2017-05-23 07:05:56 14678 1

原创 leetcode 6. ZigZag Conversion golang实现

ZigZag Conversion 首先得知道题是啥意思 就是按照 “z”形状排列比如 “012345678910” row = 3 时 “z”形就是解题思路首先用row个数组存每一个字符。那么关键就是算出每一个字母应该在第几个数组中。仔细观察是一个循环的规律。循环长度为 row + row -2代码func convert(str string, row int) string {

2017-05-22 23:29:43 549

原创 golang字符串

字符串长度str := "acbd"len := len(str)第几个字符str := "abcd"first := str[0] 子串str := "abcd"sub := str[1:3]遍历 str := "abcd"for index, char := range str { fmt.Printf("%d %c\n",index,char)}连接 1.快 var

2017-05-22 19:58:19 311

原创 高性能mysql笔记(八)查询执行基础

msql执行查询的步骤:客户端/服务端通信协议他们之间的通信协议是“半双工”的,这就意味着在任意的时刻,要么是服务端向客户端发数据,要么是客户端向服务端发数据。这两个动作不能同时发生。查询状态 show full processlist1.sleep 线程等待客户端发送请求2.query 线程正在执行查询,或者正在发送结果。3.locked 线程正在等待锁4.Analyz

2017-05-22 15:15:46 309

原创 高性能mysql笔记(七)高性能的索引策略

介绍几个高效的索引方式1.独立的列独立列值索引列不能是一个表达式select actor_id from sakila.cator where actor_id + 1 = 5;这样的方式是用不到索引的。2.前缀索引和索引的选择性有时候索引很长的字符列,这回让索引变得大且慢,这时候可以建立一个前缀索引。alter table city add key (city(7));可以用这样的方式计算前缀

2017-05-22 12:09:29 368

原创 高性能mysql笔记(六)索引原理和类型

索引是查询性能优化的最有效手段。(通俗点可以理解为图书的目录)b+tree索引B-Tree有许多变种,其中最常见的是B+Tree,例如MySQL就普遍使用B+Tree实现其索引结构。与B-Tree相比,B+Tree有以下不同点:每个节点的指针上限为2d而不是2d+1。内节点不存储data,只存储key;叶子节点不存储指针。图3是一个简单的B+Tree示意。 图3由于并不是所有节点都具有相同的域

2017-05-22 11:18:07 377

原创 leetcode 5(Longest Palindromic Substring)golang实现

思路1.因为可能是aba这种奇数的,可能是abba这种偶数的,先统一处理为加“#”分割aba=>#a#b#a# ,abba = #a#b#b#a#这样可以统一成奇数处理 2.以每一个字符为开始,向两边伸展,(相等继续,不相等中止)记录为半径,半径最大的就是最长的回文。func longestPalindrome(s string) string { slice := make([]stri

2017-05-22 10:22:01 768

原创 微信小程序 二 选项卡

我们接着上一篇写 为首页添加一个选项卡看下效果 代码:home.wxml<!--pages/home/home.wxml--><view class="swiper-tab"> <view class="swiper-tab-item {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">热门</vie

2017-05-21 23:31:33 2057 3

原创 高性能mysql笔记(五)加快alter table的速度

alter table 往往是比较费时的,大部分的alter table命令的方式是: 先建立一个空表,从旧表中查出数据,插入到新表中,然后删除旧表。甚至可能是花费几个小时,或者是几天。比较常见的技巧有两种a.在一台不用的服务器上进行一个alter table操作,然后在切换主表。 b.按照表结构创建一张新表,然后通过重命名和删表来交换两张表。另外可以使用在线工具pt-online-schema

2017-05-21 23:02:14 1017

原创 高性能mysql(四)缓存表和计数器表

缓存表(汇总表)假如统计一个网站23小时发出的消息数,在一个比较忙碌的网站下不可能随时维护一个精准的计数器。代替方案是每小时生成一张汇总表,这样比实时计算要高效的多。简单的说就是维护一些复杂 耗时的计算 那么用汇总表是比较好的选择。计数器表要计数我们可以创建一个计数器表。create table hit_counter(cnt int unsigend not null)engine=innodb;

2017-05-21 22:33:04 4367

原创 高性能mysql(三)选择优化的数据类型

mysql支持的数据类型非常多,所以选择相应的数据类型对于获得高性能至关重要。几个原则a.更小通常更好。(因为占用更少的磁盘内存cpu)b.简单更好(int比字符串更好)c.避免null(null会占用更多的空间,也会使得索引复杂)类型a.整数类型TINYINT 8位SMALLINT 16位MEDIUMINT 24位INT 32位BIGINT 64位他们的范围是 -2(N-1)次方到

2017-05-21 21:54:24 262

原创 高性能mysql笔记(三)mysqlslap性能测试

mysqlslap 可以用于模拟服务器的负载,并输出计时信息。测试时,可以指定并发连接数,可以指定 SQL 语句。如果没有指定 SQL 语句,mysqlslap 会自动生成查询 schema 的 SELECT 语句。1.测试 mysqlslap --help

2017-05-21 18:02:01 965

原创 高性能mysql笔记(二)ab测试工具

主要是介绍一些压力测试和性能测试的工具,本文讲解一下ab和http_load在mac的用法。测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制ulimit -aopen files (-n) 25602000多的fd数是很小的,我们把他改大,当然我测试过了,也只能开10000而已,Linux可以开6W多,所以:ulimit -n 10000在用 ulimit -a 检查一下open

2017-05-21 17:40:11 1167

原创 高性能mysql笔记(一)并发 事务 引擎

一 并发控制1.1读写锁读锁读锁是共享的,或者说是互不阻塞的,多个客户端可以在同一时刻读取同一资源,互不干扰。写锁写锁是排他的,一个写锁会阻塞其他的写锁和读锁。在实际开发过程中mysql每时每刻都发生锁定,当用户修改一部分数据是,mysql会进行锁定,防止其他用户读取同一数据。1.2 锁粒度锁的各种操作 包括 获得锁 检查锁是否已经解除,释放等,都会增加开销,所谓的锁就是在开销和数据安全之间进行

2017-05-20 23:27:37 342

原创 微信小程序开发 一 tabbar图标和颜色

前期准备 :注册,填材料,验证等等:https://mp.weixin.qq.com1.浏览一遍简易教程,下载相应的开发工具写一个小例子点击左侧的 “编辑”-》点击右侧代码里的 app.json 修改为{ "pages":[ "pages/fightings/home", "pages/publish/home", "pages/mine/home" ],

2017-05-20 17:12:12 59804 9

原创 solr中文全文检索

其实简单的说,Solr是一个基于Apache Lucene 项目的开源企业级搜索平台,是用JAVA编写的、运行在Servlet容器中的一个独立的全文搜索服务器(换句话说就是个JAVA-WEB APP),并具有类似REST的HTTP/XML和JSON的API。 主要功能包括全文检索,高亮命中,分面搜索(faceted search),近实时索引,动态集群,数据库集成,富文本索引,空间搜索;通过提供分布

2017-05-19 11:21:15 1933

转载 linux sort

sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。参数-b:忽略每行前面开始出的空格字符;-c:检查文件是否已经按照顺序排序;-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;-f:排序时,将小写字母视为大写字母;-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;-m

2017-05-17 21:51:47 310

原创 linux uniq去重

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。参数-c或——count:在每列旁边显示该行重复出现的次数;-d或--repeated:仅显示重复出现的行列;-f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位;-s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符;-u或——unique:仅显示出一次的行列;-w<字符位置>或

2017-05-17 21:35:37 737

原创 linux scp

scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。命令-1:使用ssh协议版本1;-2:使用ssh协议版本2;-4:使用ipv4;-6:使用ipv6;-B:以批处理模式运行;-C:使用压缩;-F:指定ssh配置文件;-l:指定宽带限制;-o:指定使用的ssh选项;-P:指

2017-05-17 21:24:12 342

ios swift转场动画

ios swift 转场动画 水波纹动画 , 立方体动画 ,翻页动画 。

2015-12-23

空空如也

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

TA关注的人

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