![]()
内容推荐 本书涉及很多平台、框架和类库等,主要有前端使用的Angular,后端使用的Spring Boot框架、Spring Security安全框架,数据库涉及MongoDB、Elasticsearch和Redis。此外,还会学习函数式编程、响应式编程(RxJS)、Redux等理念,Swagger、JaVers等工具及Rest、WebSocket、微服务等概念。 一本书是无法深入这些技术细节的,这也不是本书的目标。希望通过本书,可以帮助读者开启一扇门,真正掌握这些让人眼花缭乱的编程语言、框架、平台、IDE等技术背后的编程思想。 作者简介 王芃,资深开发人员、创业者,曾经在多家软件公司历任项目经理、项目总监、部门经理,后创立成都索课科技有限公司。在多年的开发经历中用Java等语言开发了多种类型的项目,积累了丰富的开发经验。乐于分享,发布了大量技术文章。 目录 第1章 技术的选型和环境搭建 1.1 技术选型 1.1.1 前端框架选型 1.1.2 后端框架选型 1.1.3 数据库选型 1.2 环境搭建 1.2.1 基础开发环境安装 1.2.2 IDE的选择 1.2.3 字体的选择 1.2.4 定义通用的代码格式 1.3 工程项目的结构 1.3.1 前端项目 1.3.2 后端项目 1.3.3 整体项目工程的文件结构 第2章 使用Angular快速构造前端原型 2.1 Angular基础概念 2.1.1 安装Angular CLI 2.1.2 依赖性注入 2.1.3 组件 2.1.4 指令 2.1.5 管道 2.1.6 模块 2.1.7 模板驱动型表单 2.1.8 响应式表单 2.2 Angular Material介绍 2.2.1 组件类别 2.2.2 布局控件:Sidenav 2.2.3 Flex布局和Angular Flex-layout 2.2.4 封装Header/Footer/Sidebar 2.3 添加主题支持 2.3.1 Material Design中对于主题的约束 2.3.2 主题的明与暗 2.3.3 Angular Material中的主题 2.4 容器化Angular应用 2.4.1 什么是容器 2.4.2 安装Docker 2.4.3 镜像仓库加速 2.4.4 创建Angular的Docker镜像 2.4.5 启动容器 2.4.6 使用docker-compose组织复杂的环境配置 2.4.7 使用.dockerignore文件 第3章 何谓后端 3.1 创建一个Spring Boot工程 3.1.1 通过Gradle创建 3.1.2 通过Maven创建 3.1.3 通过IDE创建 3.1.4 工程项目的组织 3.2 API 的构建可以如此简单 3.2.1 API工程结构 3.2.2 领域对象 3.2.3 构造Controller 3.2.4 启动服务 3.2.5 测试API 3.3 MongoDB支撑的API 3.3.1 什么是NoSQL 3.3.2 MongoDB的集成 3.3.3 HATEOAS 3.3.4 “魔法”的背后 3.3.5 让后端也能热更新 3.4 容器化后端 3.4.1 手动创建镜像 3.4.2 使用Gradle自动化Docker任务 3.4.3 使用docker-compose组合服务 3.4.4 IDEA中的Gradle支持 3.4.5 在容器中调试 第4章 登录鉴权功能的构建 4.1 模块化和组件化 4.1.1 登录的领域模型构建 4.1.2 前端页面设计 4.2 响应式编程初探 4.2.1 不同的视角 4.2.2 实现一个计数器 4.2.3 为什么要使用Rx 4.2.4 Observable的性质 4.2.5 RxJS的调试 4.3 前端服务层 4.3.1 构建“伪”服务 4.3.2 构建“聪明组件” 4.3.3 路由处理 4.4 完成忘记密码前端设计 4.4.1 使用 RxJS 打造短信验证码控件 4.4.2 忘记密码向导“笨组件” 4.4.3 忘记密码的“聪明组件” 第5章 构建后端API 5.1 HyperMedia API与传统API 5.1.1 领域对象 5.1.2 API的可见控制 5.1.3 传统的API实现模式 5.2 Spring Data中的查询 5.2.1 基础概念——Repository 5.2.2 查询方式 5.2.3 复杂类型查询 5.2.4 自定义查询 5.2.5 自定义Repository 5.3 Controller的构建 5.3.1 改造TaskRepo和UserRepo 5.3.2 实现Controller 5.3.3 登录 5.3.4 注册 5.3.5 忘记密码第一步:验证手机 5.3.6 忘记密码第二步:重置密码 5.3.7 API的异常处理 5.4 构建安全的API接口 5.4.1 为什么要保护API 5.4.2 什么是JWT 5.4.3 JWT的生成和解析 5.4.4 权限的设计 5.4.5 使用Spring Security规划角色安全 5.4.6 在Spring Boot中启用Spring Security 5.4.7 改造用户对象 5.4.8 构建JWT token工具类 5.4.9 如何检查任何请求的授权信息 5.4.10 得到用户信息 5.4.11 配置Spring Security 5.4.12 使用JWT进行API访问 5.5 跨域和API文档 5.5.1 跨域解决方案——CORS 5.5.2 API文档 第6章 前端和API的配合 6.1 响应式的HTTP API处理 6.1.1 Angular中的HTTP服务 6.1.2 Angular的开发环境配置 6.1.3 在前端服务中使用HttpClient 6.1.4 更改注册表单控件 6.2 RxJs进阶 6.2.1 改造登录表单 6.2.2 RxJs的高阶操作符 6.2.3 合并操作符 6.3 HTTP拦截 6.3.1 实现一个简单的HttpInterceptor 6.3.2 鉴权HttpInterceptor 6.3.3 一个日志拦截器 6.4 Angular路由 6.4.1 基准锚链接 6.4.2 Router模块的简介 6.4.3 获取父路由的参数 6.4.4 获得前一个路由 6.4.5 Activated Route 6.5 安全守卫 6.5.1 激活守卫 6.5.2 激活子路由守卫 6.5.3 加载守卫 6.5.4 退出守卫 6.5.5 数据预获取守卫 第7章 后端不只是API 7.1 缓存 7.1.1 配置Cache 7.1.2 常用的缓存注解 7.1.3 测试缓存是 |