代码改变世界

随笔分类 -  开源研究

大话PHP缓存头

2014-07-22 10:50 by 轩脉刃, 2405 阅读, 收藏, 编辑
摘要: 304的请求机制和200有什么不一样呢?在fiddler中查看304请求的时候突然想到这个问题,就想到研究下这个304请求机制了。 我们自己在nginx上放一个文件,test.png。可以使用下面的地址进行访问: http://test.yejianfeng.com/test.png nginx配置文件如下: 这个的etag关闭是由于nginx默认是开启etag的,说明见ngx_... 阅读全文

vim黏贴自动增加tab的毛病

2014-07-09 16:39 by 轩脉刃, 2123 阅读, 收藏, 编辑
摘要: vim在ctrl + p的时候有可能会自动给你增加了个tab 很是郁闷 解决方法如下: :set noautoindent :set nosmartindent 阅读全文

每日晨读_20140705

2014-07-05 02:21 by 轩脉刃, 1220 阅读, 收藏, 编辑
摘要: #技术晨读# 分布式缓存的一起问题 数据一致性一直是分布式缓存最需要考虑的问题,文章的这起问题场景就是master缓存集群出现了单点故障,有什么方案能避免切换导致的数据一致性的问题。 http://timyang.net/data/cache-failure/ #技术晨读# 一次成功的漫游京东内部网络的过程 题目很唬人,实际就是一个开发把邮箱密码放到了github上,导致了后续的... 阅读全文

记录一个mysql连接慢的问题

2014-06-23 12:05 by 轩脉刃, 2142 阅读, 收藏, 编辑
摘要: 问题现象是这样的:我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问。但是遇到一个问题就是使用下面两个命令行访问的时候,速度差别非常大:mysql –h 127.0.0.1 –u usermysql –h 61.... 阅读全文

ffmpeg使用转码学习

2014-06-17 21:36 by 轩脉刃, 14673 阅读, 收藏, 编辑
摘要: ffmpeg在官网上描述自身:是一个对视频和音频进行记录,转换,流化的完整的跨平台解决方案。事实上,现在有很多工具都是基于ffmpeg来进行视频音频的处理工具的。比如鼎鼎大名的格式工厂,就是使用ffmpeg来作为内核的转码工具。理解一些音视频的编码知识。我们平时看的视频文件格式:mp4/rmvb/m... 阅读全文

技术晨读_20140421

2014-04-21 10:12 by 轩脉刃, 528 阅读, 收藏, 编辑
摘要: #技术晨读# phoneGap试用手记 phoneGap是个手机app的壳子,方便原来做web开发的同事快速切入移动端开发,可以快速生成ios和android的移动端app。 http://2014.54chen.com/blog/2014/03/19/how-to-use-phonegap/ #技术晨读# IO不再神秘 这是篇译文,关注的是IO模型,和IO的设计模式。筒子们,再... 阅读全文

rsync密码使用要注意的几个点

2014-04-18 11:17 by 轩脉刃, 808 阅读, 收藏, 编辑
摘要: 1 客户端和服务端的密码文件不一样 服务端的密码文件格式是: 用户名:密码 比如: yejianfeng:123456 客户端的密码文件格式是: 密码: 比如 123456 所以如果一个机器即有可能是rsync服务端,又有可能是rsync客户端,建议密码文件使用不同名字: yejianfeng.sec.server yejianfeng.sec.client 2... 阅读全文

chrome dev debug network 的timeline说明

2014-04-16 16:13 by 轩脉刃, 9281 阅读, 收藏, 编辑
摘要: 在使用chrome的时候F12的开发者工具中有个network,其中对每个请求有个timeline的说明,当鼠标放上去会有下面的显示:这里面的几个指标在说明在chrome使用文档有说明:下面我用人类的语言理解下:Proxy与代理服务器的连接时间。比如我使用了switch proxy搭建了一个gae,... 阅读全文

nginx日志分析利器GoAccess

2014-04-02 12:17 by 轩脉刃, 52620 阅读, 收藏, 编辑
摘要: 面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了。对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快。满足这三点的goaccess确实是居家必备良药。话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的。你也可以用它来分析apache,IIS的日志,甚至你自己写的web服务,当然前提是你需要定义好解析的日志格式。诚如见到一个美女, 阅读全文

技术晨报_2014/3/23

2014-03-23 22:18 by 轩脉刃, 670 阅读, 收藏, 编辑
摘要: #技术晨报# OPTIMIZING NGINX FOR HIGH TRAFFIC LOADS 这篇文章说了作者在使用nginx+php的过程中的一些高并发压力下的优化经验,文章读完之后很有思考性,这个地方我的项目设置了么,按照文章的设置会不会更好之类的... http://blog.martinfjordvald.com/2011/04/optimizing-nginx-for-high-t... 阅读全文

sphinx 配置文件全解析

2014-03-13 12:56 by 轩脉刃, 38558 阅读, 收藏, 编辑
摘要: sphinx的配置文件是在配置的时候最容易出错的了:# 我们先要明白几个概念:- source:数据源,数据是从什么地方来的。- index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。- searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。- indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。- attr:属性,属性是存在索引中的,它不进行全文索引,但是可以用于过滤和排序。sphinx的配置文件过于冗长,我们把sphinx默认的配置文件中的注释部分去掉,重新进行 阅读全文

Coreseek + Sphinx + Mysql + PHP构建中文检索引擎

2014-03-05 10:26 by 轩脉刃, 30266 阅读, 收藏, 编辑
摘要: 首先明确几个概念 Sphinx是开源的搜索引擎,它支持英文的全文检索。所以如果单独搭建Sphinx,你就已经可以使用全文索引了。但是往往我们要求的是中文索引,怎么做呢?国人提供了一个可供企业使用的,基于Sphinx的中文全文检索引擎。也就是说Coreseek实际上的内核还是Sphinx。那么他们的版本对应呢? Coreseek发布了3.2.14版本和4.1版本,其中的3.2.14版本是2... 阅读全文

技术晨读(二)

2014-02-10 10:06 by 轩脉刃, 796 阅读, 收藏, 编辑
摘要: #技术晨报# Javascript之Web通信 文章题目很大,说的是Web通信的知识,但是主要想说的还是客户端和服务端的消息推送的机制,消息推送机制不外乎推和拉... http://www.cnblogs.com/hustskyking/p/web-communication.html #技术晨报# 如何正确配置Nginx+PHP 本文说了几个配置nginx+php的坏味道,比如,t... 阅读全文

生产者消费者模型

2013-12-05 20:59 by 轩脉刃, 843 阅读, 收藏, 编辑
摘要: 生产者消费者问题 最基本的是生产者生产出数据,消费者来获取数据,但是生产者消费者模型必须保证的是: 1 同一时间只会有一个生产者或者一个消费者会进行生产/消费 2 生产者或者消费者会操作一个缓冲区,这个缓冲区有大小 3 如果缓冲区数据达到大小上限,生产者没办法往缓冲区生产数据 4 如果缓冲区数据达到大小下限(即缓冲区内没有数据),消费者没有办法从缓冲区中消费数据 基于上面这几个条件,一个... 阅读全文

sublime text3 安装package

2013-10-14 09:56 by 轩脉刃, 2422 阅读, 收藏, 编辑
摘要: 在sublime text2中安装package control插件的时候是执行python: import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; ... 阅读全文

SystemTap知识(一)

2013-08-28 09:05 by 轩脉刃, 3294 阅读, 收藏, 编辑
摘要: SystemTap是一个系统的跟踪探测工具。它能让用户来跟踪和研究计算机系统在底层的实现。 安装SystemTap需要为你的系统内核安装-devel,-debuginfo,-debuginfo-common包 使用下面的repo可以进行debuginfo的安装 [debuggery] name=CentOS-$releasever - DebugInfo baseurl=http://d... 阅读全文

redis主从遇到的两个坑

2013-08-26 19:04 by 轩脉刃, 9675 阅读, 收藏, 编辑
摘要: 最近在使用redis主从的时候做了下面两件事情: 1 希望redis主从从操作上分析,所有写操作都在master上写,所有读操作都在从上读。 2 由于redis的从是放在本地的,所以有的key的读写操作就直接放在从上操作了。 但是出现了下面的几个问题: 1 在主上setex的key即使过期后在从上也始终get的到。 重现: 主: setex abc 20 test 从: get a... 阅读全文

SystemTap了解

2013-08-20 15:07 by 轩脉刃, 983 阅读, 收藏, 编辑
摘要: SystemTrap是监控和跟踪运行中的Linux内核操作的动态方法。 http://www.ibm.com/developerworks/cn/linux/l-systemtap/ 使用SystemTrap需要使用trap来运行一个stp脚本 如何安装: Centos下直接yum install systemtrap就行了 测试是否可以运行 运行:stap -ve 'probe be... 阅读全文

HTTP缓存相关头

2013-08-08 00:21 by 轩脉刃, 10088 阅读, 收藏, 编辑
摘要: 本文说的是HTTP中控制客户端缓存的头有哪些。网上这方面的文章很多了,这里就说下个人的理解。 在请求一个静态文件的时候(图片,css,js)等,这些文件的特点是文件不经常变化,将这些不经常变化的文件存储起来,对客户端来说是一个优化用户浏览体验的方法。那么这个就是客户端缓存的意义了。 windows下客户端的缓存文件存放在临时文件夹中,但是这里有个问题就是这个缓存文件存放多久呢?这个是由服... 阅读全文