自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (7)
  • 收藏
  • 关注

原创 WSUS 离线更新

WSUS 离线更新http://download.wsusoffline.net/StaticDownloadLink-recent.txt http://download.wsusoffline.net/wsusoffline952.zip释放以后,运行 。http://download.wsusoffline.net/

2015-02-27 10:00:21 6164

翻译 13.4.2 用计量单位格式化数据

13.4.2 用计量单位格式化数据当从 XML 数据读许多指标值时,我们只能将它们转换为浮点(float)值;这是对的,因为面积和森林覆盖率都是数字,但是,这种数据不能告诉我们多内容。把从非类型化的 XML 数据转换成 F# 类型化数据结构,其目的是使用有帮于了解这些值含义的类型,进行注解。为了使类型更具体,我们可以使用在第二章提到的计量单位(units of measure)。使用这个功能,描述面

2015-02-17 18:16:58 785

翻译 13.4.1 读取值

13.4.1 读取值我们要做的第一件事,是从 XML 中读取感兴趣的数据。我们要写一个函数,它的参数是 XDocument 对象的列表(用于数据集的每个页面),返回的序列中,每个元素包含了指标、 地区名,年份,当年的测量值。 清单 13.14 展示了 readValues 函数的形式,以及从 XML 节点中读数据的工具函数,表示一条记录。两个函数有一个名为 parse 的参数,这是一个函数,用来解

2015-02-17 17:38:01 575

翻译 13.4 从数据中收集信息

13.4 从数据中收集信息我们可以从互联网下载大量的数据,而困难在于如何从中收集到有用的信息。本章到目前为止,我们已经下载了地区列表,并把它转换为包含每个地区名字的序列;然后,下载一组包含所有地区和国家信息的 XML 文档。在本节,我们将把这些非类型化的 XML 数据转换为类型化的数据结构,包含的信息可以方便地显示给用户。

2015-02-16 21:23:17 638

翻译 13.3.3 获取指标

13.3.3 获取指标获取有关国家或地区的数据,需要使用世界银行服务的不同函数,函数的路径是 /countries/indicators,可以在 Data Calls 选项卡的 Query Generator(查询生成器)中找到,它能够请求指定国家特定时间段内的有关指标数据。我们不必单独下载每个感兴趣的地区数据,可以一次性地获得所有国家的信息,在内存中进行处理。以这种方式可以下载更多的数据,而请求的

2015-02-16 21:12:10 634

翻译 13.3.2 提取地区信息的代码

13.3.2 提取地区信息的代码我们下载函数的结果是字符串,因此,需要将字符串解析为 XML 文档。由于这个操作我们将经常要用,所以,要写一个简单的打包函数,用 worldBankDownload 下载数据,以 XDocument 对象的形式返回结果。下载异步运行,因此,我们使用异步工作流实现这个函数:let worldBankRequest(props) = async { let! text

2015-02-15 16:15:36 698

翻译 13.3.1 实现 XML 辅助函数

13.3.1 实现 XML 辅助函数LINQ to XML 主要是为 C# 和 VB 而设计的,在 F# 中使用可能有些麻烦。例如,F# 不支持隐式类型转换(因为这会使类型推断变得复杂),所以,每次描述元素名时,都必须使用 XName.Get,而不能只用字符串。作为变通,可以写简单的辅助函数或自定义运算符,来完成这功工作。 我们可以很容易实现几个 F# 函数,把 LINQ to XML 最常用的部

2015-02-15 14:28:55 625

翻译 13.3 探索并获取数据

13.3 探索并获取数据通过前面几个例子,我们已经知道,世界银行数据服务返回的数据是 XML 文档,因此,在写任何代码处理数据之前,都需要将它转换为 F# 类型。在第七章,我们在XML 和自定义的差别联合类型之间进行过转换,但在这里,我们将使用元组和序列。这是因为,这种数据结构很简单,交互式处理数据时,需要频繁地修改代码,既要调整如何使用现有的值,还要下载不同的信息。对于这种任务来说,元组更适合

2015-02-14 22:16:31 547

原创 把 Win 8.1 升级成 Windows 2012 R2 (续)

把 Win 8.1 升级成 Windows 2012 R2 (续)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ PackageDetect PackageIndex PackagesMicrosoft-Windows-Foundation-Package Micr

2015-02-14 20:07:29 1322

翻译 13.2.2 从故障中恢复

13.2.2 从故障中恢复世界银行服务对每个用户密钥每天请求数量有限制,还限制了请求的频率,因此,如果我们一次运行大量的请求,有可能会出错。解决的方法是捕获异常,稍后重试请求。 清单 13.7 实现的循环,重复执行请求,直到成功,或者尝试 20 次为止。使用异常报告失败,使用 F# 的 try … with 结构捕捉异常。清单 13.7 重复运行 web 请求 (F# Interactive)>

2015-02-13 17:28:31 711

原创 Hyper-V 虚拟机制复制功能

Hyper-V 虚拟机制复制功能第二代 Hyper-V 虚拟机终于可以复制了。 方法: Hyper-V 设置中,选中允许增强会话模式。 在连接虚拟机时,会允许你选择。 也可以保存,方便了在下次连接时不必再重复选择了。 但是,一激动,忘记改分辨率了。 默认的分辨率就是当前显示器的分辨率。 再想改,已经找不动地方了。在界面上根本就没有地方好改了。配置保存在: C:\Users\Admin

2015-02-12 22:26:43 30141 1

翻译 13.2.1 访问世界银行的数据

13.2.1 访问世界银行的数据我们在本章使用的数据源,是由世界银行提供的服务,它是为发展中国家提供资金和知识的国际组织。作为其工作的一部分,它需要识别哪种类型的支持最有效,确定需求在哪里,评估对发展中国家的经济,生活质量,环境是否产生了影响。世界银行有一组数据,称为世界发展指标(World Development Indicators),包含了许多国家的信息,而且数据在线可用。

2015-02-12 21:44:05 3138 1

翻译 13.2 连接到世界银行

13.2 连接到世界银行我们把异步工作流的内容放在有关探索式编程(explorative programming)这一章来讨论,绝不是偶然的。今天,我们要处理的很多重要数据源,都是以网站服务的形式,或者其他基于网站的应用程序,在线提供。我们已经知道,对于获取数据,异步工作流是 F# 的本质特征。 高效下载数据并不是我们唯一的问题。数据源返回的数据,通常是非类型化的格式

2015-02-11 21:36:45 587

翻译 欢迎使用CSDN-markdown编辑器

13.1.4 创建基本工作流操作F# PowerPack 库包含许多重要 I/O 操作的异步版本,但是,不可能包括所有。为此,F# 库还提供了构建自己的基本工作流操作的方法。如果操作要运行在工作流内部,使用的标准 .NET 模式,提供 BeginOperation 和 EndOperation 方法,可以使用 Async.FromBeginEnd 方法;如果把这两种方法作为参数,就会返回异步工作流。

2015-02-11 15:29:26 518

翻译 13.1.3 理解工作流的运行

13.1.3 理解工作流的运行从前一章我们知道,用计算表达式写的 F# 代码,会转换成使用基本操作的表达式,由适当计算生成器提供。对于异步工作流来说,let! 结构转换成对 async.Bind 的调用,return 转换成 async.Return;此外,异步工作流自动延迟,因此,计算本身打包装到额外的基本操作中,确保整个代码包含在一个函数中,这个函数在后面工作流启动时执行。清单 13.3 是清单

2015-02-10 22:12:05 606

翻译 13.1.2 异步下载网页

13.1.2 异步下载网页 在我们使用异步工作流来抓取网页内容之前,需要引用 FSharp.PowerPack.dll 库,它包含了许多 .NET 方法的异步版本。开发独立的应用程序时,可以使用添加引用命令;在这一章,我们将使用互动开发模式,因此,创建一个新的 F# 脚本文件,使用 #r 指令(清单  13.1)。 清单13.1 使用异步工作流写代码 (F# Interactive

2015-02-09 21:25:54 633

翻译 13.1.1 异步工作流为什么重要?

13.1.1 异步工作流为什么重要? 假设我们要下载网页的内容,在应用程序中使用,我们可以使用 System.Net 命名空间下的 WebClient 类,但下不能演示我们需要解决的问题,运行复杂、长时间的操作。相反,我们将首先显式创建 HTTP 请求,然后,下载数据: var req =HttpWebRequest.Create("http://manning.com");v

2015-02-08 11:02:56 1353

翻译 13.1 异步工作流

13.1 异步工作流 有许多地方需要用到异步操作,比如,使用磁盘、调用 web 服务,或者连接到数据库,异步工作流可能显著提高性能。当应用程序执行异步操作时,很难预测操作什么时候完成。如果不能正确处理异步操作,应用程序就会效率低下,甚至可能停止响应。要使代码能够执行异步操作,不会阻止调用线程,避免出现问题是必要的,但是,使用当前的技术很难实现。在 F# 中,这极大地简化了,是因为有了异

2015-02-03 16:24:16 1081

翻译 第十三章 异步和数据驱动编程

第十三章异步和数据驱动编程 本章介绍 ■异步工作流编程■使用 F# Interactive 浏览数据■使用度量单位定义类型■处理与可视化数据 我们首先引述了一次对比尔 · 盖茨的采访,他谈到他感兴趣的编程任务的类型,并描述了编写应用程序的典型情况:从 web 获取数据,不只是考虑把它当作文本,而且要引入结构,然后… …,尝试不同的数据表现方式,且以交互的方式。…

2015-02-03 16:15:56 641

翻译 第四部分 函数式编程应用

第四部分 函数式编程应用 虽然函数式编程肯定是优雅的,但是,你可能更感兴趣的是其实用目的:作为一种通用的风格,是有用的,在某些问题域中,它肯定更出色。我们已经看到的例子,比如,第四章绘制饼图的应用程序,和第十一章简单的照片浏览器,这些示例的主要目的,是为了演示特定的概念和技术。第四部分则不同。在每一章,我们将花大量时间讨论实际问题,使用最适当的 F# 特点和函数式编程来解决。这些代码将

2015-02-03 10:47:57 663

翻译 12.8 第十二章小结

12.8 第十二章小结 在本章的第一部分,我们讨论了 .NET 序列,用 IEnumerable 类型表示,在 F# 中还称为 seq 。我们开始讨论生成序列的技术,包括高阶函数、迭代器和 F# 序列表达式。我们知道,序列是延迟的,能够创建无穷序列。我们还看到了一个实际的示例,使用颜色的无穷的序列,把绘制图表的代码,与用于在图表中生成颜色的代码分离开来。接下来,我们讨论了如何处理序列。

2015-02-02 15:39:16 739

翻译 12.7.3 使用计算表达式进行重构

12.7.3 使用计算表达式进行重构 在前一章,我们讨论过重构函数式程序的方法,最后一个主题是延迟性,它变改代码的执行方式,而不影响程序的结果。从某种意义上讲,添加延迟性也可看作是一种重构技术;计算表达式的类似之处在于,增加额外的代码,但不改变核心意思。 提示  在计算表达式和延迟性之间有密切的关系,使用 Lazy 计算类型,创建能够把代码转换成延迟计算的计算表达式,是有可

2015-02-02 15:11:58 630

翻译 12.7.2 创建日志记录计算

12.7.2 创建日志记录计算 清单 12.24 首先实现两个辅助函数,用于读写控制台,且两者还会把消息写入日志,所以,它们将括在 log 计算块中。为了显示如何组合非标准计算,我们在第三个函数中,使用了两个函数。在前面的示例中,我们使用 let! 基本操作,在清单 12.24 还引入了 do!。 清单 12.24 使用计算表达式的日志 (F# Interactive)> le

2015-02-02 14:45:34 620

翻译 12.7.1 创建日志记录计算

12.7.1 创建日志记录的计算 这个计算将产生一个值,并能够将消息写入到本地日志记录缓冲区。这样,计算的结果将成为一个值,和包含消息的字符串列表。同样,我们使用只有一个识别器的差别联合,表示这个类型: type Logging =   | Log of 'T * list 这个类型非常类似于我们先前讨论的 ValueWrapper 示例,只是加上了一个 F# 列表,

2015-02-02 11:34:24 602

翻译 12.7 给计算增加日志记录

12.7 给计算增加日志记录 日志通常可以使用全局可变状态实现。然而,如果我们想要避免使用全局可变状态,并保持程序的纯函数性,那又该如何呢?我们有一个选择,就是把日志记录器的状态作为额外的参数值,传递我们要调用的每个函数。实现可能非常困难(想象一下,如果我们决定将另一个参数添加到这个状态中!)。要解决这个问题,我们可以创建自定义计算类型,启用了日志记录,把日志记录器的状态隐藏在计算类型

2015-02-01 18:27:52 679

翻译 12.6 实现选项的计算表达式

12.6 实现选项的计算表达式 在 12.4 节,我们用选项值作为示例,介绍了用 LINQ 查询和 F# 计算表达式创建非标准计算的概念,处理选项值的代码,有自定义的值绑定读取实际值,如同标准值。既然我们已经知道如何转换计算表达式,也就知道我们的 Bind 成员会接收值和 lambda 函数。因为我们处理的是选项类型计算表达式,只有当值是 Some(x) 而不是 None 时,我们才打算执

2015-02-01 16:17:07 735

SQL.Server.2012.Integration.Services-2

SQL.Server.2012.Integration.Services

2012-04-20

SQL.Server.2012.Integration.Services

SQL.Server.2012.Integration.Services

2012-04-20

SQL.Server.2012.Administration-2

SQL.Server.2012.Administration

2012-04-20

SQL.Server.2012.Administration

SQL.Server.2012.Administration

2012-04-20

jQuery.1.4.Reference.Guide

jQuery.1.4.Reference.Guide

2010-02-05

空空如也

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

TA关注的人

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