PHP命名空间namespace学习

说明

命名空间是php5.3.0版本引入的.主要是解决名称冲突的问题.C++和C#也称为namespace,Java称为package,虽然名字不一样,但是意义是一样的.

这块在查看php手册时,感觉解释的比较清楚.

什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到 /home/greg/foo.txt。这个原理应用到程序设计领域就是命名空间的概念。

继续阅读

突然想搞一个Chrome插件玩玩.

google了一堆的资料,写了一个简单的生成当前访问页面url二维码的插件.

  1. 创建manifest文件

首先创建一个manifest文件manifest.json. JSON格式的元数据文件,包含一些名称,描述,版本号等信息.

Chrome 会加载这个文件对拓展功能的描述,和它需要什么权限去做什么事情,需要学习更多有关 manifest 文件的资料,请阅读 Manifest File Format documentation

继续阅读

基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏览器、Javascript、AJAX、JSON以及HTML5等技术和工具的发展,互联网应用架构设计表现出了从传统的PHP、JSP、ASP.NET等服务器端动态网页向Web API + RIA(富互联网应用)过渡的趋势。Web API专注于提供业务服务,RIA专注于用户界面和交互设计,从此两个领域的分工更加明晰。在这种趋势下,Web API设计将成为服务器端程序员的必修课。然而,正如简单的Java语言并不意味着高质量的Java程序,简单的HTTP协议也不意味着高质量的Web API。要想设计出高质量的Web API,还需要深入理解分布式系统及HTTP协议的特性。

继续阅读

Nginx 会在 http 头,或者出现错误页的时候会有醒目的版本号提示。

为了安全,可以关闭这些信息。

方法很简单,只需在 nginx.conf 的 http {  里头加入 server_tokens 的参数

例如:

http {
include      mime.types;
default_type  application/octet-stream;
server_tokens off;    #关闭版本显示
client_header_timeout      3m;
client_body_timeout        3m;
send_timeout                3m;

继续阅读

幼年产品狗如何养成?这是完全自我修炼教程!

你看,产品经理常有,而大师产品经理不常有。

编辑曾亲眼目睹某公司产品狗和策划汪之间一场狗血淋漓的对话。他们的结论是:

设计狮会PS、会AI,程序员会各种Coding,这些工具就是门槛,随时会斜眼睥睨丢一句“U CAN U UP”;而产品狗、策划汪们通常只需要摆弄Axure、Sketup什么的,甚至靠纸笔都能干,于是沦为了人人都觉得自己能指手画脚一番的底层职业。

那场对话还穿插了两人互掐的花絮,就“写不了代码就去做策划,策划都做不好只能做PM”这一命题是否成立反复撕逼。但结果,还是以产品狗和策划汪相拥而泣告终。

继续阅读

OSI七层模型详解

OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。

完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。

继续阅读