编程
A Philosophy of Software Design 豆瓣 谷歌图书 Goodreads
8.9 (11 个评分) 作者: John Ousterhout Yaknyam Press 2018 - 4
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process, and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly
Python for Data Analysis 豆瓣 Goodreads
8.0 (5 个评分) 作者: Wes McKinney O'Reilly Media 2012 - 11
Finding great data analysts is difficult. Despite the explosive growth of data in industries ranging from manufacturing and retail to high technology, finance, and healthcare, learning and accessing data analysis tools has remained a challenge. This pragmatic guide will help train you in one of the most important tools in the field - Python. Filled with practical case studies, Python for Data Analysis demonstrates the nuts and bolts of manipulating, processing, cleaning, and crunching data with Python. It also serves as a modern introduction to scientific computing in Python for data-intensive applications. Learn about the growing field of data analysis from an expert in the community. Learn everything you need to start doing real data analysis work with Python Get the most complete instruction on the basics of the "modern scientific Python platform" Learn from an insider who builds tools for the scientific stack Get an excellent introduction for novices and a wealth of advanced methods for experienced analysts
Python网络数据采集 豆瓣
Web Scraping with Python: Collecting Data from the Modern Web
作者: [美] 米切尔 译者: 陶俊杰 / 陈小莉 人民邮电出版社 2016 - 3
本书采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。
七周七语言 豆瓣
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
8.8 (18 个评分) 作者: [美] Bruce A. Tate 译者: 巨成 / 戴玮 人民邮电出版社 2012 - 5
从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。
Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。
在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本书。
1024·人与机器共同进化 豆瓣
作者: 东西文库 译言·东西文库/电子工业出版社 2013
《1024》:国内第一本专注于科技文化的mook。
本期创刊号将目光定焦在“人与机器”这个超热点领域。
如果把机器获得思维能力看作是一种进化,
那人类具备不朽之躯同样也是一种进化。
这是一个野心勃勃但又充满不确定性的未来。
在我们一厢情愿地猜测机器将在不远的将来赶超自己而惶惶不可终日时,人类其实还有一个机会——变得更像机器。这并非科幻小说,而是正在发生的现实。人类创造机器的初衷难道不就是为了弥补自身的不足?如果把机器获得思维能力看作是一种进化,那人类具备不坏之躯同样也是一种进化。这是一个野心勃勃但又充满不确定性的未来。八篇专题文章将解析在共同进化的漫长道路上,人与机器如何成为对方的投射,以及由此衍生出的永恒话题——伦理与道德的困境。
专栏文章中,“工具”独具匠心。它分为三个小部分:阐述人与工具的联系、具体工具的展示,以及使用工具制作,旨在凸显科技时代人和工具的新关系。“未来”则是由恒金基金会独家授权的SALT演讲,来自历史学家与未来学家的一次机锋。“遗产”将讲述《全球概览》近半个世纪前不可思议的出版故事,重现一次反主流文化之旅。
本期的收尾之作献给不久前去世的恩格尔巴特。感谢他留下的不朽遗产。愿他安息。
《1024》官网:http://1024.dongxi.net
可能与不可能的边界 豆瓣
The Golden Ticket: P, NP, and the Search for the Impossible
8.3 (12 个评分) 作者: [美] Lance Fortnow 译者: 杨帆 人民邮电出版社 2014 - 1
P/NP 问题是计算机科学乃至整个数学领域最重要的开放问题。本书从非技术角度介绍了什么是P/NP 问题、它丰富的历史,以及对于人机交互乃至更多问题的数学意义。在这本趣味十足的书中,作者首先追溯了P/NP 问题是如何产生的,然后给出了这个问题的许多实例,涉及经济学、物理学和生物学在内的多个学科。接下来探讨了涵盖P/NP 难题中所有难度等级的问题,从寻找游玩迪士尼乐园所有景点的最短路线,到地图填色问题,再到找出Facebook 上互为好友的一群人。本书深入探寻了计算能够做到什么、无法做到什么,描绘了尝试解决P/NP问题的益处和其中难以预想的挑战。
本书读来引人入胜,适合所有对计算和数学感兴趣的读者。