程序设计与开发工具
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 了的错觉。不过,学了没人用的东西还真是对不起啊(半恼)
分布式系统 大数据 程序设计与开发工具 英文原版 计算机科学
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
Code Complete 豆瓣 Goodreads
Code Complete
作者: Steve McConnell Microsoft Press 2004 - 6
在线阅读本书
Widely considered one of the best practical guides to programming, Steve McConnells original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practicesand hundreds of new code samplesillustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinkingand help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactoror evolvecode, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
点击链接进入中文版:
代码大全(第2版)
LaTeX Cookbook 豆瓣
作者: Stefan Kottwitz Packt Publishing 2015 - 10
About This Book
• Work with modern document classes, such as KOMA-Script classes
• Explore the latest LaTeX packages, including TikZ, pgfplots, and biblatex
• An example-driven approach to creating stunning graphics directly within LaTeX
Who This Book Is For
If you already know the basics of LaTeX and you like to get fast, efficient solutions, this is the perfect book for you. If you are an advanced reader, you can use this book's example-driven format to take your skillset to the next level. Some familiarity with the basic syntax of LaTeX and how to use the editor of your choice for compiling is required.
What You Will Learn
• Choose the right document class for your project to customize its features
• Utilize fonts globally and locally
• Frame, shape, arrange, and annotate images
• Add a bibliography, a glossary, and an index
• Create colorful graphics including diagrams, flow charts, bar charts, trees, plots in 2d and 3d, time lines, and mindmaps
• Solve typical tasks for various sciences including math, physics, chemistry, electrotechnics, and computer science
• Optimize PDF output and enrich it with meta data, annotations, popups, animations, and fill-in fields
• Explore the outstanding capabilities of the newest engines and formats such as XeLaTeX, LuaLaTeX, and LaTeX3
In Detail
LaTeX is a high-quality typesetting software and is very popular, especially among scientists. Its programming language gives you full control over every aspect of your documents, no matter how complex they are. LaTeX's huge amount of customizable templates and supporting packages cover most aspects of writing with embedded typographic expertise.
With this book you will learn to leverage the capabilities of the latest document classes and explore the functionalities of the newest packages.
The book starts with examples of common document types. It provides you with samples for tuning text design, using fonts, embedding images, and creating legible tables. Common document parts such as the bibliography, glossary, and index are covered, with LaTeX's modern approach.
You will learn how to create excellent graphics directly within LaTeX, including diagrams and plots quickly and easily.
Finally, you will discover how to use the new engines XeTeX and LuaTeX for advanced programming and calculating with LaTeX.
The example-driven approach of this book is sure to increase your productivity.
Style and approach
This book guides you through the world of LaTeX based on over a hundred hands-on examples. These are explained in detail and are designed to take minimal time and to be self-compliant.
LaTeX入门 豆瓣
作者: 刘海洋 电子工业出版社 2013 - 6
LaTeX 已经成为国际上数学、物理、计算机等科技领域专业排版的实际标准,其他领域(化学、生物、工程、语言学等)也有大量用户。本书内容取材广泛,涵盖了正文组织、自动化工具、数学公式、图表制作、幻灯片演示、错误处理等方面。考虑到LaTeX 也是不断进化的,本书从数以千计的LaTeX 工具宏包中进行甄选,选择较新而且实用的版本来讲解排版技巧。
为了方便读者的学习,本书给出了大量的实例和一定量的习题,并且还提供了案例代码。书中的示例大部分来自作者多年的实际排版案例,读者不断练习,肯定能掌握LaTeX 的排版技能。
本书适合数学、物理、计算机、化学、生物、工程等专业的学生、工程师和教师阅读,也适合中学数学教师。此外,本书还适合对LaTeX 排版有兴趣的人员。
2020年1月18日 已读
可能是当前最好的中文LaTeX教程书
唯一的问题就是有点标题欺诈: 这书其实不太适合纯新手入门——我已经写了大半年LaTeX了, 还是在本书中学到不少, 比如关于LaTeX发行版、LaTeX历史, LaTeX编译过程, 和非常简单的编写宏包和模板的指引等(这也是我读本书的目的 虽然最后还是靠LaTeX2e官方文档)。
作者本人是水木清华TeX版版主milksea, 也是CTeX的贡献者之一, 对于LaTeX可谓十分熟悉。能感到书的确是作者自己“写”出来的,意图广泛又深入浅出地介绍LaTeX的种种特性。书籍精美绝伦的排版本身就是LaTeX的最好宣传工具。最棒的是为了中文用户特别了增添很多关于在LaTeX中写中文的技巧和要点,这是他对于中国用户来说远胜出于其他外国经典教材的一点(不过我用不到)
LaTeX 程序设计与开发工具 计算机科学
C++ How to Program Goodreads 豆瓣
作者: Paul Deitel / Harvey Deitel Prentice Hall 2011 - 3
For Introduction to Programming (CS1) and other more intermediate courses covering programming in C++. Also appropriate as a supplement for upper-level courses where the instructor uses a book as a reference for the C++ language. This best-selling comprehensive text is aimed at readers with little or no programming experience. It teaches programming by presenting the concepts in the context of full working programs and takes an early-objects approach. The authors emphasize achieving program clarity through structured and object-oriented programming, software reuse and component-oriented software construction. The Eighth Edition encourages students to connect computers to the community, using the Internet to solve problems and make a difference in our world. All content has been carefully fine-tuned in response to a team of distinguished academic and industry reviewers.
Building Java Programs 豆瓣
作者: Stuart Reges / Marty Stepp Addison Wesley 2010 - 3
Building Java Programs: A Back to Basics Approach , Second Edition, introduces novice programmers to basic constructs and common pitfalls by emphasizing the essentials of procedural programming, problem solving, and algorithmic reasoning. By using objects early to solve interesting problems and defining objects later in the course, Building Java Programs develops programming knowledge for a broad audience.
Thinking in Java 豆瓣 Goodreads
Thinking in Java
作者: [美] Bruce Eckel Prentice Hall 2006 - 2
is a printed version of Bruce Eckel's online materials that provides a useful perspective on mastering Java for those with previous programming experience. The author's take on the essence of Java as a new programming language and the thorough introduction to Java's features make this a worthwhile tutorial.
Pro Git (Second Edition) 豆瓣
9.2 (10 个评分) 作者: Scott Chacon / Ben Straub Apress 2014 - 11
Scott Chacon is a cofounder and the CIO of GitHub and is also the maintainer of the Git homepage ( git-scm.com ) . Scott has presented at dozens of conferences around the world on Git, GitHub and the future of work.
Ben Straub is a developer, long time contributor to Libgit2, holder of a Masters degree, international speaker and Git teacher, avid reader, lifelong explorer, and student of the art of making fine software. He lives with his wife and two children in Portland, Oregon.
2019年10月21日 已读
从今年这个课程安排和各种其他安排来看要用到的地方太多了 光会add -> commit -> push实在是不够了=口=
Oct 21, 2019 Update: 不错的Git进阶书籍
推荐阅读章节:Git Basics, Git Branch, Git Internals。
Git Branch一章非常详细地剖析了branch和rebase的本质,并且对如何使用它们提出了指导,非常有价值;而Git Internals则概括了Git作为一个版本控制系统的底层实现(虽然我是不懂Ruby)
Git on the Server对于大多数人来说可能没有什么用—毕竟大家现在都采用第三方(GitHub, GitLab)托管代码了,所以GitHub一章可以不读。其余章节则可根据自己的需要阅读。
Git 程序设计与开发工具 英文原版 计算机科学
Clean Code 豆瓣 Goodreads
9.5 (8 个评分) 作者: [美国] Robert C·Martin Prentice Hall 2008 - 8
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.
What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding
How to tell the difference between good and bad code
How to write good code and how to transform bad code into good code
How to create good names, good functions, good objects, and good classes
How to format code for maximum readability
How to implement complete error handling without obscuring code logic
How to unit test and practice test-driven development
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
The Art of Computer Programming, Volume 4, Fascicle 0 豆瓣
作者: [美国] Donald Knuth Addison-Wesley Professional 2008 - 4
Product Description
This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth’s writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his “cookbook” solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.
To begin the fourth and later volumes of the set, and to update parts of the existing three, Knuth has created a series of small books called fascicles, which will be published at regular intervals. Each fascicle will encompass a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete.
Volume 4, Fascicle 0
This fascicle introduces what will become by far the longest chapter in The Art of Computer Programming, a chapter on combinatorial algorithms that will itself fill three full-sized volumes. Combinatorial algorithms, informally, are techniques for the high-speed manipulation of extremely large quantities of objects, such as permutations or the elements of graphs. Combinatorial patterns or arrangements solve vast numbers of practical problems, and modern approaches to dealing with them often lead to methods that are more than a thousand times faster than the straightforward procedures of yesteryear. This fascicle primes the pump for everything that follows in the chapter, discussing first the essential ideas of combinatorics and then introducing fundamental ideas for dealing efficiently with 0s and 1s inside a machine, including Boolean basics and Boolean function evaluation. As always, the author’s exposition is enhanced by hundreds of new exercises, arranged carefully for self-instruction, together with detailed answers.
About the Author
Donald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the TeX and Metafont systems for computer typesetting, and for his prolific and influential writing. Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes his time to the completion of these fascicles and the seven volumes to which they belong.
The Art of Computer Programming, Fascicle 4 豆瓣
作者: [美国] Donald Knuth Addison-Wesley Professional 2006 - 2
Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually. The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e ISBN: 0321751043 Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation: Generating All Trees--History of Combinatorial Generation This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science.The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his “cookbook” solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. To begin the fourth and later volumes of the set, and to update parts of the existing three, Knuth has created a series of small books called fascicles, which will be published at regular intervals. Each fascicle will encompass a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete. Volume 4, Fascicle 4 This latest fascicle covers the generation of all trees, a basic topic that has surprisingly rich ties to the first three volumes of The Art of Computer Programming. In thoroughly discussing this well-known subject, while providing 124 new exercises, Knuth continues to build a firm foundation for programming. To that same end, this fascicle also covers the history of combinatorial generation. Spanning many centuries, across many parts of the world, Knuth tells a fascinating story of interest and relevance to every artful programmer, much of it never before told. The story even includes a touch of suspense: two problems that no one has yet been able to solve.
The Art of Computer Programming, Volume 4, Fascicle 3 豆瓣
作者: [美国] Donald Knuth Addison-Wesley Professional 2005 - 8
Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually. The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e ISBN: 0321751043 Art of Computer Programming, Volume 4, Fascicle 3, The: Generating All Combinations and Partitions: Generating All Combinations and Partitions This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science.The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. To begin the fourth and later volumes of the set, and to update parts of the existing three, Knuth has created a series of small books called fascicles, which will be published at regular intervals. Each fascicle will encompass a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete. Volume 4, Fascicle 3 This fascicle continues Knuth's authoritative chapter on combinatorial algorithms, ultimately to be included in Volume 4 of The Art of Computer Programming. The previous fascicle from Volume 4, which covered the generation of all tuples and permutations, is now complemented by techniques for generating all combinations and partitions. In Knuth's thorough discussion of these two topics, readers will find much that is new, as well as surprisingly rich ties to material in Volumes 1 through 3 and to other aspects of computer science and mathematics. As usual, this fascicle includes a bounty of creative exercises, as well as intriguing challenges posed by yet-unsolved questions.
The Art of Computer Programming, Volume 4, Fascicle 2 豆瓣
作者: [美国] Donald Knuth Addison-Wesley Professional 2005
From the Back Cover

This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.

To begin the fourth and later volumes of the set, and to update parts of the existing three, Knuth has created a series of small books called fascicles, which will be published t regular intervals. Each fascicle will encompass a section or more of wholly new or evised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete.

Volume 4, Fascicle 2

This fascicle inaugurates the eagerly awaited publication of Knuth's The Art of Computer Programming, Volume 4: Combinatorial Algorithms. Part of what will be a long chapter on combinatorial searching, the fascicle begins his treatment of how to generate all possibilities. Specifically, it discusses the generation of all n-tuples, then extends those ideas to all permutations. Such algorithms provide a natural motivation by means of which many of the key ideas of combinatorial mathematics can be introduced and explored. In this and other fascicles of Volume 4, Knuth illuminates important theories by discussing related games and puzzles. Even serious programming can be fun.
The Art of Computer Programming, Volume 1, Fascicle 1 豆瓣
作者: [美国] Donald Knuth Addison-Wesley Professional 2005
From the Back Cover

This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.

To begin the fourth and later volumes of the set, and to update parts of the existing three, Knuth has created a series of small books called fascicles, which will be published t regular intervals. Each fascicle will encompass a section or more of wholly new or evised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete.
Volume 1, Fascicle 1

This first fascicle updates The Art of Computer Programming, Volume 1, Third Edition: Fundamental Algorithms, and ultimately will become part of the fourth edition of that book. Specifically, it provides a programmer's introduction to the long-awaited MMIX, a RISC-based computer that replaces the original MIX, and describes the MMIX assembly language. The fascicle also presents new material on subroutines, coroutines, and interpretive routines.