博文视点(北京)官方博客

——技术凝聚实力 专业创新出版

如何构建智能应用?

如何构建智能应用? 我们已经说明了在应用中嵌入智能会带来哪些好处,也介绍了受益于智能技术的各个领域,在这些领域中智能技术极大地提升了用户的使用体验,增加了用户从应用中获得的价值。现在,接下来的问题自然是“怎么才能构建自己的智能应用?” 本书都是在介绍智能组件的设计和实现,但为

2011-08-19 16:49:19

阅读数:1362

评论数:0

机器学习、数据挖掘及其他

机器学习、数据挖掘及其他 在本书中,我们不断地提及“智能”,到底什么是“智能”?我们说的是人工智能吗?或者是机器学习?它跟数据挖掘和软计算有什么关系?在学术界,对于本书中所介绍的内容的精确定义也已经争论了好几年。从实践的角度看,这些概念并没有实质性的区别,更多的是指应用环境的不

2011-08-19 16:45:10

阅读数:1749

评论数:0

智能Web算法

智能Web算法  (美)玛若曼尼斯(Marmanis, H.),(美)巴宾寇(Babenko, D.)著 阿稳,陈钢译 ISBN 978-7-121-13919-2 2011 年7 月出版 定 价:65.00 元 16开 400页 内 容 简 介 本书涵盖了五类

2011-08-19 16:39:48

阅读数:2129

评论数:0

算法评测

算法评测 算法评测——复杂度记法 刚才说过,线性查找的计算量为O(n),二分查找的复杂度为O(log n)。大多情况下,算法的复杂度可以这样定量评测。算法评测一般使用复杂度记法(Order记法)。 复杂度记法表示的含义是,当算法的输入大小为n时,大致需要这么多的计算量。

2011-08-18 17:10:51

阅读数:1239

评论数:0

算法和数据结构

算法和数据结构 算法和数据结构——千丝万缕的联系 纵观各种算法书籍,大多都是将算法和数据结构作为一个整体来讲述。 数据结构就是数组、树结构等存储或表现对象数据的结构。 将算法和数据结构作为整体讲述,是因为必须依照算法中的常用操作选择数据结构。例如,事先将数据保存在适当的树

2011-08-18 17:00:59

阅读数:1344

评论数:0

什么是关键字链接?

什么是关键字链接? 什么是关键字链接? 博客服务Hatena Diary(http://d.hatena.ne.jp/)支持关键字链接,这是个很特别的功能。 该功能在前面的图5.3(p.112)的关键字链接截图中已介绍过。如图5.3所示,写博客时部分关键字会自动加上链接,链

2011-08-17 17:49:43

阅读数:2949

评论数:0

何谓算法

何谓算法 之前反复说过,要处理的数据越大,算法和数据结构的选择对速度的影响也就越大。首先看个简单的例子。假设要从数据中使用线性查找(Linear Search),从头开始依次查找所需数据,那么如果有1000条数据,那就需要反复查找数据直至找到为止,这个算法最多要进行1000次查

2011-08-17 17:21:38

阅读数:1472

评论数:1

大规模Web服务开发技术

大规模Web服务开发技术  [日]伊藤直也, 田中慎司编著 李剑 译 ISBN 978-7-121-13884-3   2011年7月出版 定价:59.00元 16开 356页 内 容 简 介 Hatena是日本最大的Web 服务提供商之一,它提供的服务包括关键

2011-08-17 17:13:27

阅读数:1851

评论数:0

什么是依赖,什么是抽象

什么是依赖,什么是抽象 1.关于依赖和耦合:从小国寡民到和谐社会 在老子的“小国寡民”论中,提出了一种理想的社会状态:邻国相望,鸡犬之声相闻,民至老死,不相往来。这是他老人家的一种社会理想,老死不相往来的人群呈现了一片和谐景象。因为不发生瓜葛,也就无所谓关联,进而无法导致

2011-08-15 16:38:27

阅读数:1003

评论数:0

关于抽象和具体

关于抽象和具体 什么是抽象呢?首先不必澄清什么是抽象,而从什么算抽象说起,稳定的、高层的就代表了抽象。就像一个公司,最好保证了高层的稳定,才能保证全局的发展。在进行系统设计时,稳定的抽象接口和高层逻辑,也代表了整个系统的稳定与柔性。兵熊熊一窝,将良良一窝,软件的构建也正如打仗,

2011-08-15 16:30:06

阅读数:866

评论数:0

模式的起点

模式的起点 ¡ 工厂方法(FactoryMethod Pattern) 模式起点:将程序中创建对象的操作单独进行处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。 典型应用:工厂方法模式是最简单也最容易理解的模式之一。其关注的核心

2011-08-12 16:35:54

阅读数:1299

评论数:1

好代码、坏代码之四

好代码、坏代码之四 9.扩展无处不在 扩展性是衡量一个软件产品的重要尺度之一。通过合适的设计为软件系统赋予一定程度的扩展,是架构师着手设计的重要考虑因素,如图3-16所示。 扩展是个大课题,涉及软件系统的方方面面,依赖于粒度不同的架构格局。举例来说,数据库设计可以考虑在

2011-08-12 16:29:47

阅读数:1161

评论数:2

好代码、坏代码之三

好代码、坏代码之三 7.线程安全很重要 线程安全是重要的,在数据共享或同步的场合应将线程安全作为必须考虑的因素,不安全的代码将在多线程运行时造成严重的问题。例如,单例模式就是这样一个需要特别注意的例子: public sealed class Singleton {

2011-08-12 16:24:56

阅读数:1027

评论数:0

好代码、坏代码之二

好代码、坏代码之二 4.多注释,少废话 代码,一定是给人看的,而代码本身的逻辑又决定于方法、类型和依赖的关系之中,所以,必要的注释,是必需且必要的。通过注释的进一步解释,来辅助性地告知代码的逻辑、算法或者流程,不仅是好习惯,更是好代码。 另一方面,注释不是“无病呻吟”,没有

2011-08-11 16:50:13

阅读数:1125

评论数:0

好代码、坏代码之一

好代码、坏代码之一 1.命名很重要,让代码告诉你它自己 命名到底有多重要呢? 重要到这几乎是很多软件项目成功或者失败的“罪魁祸首”,究其原因,代码不光支撑了0和1在计算机系统中运行的业务逻辑,同时也是开发者进行交流与研究的标准语言。没有意义或者有歧义的命名,就像两个等待

2011-08-11 16:43:37

阅读数:1331

评论数:0

设计由何而来

设计由何而来 设计,从何而来?是需求。是重构。 设计原则是系统设计的灵魂,而设计模式是系统开发的模板,灵活自如的应用才是设计以不变应万变的准则。例如,实现一个用户注册的方法,首先会想到: //初次设计     public void Register(string n

2011-08-10 17:49:47

阅读数:919

评论数:0

解构控制反转(IoC)和依赖注入(DI)

解构控制反转(IoC)和依赖注入(DI) 1.控制反转 控制反转(Inversion ofControl,IoC),简言之就是代码的控制器交由系统控制,而不是在代码内部,通过IoC,消除组件或者模块间的直接依赖,使得软件系统的开发更具柔性和扩展性。控制反转的典型应用体现在

2011-08-10 17:45:37

阅读数:824

评论数:0

对象创建的依赖

对象创建的依赖 关于依赖的哲学,最典型的违反莫过于对象创建的依赖。自面向对象的大旗树立以来,对于对象创建话题的讨论就从未停止。不管是工厂模式还是依赖注入,其核心的思想就只有一个:如何更好地解耦对象创建的依赖关系。所以,在这一部分,我们就以对象创建为主线,来认识对于依赖关系的

2011-08-10 17:39:30

阅读数:857

评论数:0

从此重构

从此重构 设计是如此重要,那么开发者的基本设计能力与素质又从何下手来培养呢? 最好的办法,就是请个老师。从框架中了解,从系统中实现,从书文中汲取。然而,设计能力的提升绝非一朝一夕之功,软件开发中的设计大师,往往必须具备多年的修行方可称之为“架构师”。 一个在简历中轻描淡

2011-08-09 18:37:02

阅读数:815

评论数:0

NET也有闭包

NET也有闭包 在.NET中,函数并不是第一级成员,所以并不能像JavaScript那样通过在函数中内嵌子函数的方式实现闭包,通常而言,形成闭包有一些值得总结的非必要条件:   嵌套定义的函数。   匿名函数。   将函数作为参数或者返回值。 在.NET中,可

2011-08-09 18:28:33

阅读数:951

评论数:0

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