计算机科学
Autotools, 2nd Edition 豆瓣
作者: John Calcote no starch press 2019 - 9
Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. The new and improved second edition of Autotools includes five new chapters on PkgConfig, unit testing with Autotest, internationalizing with GNU, the portability of gnulib, and using Autotools with Windows.
Autotools focuses on two projects: Jupiter, a simple "Hello, world!" program, and FLAIM, an existing, complex open source effort containing four separate but interdependent subprojects. Follow along as the author takes Jupiter's build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex hand-coded makefiles to the powerful and flexible GNU build system.
You'll learn how to:
Generate Autoconf configuration scripts to simplify the compilation process
Produce portable makefiles with Automake
Build cross-platform software libraries with Libtool
Write your own Autoconf macros
Leave the guesswork behind and master the Autotools build system with Autotools!
Write Great Code 豆瓣 Goodreads
作者: Randall Hyde No Starch Press 2004 - 10
If you've asked someone the secret to writing efficient, well-written software, the answer that you've probably gotten is "learn assembly language programming." By learning assembly language programming, you learn how the machine really operates and that knowledge will help you write better high-level language code. A dirty little secret assembly language programmers rarely admit to, however, is that what you really need to learn is machine organization, not assembly language programming. Write Great Code Vol I, the first in a series from assembly language expert Randall Hyde, dives right into machine organization without the extra overhead of learning assembly language programming at the same time. And since Write Great Code Vol I concentrates on the machine organization, not assembly language, the reader will learn in greater depth those subjects that are language-independent and of concern to a high level language programmer. Write Great Code Vol I will help programmers make wiser choices with respect to programming statements and data types when writing software, no matter which language they use.
The Secret Life of Programs 豆瓣
作者: Jon Steinhart no starch press 2019 - 7
Computer programming is not abstract and programs run on a machine. Knowing how computers work and how programs run on them is essential to becoming a better programmer, and understanding underlying technologies can help you develop a sense of what can go wrong.
The Secret Life of Programs fills in the gaps in computer education by giving readers a look under the hood of programming, at the machine. Readers learn how software behaves when running on hardware; how programs manipulate data in memory; how computers process languages; and how web browsers work. They'll also learn how to write efficient programs, computer security basics, and real-world considerations to have in mind when writing code.
The TCP/IP Guide Goodreads 豆瓣 谷歌图书
作者: Charles M. Kozierok No Starch Press 2005 - 10
From Charles M. Kozierok, the creator of the highly regarded www.pcguide.com, comes The TCP/IP Guide. This completely up-to-date, encyclopedic reference on the TCP/IP protocol suite will appeal to newcomers and the seasoned professional alike. Kozierok details the core protocols that make TCP/IP internetworks function and the most important classic TCP/IP applications, integrating IPv6 coverage throughout. Over 350 illustrations and hundreds of tables help to explain the finer points of this complex topic. The book抯 personal, user-friendly writing style lets readers of all levels understand the dozens of protocols and technologies that run the Internet, with full coverage of PPP, ARP, IP, IPv6, IP NAT, IPSec, Mobile IP, ICMP, RIP, BGP, TCP, UDP, DNS, DHCP, SNMP, FTP, SMTP, NNTP, HTTP, Telnet, and much more.
The TCP/IP Guide is a must-have addition to the libraries of internetworking students, educators, networking professionals, and those working toward certification.
C++ Crash Course 豆瓣 Goodreads
作者: Joshua Lospinoso 978-1593278885 2019 - 7 其它标题: C++ Crash Course: A Fast-Paced Introduction
C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard. In Part I, you'll learn about all of the essential core language features. Part II introduces you to the C++ Standard Library and Boost Libraries, where you'll learn about high-quality, fully-featured facilities immediately available to you.
You'll learn all the major features of modern C++, including:
- Fundamental types, reference types, and user-defined types
- The object lifecycle including storage duration, memory management, exceptions, call stacks, and the RAII (resource acquisition is initialization) paradigm
- Compile-time polymorphism with templates and run-time polymorphism with virtual classes
- Advanced expressions, statements, and functions
- Smart pointers, data structures, dates and times, numerics, and probability/statistics facilities
- Containers, iterators, strings, and algorithms
- Streams and files, concurrency, networking, and application development
Design It 豆瓣
作者: Michael Keeling Pragmatic Bookshelf 2017 - 10
Great software comes from great designers. Learn the essential software architecture fundamentals every programmer needs to know. With hands-on examples in every chapter, tips and advice from respected architects, practical scenarios, and dozens of architectural design activities, Design It! shows you how to lead your team as a software architect to create excellent software.
Uncover the big ideas behind software architecture and learn practical methods for designing software systems big and small. Gain a framework for thinking about design, enabling you to plan, lead, design, implement, and evaluate software architectures. Collaborate with your team, stakeholders, and other architects. Dig for architecturally significant requirements and write detailed quality attribute scenarios. Explore design alternatives, balance trade-offs, manage risks, and choose technologies based on their architectural impact. Make the architecture real for everyone with powerful sketches, engaging stories, and lean documentation people love to read. Evaluate your designs using lightweight methods and harness the power of your team to improve the architecture over time. Host collaborative workshops that create buy-in and get the whole team excited and involved in designing the software architecture.
Hands-on exercises, real-world scenarios, and practical team-based decision-making tools will give you the experience you need to become a confident software architect.
Web Scalability for Startup Engineers 豆瓣
作者: Artur Ejsmont McGraw 2015 - 6
Design and build scalable web applications quickly
This is an invaluable roadmap for meeting the rapid demand to deliver scalable applications in a startup environment. With a focus on core concepts and best practices rather than on individual languages, platforms, or technologies, Web Scalability for Startup Engineers describes how infrastructure and software architecture work together to support a scalable environment.
You’ll learn, step by step, how scalable systems work and how to solve common challenges. Helpful diagrams are included throughout, and real-world examples illustrate the concepts presented. Even if you have limited time and resources, you can successfully develop and deliver robust, scalable web applications with help from this practical guide.
Learn the key principles of good software design required for scalable systems Build the front-end layer to sustain the highest levels of concurrency and request rates Design and develop web services, including REST-ful APIs Enable a horizontally scalable data layer Implement caching best practices Leverage asynchronous processing, messaging, and event-driven architecture Structure, index, and store data for optimized search Explore other aspects of scalability, such as automation, project management, and agile teams
Object Thinking (DV-Microsoft Professional) 豆瓣
作者: David West Microsoft Press 2004 - 3
The foundation of all object-oriented software design, including agile methods such as extreme programming, is object thinking. But many developers have not mastered its underlying concepts and principles—relying on methodology and process instead of fully exploiting the power of object thinking in software design. In this essential, high-level reference, well-known object technologist David West provides a deep historical and contextual discussion of object thinking, including the behavioral approaches to object discovery and design. Readers will master the fundamental principles and learn how to apply object thinking to improve software development at every phase of the process.
Securing DevOps 豆瓣
作者: Julien Vehent Manning Publications 2018 - 8
Securing DevOps explores how the techniques of DevOps and Security should be applied together to make cloud services safer. This introductory book reviews state of the art practices used in securing web applications and their infrastructure, and teaches you techniques to integrate security directly into your product. You'll also learn the core concepts of DevOps, such as Continuous Integration, Continuous Delivery and Infrastructure as a Service. You'll build an example service - an invoice management API - as you learn how to implement both DevOps and Security concepts together. By the end of this book, you'll be ready to build security controls at all layers, monitor and respond to attacks on cloud services, and add security organization-wide through risk management and training.
Ghost Work 豆瓣
作者: Mary L Gray / Siddharth Suri Eamon Dolan/Houghton Mifflin Harcourt 2019 - 5
In the spirit of Nickel and Dimed, a necessary and revelatory expose of the invisible human workforce that powers the web—and that foreshadows the true future of work. Hidden beneath the surface of the web, lost in our wrong-headed debates about AI, a new menace is looming. Anthropologist Mary L. Gray and computer scientist Siddharth Suri team up to unveil how services delivered by companies like Amazon, Google, Microsoft, and Uber can only function smoothly thanks to the judgment and experience of a vast, invisible human labor force. These people doing "ghost work" make the internet seem smart. They perform high-tech piecework: flagging X-rated content, proofreading, designing engine parts, and much more. An estimated 8 percent of Americans have worked at least once in this “ghost economy,” and that number is growing. They usually earn less than legal minimums for traditional work, they have no health benefits, and they can be fired at any time for any reason, or none. There are no labor laws to govern this kind of work, and these latter-day assembly lines draw in—and all too often overwork and underpay—a surprisingly diverse range of workers: harried young mothers, professionals forced into early retirement, recent grads who can’t get a toehold on the traditional employment ladder, and minorities shut out of the jobs they want. Gray and Suri also show how ghost workers, employers, and society at large can ensure that this new kind of work creates opportunity—rather than misery—for those who do it.
Spring in Action 豆瓣
作者: Craig Walls Manning Publications 2014 - 11
Spring in Action, Fourth Edition is a hands-on guide to the Spring Framework, updated for version 4. It covers the latest features, tools, and practices including Spring MVC, REST, Security, Web Flow, and more. You'll move between short snippets and an ongoing example as you learn to build simple and efficient J2EE applications. Author Craig Walls has a special knack for crisp and entertaining examples that zoom in on the features and techniques you really need.
Refer to link: http://www.manning.com/walls5/
Database Internals 豆瓣 Goodreads
作者: Alex Petrov O'Reilly Media 2019 - 10
Have you ever wanted to learn more about Databases but did not know where to start? This is a book just for you.
We can treat databases and other infrastructure components as black boxes, but it doesn’t have to be that way. Sometimes we have to take a closer look at what’s going on because of performance issues. Sometimes databases misbehave, and we need to find out what exactly is going on. Some of us want to work in infrastructure and develop databases. This book’s main intention is to introduce you to the cornerstone concepts and help you understand how databases work.
The book consists of two parts: Storage Engines and Distributed Systems since that’s where most of the differences between the vast majority of databases is coming from.
Patterns of Enterprise Application Architecture 豆瓣 Goodreads
Patterns of Enterprise Application Architecture
作者: Martin Fowler Addison-Wesley Professional 2002 - 11
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include * Dividing an enterprise application into layers * The major approaches to organizing business logic * An in-depth treatment of mapping between objects and relational databases * Using Model-View-Controller to organize a Web presentation * Handling concurrency for data that spans multiple transactions * Designing distributed object interfaces
Deep Learning from Scratch 豆瓣 Goodreads
作者: Seth Weidman O'REILLY Media 2019 - 10 其它标题: Deep Learning from Scratch: Building with Python from First Principles
This book will provide a solid foundation in how Deep Learning works so that no concept you learn or project you do in the field will seem daunting after this. We will walk the reader through how to implement multi-layer neural networks, implementing convolutional neural networks and recurrent neural networks from scratch. Using these as building blocks, readers will learn to to implement advanced architectures such as image captioning and Neural Turing Machines
2019年5月3日 在读
早读早享受。好书就该这样,first principal出发,通过逻辑推演整体与细节,这样才能搞通。
AI 计算机科学
The Joy of Kotlin 豆瓣
作者: Pierre-Yves Saumont Manning Publications 2018 - 9
The Kotlin programming language offers an expressive syntax, an intuitive type system, and support for a host of tools for users.
The Joy of Kotlin teaches readers the right way to code in Kotlin. This insight-rich book covers everything needed to master the Kotlin language while exploring coding techniques that will make readers better developers no matter what language they use.
Guide to Competitive Programming 豆瓣
作者: Antti Laaksonen Springer 2018 - 1
This invaluable textbook presents a comprehensive introduction to modern competitive programming. The text highlights how competitive programming has proven to be an excellent way to learn algorithms, by encouraging the design of algorithms that actually work, stimulating the improvement of programming and debugging skills, and reinforcing the type of thinking required to solve problems in a competitive setting. The book contains many “folklore” algorithm design tricks that are known by experienced competitive programmers, yet which have previously only been formally discussed in online forums and blog posts.
Topics and features: reviews the features of the C++ programming language, and describes how to create efficient algorithms that can quickly process large data sets; discusses sorting algorithms and binary search, and examines a selection of data structures of the C++ standard library; introduces the algorithm design technique of dynamic programming, and investigates elementary graph algorithms; covers such advanced algorithm design topics as bit-parallelism and amortized analysis, and presents a focus on efficiently processing array range queries; surveys specialized algorithms for trees, and discusses the mathematical topics that are relevant in competitive programming; examines advanced graph techniques, geometric algorithms, and string techniques; describes a selection of more advanced topics, including square root algorithms and dynamic programming optimization.
This easy-to-follow guide is an ideal reference for all students wishing to learn algorithms, and practice for programming contests. Knowledge of the basics of programming is assumed, but previous background in algorithm design or programming contests is not necessary. Due to the broad range of topics covered at various levels of difficulty, this book is suitable for both beginners and more experienced readers.
Learning Chaos Engineering 豆瓣
作者: Russ Miles O'Reilly Media 2019 - 8
Learn why, when, and how to create real-world, practical chaos engineering experiments through Game Days and automation. With this practical book, software developers and system administrators will learn how to become chaos engineers. You'll learn ways to approach and adopt the discipline, how to prepare for and conduct successful chaos experiments manually, and how to work towards Continuous Chaos through automation.
On the surface, Chaos Engineering can look like a deceptively simple set of practices, but the devil is in the details. This book helps you adopt the mindset of Chaos Engineering, successfully plan and learn from Game Days, and finally learn the tools for automation and collaboration necessary to scale out and mature your own organization’s Chaos Engineering capability.
Architecting Modern Data Platforms 豆瓣
作者: Jan Kunigk / Ian Buss O′Reilly 2018 - 10
There’s a lot of information about big data technologies, but splicing these technologies into an end-to-end enterprise data platform is a daunting task not widely covered. With this practical book, you’ll learn how to build big data infrastructure both on-premises and in the cloud and successfully architect a modern data platform.
Ideal for enterprise architects, IT managers, application architects, and data engineers, this book shows you how to overcome the many challenges that emerge during Hadoop projects. You’ll explore the vast landscape of tools available in the Hadoop and big data realm in a thorough technical primer before diving into:
Infrastructure: Look at all component layers in a modern data platform, from the server to the data center, to establish a solid foundation for data in your enterprise
Platform: Understand aspects of deployment, operation, security, high availability, and disaster recovery, along with everything you need to know to integrate your platform with the rest of your enterprise IT
Taking Hadoop to the cloud: Learn the important architectural aspects of running a big data platform in the cloud while maintaining enterprise security and high availability
Dependency Injection Principles, Practices, and Patterns 豆瓣
作者: Mark Seemann / Steven van Deursen Manning Publications 2019 - 3
Summary
Dependency Injection Principles, Practices, and Patterns teaches you to use DI to reduce hard-coded dependencies between application components. You'll start by learning what DI is and what types of applications will benefit from it. Then, you'll work through concrete scenarios using C# and the .NET framework to implement DI in your own projects. As you dive into the thoroughly-explained examples, you'll develop a foundation you can apply to any of the many DI libraries for .NET and .NET Core.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Dependency Injection (DI) is a great way to reduce tight coupling between software components. Instead of hard-coding dependencies, such as specifying a database driver, you make those connections through a third party. Central to application frameworks like ASP.NET Core, DI enables you to better manage changes and other complexity in your software.
About the Book
Dependency Injection Principles, Practices, and Patterns is a revised and expanded edition of the bestselling classic Dependency Injection in .NET. It teaches you DI from the ground up, featuring relevant examples, patterns, and anti-patterns for creating loosely coupled, well-structured applications. The well-annotated code and diagrams use C# examples to illustrate principles that work flawlessly with modern object-oriented languages and DI libraries.