自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

缘起宇轩阁

华华的技术专栏

  • 博客(290)
  • 收藏
  • 关注

转载 经典C++库

1、系统和网络编程库:ACE       除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的 C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是一个实用的程序库、框架集,还是一个典

2011-02-15 14:29:00 1168

转载 C++库大全

基础类 1、 Dinkumware C++ Library 参考站点:http://www.dinkumware.com P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。 2、 RogueWave Standard C++ Library 参考站点:http://w

2011-02-15 14:28:00 709

原创 常见资源网站和技术论坛

名称:IBM 地址:http://www.ibm.com/developerworks/cn/linux 描述:IBM技术文章 名称:微软 KnowledgeBase 地址:http://support.microsoft.com      http://msdn.microsoft.com 描述:微软知识库,开发的时候遇到的怪问题,可能会在这里找到答案。 名称:SourceForge 地址:http://www.sourceforge.net

2011-01-30 15:15:00 1621

转载 Javascript继承机制的设计思想

参考:http://blog.vjeux.com/2011/javascript/how-prototypal-inheritance-really-works.htmlhttp://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javascript.html我一直很难理解

2012-02-27 18:37:02 991

转载 javascript对象的property和prototype是这样一种关系

转自:http://ivanl.iteye.com/blog/53537ECMAScript可以识别两种类型的对象,一种叫做Native Object属于语言范畴;一种叫做Host Object,由运行环境提供例如document对象,Dom Node等Native objects是一种松散的结构并且可以动态的增加属性(property),所有的属性都有一个名字和一个值,这个值可以

2012-02-27 18:30:14 1085

原创 redhat and centOS下配置php-json扩展

PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。PECL (PHP Extension Community Library),PHP的扩展库

2012-01-05 10:11:50 3123 1

转载 深入浅出REST

转自:http://www.infoq.com/cn/articles/rest-introduction不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP、WSDL和WS-*规范的Web Services领域,但也有少数人用细小但洪亮的声音主张说更好的方式是REST,表述性状态转移(REpresen

2011-12-31 16:26:22 899

转载 使用PHP创建一个REST API(Create a REST API with PHP)

译者前言:首先这是一篇国外的英文文章,非常系统、详尽的介绍了如何使用PHP创建REST API,国内这方面的资料非常非常的有限,而且基本没有可操作性。这篇文章写的非常好,只要对PHP稍有了解的程序员,看完本文基本可以自己动手写 RESTAPI,花了几个小时翻译过来和大家共享,希望可以帮助大家。转载请注明出处。本文地址:http://hmw.iteye.com/blog/119082

2011-12-31 16:21:05 7386

转载 Web 服务编程,REST 与 SOAP

http://www.ibm.com/developerworks/cn/webservices/0907_rest_soap/REST 简介在开始我们的正式讨论之前,让我们简单看一下 REST 的定义。REST(Representational State Transfer)是 Roy Fielding 提出的一个描述互联系统架构风格的名词。为什么称为 REST?Web 本质上由

2011-12-29 15:51:46 875

转载 使用SQLite的命令行工具访问数据库文件

SQLite3的Shell(1) sqlite3.exe是SQLite访问数据库的一个工具,使用命令行的形式。Shell的命令分为两种,第一是Shell本身的命令,以点开头。第二是用来管理当前数据库的SQL命令,以分号结束。其中Shell本身的命令分以下几种:控制数据的显示模式;设置Shell读取和显示数据的方式;其他系统控制命令常用的显示模式控制命令:.header ON|O

2011-12-08 18:22:59 941

原创 C++二级指针与引用

先来看一段代码,功能是实现IP的统计,如果一个IP出现三次就触发相应的处理,但是每个Ip统计始终为1,具体如下,EdgeMonitor.h#include #include #include #include #include using namespace std;#define EDGE_DEBUG#ifdef EDGE_DEBUG#define DBG_LOG

2011-11-15 13:51:31 1345

原创 php调用C函数时如何使用zend_parse_parameters

一 zend_parse_parameters原型int zend_parse_parameters ( int num_args TSRMLS_DC, char* type_spec, ... );第一个参数是传递给函数的参数个数,通常的做法是传给它ZEND_NUM_ARGS()。这是一个表示传递给函数参数总个数的宏。第二个参数是为了线程安全,总是传递TSRMLS_CC宏。第三个

2011-11-09 14:38:54 3064

原创 php调用c语言编写的so动态库

PHP除了使用扩展库的方式调用c函数,还可以通过socket通信的方式。这里介绍前者。 第一步: 环境搭建1. 先看本机是否已经安装了较低版本的php   #find /usr -name "php"   或者rpm -aq | grep php   如果存在,就使用rpm命令等方式卸掉2. php源码安装,configure的参数如下#./configure  --p

2011-11-08 18:49:08 16716 5

原创 PHP 调用系统外部命令 system() exec() passthru() 和 popen()

一 用PHP提供的专门函数,简单执行命令原型:string system (string command [, int return_var]);string exec(string command [, array $output [, int $return_var]]);void passthru (string command [, int return_var]);不

2011-11-07 16:57:25 3463

转载 rdiff工具使用方法

工具介绍http://librsync.sourcefrog.net/doc/rdiff.html通过rsync算法复制文件。signature    rdiff [OPTIONS] signature INPUT SIGNATURErdiff signature generates a signature file from an input file. The sign

2011-10-28 14:41:22 1278

原创 第Ⅰ部分 敏捷开发 第六章 一次编程实践

设计和编程都是人的活动,忘记这一点将失去一切。——Bjarme StrousStup本章是一次结对编程(pair programming),编写保龄球比赛记分软件的例子。在这个过程中代码、逻辑、设计、需求都出现过错误,但最后出现了次序。★6.1保龄球比赛 66页对谈话和代码的总结:1.确定验证测试用例。2.画出UML类图。3.精简合并类图。4.先用最简单的设计,

2011-10-23 17:48:29 824

原创 第Ⅰ部分 敏捷开发 第5章 重构

大千世界中,唯一缺乏的就是人的注意力。————凯文凯利阐述人们应该关注手边的工作,并说明使事务能够工作和事务正确之间的区别。重构的定义:在不改变代码行为的情况下对代码进行修改,以改进代码行为的过程。为什么要违反谚语“没有坏就不要修理她”软件模块职责:1。完成功能。2.易修改、易维护。3.易读。要做到易修改和易读,需要原则和模式,还有你的注意力、纪律约束和创造美的激情。★

2011-10-23 17:47:10 859

原创 第Ⅰ部分 敏捷开发 第4章 测试

烈火验真金,逆境磨意志——卢修斯?塞尼加编写单元测试是一种验证行为,更是设计行为,更是编写文档行为。避免了反馈循环。★4.1测试驱动的开发方法设计程序先编写测试方案,单元测试是检验程序功能的唯一标准,不多加一个功能、不增加一行代码。包罗万象的单元测试的好处:1.每项功能都有测试来验证其正确性。2.迫使我们从调用者的角度思考。3.迫使我们把程序编写为可测试的,易于调用的,和周边环境解

2011-10-23 17:45:53 701

原创 第Ⅰ部分 敏捷开发 第3章 计划

当你能够度量你所说的,并且能够用数字去表达它时,就表示你理解了它;若你不能度量它,不能用数字表达它,那么说明你的知识是匮乏的、不能令人满意的——凯尔文勋爵(英国物理学家)★SLS:看来“可度量”并不仅仅是软件工程重视的要素。所有科学的一个基本要求之一就是可度量。下面的内容是对极限编程中计划游戏的内容的描述。其他敏捷方法都没有XP描述如何做计划详细。★3.1初始探索项目开始会尽力

2011-10-23 17:44:11 646

原创 第Ⅰ部分 敏捷开发 第2章 极限编程概述

作为开发人员,我们应该记住,XP并非唯一选择。——Pete MaBreen★2.1极限编程实践极限编程(eXtreme Programming)是敏捷方法中著名的一个。由一系列相互依赖的实践组成。★2.1.1客户作为团队成员XP中客户的定义:定义产品特性并排列这些特性优先级的人或团体。可能是统一家公司的业务分析师和市场专家,或者用户团体代表,或者支付开发费用的人。客户与开发

2011-10-23 17:42:38 805

原创 第Ⅰ部分 敏捷开发 第一章 敏捷实践

人与人之间的交互是复杂的,并且其效果都是难以预料的,但确实工作中最为重要的方面。——《人件》第五页原则(principle)、模式(pattern)、实践(practice)都是重要的,但使其发挥作用的是人。“过程和方法对于项目的结果只有次要影响,首要影响是人”——Alistair Cockburm。如果把程序员团队看作是由过程驱动的组件所组成的系统,那么就无法对其进行管理。人不是“插

2011-10-23 17:38:34 769

原创 敏捷宣言和原则

1敏捷软件宣言我们正在通过亲身实践和帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:1)  个体和交互 胜过 过程和工具。2)  可以工作的软件 胜过 面面俱到的文档。3)  客户合作 胜过 合同谈判。4)  响应变化 胜过 遵循计划。虽然右项具有价值,但我们认为左项更具有价值。 2敏捷宣言遵循的原则1)  我们最优先做到的是通过尽早的努力、持续交

2011-10-19 18:37:41 1050

转载 架构师之路(2)---详解面向过程 王泽宾

面向过程的编程(OPP)就是将用户需求进行“功能分解”。把用户需求先分解成模块(.h,.c),再把模块(.h,.c)分解成大的功能(function),然后把大的功能(function)分解成小的功能(function),如此类推。功能分解是一项很有技术含量的工作,它不仅需要

2011-10-18 17:21:00 3321

转载 架构师之路(4)---详解面向对象 王泽宾

3.5 详解面向对象的编程(OOP)3.5.1 什么是面向对象    刚接触编程的时候,多数人本能的反映可能是面向过程(OP)的,而不是面向对象(OO)的。这种现象其实是很正常的,改变思维方式是需要一个过程的,我大体归纳了一下其形成的原因:1、直接原因

2011-10-18 17:15:47 2025

转载 PHP下得到客户端ip的方法

PHP Manual中提及的使用getenv('REMOTE_ADDR')来获取客户端ip的方法存在不少问题,所以有必要考虑采用更为完善的方法来比较精确的获取用户客户端的ip。getenv(PHP 3, PHP 4, PHP 5)getenv -- Gets

2011-10-18 14:39:02 592

转载 HTTP Digest Authentication在实际应用中的问题

作者:老王 来源:http://huoding.com/Basic认证实际上是明文传递密码,所以RFC2617里定义了Digest认证以取代它,其计算方法如下:其中HA1计算方法为:如果qop选项的值为auth,那么HA2散列计算方法为:

2011-10-18 14:35:32 991

转载 架构师之路(3)---架构师的职责 王泽宾

3 架构师的职责    近来看到CSDN上有个CTO俱乐部,里面聊得是不亦乐乎。我怀着无比崇敬的态度,拜读了一下牛人们的发言。里面有个哥们发起一个话题:“CTO, 你多久没有写程序了?”。有人回答:“不写代码的CTO,属于......这公司问题大了!”。看到这里,我就

2011-10-18 10:45:25 3608

原创 Effective C++ 目录

目 录1 让自己习惯C++(View Yourself to C++)    11.1 条款1:视C++为一个语言联邦(View C++ as a federation of language)    11.2 条款2:尽量使用consts,enums和inlines

2011-10-15 20:37:30 1785

原创 (Effective C++)第八章 定制new和delete(Customizing new and delete)

10.1 条款49:了解new-handler行为 (Understand the behavior of the new-handler)当operator new抛出异常以反映一个未获满足的内存需求之前,它会调用一个客户指定的错误处理函数,一个所谓的new-handler

2011-10-15 20:33:05 865

原创 (Effective C++)第七章 模板与泛型编程 (Templates and Generic Programming)

C++template机制自身是一部完整的图灵机(Turing-complete):它可以被用来计算任何可计算的值。于是导出了模板元编程(templatemetaprogramming),创造出“在C++编译器内执行并于编译完成时停止执行”的程序。9.1 条款41:了解隐式接

2011-10-15 20:30:06 1026

原创 (Effective C++)第六章 继承与面向对象(Inheritance and Object-Oriented Design)

Public继承意味着“is-a”,virtual函数意味着“必须被继承”,non-virtual意味着“接口和实现都必须被继承”。8.1 条款32:确定你的public继承塑模出is-a关系 (Make sure public inheritance models “is-

2011-10-15 20:14:24 1159

原创 (Effective C++)第五章 实现(Implementation)

7.1 条款26:尽可能延后变量定义式的出现时间(Postpone variable definitions as long as possible)只要你定义一个变量而其类型带有一个构造函数或析构函数,那么当程序的控制流到达这个变量定义式时,你得承受构造成本;当这个变量离开

2011-10-15 20:08:40 1113 1

原创 (Effective C++)第四章 设计与声明(Design and declaration)

6.1 条款18:让接口容易被正确使用,不易被误用(Make interfaces easy to use correctly and hard to use incorrectly)条款13表明客户把新申请的资源置入智能指针中,以免资源泄露。而std::tr1::share

2011-10-15 20:03:40 660

原创 (Effective C++)第三章 资源管理(Resource Management)

5.1 条款13:以对象管理资源(Use object to manage resource)以对象管理资源。一般情况下,谁申请资源,谁负责释放。如下:class Investment {};void f{    Investment *pInv = ne

2011-10-15 19:57:01 699

原创 (Effective C++)第二章 构造、析构和赋值运算(Constructors,Destructors and Assignment Operators)

4.1 条款5:了解C++默认编写并调用哪些函数(Know what functions C++ silently writes and calls)了解C++默默编写并调用哪些函数:如果写下:class Empty{};编译器会产生如下:class

2011-10-15 19:51:07 704

原创 (Effective C++)第一章 让自己习惯C++(View Yourself to C++)

1.1 条款1:视C++为一个语言联邦(View C++ as a federation of language)C++主要的次语言(sublanguage):l  【3-1-1】 说到底C++仍是以C为基础。区块(blocks),语句 (statements),预处理器

2011-10-15 19:33:11 730

转载 为什么我们程序员难晋升?(何止程序员啊,普适!)

今天看到微博上@hellodba发的一个帖子:“内部晋升越来越困难,但是外部来的大P越来越多,所以很多人都选择跳槽”,之后我从三个方面简要的进行了回答:“外面来的总是有包装的,内部的都是肉身PK,此一输;外面来的总是小股人马,内部的一批批的,升谁都伤感情,此二输;外面来的通常都是

2011-08-14 11:52:13 765

转载 关于YII的菜单插件 CMenu - 和 面包末 breadcrumbs - 路径管理插件 的一些使用问题

在使用 YIi的路径管理工具时,发现了一个问题。                                        $this->widget('zii.widgets.CMenu',array(                        'items'=>

2011-07-26 20:09:43 4398 1

原创 LAMP+Yii

安装环境:CentOS x86_64 GNU/Linux(2.6.18-92.el5)一.安装软件第一步:安装apache需要的安装包:apr-1.2.7-11.el5_6.5.x86_64.rpmapr-devel-1.2.7-11.el5_6.5.x86_64.rpmapr-

2011-07-20 20:57:29 1665

转载 MySQL的联结(Join)语法

1.内联结、外联结、左联结、右联结的含义及区别: 在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问,可以来信咨询:陈朋奕 chenpengyi#gmail.com),国内关于MySQL联结查询的资

2011-07-18 19:54:14 487

空空如也

空空如也

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

TA关注的人

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