TypeScript入门与区块链项目实战

TypeScript入门与区块链项目实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2021-05
版次: 1
ISBN: 9787302578307
定价: 128.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 414页
字数: 599.000千字
9人买过
  • 主要内容
      精通TypeScript语法
      在TypeScript中使用JavaScript库使用Babel和Webpack工具
      使用Angular、React和Vue框架构建TypeScript应用程序        Yakov Fain是Farata Systems和SuranceBay两家IT公司的联合创始人。他有许多个人著书或合著的书,例如Java编程书籍24-Hour Trainer, Angular Development with TypeScript, Java Programming for Kids等。作为一名Java专家,他讲授和主持多个关于Web和Java相关技术的课程和研讨会,并在国际会议上发表演讲。

    Anton Moiseev是SuranceBay的首席软件工程师。他使用Java和.NET技术进行企业级应用开发已经有十多年。他具有坚实的后台开发基础和对Web相关技术的高度专注,能够使前端与后端无缝协作。他讲授了很多关于AngularJS和Angular框架的培训课程。 第Ⅰ部分 精通TypeScript语法

    第1章 熟悉TypeScript 3

    1.1 使用TypeScript编程的理由 3

    1.2 典型的TypeScript工作流 7

    1.3 使用TypeScript编译器 8

    1.4 了解Visual Studio Code 12

    1.5 本章小结 14

    第2章 基本类型与自定义类型 15

    2.1 声明变量类型 15

    2.1.1 基本类型标注 16

    2.1.2 函数声明中的类型 20

    2.1.3 union类型 21

    2.2 定义自定义类型 23

    2.2.1 使用type关键字 24

    2.2.2 将类用作自定义类型 25

    2.2.3 将接口用作自定义类型 27

    2.2.4 结构化还是名义类型系统 29

    2.2.5 自定义类型的unions 31

    2.3 any和unknown类型,以及用户定义的类型保护 33

    2.4 微型项目 35

    2.5 本章小结 36

    第3章 面向对象编程的类和接口 37

    3.1 类 37

    3.1.1 开始了解类继承 38

    3.1.2 访问修饰符public、private、protected 39

    3.1.3 静态变量及singleton(单例)设计模式示例 41

    3.1.4 super()方法与super关键字 43

    3.1.5 抽象类 45

    3.1.6 方法重载 48

    3.2 使用interface 53

    3.2.1 执行合同 53

    3.2.2 扩展接口 55

    3.2.3 接口编程 57

    3.3 本章小结 60

    第4章 使用枚举和泛型 61

    4.1 使用枚举 61

    4.1.1 数字型枚举 61

    4.1.2 字符串枚举 64

    4.1.3 使用常量枚举 66

    4.2 使用泛型 67

    4.2.1 理解泛型 67

    4.2.2 创建自己的泛型类型 72

    4.2.3 创建泛型函数 76

    4.2.4 强制执行高阶函数的返回类型 80

    4.3 本章小结 81

    第5章 装饰器与*类型 83

    5.1 装饰器 84

    5.1.1 创建类装饰器 85

    5.1.2 创建函数装饰器 90

    5.2 映射类型 92

    5.2.1 只读映射类型 92

    5.2.2 声明自己的映射类型 96

    5.2.3 其他内置的映射类型 97

    5.3 条件类型 99

    5.4 本章小结 104

    第6章 开发工具集 105

    6.1 源映射 106

    6.2 TSLint linter 108

    6.3 使用Webpack绑定代码 111

    6.3.1 使用Webpack绑定JavaScript 112

    6.3.2 使用Webpack绑定TypeScript 116

    6.4 使用Babel编译器 119

    6.4.1 在JavaScript中使用Babel 122

    6.4.2 在TypeScript中使用Babel 124

    6.4.3 在TypeScript与Webpack中使用Babel 126

    6.5 工具介绍 128

    6.5.1 Deno介绍 128

    6.5.2 ncc介绍 129

    6.6 本章小结 132

    第7章 在项目中同时使用TypeScript和JavaScript 133

    7.1 类型定义文件 133

    7.1.1 了解类型定义文件 134

    7.1.2 类型定义文件与IDE 135

    7.1.3 shim与类型定义 138

    7.1.4 创建自己的类型定义文件 139

    7.2 使用JavaScript库的TypeScript应用程序示例 140

    7.3 在JavaScript项目中使用TypeScript 148

    7.4 本章小结 151

     

    第Ⅱ部分 基于TypeScript的区块链应用

    第8章 开发区块链应用 155

    8.1 区块链简介 156

    8.1.1 加密哈希函数 157

    8.1.2 区块由什么组成 159

    8.1.3 什么是区块挖掘 160

    8.1.4 哈希和随机数的迷你项目 162

    8.2 开发第壹个区块链 164

    8.2.1 项目结构 164

    8.2.2 创建一个原始区块链 167

    8.2.3 使用工作证明创建区块链 170

    8.3 本章小结 173

    第9章 开发基于浏览器的区块链节点 175

    9.1 运行区块链Web应用 176

    9.1.1 项目结构 176

    9.1.2 使用npm脚本部署应用 178

    9.1.3 使用区块链Web应用 179

    9.2 Web客户端 182

    9.3 挖掘区块 187

    9.4 使用crypto API生成哈希 191

    9.5 独立的区块链客户端 194

    9.6 在浏览器中调试TypeScript 196

    9.7 本章小结 198

    第10章 使用Node.js、TypeScript和WebSocket进行客户端-服务器通信 199

    10.1 使用*长链规则解决冲突 200

    10.2 为区块链添加服务器 202

    10.3 项目结构 203

    10.4 项目的配置文件 204

    10.4.1 配置TypeScript编译环境 204

    10.4.2 package.json包含什么 206

    10.4.3 配置nodemon 207

    10.4.4 运行区块链App 208

    10.5 WebSocket简介 213

    10.5.1 HTTP和WebSocket协议的对比 214

    10.5.2 将数据从节点服务器推送到普通客户端 215

    10.6 回顾通知工作流 219

    10.6.1 回顾服务器代码 221

    10.6.2 回顾客户端代码 231

    10.7 本章小结 240

    第11章 使用TypeScript开发Angular应用程序 241

    11.1 使用Angular CLI生成并运行一个新的应用程序 242

    11.2 查看生成的App 244

    11.3 Angular服务和依赖注入 250

    11.4 使用ProductService注入的应用 253

    11.5 使用TypeScript进行抽象编程 255

    11.6 开始处理HTTP请求 257

    11.7 表单入门 261

    11.8 Router基础 265

    11.9 本章小结 269

    第壹2章 使用Angular开发区块链客户端 271

    12.1 启动Angular区块链应用程序 271

    12.2 回顾AppComponent 273

    12.3 回顾TransactionFormComponent 277

    12.4 回顾BlockComponent 278

    12.5 回顾服务 281

    12.6 本章小结 283

    第13章 使用TypeScript开发React.js应用程序 285

    13.1 使用React开发*简单的网页 286

    13.2 使用Create React App生成并运行一个新应用 288

    13.3 管理组件的状态 293

    13.3.1 向基于类的组件添加状态 293

    13.3.2 使用钩子管理函数组件的状态 294

    13.4 开发一个天气应用程序 297

    13.4.1 向App组件添加状态钩子 298

    13.4.2 在App组件中使用useEffect钩子获取数据 300

    13.4.3 使用props 306

    13.4.4 子组件如何将数据传递给其父组件 311

    13.5 Virtual DOM 313

    13.6 本章小结 314

    第14章 使用React.js开发区块链客户端 315

    14.1 启动客户端和消息服务器 315

    14.2 lib目录中发生的变化 318

    14.3 smart App组件 320

    14.3.1 添加事务 322

    14.3.2 生成一个新区块 324

    14.3.3 解释useEffect()钩子函数 325

    14.3.4 使用useCallback()钩子的记忆化缓存(Memoization) 327

    14.4 presentation组件——TransactionForm 330

    14.5 presentation组件——PendingTransactionsPanel 333

    14.6 presentation组件——BlocksPanel和BlockComponent 335

    14.7 本章小结 337

    第15章 使用TypeScript开发Vue.js应用程序 339

    15.1 使用Vue开发*简单的Web页面 340

    15.2 使用Vue CLI生成和运行新应用程序 343

    15.3 开发有路由支持的单页应用程序 349

    15.3.1 使用Vue Router生成一个新应用程序 350

    15.3.2 在主视图中显示products列表 353

    15.3.3 使用Vue Router传递数据 358

    15.4 本章小结 362

    第16章 用Vue.js开发区块链客户端 365

    16.1 启动客户端和消息服务器 366

    16.2 App组件 369

    16.3 presentation组件——TransactionForm 372

    16.4 presentation组件——PendingTransactionsPanel 376

    16.5 presentation组件——BlocksPanel和Block 378

    16.6 本章小结 382

    后记 382

    附录A JavaScript基础知识 383

    A.1 如何运行代码示例 383

    A.2 关键字let和const 383

    A.2.1 var关键字和hoisting(提升) 384

    A.2.2 使用let和const的块级作用域 385

    A.3 字面量模板 386

    A.4 可选参数和默认值 388

    A.5 箭头函数表达式 389

    A.6 rest运算符 391

    A.7 spread运算符 393

    A.8 解构 394

    A.8.1 解构对象 394

    A.8.2 解构数组 397

    A.9 类和继承 398

    A.9.1 构造函数 400

    A.9.2 super关键字和super函数 401

    A.9.3 静态类成员 402

    A.10 异步处理 403

    A.10.1 回调地狱 404

    A.10.2 promise 404

    A.10.3 同时执行多个promise 407

    A.10.4 async-await 408

    A.11 模块 410

    A.12 转换器 413
  • 内容简介:
    主要内容
      精通TypeScript语法
      在TypeScript中使用JavaScript库使用Babel和Webpack工具
      使用Angular、React和Vue框架构建TypeScript应用程序
  • 作者简介:
           Yakov Fain是Farata Systems和SuranceBay两家IT公司的联合创始人。他有许多个人著书或合著的书,例如Java编程书籍24-Hour Trainer, Angular Development with TypeScript, Java Programming for Kids等。作为一名Java专家,他讲授和主持多个关于Web和Java相关技术的课程和研讨会,并在国际会议上发表演讲。

    Anton Moiseev是SuranceBay的首席软件工程师。他使用Java和.NET技术进行企业级应用开发已经有十多年。他具有坚实的后台开发基础和对Web相关技术的高度专注,能够使前端与后端无缝协作。他讲授了很多关于AngularJS和Angular框架的培训课程。
  • 目录:
    第Ⅰ部分 精通TypeScript语法

    第1章 熟悉TypeScript 3

    1.1 使用TypeScript编程的理由 3

    1.2 典型的TypeScript工作流 7

    1.3 使用TypeScript编译器 8

    1.4 了解Visual Studio Code 12

    1.5 本章小结 14

    第2章 基本类型与自定义类型 15

    2.1 声明变量类型 15

    2.1.1 基本类型标注 16

    2.1.2 函数声明中的类型 20

    2.1.3 union类型 21

    2.2 定义自定义类型 23

    2.2.1 使用type关键字 24

    2.2.2 将类用作自定义类型 25

    2.2.3 将接口用作自定义类型 27

    2.2.4 结构化还是名义类型系统 29

    2.2.5 自定义类型的unions 31

    2.3 any和unknown类型,以及用户定义的类型保护 33

    2.4 微型项目 35

    2.5 本章小结 36

    第3章 面向对象编程的类和接口 37

    3.1 类 37

    3.1.1 开始了解类继承 38

    3.1.2 访问修饰符public、private、protected 39

    3.1.3 静态变量及singleton(单例)设计模式示例 41

    3.1.4 super()方法与super关键字 43

    3.1.5 抽象类 45

    3.1.6 方法重载 48

    3.2 使用interface 53

    3.2.1 执行合同 53

    3.2.2 扩展接口 55

    3.2.3 接口编程 57

    3.3 本章小结 60

    第4章 使用枚举和泛型 61

    4.1 使用枚举 61

    4.1.1 数字型枚举 61

    4.1.2 字符串枚举 64

    4.1.3 使用常量枚举 66

    4.2 使用泛型 67

    4.2.1 理解泛型 67

    4.2.2 创建自己的泛型类型 72

    4.2.3 创建泛型函数 76

    4.2.4 强制执行高阶函数的返回类型 80

    4.3 本章小结 81

    第5章 装饰器与*类型 83

    5.1 装饰器 84

    5.1.1 创建类装饰器 85

    5.1.2 创建函数装饰器 90

    5.2 映射类型 92

    5.2.1 只读映射类型 92

    5.2.2 声明自己的映射类型 96

    5.2.3 其他内置的映射类型 97

    5.3 条件类型 99

    5.4 本章小结 104

    第6章 开发工具集 105

    6.1 源映射 106

    6.2 TSLint linter 108

    6.3 使用Webpack绑定代码 111

    6.3.1 使用Webpack绑定JavaScript 112

    6.3.2 使用Webpack绑定TypeScript 116

    6.4 使用Babel编译器 119

    6.4.1 在JavaScript中使用Babel 122

    6.4.2 在TypeScript中使用Babel 124

    6.4.3 在TypeScript与Webpack中使用Babel 126

    6.5 工具介绍 128

    6.5.1 Deno介绍 128

    6.5.2 ncc介绍 129

    6.6 本章小结 132

    第7章 在项目中同时使用TypeScript和JavaScript 133

    7.1 类型定义文件 133

    7.1.1 了解类型定义文件 134

    7.1.2 类型定义文件与IDE 135

    7.1.3 shim与类型定义 138

    7.1.4 创建自己的类型定义文件 139

    7.2 使用JavaScript库的TypeScript应用程序示例 140

    7.3 在JavaScript项目中使用TypeScript 148

    7.4 本章小结 151

     

    第Ⅱ部分 基于TypeScript的区块链应用

    第8章 开发区块链应用 155

    8.1 区块链简介 156

    8.1.1 加密哈希函数 157

    8.1.2 区块由什么组成 159

    8.1.3 什么是区块挖掘 160

    8.1.4 哈希和随机数的迷你项目 162

    8.2 开发第壹个区块链 164

    8.2.1 项目结构 164

    8.2.2 创建一个原始区块链 167

    8.2.3 使用工作证明创建区块链 170

    8.3 本章小结 173

    第9章 开发基于浏览器的区块链节点 175

    9.1 运行区块链Web应用 176

    9.1.1 项目结构 176

    9.1.2 使用npm脚本部署应用 178

    9.1.3 使用区块链Web应用 179

    9.2 Web客户端 182

    9.3 挖掘区块 187

    9.4 使用crypto API生成哈希 191

    9.5 独立的区块链客户端 194

    9.6 在浏览器中调试TypeScript 196

    9.7 本章小结 198

    第10章 使用Node.js、TypeScript和WebSocket进行客户端-服务器通信 199

    10.1 使用*长链规则解决冲突 200

    10.2 为区块链添加服务器 202

    10.3 项目结构 203

    10.4 项目的配置文件 204

    10.4.1 配置TypeScript编译环境 204

    10.4.2 package.json包含什么 206

    10.4.3 配置nodemon 207

    10.4.4 运行区块链App 208

    10.5 WebSocket简介 213

    10.5.1 HTTP和WebSocket协议的对比 214

    10.5.2 将数据从节点服务器推送到普通客户端 215

    10.6 回顾通知工作流 219

    10.6.1 回顾服务器代码 221

    10.6.2 回顾客户端代码 231

    10.7 本章小结 240

    第11章 使用TypeScript开发Angular应用程序 241

    11.1 使用Angular CLI生成并运行一个新的应用程序 242

    11.2 查看生成的App 244

    11.3 Angular服务和依赖注入 250

    11.4 使用ProductService注入的应用 253

    11.5 使用TypeScript进行抽象编程 255

    11.6 开始处理HTTP请求 257

    11.7 表单入门 261

    11.8 Router基础 265

    11.9 本章小结 269

    第壹2章 使用Angular开发区块链客户端 271

    12.1 启动Angular区块链应用程序 271

    12.2 回顾AppComponent 273

    12.3 回顾TransactionFormComponent 277

    12.4 回顾BlockComponent 278

    12.5 回顾服务 281

    12.6 本章小结 283

    第13章 使用TypeScript开发React.js应用程序 285

    13.1 使用React开发*简单的网页 286

    13.2 使用Create React App生成并运行一个新应用 288

    13.3 管理组件的状态 293

    13.3.1 向基于类的组件添加状态 293

    13.3.2 使用钩子管理函数组件的状态 294

    13.4 开发一个天气应用程序 297

    13.4.1 向App组件添加状态钩子 298

    13.4.2 在App组件中使用useEffect钩子获取数据 300

    13.4.3 使用props 306

    13.4.4 子组件如何将数据传递给其父组件 311

    13.5 Virtual DOM 313

    13.6 本章小结 314

    第14章 使用React.js开发区块链客户端 315

    14.1 启动客户端和消息服务器 315

    14.2 lib目录中发生的变化 318

    14.3 smart App组件 320

    14.3.1 添加事务 322

    14.3.2 生成一个新区块 324

    14.3.3 解释useEffect()钩子函数 325

    14.3.4 使用useCallback()钩子的记忆化缓存(Memoization) 327

    14.4 presentation组件——TransactionForm 330

    14.5 presentation组件——PendingTransactionsPanel 333

    14.6 presentation组件——BlocksPanel和BlockComponent 335

    14.7 本章小结 337

    第15章 使用TypeScript开发Vue.js应用程序 339

    15.1 使用Vue开发*简单的Web页面 340

    15.2 使用Vue CLI生成和运行新应用程序 343

    15.3 开发有路由支持的单页应用程序 349

    15.3.1 使用Vue Router生成一个新应用程序 350

    15.3.2 在主视图中显示products列表 353

    15.3.3 使用Vue Router传递数据 358

    15.4 本章小结 362

    第16章 用Vue.js开发区块链客户端 365

    16.1 启动客户端和消息服务器 366

    16.2 App组件 369

    16.3 presentation组件——TransactionForm 372

    16.4 presentation组件——PendingTransactionsPanel 376

    16.5 presentation组件——BlocksPanel和Block 378

    16.6 本章小结 382

    后记 382

    附录A JavaScript基础知识 383

    A.1 如何运行代码示例 383

    A.2 关键字let和const 383

    A.2.1 var关键字和hoisting(提升) 384

    A.2.2 使用let和const的块级作用域 385

    A.3 字面量模板 386

    A.4 可选参数和默认值 388

    A.5 箭头函数表达式 389

    A.6 rest运算符 391

    A.7 spread运算符 393

    A.8 解构 394

    A.8.1 解构对象 394

    A.8.2 解构数组 397

    A.9 类和继承 398

    A.9.1 构造函数 400

    A.9.2 super关键字和super函数 401

    A.9.3 静态类成员 402

    A.10 异步处理 403

    A.10.1 回调地狱 404

    A.10.2 promise 404

    A.10.3 同时执行多个promise 407

    A.10.4 async-await 408

    A.11 模块 410

    A.12 转换器 413
查看详情
12
相关图书 / 更多
TypeScript入门与区块链项目实战
TypeScript项目开发实战
[英]彼得·欧汉龙(Peter O'Hanlon) 著;赵利通 译
TypeScript入门与区块链项目实战
Typhoon and Other Stories
Joseph Conrad 著
TypeScript入门与区块链项目实战
Typhoon Impact and Crisis Management
Tang, Dan Ling;Sui, Guangjun
TypeScript入门与区块链项目实战
TypeScript编程
[美]鲍里斯切尔尼
TypeScript入门与区块链项目实战
TypeScript全栈开发
赵卓
TypeScript入门与区块链项目实战
TypeScript实战/Web前端技术丛书
汪明 著
TypeScript入门与区块链项目实战
Tyrant:Shakespeare on Politics
Stephen Greenblatt
TypeScript入门与区块链项目实战
Typographic Design:Form and Communication
Rob Carter;Philip B. Meggs;Ben Day;Sandra Maxa;Mark Sanders
TypeScript入门与区块链项目实战
Type 2 Diabetes Cookbook : Simple and Delicious Low-Sugar, Low-Fat, and Low-Cholesterol Recipes
Lois Soneral、Charles L. Chavez 著
TypeScript入门与区块链项目实战
Typorama:TheGraphicWorkofPhilippeApeloig字
Alice Morgaine、Tino Grass 著
TypeScript入门与区块链项目实战
TypeScript入门与实战
钟胜平 著
TypeScript入门与区块链项目实战
TypeScript图形渲染实战:基于WebGL的3D架构与实现
步磊峰 著
您可能感兴趣 / 更多
TypeScript入门与区块链项目实战
时代的喧嚣
[俄]曼德尔施塔姆
TypeScript入门与区块链项目实战
自然收藏家 会讲故事的植物科普书 专家审订 精装2册 [5~12岁]
[俄]安娜·瓦西里耶娃
TypeScript入门与区块链项目实战
狱中家书
[俄]陀思妥耶夫斯基
TypeScript入门与区块链项目实战
课文作家作品系列 跳水 五年级下册 【俄】列夫·托尔斯泰/著 韦苇/译(语文教材配套)
[俄]列夫·托尔斯泰/著 韦苇 译
TypeScript入门与区块链项目实战
关于爱情(突然间不由自主地,感受到心中有某种像是爱情的东西)
[俄]安东·契诃夫 著;博集天卷 出品
TypeScript入门与区块链项目实战
白夜(陀思妥耶夫斯基著 彩色插图本)
[俄]陀思妥耶夫斯基 著;成时 译
TypeScript入门与区块链项目实战
民主与政党组织
[俄]莫伊塞·奥斯特罗果尔斯基
TypeScript入门与区块链项目实战
民主与政党组织
[俄]莫伊塞·奥斯特罗果尔斯基
TypeScript入门与区块链项目实战
欧洲与人类
[俄]尼·谢·特鲁别茨柯依 著;祖春明 译
TypeScript入门与区块链项目实战
十个月亮(博洛尼亚插画展大奖得主×俄罗斯三大文学奖提名者。一本美得让孩子入迷的儿童文学,一本让孩子内心不再害怕的勇气之书!)
[俄]维塔利·捷尔列茨基 著;[日]名司生 绘
TypeScript入门与区块链项目实战
爸爸找工作
[俄]瓦利亚·菲利彭科
TypeScript入门与区块链项目实战
黑桃皇后
[俄]普希金