11 2012 档案

摘要:l这是小弟我首次参加有奖试读活动,也是我在Iteye上写的第一篇文章,有什么不妥的地方请各位批评指正。初次接触JavaScript是网页上的那些“花里胡哨”的特技,当时很是好奇这些是怎么实现的。而现在经过了系统的学习之后才终于对这种强大的语言有所了解。虽然在浏览器差异性以及安全性等方面的诟病使JavaScript没少被批评,但是金无足赤人无完人,没有一种绝对完美的语言。反而这些都不会阻止JavaScript作为一种强大语言的崛起,甚至如日中天。从简单的本地表单验证到AJAX这种“崭新”技术的出现无一不让让我们看到了JavaScript的魅力所在。我们要做的就是充分利用好这些魅力,而不是一昧批评 阅读全文
posted @ 2012-11-30 08:37 博文视点(北京)官方博客 阅读(132) 评论(0) 推荐(0) 编辑
摘要:好久没有来iteye了,今天一回来就看到了顶栏有信封在闪了。打开一看,是读书的活动。该怎么说呢,我其实在2年前就买了《JavaScript语言精粹》,可以说2年时候应该也就读完了吧。但是我看书那是一个懒,后来书就借了朋友看了(貌似还收到消息说书已经丢了)。我自己下载了一本英文原版的,偶尔打开来翻翻。但是这次的读书活动,有一种说不出的力量在冲击我,仿佛在告诉我,是时候了,它的修改版都出来了,难道你还不打算看完它吗?整书都是围绕着JavaScript的“精华”二字,也就是教你如何躲开那些糟粕。但是这本书绝对不是初学者的天堂,因为当你没有了解过JavaScript,你无法知道书中所说的糟粕是什么,以 阅读全文
posted @ 2012-11-29 09:14 博文视点(北京)官方博客 阅读(149) 评论(0) 推荐(0) 编辑
摘要:正确性正确性是指软件按照需求正确执行任务的能力。这里“正确性”的语义涵盖了“精确性”。正确性无疑是第一重要的软件质量属性。如果软件运行不正确,将会给用户造成不便甚至损失。技术评审和测试的第一关都是检查工作成果的正确性。正确性说起来容易做起来难。因为从“需求开发”到“系统设计”再到“实现”,任何一个环节出现差错都会降低正确性。机器不会主动欺骗人,软件运行出错通常都是人造成的,所以不要找借口埋怨机器有毛病。开发任何软件,开发者都要为“正确”两字竭尽全力。健壮性健壮性是指在异常情况下,软件能够正常运行的能力。正确性与健壮性的区别是:前者描述软件在需求范围之内的行为,而后者描述软件在需求范围之外的行为 阅读全文
posted @ 2012-11-28 09:32 博文视点(北京)官方博客 阅读(524) 评论(0) 推荐(0) 编辑
摘要:如何理解软件的质量什么是质量?词典的定义是:① 典型的或本质的特征;② 事物固有的或区别于其他事物的特征或本质;③ 优良或出色的程度。CMM对质量的定义是:① 一个系统、组件或过程符合特定需求的程度;② 一个系统、组件或过程符合客户或用户的要求或期望的程度。上述定义很抽象,软件开发人员看了准会一脸迷惘。软件的质量不容易说清楚,但我们今天非得把它搞个水落石出不可。就以健康做类比吧。早先人们以为长得结实、饭量大就是健康,这显然是不科学的。现代人总是通过考察多方面的生理因素来判断是否健康,如测量身高、体重、心跳、血压、血液、体温等。如果上述因素都合格,那么表明这人是健康的。如果某个因素不合格,则表明 阅读全文
posted @ 2012-11-28 09:17 博文视点(北京)官方博客 阅读(575) 评论(0) 推荐(0) 编辑
摘要:有最好的编程语言吗作者的观点:程序员在最初学习BASIC、Fortran、 Pascal、C、C++等语言时会感觉一个比一个好,不免有喜新厌旧之举。而如今的Visual Basic、Delphi、Visual C++、Java等语言各有所长,真的难分优劣。能很好地解决问题的编程语言就是好语言。开发人员应该根据实际情况,选择业界推荐的并且是自己擅长的编程语言来开发软件,才能保证有较好的质量与效率。编程是一件自由与快乐的事情,不要发誓忠于某某语言而自寻烦恼。编程是一门艺术吗作者的观点:水平高到一定程度后,干啥事都能感受到“艺术”,编程也不例外。但在技术行业,人们通常认为“艺术”是随心所欲、不可把握 阅读全文
posted @ 2012-11-27 09:03 博文视点(北京)官方博客 阅读(316) 评论(0) 推荐(0) 编辑
摘要:C语言中的构造数据类型如结构、联合、枚举等在C++中仍然有效。由于C++新增了一种类型名class,许多人错误地认为struct只能用来包装数据,或者class必须定义成员函数。C++对C的结构、联合、枚举等进行了必要的改造和增强,本章比较分析了异同点,总结了使用要点,对于那些正在从C语言向C++语言过渡的程序员有较好的参考价值。结构(struct)如果只能使用基本数据类型来编程,那将是一件痛苦的事情。C语言支持把基本数据类型组合起来形成更大的构造数据类型,这就是C语言的struct,有时也称为用户自定义数据类型(User Defined Type, UDT)。构造数据类型还可以嵌套(对象嵌入 阅读全文
posted @ 2012-11-26 13:10 博文视点(北京)官方博客 阅读(202) 评论(0) 推荐(0) 编辑
摘要:BroPHP是一个免费开源的轻量级PHP框架(学习型),允许你把基于BroPHP框架开发的应用去开源或发布、销售商业产品。BroPHP框架完全采用面向对象的设计思想,并且是基于MVC的三层设计模式,具有部署和应用及为简单、效率高、速度快,扩展性和可维护性都很好等特点,可以稳定地用于商业及门户的开发。BroPHP框架包括单入口文件、MVC模式、目录组织结构、类自动加载、强大基础类、URL处理、输入处理、错误处理、缓存机制、扩展类等功能。是专门为《细说PHP》的读者及LAMP兄弟连全体学员提供的“学习型PHP框架”。当然,任何PHP应用开发爱好者都可以从BroPHP框架的简单和快速的特性中受益。另 阅读全文
posted @ 2012-11-23 08:52 博文视点(北京)官方博客 阅读(757) 评论(0) 推荐(0) 编辑
摘要:在PHP中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上GD库。除了安装GD库之外,在PHP中还可能需要其他的库,这可以根据需要支持哪些图像格式而定。GD库可以在http://www.boutell.com/gd/免费下载,不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF、JPEG、PNG、WBMP、XBM等格式的图像文件,此外还支持一些如FreeType、Type 1等字体库。通过GD库中的函数可以完成各种点、线、几何图形、文本及颜色的操作和处理,也可以创建或读取多种格式的图像文件。在PHP中,通过GD库处理图像的操作,都是先在内存中 阅读全文
posted @ 2012-11-22 09:57 博文视点(北京)官方博客 阅读(333) 评论(0) 推荐(0) 编辑
摘要:《高质量程序设计指南:C++/C语言》(林锐名作,前版曾广泛流传,被大量IT企业采用为面试题)林锐,韩永泉编著ISBN 978-7-121-18617-22012年10月出版定价:65.00元412页16开编辑推荐《大学十年》感染一代IT人,林锐亲述多年一线经验。本书提供内建高质量代码必须熟练掌握的编程技术与规范。“高质量”试图挽回的是——投入大量人、材、物力的事后检测和补救。同类书目推荐:《Effective C++:改善程序与设计的55个具体做法(第三版)(评注版)》《More Effective C++:35个改善编程与设计的有效方法(中文版)》《Effective C++:改善程序与设 阅读全文
posted @ 2012-11-21 09:00 博文视点(北京)官方博客 阅读(201) 评论(0) 推荐(0) 编辑
摘要:细说PHP(第2版)(含DVD光盘1张)(经典畅销书升级版,全面覆盖PHP学习关键点,150小时超大容量视频教学)LAMP兄弟连组编高洛峰编著ISBN 978-7-121-18563-22012年10月出版定价:109.00元(含DVD光盘1张)16开828页经典畅销书升级版,全面覆盖PHP学习关键点,150小时超大容量视频教学内容简介PHP是开发Web应用系统最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。全书以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的实例代码,图文并茂。系统地介绍了PHP的相关技术及其在实 阅读全文
posted @ 2012-11-21 08:59 博文视点(北京)官方博客 阅读(299) 评论(0) 推荐(0) 编辑
摘要:处理器负责从内存读取数据,并利用数据执行加法等处理。指示执行这些处理的就是“指令”。指令有以下几种:进行加法的ADD指令,进行乘法的MULT(multiply)指令,以及读写内存的LOAD指令、STORE指令等。让我们看看这些指令是怎样规定的。指令架构入门前面说过,指令架构详细地规定了处理器应当支持哪些指令、各个指令应执行什么操作等。“架构”这个词源于建筑术语,意思是建筑的基本设计,现在被挪用到计算机的基本设计中,表示指令的设计、结构等。拿汽车打比方,可以把指令架构想象成这样:发出向右打方向盘的指令,汽车就向右转;发出踩油门的指令就加速;发出踩刹车的指令就减速。对于汽车来说,这些基本指令是通用 阅读全文
posted @ 2012-11-20 08:47 博文视点(北京)官方博客 阅读(274) 评论(0) 推荐(0) 编辑
摘要:计算机的性能以10年约200倍的惊人速度提升。其支撑的中心台柱就是半导体技术的进步。本节来看看为什么半导体技术的进步会带来计算机的进步。摩尔(Moore)定律——更多的晶体管,更高的并行度Intel的创始人之一Gordon Moore在1965年的Electronics杂志上发表题目为Cramming more components onto integrated circuits的论文,预测集成度的提高,如图1.9所示的图表。图1.9只显示了从1962年到1965年4个点的数据,但Moore大胆预测,此倾向将延续到1975年。集成电路就是利用光学微缩投影曝光技术在硅芯片上制作较小的部件零件, 阅读全文
posted @ 2012-11-19 10:46 博文视点(北京)官方博客 阅读(248) 评论(0) 推荐(0) 编辑
摘要:处理器本身能理解的机器指令是0和1的序列,让人来写就要大费周章了,因此人们一直在努力开发各种系统,用人类易于理解的形式来编写程序。本节仅简单介绍一下指示处理器工作的机器语言程序的编写方法。用汇编语言编程人类很难书写处理器能够理解的0、1序列,也很容易出错。另外,写完后回头看看一堆0和1,根本看不懂会向处理器发出什么指令,即使出了bug、无法正常运行也毫无办法。因此,我们将加法指令写成ADD,减法指令写成SUB(Subtract),从内存读取数据的加载指令写成LD(Load),向内存写入数据的存储指令写成ST(Store)。这种易于人类理解的写法称为助记符(Mnemonic)。另外,这些指令使用 阅读全文
posted @ 2012-11-16 09:09 博文视点(北京)官方博客 阅读(612) 评论(0) 推荐(0) 编辑
摘要:在x86/x64体系里,由于x87 FPU硬件使用扩展双精度格式,因此必然会遇到single/double precision格式与double extended-precision格式之间的互换问题。转换为扩展双精度数当由单精度数或双精度转换为扩展双精度数时,exponent部分必须基于扩展双精度数的biased码来调整。于是扩展双精度数的exponent值为:① 从单精度转化:exponent – 127 + 16383。② 从双精度转化:exponent – 1023 + 16383。而扩展双精度数的significand部分,由单/双精度数的significand部分移植过来。以单精度 阅读全文
posted @ 2012-11-15 09:25 博文视点(北京)官方博客 阅读(424) 评论(0) 推荐(0) 编辑
摘要:我们知道在计算机中处理的数是按照一定的规则进行组织和存放的。其中的每个数按特定的编码规则组织。可是光有这些数的组织规则还是不够,计算机每条指令的操作数可能会有不同的数据类型。那么计算机能处理哪些数据类型呢?在这一章里,我们将要了解数与数据类型。数计算机能处理各种各样的信息,计算机硬件对数据进行处理后,可呈现出各种各样的信息。数字数字是个基本的计数符号。通用的数字有10个:0,1,2,3,4,5,6,7,8,9。以这些数字组合构成的数是十进制数。思考各个进制数的数字。1.二进制数字包括0和1。2.八进制数字包括0,1,2,3,4,5,6,7。3.十进制数字包括0,1,2,3,4,5,6,7,8, 阅读全文
posted @ 2012-11-14 08:43 博文视点(北京)官方博客 阅读(268) 评论(0) 推荐(0) 编辑
摘要:选择编译器nasm?fasm?yasm?还是masm、gas或其他?前面三个是免费开源的汇编编译器,总体上来讲都使用Intel的语法。yasm是在nasm的基础上开发的,与nasm同宗。由于使用了相同的语法,因此nasm的代码可以直接用yasm来编译。yasm虽然更新较慢,但对nasm一些不合理的地方进行了改良。从这个角度来看,yasm比nasm更优秀些,而nasm更新快,能支持更新的指令集。在Windows平台上,fasm是另一个不错的选择,平台支持比较好,可以直接用来开发Windows上的程序,语法也比较独特。在对Windows程序结构的支持上,fasm是3个免费的编译器里做得最好的。ma 阅读全文
posted @ 2012-11-13 08:54 博文视点(北京)官方博客 阅读(478) 评论(0) 推荐(0) 编辑
摘要:《支撑处理器的技术——永无止境地追求速度的世界》(为程序员打开处理器黑盒,深入理解构造与原理。)(美)海撒安藤著;李剑译ISBN 978-7-121-18092-72012年10月出版定价:69.00 元356页16开编辑推荐地球是由超过总人口好几倍的处理器在支撑,其长期处于计算机、移动设备甚至社会基础设施的核心地位。本书讲解处理器构造极其高性能化技术,介绍怎样写程序才能让处理器高效运行。本书内容处于逻辑电路的上层,主要以“微体系架构”和“指令架构”这些程序员接口为中心,剥茧抽丝地为你打开处理器黑盒,让你真正理解处理器的构造和运行原理。开车并不须要了解汽车的结构及结构带来的性能差异,但想开得拉 阅读全文
posted @ 2012-11-12 16:01 博文视点(北京)官方博客 阅读(439) 评论(0) 推荐(0) 编辑
摘要:x86/x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN 978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理器介绍得最详尽又最具实践指导意义的一本书内容简介本书是对Intel手册所述处理器架构的探索和论证。全书共五大部分,从多个方面对处理器架构相关的知识进行了梳理介绍。书中每个章节都有相应的测试实验,所运行的实验例子都可以在真实的机器上执行。通过阅读本书,读者应能培养自己动手实验的能力。如果再有一些OS方面的相关知识,基本上就可以写出自己简易的OS核心。本书适合有一定的x86基础知识,且对了解处理器架构 阅读全文
posted @ 2012-11-12 08:58 博文视点(北京)官方博客 阅读(839) 评论(0) 推荐(0) 编辑
摘要:现在,我们将用Objective-C定义一个实际的类,并学习如何使用类的实例。同样,我们将先学习过程。因此,实际的程序范例可能不是特别实用,那些更加实际的内容将在稍后讨论。假设要编写一个用于处理分数的程序,可能需要处理加、减、乘、除等运算。如果你还不知道什么是类,那么可以从一个简单的程序开始,代码如下:代码清单3-1// 采用分数的简单程序#import <Foundation/Foundation.h>int main (int argc, char * argv[]){ @autoreleasepool { intnumerator = 1; intdenominator = 阅读全文
posted @ 2012-11-09 09:36 博文视点(北京)官方博客 阅读(169) 评论(0) 推荐(0) 编辑
摘要:你已经遇到过Objective-C的基本数据类型int。回顾一下,声明为int类型的变量只能用于保存整型值,也就是不包含小数位数的值。Objective-C还提供了另外3种基本数据类型:float、double和char。声明为float类型的变量可以存储浮点数(即包含小数位数的值)。double类型和float类型一样,通常,前者表示的范围大约是后者的两倍。char数据类型可存储单个字符,例如字母a、数字字符6或者一个分号(后面将详细讨论有关内容)。在Objective-C中,任何数字、单个字符或者字符串通常都称为常量。例如,数字58表示一个常量整数值,字符串@"Programmi 阅读全文
posted @ 2012-11-08 09:23 博文视点(北京)官方博客 阅读(430) 评论(0) 推荐(0) 编辑
摘要:你已经看到处理分数的方法如何通过名称直接访问两个实例变量numerator和denominator。事实上,实例方法总是可以直接访问它的实例变量的。然而,类方法则不能,因为它只处理本身,并不处理任何类实例(仔细想想)。但是,如果要从其他位置访问实例变量,例如,从main函数内部来访问,该如何实现?在这种情况下,不能直接访问这些实例变量,因为它们是隐藏的。将实例变量隐藏起来的这种做法实际上涉及一个关键概念——“数据封装”。它使得编写定义的人在不必担心程序员(即类的使用者)是否破坏类的内部细节的情况下,扩展和修改其定义。数据封装提供了程序员和其他开发者之间的良好隔离层。 通过编写特殊方法来检索实. 阅读全文
posted @ 2012-11-07 09:17 博文视点(北京)官方博客 阅读(233) 评论(0) 推荐(0) 编辑
摘要:在Objective-C中,事实上与所有的程序设计语言一样,在两个数相加时使用加号(+),在两个数相减时使用减号(-),在两个数相乘时使用乘号(*),在两个数相除时使用除号(/)。这些运算符称为二元算术运算符,因为它们运算两个值或项。运算符的优先级你已经看到如何在Objective-C中执行简单的运算,例如,加法。下面的程序进一步说明了减法、乘法和除法运算。在程序中执行的最后两个运算引入了一个概念,即一个运算符比另一个运算符有更高的优先级。事实上,Objective-C中的每一个运算符都有与之相关的优先级。优先级用于确定包含多个运算符的表达式如何求值:优先级较高的运算符首先求值。如果表达式包含 阅读全文
posted @ 2012-11-06 10:16 博文视点(北京)官方博客 阅读(406) 评论(0) 推荐(0) 编辑
摘要:Objective-C 程序设计(第4版)(全球最畅销Objective-C编程书籍)[美]Stephen G. Kochan(斯蒂芬·G·科昌)著林冀范俊朱奕欣译ISBN 978-7-121-18091-02012年9月出版定价:89.00元16开512页全球最畅销Objective-C编程书籍内容简介这是一本Objective-C编程领域最畅销的书籍,内容涵盖Xcode 4.2和自动引用计数(ARC)。本书详细介绍了Objective-C和苹果iOS、Mac平台面向对象程序编程的知识。本书作者假设读者没有面向对象程序语言或者C语言(Objective-C基础)编程经验, 阅读全文
posted @ 2012-11-06 09:15 博文视点(北京)官方博客 阅读(234) 评论(0) 推荐(0) 编辑
摘要:条件表达式Scala的if/else语法结构和Java或C++一样。不过,在Scala中if/else表达式有值,这个值就是跟在if或else之后的表达式的值。例如:if (x > 0) 1 else -1上述表达式的值是1或−1,具体是哪一个取决于x的值。你可以将if/else表达式的值赋值给变量:val s = if (x > 0) 1 else -1这与如下语句的效果一样:if (x > 0) s = 1 else s = -1不过,第一种写法更好,因为它可以用来初始化一个val。而在第二种写法当中,s必须是var。(之前已经提过,Scala中的分号绝大多数情况下不是必 阅读全文
posted @ 2012-11-06 09:13 博文视点(北京)官方博客 阅读(574) 评论(0) 推荐(0) 编辑
摘要:前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了SurfaceFlinger服务。有了这些预备知识之后,我们就可以从正面来分析SurfaceFlinger服务的实现原理了。SurfaceFlinger服务负责管理系统的帧缓冲区设备,并且负责渲染系统的UI,即各个应用程序的UI。在本文中,我们就简要介绍SurfaceFlinger服务,并且制定学习计划。 在前面Android应用程序与SurfaceFlinger服务的关系概述和学习计划一系列的文章中提到,SurfaceFlinger服务运行在System进程中,用来统一管理系统的帧缓冲区设备。由.. 阅读全文
posted @ 2012-11-05 17:12 博文视点(北京)官方博客 阅读(474) 评论(0) 推荐(0) 编辑
摘要:SurfaceFlinger服务负责绘制Android应用程序的UI,它的实现相当复杂,要从正面分析它的实现不是一件容易的事。既然不能从正面分析,我们就想办法从侧面分析。说到底,无论SurfaceFlinger服务有多复杂,它都是为Android应用程序服务的,因此,我们就从Android应用程序与SurfaceFlinger服务的关系入手,来概述和制定SurfaceFlinger服务的学习计划。 SurfaceFlinger服务运行在Android系统的System进程中,它负责管理Android系统的帧缓冲区(Frame Buffer)。Android系统的帧缓冲区的相关知识,可以参... 阅读全文
posted @ 2012-11-02 12:33 博文视点(北京)官方博客 阅读(162) 评论(0) 推荐(0) 编辑
摘要:在Android系统中,Content Provider作为应用程序四大组件之一,它起到在应用程序之间共享数据的作用,同时,它还是标准的数据访问接口。前面的一系列文章已经分析过Android应用程序的其它三大组件(Activity、Service和Broadcast Receiver)了,本文将简要介绍Content Provider组件在Android应用程序设计中的地位,为进一步学习打好基础。 我们知道,在Android系统上,每一个应用程序都有一个独立的用户ID。为什么要给每一个应用程序分配一个独立的用户ID呢?这是为了保护各个应用程序的数据不被其它应用程序恶意破坏而设计的。Andr.. 阅读全文
posted @ 2012-11-02 12:33 博文视点(北京)官方博客 阅读(176) 评论(0) 推荐(0) 编辑
摘要:在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益于应用程序框架层提供了一套完整的机制来协助应用程序启动这些Activity和Service,以及提供Binder机制帮助它们相互间进行通信。在前面的文章Android进程间通信(IPC)机制Binder简要介绍和学习计划和Android系统在新进程中启动自定义服务过程(startService)的原理分析中,我们已经系统地介绍了Binder机制和Service的启动过程了,在本文中,简要介绍Activity的启动过程以及后续学习计划。 在Android系.. 阅读全文
posted @ 2012-11-01 14:37 博文视点(北京)官方博客 阅读(209) 评论(0) 推荐(0) 编辑
摘要:在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用;本文通过一个简单的例子来学习Android系统的广播机制,为后续分析广播机制的源代码作准备。 在Android系统中,为什么需要广播机制呢?广播机制,本质上它就是一种组件间的通信方式,如果是两个组件位于不同的进程当中,那么可以用Binder机制来实现,如果两个组件是在同一个进程中,那么它们之间可以用来通信的方式就更多了,这样看来,广播机制似乎是多余的。然而,广播机制却是不可替代的,它和Binder机制不一.. 阅读全文
posted @ 2012-11-01 14:35 博文视点(北京)官方博客 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示