自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注、专心

Cnblogs: http://www.cnblogs.com/ohmygirl/

原创 一次冗长繁琐的排错经历

一次冗长繁琐的排错经历 白白忙活了一个下午+半个早饭的时间。感慨一下, 解决问题的思路很重要啊,否者就会像无头苍蝇一样,到处乱撞。 因项目关系,需要在测试环境中开启https,悲剧的是,在经过了机器迁移之后,之前可用的https连接失败了:   而Nginx中也只有寥寥几行的错误日志: ...

2015-07-24 18:45:27 3947 0

原创 PHP内核探索之变量(7)- 不平凡的字符串

切,一个字符串有什么好研究的。 别这么说,看过《平凡的世界》么,平凡的字符串也可以有不平凡的故事。试看: (1)       在C语言中,strlen计算字符串的时间复杂度是?PHP中呢? (2)       在PHP中,怎样处理多字节字符串?PHP对unicode的支持如何? 同样是字符...

2015-03-30 17:15:54 3785 1

原创 PHP内核探索之变量(6)- 后续内核探索系列大纲备忘

年前因为工作比较饱和,现在又忙着换工作的事情,基本停止了对博文的更新。后续的博文,还是慢慢补上吧。 为了不至于过于发散,先搞个未成形的大纲,如下:   PHP内核探索之变量  不平凡的字符串  PHP内核探索之变量  变量的生命周期、类型转换  PHP内核探索之变量  变量的循环(fore...

2015-03-16 17:41:37 1623 0

原创 PHP内核探索之变量(5)- session的基本原理

这次说说session.   session可以说是当前互联网提到的最多的名词之一了。它的含义很宽泛,可以指任何一次完整的事务交互(会话):如发送一次HTTP请求并接受响应,执行一条SQL语句都可以看做一次Session。如无特殊说明,本文中提到的Session单指HTTP会话。 本文是PHP...

2015-01-26 15:13:37 7186 1

原创 PHP内核探索之变量(4)- 数组操作

上一节(PHP内核探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列-数组操作的相关函数做进一步的跟踪。 本文主要内容: PHP中提供的数组操作函数数组操作函数的实现结语参考文献 一、PH...

2014-12-25 14:33:07 4589 0

原创 PHP内核探索之变量(3)- hash table

在PHP中,除了zval, 另一个比较重要的数据结构非hash table莫属,例如我们最常见的数组,在底层便是hash table。除了数组,在线程安全(TSRM)、GC、资源管理、Global变量、ini配置管理中,几乎都有Hash table的踪迹(上一次我们也提到,符号表也是使用Hash ...

2014-12-18 21:32:03 3410 6

原创 PHP内核探索之变量(2)-理解引用

本文主要内容: 引论符号表与zval引用原理回到最初的问题 一、引论   很久之前写了一篇关于引用的文章,当时写的寥寥草草,很多原理都没有说清楚。最近在翻阅Derick Rethans(home: http://derickrethans.nl/ Github: https://gi...

2014-11-28 17:47:26 4080 1

原创 PHP内核探索之变量(1)变量的容器-Zval

作为数据的容器,我们常常需要跟变量打交道,不管这个变量是数字、数组、字符串、对象还是其他,因而可以说变量是构成语言的不可或缺的基础。本文是PHP内核探索之变量的第一篇,主要介绍zval的基本知识,包括如下几个方面的内容: Zval的基本结构查看zval的方法:debug_zval_dump和xd...

2014-11-27 10:21:00 9928 1

原创 CI框架源码阅读笔记9 CI的自动加载机制autoload

本篇并不是对某一组件的详细源码分析,而只是简单的跟踪了下CI的autoload的基本流程。因此,可以看做是Loader组件的分析前提。 CI框架中,允许你配置autoload数组,这样,在你的应用程序初始化时,会自动加载相应的类库,例如,在application/config/autoload....

2014-11-23 14:38:50 15821 2

原创 CI框架源码阅读笔记8 控制器Controller.php

最近时间有些紧,源码阅读系列更新有些慢。鉴于Controller中代码比较少,本次Blog先更新该文件的源码分析。   在经过路由分发之后,实际的应用Controller接管用户的所有请求,并负责与用户数据的交互。CI中所有的应用控制器都应该是CI_Controller的子类(除非你扩展了CI的核...

2014-11-19 21:20:29 6550 2

原创 CI框架源码阅读笔记7 配置管理组件 Config.php

原文见这里:http://www.cnblogs.com/ohmygirl/p/CIRead-7.html 一个灵活可控的应用程序中,必然会存在大量的可控参数(我们称为配置),例如在CI的主配置文件中(这里指Application/Config/Config.php文件),有如下多项配置:...

2014-11-12 12:00:44 7331 0

原创 CI框架源码阅读笔记6 扩展钩子 Hook.php

CI框架允许你在不修改系统核心代码的基础上添加或者更改系统的核心功能(如重写缓存、输出等)。例如,在系统开启hook的条件下(config.php中$config['enable_hooks'] = TRUE;),通过添加特定的钩子,可以让系统在特定的时刻触发特定的脚本: $...

2014-11-09 14:33:07 8056 1

原创 CI框架源码阅读笔记5 基准测试 BenchMark.php

上一篇博客(CI框架源码阅读笔记4 引导文件CodeIgniter.php)中,我们已经看到:CI中核心流程的核心功能都是由不同的组件来完成的。这些组件类似于一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成了CI的核心骨架。     从本篇开始,将进一步去分析各组件...

2014-11-07 00:21:24 3900 0

原创 CI框架源码阅读笔记4 引导文件CodeIgniter.php

到了这里,终于进入CI框架的核心了。既然是“引导”文件,那么就是对用户的请求、参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位。例如,用户的请求url: http://you.host.com/usr/reg   经过引导文件,实际上会交给Application中的U...

2014-11-04 17:59:11 6179 1

原创 CI框架源码阅读笔记3 全局函数Common.php

从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现、结构和设计。   Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作)。   打开Common.php中,第...

2014-10-30 22:47:09 7744 3

原创 CI框架源码阅读笔记2 一切的入口 index.php

上一节(CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程)中,我们提到了CI框架的基本流程,这里这次贴出流程图,以备参考:   作为CI框架的入口文件,源码阅读,自然由此开始。在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现。 1.       设置应用程序环境 ...

2014-10-26 20:46:22 5321 0

原创 CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动。最近项目少,总算是有了一些时间去写一些东西。于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛! 基本术语说明   在本文开始之前,有必要对文...

2014-10-25 23:26:36 5327 0

原创 Bash中的job管理

本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写这样一个东西。但想了下,还是记录一下吧,也许有人会用到呢。   不知你是否碰到过这样的情况,当你兴致勃勃的打开VIM,写代码写到正酣时,运营MM或者产品MM气喘吁吁的跑过来:“赶紧帮我跑一下xx的数据,一会做...

2014-10-23 23:18:39 3918 0

原创 /dev/random和/dev/urandom的一点备忘

1.  基本介绍     /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流。   这两个设备的差异在于:/dev/ran...

2014-10-22 22:36:39 35233 0

原创 从单词统计问题看面试

本文的许多内容来自网络,如有错误,欢迎指出。 问题描述  首先这里对单词的界定是:以空白分割的字符序列。单词统计的问题可以描述为:在一篇正常格式的英文文档中(作为面试,这里并没有提及中文分词和单词统计的问题),统计每个单词出现的次数,要求统计出现次数最多的N个单词和相应的出现次数。问题简单明了...

2014-10-11 18:38:12 3629 0

原创 一次Debug过程的思考

前一段时间,部门接入了新业务,由于业务量小,架构非常简单,采用了最简单的LNMP架构,整个项目是交给一个刚毕业的RD负责的,这是背景。     上线前半天,服务平稳运行。下午的时候,开始收到大量报警:No host could be connected in the cluster。第一反应:m...

2016-08-02 10:35:59 1544 0

原创 【高性能MySQL】读书摘录5-第6章、查询性能优化

第6章、查询性能优化 1、慢查询基础:优化数据访问 查询性能低下的最基本的原因是访问的数据太多,对于低效的查询,可以从下面两个步骤来分析: (1)、确认应用程序是否在检索大量超过需要的行,这通常意味着访问了太多的行,但有时候也有可能访问了太多的列。 (2)、确认MySQL服务器层是否在分析大量超过...

2015-04-26 16:28:03 1916 0

原创 【高性能MySQL】读书摘录4-第五章、创建高性能的索引

第五章、创建高性能的索引 1、简介          索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。在数据量小且负载较低时,不恰当的索引对性能的影响可能还不明显,但是当数据量逐渐增大时,性能会急剧下降。索引可以包含一个或者多个列的值。如果索引包含了多个列...

2015-04-19 10:37:26 1314 0

原创 【高性能MySQL】读书摘录3-第四章、Schema与数据类型优化

第四章、Schema与数据类型优化 1、选择优化的数据类型:          (1)一般情况下,应该尽量选择使用可以正确存储数据的最小数据类型。          (2)尽量简单:应该用MySQL内建的类型(datetime,time等)而不是字符串来存储时间和日期;应该用整形存储IP地址...

2015-04-11 20:23:24 951 0

原创 【高性能MySQL】读书摘录2-第三章、服务器性能剖析

第3章、服务器性能剖析 1、本书所说的性能主要是指“完成某个任务所需要的时间度量”,而相应的优化则是指降低查询执行的时间,从而提升单位时间的查询量。 2、性能剖析一般分为两个步骤,测量任务花费的时间,然后对结果进行统计的排序,将重要的任务排在前边。两种类型的性能剖析:基于执行时间的性能剖析和基...

2015-04-11 16:27:56 1158 0

原创 【JavaScript高级程序设计】读书摘录4-第七章 匿名函数

第七章、匿名函数           本章中比较重要的几个概念:闭包、匿名函数,作用域链,this对象等。在js中碰到的很多坑都来自本章。另外,在很多类库中如jQuery中都会大量使用闭包和匿名函数,它们都是非常有用的特性。 1、函数定义和函数表达式的区别:对于函数定义,在代码执行以前会被加载到...

2015-04-10 23:52:28 847 0

原创 【高性能MySQL】读书摘录1 - MySQL架构与历史

第一章、Mysql架构与历史 1、  Mysql服务器逻辑架构图: 最上层的结构不是Mysql独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的结构,比如连接处理、授权认证、安全等。 第二层是Mysql中比较核心的部分。大多数的Mysql核心功能都在这一层。包括查询解...

2015-04-09 17:37:46 1740 0

原创 【javascript高级程序设计】读书摘录3 第六章、面向对象

第六章、面向对象的程序设计     这一章应该是Javascript中最抽象的一章,其中原型、原型链、构造函数等多次出现,几乎贯穿了整个章节。而对于创建对象和继承,也都是基于原型和构造函数而来的。因此这一部分的内容需要细细琢磨。尤其是对于原型、原型链,应该多画图,加深理解。 1、面向对象的...

2015-04-08 23:45:32 1926 1

原创 【javascript高级程序设计】读书摘录2 第五章、引用类型

第五章、引用类型 1、创建Object的发放时有两种,第一种是使用new操作符: varperson = new Object(); 第二种是使用对象字面量表示法:var person = {name : ‘test’}; (注意最后一个属性后面不要加逗号,否则在某些浏览器中可能会出现错误),在使...

2015-04-06 20:51:10 982 3

原创 【javascript高级程序设计】读书摘录1 JavaScript简介

一直在做服务器端的开发,却迫不得已要做一些前端页面的开发。努力恶补js中,顺便熟悉下node.js。 目标:前后端兼修。么么哒。 第一章、Javascript简介 1.      ECMAScript与javascript的关系 2.      DOM级别 DOM0实际上是不存在的标准,指IE...

2015-04-05 23:17:48 993 0

原创 【深入浅出node.js】读书摘录3 - 异步I/O

第三章、异步I/O 1.      使用异步I/O的原因:改善用户体验、优化资源分配。Node利用单线程,避免了多线程死锁、状态同步等问题;利用异步I/O,让单线程远离阻塞,以更好的使用CPU。 2、为了弥补单线程无法利用多核CPU的缺点,Node提供了childprocess(类似于HTML...

2015-04-05 11:14:25 1124 0

原创 【深入浅出node.js】读书摘录2 - node.js模块机制

第二章、模块机制 1.      CommonJs规范的目的是希望JavaScript能够在任何地方运行 2.      一直以来,JavaScript存在的缺陷有:          (1)、没有模块系统          (2)、标准库较少          (3)、没有标准接口 ...

2015-04-05 10:44:20 1043 0

原创 【深入浅出node.js】读书摘录1 - node.js简介

第一章          Node简介 1.      Node初衷是基于V8创建一个轻量级的Web服务器,基于javascript。随着项目的发展,Node发展成为构建一个网络应用的基础框架。 2.      设计高性能Web服务器的要点:事件驱动、非阻塞I/O、异步 3.      考虑...

2015-04-05 10:43:33 1200 0

原创 《构建高性能web站点》读书随笔目录

《构建高性能web站点》读书笔记1         减少网页中的HTTP请求数 《构建高性能web站点》读书笔记2         服务器的并发处理能力,ab测试等 《构建高性能web站点》读书笔记3         持久连接keep-alive 《构建高性能web站点》读书笔记4        ...

2015-03-27 17:17:52 1641 0

原创 【读书】2015读书List

时刻提醒自己,不进步意味着倒退。 2015年准备读完的技术书籍: 1. 《Redis设计与实现》 2. 《高可用MySQL:构建健壮的数据中心》 3. 《高性能Mysql》 4. 《深入浅出Node.js》 5. 《算法 第4版 Algorithms Fourth Edition》 6....

2015-03-27 17:08:51 1444 0

原创 【技术晨读】4- 关于Redis的常识

今天的博文阅读只有一篇《关于Redis的常识》, 文中给了不少有价值的参考资料。 有一本书《Redis设计与实现》, 从底层数据结构和设计的角度去看Redis。准备有时间去翻看一下。 在线阅读版本:  http://redisbook.com/ 这本书的下边,给出了不少的资源。摘抄如下: R...

2015-03-10 09:50:37 1882 0

原创 【技术晨读】3-js相关博文

1.   为脚本语言平反- javascript篇(jser看了应该会比较欣慰)     共三篇:       (1) http://blog.csdn.net/aimingoo/article/details/4532394       (2) http://blog.csdn.net...

2015-03-09 10:16:09 1324 0

原创 【技术晨读】2- MYSQL相关博文

1.  Mysql Explain 详解         http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html        对着手册那部分看,相信会对explain , 索引有一个更深刻的认识       注意:...

2015-03-06 10:26:46 1332 0

原创 【技术晨读】 1-Linux进程间通信

技术晨读-3月5日足迹

2015-03-05 10:45:07 1346 0

原创 《高可用MySQL》2 – 单机版MySQL主从配置

这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置master服务器配置slave服务器将slave连接到master 在配置完成之后,我们会做一个...

2014-10-18 00:45:52 5302 1

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