自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

__七把刀__

新的文章请移步简书查看 http://www.jianshu.com/u/4d4a2f26740b

  • 博客(155)
  • 收藏
  • 关注

原创 MySQL在GBK编码下的5C问题

1 缘由前段时间在折腾discuz的PHP版本升级,据说PHP7比PHP5的性能提升了很多,于是新建了一个论坛镜像,将其中PHP版本从5.x升级了7.x版本,将原来跑PHP5的容器替换为PHP7的容器,docker在做升级软件的时候确实很方便,不会影响宿主机环境。从统计数据看,测试论坛的平均响应时间确实缩短了20%左右,效果不错。只是第二天有同事反馈,说论坛有用户发帖称自己的用户名变成乱码了。2 查

2017-06-09 15:59:09 2460

原创 谈谈HTTP连接管理

1 HTTP连接管理概述最近重读了《HTTP权威指南》部分章节,结合apache来对部分内容进行印证并记录下来。HTTP连接管理我们大体会谈到如下内容:串行连接,并行连接,持久连接以及管道化连接。现在流行的浏览器如chrome,firefox都采用了并行的持久连接来提升性能,减少加载延时。本文只针对HTTP/1.0和HTTP/1.1,HTTP/2不在讨论范围。HTTP/1.1允许在持久连接上使用管道

2017-06-09 15:56:50 1660

原创 《Ansible_Up-And-Running》笔记2-Ansible实战

接上一篇总结了ansible的基本用法,这一次通过部署一个博客站点的例子来进行ansible实战。分为四个部分,第一部分是手动部署一个mezzanine站点;第二部分是通过ansible来部署mezzanine;第三部分是使用角色来重写第二部分的代码;第四部分则是ansible与docker一起使用的效果。(注: mezzanine是一个基于django的CMS系统,有点类似wordpress,官网

2017-01-05 22:35:26 3014

原创 《Ansible_Up-And-Running》笔记1-Ansible超详细使用指南

在工作中有用到ansible用于自动部署和环境配置,这里整理了一份很详尽的使用指南,如果有用到的可以看看。关于使用ansible自动部署一个网站和docker化,将在下一篇文章中介绍,敬请期待。文章内容主要翻译整理自ansible官方网站推荐的Ansible-Up and Running一书。1 为什么选择Ansible来源:ansible一词源于科幻小说,是一种超光速通信设备。 Ansible

2017-01-05 22:33:49 3881

原创 iOS学习笔记系列

IOS学习笔记系列见简书,本博客不再更新: http://www.jianshu.com/notebooks/3815615/latest

2016-08-15 20:12:34 1560

原创 iOS学习笔记(2) - Objective-C基础

本文简书地址: http://www.jianshu.com/p/fbe4ab2edad2 上一篇文章总结了iOS开发一些屏幕和分辨率相关的内容,这篇来总结下iOS主要的开发语言objective-c。1 创建第一个工程打开Xcode,File->New->Project创建一个工程,注意这里我们是学习Objective-C语言(下文简写为Objc),因此选择OS X这一节里面的Applica

2016-03-01 20:57:11 1815

原创 iOS学习笔记(1)-iPhone分辨率

终于决定开始学习ios开发了,很久之前有过一次ios开发培训,但是做完作业就落下了,一直没有再捡起。想到如今ios开发如火如荼,再不学习真的要掉队了,希望能督促自己在2个月内完成ios开发的基础学习以及写出一个demo。这是第一篇,先总结下iphone的分辨率以及图像基础知识,由于对图形图像的一些概念并不太熟,错误在所难免,请大虾指正。本文简书地址http://www.jianshu.com/p/

2016-01-11 23:54:01 1863

原创 MySQL binlog格式解析

MySQL binlog格式解析 ----by 石锅拌饭 binlog想必大家都不陌生,在主从复制或者某些情况下的数据恢复会用到。由于binlog是二进制数据,要查看一般都借助mysqlbinlog工具。这篇笔记分析了binlog格式,希望能够了解下mysqlbinlog工具背后所做的事情。1.什么时候写binlog在说明什么时候写binlog前,先

2016-01-01 13:20:52 3607

原创 Python设计模式1-创建型模式

Python设计模式1-创建型模式 工作时间一长,需求多而杂,往往难得有时间去仔细思量代码如何写的更加优雅,习惯使然。设计模式本身不是一个神秘的东西,也许无意中也会用到,只是没有刻意去思考。正好找个时间,把设计模式用python实现一遍,加深印象,为写出优雅的代码努力。1 设计模式简介设计模式的概念最初来自建筑学,记得以前读过一本《java与模式》,里面用道家思想讲设计模式,颇有新意。不过对于

2015-11-15 21:15:20 2169

原创 Python源码剖析笔记7-类机制

拖了好一段时间了,终于有空来看看python中的类机制了。内容太多,感觉有些地方还是模糊的,先写一些吧,有错误烦请指出。1 Python对象模型1.1 概述python2.2之前的这里就不考虑了,从2.2之后python对象分为两类,class对象和instance对象,另外还有个术语type用来表示“类型”,当然class有时候也表示类型这个概念,比如下面的代码,我们定义了一个名为A的class

2015-10-11 19:49:20 2336

原创 Python源码剖析笔记6-函数机制

Python的函数机制是很重要的部分,很多时候用python写脚本,就是几个函数简单解决问题,不需要像java那样必须弄个class什么的。 本文简书地址:http://www.jianshu.com/p/d00108741a181 函数对象PyFunctionObjectPyFunctionObject对象的定义如下:typedef struct { PyObject_HEAD

2015-08-31 00:27:08 2549 3

原创 Python源码剖析笔记5-模块机制

本文简书地址: http://www.jianshu.com/p/14586ec50ab6 python中经常用到模块,比如import xxx,from xxx import yyy这样子,里面的机制也是需要好好探究一下的,这次主要从黑盒角度来探测模块机制,源码分析点到为止,详尽的源码分析见陈儒大神的《python源码剖析》第14章。1 如何导入模块首先来看一个导入模块的例子。创建一个文件夹

2015-08-08 22:39:33 2875 2

原创 Python源码剖析笔记4-内建数据类型

Python源码剖析笔记4-内建数据类型 Python内建数据类型包括整数对象PyIntObject,字符串对象PyStringObject,列表对象PyListObject以及字典对象PyDictObject等。整数对象之前已经分析过了,这一篇文章准备分析下余下几个对象,这次在《python源码剖析》中已经写的很详细的部分就不赘述了,主要是总结一些之前看书时疑惑的地方。1 整数对象-PyIn

2015-07-15 23:58:02 2563

原创 Python源码剖析笔记3-Python执行原理初探

Python源码剖析笔记3-Python执行原理初探 之前写了几篇源码剖析笔记,然而慢慢觉得没有从一个宏观的角度理解python执行原理的话,从底向上分析未免太容易让人疑惑,不如先从宏观上对python执行原理有了一个基本了解,再慢慢探究细节,这样也许会好很多。这也是最近这么久没有更新了笔记了,一直在看源码剖析书籍和源码,希望能够从一个宏观层面理清python执行原理。人说读书从薄读厚,再从厚读

2015-06-28 21:14:51 3337

原创 Python源码剖析笔记2-Python整数对象

Python源码剖析笔记2-Python整数对象本文简书地址: http://www.jianshu.com/p/0136ed90cd46 千里之行始于足下,从简单的类别开始分析,由浅入深也不至于自己丧失信心。先来看看Python整数对象,也就是python中的PyIntObject对象,对应的类型对象是PyInt_Type。1 Python整数对象概览为了性能考虑,python中对小整数有专

2015-05-24 16:21:52 2531

翻译 自己动手写垃圾收集器

之前写过几篇自己动手系列的文章,简要实现了栈,二叉堆,malloc等函数,对于垃圾收集器,一直也有所耳闻。像python中主要使用引用计数手段来管理内存,为了解决循环引用的问题,引入了分代收集和标记-清除方式。当然python中可能产生循环引用的只可能是容器类对象如list,dict,class等,而像int,string是不可能产生循环引用的。当然python中的垃圾收集器实现是比较复杂的,我也没

2015-05-17 17:28:54 2559

原创 python源码剖析笔记1——Python对象初见

python源码剖析笔记1——Python对象初见 工作整两年了,用python最多,然而对于python内部机制不一定都清楚,每天沉醉于增删改查的简单逻辑编写,实在耗神。很多东西不用就忘记了,比如C语言,正好,python源码用C写的,分析python源码的同时又能温故C语言基础,实在是件很好的事情。另外,还有陈儒大神的《python源码剖析》做指引,分析也不至于没头没脑。期望在一个月的业余时

2015-05-11 21:58:50 2662

原创 Python源码剖析笔记0 ——C语言基础

python源码剖析笔记0——C语言基础回顾 要分析python源码,C语言的基础不能少,特别是指针和结构体等知识。这篇文章先回顾C语言基础,方便后续代码的阅读。1 关于ELF文件linux中的C编译得到的目标文件和可执行文件都是ELF格式的,可执行文件中以segment来划分,目标文件中,我们是以section划分。一个segment包含一个或多个section,通过readelf命令可以看

2015-05-11 21:57:26 2894

原创 Python pyc格式解析

简书链接:http://www.jianshu.com/p/03d81eb9ac9b 这篇文章只是纯粹分析python pyc文件格式,主要是关于pyc在文件中的存储方式进行了解析。pyc是python字节码在文件中存储的方式,而在虚拟机运行时环境中对应PyCodeObject对象。关于PyFrameObject以及PyFunctionObject等运行时结构,后续希望学习透彻了能够一并分析。

2015-04-26 20:50:39 6920

原创 MySQL auto_increment间隙问题

MySQL auto_increment间隙问题 MySQL中auto_increment字段估计大家都经常用到,特别是innodb引擎。我也经常用,只知道mysql可以保证这个字段在多进程操作时的原子性,具体原理不甚了了,一次心血来潮,遂去查阅了MySQL手册以及相关资料,了解了个大概。本文只探究了mysql5.5中innodb引擎auto_increment的问题,myisam引擎未测试,后

2015-03-22 13:10:04 4782

原创 浏览器缓存机制(2)-应用缓存

浏览器缓存机制(2)-应用缓存 在公司项目中,一些移动版的WEB页面恰好用到了应用缓存,故顺便写篇文章来总结下应用缓存方面的内容。1.应用缓存简介应用缓存(application cache)是HTML5提供的一套缓存机制,使得WEB应用可以离线运行。除了一些旧版本的IE外,现代浏览器如firefox,chrome,safari大部分都是支持HTML5标准的。使用应用缓存主要优势有:离线浏览

2015-03-14 22:31:33 1613

原创 mysql timeout知多少

mysql timeout知多少 ——————by石锅拌饭1.timeout变量知多少打开mysql,用show variables like '%timeout%'命令一看,不看不知道,一看吓一跳,结果如下面所示,这么多timeout相关变量,一下就吓尿了。。原来对mysql的了解原来是如此的不够,好了,这么些timeout究竟各自是什么意思,花了

2015-03-14 19:08:38 4894

原创 rsync那些事儿

rsync那些事儿1.关于rsyncrsync是remote synchronize的简称,是一款远程同步软件,在项目中多有用到。其采用的rsync算法(酷壳上有一篇介绍rsync核心算法的博文rsync的核心算法)提供了一种比较快速的方法用于客户机和远程文件服务器同步。rsync的特点是安装和配置都比较方便,然后同步文件时能够保持符号链接,硬链接,权限,文件时间,文件归属等数学。安全性方面则提供了

2015-03-10 23:18:07 1868

原创 浏览器缓存机制(1)

浏览器缓存机制之一(经典缓存) 因为在接手的项目中用到过比较新的HTML5应用缓存,也用到了经典的缓存如设置max-age,Etag之类,而之前一直就是在用着没有去深究其中原理。周末天气不好,懒得出去了,正好找时间总结下。1.关于浏览器缓存记得去年看《HTTP权威指南》的时候,有一章是专门讲浏览器缓存的,一年时间过得太快,逝去的时光还真是如同人群中消失的好姑娘,眼看她嫁给别人。我这里把浏览器缓

2015-03-10 23:14:11 1618

原创 正则表达式基础

正则表达式基础正则表达式工作中会经常用到,只是很少去系统的总结其中的一些基础的东西,导致有时候容易疏忽,上次修复一个url跳转的漏洞就考虑的简单,写错了正则,所以还是写篇文章来系统总结一下。正则表达式所有的编程语言几乎都是支持的,用于处理字符串匹配。大概流程就是根据正则表达式模式字符串,然后根据模式去匹配文本。记得我很久之前还写过一篇写正则匹配算法的文章正则表达式简易实现,有兴趣的可以看看

2014-11-23 17:36:20 2188

原创 使用apxs安装apache模块

使用apxs安装apache模块                -——by石锅拌饭1.缘由前几天迁移系统,发现配置了fastcgi的一个脚本下载文件总是提示类似Connection reset by peer:FastCGI错误,后来发现应该是下载文件时间超过了fastcgi指定的idle-timeout导致的,默认这个时间是30秒,文件太大就容易超时。为了解决这个问题,于是把

2014-10-12 22:54:08 3802

原创 MySQL字符集编码

MySQL字符集编码总结之前内部博客上凯哥分享了一篇关于mysql字符集的文章,之前我对mysql字符集一块基本没有深究过,看到凯哥文章后有些地方有点疑惑,遂自己去看了mysql的官方文档,并参考了凯哥的文章,总结了这篇博文.本文主要是对mysql常见的字符集问题进行整理,如有错误,请大家指正.1.MySQL字符集编码简介谈到字符集,总会跟编码扯上关系,有关字符集和编码的理论知

2014-08-28 00:27:29 2611

原创 Mac升级yosemite后无法登陆问题

Mac升级yosemite后无法登陆问题今天心血来潮准备玩玩最新的苹果系统10.10,代号是yosemite。去官网申请了beta版的测试资格,然后在app store下载了一晚上得到了yosemite beta版本

2014-07-26 23:23:16 4337

原创 URL编码总结

URL编码总结          URL是Universal Resource Locator的简称,翻译过来那就是统一资源定位符,好吧,我们经常会俗称为网页地址。一个URL的格式通常是这样的:协议类型://服务器地址(必要时需加上端口号)/路径/文件名?参数,比如http://zh.wikipedia.org:80/w/index.php?title=Special,协议是HTTP,服务

2014-07-20 20:29:03 1901

原创 Python编码问题

Python编码问题详解继上一篇文章字符集和编码详解总结了常见字符编码后,这篇文章会对python中常见的编码问题进行分析和总结。由于python3.x版本和python2.x版本在字符编码方面有很大差异,所以本文都是以Python2.7.5来分析2.x版本中的字符编码问题。1.Python编码基础1.1 str和unicodepython中有两种数据模型来支持字符串这种数

2014-07-18 00:51:11 2385

原创 字符集和编码

字符集和编码今天被一个python编码问题折腾了半下午,编码问题一直是个让人比较纠结的问题,写这篇文章想简单的总结下python中一些常见的编码问题以及解决方案。这是第一篇,先总结下字符集和编码的一些基本概念和内容。在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说,其实字符集和编码是两个不同概念,只是有些地方有重合罢了。对于ASCII,MBCS等字符集,基本上一个字符集方案只采用一种编码方案,而对于Unicode,字符集和编码方案是明确区分的。

2014-07-15 00:03:49 1923

原创 Linux文件时间属性

Linux文件时间解析写这篇小文章的缘由是之前做过一个项目,需要定期将文件转走,也许专业点的名词叫rollover。那么这就需要判断一个文件是否到了转走的时间,从而就需要知道文件的创建时间。 Linux文件分为状态改动时间ctime,修改时间mtime以及访问时间atime,那么它们是怎么变化的呢?需要注意这个ctime可不是创建时间,是Change Time的缩写,修改时间那就是文件修改的时

2014-07-03 00:19:21 2179

原创 践踏堆栈-缓冲区溢出漏洞

践踏堆栈-缓冲区溢出漏洞打算写这篇文章是因为在网上看过一篇论文,讲了缓冲区溢出破坏堆栈来执行恶意程序的漏洞。该论文请见参考资料1。这篇文章会涉及一些汇编的基础知识,以及虚拟内存的一些基本概念等。当然用来调试程序的系统是linux,工具是gcc。很久没有看过汇编和C语言了,错漏之处,还请指正。1.概要文章标题有提到堆栈和缓冲区,那么就先来探讨下这几个名词的定义。这里的缓冲区,指的就是计算

2014-06-29 17:22:40 4123

转载 HTTPS那些事儿(二)-实例分析

本文由 伯乐在线 - 水果泡腾片 翻译自 JEFF MOSER。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。【感谢@水果泡腾片  的热心翻译。如果其他朋友也有不错的原创或译文,可以提交到伯乐在线。】另外提示:英文原文写于2009年,当时的Firefox和最新版的Firefox,界面也有很大改动。 花了数小时阅读了如潮的好评,Bob最终迫不及待为他购买的托斯卡纳

2014-06-14 15:38:38 2578

原创 HTTPS那些事儿(一)-HTTPS原理

HTTPS那些事儿(一)最近看了《http权威指南》的几个章节,对HTTPS有了部分了解,同时在网上查阅了一些资料,遂打算记录一下心得,写的仓促,肯定有很多错误的地方,欢迎大家指正。1.HTTP是什么那么在介绍https之前,有必要先解释下http。http是一个非常简单又非常复杂的协议,说其简单,是我们每天都在用它,而且又浑然不觉,貌似很简单的样子。但是真正能够把http完全了解清楚

2014-06-03 00:37:40 3419

原创 FastCgi原理初探

FastCgi工作原理1.前言在公司的实际项目中,目前web服务器用的都是apache+fastcgi或者nginx+uwsgi两种方式。后端采用python。fastcgi相比cgi性能有很明显的提升,所以该文主要是探讨一下fastcgi的工作原理,采用的web服务器是apache,在apache加载模块mod_fastcgi来实现fastcgi的功能。2.fastcgi原理

2014-05-25 16:31:07 4256

转载 mysql binlog日志自动清理及手动删除

说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000004mysql-bin.000005…有三种解决方法:1.关闭mysql主从,关闭binlog;2.开启mysql主从,设

2014-05-09 16:40:01 1497

原创 ssh那些事儿(2)-实战

在ssh那些事儿(一)中总结了一些ssh的基本原理,这一篇主要说明一下ssh的基本操作。1、公钥认证配置a)生成密钥。生成密钥命令如下:ssh-keygen -t rsa -f ./id_rsa -C "[email protected]" -b 2048其中参数-t指定密钥类型,默认是rsa,你也可以指定dsa类型。-f指定生成密钥的名称和存放路径,-C是注释,-b是指定密钥的位数,20

2014-03-09 21:07:28 1309

原创 ssh那些事儿(1)—基本原理

web开发系列-ssh那些事儿1工作了快一年了,大部分时间在熟悉业务,也断断续续的学习了些web相关内容,现在打算抽出点时间来整理下学习笔记,同时也对一些自己不够清楚的知识点做个梳理吧。这个系列我打算把web相关的东东尽可能的都总结一遍,当然还有很多地方自己也还不清楚,请大家指正。关于ssh的基本原理,阮一峰老师在他的博文中《SSH基本原理和应用》已经介绍的比较清楚了,为了完整性,我也写下

2014-02-23 19:27:58 2268

转载 read 系统调用剖析

read 系统调用剖析大部分程序员可能会有这样的疑问:当在程序中调用库函数 read 时,这个请求是经过哪些处理最终到达磁盘的呢,数据又是怎么被拷贝到用户缓存区的呢?本文介绍了从 read 系统调用发出到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用户态切到核心态的过程。核心空间处理部分则是 read 系统调用在 linux

2013-12-01 17:00:21 1291

空空如也

空空如也

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

TA关注的人

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