UNIX编程艺术

UNIX编程艺术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , , ,
2012-08
版次: 1
ISBN: 9787121176654
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 530页
字数: 650千字
正文语种: 简体中文
原版书名: The Art of UNIX Programming
334人买过
  •   《传世经典书丛:UNIX编程艺术》主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S.Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。   Eric S.Raymond,从1982年开始就是UNIX开发者。作为开源社区文化的倡导和呼吁者,他在《大教堂与市集》中写下了这场运动的宣言,同时他还是《新黑客词典》的编辑。 序
    Part I
    第1章 哲学
    1.1 文化?什么文化
    1.2 Unix的生命力
    1.3 反对学习Unix文化的理由
    1.4 Unix之失
    1.5 Unix之得
    1.5.1 开源软件
    1.5.2 跨平台可移植性和开放标准
    1.5.3 Internet和万维网
    1.5.4 开源社区
    1.5.5 从头到脚的灵活性
    1.5.6 Unix Hack之趣
    1.5.7 Unix的经验别处也可适用
    1.6 Unix哲学基础
    1.6.1 模块原则:使用简洁的接口拼合简单的部件
    1.6.2 清晰原则:清晰胜于机巧
    1.6.3 组合原则:设计时考虑拼接组合
    1.6.4 分离原则:策略同机制分离,接口同引擎分离
    1.6.5 简洁原则:设计要简洁,复杂度能低则低 1.6.6 吝啬原则:除非确无它法,不要编写庞大的程序
    1.6.7 透明性原则:设计要可见,以便审查和调试
    1.6.8 健壮原则:健壮源于透明与简洁
    1.6.9 表示原则:把知识叠入数据以求逻辑质朴而健壮
    1.6.10 通俗原则:接口设计避免标新立异
    1.6.11 缄默原则:如果一个程序没什么好说的,就保持沉默
    1.6.12 补救原则:出现异常时,马上退出并给出足量错误信息
    1.6.13 经济原则:宁花机器一分,不花程序员一秒
    1.6.14 生成原则:避免手工hack,尽量编写程序去生成程序
    1.6.15 优化原则:雕琢前先得有原型,跑之前先学会走
    1.6.16 多样原则:决不相信所谓“不二法门”的断言
    1.6.17 扩展原则:设计着眼未来,未来总比预想快
    1.7 Unix哲学之一言以蔽之
    1.8 应用Unix哲学
    1.9 态度也要紧  第2章 历史——双流记
    2.1 Unix的起源及历史,1969-1995
    2.1.1 创世纪:1969-1971
    2.1.2 出埃及记:1971-1980
    2.1.3 TCP/IP 和Unix内战:1980-1990
    2.1.4 反击帝国:1991-1995
    2.2 黑客的起源和历史:1961-1995
    2.2.1 游戏在校园的林间:1961-1980
    2.2.2 互联网大融合与自由软件运动:1981-1991
    2.2.3 Linux 和实用主义者的应对:1991-1998
    2.3 开源运动:1998年及之后 2.4 Unix的历史教训  第3章 对比:Unix哲学同其他哲学的比较
    3.1 操作系统的风格元素
    3.1.1 什么是操作系统的统一性理念
    3.1.2 多任务能力
    3.1.3 协作进程
    3.1.4 内部边界
    3.1.5 文件属性和记录结构
    3.1.6 二进制文件格式
    3.1.7 首选用户界面风格
    3.1.8 目标受众
    3.1.9 开发的门坎
    3.2 操作系统的比较
    3.2.1 VMS
    3.2.2 MacOS
    3.2.3 OS/2
    3.2.4 Windows NT
    3.2.5 BeOS
    3.2.6 MVS
    3.2.7 VM/CMS
    3.2.8 Linux
    3.3 种什么籽,得什么果 
    Part II 第4章 模块性:保持清晰,保持简洁
    4.1 封装和最佳模块大小
    4.2 紧凑性和正交性
    4.2.1 紧凑性
    4.2.2 正交性
    4.2.3 SPOT原则
    4.2.4 紧凑性和强单一中心
    4.2.5 分离的价值
    4.3 软件是多层的
    4.3.1 自顶向下和自底向上
    4.3.2 胶合层
    4.3.3 实例分析:被视为薄胶合层的C语言 4.4 程序库
    4.4.1 实例分析:GIMP插件
    4.5 Unix和面向对象语言
    4.6 模块式编码  第5章 文本化:好协议产生好实践
    5.1 文本化的重要性
    5.1.1 实例分析:Unix口令文件格式
    5.1.2 实例分析:.newsrc格式
    5.1.3 实例分析:PNG图形文件格式
    5.2 数据文件元格式
    5.2.1 DSV 风格
    5.2.2 RFC 822 格式
    5.2.3 Cookie-Jar格式
    5.2.4 Record-Jar格式
    5.2.5 XML
    5.2.6 Windows INI 格式
    5.2.7 Unix文本文件格式的约定
    5.2.8 文件压缩的利弊
    5.3 应用协议设计
    5.3.1 实例分析:SMTP,一个简单的套接字协议
    5.3.2 实例分析:POP3,邮局协议
    5.3.3 实例分析:IMAP,互联网消息访问协议
    5.4 应用协议元格式
    5.4.1 经典的互联网应用元协议
    5.4.2 作为通用应用协议的HTTP
    5.4.3 BEEP:块可扩展交换协议
    5.4.4 XML-RPC,SOAP和Jabber  第6章 透明性:来点儿光
    6.1 研究实例
    6.1.1 实例分析:audacity
    6.1.2 实例分析:fetchmail的-v选项
    6.1.3 实例分析:GCC
    6.1.4 实例分析:kmail
    6.1.5 实例分析:SNG
    6.1.6 实例分析:Terminfo数据库
    6.1.7 实例分析:Freeciv数据文件 6.2 为透明性和可显性而设计
    6.2.1 透明性之禅
    6.2.2 为透明性和可显性而编码
    6.2.3 透明性和避免过度保护
    6.2.4 透明性和可编辑的表现形式
    6.2.5 透明性、故障诊断和故障恢复
    6.3 为可维护性而设计  第7章 多道程序设计:分离进程为独立的功能
    7.1 从性能调整中分离复杂度控制
    7.2 Unix IPC 方法的分类
    7.2.1 把任务转给专门程序
    7.2.2 管道、重定向和过滤器
    7.2.3 包装器
    7.2.4 安全性包装器和Bernstein链
    7.2.5 从进程
    7.2.6 对等进程间通信
    7.3 要避免的问题和方法
    7.3.1 废弃的Unix IPC方法
    7.3.2 远程过程调用
    7.3.3 线程——恐吓或威胁
    7.4 在设计层次上的进程划分  第8章 微型语言:寻找歌唱的乐符
    8.1 理解语言分类法
    8.2 应用微型语言
    8.2.1 案例分析:sng
    8.2.2 案例分析:正则表达式
    8.2.3 案例分析:Glade
    8.2.4 案例分析:m4
    8.2.5 案例分析:XSLT
    8.2.6 案例分析:The Documenter's Workbench Tools
    8.2.7 案例分析:fetchmail的运行控制语法
    8.2.8 案例分析:awk
    8.2.9 案例分析:PostScript
    8.2.10 案例分析:bc和dc
    8.2.11 案例分析:Emacs Lisp
    8.2.12 案例分析:JavaScript
    8.3 设计微型语言
    8.3.1 选择正确的复杂度
    8.3.2 扩展和嵌入语言
    8.3.3 编写自定义语法
    8.3.4 宏-慎用
    8.3.5 语言还是应用协议  第9章 生成:提升规格说明的层次
    9.1 数据驱动编程
    9.1.1 实例分析:ascii
    9.1.2 实例分析:统计学的垃圾邮件统计
    9.1.3 实例分析:fetchmailconf中的元类改动
    9.2 专用代码的生成
    9.2.1 实例分析:生成ascii显示的代码
    9.2.2 实例分析:为列表生成HTML代码  第10章 配置:迈出正确的第一步
    10.1 什么应是可配置的
    10.2 配置在哪里
    10.3 运行控制文件
    10.3.1 实例分析:.netrc文件
    10.3.2 到其它操作系统的可移植性
    10.4 环境变量
    10.4.1 系统环境变量
    10.4.2 用户环境变量
    10.4.3 何时使用环境变量
    10.4.4 到其它操作系统的可移植性
    10.5 命令行选项
    10.5.1 从-a到-z的命令行选项
    10.5.2 到其它操作系统的可移植性
    10.6 如何挑选方法
    10.6.1 实例分析:fetchmail
    10.6.2 实例分析:XFree86服务器
    10.7 论打破规则  第11章 接口:Unix环境下的用户接口设计模式
    第12章 优化
    第13章 复杂度:尽可能简单,但别简单过了头 
    Part Ⅲ
    第14章 语言:C还是非C
    第15章 工具:开发的战术
    第16章 重用:论不要重新发明轮子 
    Part Ⅳ
    第17章 可移植性:软件可移植性与遵循标准
    第18章 文档:向网络世界阐释代码
    第19章 开放源码:在Unix新社区中编程
    第20章 未来:危机与机遇
    附录A 缩写词表
    附录B 参考文献
    附录C 贡献者
    附录D 无根的根:无名师的Unix心传
    Colophon
    索引
    读者评论
  • 内容简介:
      《传世经典书丛:UNIX编程艺术》主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S.Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。
  • 作者简介:
      Eric S.Raymond,从1982年开始就是UNIX开发者。作为开源社区文化的倡导和呼吁者,他在《大教堂与市集》中写下了这场运动的宣言,同时他还是《新黑客词典》的编辑。
  • 目录:

    Part I
    第1章 哲学
    1.1 文化?什么文化
    1.2 Unix的生命力
    1.3 反对学习Unix文化的理由
    1.4 Unix之失
    1.5 Unix之得
    1.5.1 开源软件
    1.5.2 跨平台可移植性和开放标准
    1.5.3 Internet和万维网
    1.5.4 开源社区
    1.5.5 从头到脚的灵活性
    1.5.6 Unix Hack之趣
    1.5.7 Unix的经验别处也可适用
    1.6 Unix哲学基础
    1.6.1 模块原则:使用简洁的接口拼合简单的部件
    1.6.2 清晰原则:清晰胜于机巧
    1.6.3 组合原则:设计时考虑拼接组合
    1.6.4 分离原则:策略同机制分离,接口同引擎分离
    1.6.5 简洁原则:设计要简洁,复杂度能低则低 1.6.6 吝啬原则:除非确无它法,不要编写庞大的程序
    1.6.7 透明性原则:设计要可见,以便审查和调试
    1.6.8 健壮原则:健壮源于透明与简洁
    1.6.9 表示原则:把知识叠入数据以求逻辑质朴而健壮
    1.6.10 通俗原则:接口设计避免标新立异
    1.6.11 缄默原则:如果一个程序没什么好说的,就保持沉默
    1.6.12 补救原则:出现异常时,马上退出并给出足量错误信息
    1.6.13 经济原则:宁花机器一分,不花程序员一秒
    1.6.14 生成原则:避免手工hack,尽量编写程序去生成程序
    1.6.15 优化原则:雕琢前先得有原型,跑之前先学会走
    1.6.16 多样原则:决不相信所谓“不二法门”的断言
    1.6.17 扩展原则:设计着眼未来,未来总比预想快
    1.7 Unix哲学之一言以蔽之
    1.8 应用Unix哲学
    1.9 态度也要紧  第2章 历史——双流记
    2.1 Unix的起源及历史,1969-1995
    2.1.1 创世纪:1969-1971
    2.1.2 出埃及记:1971-1980
    2.1.3 TCP/IP 和Unix内战:1980-1990
    2.1.4 反击帝国:1991-1995
    2.2 黑客的起源和历史:1961-1995
    2.2.1 游戏在校园的林间:1961-1980
    2.2.2 互联网大融合与自由软件运动:1981-1991
    2.2.3 Linux 和实用主义者的应对:1991-1998
    2.3 开源运动:1998年及之后 2.4 Unix的历史教训  第3章 对比:Unix哲学同其他哲学的比较
    3.1 操作系统的风格元素
    3.1.1 什么是操作系统的统一性理念
    3.1.2 多任务能力
    3.1.3 协作进程
    3.1.4 内部边界
    3.1.5 文件属性和记录结构
    3.1.6 二进制文件格式
    3.1.7 首选用户界面风格
    3.1.8 目标受众
    3.1.9 开发的门坎
    3.2 操作系统的比较
    3.2.1 VMS
    3.2.2 MacOS
    3.2.3 OS/2
    3.2.4 Windows NT
    3.2.5 BeOS
    3.2.6 MVS
    3.2.7 VM/CMS
    3.2.8 Linux
    3.3 种什么籽,得什么果 
    Part II 第4章 模块性:保持清晰,保持简洁
    4.1 封装和最佳模块大小
    4.2 紧凑性和正交性
    4.2.1 紧凑性
    4.2.2 正交性
    4.2.3 SPOT原则
    4.2.4 紧凑性和强单一中心
    4.2.5 分离的价值
    4.3 软件是多层的
    4.3.1 自顶向下和自底向上
    4.3.2 胶合层
    4.3.3 实例分析:被视为薄胶合层的C语言 4.4 程序库
    4.4.1 实例分析:GIMP插件
    4.5 Unix和面向对象语言
    4.6 模块式编码  第5章 文本化:好协议产生好实践
    5.1 文本化的重要性
    5.1.1 实例分析:Unix口令文件格式
    5.1.2 实例分析:.newsrc格式
    5.1.3 实例分析:PNG图形文件格式
    5.2 数据文件元格式
    5.2.1 DSV 风格
    5.2.2 RFC 822 格式
    5.2.3 Cookie-Jar格式
    5.2.4 Record-Jar格式
    5.2.5 XML
    5.2.6 Windows INI 格式
    5.2.7 Unix文本文件格式的约定
    5.2.8 文件压缩的利弊
    5.3 应用协议设计
    5.3.1 实例分析:SMTP,一个简单的套接字协议
    5.3.2 实例分析:POP3,邮局协议
    5.3.3 实例分析:IMAP,互联网消息访问协议
    5.4 应用协议元格式
    5.4.1 经典的互联网应用元协议
    5.4.2 作为通用应用协议的HTTP
    5.4.3 BEEP:块可扩展交换协议
    5.4.4 XML-RPC,SOAP和Jabber  第6章 透明性:来点儿光
    6.1 研究实例
    6.1.1 实例分析:audacity
    6.1.2 实例分析:fetchmail的-v选项
    6.1.3 实例分析:GCC
    6.1.4 实例分析:kmail
    6.1.5 实例分析:SNG
    6.1.6 实例分析:Terminfo数据库
    6.1.7 实例分析:Freeciv数据文件 6.2 为透明性和可显性而设计
    6.2.1 透明性之禅
    6.2.2 为透明性和可显性而编码
    6.2.3 透明性和避免过度保护
    6.2.4 透明性和可编辑的表现形式
    6.2.5 透明性、故障诊断和故障恢复
    6.3 为可维护性而设计  第7章 多道程序设计:分离进程为独立的功能
    7.1 从性能调整中分离复杂度控制
    7.2 Unix IPC 方法的分类
    7.2.1 把任务转给专门程序
    7.2.2 管道、重定向和过滤器
    7.2.3 包装器
    7.2.4 安全性包装器和Bernstein链
    7.2.5 从进程
    7.2.6 对等进程间通信
    7.3 要避免的问题和方法
    7.3.1 废弃的Unix IPC方法
    7.3.2 远程过程调用
    7.3.3 线程——恐吓或威胁
    7.4 在设计层次上的进程划分  第8章 微型语言:寻找歌唱的乐符
    8.1 理解语言分类法
    8.2 应用微型语言
    8.2.1 案例分析:sng
    8.2.2 案例分析:正则表达式
    8.2.3 案例分析:Glade
    8.2.4 案例分析:m4
    8.2.5 案例分析:XSLT
    8.2.6 案例分析:The Documenter's Workbench Tools
    8.2.7 案例分析:fetchmail的运行控制语法
    8.2.8 案例分析:awk
    8.2.9 案例分析:PostScript
    8.2.10 案例分析:bc和dc
    8.2.11 案例分析:Emacs Lisp
    8.2.12 案例分析:JavaScript
    8.3 设计微型语言
    8.3.1 选择正确的复杂度
    8.3.2 扩展和嵌入语言
    8.3.3 编写自定义语法
    8.3.4 宏-慎用
    8.3.5 语言还是应用协议  第9章 生成:提升规格说明的层次
    9.1 数据驱动编程
    9.1.1 实例分析:ascii
    9.1.2 实例分析:统计学的垃圾邮件统计
    9.1.3 实例分析:fetchmailconf中的元类改动
    9.2 专用代码的生成
    9.2.1 实例分析:生成ascii显示的代码
    9.2.2 实例分析:为列表生成HTML代码  第10章 配置:迈出正确的第一步
    10.1 什么应是可配置的
    10.2 配置在哪里
    10.3 运行控制文件
    10.3.1 实例分析:.netrc文件
    10.3.2 到其它操作系统的可移植性
    10.4 环境变量
    10.4.1 系统环境变量
    10.4.2 用户环境变量
    10.4.3 何时使用环境变量
    10.4.4 到其它操作系统的可移植性
    10.5 命令行选项
    10.5.1 从-a到-z的命令行选项
    10.5.2 到其它操作系统的可移植性
    10.6 如何挑选方法
    10.6.1 实例分析:fetchmail
    10.6.2 实例分析:XFree86服务器
    10.7 论打破规则  第11章 接口:Unix环境下的用户接口设计模式
    第12章 优化
    第13章 复杂度:尽可能简单,但别简单过了头 
    Part Ⅲ
    第14章 语言:C还是非C
    第15章 工具:开发的战术
    第16章 重用:论不要重新发明轮子 
    Part Ⅳ
    第17章 可移植性:软件可移植性与遵循标准
    第18章 文档:向网络世界阐释代码
    第19章 开放源码:在Unix新社区中编程
    第20章 未来:危机与机遇
    附录A 缩写词表
    附录B 参考文献
    附录C 贡献者
    附录D 无根的根:无名师的Unix心传
    Colophon
    索引
    读者评论
查看详情
系列丛书 / 更多
UNIX编程艺术
程序员修炼之道:从小工到专家
[美]亨特(Andrew Hunt)、[美]托马斯(Daid Thomas) 著;马维达 译
UNIX编程艺术
Essential C++中文版
[美]Stanley B.Lippman 著;侯捷 译
UNIX编程艺术
More Effective C++(中文版):35个改善编程与设计的有效方法
[美]Scott Meyers 著;侯捷 译
UNIX编程艺术
Effective C++ 改善程序与设计的55个具体做法(第3版)
[美]梅耶(Scott Meyers) 著;侯捷 译
UNIX编程艺术
传世经典书丛·Effective STL中文版:50条有效使用STL的经验(双色)
[美]Scott Meyers 著;潘爱民、陈铭、邹开红 译
UNIX编程艺术
More Exceptional C++(中文版)
[美]舒特(Sutter H.) 著;於春景 译
UNIX编程艺术
程序员修炼之道:从小工到专家
安德鲁·亨特(Andrew Hunt)、大卫·托马斯(David Thomas) 著;周爱民 译
UNIX编程艺术
提高C++性能的编程技术
[美]布尔卡、梅休 著;左飞 译
UNIX编程艺术
Java编程思想(第4版)(评注版)
[美]Bruce Eckel 著
UNIX编程艺术
重构:改善既有代码的设计
[美]Martin Fowler 著
UNIX编程艺术
Effective C++:改善程序与设计的55个具体做法
[美]Scott meyers 著;云飞 注
UNIX编程艺术
编程匠艺:编写卓越的代码
Pete Goodliffe 著;韩江、陈玉 译
相关图书 / 更多
UNIX编程艺术
UNDERORDERS.
Dick Francis 著
UNIX编程艺术
UNIX网络编程卷2进程间通信第2版
[美]W.理查德·史蒂文斯(W.Richard Stevens) 著
UNIX编程艺术
UNIX xv6内核源码深入剖析
高联雄
UNIX编程艺术
UN维和步兵营
王昆 著
UNIX编程艺术
UNIX/Linux系统管理技术手册(第5版)
[美]埃薇·内梅特(Evi Nemeth)、加思·斯奈德(Garth Snyder)、特伦特·R.海恩本·惠利(Trent,R.Hein) 译
UNIX编程艺术
UNIX环境高级编程第3版英文版上下册
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、拉戈(StephenA.Rago) 著
UNIX编程艺术
UNESCO与中国教育:中国国际教育发展报告(2021)
四川外国语大学国际教育学院
UNIX编程艺术
UNICEF (United Nations Children's Fund): Global Governance That Works
Richard Jolly
UNIX编程艺术
UNIX环境高级编程第3版
拉戈( 著;[美]W.、理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、戚正伟、张亚英、尤晋元 译
UNIX编程艺术
UNITY应用开发实战案例
程明智
UNIX编程艺术
UNIX传奇:历史与回忆
[美]布莱恩·W.克尼汉(Brian W. Kernighan)
UNIX编程艺术
UNIX网络编程卷1套接字联网API第3版
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)比尔·芬纳(比尔·芬纳(Bill,Fenner)、安德鲁·M. 著
您可能感兴趣 / 更多
UNIX编程艺术
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
UNIX编程艺术
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
UNIX编程艺术
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
UNIX编程艺术
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
UNIX编程艺术
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
UNIX编程艺术
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
UNIX编程艺术
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
UNIX编程艺术
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
UNIX编程艺术
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
UNIX编程艺术
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
UNIX编程艺术
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
UNIX编程艺术
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译