Scala是Twitter使用的主要应用编程语言之一。很多我们的基础架构都是用Scala写的,我们也有一些大的库支持我们使用。Scala是一门高效并且庞大(large)的语言,经验教会我们在实践中要非常小心。 它有什么陷阱?哪些特性我们应该拥抱,哪些应该避开?我们什么时候采用“纯函数式风格”,什么时候应该避免?换句话说:我们发现哪些可以高效的使用这门语言的地方?本指南试图把我们的经验提炼成短文,提供一系列最佳实践。我们使用Scala主要创建一些大容量分布式系统服务——我们的建议也偏向于此——但这里的大多建议也应该自然的适用其他系统。这不是法则,但有违于它的做法须有足够的理由。
嵌入还有另外一个小便利,如下例子展示了一个嵌入字段以及一个正常的命名字段。 type Job struct { Command string *log.Logger } 现在 Job 类型具有 *log.Logger
尽管JSP是在Spring MVC应用中产生视图的最可能的选择,但它不是惟一的选择。通过切换视图解析器和视图实现,你的应用可以使用其他视图层技术产生Web页面,甚至可以产生非HTML的输出。在本章中,你学会了如何在Spring MVC应用中使用Velocity或FreeMarker来代替JSP。以类似的方式,你也看到如何将Jakarta Tiles集成到你的Spring MVC应用中,使应用的外观可用性更高,也更美观。最后,你看到如何创建定制的视图实现,能够产生动态生成的二进制内容,比如Excel工作表、PDF文档以及图像。虽然本章在应用的视图层为你提供了若干种选择,但所有你看到的实现都是在Spring MVC应用中完成的。那么,如果你更偏爱别的MVC框架呢?在下一章中,我们会把选择的范围扩展到其他MVC框架,从而你可以同时使用Spring以及你自己选择的MVC框架。
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。这个项目的地址是http://hadoop.apache.org/core/。
Python 研究(Dive Into Python) Dive Into Python 是为有经验的程序员编写的一本 Python 书。<br>ActiveState 制作了一个 Windows 上的 Python 安装程序称为 ActivePython, 它包含了一个完整的 Python 发布; 一个适用于 Python 编程的 IDE 附加了一些 Python 的 Windows 扩展, 提供了全部的访问 Windows APIs 的服务, 以及 Windows 注册表的注册信息。 虽然 ActivePython 不是开源软件, 但它可以自由下载。 ActivePython 是我曾经学习 Python 时使用过的 IDE, 除非有别的原因, 我建议您使用它。可能的一个原因是:ActiveState 通常要在新的Python 版本出来几个月以后来更新它的安装程序。如果您就需要Python 的最新版本, 并且 ActivePython 仍然落后于最新版本的话, 您应该直接跳到在 Windows 上安装 Python 的第二种选项。
JMS 给java 程序员提供了一种通用的方式来创建、发送、接收和查看企业消息系统消息。企业消息产品(或者有时称为面向消息的中间件产品)正逐渐成为公司内操作集成的关 键组件。这些产品可以将分离的业务组件组合成一个可靠灵活的系统。除了传统的MOM 供应商,企业消息产品也可以由数据库供应商和许多与网络相关的公 司来提供。Java 语言的客户端和Java 语言的中间层服务必须能够使用这些消息系统。JMS 为Java 语言程序提供了一个通用的方式来获取这些系统。JMS 是一个接口和相关语义的集合,那些语义定义了JMS 客户端如何获取企业消息产品 的功能。由于消息是点对点的,所以JMS 的所有用户都称为客户端(clients)。JMS 应用由定义 消息的应用和一系列与他们交互的客户端组成。
我第一次写关于Standard Template Library的东西是在1995年,那时,我决定把More Effective C++的最后一个条款写成一个STL的简要概览。我早该更好地了解STL。不久以后,我开始收到一些mail,问我什么时候写Effective STL。 我把这个想法忍耐了几年。一开始,我对STL不够熟悉,所以不能给出关于它的建议。但随着时间的推移,我的STL的经验丰富了,主要问题出在其他方面。当一个程序库的在效率和可扩展性设计上表现出突破性的时候从来没有出过什么问题,但当开始使用STL时,这成了我不能预见的实际问题。迁移到一个几乎最简单的STL程序都成了一个挑战,不光是因为库的实现变化多端,而且因为现有的编译器对模板支持有好有坏。STL的教材很难得到,所以学习“用STL方式编程”很难;但即使跨越了这个障碍,找到正确易学的参考文档同样很困难。可能使人畏惧的是,即使最小的STL使用错误往往会导致一个编译器诊断的风暴——每一个错误都有上千个字长,而且大多涉及的类,函数或模板在令人厌恶的源代码中并没有被提及——几乎都是难以理解的。虽然我很钦佩STL和它背后的英雄们,但我还是觉得把STL推荐给在业的程序员并不合适。我不能肯定能有效率地使用STL。 然后我开始注意到一些让我感到惊奇的事情。尽管有很多小问题,尽管只有令人消沉的文档,尽管编译器的出错信息像无线电信号杂音,但仍然有很多我的咨询客户在使用STL。而且,他们不只是玩玩而已,他们竟然把STL用到了产品的代码中!这是一个革命。我知道STL表现出的是一流的设计,但程序员是不会喜欢用“必须忍耐轻微头痛,只有贫乏的文档和天书般的错误信息,但设计得很好”的程序库的。我了解到越来越多的专业程序员都认为即使一个实现得很不好的STL也比什么都没有好得多。
OS 9 上的 Python 10 1.5. RedHat Linux 上的 Python 11 1.6. Debian GNU/Linux 上的 Python 12 1.7. 从源代码安装 Python
ng在Lua中是很常见的。可以使用单引号或者双引号表示字符串 a = "a line" b = 'another line' 为了风格统一,最好使用一种,除非两种引号嵌套情况。对于字符串中含有引号的情
有一份规范的指南能协助您更理智的,更好维护和更好扩展Sass。
Google MapReduce中文版 译者: alex 摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value
Oracle数据库是第一个为企业网格计算而设计的数据库,她为管理信息和应用提供了灵活、低成本、高效益的方式。企业网格计算把存储及服务能力转化为符合业界标准、模块化的资源池 (resource pool)。在这种体系结构之下,新系统可以从组件化的资源池中组合资源而迅速构成。企业也无需建设尖锋负荷系统 (peak workloads),因为计算能力可以在需要时轻松地从资源池中获得或重新分配。
本书的前身是Marakana Android Bootcamp培训课程内部的连载读物,其受众多达几千人,遍布四个大洲,大多是一些移动设备公司的开发者。它总结了我在几年Android教学中的心得体会:哪些实践有用,哪些实践应该避免。经过适当的增删与提炼,最终编成本书。<br> 自Java初出茅庐不久,我就与它结下了不解之缘。当时java的定位还是在嵌入式领域,“对身边的各种设备编程”,这一想法对我触动很深。不久之后Java的主力就转向了Web应用的开发,我的工作也随之而转型到大型企业级应用,并在此间度过了十个春秋。所以当Android出现时,我马上就认了出来:为非PC的设备编程!更何况Android所支持的不仅仅是手机而已。<br> 本书假定读者拥有java或类似语言的基础,配合实例,参照一个合适的难度,手把手地为你讲解Android应用的开发过程。Learning Android,更是体会Android的思维方式。
Spring培训应用和银行之间的会话开始于一个从Spring培训应用到银行的支付服务的远程过程调用(RPC)。表面上看,RPC调用类似于调用一个本地对象的方法。它们都是同步的操作,调用代码将被堵塞,直等到被调用过程完成为止。<br> 它们的不同也就是距离的问题,类似于人类之间的交流。假设你们在众所周知的正在工作的水冷机旁讨论周末足球比赛的结果,你们就在进行一个本地会话——也就是说,会话发生在同一房间的两个人之间。同样地,一个本地方法调用就是执行流程在同一个应用的两个代码块之间的交换。
CA. SPKAC FORMAT The input to the -spkac command line option is a Netscape signed public key and challenge
源项目,为了让更多人使用和了解这个项目。本人发了点时间将其网站提供的Cookbook翻译/整理成中文版。 地址: http://www.open-open.com/jsoup
Git 堪称版本控制瑞士军刀。这个可靠、多才多艺、用途多样的校 订工具异常灵活,以致不易掌握,更别说精通了。 正如Arthur C. Clarke所说,足够先进的技术与魔法无二。这是学习Git的好办法:新手 不妨忽略Git的内部机理,只当小把戏玩,借助Git其奇妙的能力,逗逗朋友,气气敌人。
application对象实现了用户间数据的共享,可存放全局变量.它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问.服务器的启动和关闭决定了application对象的生命.它是ServletContext类的实例。 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问, 也就是说他可以访问到本页所在的SESSION.也可以取本页面所在的application的某一属性值, 他相当于页面中所有功能的集大成者,它的本类名也叫pageContext.
JMS 客户端创建一个 Connection 对象,一个或多个 Session 对象,还有一些消息的生产者和消费者。连接在创建之初处于停止状态,这就意味着,没有消息会被传送。 通常在连接准备好之前(即在所有消息消费者创建之前),都让其处于停止状态。随后,客户端调用此连接对象的 start 方法,然后消息就开始到达此连接的消费者。这种准备期间的约定将客户端的混乱减至最少,否则在客户端尚在准备自身的过程中,就可能有异步消息被传送过来。 连接可以被立即启动,而后再继续客户端的准备工作。这样的话,客户端就必须准备好在它的准备过程中处理异步消息的传送。
JavaScript是由Netscape公司开发并随Navigator导航者一起发布的、介于Java与HTML之间、基于对象事件驱动的编程语言,正日益受到全球的关注。因它的开发环境简单,不需要Java编译器,而是直接运行在Web浏览器中,而因倍受Web设计者的所爱。