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

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

本章介绍

■异步工作流编程

■使用 F# Interactive 浏览数据

■使用度量单位定义类型

■处理与可视化数据

我们首先引述了一次对比尔 · 盖茨的采访,他谈到他感兴趣的编程任务的类型,并描述了编写应用程序的典型情况:

从 web 获取数据,不只是考虑把它当作文本,而且要引入结构,然后… …,尝试不同的数据表现方式,且以交互的方式。… 写很少的代码,可以有自己专门的算法来处理数据。[2008年,盖茨]

这正好说出了我们在这一章所要做的,我们将会看到,F# 语言和交互式控制台就能很好地完成这种任务,我们称这种方法为探索式编程(explorative programming),因为我们的目标是探索巨量的数据,找到收集有用信息的方法。我们将在本章花费大量篇幅,讨论使用 F# Interactive,因为它提供的方法,能够“写很少的代码”,用“专门的算法处理数据”,立即执行,看到结果。

F# 语言和库在许多方面,支持这种类型的编程,我们会看到所有涉及到的重要技术。要获取数据,我们可以使用基于计算表达式的异步工作流,其语法我们在前一章介绍过;然后,我们将看到使用 F# 的类型,在数据中“引入结构”;我们还将使用度量单位,指定特定的值,不仅是浮点数,而且有单位,比如平方公里。

提示

在这一章,我们将使用由世界银行(World Bank)提供的数据。在前半章将详细介绍,如何以适当的格式,获得我们所需要的所有数据。

如果对处理和可视化更有兴趣,可以直接看 13.4 节。不一定按照第一部分所描述的,一步一步从世界银行下载数据,可以直接从本书网站获得所有数据。

最后,我们将讨论“尝试不同的数据表现方式”。特别是,我们将看到如何使用 .NET API 将结构化的数据导出到 Excel,以编程方式把数据呈现为图表。

时间: 2024-08-06 09:47:31

第十三章 异步和数据驱动编程的相关文章

perl5 第十三章 Perl的面向对象编程

第十三章 Perl的面向对象编程 by flamephoenix 一.模块简介二.Perl中的类三.创建类四.构造函数 实例变量 五.方法六.方法的输出七.方法的调用八.重载九.析构函数十.继承十一.方法的重载十二.Perl类和对象的一些注释 本章介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承.方法重载和数据封装等内容.一.模块简介    模块(module)就是Perl包(pachage).Perl中的对象基于对包中数据项的引用.(引用见第x章引用).详见http:

【读书笔记】C#高级编程 第十三章 异步编程

(一)异步编程的重要性 使用异步编程,方法调用是在后台运行(通常在线程或任务的帮助下),并不会阻塞调用线程.有3中不同的异步编程模式:异步模式.基于事件的异步模式和新增加的基于任务的异步模式(TAP,可利用async和await关键字来实现). (二)异步模式 1.C#1的APM 异步编程模型(Asynchronous Programming Model). 2.C#2的EAP 基于事件的异步模式(Event-based Asynchronous Pattern). 3.TAP 基于任务的异步模

JAVASE学习笔记:第十三章 多线程和网络编程

一.进程是由线程组成的 调用线程:1.继承thread类或者实现rannable接口 2.重写run方法 3.创建线程 4.通过start方法开启线程 thread t1=new thread(runnable xx); 线程的状态:1.新建状态(new)  2.可执行状态(start获取CPU的使用权限)  3.执行状态(执行完返回第2步) 4.死亡状态 5.当线程遇到输入流和sleep时,执行状态变成阻塞状态 Thread.activeCount()  当前活动线程数 Thread.curr

第十三章:Python の 网络编程进阶(二)

本課主題 Python 中的 ORM - SQLAlchemy Paramiko 介紹和操作 初探堡垒机 Python 中的 ORM - SQLAlchemy 这是一个叫 Object Relational Mapping,可以让我们通过类和对象来操作数据库,具体功能包括创建表,定义数据类型,新增或者查询,一舨MySQL 能做的功能,都可以在 SQLALchemy 里做. 表操作 创建表 CREATE TABLE 删除表 DROP TABLE 清空表 TRANSCATE 创建临时表 CREATE

java-第十三章-类的无参方法(一)-代参方法的编程计算器

package 本章总结; public class A01class { public int ope(int Operator, int num1, int num2) { switch (Operator) { case 1: num1 += num2; break; case 2: num1 -= num2; break; case 3: num1 *= num2; break; case 4: num1 /= num2; break; default: System.out.print

c++ primer plus(第6版)中文版 第十三章编程练习答案

第十三章编程练习答案 13.1根据Cd基类,完成派生出一个Classic类,并测试 //13.1根据Cd基类,完成派生出一个Classic类,并测试 #include <iostream> #include <cstring> using namespace std; // base class class Cd { char performers[50]; char label[20]; int selections; // number of selections double

Java编程思想第四版读书笔记——第十三章 字符串

Java编程思想第四版读书笔记--第十三章 字符串 字符串的操作是计算机程序设计中最常见的行为. 关键词: StringBuilder ,StringBuffer,toString(),format转换,正则表达式, 1.不可变String String对象时不可变的.每当把String对象作为方法的参数时,都会复制一份引用.(其实就是对函数中参数列表中参数的操作不会影响外面的原参数) 如下: import static net.mindview.util.Print.*; public cla

Java学习笔记—第十三章 数据库编程入门

第十三章 数据库编程入门 了解JDBC Java中对数据库的访问主要是通过JDBC进行的.JDBC是Java数据库连接技术(Java Database Connectivity)的简称,是用于执行SQL语句的API,可以为多种关系数据库提供统一访问.由一组用Java语言编写的类和接口组成.(SQL是Structure Query Language的缩写,意义为结构化查询语言,是一种标准的关系数据库访问语言.) JDBC的工作机制 使用JDBC完成对数据库的访问主要包括以下五个层次:Java应用程

C#高级编程第11版 - 第三十三章

导航 C# 全版本特性一览 全书目录 第三十三章 Windows Apps 33.1 Windows 应用程序简介 855 33.1.1 Windows 运行库 856 33.1.2 Hello, Windows 856 33.1.3 应用程序清单文件 857 33.1.4 应用程序启动 859 33.1.5 主页 859 33.2 XAML 861 33.2.1 XAML 标准 861 33.2.2 将元素映射到类 861 33.2.3 通过XAML 使用定制的.NET 类 862 33.2.