自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

囧囧有神的专栏

高性能服务器 分布式 大数据 安全

原创 TLS源码解析-golang

概述以golang 1.8.1版本为准。源码目录:src/crypto/tlsRECORD协议record类型const (   recordTypeChangeCipherSpec recordType = 20  // changecipherspec表明发送端已取得用以生成连接参数的足够信息...

2018-03-24 19:13:41 1673 0

原创 动态调整TLS record size优化性能原理及实现

在ssl连接的不同阶段,通过动态调整TLS record size来优化性能,这种思路其实已经出来几年了(至少13年就有相关文章)。在google大神 ILYA GRIGORIK的书 中,可以看到有相关描述。相应的实现也不少,例如go1.7中增加了动态调整tls record size, 详情可见...

2017-03-24 16:33:45 1865 0

原创 理解HTTP/2流优先级(二)

流依赖和优先级也是HTTP/2的关键特性。设计流依赖和优先级基于以下认识:WEB应用的资源有重要性的区别,优先加载重要资源,可以尽快渲染页面,提升用户体验。HTTP/2中,一个源只有一个连接来实现多路复用,所有资源通过一个连接传输,这时候资源传输的顺序就更重要了。 要使用HTTP/2流依赖和优先级...

2017-03-21 20:07:20 2376 0

原创 理解HTTP/2流量控制(一)

在理解HTTP/2协议流量控制部分的过程中,容易被一些问题困惑。HTTP/2构建于tcp之上,tcp协议已经提供了流量控制机制,为什么HTTP/2还要自己实现一个?HTTP/2流量控制是什么原理,怎样才能发挥它的最大价值?  本文将从协议、源码、实验中来找到问题的答案。

2017-03-06 03:10:34 5124 0

原创 RPM打包与SPEC文件

制作RPM软件包并不是一件复杂的工作,其中的关键在于编写SPEC软件包描述文件。要想制作一个rpm软件包就必须写一个软件包描述文件(SPEC)。 这个文件中包含了软件包的诸多信息,如软件包的名字、版本、类别、说明摘要、创建时要执行什么指令、安装时要执行什么操作、以及软件包所要包含的文件列表 等等。...

2016-09-08 10:52:56 4317 0

原创 nginx源码分析之http解码实现

分析nginx是如何解析并且存储http请求的。对非法甚至恶意请求的识别能力和处理方式。可以发现nginx采用状态机来解析http协议,有一定容错能力,但并不全面

2015-04-02 17:52:22 9835 3

原创 linux 惊群问题

1. 结论 对于惊群的资料,网上特别多,良莠不齐,也不全面。看的时候,有的资料说,惊群已经解决了,有的资料说,惊群还没解决。。 哪个才是对的?!  一怒之下,在研究各种公开资料的基础上,特意查对了linux源码,总结了此文。希望对有需要的人略有帮助,希望各位大神轻拍,如有错漏,不吝指教,感激不尽。...

2015-01-31 22:29:11 9992 3

原创 nginx phase handler的原理和选择

nginx phase handler的原理和选择 PHASE HANDLER的种类 nginx在接收并解析完请求行,请求头之后,就会依次调用各个phase handler。 phase handler是完成nginx主要功能的阶段。 Nginx有如下11种phase,phase会依次执行。...

2014-08-25 10:58:46 5243 0

原创 一篇读书笔记

近日,长夜无聊,偶然观看了央视的《客从何处来》,从书屋中跑出来晒晒太阳的易中天先生跑到越南寻访他的十八世祖易先。易教授的这位祖宗参与了明朝对越侵略战争,并枉死于越南谅山。易教授高屋建瓴的评论道“黑格尔说悲剧就是善的冲突。就这场战争而言,越南方面追求独立、自由,完全是正义的;就易先来说,他身为大明王...

2014-08-09 03:53:36 1292 0

原创 ngx lua模块源码简单解析

对nginx lua模块的整个流程,原理简单解析。由于nginx lua模块相关配置,指令,API非常多,所以本文档只以content_by_lua指令举例说明。 读本文档最好配合读源码. 不适合对nginx和lua一点都不了解的人看。 1.相关配置 详细配置见 https://gith...

2014-07-11 11:45:10 13242 0

翻译 cloudflare的新waf,用Lua实现的

我们使用nginx贯穿了我们的网络,做前线web服务,代理,流量过滤。在某些情况下,我们已经扩充了nginx上我们自己的模块的核心C代码,但最近我们做了一个重大举措,与nginx结合使用lua 几乎全部用lua写的我们的一个项目是新的cloudflare WAF。这个我们另有博客。​ht...

2014-07-03 10:41:10 8023 0

原创 nginx上传文件大小

采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误。这个是什么原因导致的呢?     查wiki可知,上传文件大小相关的有三个配置 client_body_buffer_size 配置请求体缓存区大小, 不配的话, client_body_temp_...

2014-03-03 18:03:34 15211 1

原创 nginx超时设置

nginx常用的超时配置说明 client_header_timeout 语法 client_header_timeout time 默认值 60s 上下文 http server 说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一...

2014-01-13 19:07:56 154770 4

原创 跳表的python实现

跳表的性能和红黑树 AVL差不多,但是结构相当简单。 只需要简单操作链表,就能很容易实现跳表。 参考如下文章,自己用python实现了一个跳表的例程 http://blog.sina.com.cn/s/blog_72995dcc01017w1t.html ## # E...

2014-01-10 11:56:40 3119 1

原创 SPDY简介

SPDY简介   SPDY是Google开发的基于传输控制协议(TCP)的应用层协议 。SPDY旨在缩短网页的加载时间和提高安全性。Google最早是在Chromium中提出的SPDY协议。 本文主要了解SPDY的基本概念,以及如何编译一个含有SPDY的nginx HTTP协议存性能上的一些问...

2014-01-07 10:41:26 3319 0

原创 graphviz画图之张柏芝前夫是谢霆锋

张柏芝前夫是谢霆锋,谢霆锋前女友是王菲,王菲老公是李亚鹏,李亚鹏前女友叫瞿颖,瞿颖现男友是张亚东,朴树有个前女友叫周迅,周迅有个前男友叫李亚鹏,王菲前夫是窦唯,窦唯有个堂弟叫窦鹏,窦鹏有个前女友叫周迅,窦鹏堂姐是窦颖,窦颖前夫是张亚东,张亚东现女友是瞿颖,瞿颖前男友叫李亚鹏 请问张柏芝和李亚鹏什...

2014-01-03 18:05:14 3238 0

原创 nginx内存池实现原理

Nginx以高效,节省内存著称。到底如何高效,如何节省内存,这个得真正了解其设计原理才能知道,分析源码是了解其原理最直接的方法。Nginx对非常多的基础设施(红黑树 内存池 连接池 hash表)都重复造了轮子,我们来看看为什么要这么做。     对于c系统,最难的常常是内存管理,随着系统复杂度的...

2014-01-03 17:29:44 8109 0

原创 nginx连接池实现

nginx作为一款优秀的高性能web server,在大型互联网公司已经占据了很重要的份额。根据分析它的源代码,及在网上查询相关资料,分析了nginx的连接池的实现。nginx的连接池实际上可以看做是一种会话管理,并没有真正实现连接的重用。代码实现的还是非常漂亮,值得学习。 1. 配置 work...

2013-12-28 19:37:30 11816 1

原创 nginx静态编译lua[jit]

原淘宝工程师清无(王晓哲)和春来(章亦春)开发的lua nginx模块非常强大。现在网上的安装方法主要都是动态编译lua的,但是总有种种原因动态编译有诸多不便,这时候就需要将luajit静态编译进nginx里 第一种方法就是直接使用 openresty,并利用openresty提供的方式...

2013-12-24 15:51:20 4962 0

原创 从http协议看百度360大战

前段时间甚嚣尘上的3B大战,慢慢退出人们的视线,但是两家公司的战争才刚刚开始,一家是资金技术实力雄厚的搜索引擎巨头,一家是携客户端之威,行事诡谲的数字公司。谁会取得最后的胜利?我们在看热闹之外,也来学习一下云端和客户端是如何通过HTTP协议过招的。 360以客户端见长,360安全卫士,以安全为名...

2012-10-08 02:48:45 4879 3

原创 wordpress源码解析-数据库表结构(2)

如果是一个普通的用户,不需要了解wordpress数据库的结构。但是,如果你正在写一个插件,你应该会对wordpress如何处理它的数据和关系感兴趣。如果你已经尝试使用已经存在的wordpress api 去访问你需要的数据,但不直接访问数据库的情况下,这是不可能的,WordPress的提供WPD...

2012-10-05 23:20:43 19280 7

原创 wordpress源码解析-目录结构-文件调用关系(1)

学习开源代码,是一种很快的提升自己的学习方法。Wordpress作为一个开源的博客系统,非常优秀,应用广泛,使用起来简单方便,具有丰富的主题和插件,可以按照自己的需求来任意的进行修改。所以就从wordpress的源码开始自己的php学习之路,希望自己能坚持下去!          Wordpre...

2012-10-03 21:20:47 46997 8

原创 php&mysql初探

1.连接数据库 shell: Mysql -u$user -p [$database] Php:     $con = mysql_connect($Host,$DbaUser,$DbaPassword); 2.展示数据库,选择数据库 show databases; show ...

2012-05-14 11:52:53 1449 0

原创 wps for linux 演示安装过程

首先说一下我的环境 发行版本:ubuntu 12.04    内核版本:3.2.0 桌面环境:gnome 机器是x86 32位架构滴 下载wps的deb包后,当然迫不及待的进入命令行界面安装啦 1.进入deb包所在路径 2.执行命令 sudo dpkg -i wps-offi...

2012-03-28 22:52:44 13691 1

转载 Shell数值、字符串比较

Shell中字符串、数值的比较 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq       等于,如:if [ "$a" -eq "$b" ] -ne       不等于,如:if [ "$a...

2012-03-14 11:22:56 915 0

原创 超巧妙的设置密码的方法

最近,国内知名的  IT  社区  csdn  发生用户数据泄露事件,  600  万注册用户的用户名、密码、邮箱被上传到网上任人下载。此事发生后,很快得到证实,并且迅速通过微博、 qq  群传播,一时之间,搞挨踢的同学人人自危。         当天晚上得到了这份被泄露的资料,查找了一下,...

2011-12-27 23:13:53 2426 5

原创 扫雷的启示

小游戏中蕴藏着大道理,下面是玩扫雷游戏给我的几点启示。 1.赢一盘游戏需要技巧和运气的完美配合。 2.保持谨慎,不到万不得已的时候不要碰运气。 3.永远不要松懈下来,每一步都很重要,包括最后一步。 4.不停地实践是提高速度的不二法门。 5.你需要通盘考虑,充分利用信息,仔细推敲,谨慎的思...

2011-12-27 23:11:24 1283 0

原创 我必须让自己很靠谱

我必须让自己很靠谱,不是一般的靠谱,而是非常非常的靠谱。 兄弟们,我再也不会在给你们带饭时答应的好好的,上来再平静的告诉你我忘了。 再也不会出门不关门、不关灯。 不熬夜,让光线和敲击键盘的声音使你们失眠。 不睡懒觉,早上起来时不至于发现只有我一个人。 不疯狂的看电影和综艺节目,宅在寝室。...

2011-12-27 23:07:47 1095 1

原创 我的实习面试经历

3月10号星期四下午四点三十四,群里面收到班长转发的一条信息:北京合力金桥软件招聘实习 生。我看了一下他们的要求,觉得自己基本吻合条件,平时也没啥事,便决定去面试这份工作。花了一 个小时,从网上下载一个简历模板,填好,发了过去。百度地图上找了坐车方式。        3月11号上午十点多,我...

2011-12-27 23:06:03 1635 0

原创 关于arm-linux相关操作

主机 59.71.94.125 windows XP 虚拟机192.168.1.128 ubuntu 10.10   ftp用户名/密码:ubuntu/1 一、批处理脚本将虚拟机中程序传递到SD卡中 在虚拟机交叉编译环境中编译好的程序,将会放到路径 /home/ubuntu/ftp 下 S...

2011-12-27 23:01:56 882 0

翻译 深入理解计算机系统英文版(从672页开始翻译-要做实验没办法)

12.8 Putting it Together: TheTINYWeb Server We will conclude our discussion of network programming by developing a small but functioning Web ser...

2011-04-01 20:00:00 1709 1

原创 Java正则表达式学习-简单的小工具

最近在学习Java正则表达式,但是对一个正则表达式的测试,总得写一个程序才行。很不方便,于是自己做了一个简单的小工具。 自己做着玩的,水平有限,界面很简陋。   打开之后是这个样子:   输入正则表达式和要匹配的文本后,点击Matcher按钮,就会将匹配结果显示在下面的table中(...

2010-11-18 10:48:00 1408 0

原创 正则表达式学习(Java)

花了一个晚上的时间,把Java正则表达式的视频又重新看了一遍。然后写了个小程序测试了一下。还有一些比较特殊的语法没有测试,大概了解了一下。需要用到时再去看吧。正则表达式理解不难,但要用到熟练无比,出神入化,还是有难度的。 public class Test1 { /* * 测试 正则表...

2010-11-05 01:46:00 991 0

原创 dancing links 算法 解 Sudoku

1.   Danclink links 算法解Sudoku的基本思想:   将Sudoku问题转化为等价的01矩阵问题,然后用dlx算法求解。从一个由0 1组成的矩阵中找到一个行的集合,使得集合中每列恰好包含一个1,称为01矩阵问题。解决它的dancling links 算法利用双...

2010-10-12 00:02:00 5995 3

原创 统计数字问题

最近有些堕落了。 要赶紧调整过来。  先写篇解题报告试试。。。 题目描述:       一本书的页码从自然数1开始顺序编码直到自然数N。书的页码不包含前导数字0。例如,第6也用数字6表示,而不是06。要求给定书总页码n。计算书的全部页码中分别用到多少次数字0,1,2,3,4…9.      ...

2010-09-27 02:55:00 1182 3

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