自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6

PHP $_SERVER['HTTP_USER_AGENT']<?phpprint_r($_SERVER);exit;?>Ipad: [HTTP_HOST] => 10.130.150.186 [HTTP_USER_AGENT] => Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWe

2012-07-26 21:21:17 2277

转载 Big Data技术综述

Big Data是近来的一个技术热点,但从名字就能判断它并不是什么新词。毕竟,大是一个相对概念。历史上,数据库、数据仓库、数据集市等信息管理领域的技术,很大程度上也是为了解决大规模数据的问题。被誉为数据仓库之父的Bill Inmon早在20世纪90年代就经常将Big Data挂在嘴边了。然而,Big Data作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展

2012-07-19 15:09:05 653

转载 设计模式中类的关系

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence)         依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直

2012-07-17 16:05:41 681

转载 谈一谈自己对依赖、关联、聚合和组合之间区别的理解

在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设计模式中类的关系》中已经有所提及,下面就来详细的论述一下在java中如何准确的体现依赖、关联、聚合和组合。首先看一看书上对这四种关系的定义

2012-07-17 15:58:03 581

转载 MySQL数据库新特性之存储过程入门教程

在MYSQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL 的数据库处理能力,在本文中,将指导读者快速掌握MYSQL 5的存储过程的基本知识,带领用户入门。存储过程介绍存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量

2012-07-17 11:46:59 1013

转载 浅谈 json 与 json的跨域解决方案: jsonp

由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,

2012-07-13 14:45:47 1429

转载 AJAX 跨域请求 - JSONP获取JSON数据

Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mas

2012-07-13 13:32:20 760

转载 Rose与PowerDesigner:两款建模工具对比分析比较

一、 二者的出身      作为世界最著名的两大CASE工具,Rational Rose和PowerDesigner的名声可谓如雷贯耳。Rose是当时全球最大的CASE工具提供商Rational的拳头产品,UML建模语言就是 由Rational公司的三位巨头Booch、Rumbaugh和Jacobson发明的,后来Rational被IBM收购,所以Rose 可谓出身名门,嫁入豪族。而Pow

2012-07-11 17:31:49 554

转载 三大UML建模工具Visio、Rational Rose、PowerDesign的区别

UML建模工具相信大家有所了解,那么你对UML建模工具Visio 、Rational Rose、PowerDesign之间的区别和联系是否了解,这里就像大家简单介绍一下。 ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、

2012-07-11 17:01:12 759

转载 简单工厂模式,工厂方法模式和抽象工厂模式的异同

简单工厂模式,工厂方法模式和抽象工厂模式都是属于创建型设计模式,这三种创建型模式都不需要知道具体类。我们掌握一种思想,就是在创建一个对象时,需要把容易发生变化的地方给封装起来,来控制变化(哪里变化,封装哪里),以适应客户的变动,项目的扩展。用这三种设计模式都可以实现,那究竟这三种设计模式有什么异同呢?下面根据这三者之间的特点,优点,缺点,适用范围进行比较。一.特点简单工厂模式:专门

2012-07-11 13:41:03 601

转载 Pecl和Pear的区别和联系

Pear、Pecl都是PHP扩展模块的集合。扩展PHP有两种方法:  一种是用纯粹的PHP代码写函数和类。  Pear就是这样一个项目。PEAR是PHP的官方开源类库(PHP Extension and Application Repository的缩写)。Pear在英文中是梨子的意思。PEAR将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈面、数据库访问、文件操作、数据结

2012-07-10 14:29:50 602

转载 HTTP协议详解

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与

2012-07-09 16:04:45 415

转载 开源数据库连接池sqlrelay的安装配置和应用

一、SQL Relay是什么?SQL Relay是一个开源的数据库池连接代理服务器二、SQL Relay支持哪些数据库?    * Oracle    * MySQL    * mSQL    * PostgreSQL    * Sybase    * MS SQL Server    * IBM DB2    * Int

2012-07-07 17:46:56 724

转载 三款PHP加速器:APC/eAccelerator/XCache对比测试

一、PHP加速器介绍PHP加速器是一个为了提高PHP执行效率,从而缓存起PHP的操作码,这样PHP后面执行就不用解析转换了,可以直接调用PHP操作码,这样速度上就提 高了不少。Apache中使用mod_php的请求、响应执行流程:1、Apache接收请求。2、Apache传递请求给mod_php。3、mod_php定位磁盘文件,并加载到内存中。4、mod_php

2012-07-07 17:45:11 2121

转载 关于PHP数据库连接池

在最近一个项目中,为了统一数据接口,搭建可扩展性较强的程序架构,CTO要求构建一个数据库中间层,实现对数 据的统一操作,所有的数据请求都通过这个中间层来分发,其实也就是相当于建立一个数据库连接池,最后写一个统一的数据接口,这个问题在java中可以轻松 搞定,因为java有很多开源的比较成熟的数据库连接池程序,而且java本身也支持这种对象映射,可是PHP实现起来就非常的麻烦

2012-07-07 17:38:47 8062

转载 PHP5的SOAP扩展

简介PHP的SOAP扩展可以用来提供和使用Web services。换句话说,PHP开发者可以利用这个PHP扩展来写他们自己的Web services,也可以写一些客户端来使用已有的Web services。PHP5中的这个SOAP扩展目的是为了实现PHP对Web services的支持。与其它实现PHP对Web services的支持的方法不同,SOAP扩展是用C写的,因此它比其

2012-07-06 15:06:10 1150

转载 用PHP写hadoop的mapreduce程序

Hadoop本身是Java写的,所以,给hadoop写mapreduce,人们会自然地想到java但hadoop里面有个contrib叫做hadoop streaming,这是一个小工具,为hadoop提供streaming支持,使得任何支持标准IO (stdin, stdout)的可执行程序都能成为hadoop的mapper 或者 reducer例如:hadoop jar

2012-07-05 15:59:38 650

转载 使用 PHP 的 Phing 项目部署工具

Phing 是一个基于 Apache Ant 开源项目的 PHP 项目构建工具。    “Phing”是一个递归的缩写词,全称为“Phing Is Not GNU make”,是 PHP 自动部署应用程序的一种方法。它还可以让我们与 SVN 服务器集成,还可以采用 PHPUnit 自动化方式执行单元测试,并且还可以实现文件复制这样的安装、部署任务。    Phing 官方网站是 h

2012-07-05 14:55:21 931

转载 phpunit和php单元测试体验

一:  和其他的Xunit测试框架一样,phpunit框架主要分为以下部分:  TestCase --测试用例  TestSuite --测试套件(我习惯称其为测试用例集)  Assert--断言(我习惯称其为验证方式)  TestResult--测试结果  对于testcase,phpunit中除了一般的testcase,还包含了Incompletetestc

2012-07-04 15:45:20 1008

转载 PHPUnit袖珍指南 第十二章 测试的其他用途

一旦你开始写自动测试,你就会想要发掘更多用途。以下是一些例子。 12-1. 敏捷文档通常来说,在采用敏捷方法作为开发流程的项目中,如极限编程,文档很难和迅速变化的项目设计和代码同步。极限编程要求集体拥有代码,应此,每个开发人员都熟悉整个系统。如果你严格按照规定,编写的类具有自说明能力,你就可以用PHPUnit的TextDox功能根据测试来自动生成文档。这种文档给开发人员对每

2012-07-04 15:40:53 453

转载 PHPUnit袖珍指南 第十一章 残根

第十一章残根相比有多个错误来源的测试,只测试一件事情的测试提供了更好的信息。如何隔离测试的外部影响呢?用来自简单的PHP对象的残根替代昂贵, 杂乱, 不可靠, 缓慢, 复杂的资源。例如,为了单项测试的目的,你可以通过返回常数的方法来代表实际上很复杂的计算。 残根很好的解决了分配昂贵的外部资源的问题。例如,共享资源,在测试之间可以使用PHPUnit2 _ Extensions

2012-07-04 15:40:22 425

转载 PHPUnit袖珍指南 第十章 代码覆盖率分析

第十章 代码覆盖率分析你已经学会了怎么使用单元测试代码,但你怎么测试你的测试呢?你怎么发现没被测试的代码,换句话说,没被测试覆盖的代码?怎么衡量测试的完整性?所有这些问题的答案就是代码覆盖率分析。代码覆盖率分析告诉你当测试进行时,那些产品代码执行过了。 PHPUnit的代码覆盖率分析应用了Xdebug[6]扩展提供的语句覆盖率功能。 什么时语句覆盖率?举个例子来说,如果有一个方法有10

2012-07-04 15:39:53 491

转载 PHPUnit袖珍指南 第九章 测试优先编程

第九章 测试优先编程单元测试是几种软件开发实践和过程至关重要的部份,譬如测试优先编程,极限编程[3],测试驱动开发[4]。 单元测试也允许在结构上不支持的编程语言中支持契约式设计[5]。 [3] http://en.wikipedia.org/wiki/Extreme_Programming[4] http://en.wikipedia.org/wiki/Test-driven_d

2012-07-04 15:39:28 425

转载 PHPUnit袖珍指南 第八章 未完成测试

第八章 未完成测试当开始书写新的测试用例类时,你也许想要从空的测试方法开始,譬如:       public function testSomething( ) {       }我们必须跟踪书写的每个测试。空测试方法的问题是,它们被PHPUnit 框架解释作执行成功。这样产生的测试报告是没有用的。您不能区分测试实际上是成功了或是未完成。在未完成的测试方法中调用$this->fai

2012-07-04 15:39:07 363

转载 PHPUnit袖珍指南 第七章 测试异常和性能回归

第七章 测试异常和性能回归PHPUnit提供了二个扩展,基于测试类的标准基类PHPUnit2_Framework_TestCase,协助为书写异常和性能回归测试。7-1 异常怎么测试异常?当异常抛出时,无法直接使用断言。相反,必须使用PHP 的异常处理机制来书写测试。以下例子示范了入阁测试异常:require_once 'PHPUnit2/Framework/TestCase.

2012-07-04 15:38:42 707

转载 PHPUnit袖珍指南 第六章 装置器

第六章 装置器编写测试最耗时的部分是边编写设置整个程序到达一个已知状态,而后在测试结束后返回到原始状态。这个已知状态叫做测试的装置器。在例5中,装置器很简单,只是存储在变量$fixture中的数组。多数情况下,装置器会比简单数组复杂,设置代码也会相应增长。当你写几个类似的装置器时这个问题变得更糟糕。没有测试框架的帮助,我们不得不重复很多代码,为每个测试设置装置器。PHPUnit支持共享

2012-07-04 15:38:11 408

转载 PHPUnit袖珍指南-第五章 命令行测试工具

第五章 命令行测试工具PHPUnit命令行测试工具是通过phpunit命令调用的。如下代码显示如何通过PHPUnit命令行测试工具运行测试。phpunit ArrayTestPHPUnit 2.3.0 by Sebastian Bergmann. Time: 0.067288 OK (2 tests) 对每个测试,PHPUnit命令行测试工具打印一个字符表示进程

2012-07-04 15:37:44 468

转载 PHPUnit袖珍指南-第四章 安装PHPUnit

第4章 安装PHPUnitPHPUnit可以通过PHP扩展和程序库(PEAE)获得。PEAR是可重用PHP组件的框架和分发系统。安装PHPUnit可以通过PEAR安装程序命令获得: pear install PHPUnit2 根据PEAR的版本命名标准,适用于PHP5的PHPUnit包称为PHPUnit2。PHPUnit是适用于PHP4的包,这在本书后面关于“在PHP4中使用P

2012-07-04 15:36:12 493

转载 PHPUnit袖珍指南-第三章 PHPUnit的目的

第三章PHPUnit的目的到此为止,我们只有两个对Array和内建函数sizeof()的测试。当我们开始测试大量的array_*()函数时,每个都需要一个测试。我们可以每个都从头写起。但是,更好的方法是一次性写好一个测试基础构架,以后就只用写每个测试不同的部分。PHPUnit就是这样一个基础构架。例5展示了如何用PHPUnit重写例4中的两个测试。 例5. 用PHPUnit测试 A

2012-07-04 15:35:46 478

转载 PHPUnit袖珍指南-第二章 自动测试

第二章 自动测试最好的程序员也会犯错误。好程序员和差程序员的区别在于:好程序员能通过测试尽可能的发现错误。你越快测试错误,你就越快发现它们,发现和修正的成本就越低。这解释了为什么只在软件发布前才测试的做法为什么问题那么多。大多数错误根本就没有发现过,修正发现的错误是那么的高,以至于你不得不根据优先级来决定只修正那些错误,因为你根本就承受不起全部修正的费用。相比你正在使用的方法,采用PHPU

2012-07-04 15:16:18 399

转载 PHPUnit袖珍指南-第一章 简介

很长时间里,我对“你什么时候会为PHPUnit写一个文档”这个问题的回答是:“你不需要PHPUnit文档,去读读JUnit文档或买一本Junit的书,试一试用PHP和PHPUnit来重写Java和Junit的例子”。当我和O’Reilly德国办公室的Barbara Weiss和Alexandra Follenius这样说的时候,他们鼓励我想想是不是可以写一本书来作为PHPUnit的文档。1

2012-07-04 15:06:36 617

转载 PHPUnit袖珍指南-概述

概述聪明的Web开发人员会告诉你,越快找到代码的错误,你就能越快修正它,长期而言,项目成本越低。好了,能最有效的检测PHP代码中的错误的工具是PHPUnit,一个开发源代码的框架,它在你不在的时候,自动进行成套的单元测试。使用PHPUnit的好处是显而易见的:l         减少用于测试代码的工作量l         减少总体软件缺陷l         增加对代码的信心l

2012-07-04 15:02:59 430

转载 Sencha Touch开发实例:记事本应用(二)

在《Sencha Touch开发实例:记事本应用(一)》中, 我们介绍了移动跨平台开发框架Sencha Touch的基本特性,并开始指导大家如何使用Sencha Touch开发一个简单的记事应用,其中讲解了记事页面列表的界面开发和代码。在本文中,将继续讲解如何完善这个记事应用中的记事列表界面的功能。在本文中,期望在学习完后,将会实现第一讲中如下的界面框架,如下图所示:界面框架

2012-07-03 13:58:52 1723

转载 Sencha Touch开发实例:记事本应用(一)

目前,移动应用开发如火如荼,比如Android、iOS开发的应用已越来越多。开发者在开发这些基于不同操作平台上的无线应用时,都面临要熟悉所用平台的技术知识的挑战。因此,目前有不少基于HTML 5标准的跨移动开发框架出现,开发者只需要掌握HTML 5,CSS及Javascript及相关框架的开发技巧就可以了。在Sencha Touch的项目下载地址里,我们可以下载其中的最新版本。本系列教程将

2012-07-03 13:56:26 1322

转载 SENCHA TOUCH 自动生成工具

http://www.qast.com/sencha/book4.htm在Sencha Touch中有一个鲜为人知的工具Sencha Command,位于sencha-touch-1.1.0/jsbuilder目录中,名为sencha.sh。相关资料表明该工具是用来自动化生成Sencha Touch项目目录结构,并包含一个代码生成器。使用了一下发现其明显处于试验阶段,因为代码中存在非常多的

2012-07-03 00:34:03 882

转载 如何创建一个SENCHA TOUCH 2应用

http://www.qast.com/sencha/book2.htm在此系列中,我们将创建一个Sencha Touch 2版本的记事本应用,用来记录用户的笔记并存储在该运行设备上。在这个过程中,我们将深入一下几个区域:建立一个Sencha Touch 应用的区块如何实现一个应用多视图的导航栏如何使用Sencha Touch表单元素编辑数据如何利用列表视图呈现数据如何使用HTML

2012-07-03 00:25:48 616

转载 hive安装过程详解

一、查看需求安装java 1.6及hadoop 0.20.x二、安装hivetar -xf hive-x.y.z.tar.gz(本次安装为hive-0.8.1.tar.gz)将解压后的hive-0.8.1文件放在系统的/home/hadooptest/中。在/etc/profile中添加:export HIVE_HOME=/h

2012-07-02 13:53:53 887

转载 通过thrift生成hive的php client api

1、在debian下安装thrift 2、接下来要安装fb303,进入到thrift的源码目录,cd contrib/fb303; ./configure; make && make install 3、/usr/local/bin/thrift -o -I /usr/local/share/ --gen php *.thrift   -o OUTPUTD

2012-07-02 13:49:33 1379

转载 php开发Hive Web查询

http://slaytanic.blog.51cto.com/2057708/766230一、php Hive API的问题默认情况下,Hive本身自带的php API是不太好使的。一个是路径有问题,一个是代码本身也有问题。所以,采用thrift重新自己生成hive的php api。找到所有的thrift文件,并复制到某个路径下

2012-07-02 13:43:40 1192

转载 php连接hive执行HQL查询

使用php连接hive的条件1  需要安装thrift  安装步骤#  ./configure --without-ruby #   make && make install如果没有安装libevent libevent-devel的应该先安装这两个依赖库yum -y install libevent libevent-devel安装好后启动hive thr

2012-07-02 13:34:09 1455

Spring.NET & NHibernate从入门到精通 V0.50.pdf

Spring.NET & NHibernate从入门到精通

2008-09-09

空空如也

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

TA关注的人

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