编程百科全书

在这里,相信会找到令你尖叫的文章!

导航

2011年2月22日 #

PHP单元测试利器:PHPUNIT深入用法(二)

摘要: 在上一篇PHP单元测试利器:PHPUNIT初探文章中,我们对phpunit有了一个初步的认识,在本文中将继续深入讲解下phpunit中的一些用法。 1、markTestSkipped和markTestIncomplete 在phpunit中,有两个有用的方法markTestSkipped和markTestIncomplete。它们能允许你编写的单元测试中不单是只有通过和失败两种结果。markTestSkipped能让PHPUNIT不去执行某个已经编写好的测试方法。举个例子说明,比如下面的程序:<?phppublicfunctiontestThisMightHaveADb(){$myObj 阅读全文

posted @ 2011-02-22 22:01 天天编程 阅读(204) 评论(0) 推荐(0) 编辑

PHP单元测试利器:PHPUNIT初探

摘要: 你是否在程序开发的过程中遇到以下的情况:当你花了很长的时间开发一个应用后,你认为应该是大功告成了,可惜在调试的时候,老是不断的发现bug,而且最可怕的是,这些bug是重复出现的,你可能发现这些bug之间会有关联,但却老是找不到问题的所在。 当你遇到以上这些令你沮丧的情况时,你一定会想能有什么更好的办法去解决呢?办法当然是有的!这就是使用单元测试。单元测试不但可以在一定程度上解决上述头疼的问题,而且能让代码变的容易维护,还可以能让你更多地对代码进行重构。 一旦你编写好单元测试用例,当你需要修改你的代码时,你要做的事情就是重新运行你的单元测试用例并观察这些单元测试用例能否通过,如果通过了的话,证明 阅读全文

posted @ 2011-02-22 22:00 天天编程 阅读(187) 评论(0) 推荐(0) 编辑

程序员基础 MySQL数据库开发必备常识

摘要: MySQL可以说是程序员应用最多的数据库,下面笔者为大家分享MySQL数据库开发当中的一些常识,存储引擎的选择,索引的设计及使用和大批量插入时SQL语句的优化。希望能对大家有帮助。 存储引擎的选择 声明:本文所针对的数据库版本都是MYSQL 5这里我主要针对两种存储引擎进行简单比较分别是MyISAM和InnoDB,首先比较下区别: 1. MyISAM不支持事务,不支持外键,优点是访问速度高,批量插入速度快。假设大量的操作是select、insert,建议采用该存储引擎。但是在我的实际应用中,出现过批量插入过于频繁的时候,当数据量到达一定级别,出现表损坏的情况。 2. InnoDB支持事务处理, 阅读全文

posted @ 2011-02-22 21:44 天天编程 阅读(436) 评论(0) 推荐(1) 编辑

介绍Linux中cp直接覆盖不提示的方法

摘要: 新做了服务器,cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,这在大量cp覆盖操作的时候是不能忍受的。把a目录下的文件复制到b目录以下是代码片段:cp –r a/* b执行上面的命令时,b存在的每个文件都会提示是否覆盖;以下是代码片段:cp –r –f a/* b执行上面的命令时,b存在的每个文件都不再会提示;这是我们希望的理想状态,但是有时加了-f了,怎么还会有提示呢?原来一些服务器会默认增加别名 alias cp='cp -i',当你执行cp时,其实执行的是cp –i。在终端执行alias就可以看出来了。以下是代码片段:[root@devdb ~]# aliasali 阅读全文

posted @ 2011-02-22 21:41 天天编程 阅读(120) 评论(0) 推荐(0) 编辑

linux vi 编辑器命令详解

摘要: 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi 阅读全文

posted @ 2011-02-22 21:40 天天编程 阅读(125) 评论(0) 推荐(0) 编辑

JavaScript拖拽原理的实现

摘要: 实现拖拽的基本思路拖拽的基本原理就是根据鼠标的移动来移动被拖拽的元素。鼠标的移动也就是x、y坐标的变化;元素的移动就是style.position的top和left的改变。当然,并不是任何时候移动鼠标都要造成元素的移动,而应该判断鼠标左键的状态是否为按下状态,是否是在可拖拽的元素上按下的。根据以上的基本原理,我写出了下面的基本思路。感觉代码还是比较短的,viewplaincopytoclipboardprint 拖拽状态=0鼠标在元素上按下的时候{ 拖拽状态=1 记录下鼠标的x和y坐标 记录下元素的x和y坐标 } 鼠标在元素上移动的时候{ 如果拖拽状态是0就什么也不做。 如果拖拽状态是1,那么 阅读全文

posted @ 2011-02-22 21:39 天天编程 阅读(281) 评论(0) 推荐(1) 编辑

php 数组的指针操作

摘要: array("key"=>"value");建立数组 //显示数组 print_r($array); //使用compact()函数新建数组,并把参数做为新数组的单元; $newArray = compact("red","green","yellow","blue","array"); //使用extract()函数把数组中的单元转换为变量 extract($exArray); echo "$key1 $key2 $key3 $key4 阅读全文

posted @ 2011-02-22 21:38 天天编程 阅读(233) 评论(0) 推荐(0) 编辑

再看7个经典jQuery网站导航脚本推荐

摘要: JQuery是现在流行的Javascrīpt框架,同时,在网页里,JQuery导航菜单的功能是非常漂亮和强大的,它能告诉你要寻找信息的准确位置。在jQuery中,有众多的优秀的脚本可以帮助你去实现某一方面的功能,本文将选取了2011年初7个最经典的jQuery菜单,希望大家能喜欢。 1、Cut And Paste jQuery 菜单 这个菜单的特点是,只要你设置好了一个锚点(比如在按钮或者链接上),就可以设置多列的导航菜单,如上图。在上面的图中点某个按钮,就会弹出如下的导航菜单。这个菜单的代码可以在http://www.javascriptkit.com/script/script2/jkme 阅读全文

posted @ 2011-02-22 21:37 天天编程 阅读(333) 评论(0) 推荐(0) 编辑

PHP与SQL注入攻击

摘要: SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。下面来谈谈SQL注入攻击是如何实现的,又如何防范。 看这个例子: // supposed input $name = “ilia’; DELETE FROM users;”; mysql_query(“SELECT * FROM users WHERE name=’{$name}’”); 很明显最后数据库执行的命令是: SELECT * FROM users WHERE n 阅读全文

posted @ 2011-02-22 21:35 天天编程 阅读(146) 评论(0) 推荐(0) 编辑

Firebug 调试器开发中的12个技巧

摘要: 相信很多从事Web开发工作的开发者都听说和使用过Firebug,但可能大部分人还不知道,其实它是一个在网页设计方面功能相当强大的编辑器,它可以对HTML、DOM、CSS、HTTP和Javascript进行全面的跟踪和调试。它是Firefox浏览器的一个插件,所以建议各位Web开发者,要充分利用FireFox浏览器和Firebug插件进行日常的调试工作。本文选取了12个Web开发者应该掌握的Firebug的初级使用技巧,介绍给大家。 1、使用Firebug可以找到页面中的任何内容 不知道各位有无遇到过这样的情况,在一个复杂的HTML页面中,当你想找某个页面元素的实际对应的HTML时,你不得不在一 阅读全文

posted @ 2011-02-22 21:32 天天编程 阅读(134) 评论(0) 推荐(0) 编辑

10个奇幻的HTML5和Javascript效果

摘要: 又10款令人惊奇的HTML5和javascript效果,今天网游的时候,又偶然踫到的这几款很不错的效果。回到几年前,这些效果是根本不可能实现,只能用flash做,但是现在,已经很轻松的就可以实现了。 之前也发布了几篇此类的文章,但觉得这几款效果确实很让人难以割舍,它们奇幻、炫丽,还是收藏了和大家一起分享吧。:-p 等会,大家要记得用高版本的一些浏览器哦,要不看不到效果的,我用的是Firefox3.5.11。 个人非常喜欢Breathing Galaxies和FlowerPower,真得很炫,你喜欢哪款呢? Breathing Galaxies 使用键盘来改变形状中的线条样式,或移动鼠标来创建一 阅读全文

posted @ 2011-02-22 21:31 天天编程 阅读(133) 评论(0) 推荐(0) 编辑

给想当程序员的大二学生的建议

摘要: 背景:最近我在Groupon公司的一项新职务是为公司招募优秀的开发人员。我是Groupon开发团队的代言人,负责发布招聘信息、回答问题等。过去的一周,我对两个询问夏季实习工作的学生进行了回复。 下面是我在回复他们的邮件中的感觉值得公开发表的一些建议: 如果你在大二的时候就已经开始接触外面的公司,我认为你做的很对,你就应该这么早为你今后的职业生涯打基础。很多人都是等到毕业的前两个月(甚至更晚)才考虑这个问题。即使你没有实习的机会,你也要获得一些外面的工作印象。 如果你想学习一种成熟的技术,先看书仍然是推荐的做法。理论和实践之间是相互平衡的,书本上是经过完善的符合实际的描述,会让你对一种技术有一个 阅读全文

posted @ 2011-02-22 21:29 天天编程 阅读(138) 评论(0) 推荐(0) 编辑

程序员基础 MySQL数据库开发必备常识

摘要: MySQL可以说是程序员应用最多的数据库,下面笔者为大家分享MySQL数据库开发当中的一些常识,存储引擎的选择,索引的设计及使用和大批量插入时SQL语句的优化。希望能对大家有帮助。 存储引擎的选择 声明:本文所针对的数据库版本都是MYSQL 5这里我主要针对两种存储引擎进行简单比较分别是MyISAM和InnoDB,首先比较下区别: 1. MyISAM不支持事务,不支持外键,优点是访问速度高,批量插入速度快。假设大量的操作是select、insert,建议采用该存储引擎。但是在我的实际应用中,出现过批量插入过于频繁的时候,当数据量到达一定级别,出现表损坏的情况。 2. InnoDB支持事务处理, 阅读全文

posted @ 2011-02-22 21:22 天天编程 阅读(125) 评论(0) 推荐(0) 编辑

谷歌 Chrome 11 对早期开发者开放使用

摘要: 北京时间2月22日,据国外媒体报道,在Chrome 10升级到beta版的同时,后继者Chrome 11已经代替了Chrome 10,成为开发者手中的一款新的试用浏览器,这是Chrome 11的官方首发。既然还处在早期开发阶段,它与现有Chrome 10 beta相比没有太多的不同,也没有添加过多的新功能。 随着Chrome 11越来越明朗化,有哪些功能已经准备就绪,有哪些功能还有待开发,也变得越来越清晰。 这款浏览器目前的版本为11.0.672.2 build,修复了上一版本的一些缺陷,使用了经过更新的V8 Javascript引擎。一个比较显著的新功能是添加了新的XSS审计器,该功能默认. 阅读全文

posted @ 2011-02-22 21:07 天天编程 阅读(263) 评论(0) 推荐(1) 编辑

一步步教你用Android Google Map(三)

摘要: 第五步:自定义地图的图层 接下来,我们需要为地图多增加一些自定义的功能,比如可以在地图上进行一些标注。为了实现这样的功能,我们可以继承Overlay这个类,这个类是一个基类,提供了可以在地图上添加图层的基本功能。而另外的选择是,我们可以继承itemzedOverlay这个类, 它提供了一种快捷的方法,可以把标记图片和相关的文本分配给特定的地理位置。ItemizedOverlay实例可以处理每一个OverlayItem(OverlayItem可以简单理解为在地图上的每一个标记)标记的绘制、放置、单击处理、焦点控制和布局优化。下面我们看代码:package com.javacodegeeks.an 阅读全文

posted @ 2011-02-22 21:04 天天编程 阅读(1152) 评论(0) 推荐(1) 编辑

一步步教你用Android Google Map(二)

摘要: 一步步教你用Android Google Map(一)的链接是:http://www.cnblogs.com/zzbbs/archive/2011/02/22/1961670.html接着上一次我们讲到的地方,我们现在继续学习下去现在我们就产生了debug模式下的MD5密纹了,要注意的是,你必须重新为生产环境下的应用重新生成一次MD5密纹,因为如果在不同的Android SDK或者不同的开发环境下,MD5密纹是不同的,否则换了环境的话Google Map将不会工作。 产生的MD5密纹的输出如下面: androiddebugkey, Apr2,2010, PrivateKeyEntry,Cert 阅读全文

posted @ 2011-02-22 21:02 天天编程 阅读(870) 评论(0) 推荐(0) 编辑

一步步教你用Android Google Map(一)

摘要: Android操作系统平台很容易跟Google其他应用如Google地图的整合。在Android应用中,如果能在其中加入Google地图,则会为你的应用增添强大的功能,目前不少LBS应用(基于地理位置的应用)就是充分将移动跟地图结合起来。在本文中,将一步步教你如何将Google地图结合到你的Android应用中。 第一步:安装Google Map API 在默认情况下,在安装Google Android SDK时,是不需要必须安装Google Map API的。但要做Map应用的话,就必须安装Google Map API。我们可以通过启动Android SDK and AVD Manager这 阅读全文

posted @ 2011-02-22 20:57 天天编程 阅读(5167) 评论(0) 推荐(1) 编辑

从事10年开发软件工程师对职业理解

摘要: 在软件公司程序员是企业中最基础的岗位,只要保质保量的完成分派的任务就可以了,但在我看来好多程序员就连这一点都做不到。代码写得是一塌糊途,只要能正常运行就算是万事大吉,而且总是会告诉你没有重构的时间。可在我看来程序员更应该是个“作家”而不仅是个“司机”,写出来的代码是用来运行的,想像一下别人都看不懂你写的代码,那你写的程序会运行多久呢?作家只有写出好的文章别人才会去阅读去欣赏,试想如果一作者写出一篇连自己看了都觉得讨厌东西又怎么会启齿让别人去看。 对于程序员来说也应抱有作家的心态,始终想着我写出的代码是否别人看了会笑话?是否会赞叹?应该想到决大部分的代码重构工作是在开发阶段完成的,而非后期逐渐完 阅读全文

posted @ 2011-02-22 20:54 天天编程 阅读(626) 评论(0) 推荐(0) 编辑

从事十年开发软件工程师对职业理解

摘要: 在软件公司程序员是企业中最基础的岗位,只要保质保量的完成分派的任务就可以了,但在我看来好多程序员就连这一点都做不到。代码写得是一塌糊途,只要能正常运行就算是万事大吉,而且总是会告诉你没有重构的时间。可在我看来程序员更应该是个“作家”而不仅是个“司机”,写出来的代码是用来运行的,想像一下别人都看不懂你写的代码,那你写的程序会运行多久呢?作家只有写出好的文章别人才会去阅读去欣赏,试想如果一作者写出一篇连自己看了都觉得讨厌东西又怎么会启齿让别人去看。   对于程序员来说也应抱有作家的心态,始终想着我写出的代码是否别人看了会笑话?是否会赞叹?应该想到决大 阅读全文

posted @ 2011-02-22 13:27 天天编程 阅读(137) 评论(0) 推荐(0) 编辑

揭秘:为什么中国的网页设计这么烂?

摘要: 从一年多以前我就想写一篇这样的文章,抒发一下心头的怨气。我们的工作与手机浏览器有关,多年以来最头疼的问题是“为什么这个网页在你们的浏览器打不开”,“为什么那个网页显示不对”...我们一度热心于给网站的技术支持邮箱发信,把我们在网页里发现的问题以及如何修改发过去探讨,但从来都是石沉大海。最近有个在中国生活过的外国人写了这么一篇文章:Why Is Chinese Web Design So Bad? (http://thinkvitamin.com/design/why-is-chinese-web-design-so-bad/),正文翻译见这里:( 阅读全文

posted @ 2011-02-22 13:19 天天编程 阅读(392) 评论(0) 推荐(1) 编辑