登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』Spark原理深入与编程实战(微课视频版)

書城自編碼: 3900090
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 辛立伟、张帆、张会娟
國際書號(ISBN): 9787302628866
出版社: 清华大学出版社
出版日期: 2023-07-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 964

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
明代社会变迁时期生活质量研究
《 明代社会变迁时期生活质量研究 》

售價:NT$ 1367.0
律令国家与隋唐文明
《 律令国家与隋唐文明 》

售價:NT$ 332.0
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
《 紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插) 》

售價:NT$ 449.0
现代吴语的研究(中华现代学术名著3)
《 现代吴语的研究(中华现代学术名著3) 》

售價:NT$ 296.0
天下的当代性:世界秩序的实践与想象(新版)
《 天下的当代性:世界秩序的实践与想象(新版) 》

售價:NT$ 352.0
德国天才4:断裂与承续
《 德国天才4:断裂与承续 》

售價:NT$ 500.0
妈妈的情绪,决定孩子的未来
《 妈妈的情绪,决定孩子的未来 》

售價:NT$ 194.0
推拿纲目
《 推拿纲目 》

售價:NT$ 1836.0

建議一齊購買:

+

NT$ 1015
《 Scala编程实战(原书第2版) 》
+

NT$ 607
《 PySpark原理深入与编程实战(微课视频版) 》
+

NT$ 611
《 21天学通C++(第9版) 》
+

NT$ 917
《 Rust程序设计(第2版) 》
+

NT$ 454
《 收割Offer:互联网大厂面经 》
+

NT$ 607
《 labuladong的算法笔记 》
編輯推薦:
本书具有以下几个特点:
(1) 面向零基础读者,知识点深浅适当,代码完整易懂。
(2) 内容全面系统,包括架构原理、开发环境及程序部署、流和批计算、图计算等,并特别包含了Delta Lake、Iceberg、Hudi等数据湖内容。
(3) 版本先进,所有代码均基于Spark 3.1.2。特别值得一提的是,图计算部分抛弃了性能欠佳的GraphX,而是引入了下一代Spark图计算库GraphFrames进行讲解和演示。
(4) 全书包含大量的示例代码讲解和完整项目案例。
內容簡介:
本书系统讲述Apache Spark大数据计算平台的原理,以及如果将Apache Spark应用于大数据的实时流处理、批处理、图计算等各个场景。通过原理深入学习和实践示例、案例的学习应用,使读者了解并掌握Apache Spark大数据计算平台的基本原理和技能,接近理论与实践的距离。 全书共分为13章,主要内容包括Spark架构原理与集群搭建、开发和部署Spark应用程序、Spark核心编程、Spark SQL、Spark SQL高级分析、Spark Streaming流处理、Spark结构化流、Spark结构化流高级处理、下一代Spark图处理库GraphFrames、下一代大数据技术(Delta Lake数据湖、Iceberg数据湖和Hudi数据湖)、Spark大数据处理综合案例。本书源码全部在Apache Spark 3.1.2上调试成功,所有示例和案例均基于Scala语言。 为降低读者学习大数据技术的门槛,本书除了提供了丰富的上机实践操作和范例程序详细讲解之外,本书作者还为购买和使用本书的读者提供了搭建好的Hadoop、Hive数仓和Spark大数据开发和学习环境。读者既可以参照本书的讲解自行搭建Hadoop和Spark环境,也可直接使用作者提供的开始和学习环境,快速开始大数据和Spark、数据湖的学习。 本书系统讲解了Apache Spark大数据计算平台的原理和流、批处理的开发实践,内容全面、实例丰富、可操作性强,做到了理论与实践相结合。本书适合大数据学习爱好者、想要入门Apache Spark的读者作为入门和提高的技术参考书,也适合用作大中专院校大数据专业相关的学生和老师的教材或教学参考书。
關於作者:
辛立伟,一个在IT领域摸爬滚打二十多年的老程序员、技术培训师、技术作者。横跨Java、数据库、大数据开发与分析、人工智能等多个领域,参与多个IT项目的架构设计与开发。长期坚持撰写技术博客,曾在多个大学讲授Java开发、数据库和大数据技术课程,曾担任中国石油大学(青岛校区)等多所院校的外聘讲师。
张帆,硕士,副教授,中国计算机学会会员,河南省教育厅学术技术带头人,华为认证openGauss数据库工程师。主持参与各级项目19项,发表论文22篇,参编著作5部。研究方向为数据库技术、大数据存储与处理技术、云计算技术。
张会娟,博士,华北水利水电大学公共管理学院教师。于2020年在河南理工大学测绘科学与技术系获得工学博士学位。研究兴趣包括地理信息系统、遥感、人工智能等方向,在数据挖掘、深度学习等方面有深入研究,在国内外期刊发表相关论文多篇。
目錄
第 1章 Spark架构原理与集群搭建 (
93min) 1
1.1 Spark简介·1
1.2 Spark技术栈·3
1.2.1 Spark Core4
1.2.2 Spark SQL4
1.2.3 Spark Streaming和 Structured Streaming·5
1.2.4 Spark MLlib ·5
1.2.5 Spark GraphX·6
1.2.6 SparkR ·6
1.3 Spark架构原理 ·7
1.3.1 Spark集群和资源管理系统 7
1.3.2 Spark应用程序 7
1.3.3 Spark Driver和 Executor ·9
1.4 Spark程序部署模式10
1.5 安装和配置 Spark集群·11
1.5.1 安装 Spark ·11
1.5.2 了解 Spark目录结构·12
1.5.3 配置 Spark集群·13
1.5.4 验证 Spark安装·14
1.6 配置 Spark历史服务器·15
1.6.1 历史服务器配置 16
1.6.2 启动 Spark历史服务器·17
1.7 使用 spark-shell进行交互式分析 ·18
1.7.1 运行模式 --master·18
1.7.2 启动和退出 spark-shell19
1.7.3 spark-shell常用命令21
1.7.4 SparkContext和 SparkSession ·22
1.7.5 Spark Web UI ·23
1.8 使用 spark-submit提交 Spark应用程序·25
1.8.1 spark-submit指令的各种参数说明·25
1.8.2 提交 SparkPi程序,计算圆周率 π值·29
1.8.3 将 SparkPi程序提交到 YARN集群上执行 30
第 2章 开发和部署 Spark应用程序 (
86min) · 33
2.1 使用 IntelliJ IDEA开发 Spark SBT应用程序33
2.1.1 安装 IntelliJ IDEA ·34
2.1.2 配置 IntelliJ IDEA Scala环境37
2.1.3 创建 IntelliJ IDEA SBT项目·39
2.1.4 配置 SBT构建文件·42
2.1.5 准备数据文件 42
2.1.6 创建 Spark应用程序·43
2.1.7 部署分布式 Spark应用程序 ·47
2.1.8 远程调试 Spark程序·49
2.2 使用 IntelliJ IDEA开发 Spark Maven应用程序 ·51
2.2.1 创建 IntelliJ IDEA Maven项目 ·51
2.2.2 验证 SDK安装和配置 53
2.2.3 项目依赖和配置管理 55
2.2.4 测试 Spark程序·58
2.2.5 项目编译和打包 58
2.3 使用 Java开发 Spark应用程序 59
2.3.1 创建一个新的 IntelliJ项目59
2.3.2 验证 SDK安装和配置 61
2.3.3 安装和配置 Maven 63
2.3.4 创建 Spark应用程序·64
2.3.5 部署 Spark应用程序·66
2.3.6 远程调试 Spark应用程序 ·67
2.4 使用 Zeppelin进行交互式分析 ·69
2.4.1 下载 Zeppelin安装包70
2.4.2 安装和配置 Zeppelin ·70
2.4.3 配置 Spark解释器·71
2.4.4 创建和执行 Notebook程序·72
第 3章 Spark核心编程 (
252min) 75
3.1 理解数据抽象 RDD·75
3.1.1 RDD结构75
3.1.2 RDD容错76
3.2 RDD编程模型 77
3.2.1 单词计数应用程序 77
3.2.2 理解 SparkSession79
3.2.3 理解 SparkContext ·80
3.3 创建 RDD 81
3.3.1 将现有的集合并行化以创建 RDD81
3.3.2 从存储系统读取数据集以创建 RDD82
3.3.3 从已有的 RDD转换得到新的 RDD ·83
3.3.4 创建 RDD时指定分区数量 83
3.4 操作 RDD 84
3.4.1 RDD上的 Transformation和 Action ·85
3.4.2 RDD Transformation操作87
3.4.3 RDD Action操作·92
3.4.4 RDD上的描述性统计操作·95
3.5 Pair RDD96
3.5.1 创建 Pair RDD ·97
3.5.2 操作 Pair RDD ·98
3.5.3 关于 reduceByKey()操作·101
3.5.4 关于 aggregateByKey()操作103
3.5.5 关于 combineByKey()操作106
3.6 持久化 RDD 109
3.6.1 缓存 RDD 109
3.6.2 RDD缓存策略 112
3.6.3 检查点 RDD 113
3.7 RDD数据分区 113
3.7.1 获取和指定 RDD分区数 114
3.7.2 调整 RDD分区数 114
3.7.3 内置数据分区器 116
3.7.4 自定义数据分区器 118
3.7.5 避免不必要的 shuffling ·120
3.7.6 基于数据分区的操作 122
3.8 深入理解 RDD执行过程125
3.8.1 Spark RDD调度过程·125
3.8.2 Spark执行模型 126
3.9 Spark资源管理 ·131
3.9.1 CPU资源分配策略 ·131
3.9.2 Spark内存管理 132
3.10 使用共享变量 134
3.10.1 广播变量 134
3.10.2 累加器139
3.11 Spark RDD编程案例·143
3.11.1 合并小文件 143
3.11.2 二次排序实现 145
3.11.3 Top N实现·146
3.11.4 酒店数据预处理 150
第 4章 Spark SQL (
202min) 154
4.1 Spark SQL数据抽象·155
4.2 Spark SQL架构组成·156
4.3 Spark SQL编程模型·157
4.4 程序入口 SparkSession160
4.5
Spark SQL支持的数据类型162
4.5.1
Spark SQL基本数据类型162
4.5.2
Spark SQL复杂数据类型162
4.5.3
模式·163
4.5.4
列对象和行对象 163

4.6
创建 DataFrame ·164
4.6.1
简单创建单列和多列 DataFrame 165
4.6.2
从 RDD创建 DataFrame ·168
4.6.3
读取外部数据源创建 DataFrame 172

4.7
操作 DataFrame ·191
4.7.1
列的多种引用方式 192
4.7.2
对 DataFrame执行 Transformation转换操作·193
4.7.3
对 DataFrame执行 Action操作205
4.7.4
对 DataFrame执行描述性统计操作 ·206
4.7.5
取 DataFrame Row中特定字段·209
4.7.6
操作 DataFrame示例· 211

4.8
存储 DataFrame ·212
4.8.1
写出 DataFrame ·212
4.8.2
存储模式 215
4.8.3
控制 DataFrame的输出文件数量·216
4.8.4
控制 DataFrame实现分区存储·220

4.9
使用类型化的 DataSet·221
4.9.1
了解 DataSet 221
4.9.2
创建 DataSet 222
4.9.3
操作 DataSet 229
4.9.4
类型安全检查 244
4.9.5
编码器 ·246

4.10
临时视图与 SQL查询·249
4.10.1
在 Spark程序中执行 SQL语句 249
4.10.2
注册临时视图并执行 SQL查询250
4.10.3
使用全局临时视图 252
4.10.4
直接使用数据源注册临时视图 ·254
4.10.5
查看和管理表目录 255

4.11缓存
DataFrame/DataSet 256
4.11.1
缓存方法 256
4.11.2
缓存策略 257
4.11.3
缓存表258

4.12
Spark SQL编程案例·259
4.12.1
实现单词计数 259
4.12.2
用户数据集分析 261
4.12.3
电商用户评论数据集分析 ·264
4.12.4
航空公司航班数据集分析 ·266
4.12.5
数据增量抽取和全量抽取 ·274


第 5章 Spark SQL(高级)(
190min) ·276
5.1 Spark SQL函数·276
5.2 内置标量函数 276
5.2.1 日期时间函数 277
5.2.2 字符串函数 280
5.2.3 数学计算函数 284
5.2.4 集合元素处理函数 285
5.2.5 其他函数 288
5.2.6 函数应用示例 291
5.2.7 Spark 3数组函数·294
5.3 聚合与透视函数 301
5.3.1 聚合函数 301
5.3.2 分组聚合 307
5.3.3 数据透视 311
5.3.4 谓词子查询 312
5.4 高级分析函数 313
5.4.1 使用多维聚合函数 313
5.4.2 使用时间窗口聚合 316
5.4.3 使用窗口分析函数 321
5.5 用户自定义函数( UDF)·330
5.6 数据集的 join连接332
5.6.1 join表达式和 join类型·332
5.6.2 执行 join连接333
5.6.3 处理重复列名 340
5.6.4 join连接策略·342
5.7 读写 Hive表344
5.7.1 Spark SQL的 Hive配置345
5.7.2 Spark Maven项目的 Hive配置·346
5.7.3 Spark SQL读写 Hive表347
5.7.4 分桶、分区和排序 352
5.8 查询优化器 Catalyst 359
5.8.1 窄转换和宽转换 360
5.8.2 Spark执行模型 361
5.8.3 Catalyst实践363
5.8.4 可视化 Spark程序执行·366
5.9 项目 Tungsten372
5.10 Spark性能调优373
5.11 Spark SQL编程案例 ·375
5.11.1 电影数据集分析 375
5.11.2 电商数据集分析 379
5.12 Spark SQL分析案例·387
5.12.1 用户行为数据集说明 ·387
5.12.2 分析需求说明 388
5.12.3 数据探索和预处理 390
5.12.4 平台流量分析 394
5.12.5 用户行为分析 397
5.12.6 转化漏斗分析 405
5.12.7 用户 RFM价值分析408
5.12.8 推荐效果分析 412
5.12.9 项目分析总结 417
第 6章 Spark Streaming流处理 (
73min)·418
6.1 Spark DStream ·418
6.2 Spark流处理示例419
6.2.1 Spark Streaming编程模型·420
6.2.2 实时股票交易分析 423
6.2.3 使用外部数据源 Kafka440
第 7章 Spark结构化流 (
162min)·446
7.1 结构化流简介 446
7.2 结构化流编程模型 448
7.3 结构化流核心概念 451
7.3.1 数据源 ·451
7.3.2 输出模式 452
7.3.3 触发器类型 452
7.3.4 数据接收器 453
7.3.5 水印·454
7.4 使用各种流数据源 454
7.4.1 使用 Socket数据源·454
7.4.2 使用 Rate数据源·456
7.4.3 使用 File数据源458
7.4.4 使用 Kafka数据源 461
7.5 流 DataFrame操作467
7.5.1 选择、投影和聚合操作 468
7.5.2 执行 join连接操作471
7.6 使用数据接收器 474
7.6.1 使用 File Data Sink 474
7.6.2 使用 Kafka Data Sink·475
7.6.3 使用 Foreach Data Sink478
7.6.4 使用 Console Data Sink ·480
7.6.5 使用 Memory Data Sink·482
7.6.6 Data Sink与输出模式 ·483
7.7 深入研究输出模式 483
7.7.1 无状态流查询 483
7.7.2 有状态流查询 484
7.8 深入研究触发器 489
7.8.1 固定间隔触发器 490
7.8.2 一次性的触发器 492
7.8.3 连续性的触发器 492
第 8章 Spark结构化流(高级)(
72min)·496
8.1 事件时间和窗口聚合 496
8.1.1 固定窗口聚合 496
8.1.2 滑动窗口聚合 500
8.2 水印·504
8.2.1 限制维护的聚合状态数量 ·504
8.2.2 处理迟到的数据 507
8.3 任意状态处理 512
8.3.1 结构化流的任意状态处理 ·513
8.3.2 处理状态超时 514
8.3.3 任意状态处理实战 515
8.4 处理重复数据 524
8.5 容错·526
8.6 流查询度量指标和容错 528
8.6.1 流查询指标 528
8.6.2 流监控指标 530
8.7 结构化流案例:运输公司车辆超速实时监测 531
8.8 结构化流案例:实时订单分析 ·536
8.8.1 数据集说明和数据源 537
8.8.2 计算每 10s的销售和购买订单数量 538
8.8.3 根据购买或售出的总金额统计前 5个客户541
8.8.4 找出过去一小时内前 5个交易量昀多的股票543
第 9章 Spark图处理库 GraphFrame (
80min)546
9.1 图基本概念 546
9.2 GraphFrame图处理库简介 ·548
9.3 GraphFrame的基本使用·549
9.3.1 添加 GraphFrame依赖549
9.3.2 构造图模型 550
9.3.3 简单图查询 551
9.3.4 示例:简单航班数据分析 ·556
9.4 应用 motif模式查询 ·559
9.4.1 简单 motif查询·560
9.4.2 状态查询 562
9.5 构建子图 ·563
9.6 内置图算法 565
9.6.1 广度优先搜索( BFS)算法 565
9.6.2 连通分量算法 567
9.6.3 强连通分量算法 568
9.6.4 标签传播算法 569
9.6.5 PageRank算法·570
9.6.6 昀短路径算法 573
9.6.7 三角计数算法 574
9.7 保存和加载 GraphFrame ·575
9.8 深入理解 GraphFrame ·576
9.9 案例:亚马逊产品联购分析 ·578
9.9.1 基本图查询和操作 579
9.9.2 联购商品分析 580
9.9.3 处理子图 584
9.9.4 应用图算法进行分析 584
第 10章 Delta Lake数据湖 (
61min) 586
10.1 从数据仓库到数据湖 586
10.2 解耦存储层和分析层 588
10.3 Delta Lake介绍·591
10.4 Delta Lake架构·593
10.5 Delta Lake使用·595
10.5.1 安装 Delta Lake595
10.5.2 表批处理读写 596
10.5.3 表流处理读写 602
10.5.4 文件移除 605
10.5.5 压缩小文件 612
10.5.6 增量更新与时间旅行 ·615
10.5.7 合并更新( upsert)·621
第 11章 Iceberg数据湖 (
90min) 630
11.1 Apache Iceberg简介630
11.2配置和使用 Catalog·631
11.2.1 配置 Catalog·632
11.2.2 使用 Catalog·633
11.2.3 替换 Session Catalog 633
11.2.4 运行时配置 634
11.3管理 Catalog中的数据库635
11.4管理 Iceberg表635
11.4.1 基本的 CRUD操作635
11.4.2 创建和删除表 640
11.4.3 使用分区表和分桶表 ·642
11.4.4 数据覆盖 652
11.4.5 修改表结构 654
11.5探索 Iceberg表663
11.5.1 History历史表·663
11.5.2 Snapshots快照表·664
11.5.3 Files数据文件表664
11.5.4 Manifests文件清单表665
11.6 Apache Iceberg架构666
11.6.1 Iceberg Catalog·666
11.6.2 元数据文件 667
11.6.3 清单列表( Manifest List)670
11.6.4 清单文件( Manifest File)673
11.7 CRUD操作的底层实现 676
11.8增量更新与合并更新 679
11.9时间旅行685
11.10 隐藏分区和分区演变 688
11.10.1 分区概念 ·688
11.10.2 分区演变示例 ·691
11.11 使用存储过程维护表·698
11.12 整合 Spark结构化流·701
11.12.1 流读取 ·701
11.12.2 流写入 ·701
11.12.3 维护流表 ·704
第 12章 Hudi数据湖 (
19min) 707
12.1 Apache Hudi特性707
12.1.1 Hudi Timeline·707
12.1.2 Hudi文件布局 ·709
12.1.3 Hudi表类型 ·709
12.1.4 Hudi查询类型 ·712
12.2 在 Spark 3中使用 Hudi ·713
12.2.1 配置 Hudi·713
12.2.2 初始设置 714
12.2.3 插入数据 715
12.2.4 查询数据 716
12.2.5 更新数据 718
12.2.6 增量查询 718
12.2.7 时间点查询 720
12.2.8 删除数据 720
12.2.9 插入覆盖 722
第 13章 Spark大数据处理综合案例 (
15min) ·724
13.1 项目需求说明 724
13.2 项目架构设计 725
13.3 项目实现:数据采集 726
13.4 项目实现:数据集成 729
13.4.1 Flume简介·729
13.4.2 安装和配置 Flume ·730
13.4.3 实现数据集成 731
13.5 项目实现:数据 ETL732
13.6 项目实现:数据清洗与整理 ·735
13.7 项目实现:数据分析 739
13.8 项目实现:分析结果导出 ·747
13.9 项目实现:数据可视化 748
13.9.1 Spring MVC框架简介·749
13.9.2 ECharts图表库介绍·750
13.9.3 Spring MVC Web程序开发 ·751
13.9.4 前端 ECharts组件开发763
13.10 项目部署和测试 768
內容試閱
大数据分析一直是热门话题,需要大数据分析的场景也越来越多。 Apache Spark是一个用于快速、通用、大规模数据处理的开源项目。现在, Apache Spark已经成为一个统一的大数据处理平台,拥有快速的统一分析引擎,可用于大数据的批处理、实时流处理、机器学习和图计算。
2009年,Spark诞生于伯克利大学 AMP实验室,昀初属于伯克利大学的研究性项目。它于2010年被正式开源,于2013年被转交给 Apache软件基金会,并于2014年成为Apache基金的顶级项目,整个过程不到五年时间。 Apache Spark诞生以后,迅速发展成为大数据处理技术中的佼佼者,目前已经成为大数据处理领域炙手可热的技术,其发展势头非常强劲。
自 2010年首次发布以来, Apache Spark已经成为昀活跃的大数据开源项目之一。如今,Apache Spark实际上已经是大数据处理、数据科学、机器学习和数据分析工作负载的统一引擎,是从业人员及希望进入大数据行业人员必须学习和掌握的大数据技术之一,但是作为大数据的初学者,在学习 Spark时通常会遇到以下几个难题:
(1)缺少面向零基础读者的 Spark入门教程。
(2)缺少系统化的 Spark大数据教程。
(3)现有的 Spark资料、教程或图书陈旧或者碎片化。
(4)官方全英文文档难以阅读和理解。
(5)缺少必要的数据集、可运行的实验案例及学习平台。

特别是 Spark 3发布以后,性能得到了极大提升,并且增加了对数据湖等下一代大数据技术的支持。为此,编写本书一方面是为了笔者自己能更系统、更及时地跟进 Spark的演进和迭代;另一方面也是为了降低面向零基础读者学习 Spark(及其他大数据技术)的入门难度。本书具有以下特点:
(1)面向零基础读者,知识点深浅适当,代码完整易懂。
(2)内容全面系统,包括架构原理、开发环境及程序部署、流和批计算、图计算等,并特别包含了 Delta Lake、Iceberg、Hudi等数据湖内容。
(3)版本先进,所有代码均基于 Spark 3.1.2。特别值得一提的是,图计算部分抛弃了性能欠佳的 GraphX,而是引入了下一代 Spark图计算库 GraphFrame进行讲解和演示。

(4)全书包含大量的示例代码讲解和完整项目案例。
本书特别适合想要入门并深入掌握 Apache Spark大数据开发和大数据分析、大数据 OLAP引擎、流计算的读者,希望拥有大数据系统参考教材的教师,以及想要了解昀新 Spark技术应用的从业人员。
本书第 1~3章由郑州财经学院张帆副教授编写,第 4章和第 5章由华北水利水电大学公共管理学院张会娟老师编写,其余部分由辛立伟编写。由于编者水平所限,行文及内容难免存在疏漏之处,请读者见谅并予以反馈,笔者会在后续的版本重构中不断提升质量。
编 者
2023年 1月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.