自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gavin_new的博客

一个在技术领域逐渐成长的孩子....

转载 golang中传递中值传递以及指针传递

本文大部分转自【http://colobu.com/2017/01/05/-T-or-T-it-s-a-question/】在编程语言深入讨论中,经常被大家提起也是争论最多的讨论之一就是按值(by value)还是按引用传递(by reference, by pointer),你可以在C/C++或...

2018-05-10 15:47:08 6057 0

原创 php-fpm生产环境下的调试strace

以前,在对php进行性能问题分析时,主要是依赖xhprof对php性能瓶颈进行分析,而这需要侵入代码。今天遇到了需要在生产环境下找出fpm问题的需求,这种情况下,在网上查找了下方案,发现了strace工具。strace是个功能强大的Linux调试分析诊断工具,可用于跟踪程序执行时进程系统调用(sy...

2018-04-14 16:41:17 1237 0

原创 golang arm交叉编译

流程:1. 设置golang的编译环境变量2. 编译golang代码shell指令如下:env GOOS=linux GOARCH=arm go build go文件

2018-04-13 11:21:35 1780 0

原创 加权轮训算法--最大公约数法

在做灰度的时候,需要用到加权轮训算法,于是选择了最简单的最大公约数法,在这里做下记录(下面内容为摘抄原文,并修正部分文字)大体方法:这种算法的原理是:在服务器数组S中,首先计算所有服务器权重的最大值max(S),以及所有服务器权重的最大公约数gcd(S)。         index表示本次请求到...

2018-04-11 14:59:03 677 0

转载 【转】redis内存模型

文章写得很好,由于原文不能复制,故只能截图做笔记。原文地址:https://news.html5.qq.com/share/5641006391504052768?url=http%3A%2F%2Fkuaibao.qq.com%2Fs%2F20180409B1X8WY00&ch=0...

2018-04-10 21:59:45 230 0

原创 golang-glide在win10下出现“Unable to export dependencies to vendor directory: Error moving files”错误解决

找到文件github.com\Masterminds\glide\path\winbug.gofunc CustomRename(o, n string) error { // Handking windows cases first if runtime.GOOS == "win...

2018-04-08 15:08:27 1063 0

原创 Golang协程机制以及异常处理

golang之所有好用,是因为其将以前编程中常用的而且晦涩难用的异步任务以及信号机制,以傻瓜式的语法给封装了一层。接触了golang已经有一段时间了,现在回头再看一下golang的协程机制,顺便做个总结。一. 协程机制详情可查看这篇论文《Golang协程调度器详解》系统内核可以理解成一个经验丰富的...

2018-04-02 14:19:07 3844 0

原创 mysql在多进程下出现断开连接(MySQL server has gone away错误)笔记

今天进行文件迁移,主进程负责查数据库,并创建多个子任务,而子任务以进程的方式异步执行,如图所示: 但是,随后发现程序开始后不就,主进程在查询数据库时,报MySQL server has gone away 错误;查了下资料,发现在创建子进程时,父子进程共享同一个socket资源,虽然进程表中有两份...

2018-03-09 16:14:47 1564 0

转载 centos7 Mariadb创建多实例

为了对mycat做实验,于是创建多实例Mariadb,做以下笔记:创建多实例数据库文件夹:[root@linux-node1 ~]# mkdir /home/multiMysql [root@linux-node1 ~]# mkdir /home/multiMysql/{etc,socket,bi...

2018-02-08 16:26:52 411 0

原创 General error: 2006 MySQL server has gone away

可能有很多人遇到过标题中的这个错误。之前我们也经常遇到,一直没有认真找是什么原因。今天花了些时间google了下。原来,这个问题并不是MySQL的bug, 它本质是一个配置问题, 解决起来也不麻烦。在Mysql客户端中, 通过 SHOW VARIABLES; 语句可以查看Mysql系统变量。这些变...

2017-11-11 16:56:34 349 0

转载 探讨Docker容器中修改系统变量的方法[转]

转自http://tonybai.com/2014/10/14/discussion-on-the-approach-to-modify-system-variables-in-docker/探讨完Docker对共享内存状态持久化的支持状况后,我将遗留产品build到一个pre-productio...

2017-10-28 15:09:30 4509 0

原创 curl_exec和wget执行太慢,IPv6惹的祸

这几天在容器中运行curl时,发现了都要5秒的延时,抓包显示,域名解析服务器访问和目标服务器连接都很正常,但是curl在发起域名解析后,硬是等待5秒后才执行服务请求。找了下资料,发现如果系统开启了ipv6支持,则curl优先进行ipv6的域名解析,失败后才进行ipv4的解析。而解析失败重试时间被限...

2017-10-28 15:00:53 1488 0

原创 Golang中的下划线

Golang中的下划线

2017-09-07 14:20:41 941 0

原创 memcache数据的同步读写

作为缓存服务,memcache提供了curd的基本查询,但基于业务需要,memcache需要进行数据同步的造作,实现方法如下: 悲观锁:使用add方法加锁以达到数据原子性操作; 乐观锁:使用gets命令获取键值对同时获取一个唯一标识,再通过cas命令更新数据,若失败表示数据已被修改;

2017-06-20 16:41:29 1380 0

原创 CSRF跨站请求伪造

前面说到XSS跨站脚本攻击,现在来个复杂度更高一点的CSRF跨站请求伪造;首先说一下RSRF的几个要点: 1. RSRF是通过各种方法(站内发布链接,qq邮箱发布链接等),让登录用户触发请求,在用户不觉察的过程中对用户数据进行篡改,进而实现攻击; 2. 通过XSS可以获取到用户的session...

2017-06-20 14:27:27 409 0

原创 数据分片以及全局id的生成

一. 数据分片在分布式存储系统中,数据需要分散存储在多台设备上,数据分片(Sharding)就是用来确定数据在多台存储设备上分布的技术。数据分片要达到三个目的: 分布均匀,即每台设备上的数据量要尽可能相近; 负载均衡,即每台设备上的请求量要尽可能相近; 扩缩容时产生的数据迁移尽可能少。 但是数据分...

2017-06-20 14:09:41 708 0

转载 父进程退出后如何通知子进程退出

Linux 中创建子进程是相当方便的,通过fork调用即可。当子进程退出时,要给父进程发送SIG_CHLD信号,是为了父进程回收子进程的资源,方便管理的目的。 但是当父进程退出后,一般是不会通知子进程的,父进程会将自己的所有子进程过继给init进程。但是,在实际的项目中,我们有这样的需求: 如果父...

2017-06-18 15:26:11 6093 0

原创 PHP的错误笔记

运行期间报错: 1. deprecated:不推荐、不建议异常,如使用了过时的函数; 2. notice:语法存在不当异常,如使用了未定义变量; 3. warining:语法中出现很不适当的异常,如函数参数比匹配造成达不到预期结果; 4. fetal error: 致命错误,直接导致脚本流...

2017-06-11 15:00:50 268 0

转载 【转-来自鸟哥】关于 PHP 的编译和执行分离

这是来自 @雪候鸟 博客的文章,内容如下: 关于让”PHP的编译和执行分离”这个问题, 一直有人提, 也一直有人尝试. 提的人认为编译执行分离以后, 可以得到性能提升, 可以做代码保护等.我本身并不是对这个特性很感冒, 因为这里面存在一个投入产出比. 让我来给大家解释一下, 然而不管怎么样, ...

2017-06-07 10:52:50 1231 0

转载 五分钟理解一致性哈希算法(consistent hashing)

转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致...

2017-06-05 15:34:22 525 0

原创 PHP防SQL注入记录

mysql注入历来是php的一个问题,目前主要有以下几种方案: (1)addslashes函数 (2)mysql_escape_string 和mysql_real_escape_string 函数(将被废弃或已被废弃) (3)magic_quotes_gpc自动过滤输入(由于效率问题,5....

2017-06-05 12:18:59 481 0

原创 XSS攻击以及PHP预防

XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这段HTML代...

2017-06-01 20:25:40 382 0

转载 PHP session回收机制【转】

由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效。当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/session.gc_divisor(同样可以通过php.ini或者ini_set()函数来修改) 的值,来...

2017-06-01 20:10:56 434 0

原创 Session剖析

前一篇,理了一下cookie的原理,现在大概总结一下session的原理;一. 为什么使用session为了实现在http协议下有状态的业务逻辑,就衍生出了cookie机制,cookie存放在http的消息头里,每次访问,服务器将会将cookie的操作放在消息头里,然后浏览器更改cookie信息(...

2017-05-22 15:20:14 241 0

原创 Cookie剖析

cookie,英文为甜品的意思,在http无状态连接中,利用cookie可以实现需要跟踪状态的业务;一. Cookie的组成 name:键值 value:值 expires: 超时时间 Path:cookie所在的目录,只能访问自己目录或父目录的键值 Domain:cookie所在的域,默认为请求...

2017-05-22 15:06:27 319 0

原创 goLang引入自定义包

看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。一. 设置$GOPATH环境变量golang和C或php不一样,不会自动查找当前路径下的文件,必须先在$GOAPTH里添加自己工程的路径;二. 自定义包里面对外提供的API函数,首字母必须大写...

2017-05-19 15:38:55 10864 0

原创 发布一个轻量级的PHP实现的WEBSOKCET引擎-EZ_WS

利用零散的时间,用php这门语言写了个轻量级的WebSocket引擎-EZ_WS,期间也在这世界上最好的语言上踩过几个坑,不过坑踩过了,东西也出来了,现分享给大家;GitHub网址:https://github.com/GavinLiu168/ez_ws以下是说明文档EZ_WS是easy-webs...

2017-05-11 11:55:54 1897 1

原创 PHP类文件的动态加载(静态引入文件的坑)

在写一个开源框架,忽然发现php在多进程时执行的逻辑出现异常,导致子进程无法执行信号处理函数。经过一系列debug,发现php文件的静态引入造成了bug的发生,而使用动态加载类文件将会有效的解决这个bug,具体代码如下:<?php define("TOP_AUTOLOADER_PA...

2017-05-09 20:46:55 4040 0

原创 网络层--IP协议简要笔记

IP协议是“不可靠无连接”的传输协议,作为TCP/UDP的基础协议,其作用和地位不可置疑,以下做简要的笔记,注意本文主要是针对IPV4; 参考《TCP/IP详解 卷1 协议》 一. 协议定义和组成 如上图所示,IP协议首部至少包含20个字节,这20个字节中描述了IP协议包的基本信...

2017-05-08 15:28:18 350 0

原创 TCP总结笔记

TCP作为面向连接的协议在实际应用中占据很重要的地位,其是可靠传输协议,保证了数据流的稳定传输。现在对TCP做一个简单的笔记;一.TCP在通讯中的概览 如上图所示,TCP是传输层协议,其底层是通过IP层来进行数据收发的;下面是IP协议的结构: 下面是TCP数据在IP报文中的位置: 下面是TC...

2017-05-02 10:18:14 389 0

原创 SVN查看log时报“svn there has been a problem contacting the server”错误

这个问题的解决方法比较简单,直接将匿名用户的读权限关闭,具体操作如下:svnserve.conf中找到:anon-access=read 设置改成:anon-access=none

2017-04-22 18:24:26 3136 3

原创 国内composer源(解决composer慢的方法)

https://pkg.phpcomposer.com/

2017-04-16 16:31:11 876 0

原创 PHP进程之信号捕捉中的declare(ticks=1)

在使用PHP的PCNTL拓展时,发现在信号捕捉的例程中出现了declare(ticks=1)这条php语句,于是对其进行研究。一. 语句在php中的意义php中,declare(ticks=n)和register_tick_function(‘handel_function’)一般是配合使用的,其...

2017-03-24 12:01:34 2285 0

原创 PHP之pthread拓展使用以及坑

PHP是为WEB开发而生,但是以前PHP是没有线程的说法,直到pthread的出现。 资料来源:http://php.net/manual/zh/book.pthreads.php一. 线程的创建和使用1. Thread类基本的创建和使用:<?php //通过继承Thread类来实现自己的...

2017-03-23 15:24:59 10885 0

原创 带你入门哈夫曼编码和哈夫曼树

注:(1)本文章适合阅读人群:上过高中数学,有基本计算机基础;(2)本文只是简单的入门篇,若想深入请查看专业书籍一. 编码1.什么是编码?首先我们得区分“信息”和“信息载体”这两个概念,如“hello”这个单词,在自然语言中是一种代表问好的信息,而“hello”这五个字母构成单词就是一种信息载体,...

2017-03-21 13:51:37 479 0

转载 或许你也患上了开发瘫痪症

亲爱的开发者们:你们是否因为自己只精通于三大设备平台的八种编程语言而惴惴不安?又发现一个JavaScript框架是否会让你不寒而栗、愁眉苦脸?你是否曾经因为无法确定哪个云平台最适合而把业余项目一再推迟? 或许你也换上了开发瘫痪症(Developaralysis)。颤抖吧,这个病是治不好的。 ...

2017-03-20 16:10:08 239 0

原创 PHP7新特性 简要笔记

PHP7除了在解析方面做了深度优化之外,还在语法用法上有了新功能新特性,参考PHP手册,做了简要笔记;1.指定标量类型(指定函数参数类型)<?php // Coercive mode function sumOfInts(int ...$ints) //省略号代表传入多个参数并存储在ints...

2017-03-03 17:24:22 305 0

原创 Redis 数据备份还原与主从复制

Redis作为一个内存数据库,在数据安全以及集群部署方面都提供了一系列工具可供使用。一. Redis数据库数据备份Redis是内存型数据库,但是为了数据安全,就需要有“数据持久化“(就是将数据存储在磁盘上)的机制,在备份方面提供了两种工具,分别为RDB和AOF。1.RDB备份与恢复RDB是利用快照...

2017-02-23 18:28:12 3038 0

原创 MySQL--数据备份还原以及主从复制

作为数据库,为了数据安全,mysql当然提供了数据备份和数据还原的功能,而且还提供了主从复制的功能,也就是说能搭建数据库集群,以下记录下常用的操作步骤流程;一. MYSQL的备份备份相当简单,使用mysqldump工具就可以实现://将指定的数据库备份 mysqldump -uroot -h ho...

2017-02-20 18:10:25 876 0

原创 哈希表(HashTable)笔记

深入底层学习php,肯定少不了hash表的学些,于是参考维基百科,做了以下笔记,并且实践上用c语言实现了其中一种hash表;一. HashTable在PHP中的地位首先要知道,php中的变量存储是通过zval这个结构体来实现的,而zval的查找寻址是通过php启动内核里面的HashTable来实现...

2017-02-15 14:39:02 304 0

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