Python源码剖析
作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。 为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。 本书适合于Python程序员、动态语言爱好者、C程序员阅读。 陈儒,计算机科学与工程专业硕士,问天(北京)信息技术有限公司技术负责人,致力于信息检索方向的研究与开发。
编程大师访谈录
《编程大师访谈录》是对19位计算机行业先驱的采访实录,采访对象包括查尔斯·西蒙尼、比尔·盖茨、安迪·赫兹菲尔德、雷·奥奇、杰夫·拉斯金等。访谈涉及他们软件创造过程的灵感、技术、编程习惯、动机、反思,以及对未来软件的畅想等。问答中集结了这些计算机先驱的精辟言论,处处闪烁着智慧的火花。 本书适合所有IT从业人员阅读。 Susan Lammers 毕业于斯坦福大学,拥有英语文学士学位,现为手机应用开发公司Flying Sofa的合伙人,也是风险投资资助的创业公司Headbone Interactive的董事长及创始人。Susan是多媒体领域的先锋,曾是微软 公司早期的多媒体出版部联合出版人和总监,负责微软最早的交互式媒体项目,包括微软的电子百科全书Encarta(英卡塔)。 1990年,Lammers离开微软,加入一家创业公司,成为该公司的第三位员工。这家公司就是现今世界数字图像代理公司的领先者Corbis。
图解HTTP
本书对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、最新技术动向等方面。本书的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过本书快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。 本书适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。 作者简介 上野 宣 OWASP 日本分会会长,TRICORDER株式会社董事长。 主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。担任The Tangled Web:A Guide to Securing Modern Web Application日文版的审校工作。 译者简介 于均良 上海交通大学硕士,高级软件工程师,马拉松跑者,四点网创始人。
算法图解
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。 Aditya Bhargava,软件工程师,兼具计算机科学和美术方面的教育背景,在adit.io撰写编程方面的博客。
数据科学实战
本书脱胎于哥伦比亚大学“数据科学导论”课程的教学讲义,它界定了数据科学的研究范畴,是一本注重人文精神,多角度、全方位、深入介绍数据科学的实用指南,堪称大数据时代的实战宝典。本书旨在让读者能够举一反三地解决重要问题,内容包括:数据科学及工作流程、统计模型与机器学习算法、信息提取与统计变量创建、数据可视化与社交网络、预测模型与因果分析、数据预处理与工程方法。另外,本书还将带领读者展望数据科学未来的发展。 作者简介: Rachel Schutt 美国新闻集团旗下数据科学部门高级副总裁、哥伦比亚大学统计系兼职教授、约翰逊实验室高级研究科学家,同时也是哥伦比亚大学数据科学及工程研究所教育委员会的发起人之一。她曾在谷歌研究院工作数年,负责设计算法原型并通过建模理解用户行为。 Cathy O'Neil 约翰逊实验室高级数据科学家、哈佛大学数学博士、麻省理工学院数学系博士后、巴纳德学院教授,曾发表过大量算术代数几何方面的论文。他曾在著名的全球投资管理公司D.E. Shaw担任对冲基金金融师,后加入专门评估银行和对冲基金风险的软件公司RiskMetrics,个人博客:mathbabe.org。 译者简介: 冯凌秉 澳大利亚国立大学统计学博士,本科和研究生分别毕业于中南财经政法大学和中国人民大学。现在,他任职于江西财经大学金融管理国际研究院,任讲师、硕士生导师,研究方向为应用统计与金融计量。 王群锋 毕业于西安电子科技大学,现任职于IBM西安研发中心,从事下一代统计预测软件的开发运维工作。
构建高性能Web站点
本书围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,涵盖了Web站点性能优化的几乎所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。在这些内容中充分抓住本质并结合实践,通过通俗易懂的文字和生动有趣的配图,让读者充分并深入理解高性能架构的真相。 同时,本书充分应用跨学科知识和科学分析方法,通过宽泛的视野和独特的角度,将本书的内容展现得更加透彻和富有趣味。 郭欣,曾在腾讯网基础平台研发团队,负责诸多Web应用的开发和技术管理,并致力于性能研究和实践推广.在加入腾讯之前,获得国家系统分析师职称.目前在工作之余从事独立研究,其中包括高性能Web架构和Web敏捷开发框架,并且积极投身开源事业,同时在为SmartcDeveloper系列进行创作.
凤凰架构
学习任何知识都不应该脱离实践去空谈理论。为了讲清楚不同架构风格下的工程实现差异,也为了尽量少在书中贴代码,将宝贵的版面空间节省出来,笔者在GitHub上分别建立了基于Spring Boot、Spring Cloud、Kubernetes、Istio和AWS Lambda的五种架构风格的样例工程。如果你阅读之前对架构并没有太深刻的理解,建议先阅读一遍本书附录A的内容。如果你是一名驾驶初学者,最合理的学习路径应该是先把汽车发动,然后慢慢行驶起来,而不是先从“引擎动力原理”“变速箱构造”入手去深刻地了解一辆汽车。计算机技术也是同理,先从运行程序开始,看看效果,搭建好开发、调试环境,对即将学习的内容先有一个整体的认知是很有好处的。 作者:周志明。
Web性能权威指南
本书是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书目标是涵盖Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了HTTP 协议的底层细节,同时详细介绍了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC 和DataChannel 等现代浏览器新增的具有革命性的新能力。 本书适合所有Web 应用及站点开发人员阅读,包括但不限于前端、后端、运维、大数据分析、UI/UX、存储、视频、实时消息,以及性能工程师。 Ilya Grigorik 是谷歌“Web加速”(Make The Web Fast)团队的性能工程师、开发大使。他每天的主要工作就是琢磨怎么让Web应用速度更快,总结并推广能够提升应用性能的最佳实践。 作者简介: Ilya Grigorik 是谷歌“Web加速”(Make The Web Fast)团队的性能工程师、开发大使。他每天的主要工作就是琢磨怎么让Web应用速度更快,总结并推广能够提升应用性能的最佳实践。 在专注于研究Web性能之前,Ilya创办了PostRank公司并担任CTO,这是一家社交分析公司。他的这家公司被谷歌收购后,成为了Google Analytics中社交分析报告模块的核心。除了研究Web性能和分析,Ilya还会为开源项目做做贡献、看看书,或者写一些好玩的项目,比如VimGolf、GitHub Archive等。 译者简介: 李松峰 2006年起投身翻译,出版过译著30余部,包括《JavaScript高级程序设计》、《简约至上》等畅销书。2008年进入出版业,从事技术图书编辑和审稿工作。 2007年创立知识分享网站“为之漫笔”(cn-cuckoo.com),翻译了大量国外经典技术文章。2012年下半年创立“A List Apart中文版”站点(alistapart.cn),旨在向中文读者译介这一国际顶级Web设计与开发杂志。他经常参加技术社区活动,曾在W3ctech 2012 Mobile上分享“Dive into Responsive Web Design”。2013年1月应邀在金山网络分享“响应式Web设计”,2013年3月应邀在奇虎360分享“JS的国”。
Java并发编程实战
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合Java程序开发人员阅读。 本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学Oswego分校的计算机科学教授。
编写可维护的JavaScript
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。《编写可维护的JavaScript》内容涵盖了编码风格、编程技巧、自动化、测试等几方面,既包括具体风格和原则的介绍,也包括示例和技巧说明,最后还介绍了如何通过自动化的工具和方法来实现一致的编程风格。 《编写可维护的JavaScript》适合前端开发工程师、JavaScript程序员和学习JavaScript编程的读者阅读,也适合开发团队负责人、项目负责人阅读。 扎卡斯(Zakas,N.C.)是一名前端开发顾问、作者和演讲家。在Yahoo!供职超过5年时间,在这期间他曾是Yahoo!首页首席前端工程师和YUI库代码贡献者。他著有《JavaScript高级程序设计》、《Ajax高级程序设计》和《高性能JavaScript》等书籍。Zakas倡导了很多最佳实践,包括渐进增强、可访问性、性能、扩展性和可维护性等。他的博客地址是:http://www.nczonline.net/。他的Twitter是:@slicknet。 李晶,花名拔赤,淘宝前端工程师,具有多年前端开发经验,在团队协作、组件开发、移动Web App等方面有深入研究,曾经参与淘宝首页、KISSY等项目开发。他翻译过《JavaScript Web富应用开发》、《JavaScript权威指南(第六版)》、《What is Node?》等书籍,热爱分享,喜欢折腾。微博http://weibo.com/jayli。 郭凯,花名流火,淘宝前端工程师,喜欢登山,也喜欢夜深人静时一人静静地写代码,折腾过许多小站均未能持久,有In、Juicer等开源项目。钟爱JavaScript,也喜欢Python,自嘲所学杂而不精。博客http://benben.cc。 张散集,花名一舟,淘宝前端工程师。他主要从事技术管理,负责淘宝网(北京)的新业务技术和前端团队,热爱前端新技术的推广与应用。翻译作品有《JavaScript Web富应用开发》和《JavaScript权威指南(第六版)》。