- ISBN:9787302572183
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:452
- 出版时间:2021-01-01
- 条形码:9787302572183 ; 978-7-302-57218-3
本书特色
为了学习全栈Web开发,你需要掌握前端和后端开发知识。本书呈现ASP.NET Core 3.1和Angular 9令人惊叹的功能,从项目设置一直讲到项目部署,帮你有效提高编程技能。 本书开篇介绍如何使用.NET Core框架和Web API控制器,在后端实现API调用和服务器端路由。此后讨论如何使用Entity Framework Core来构建数据模型,并使用本地SQL Server实例或基于云的数据存储(如Microsoft Azure)来配置它。本书还指导你使用Angular响应式表单来处理用户输入,并使用前端和后端验证器来获得*佳效果。之后将探讨xUnit.net(用于.NET Core)、Jasmine和Karma(用于Angular)的高级调试和单元测试功能。*后,你将使用ASP.NET Core Identity系统和新版IdentityServer实现不同的身份验证和授权技术,并使用IIS、Kestrel和Nginx将应用程序部署到Windows和Linux服务器上。 学完本书后,你将掌握必要的开发技能,能用ASP.NET Core和Angular创建高效的Web应用程序。 用ASP.NET Core 3.1和Angular9创建高效的Web应用程序,学习全栈Web开发,轻松搞定前端和后端开发。 一本优秀书籍,不可错过! —— Felix 本书是软件开发人员的*佳读本,是脱颖而出的佼佼者,是学习ASP.NET Core和Angular的**书籍。作者是“先知”,摸准了我的心思,针对我的知识盲点给出*佳解决方案,讲解中间件、基于IdentityServer的身份验证等主题,构建了两个紧贴实用的应用程序,令我受益匪浅。 讲解ASP.NET Core和Angular的宝典,令我称叹! —— Win 如果你想综合运用Angular 9和ASP.NET Core 3.1,那么本书的价值贵过黄金。本书概述Angular的构件,讲述如何创建HealthCheck和WorldCities应用程序,分析如何将ASP.NET Core Identity和SPA用作身份验证单元,涵盖Entity Framework、Angular?Material?UI、模型驱动/响应式表单、单元测试(Moq和Jasmine)以及PWA等知识点,每章结尾列出了推荐的主题。 讲解完整通透! —— Aidan 我平素不爱写评论,但本书触动了我。本书详细列出实际项目的各个步骤,令我爱不释手。 我原本对ASP.NET Core一窍不通。初读本书,只是大致领略了技术要点;等到自己真正着手开发项目时,又发现了自身的诸多不足之处,于是重读本书,细细咀嚼,学到不少本领,感觉自己长进不小。 有了本书,菜鸟也高飞! —— Josh Hopkins 本书的讲解简明清晰,将深奥的主题讲得通俗易懂。无论你是新手,还是经验丰富的老兵,本书都将扩大你的知识集,成为你手边不可或缺的重要参考书。 一本Angular佳作! —— Susanne K 即使你不熟悉.NET和Angular,本书也将助你腾飞。 作者把准了读者的脉搏,叙述详细得当,浓墨重彩地描述相关的代码和功能,跳过多余或重复的代码。作者还进行技术对比,透彻阐述为什么一种方法优于另一种,读后令人恍然大悟。
内容简介
主要内容 ● 使用ASP.NET Core实现Web API接口,并通过Angular和RxJS Observable来使用接口。 ● 使用Entity Framework Core的代码优先方法和迁移支持来创建数据模型。 ● 使用本地实例或Azure中的云数据存储来建立和配置SQL数据库服务器。 ● 使用Visual Studio 2019执行C#和JavaScript调试。 ● 使用xUnit、Jasmine和Karma执行TDD和BDD单元测试。 ● 使用ASP.NET Identity、IdentityServer4和Angular API实现身份验证和授权。 ● 构建渐进式Web应用,并探索服务工作线程。
目录
目 录
第1章 准备工作 1
1.1 技术需求 1
1.2 两个框架,一个目标 2
1.2.1 ASP.NET Core的变革 2
1.2.2 Angular有哪些新变化? 5
1.2.3 选择.NET Core和Angular的理由 11
1.3 全栈方法 12
1.4 SPA、NWA和PWA 12
1.4.1 单页面应用程序 13
1.4.2 原生Web应用程序 13
1.4.3 渐进式Web应用程序 13
1.4.4 产品负责人的期望 15
1.5 SPA项目示例 16
1.6 准备工作空间 16
1.6.1 免责声明 17
1.6.2 创建项目 18
1.7 小结 22
1.8 推荐主题 22
第2章 探索项目 23
2.1 技术需求 23
2.2 解决方案概述 23
2.3 .NET Core后端 24
2.3.1 Razor页面 24
2.3.2 控制器 25
2.3.3 配置文件 26
2.4 Angular前端 32
2.4.1 工作空间 32
2.4.2 /ClientApp/src/文件夹 38
2.4.3 测试应用 40
2.5 开始工作 44
2.5.1 静态文件缓存 44
2.5.2 清理客户端应用 48
2.6 小结 53
2.7 推荐主题 53
第3章 前端与后端的交互 55
3.1 技术需求 55
3.2 .NET Core健康检查简介 55
3.2.1 添加HealthCheck中间件 56
3.2.2 添加网际控制报文协议检查 57
3.2.3 改进ICMPHealthCheck类 59
3.3 Angular中的健康检查 64
3.3.1 创建Angular组件 64
3.3.2 将组件添加到Angular应用 73
3.4 小结 75
3.5 推荐主题 75
第4章 使用Entity Framework Core 创建数据模型 77
4.1 技术需求 77
4.2 WorldCities Web应用 78
4.3 数据源 80
4.4 数据模型 81
4.4.1 Entity Framework Core简介 81
4.4.2 安装Entity Framework Core 82
4.4.3 SQL Server数据提供者 83
4.4.4 数据建模方法 84
4.5 创建实体 88
4.5.1 定义实体 88
4.5.2 定义关系 92
4.6 获取SQL Server 94
4.6.1 安装SQL Server 2019 95
4.6.2 在Azure上创建数据库 97
4.6.3 配置数据库 102
4.7 使用代码优先方法创建数据库 104
4.7.1 设置DbContext 105
4.7.2 数据库初始化策略 106
4.7.3 更新appsettings.json文件 106
4.7.4 创建数据库 107
4.7.5 添加初始迁移 107
4.8 填充数据库 111
4.9 实体控制器 117
4.9.1 CitiesController 117
4.9.2 CountriesController 120
4.10 小结 120
4.11 推荐主题 121
第5章 获取和显示数据 123
5.1 技术需求 123
5.2 获取数据 123
5.2.1 请求和响应 123
5.2.2 一个长列表 125
5.3 使用Angular Material提供数据 129
5.3.1 MatTableModule 131
5.3.2 MatPaginatorModule 134
5.3.3 MatSortModule 144
5.3.4 添加过滤功能 156
5.4 更新国家/地区 165
5.4.1 .NET Core 165
5.4.2 Angular 168
5.5 小结 173
5.6 推荐主题 174
第6章 表单和数据验证 175
6.1 技术需求 175
6.2 探索Angular表单 176
6.2.1 Angular中的表单 176
6.2.2 使用表单的理由 177
6.2.3 模板驱动的表单 178
6.2.4 模型驱动的/响应式表单 179
6.3 构建**个响应式表单 181
6.3.1 ReactiveFormsModule 181
6.3.2 CityEditComponent 182
6.3.3 添加导航链接 187
6.4 添加一个新城市 190
6.4.1 扩展CityEditComponent 190
6.4.2 添加Create a new City按钮 193
6.4.3 HTML select 195
6.4.4 Angular Material select(MatSelectModule) 199
6.5 理解数据验证 201
6.5.1 模板驱动的验证 202
6.5.2 模型驱动的验证 203
6.5.3 服务器端验证 207
6.6 FormBuilder简介 213
6.6.1 创建CountryEditComponent 213
6.6.2 测试CountryEditComponent 223
6.7 小结 226
6.8 推荐主题 226
第7章 代码调整和数据服务 227
7.1 技术需求 227
7.2 优化和调整 227
7.2.1 模板改进 228
7.2.2 类继承 229
7.3 Bug修复和改进 232
7.3.1 验证lat和lon 232
7.3.2 添加城市个数 235
7.3.3 DTO类——真的应该使用它们吗? 240
7.3.4 添加国家/地区名称 244
7.4 数据服务 247
7.4.1 对比XMLHttpRequest与fetch(和HttpClient) 248
7.4.2 构建数据服务 251
7.5 小结 267
7.6 推荐主题 267
第8章 后端和前端调试 269
8.1 技术需求 269
8.2 后端调试 269
8.2.1 Windows还是Linux? 270
8.2.2 基础知识 270
8.2.3 条件断点 270
8.2.4 Output窗口 273
8.2.5 调试EF Core 274
8.3 前端调试 280
8.3.1 Visual Studio中的JavaScript调试 280
8.3.2 浏览器开发者工具 282
8.3.3 调试Angular表单 284
8.3.4 客户端调试 289
8.4 小结 290
8.5 推荐主题 290
第9章 ASP.NET Core和Angular单元测试 291
9.1 技术需求 291
9.2 .NET Core单元测试 292
9.2.1 创建WorldCities.Tests项目 292
9.2.2 **个测试 294
9.2.3 测试驱动的开发 300
9.2.4 行为驱动的开发 301
9.3 Angular单元测试 302
9.3.1 一般概念 303
9.3.2 **个Angular测试套件 304
9.4 小结 313
9.5 推荐主题 314
第10章 身份验证和授权 315
10.1 技术需求 315
10.2 是否进行身份验证和授权 316
10.2.1 身份验证 316
10.2.2 授权 318
10.2.3 专有与第三方 318
10.3 使用.NET Core进行专有身份验证和授权 319
10.3.1 ASP.NET Core Identity Model 320
10.3.2 设置ASP.NET Core Identity 321
10.4 更新数据库 337
10.4.1 添加身份迁移 337
10.4.2 应用迁移 337
10.4.3 对数据执行seed操作 339
10.5 身份验证方法 341
10.5.1 会话 341
10.5.2 令牌 342
10.5.3 签名 343
10.5.4 双因子 343
10.5.5 结论 343
10.6 在Angular中实现身份验证 343
10.6.1 创建AuthSample项目 344
10.6.2 探索Angular授权API 346
10.7 在WorldCities应用中实现授权API 359
10.7.1 导入前端授权API 359
10.7.2 调整后端代码 361
10.7.3 测试登录和注册 364
10.8 小结 365
10.9 推荐主题 365
第11章 渐进式Web应用 367
11.1 技术需求 367
11.2 PWA的特征 367
11.2.1 安全源 368
11.2.2 离线加载和Web应用清单 369
11.3 实现PWA需求 370
11.3.1 手动安装 370
11.3.2 自动安装 377
11.4 处理离线状态 379
11.4.1 选项1:窗口的isonline/isoffline事件 379
11.4.2 选项2:Navigator.onLine属性 379
11.4.3 选项3:ng-connection-service npm包 380
11.4.4 跨请求资源共享 384
11.5 测试PWA能力 385
11.5.1 使用Visual Studio和IIS Express 385
11.5.2 其他测试方法 390
11.6 小结 391
11.7 推荐主题 392
第12章 Windows和Linux部署 393
12.1 技术需求 393
12.2 为生产环境做好准备 393
12.2.1 .NET Core部署提示 394
12.2.2 Angular部署提示 399
12.3 Windows部署 402
12.3.1 在MS Azure上创建一个Windows Server VM 402
12.3.2 配置VM 406
12.3.3 发布和部署HealthCheck应用 408
12.3.4 配置IIS 410
12.3.5 测试HealthCheck Web应用 414
12.4 Linux部署 415
12.4.1 在MS Azure中创建一个Linux CentOS VM 416
12.4.2 配置Linux VM 417
12.4.3 调整WorldCities应用 421
12.4.4 发布和部署WorldCities应用 423
12.4.5 配置Kestrel和Nginx 425
12.4.6 测试WorldCities应用 430
12.5 小结 432
12.6 推荐主题 433
作者简介
Valerio De Sanctis是一名掌握丰富技能的IT专业人员,在使用ASP.NET、PHP和Java进行编程、Web开发和项目管理方面具有超过15年的经验。他在多家金融和保险公司担任过高级职务,近来在一家业界领先的售后服务和IT服务公司担任首席技术官、首席安全官和首席运营官,这家公司为多个顶j的人寿和非人寿保险集团提供服务。 在职业生涯中,Valerio帮助许多私企实现和维护基于.NET的解决方案,与许多IT行业的专家携手工作,并领导过多个前端、后端和UX开发团队。他为多个知名的客户和合作伙伴设计了许多企业级Web应用程序项目的架构,并监管这些项目的开发。这些客户包括London Stock Exchange Group、Zurich Insurance Group、Allianz、Generali、Harmonie Mutuelle、Honda Motor、FCA Group、Luxottica、ANSA、Saipem、ENI、Enel、Terna、Banzai Media、Virgilio.it、Repubblica.it和Corriere.it。 他是Stack Exchange网络上的活跃成员,在StackOverflow、ServerFault和SuperUser社区中提供关于.NET、JavaScript、HTML5和Web主题的建议和提示。他的大部分项目和代码示例在GitHub、BitBucket、NPM、CocoaPods、JQuery Plugin Registry和WordPress Plugin Repository中以开源许可提供。他还是Microsoft开发技术MVP,这是一个年度颁发的奖项,用来表彰全球范围内积极与用户和Microsoft分享高质量的实用专家技能的卓越技术社区领袖。 自2014年以来,他在www.ryadel.com上运营一个面向IT并关注Web的博客,提供业界新闻、评审、代码示例和指导,旨在帮助全球的开发人员和技术爱好者。他撰写了多本关于Web开发的图书,许多都在Amazon上成为畅销图书,在全球范围内销售了数万本。
-
落洼物语
¥8.7¥28.0 -
当代中国政府与政治(新编21世纪公共管理系列教材)
¥33.6¥48.0 -
中国当代文学名篇选读
¥19.1¥53.0 -
中医基础理论
¥50.7¥59.0 -
北大人文课(平装)
¥13.9¥45.0 -
外国教育史-第2版
¥24.4¥40.0 -
宪法-第二版
¥12.2¥29.0 -
先进防伪技术
¥81.3¥98.0 -
当代中国政府与政治 第二版
¥57.8¥68.0 -
EPLAN电气设计
¥29.9¥39.8 -
闯进数学世界――探秘历史名题
¥21.3¥32.8 -
企业法务教程
¥34.8¥49.0 -
习近平新时代中国特色社会主义思想概论
¥18.2¥26.0 -
毛泽东思想和中国特色社会主义理论体系概论(2021年版)
¥6.8¥25.0 -
金融学
¥29.9¥49.0 -
计算机操作系统教程(第4版)(清华大学计算机系列教材)
¥31.9¥49.0 -
古代汉语(第四册)
¥16.1¥35.0 -
管理学:原理与方法(第7版)(博学.大学管理类)/周三多
¥30.9¥49.0 -
(平装)北大必修课:北大口才课
¥12.2¥45.0 -
海商法-第四版
¥30.2¥48.0