返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版新书] Node.js+Express+MongoDB+Vue.js全栈开发实战 柳伟卫 清华大学出版社
  • 新商品上架
    • 作者: 柳伟卫著
    • 出版社: 清华大学出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 柳伟卫著
    • 出版社:清华大学出版社
    • 出版时间:1
    • 开本:16开
    • ISBN:9789193200111
    • 版权提供:清华大学出版社

     书名:  Node.js+Express+MongoDB+Vue.js全栈开发实战
     出版社:  清华大学出版社
     出版日期  2023
     ISBN号:  9787302622048

    本书全面介绍Vue.js+Node.js全栈开发所使用的新技术,包括MongoDB、Express、Vue.js 3、Node.js、Naive UI、md-editor-v3、Nginx、basic-auth、JavaScript、TypeScript等开源技术栈,知识点涉及数据存储、模块、测试、缓冲区、事件处理、文件处理、HTTP编程、组件、模板、指令、监听器、表达式、事件、表单、HTTP客户端等内容。本书内容丰富,案例新颖,学习难度由浅入深,层层推进,理论联系实际,具有较强的实操性。这些知识点既能满足当前企业级应用的开发需求,又可以最大限度地减轻开发者的负担。本书所介绍的知识较为前瞻,辅以大量的案例,令读者知其然并知其所以然。通过本书的学习,可以令读者拓展视野,提升职场竞争能力。

    本书适合Vue.js+Node.js全栈开发初学者和进阶读者作为自学教程,也适合培训学校作为培训教材,还适合大、中专院校的相关专业作为教学参考书。

    柳伟卫,网名老卫、waylau,在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有十多年开发经验,具有丰富的软件开发管理及系统架构经验。主导过多个省、国家级大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造。在实际工作中积累了大量的分布式系统、微服务架构以及性能调优经验。业余时间创建了 waylau.com 网站,用于分享个人技术心得。喜欢开源,长期活跃于各大开源社区,是 CSDN、 开源中国、阿里云开发者、华为开发者等技术社区专家,已出版《Java核心编程》《轻量级Java EE企业应用开发实战》等十几部专业图书。

    UI、md-editor-v3、basic-auth、JavaScript、TypeScript,知识面广:无论是前端的Vue.js、朴素还是前端的MongoDB、Node.js、Express、Nginx,本书均有着墨。

    版本新颖:本书所涉及的技术版本均为目前最新的版本.

    案例丰富:全书共计有89个知识点实例和4个综合实战案例.

    全栈技能:熟习本书,可以掌握全栈开发技能.

    第1章  Vue.js+Node.js全栈开发概述 1
    1.1  Vue.js+Node.js全栈开发核心技术栈的组成 1
    1.1.1  MongoDB 1
    1.1.2  Express 2
    1.1.3  Vue.js 2
    1.1.4  Node.js 2
    1.2  Vue.js+Node.js全栈开发周边技术栈的组成 2
    1.2.1  Naive UI 2
    1.2.2  md-editor-v3 3
    1.2.3  Nginx 3
    1.2.4  basic-auth 3
    1.3  Vue.js+Node.js全栈开发的优势 3
    1.4  开发工具的选择 6
    1.5  小结 6
    1.6  练习题 6
    第2章  Node.js基础 7
    2.1  初识Node.js 7
    2.1.1  Node.js简介 7
    2.1.2  为什么叫Node.js 8
    2.2  Node.js的特点 8
    2.2.1  异步I/O 8
    2.2.2  事件驱动 9
    2.2.3  单线程 10
    2.2.4  可用性和扩展性 10
    2.2.5  跨平台 11
    2.3  安装Node.js 11
    2.3.1  安装Node.js和npm 11
    2.3.2  Node.js与npm的关系 12
    2.3.3  安装npm镜像 12
    2.4  第一个Node.js应用 12
    2.4.1  实例1:创建Node.js应用 12
    2.4.2  实例2:运行Node.js应用 12
    2.5  小结 13
    2.6  练习题 13
    第3章  Node.js模块——大型项目管理之道 14
    3.1  理解模块化机制 14
    3.1.1  理解CommonJS规范 14
    3.1.2  理解ES6模块 16
    3.1.3  CommonJS和ES6模块的异同点 17
    3.1.4  Node.js的模块实现 18
    3.2  使用npm管理模块 19
    3.2.1  使用npm命令安装模块 19
    3.2.2  全局安装与本地安装 20
    3.2.3  查看安装信息 20
    3.2.4  卸载模块 21
    3.2.5  更新模块 21
    3.2.6  搜索模块 21
    3.2.7  创建模块 21
    3.3  Node.js核心模块 21
    3.4  小结 22
    3.5  练习题 22
    第4章  Node.js测试 23
    4.1  严格模式和遗留模式 23
    4.2  实例3:断言的使用 24
    4.3  了解AssertionError 25
    4.4  实例4:使用deepStrictEqual 26
    4.5  小结 28
    4.6  练习题 28
    第5章  Node.js缓冲区—高性能IO处理的秘诀 29
    5.1  了解Buffer 29
    5.1.1  了解TypedArray 29
    5.1.2  Buffer类 30
    5.2  创建缓冲区 31
    5.2.1  初始化缓冲区的API 31
    5.2.2  实例5:理解数据的安全性 32
    5.2.3  启用零填充 33
    5.2.4  实例6:指定字符编码 33
    5.3  实例7:切分缓冲区 34
    5.4  实例8:连接缓冲区 35
    5.5  实例9:比较缓冲区 36
    5.6  缓冲区编解码 36
    5.6.1  编码器和解码器 36
    5.6.2  实例10:缓冲区解码 37
    5.6.3  实例11:缓冲区编码 38
    5.7  小结 39
    5.8  练习题 39
    第6章  Node.js事件处理 40
    6.1  理解事件和回调 40
    6.1.1  事件循环 41
    6.1.2  事件驱动 41
    6.2  事件发射器 42
    6.2.1  实例12:将参数和this传给监听器 42
    6.2.2  实例13:异步与同步 43
    6.2.3  实例14:仅处理事件一次 43
    6.3  事件类型 44
    6.3.1  事件类型的定义 44
    6.3.2  内置的事件类型 44
    6.3.3  实例15:error事件 44
    6.4  事件的操作 47
    6.4.1  实例16:设置最大监听器 47
    6.4.2  实例17:获取已注册的事件的名称 47
    6.4.3  实例18:获取监听器数组的副本 48
    6.4.4  实例19:将事件监听器添加到监听器数组的开头 48
    6.4.5  实例20:移除监听器 49
    6.5  小结 50
    6.6  练习题 50
    第7章  Node.js文件处理 51
    7.1  了解fs模块 51
    7.1.1  同步与异步操作文件 51
    7.1.2  文件描述符 53
    7.2  处理文件路径 53
    7.2.1  字符串形式的路径 54
    7.2.2  Buffer形式的路径 54
    7.2.3  URL对象的路径 55
    7.3  打开文件 56
    7.3.1  文件系统标志 56
    7.3.2  实例21:打开文件的例子 57
    7.4  读取文件 58
    7.4.1  实例22:用fs.read读取文件 58
    7.4.2  实例23:用fs.readdir读取文件 59
    7.4.3  实例24:用fs.readFile读取文件 60
    7.5  写入文件 61
    7.5.1  实例25:将Buffer写入文件 61
    7.5.2  实例26:将字符串写入文件 62
    7.5.3  实例27:将数据写入文件 64
    7.6  小结 64
    7.7  练习题 65
    第8章  Node.js HTTP编程 66
    8.1  创建HTTP服务器 66
    8.1.1  实例28:用http.Server创建服务器 66
    8.1.2  理解http.Server事件的用法 67
    8.2  处理HTTP常用操作 69
    8.3  请求对象和响应对象 69
    8.3.1  理解http.ClientRequest类 69
    8.3.2  理解http.ServerResponse类 73
    8.4  REST概述 76
    8.4.1  REST定义 76
    8.4.2  REST设计原则 76
    8.5  成熟度模型 77
    8.5.1  第0级:使用HTTP作为传输方式 78
    8.5.2  第1级:引入了资源的概念 79
    8.5.3  第2级:根据语义使用HTTP动词 80
    8.5.4  第3级:使用HATEOAS 81
    8.6  实例29:构建REST服务的例子 83
    8.6.1  新增用户 84
    8.6.2  修改用户 85
    8.6.3  删除用户 85
    8.6.4  响应请求 86
    8.6.5  运行应用 87
    8.7  小结 90
    8.8  练习题 90
    第9章  Express基础 91
    9.1  安装Express 91
    9.1.1  初始化应用目录 91
    9.1.2  初始化应用结构 92
    9.1.3  在应用中安装Express 92
    9.2  实例30:编写Hello World应用 93
    9.3  实例31:运行Hello World应用 93
    9.4  小结 94
    9.5  练习题 94
    第10章  Express路由——页面的导航员 95
    10.1  路由方法 95
    10.2  路由路径 96
    10.2.1  实例32:基于字符串的路由路径 96
    10.2.2  实例33:基于字符串模式的路由路径 97
    10.2.3  实例34:基于正则表达式的路由路径 97
    10.3  路由参数 98
    10.4  路由处理器 98
    10.4.1  实例35:单个回调函数 98
    10.4.2  实例36:多个回调函数 98
    10.4.3  实例37:一组回调函数 99
    10.4.4  实例38:独立函数和函数数组的组合 99
    10.5  响应方法 99
    10.6  实例39:Express构建REST API 100
    10.7  测试Express的REST API 102
    10.7.1  测试创建用户API 102
    10.7.2  测试删除用户API 102
    10.7.3  测试修改用户API 103
    10.7.4  测试查询用户API 104
    10.8  小结 104
    10.9  练习题 104
    第11章  Express错误处理器 105
    11.1  捕获错误 105
    11.2  默认错误处理器 107
    11.3  自定义错误处理器 107
    11.4  小结 109
    11.5  练习题 109
    第12章  MongoDB基础 110
    12.1  MongoDB简介 110
    12.2  安装MongoDB 112
    12.3  启动MongoDB服务 112
    12.4  连接到MongoDB服务器 113
    12.5  小结 114
    12.6  练习题 114
    第13章  MongoDB常用操作 115
    13.1  显示已有的数据库 115
    13.2  创建、使用数据库 115
    13.3  插入文档 116
    13.3.1  实例40:插入单个文档 116
    13.3.2  实例41:插入多个文档 116
    13.4  查询文档 117
    13.4.1  实例42:嵌套文档查询 118
    13.4.2  实例43:嵌套字段查询 118
    13.4.3  实例44:使用查询运算符 118
    13.4.4  实例45:多条件查询 119
    13.5  修改文档 119
    13.5.1  实例46:修改单个文档 119
    13.5.2  实例47:修改多个文档 120
    13.5.3  实例48:替换单个文档 120
    13.6  删除文档 121
    13.6.1  实例49:删除单个文档 121
    13.6.2  实例50:删除多个文档 122
    13.7  小结 122
    13.8  练习题 122
    第14章  使用Node.js操作MongoDB 123
    14.1  安装mongodb模块 123
    14.2  实现访问MongoDB 124
    14.3  运行应用 125
    14.4  小结 125
    14.5  练习题 125
    第15章  mongodb模块的综合应用 126
    15.1  实例51:建立连接 126
    15.2  实例52:插入文档 127
    15.3  实例53:查找文档 128
    15.4  修改文档 130
    15.4.1  实例54:修改单个文档 130
    15.4.2  实例55:修改多个文档 134
    15.5  删除文档 137
    15.5.1  实例56:删除单个文档 137
    15.5.2  实例57:删除多个文档 141
    15.6  小结 145
    15.7  练习题 145
    第16章  Vue.js基础 146
    16.1  Vue.js产生的背景 146
    16.2  Vue.js的下载安装 146
    16.2.1  安装Vue CLI 147
    16.2.2  安装Vue Devtools 147
    16.3  Vue CLI的常用操作 147
    16.3.1  获取帮助 147
    16.3.2  创建应用 148
    16.3.3  创建服务 149
    16.3.4  启动应用 149
    16.3.5  编译应用 150
    16.4  实例58:创建第一个Vue.js应用 150
    16.4.1  使用Vue CLI初始化应用 150
    16.4.2  运行Vue应用 154
    16.4.3  增加对TypeScript的支持 155
    16.5  探索Vue.js应用结构 155
    16.5.1  整体项目结构 155
    16.5.2  项目根目录文件 156
    16.5.3  node_modules目录 156
    16.5.4  public目录 157
    16.5.5  src目录 158
    16.6  小结 161
    16.7  练习题 161
    第17章  Vue.js应用实例 162
    17.1  创建应用实例 162
    17.1.1  第一个应用实例 162
    17.1.2  让应用实例执行方法 162
    17.1.3  理解选项对象 163
    17.1.4  理解根组件 163
    17.1.5  理解MVVM模型 164
    17.2  data的property与methods 164
    17.2.1  理解data property 165
    17.2.2  理解data methods 165
    17.3  生命周期 166
    17.3.1  什么是生命周期钩子 166
    17.3.2  Vue.js的生命周期 167
    17.3.3  实例59:生命周期钩子的例子 168
    17.4  小结 171
    17.5  练习题 171
    第18章  Vue.js组件 172
    18.1  组件的基本概念 172
    18.1.1  实例60:一个Vue.js组件的示例 172
    18.1.2  什么是组件 173
    18.1.3  组件的复用 174
    18.1.4  Vue组件与Web组件的异同点 175
    18.2  组件交互方式 175
    18.2.1  实例61:通过prop向子组件传递数据 175
    18.2.2  实例62:监听子组件事件 176
    18.2.3  实例63:兄弟组件之间的通信 179
    18.2.4  实例64:通过插槽分发内容 181
    18.3  让组件可以动态加载 183
    18.3.1  实现组件动态加载的步骤 183
    18.3.2  实例65:动态组件的示例 183
    18.4  使用缓存组件keep-alive 188
    18.4.1  实例66:keep-alive的例子 188
    18.4.2  keep-alive配置详解 189
    18.5  小结 190
    18.6  练习题 190
    第19章  Vue.js模板 191
    19.1  模板概述 191
    19.2  实例67:插值 192
    19.2.1  文本 192
    19.2.2  原生HTML代码 192
    19.2.3  绑定HTML attribute 193
    19.2.4  JavaScript表达式 193
    19.3  实例68:在模板中使用指令 194
    19.3.1  参数 195
    19.3.2  理解指令中的动态参数 195
    19.3.3  理解指令中的修饰符 196
    19.4  实例69:在模板中使用指令的缩写 196
    19.4.1  使用v-bind缩写 196
    19.4.2  使用v-on缩写 197
    19.5  使用模板的一些约定 197
    19.5.1  对动态参数值的约定 197
    19.5.2  对动态参数表达式的约定 198
    19.5.3  对访问全局变量的约定 198
    19.6  小结 198
    19.7  练习题 198
    第20章  Vue.js计算属性与监听器 199
    20.1  通过实例理解“计算属性”的必要性 199
    20.2  实例70:一个计算属性的例子 200
    20.2.1  声明计算属性 200
    20.2.2  模拟数据更改 201
    20.3  计算属性缓存与方法的关系 202
    20.4  为什么需要侦听器 202
    20.4.1  理解侦听器 202
    20.4.2  实例71:一个侦听器的例子 202
    20.5  小结 204
    20.6  练习题 204
    第21章  Vue.js表达式 205
    21.1  条件表达式 205
    21.1.1  实例72:v-if的例子 205
    21.1.2  实例73:v-else的例子 206
    21.1.3  实例74:v-else-if的例子 206
    21.1.4  实例75:v-show的例子 206
    21.1.5  v-if与v-show的关系 207
    21.2  for循环表达式 207
    21.2.1  实例76:v-for遍历数组的例子 207
    21.2.2  实例77:v-for遍历数组设置索引的例子 208
    21.2.3  实例78:v-for遍历对象property的例子 210
    21.2.4  实例79:数组过滤的例子 211
    21.2.5  实例80:使用值的范围的例子 212
    21.3  v-for的不同使用场景 213
    21.3.1  实例81:在<template>中使用v-for的例子 213
    21.3.2  实例82:v-for与v-if一同使用的例子 214
    21.3.3  实例83:在组件上使用v-for的例子 215
    21.4  小结 216
    21.5  练习题 216
    第22章  Vue.js事件 217
    22.1  什么是事件 217
    22.1.1  实例84:监听事件的例子 217
    22.1.2  理解事件处理方法 218
    22.1.3  处理原始的DOM事件 219
    22.1.4  为什么需要在HTML代码中监听事件 220
    22.2  实例85:多事件处理器的例子 220
    22.3  事件修饰符 221
    22.3.1  什么是事件修饰符 221
    22.3.2  理解按键修饰符 222
    22.3.3  理解系统修饰键 223
    22.4  小结 224
    22.5  练习题 224
    第23章  Vue.js表单 225
    23.1  理解表单输入绑定 225
    23.2  实例86:表单输入绑定的基础用法 225
    23.2.1  文本 225
    23.2.2  多行文本 226
    23.2.3  复选框 227
    23.2.4  单选框 228
    23.2.5  选择框 229
    23.3  实例87:值绑定 230
    23.3.1  复选框 230
    23.3.2  单选框 231
    23.3.3  选择框 232
    23.4  小结 233
    23.5  练习题 233
    第24章  Vue.js HTTP客户端 234
    24.1  初识HttpClient 234
    24.2  认识网络资源 235
    24.3  实例88:获取API数据 235
    24.3.1  引入vue-axios 235
    24.3.2  获取API数据 235
    24.3.3  运行应用 236
    24.4  小结 236
    24.5  练习题 236
    第25章  实战:基于Vue.js和Node.js的互联网应用 237
    25.1  应用概述 237
    25.1.1  “新闻头条”的核心功能 238
    25.1.2  初始化数据库 238
    25.2  模型设计 238
    25.2.1  用户模型设计 238
    25.2.2  新闻模型设计 239
    25.3  接口设计 239
    25.4  权限管理 239
    25.5  小结 240
    25.6  练习题 240
    第26章  实战:前端UI客户端应用 241
    26.1  前端UI设计 241
    26.1.1  首页UI设计 241
    26.1.2  新闻详情页UI设计 242
    26.2  实现UI原型 242
    26.2.1  初始化news-ui 242
    26.2.2  添加Naive UI 243
    26.2.3  创建组件 244
    26.2.4  实现新闻列表原型设计 245
    26.2.5  实现新闻详情页原型设计 247
    26.3  实现路由器 249
    26.3.1  理解路由的概念 249
    26.3.2  使用路由插件 249
    26.3.3  创建路由 249
    26.3.4  如何使用路由 250
    26.3.5  修改新闻列表组件 251
    26.3.6  新闻详情组件增加返回按钮事件处理 252
    26.3.7  运行应用 252
    26.4  小结 253
    26.5  练习题 253
    第27章  实战:后端服务器应用 254
    27.1  初始化后台应用 254
    27.1.1  初始化应用目录 254
    27.1.2  初始化应用结构 254
    27.1.3  在应用中安装Express 255
    27.1.4  编写后台Hello World应用 255
    27.1.5  运行后台Hello World应用 256
    27.2  初步实现登录认证 256
    27.2.1  创建后台管理组件 256
    27.2.2  添加组件到路由 256
    27.2.3  注入HTTP客户端 257
    27.2.4  客户端访问后台接口 257
    27.2.5  后台接口设置安全认证 259
    27.3  实现新闻编辑器 261
    27.3.1  集成md-editor-v3插件 261
    27.3.2  导入md-editor-v3组件及样式 261
    27.3.3  编写编辑器界面 261
    27.3.4  后台创建新增新闻接口 264
    27.3.5  运行 266
    27.4  实现新闻列表展示 266
    27.4.1  后台实现新闻列表查询的接口 266
    27.4.2  实现客户端访问新闻列表REST接口 267
    27.4.3  运行应用 268
    27.5  实现新闻详情展示 269
    27.5.1  在后服务器实现查询新闻详情的接口 269
    27.5.2  实现客户端访问新闻详情REST接口 270
    27.5.3  运行应用 272
    27.6  实现认证信息存储及读取 273
    27.6.1  实现认证信息的存储 273
    27.6.2  实现认证信息的读取 273
    27.6.3  改造认证方法 274
    27.6.4  改造对外的接口 274
    27.7  小结 276
    27.8  练习题 276
    第28章  实战:使用Nginx实现高可用 277
    28.1  Nginx概述与安装 277
    28.1.1  Nginx介绍 277
    28.1.2  下载、安装、运行Nginx 278
    28.1.3  常用命令 281
    28.2  部署前端应用 281
    28.2.1  编译前端应用 281
    28.2.2  部署前端应用编译文件 282
    28.2.3  配置Nginx 282
    28.3  实现负载均衡及高可用 283
    28.3.1  配置负载均衡 284
    28.3.2  负载均衡常用算法 284
    28.3.3  实现后台服务的高可用 286
    28.3.4  运行 287
    28.4  小结 287
    28.5  练习题 287
    参考文献 288

    写作背景
    JavaScript是Web开发最为流行的编程语言,而Node.js的出现使得JavaScript可以在服务器端一展身手。结合Vue.js技术实现前端框架的组件化开发方式使得Vue.js+Node.js全栈开发变得盛行。笔者撰写了包括《Vue.js 3企业级应用开发实战》《Node.js企业级应用开发实战》在内的有关Vue.js和Node.js的图书,但将Vue.js和Node.js进行整合尚属首次。
    本书介绍了Vue.js+Node.js全栈开发所使用的新技术,这些技术既能满足当前企业级应用的开发需求,又可以最大限度地减轻开发者的负担。通过本书的学习,可以令读者拓展视野,并提升职场竞争能力。本书主要面向计算机专业的学生、全栈开发爱好者及工程师。本书涉及的技术包括MongoDB、Express、Vue.js、Node.js、Naive UI、md-editor-v3、Nginx、basic-auth、JavaScript、TypeScript等,是市面上为数不多的介绍全栈技术开发的图书之一。
    一书在手,肩挑全栈,事半功倍!
    内容介绍
    本书共28章,概要说明如下:
    ? 第1章为概述,介绍Vue.js+Node.js全栈开发架构所涉及的核心技术栈及周边技术栈的组成。
    ? 第2~8章为Node.js的基础及进阶,介绍Node.js的基础及核心内容。
    ? 第9~11章为Express的基础及进阶,介绍Express的基础及核心内容。
    ? 第12~15章为MongoDB的基础及进阶,介绍MongoDB的基础及核心内容。
    ? 第16~24章为Vue.js的基础及进阶,介绍Vue.js的基础及核心内容。
    ? 第25~28章为实战,演示如何从0开始实现一个综合实战案例——新闻头条。
    特  色
    本书具备以下特色:
    ? 知识面广。无论是前端的Vue.js、Naive UI、md-editor-v3、basic-auth、JavaScript、TypeScript,还是后端的MongoDB、Node.js、Express、Nginx,本书均有涉及。
    ? 版本新颖。本书所涉及的技术版本均为目前新版本。
    ? 案例丰富。全书共计89个知识点实例和4个综合实战案例。
    ? 全栈开发。熟习本书,可以掌握全栈开发技能。
    资源下载
    本书提供的源代码和PPT课件,可以扫描以下二维码下载:

    若下载有问题,请发送电子邮件至booksaga@126.com,邮件主题为“Node.js+Express+MongoDB+
    Vue.js全栈开发实战”。
    本书所采用的技术及相关版本
    技术的版本是非常重要的,因为不同版本之间存在兼容性问题,而且不同版本的软件所对应的功能也是不同的。本书所列出的技术在版本上相对较新,都是经过笔者大量测试的。这样读者在自行编写代码时,可以参考本书所列出的版本,从而避免版本兼容性所产生的问题。建议读者将相关开发环境设置得与本书一致,或者不低于本书所列的配置。详细的版本配置,可以参阅本书“附录”中的内容。
    勘误和交流
    本书如有勘误,会在以下网址发布:
    http://github.com/waylau/full-stack-development-with-vuejs-and-nodejs/issues
    由于笔者能力有限、时间仓促,书中难免出现疏漏之处,欢迎读者批评指正。
    致  谢
    感谢清华大学出版社的各位工作人员为本书的出版所做的努力。
    感谢我的父母、妻子和两个女儿。由于撰写本书,我牺牲了很多陪伴家人的时间,谢谢他们对我的理解和支持。
    感谢关心和支持我的朋友、读者、网友。
    柳伟卫
    2022年12月

     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购