MySQL Index学习

学习自《高性能MySQL 第三版》和网络资源

索引是存储引擎用于快速找到记录的一种数据结构。

在MySQL中,索引是在存储引擎层而不是服务器层实现的。因此,不同存储引擎的索引的工作方式不一样,所支持的索引类型也不同。

mysql architecture


Read more...

2014-03-16 MySQL索引

进程调度算法

非抢占方式


批处理系统:

先来先服务(FCFS)

基于时间片的轮转调度算法

将就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片(从几ms到几百ms)。当执行时间片用完时,由一个计数器发出时钟中断请求,调度进程便根据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。


Read more...

2014-03-12 进程

推荐系统学习

参考自网上许多资料,维基百科,IBM Developer三篇文章,《WEB智能算法》

基础数学知识


  • 加权平均数\overline{x} = \frac{\sum_{i=1}^{n}w_ix_i}{\sum_{i=1}^{n}w_i}
  • 方差:在概率论和统计学中,一个随机变量的方差描述的是它的离散程度,也就是该变量离其期望值的距离。s^2 = \sum_{i=1}^{n}p_i \cdot (x_i-\bar{x})
  • 标准差:又常称均方差,反映组内个体间的离散程度。s = \sqrt{\sum_{i=1}^{n}p_i \cdot (x_i-\bar{x})}

数据归一化



Read more...

2014-03-05 WEB智能算法

高性能网站架构基础知识

学习自《构建高性能Web站点》,这里记录一些资源,以备需要时查询

缓存


1、客户端缓存:JS/CSS/图片/静态页面,通过控制http响应头部实现

相关知识:Apache mod_headersmod_expires

2、反向代理缓存

3、动态内容缓存


Read more...

2014-02-27 网站架构

关系数据库理论基础知识重点备忘

关系的三类完整性约束


  • 实体完整性

若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。

  • 参照完整性

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(或者说F引用了K),则对于R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。

  • 用户定义的完整性

针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。


Read more...


PHP扩展结构

必要的文件

  1. extname.c
  2. php_extname.h
  3. config.m4
  4. config.w32

php_extname.h

  1. 一些必要的宏定义
  2. 函数声明,注意自己写的提供给脚本使用的函数也应该在这里进行声明
  3. 全局变量定义

Read more...

2014-02-19 PHP扩展

PHP Ext API

关于本函数列表


为了帮助php开发者更方便的开发扩展,这里整理了一份ZEND API的函数列表,由于本人能力有限,这些并不是全部,我打算在git上开个项目,来撰写这些API的使用范例,如果你对这个项目感兴趣,并想贡献一份力量,请发email给我yangrokety@gmail.com

已在git上立项:PHP ZEND API

输出相关 About Output


  1. php_printf(format, var)
  2. PHPWRITE(string, strlen(string))
  3. spprintf(char **, max, format, var...):使用该函数前必须先分配好第一个参数的内存空间
  4. snprintf(char *, length, format, var...):会动态地为第一个参数分配内存

上述3、4函数详细讨论:Difference between sprintf, snprintf and spprintf


Read more...

2014-02-19 PHP扩展