[套装书]分布式中间件技术实战(Java版)+Vue.js项目开发实战(2册)

作者
钟林森张帆
丛书名
出版社
机械工业出版社
ISBN
9781912241051
简要
简介
内容简介书籍计算机书籍 ---------------------------分布式中间件技术实战(Java版)--------------------------- 《分布式中间件技术实战(Java版)》站在初学者的角度,介绍了几款比较流行的分布式中间件,带领读者从零开始一步一个脚印地学习Java企业级应用开发。书中在讲解必要的理论知识和应用场景后都给出了实际项目案例,可以提高读者的开发水平和项目实战能力。 《分布式中间件技术实战(Java版)》共10章,分为3篇。第1篇开发工具准备,介绍了分布式系统架构的相关知识要点,包括其功能、作用及演进历程,并由此引出了分布式中间件的相关介绍。第2篇开发实战,全面介绍了目前在实际开发中应用比较广泛的几款Java中间件,包括缓存中间件Redis、消息中间件RabbitMQ、统一协调管理中间件ZooKeeper和综合中间件Redisson等,重点介绍了这几款中间件的基本概念、典型应用场景及相应的功能组件等。第3篇总结,对相关内容做了重点回顾与总结。值得一提的是,《分布式中间件技术实战(Java版)》在介绍几款中间件的理论知识时,还以Spring Boot微服务框架作为奠基,整合了相关中间件之间的依赖,并结合作者的实际项目经验进行了代码实战。 《分布式中间件技术实战(Java版)》特别适合中间件实践经验为零的开发者阅读;对于有一定Java应用开发经验的工程师而言,通过阅读《分布式中间件技术实战(Java版)》可以了解中间件在构建企业级应用过程中所提供的思路和解决方案;IT培训机构的学员,也可以通过《分布式中间件技术实战(Java版)》系统地学习中间件技术。 ---------------------------Vue.js项目开发实战--------------------------- 本书以实战开发为原则,以Vue.js的项目开发过程为主线,以JavaScript语言为基础,介绍了一整套面向Vue.js的项目开发技术。从NoSQL数据库的搭建到Express项目API的编写,最后由Vue.js显示在前端的页面中,使得读者可以非常迅速地掌握一门技术甚至是一个项目的开发能力。 本书分为4篇,第一篇是Vue.js基础环境的搭建,是全书的基石;第二篇是电影项目的设计,涵盖ES6、webpack、工程化环境搭建等关键技术;第三篇是电影项目的前、后端实现,涵盖Node.js后端技术、Vue.js各种组件和API等技术;最后一篇美化项目,通过学习一些Vue.js模板和框架,制作更美观的UI界面。本书不仅仅适合想学习Vue.js的读者,甚至对于一些“0”编程基础的爱好者或者是产品经理也同样适用。
目录



---------------------------分布式中间件技术实战(Java版)---------------------------


第1篇 开发工具准备
第1章 走进分布式中间件 2
1.1 分布式系统概述 2
1.1.1 白话分布式系统 3
1.1.2 分布式系统发展历程 3
1.1.3 分布式系统特性 6
1.1.4 分布式系统常见问题 7
1.2 分布式中间件概述 7
1.2.1 白话分布式中间件 7
1.2.2 常见中间件介绍 8
1.3 本书核心知识要点 9
1.4 本书实战要求与建议 10
第2章 搭建微服务项目 11
2.1 Spring Boot概述 11
2.1.1 什么是Spring Boot 11
2.1.2 Spring Boot的优势 12
2.1.3 Spring Boot的几大特性 13
2.2 搭建规范与搭建流程 13
2.2.1 Spring Boot项目搭建规范 14
2.2.2 Spring Boot项目搭建流程 14
2.2.3 写个Hello World吧 26
2.3 总结 28
第2篇 开发实战
第3章 缓存中间件Redis 30
3.1 Redis概述与典型应用场景介绍 30
3.2 Redis的使用 32
3.2.1 快速安装Redis 32
3.2.2 在Windows环境下使用Redis 34
3.2.3 Spring Boot项目整合Redis 37
3.2.4 Redis自定义注入Bean组件配置 38
3.2.5 RedisTemplate实战 39
3.2.6 StringRedisTemplate实战 43
3.3 Redis常见数据结构实战 45
3.3.1 字符串 45
3.3.2 列表 47
3.3.3 集合 48
3.3.4 有序集合 50
3.3.5 哈希Hash存储 52
3.3.6 Key失效与判断是否存在 54
3.4 Redis实战场景之缓存穿透 56
3.4.1 什么是缓存穿透 57
3.4.2 缓存穿透的解决方案 58
3.4.3 实战过程 58
3.4.4 其他典型问题介绍 65
3.5 总结 66
第4章 Redis典型应用场景实战之抢红包系统 67
4.1 整体业务流程介绍 67
4.1.1 抢红包系统业务流程 68
4.1.2 业务流程分析 68
4.1.3 业务模块划分 70
4.2 数据库表设计与环境搭建 71
4.2.1 数据库表设计 71
4.2.2 开发环境搭建 73
4.2.3 开发流程介绍 83
4.3 红包金额”随机生成算法实战 85
4.3.1 随机数算法 86
4.3.2 红包随机金额生成算法要求 86
4.3.3 二倍均值法简介 87
4.3.4 红包随机金额生成算法实战 88
4.3.5 红包随机金额生成算法自测 90
4.4 发红包”模块实战 91
4.4.1 业务模块分析 92
4.4.2 整体流程实战 93
4.4.3 业务模块自测 99
4.5 抢红包”模块实战 101
4.5.1 业务模块分析 101
4.5.2 整体流程 102
4.5.3 业务模块自测 105
4.5.4 总结 109
4.6 Jmeter压力测试高并发抢红包 110
4.7 问题分析与优化方案 116
4.7.1 问题分析 117
4.7.2 优化方案介绍 118
4.7.3 优化方案之Redis分布式锁实战 118
4.7.4 不足之处 122
4.8 总结 122
第5章 消息中间件RabbitMQ 124
5.1 RabbitMQ简介 124
5.1.1 认识RabbitMQ 125
5.1.2 典型应用场景介绍 126
5.1.3 RabbitMQ后端控制台介绍 132
5.1.4 基于Spring的事件驱动模型实战 133
5.2 Spring Boot项目整合RabbitMQ 137
5.2.1 RabbitMQ相关词汇介绍 138
5.2.2 Spring Boot项目整合RabbitMQ 139
5.2.3 自定义注入配置Bean相关组件 140
5.2.4 RabbitMQ发送、接收消息实战 142
5.2.5 其他发送接收消息方式实战 147
5.3 RabbitMQ多种消息模型实战 152
5.3.1 基于FanoutExchange的消息模型实战 152
5.3.2 基于DirectExchange的消息模型实战 160
5.3.3 基于TopicExchange的消息模型实战 165
5.4 RabbitMQ确认消费机制 171
5.4.1 消息高可用和确认消费 172
5.4.2 常见的确认消费模式介绍 174
5.4.3 基于自动确认消费模式实战 176
5.4.4 基于手动确认消费模式实战 182
5.5 典型应用场景实战之用户登录成功写日志 188
5.5.1 整体业务流程介绍与分析 188
5.5.2 数据库表设计 189
5.5.3 开发环境搭建 197
5.5.4 基于TopicExchange构建日志消息模型 200
5.5.5 异步发送接收登录日志消息实战 201
5.5.6 整体业务模块自测实战 205
5.6 总结 208
第6章 死信队列/延迟队列实战 209
6.1 死信队列概述 209
6.1.1 死信队列简介与作用 209
6.1.2 典型应用场景介绍 212
6.2 RabbitMQ死信队列实战 213
6.2.1 死信队列专有词汇介绍 214
6.2.2 死信队列消息模型实战 215
6.2.3 死信队列延迟发送消息实战 221
6.3 典型应用场景实战之商城平台订单支付超时 226
6.3.1 整体业务场景介绍 227
6.3.2 整体业务流程分析 228
6.3.3 数据库设计 229
6.3.4 构建RabbitMQ死信队列消息模型 236
6.3.5 Controller层开发用户下单及订单失效功能 240
6.3.6 用户下单支付超时”延迟发送接收实战 246
6.3.7 用户下单支付超时”整体功能自测 250
6.4 总结 254
第7章 分布式锁实战 256
7.1 分布式锁概述 256
7.1.1 锁机制 257
7.1.2 分布式锁登场 263
7.1.3 典型应用场景介绍 265
7.1.4 小结 268
7.2 基于数据库实现分布式锁 268
7.2.1 乐观锁简介 268
7.2.2 乐观锁实战 269
7.2.3 Jmeter高并发测试乐观锁 280
7.2.4 悲观锁简介 286
7.2.5 悲观锁实战 288
7.2.6 Jmeter高并发测试悲观锁 290
7.2.7 小结 291
7.3 基于Redis实现分布式锁 292
7.3.1 Redis温故而知新 292
7.3.2 分布式锁的实现流程与原理分析 294
7.3.3 基于Redis实战实现分布式锁 295
7.3.4 Jmeter高并发测试 303
7.3.5 小结 307
7.4 基于ZooKeeper实现分布式锁 308
7.4.1 ZooKeeper简介与作用 308
7.4.2 分布式锁的实现流程与原理分析 310
7.4.3 Spring Boot整合ZooKeeper 312
7.4.4 基于ZooKeeper实现分布式锁 315
7.4.5 Jmeter高并发测试 317
7.4.6 小结 319
7.5 典型应用场景之书籍抢购模块设计与实战 319
7.5.1 整体业务流程介绍与分析 319
7.5.2 数据库表设计与用例设计 321
7.5.3 书籍抢购核心业务逻辑开发实战 324
7.5.4 Jmeter重现库存超卖”的问题 328
7.5.5 采用分布式锁解决问题 330
7.5.6 小结 334
7.6 总结 334
第8章 综合中间件Redisson 336
8.1 Redisson概述 336
8.1.1 Redisson简介与作用 337
8.1.2 Redisson的功能特性 339
8.1.3 典型应用场景之布隆过滤器与主题 340
8.1.4 典型应用场景之延迟队列与分布式锁 345
8.1.5 Spring Boot整合Redisson 348
8.2 Redisson常见功能组件实战 352
8.2.1 布隆过滤器 352
8.2.2 发布-订阅式主题 355
8.2.3 数据结构之映射Map 361
8.2.4 数据结构之集合Set 366
8.2.5 队列Queue实战 370
8.2.6 延迟队列Delayed Queue实战1 374
8.2.7 延迟队列Delayed Queue实战2 381
8.3 分布式锁实战 385
8.3.1 重温分布式锁 385
8.3.2 分布式锁之一次性锁实战 387
8.3.3 分布式锁之可重入锁实战 392
8.4 总结 398
第9章 Redisson典型应用场景实战之高性能点赞 399
9.1 整体业务流程介绍与分析 399
9.1.1 业务背景介绍 400
9.1.2 业务流程介绍与分析 401
9.1.3 业务模块划分与数据库设计 404
9.2 点赞与取消点赞”操作模块实战 409
9.2.1 点赞与取消点赞”业务流程分析 409
9.2.2 Controller层接收请求信息 412
9.2.3 Service层插入、更新并缓存记录信息 415
9.2.4 业务模块自测 421
9.3 排行榜”业务模块实战 424
9.3.1 排行榜”业务流程分析 425
9.3.2 接收前端请求并触发缓存排行榜 426
9.3.3 业务模块自测 428
9.4 总结 432
第3篇 总结
第10章 总结与回顾 434


---------------------------Vue.js项目开发实战---------------------------


前言
第1篇 背景知识
第1章 初探网页开发 2
1.1 网页开发历史 2
1.1.1 传统网页开发 3
1.1.2 新前端网页开发 5
1.2 MVVM风格开发框架 6
1.2.1 为什么会出现MVVM 6
1.2.2 MVVM架构的最佳实践 7
1.2.3 MVC、MVP和MVVM开发模式对比 8
1.3 Vue.js来了 9
1.4 Vue.js的安装 10
1.4.1 使用独立版本 11
1.4.2 使用CDN安装 13
1.4.3 “npm大法”安装 15
1.4.4 使用Chrome浏览器测试Vue.js的双向绑定 17
1.5 Vue.js的主要特性 19
1.5.1 组件 19
1.5.2 模板 22
1.5.3 响应式设计 22
1.5.4 过渡效果 22
1.5.5 单文件组件 24
1.6 小结与练习 24
1.6.1 小结 24
1.6.2 练习 25
第2篇 项目设计
第2章 开启Vue.js之旅的准备工作 28
2.1 JavaScript运行与开发环境 28
2.1.1 神奇的包管理器——npm 28
2.1.2 好用的浏览器——Chrome 31
2.1.3 Vue.js的调试神器——vue-devtools 34
2.1.4 非常智能的IDE——WebStorm 36
2.2 认识ECMAScript 6(ES 6) 39
2.2.1 ES 6的前世今生 39
2.2.2 为什么要使用ES 6 40
2.3 ES 6的一些常用语法 40
2.3.1 Default Parameters(默认参数) 40
2.3.2 Template Literals(模板文本) 41
2.3.3 Multi-line Strings(多行字符串) 41
2.3.4 Destructuring Assignment(解构赋值) 42
2.3.5 Enhanced Object Literals(增强的对象文本) 42
2.3.6 Arrow Functions(箭头函数) 43
2.3.7 Promise实现 44
2.3.8 块作用域构造let 45
2.3.9 Classes(类) 46
2.3.10 Modules(模块) 46
2.4 使用Babel进行ES 6的转化 47
2.4.1 安装Babel 48
2.4.2 使用Babel 48
2.5 精简压缩生产环境的Webpack 51
2.5.1 Webpack是什么 51
2.5.2 配置一个完整项目的Webpack 52
2.5.3 不得不说的新版Webpack 4 56
2.6 小结与练习 59
2.6.1 小结 59
2.6.2 练习 59
第3章 从一个电影网站项目学习Vue.js 60
3.1 快速构建第一个Vue.js程序 60
3.1.1 通过CLI构建应用 60
3.1.2 输出Hello world! 63
3.1.3 开发环境与生产环境 66
3.2 电影网站的设计 70
3.2.1 网站的功能设计 70
3.2.2 网站的路由设计 71
3.2.3 网站的页面设计 72
3.3 电影网站的技术选择 73
3.3.1 服务的坚实后盾——数据库 73
3.3.2 数据的搬运和加工——服务器端 74
3.4 小结与练习 74
3.4.1 小结 74
3.4.2 练习 75
第4章 电影网站数据库的搭建 76
4.1 什么是数据库 76
4.1.1 什么是SQL 76
4.1.2 什么是NoSQL 78
4.1.3 两种数据库的对比分析 79
4.2 MongoDB基础入门 80
4.2.1 为什么选择MongoDB 80
4.2.2 安装MongoDB 81
4.2.3 启动MongoDB 83
4.2.4 安装MongoDB的可视化界面 87
4.2.5 MongoDB的基础操作 90
4.3 电影网站数据库的建立 92
4.3.1 数据库的分析与设计 93
4.3.2 数据集的建立 94
4.4 小结与练习 96
4.4.1 小结 96
4.4.2 练习 97
第3篇 Vue.js应用开发
第5章 电影网站服务器端的设计 100
5.1 使用JavaScript开发后端服务 100
5.1.1 神奇的Node.js 100
5.1.2 什么是Express 101
5.2 使用Express进行Web开发 102
5.2.1 安装Express 102
5.2.2 设计后台服务API 105
5.2.3 设计路由 107
5.3 服务器测试 108
5.3.1 一个测试HTTP请求的Postman插件 108
5.3.2 在Chrome中安装Postman插件 109
5.3.3 使用Postman插件进行数据测试 110
5.4 Express后台代码编写 112
5.4.1 新建工程 112
5.4.2 连接数据库 115
5.4.3 使用Supervisor监控代码的修改 118
5.5 用户系统开发 119
5.5.1 注册路由 122
5.5.2 登录路由 125
5.5.3 找回密码路由 128
5.5.4 提交评论路由 133
5.5.5 点赞路由 135
5.5.6 下载路由 137
5.5.7 发送站内信路由 138
5.5.8 接收站内信路由 141
5.6 前台API开发 143
5.6.1 显示排行榜 145
5.6.2 显示文章列表 145
5.6.3 显示文章内容 146
5.6.4 显示用户个人信息 147
5.7 后台API开发 148
5.7.1 添加电影 148
5.7.2 删除电影 151
5.7.3 更新电影 152
5.7.4 获取所有电影 153
5.7.5 获取用户评论 154
5.7.6 审核用户评论 154
5.7.7 删除用户评论 156
5.7.8 封停用户 157
5.7.9 更新用户密码 159
5.7.10 显示所有用户 160
5.7.11 管理用户权限 162
5.7.12 新增文章 163
5.7.13 删除文章 165
5.7.14 新增主页推荐 166
5.7.15 删除热点信息 168
5.8 小结与练习 169
5.8.1 小结 169
5.8.2 练习 170
第6章 Vue.js项目开发技术解析 171
6.1 Vue.js实例 171
6.1.1 何为构造器 171
6.1.2 实例的属性和方法 172
6.1.3 生命周期 173
6.2 Vue.js路由 175
6.2.1 RESTful模式的路由 175
6.2.2 安装vue-router 175
6.3 Vue.js路由配置vue-router 176
6.3.1 动态路由匹配 176
6.3.2 嵌套路由 179
6.3.3 编程式导航 181
6.3.4 命名路由 183
6.3.5 命名视图 184
6.3.6 重定向和别名 186
6.3.7 路由组件传递参数 187
6.3.8 HTML 5 History模式 188
6.4 数据获取 189
6.4.1 导航守卫 189
6.4.2 数据获取 193
6.5 电影网站项目路由设计 195
6.5.1 新建Vue.js项目 195
6.5.2 前台路由页面编写 198
6.5.3 路由测试 200
6.6 小结与练习 201
6.6.1 小结 201
6.6.2 练习 201
第7章 模板学习 202
7.1 Vue.js模板 202
7.1.1 什么是模板 202
7.1.2 为什么使用模板 203
7.2 Vue.js模板语法 203
7.2.1 文本输出 204
7.2.2 纯HTML输出 205
7.2.3 JavaScript表达式 206
7.2.4 指令参数 208
7.3 计算属性和观察者属性 209
7.3.1 计算属性 209
7.3.2 计算属性的缓存与方法 210
7.3.3 计算属性与被观察的属性 211
7.3.4 计算属性的setter方法 212
7.3.5 观察者 213
7.3.6 聊天机器人小实例 213
7.4 电影网站项目页面编写 219
7.4.1 主页 219
7.4.2 电影列表页 226
7.4.3 电影详情页 228
7.4.4 新闻详情页 231
7.4.5 用户登录页 233
7.4.6 用户注册页 234
7.4.7 用户密码找回页 235
7.4.8 用户详情页 237
7.4.9 站内信的发送页面 239
7.5 小结与练习 241
7.5.1 小结 241
7.5.2 练习 242
第8章 让页面变成动态页面 243
8.1 条件渲染 243
8.1.1 v-if应用 243
8.1.2 v-show应用 244
8.2 列表渲染 244
8.2.1 v-for列表渲染 245
8.2.2 使用of作为分隔符 245
8.2.3 v-for与v-if同时使用 247
8.2.4 key关键字使用 250
8.3 事件处理器v-on 250
8.3.1 方法事件处理器 251
8.3.2 内联处理器 252
8.3.3 事件修饰符 252
8.3.4 键值修饰符 253
8.3.5 修饰键 254
8.3.6 鼠标的3个按键修饰符 254
8.4 交互的灵魂——表单 255
8.4.1 文本输入 255
8.4.2 多行文本 256
8.4.3 复选框 257
8.4.4 单选按钮 257
8.4.5 选择按钮 258
8.5 值的绑定 260
8.5.1 复选框值的绑定 260
8.5.2 单选按钮值的绑定 260
8.5.3 选择列表的设置和值的绑定 261
8.5.4 完整的表单实例 261
8.6 修饰符 264
8.6.1 修饰符.lazy的使用 264
8.6.2 修饰符.number的使用 264
8.6.3 修饰符.trim的使用 264
8.6.4 修饰符实例 264
8.7 电影网站项目功能编写 266
8.7.1 主页服务器内容获取 266
8.7.2 主页获取推荐内容显示 267
8.7.3 主页列表显示 269
8.7.4 主页用户状态显示 272
8.7.5 电影列表页 273
8.7.6 电影详情页 275
8.7.7 新闻页面功能 280
8.7.8 用户登录功能 282
8.7.9 用户注册页面功能 284
8.7.10 用户密码找回功能 286
8.7.11 用户详情页逻辑 288
8.7.12 站内信逻辑 291
8.8 小结与练习 296
8.8.1 小结 296
8.8.2 练习 296
第4篇 页面优化
第9章 让页面变得更加美丽 298
9.1 使用CSS美化Vue.js 298
9.1.1 什么是CSS 298
9.1.2 如何在项目中使用CSS 299
9.2 动态绑定class,让页面变得美观 300
9.2.1 绑定对象语法 300
9.2.2 绑定数组语法 302
9.2.3 自动添加前缀 304
9.2.4 绑定多重值 305
9.3 丰富多彩的模板和UI框架 306
9.3.1 常用的UI框架 306
9.3.2 如何使用专门为Vue.js准备的UI框架 309
9.4 使用Vue-iView建立精美的应用 309
9.4.1 安装iView 310
9.4.2 iView的用法 312
9.4.3 应用iView主题 314
9.5 常用组件 315
9.5.1 栅格(Grid)组件 315
9.5.2 按钮 318
9.5.3 表单组件 319
9.5.4 表格 325
9.6 使用iView美化项目 328
9.6.1 在项目中使用iView 328
9.6.2 主页的样式改造 330
9.6.3 登录页的样式改造 333
9.7 小结与练习 335
9.7.1 小结 335
9.7.2 练习 336
附录 iView组件默认样式 337



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4