自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

转载 PHP相关系列 - 浅析http协议、cookies和session机制、浏览器缓存 .

作者: benwin来源:http://www.phpben.com/?post=77最近几天在复习http协议中headers,cookies、session、缓存等相关知识,发现些新知识点。这篇文章注重结合PHP去理解这些内容,也就是比较注重实践部分。一、            http headers          NO1:对于web应用,用户

2012-07-31 18:37:06 2941

转载 PHP相关系列 - Redis导数据的PHP脚本

<?php$from = '127.0.0.1:6200/6';$to = '127.0.0.1:6200/8';$from_redis = redis_init($from);$to_redis = redis_init($to);$keys = $from_redis->keys('*');$count = 0;$total = count($keys)

2012-07-27 10:01:31 1106

转载 PHP相关系列 - 我们什么时候应该使用异常?

来源:http://www.laruence.com/2012/02/02/2515.html先说个题外话: 在公司做了俩件事, 是我觉得很有意义的, 第一就是成立了一个PHP邮件组, 第二就是成立了一个Hi群. 目前俩者都有超过500 phpers在里面. 我一直认为, 构建一个交流平台, 让同学们能顺畅, 简单的沟通, 是营造积极的技术学习氛围的基础和前提. 让每个人的问题不会成为别人的问

2012-07-26 18:13:52 1234

原创 转载和积累系列 - Node学习 - 3. 模块

什么是模块nodejs的模块相当于js的文件。例如 var http = require("http") 是调用的nodejs的核心模块。一般的写好的js模块也是通过require来调用。一个简单的模块例子:module.js是模块JS文件。模块对外可访问的函数,一般用exports.xxxx,放在test/文件夹下var name;exports.se

2012-07-26 16:04:19 791

原创 PHP相关系列 - PHP细节拾遗

isset函数,当变量不存在或者数组键值不存在的时候,isset值为false,其它为true<?php/* 测试 isset 函数 *///变量存在情况$val = 'test';echo (isset($val)) ? 'true' : 'false'; //trueecho '';//变量为空$val = '';echo (isset($val)) ? 'true' :

2012-07-26 12:58:05 1096 3

转载 PHP相关系列 - 如何提高php代码的质量

1.- DRY: Don’t repeat yourself.DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。D

2012-07-26 10:46:14 1610

原创 转载和积累系列 - Linux Yum 相关

搜索磁盘阵列相关软件yum search raid查找某个软件的相关信息yum info mdadm列出服务器上所提供的软件名称yum list查看服务器上哪些软件可以更新yum list updates安装软件yum install gcc删除软件yum remove gccyum升级yum -y update

2012-07-25 19:16:03 855

原创 PHP相关系列 - 兼容JAVA的PHP加密解密DES算法

今天一直折腾和JAVA对接数据加密解密的问题。刚开始使用TEA的加密算法,但是JAVA那边和PHP端加密出来的结果不一样只能修改算法,将算法修改成了DES的加密算法但是PHP需要装一个mcrypt扩展,这点有点烦人看代码吧: /** * 加密 * @param string $str 字符串 * @param string $key 密钥 */ pu

2012-07-25 18:22:22 4184

原创 转载和积累系列 - Node学习 - 2. 异步式I/O操作

阻塞式I/O:程序在执行过程中,遇到比较耗时的操作,例如读取数据库、网络交互等,只有等这些操作执行完毕后,程序才继续往下执行,例如PHP就是典型的阻塞式I/O操作。 异步式I/O:针对所有I/O操作时,不采用阻塞的策略,会继续执行下面的程序语句。Node就是异步式的。 代码,执行文件读取操作,有同步IO和异步IO两种方法:var

2012-07-25 14:15:25 1981

原创 转载和积累系列 - Node学习 - 1. 创建简单的HTTP服务器

NodeJS下载:http://nodejs.org在windows下安装完毕之后,直接在cmd中直接运行node进入命令行模式       输出一行Hello World      创建一个简单的Node Http服务器,hello.jsvar http = require("http");var httpInfo = function (req, res

2012-07-25 13:48:11 983

原创 PHP相关系列 - PHP set_error_handler函数

set_error_handler函数:函数设置用户自定义的错误处理函数。该函数用于创建运行时期间的用户自己的错误处理方法。该函数会返回旧的错误处理程序,若失败,则返回 null。 语法:set_error_handler(error_function,error_types)参数:error_function : 必需。规定发生错误时运行的函数。error_typ

2012-07-24 17:33:29 1052

原创 PHP相关系列 - PHP异常详解

PHP的异常是什么?PHP 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 一般使用方法:<?phpfunction test() { throw new Exception("异常啦");}try { test();} catch (Exception $e) { ec

2012-07-24 14:27:18 1150

原创 PHP相关系列 - PHP缓存使用的一个陷阱

先看一段代码: /** * 获取设置信息 */ public function getCoinSetting() { $cache = Common::getTair(); $ckey = Common::hashKey("Hello"); $ret = $cache->get($ckey); if ($ret) return json_decod

2012-07-24 12:37:12 1151

原创 PHP相关系列 - Linux下安装Redis

获取源码包wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz 解压,安装tar zxvf redis-2.4.15.tar.gz cd redis-2.4.15 make && make install启动Redis,启动之前要将配置文件redis.conf中的daemonize改成yes,这样就可以

2012-07-23 19:31:59 1217

原创 服务器数据库系列 - 日志系列 - Nginx日志

Nginx日志可以分为两类:用户访问日志和Nginx错误日志。 Nginx的错误日志一般会记录PHP的运行错误的信息。error_log /usr/local/nginx.1.0.5/nginx_error.log crit; Nginx的访问日志:一般记录访问信息,包含来源IP等信息。 log_format Payaccess '$

2012-07-21 15:15:21 1202

转载 服务器数据库系列 - Web server调研分析

来源:http://stblog.baidu-tech.com/?p=755 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群。本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析。调研分析业界相关从业界使用情况来看,最新Web Server使用情况的数据如

2012-07-21 10:32:05 1313

原创 PHP设计模式系列 - 模板模式

模板模式模板设计模式创建了一个实施一组方法的抽象对象,子类通常将这个对象作为模板用于自己的设计。 设计场景一般会用于数据库抽象类。代码设计:<?phpif (!defined('IS_INITPHP')) exit('Access Denied!');/***********************************

2012-07-21 10:20:35 786

原创 国产InitPHP框架系列 - InitPHP3.2发布了,可能是一个不错的PHP框架哦..

InitPHP3.2版本主要修改如下:1. 修改数据库多库链接BUG2. 数据库参数配置做过变动,如果升级框架,需要修改数据库DB配置3. 修改全局变量注册BUG4. 修改COOKIE BUG5. 引进异常6. 多库使用方法:$this->init_db('xxx') 来切换不同的数据库7. 建议采用$this->init_db()的方法来调用数据库对象8. 注册默

2012-07-19 15:46:18 1501 1

原创 个人总结感想系列 - 2012上半年总结

一年一年其实过的挺快的。从08年开始学html,09年开始在卡塔科技写的php代码,10年进的阿云到现在,已经是第四个年头了,中间感触很多,感谢每一个曾经帮助过和鼓励过我的人。2012年上半年总结来说,两个字:变化。从pw变到无线,从迷茫中走来,慢慢走向自信。从以下几个方面总结过去的工作吧:工作上:协助开发红包6期和机票的开发工作。主要是在3月-5月之间,中间有过空的阶段,也有

2012-07-19 15:34:33 1586

原创 PHP相关系列 - 商品秒杀库存问题

库存问题一直是电子商务一个头疼的话题,我们开始做网上销售商品时也经常遇到库存为负,出现超卖的问题,相信很多人也遇到过,特别是秒杀活动中.防止这个问题首先要在mysql操作前拦掉一些并发,如用Beanstalkd之类的队列工具,这里只说下mysql层面怎么防止超卖.乐观锁#buy_num# : 购买数#id# : 商品idupdate table set quantity=quant

2012-07-19 15:00:49 4073 1

原创 PHP设计模式系列 - 策略模式

策略模式:策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法。 使用场景:例如有一个CD类,我们类存储了CD的信息。原先的时候,我们在CD类中直接调用getCD方法给出XML的结果随着业务扩展,需求方提出需要JSON数据格式输出这个时候我们引进了策略模式,可以让使用方根据需求自由选择是输出XML还是JSON代

2012-07-18 18:34:55 4590 2

转载 PHP相关系列 - 蚂蚁变大象:浅谈常规网站是如何从小变大的

来源:http://stblog.baidu-tech.com/?p=16432005年,我开始和朋友们开始拉活儿做网站,当时第一个网站是在linux上用jsp搭建的,到后来逐步的引入了多种框架,如webwork、hibernate等。在到后来,进入公司,开始用c/c++,做分布式计算和存储。(到那时才解开了我的一个疑惑:C语言除了用来写HelloWorld,还能干嘛?^_^)。总而言之,

2012-07-18 18:13:19 5493

原创 PHP设计模式系列 - 单例

单例模式通过提供自身共享实例的访问,单例设计模式用于限制特定对象只能被创建一次。 使用场景例如数据库实例,一般都会走单例模式。单例模式可以减少类的实例化代码:来源InitPHP框架,先检测类有没被实例化,实例化了就使用已经存放在静态变量中的对象实例,没有则实例化并将对象保存起来。 /** * 框架核心加载-框架的所有类都需要通过该函

2012-07-17 16:05:38 4240

转载 服务器数据库系列 - Memcache的使用和协议分析详解

作者:heiyeluren博客:http://blog.csdn.net/heiyeshuwu时间:2006-11-12关键字:PHP Memcache Linux 缓存Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。(关于Memcache的更多信息请Googl

2012-07-11 19:19:58 1894

转载 PHP相关系列 - PHP你需要知道的一些事情!图

2012-07-10 18:18:16 793

转载 服务器数据库系列 - MySQL事务隔离级别详解

作者:xm_king来源:http://xm-king.javaeye.com/blog/770721SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容)        在该隔离级别,所有事务都可以看到其他未提交

2012-07-05 11:42:35 1171

转载 服务器数据库系列 - Redis几个认识误区

前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理论,

2012-07-05 11:22:06 897

转载 服务器数据库系列 - 关于NoSQL的思考:为什么我们要优化存储的写性能 .

NoSQL的许多产品中,我们通过benchmark可以看到的都是写性能极度提升,而读性能并没有太大的涨幅甚至相对传统RDBMS还有下降。比如Cassandra,MongoDB这两个NoSQL的杰出代表。究其原因,我们可能会想到是因为当前UGC模式已经发展到白热化,用户产生内容导致读写比已经接近或者说小于1:1。 但是我认为这绝不是个中真实原因。1. 缓存导致存储的raw read效率不

2012-07-05 10:36:50 982

原创 转载和积累系列 - C语言学习笔记 - 动态分配内存

所谓动态内存分配就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不象数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。从以上动、静态内存分配比较可以知道动态内存分配相对于景泰内存分配的特点:  1、不需要预先分配存储空间;  2、分配的空间可以根据程序的需要扩大或缩小。 malloc

2012-07-02 17:56:58 805

原创 PHP相关系列 - 获取文件大小的方法

直接获取的方法:将文件使用file_get_contents取回后,strlen或者存为文件后使用filesize使用get_header$a_array = get_headers($url, true);$size = $a_array['Content-Length'];Echo $size;            3.使用fsockopen,然后正则匹配出文件大小

2012-07-02 14:48:39 1363

原创 服务器数据库系列 - Nginx 负载均衡配置

http{ upstream www.test2.com { server 10.1.165.36:80 weight = 3; server 10.249.198.235; server 10.1.168.1 down; server 10.1.168.2 backup; #ip_

2012-07-02 14:32:31 1132

原创 PHP设计模式系列 - 观察者模式

观察者模式观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性。观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码耦合。场景设计设计一个订单类订单创建完成后,会做各种动作,比如发送EMAIL,或者改变订单状态等等。原始的方法,是将这些操作都写在create函数

2012-07-02 11:43:59 5120 3

空空如也

空空如也

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

TA关注的人

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