计算机科学
Foundations of Analog and Digital Electronic Circuits 豆瓣
作者: Anant Agarwal / Jeffrey Lang Morgan Kaufmann 2005 - 7
Unlike books currently on the market, this book attempts to satisfy two goals: combine circuits and electronics into a single, unified treatment, and establish a strong connection with the contemporary world of digital systems. It will introduce a new way of looking not only at the treatment of circuits, but also at the treatment of introductory coursework in engineering in general.
Using the concept of ''abstraction,'' the book attempts to form a bridge between the world of physics and the world of large computer systems. In particular, it attempts to unify electrical engineering and computer science as the art of creating and exploiting successive abstractions to manage the complexity of building useful electrical systems. Computer systems are simply one type of electrical systems.
+Balances circuits theory with practical digital electronics applications.
+Illustrates concepts with real devices.
+Supports the popular circuits and electronics course on the MIT OpenCourse Ware from which professionals worldwide study this new approach.
+Written by two educators well known for their innovative teaching and research and their collaboration with industry.
2022年3月29日 已读
忘了自己已经看完了(需要用到的章节),这辈子应该不会搞电路(我也学得挺烂的),但学习体验很好。MIT OCW 的课+学校听课+本书学习模电和数电(对应到国内是这两门课吧?)可以说是我能想到的学习最佳实践了。OCW没有涵盖全书内容但会给你一个非常好的 big picture,对于每节要学什么心里会非常清楚;我校教授非常注重教授解题方法,课上会领着推好几道例题,把 ocw 欠缺的课上推导都领着过一遍;书当然是什么都有但不够生动…复习的时候自己看最佳。(夸了这么多我还是八十几分,可见我电路就是很lj=。=
电子电路 英文原版 计算机科学
Contemporary Logic Design 豆瓣
作者: Katz, Randy H./ Borriello, Gaetano Prentice Hall 2004
BASIC APPROACH In the past ten years there has been a revolution in the practice of hardware design. Professionals now rely on CAD software, rapid prototyping, and programmable logic devices to streamline the design process. Contemporary Logic Design is the first text to address these changes - and to offer a truly modern introduction to logic design. Throughout, the author complements his presentation of logic design theory with discussions of current design technologies. Approximately 60% of the book presents new material; the remainder has been re-organized and partially re-written to correspond to the organizational changes.
Managing NFS and NIS 豆瓣
作者: Mike Eisler / Hal Stern Oreilly & Associates Inc 2001
This long-awaited new edition of a classic, now updated for NFS Version 3 and based on Solaris 8, shows how to set up and manage a network filesystem installation. Managing NFS and NIS is the only practical book devoted entirely to NFS and the distributed database NIS; it's a "must-have" for anyone interested in Unix networking.
The Rust Programming Language (Covers Rust 2018) 豆瓣 Goodreads
作者: Steve Klabnik / Carol Nichols No Starch Press 2019 - 8
The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018.
The Rust Programming Language is the official, definitive guide to Rust, a hugely popular, community-supported programming language. This is the second edition of the improved version of the free online Rust book, so well-loved in the Rust community that it is simply referred to as "the Book".
Programmers love Rust because it allows them to write powerful code efficiently, without the risk of crashes and errors common in languages like C and C++. This book will show readers how to use Rust's robust type system to keep programs memory-safe and speedy, and make the most of the Cargo package manager that brings the pieces of a program together. The reader will learn all about Rust's ownership rules, which lie at the heart of Rust's reliability and crash-resistant compiling.
The Rust Programming Language covers everything from basic concepts like variable bindings, control flow, functions, and error handling, to more advanced topics, such as crates, generics, concurrency, and the nitty gritty of Rust's type system. With improved organization, hands-on features, and a more tutorial-oriented style, this version offers a vast improvement over the original.
The second edition also provides an entirely new chapter on macros and an expanded chapter on crates, two key aspects of Rust that make it so popular. Readers will also find extra appendices on Rust development tools and Rust versions.
Vim实用技巧(第2版) 豆瓣 Goodreads
Practical Vim
9.8 (5 个评分) 作者: [英] Drew Neil 译者: 杨源 / 车文隆 人民邮电出版社 2016 - 11
Vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。Vim能够大大提高程序员的工作效率。对于Vim高手来说,Vim能以与思考同步的速度编辑文本。同时,学习和熟练使用Vim又有一定的难度。
本书为那些想要提升自己的程序员编写,阅读本书是熟练掌握高超的Vim技巧的必由之路。全书共21章,包括123个技巧。每一章都是关于某一相关主题的技巧集合。每一个技巧都有针对性地解决一个或一类问题,帮助读者提升Vim的使用技能。本书示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通Vim。
本书适合想要学习和掌握Vim工具的读者阅读,有一定Vim使用经验的程序员,也可以参考查阅以解决特定的问题。
Kubernetes in Action, Second Edition 豆瓣
作者: Marko Lukša Manning Publications 2020 - 6
Kubernetes in Action, Second Edition teaches you to use Kubernetes to deploy container-based distributed applications. You'll start with an overview of how Docker containers work with Kubernetes and move quickly to building your first cluster. You'll gradually expand your initial application, adding features and deepening your knowledge of Kubernetes architecture and operation. In this revised and expanded second edition, you’ll take a deep dive into the structure of a Kubernetes-based application and discover how to manage a Kubernetes cluster in production. As you navigate this comprehensive guide, you'll also appreciate thorough coverage of high-value topics like monitoring, tuning, and scaling.
what's inside
Up and running with Kubernetes
Deploying containers across a cluster
Securing clusters
Updating applications with zero downtime
Hadoop: The Definitive Guide 豆瓣
作者: Tom White O'Reilly Media 2015 - 4
Get ready to unlock the power of your data. With the fourth edition of this comprehensive guide, you’ll learn how to build and maintain reliable, scalable, distributed systems with Apache Hadoop. This book is ideal for programmers looking to analyze datasets of any size, and for administrators who want to set up and run Hadoop clusters.
Using Hadoop 2 exclusively, author Tom White presents new chapters on YARN and several Hadoop-related projects such as Parquet, Flume, Crunch, and Spark. You’ll learn about recent changes to Hadoop, and explore new case studies on Hadoop’s role in healthcare systems and genomics data processing.
Learn fundamental components such as MapReduce, HDFS, and YARN
Explore MapReduce in depth, including steps for developing applications with it
Set up and maintain a Hadoop cluster running HDFS and MapReduce on YARN
Learn two data formats: Avro for data serialization and Parquet for nested data
Use data ingestion tools such as Flume (for streaming data) and Sqoop (for bulk data transfer)
Understand how high-level data processing tools like Pig, Hive, Crunch, and Spark work with Hadoop
Learn the HBase distributed database and the ZooKeeper distributed configuration service
2020年12月5日 已读
刚开始看没多少(Part I 一半不到),各种方面写得都相当清楚,不愧是基金会 member 讲自己参与设计的系统……连如何安装和配置 Hadoop cluster 写得都比垃圾官方文档详尽(…)真是高下立判啊 🤣 (Update Dec 5, 2020)跳过了关于 Pig Hive 等等 Apache 生态组件的介绍还有 Case Study。产生了已经完全掌握 Hadoop 了的错觉。不过,学了没人用的东西还真是对不起啊(半恼)
分布式系统 大数据 程序设计与开发工具 英文原版 计算机科学
分布式系统 豆瓣
Distributed Systems: Concepts and Design, Fifth Edition
作者: (英)George Coulouris / Jean Dollimore 译者: 金蓓弘 / 马应龙 机械工业出版社 2013 - 3
从移动电话到互联网,我们的生活越来越依赖于以无缝和透明的方式将计算机和其他设备链接在一起的分布式系统。本书全面介绍分布式系统的设计原理和实践及其最新进展,并使用大量最新的实例研究来阐明分布式系统的设计与开发方法。
本书前几版已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等众多名校选用为教材。第5版在上一版的基础上,新增了三章内容,分别介绍间接通信、分布式对象和组件、分布式系统设计(以Google为例)。
本书网站www.cdk5.net为学生和教师提供了丰富的学习资源和教学资源(源代码、参考文献、教学幻灯片、勘误等)。
2020年12月2日 已读
這本書的英文原版寫得就足夠艱深枯燥了。中文翻譯更是慘不忍睹。雖然一部分原因是我知識水平過低,更需要綜述型的書來進行初步的概念理解。論介紹概念 Tanenbaum 的 Principles and Paradigm 有趣、易懂的多,論瞭解技術細節不如直接去看論文。不知道為什麼有如此多的擁躉(Update Dec 2, 2020)我終於是讀不下去了...這書不能看,用作 Tanenbaum ㄉ補充說明還可以。原版都不推薦,中譯更不推薦...
分布式系统 计算机科学
Theory of Distributions for Locally Compact Spaces 豆瓣
作者: L. Ehrenpreis American Mathematical Society 1956
This course is offered to undergraduates and is an elementary discrete mathematics course oriented towards applications in computer science and engineering. Topics covered include: formal logic notation, induction, sets and relations, permutations and combinations, counting principles, and discrete probability.
Hadoop Application Architectures 豆瓣
作者: Mark Grover / Ted Malaska O'Reilly Media 2015 - 4
With Early Release ebooks, you get books in their earliest form — the author's raw and unedited content as he or she writes — so you can take advantage of these technologies long before the official release of these titles. You'll also receive updates when significant changes are made, new chapters as they're written, and the final ebook bundle.
Get expert guidance on architecting end-to-end data management solutions with Apache Hadoop. While many sources explain how to use various components in the Hadoop ecosystem, this practical book takes you through architectural considerations necessary to tie those components together into a complete tailored application, based on your particular use case.
To reinforce those lessons, the book’s second section provides detailed examples of architecture used in some of the most commonly found Hadoop applications. Whether you’re designing and implementing a new Hadoop application, or planning to integrate Hadoop into your existing data infrastructure, Hadoop Application Architectures will skillfully guide you through the process.
The Early Release edition begins with chapters that concentrate on design considerations for Data Modeling and Data Movement in Hadoop:
Explore whether your application should store data on Hadoop Distributed File System (HDFS) or HBase
Get best practices for designing an HDFS or HBase schema
Learn how to design schemas for SQL-on-Hadoop (e.g. Hive, Impala, HCatalog) tables
Designing Data-Intensive Applications 豆瓣 Goodreads
9.4 (21 个评分) 作者: Martin Kleppmann O'Reilly Media 2017 - 4
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?
In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.
Peer under the hood of the systems you already use, and learn how to use and operate them more effectively
Make informed decisions by identifying the strengths and weaknesses of different tools
Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity
Understand the distributed systems research upon which modern databases are built
Peek behind the scenes of major online services, and learn from their architectures
Linux/UNIX系统编程手册 豆瓣
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
作者: Michael Kerrisk 译者: 孙剑 许从年 董健 / 孙余强 郭光伟 陈舸 人民邮电出版社 2014 - 1
《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。
《linux/unix系统编程手册(上、下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用posix线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字api编写网络应用等内容。
《linux/unix系统编程手册(上、下册)》在汇聚大批 linux专有特性(epoll、inotify、/proc)的同时,还特意强化了对unix标准(posix、sus)的论述,彻底达到了“鱼与熊掌,二者得兼”的效果,这也堪称本书的最大亮点。
《linux/unix系统编程手册(上、下册)》布局合理,论述清晰,说理透彻,尤其是作者对示例代码的构思巧妙,独具匠心,仔细研读定会受益良多。本书适合从事linux/unix系统开发、运维工作的技术人员阅读,同时也可作为高校计算机专业学生的参考研习资料。
Computer Architecture 豆瓣 Goodreads 谷歌图书
作者: John L. Hennessy / David A. Patterson Morgan Kaufmann 2011 - 9
The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing devices. Each chapter includes two real-world examples, one mobile and one datacenter, to illustrate this revolutionary change. Updated to cover the mobile computing revolution Emphasizes the two most important topics in architecture today: memory hierarchy and parallelism in all its forms. Develops common themes throughout each chapter: power, performance, cost, dependability, protection, programming models, and emerging trends ("What's Next") Includes three review appendices in the printed text. Additional reference appendices are available online. Includes updated Case Studies and completely new exercises.
Introduction to Algorithms, 3rd Edition 豆瓣 Goodreads
9.4 (7 个评分) 作者: Thomas H. Cormen / Charles E. Leiserson The MIT Press 2009 - 7
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.
The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, and substantial additions to the chapter on recurrences (now called "Divide-and-Conquer"). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition.
As of the third edition, this textbook is published exclusively by the MIT Press.
统计学习方法(第2版) 豆瓣
7.6 (5 个评分) 作者: 李航 清华大学出版社 2019 - 5
统计学习方法即机器学习方法,是计算机及其应用领域的一门重要学科。本书分为监督学 习和无监督学习两篇,全面系统地介绍了统计学习的主要方法。包括感知机、k 近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM 算法、隐马尔可夫模型和条件随机场,以及聚类方法、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配和 PageRank 算法等。除有关统计学习、监督学习和无监督学习的概论和总结的四章外,每章介绍一种方法。叙述力求从具体问题或实例入手, 由浅入深,阐明思路,给出必要的数学推导,便于读者掌握统计学习方法的实质,学会运用。 为满足读者进一步学习的需要,书中还介绍了一些相关研究,给出了少量习题,列出了主要参考文献。 本书是统计机器学习及相关课程的教学参考书,适用于高等院校文本数据挖掘、信息检索及自然语言处理等专业的大学生、研究生,也可供从事计算机应用相关专业的研发人员参考。
C++ Primer Plus 豆瓣
作者: Stephen Prata Addison Wesley 2011 - 10
C++ Primer Plus, Sixth Edition New C++11 Coverage C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages. The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard. Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use. Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts. In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning: * A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard * Complete, integrated discussion of both basic C language and additional C++ features* Clear guidance about when and why to use a feature* Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time* Hundreds of practical sample programs* Review questions and programming exercises at the end of each chapter to test your understanding* Coverage of generic C++ gives you the greatest possible flexibility* Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespacesTable of Contents 1: Getting Started with C++ 2: Setting Out to C++ 3: Dealing with Data 4: Compound Types 5: Loops and Relational Expressions 6: Branching Statements and Logical Operators 7: Functions: C++'s Programming Modules 8: Adventures in Functions 9: Memory Models and Namespaces 10: Objects and Classes 11: Working with Classes 12: Classes and Dynamic Memory Allocation 13: Class Inheritance 14: Reusing Code in C++ 15: Friends, Exceptions, and More 16: The string Class and the Standard Template Library 17: Input, Output, and Files 18: The New C++11 Standard A Number Bases B C++ Reserved Words C The ASCII Character Set D Operator Precedence E Other Operators F The stringTemplate Class G The Standard Template Library Methods and Functions H Selected Readings and Internet Resources I Converting to ISO Standard C++ J Answers to Chapter Reviews
编程珠玑(第2版•修订版) 豆瓣
More Programming Pearls,Second Edition
作者: [美] Jon Bentley 乔恩•本特利 译者: 黄倩 / 钱丽艳 人民邮电出版社 2014
历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
书评
“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者