Programming
Pro Python 豆瓣 Goodreads
作者: Marty Alchin Apress 2010 - 6
You've learned the basics of Python, but how do you take your skills to the next stage? Even if you know enough to be productive, there are a number of features that can take you to the next level in Python. Pro Python explores concepts and features normally left to experimentation, allowing you to be even more productive and creative. In addition to pure code concerns, Pro Python will develop your programming techniques and approaches, which will help make you a better Python programmer. Not only will this book help your code, it will also help you understand and interact with the many established Python communities, or even start your own. * Take your Python knowledge and coding skills to the next level. * Write clean, innovative code that will be respected among your peers. * Make your code do more with introspection and metaprogramming. * Design complete frameworks and libraries (two are included in the book!). What you'll learn * Write strong Python code that will be respected in the Python community. * Understand the reasons behind big design decisions in Python. * Write programs that can reconfigure themselves in Python. * Disguise your code as different types of objects in Python. * Inspect just about any object in Python. * Prepare your code for international audiences. * Ensure code quality with rigorous testing. Who this book is for This book is for intermediate to advanced Python programmers who are looking to understand how and why Python works the way it does and how they can take their code to the next level. Table of Contents * Principles and Philosophy * Advanced Basics * Functions * Classes * Common Protocols * Object Management * Strings * Documentation * Testing * Distribution * Sheets: A CSV Framework
Practical Vim 豆瓣 Goodreads
作者: Drew Neil Pragmatic Bookshelf 2012 - 10
Vim, a vast improvement over its classic ancestor vi, is a serious tool for programmers, web developers, and sysadmins. No other text editor comes close to Vim for speed and efficiency; it runs on almost every system imaginable and supports most coding and markup languages.
Learn how to edit text the “Vim way”: complete a series of repetitive changes with The Dot Formula, using one keystroke to strike the target, followed by one keystroke to execute the change. Automate complex tasks by recording your keystrokes as a macro. Run the same command on a selection of lines, or a set of files.
Discover the “very magic” switch, which makes Vim’s regular expression syntax more like Perl’s. Build complex patterns by iterating on your search history. Search inside multiple files, then run Vim’s substitute command on the result set for a project-wide search and replace. All without installing a single plugin!
You’ll learn how to navigate text documents as fast as the eye moves—with only a few keystrokes. Jump from a method call to its definition with a single command. Use Vim’s jumplist, so that you can always follow the breadcrumb trail back to the file you were working on before. Discover a multilingual spell-checker that does what it’s told.
Practical Vim will show you new ways to work with Vim more efficiently, whether you’re a beginner or an intermediate Vim user.
All this, without having to touch the mouse.
Numerical Recipes 3rd Edition 豆瓣
作者: William H. Press / Saul A. Teukolsky Cambridge University Press 2007 - 9
Do you want easy access to the latest methods in scientific computing? This greatly expanded third edition of Numerical Recipes has it, with wider coverage than ever before, many new, expanded and updated sections, and two completely new chapters. The executable C++ code, now printed in colour for easy reading, adopts an object-oriented style particularly suited to scientific applications. Co-authored by four leading scientists from academia and industry, Numerical Recipes starts with basic mathematics and computer science and proceeds to complete, working routines. The whole book is presented in the informal, easy-to-read style that made earlier editions so popular. Highlights of the new material include: a new chapter on classification and inference, Gaussian mixture models, HMMs, hierarchical clustering, and SVMs; a new chapter on computational geometry, covering KD trees, quad- and octrees, Delaunay triangulation, and algorithms for lines, polygons, triangles, and spheres; interior point methods for linear programming; MCMC; an expanded treatment of ODEs with completely new routines; and many new statistical distributions. For support, or to subscribe to an online version, please visit www.nr.com.
• Most comprehensive book available on scientific computing, now updated • New routines for classification and inference HMMs and SVMs, computational geometry, ODEs, interior point methods for linear programming, and MCMC • Over 600,000 Numerical Recipes products in print
Contents
1. Preliminaries; 2. Solution of linear algebraic equations; 3. Interpolation and extrapolation; 4. Integration of functions; 5. Evaluation of functions; 6. Special functions; 7. Random numbers; 8. Sorting and selection; 9. Root finding and nonlinear sets of equations; 10. Minimization or maximization of functions; 11. Eigensystems; 12. Fast Fourier transform; 13. Fourier and spectral applications; 14. Statistical description of data; 15. Modeling of data; 16. Classification and inference; 17. Integration of ordinary differential equations; 18. Two point boundary value problems; 19. Integral equations and inverse theory; 20. Partial differential equations; 21. Computational geometry; 22. Less-numerical algorithms; References.
Python Cookbook 豆瓣 Goodreads
作者: David Beazley / Brian K. Jones O'Reilly Media 2013 - 5
Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Completely updated for Python 3, the recipes in this book include: Data structures and algorithms Strings and text Dates and times Metaprogramming Testing With scores of practical examples and pertinent background information, the Python Cookbook, 3rd Edition is the one source you need if you're looking to build efficient, flexible, scalable, and well-integrated systems.
Coding the Matrix 豆瓣
作者: Philip N. Klein Newtonian Press 2013 - 7
An engaging introduction to vectors and matrices and the algorithms that operate on them, intended for the student who knows how to program. Mathematical concepts and computational problems are motivated by applications in computer science. The reader learns by doing, writing programs to implement the mathematical concepts and using them to carry out tasks and explore the applications. Examples include: error-correcting codes, transformations in graphics, face detection, encryption and secret-sharing, integer factoring, removing perspective from an image, PageRank (Google's ranking algorithm), and cancer detection from cell features. A companion web site,
codingthematrix.com
provides data and support code. Most of the assignments can be auto-graded online. Over two hundred illustrations, including a selection of relevant xkcd comics.
Effective Modern C++ 豆瓣 Goodreads
9.3 (6 个评分) 作者: Scott Meyers O'Reilly Media 2014
Learn how to program expertly with C++ with this practical book from Scott Meyers, one of the world's foremost authorities on this systems programming language. Scott Meyers takes some of the most difficult pieces of C++ code and unfurls them so that you can see how to manipulate your own project code. This is the first book to contain content written with the C++14 standard.
Tackle 42 separate C++ problems and solutions
Learn critical techniques for success on topics from smart pointers to lambda expressions
Understand key concepts by taking the C++ 98 standard to C++ 11 and then to C++ 14
The C++ Standard Library, 2nd Edition 豆瓣
The C++ Standard Library
作者: [德] Nicolai M·Josuttis Addison-Wesley Professional 2012 - 4
The Best-Selling Programmer Resource–Now Updated for C++11
The C++ standard library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components - and to benefit from their power - you need a resource that does far more than list the classes and their functions.
The C++ Standard Library - A Tutorial and Reference, 2nd Edition describes this library as now incorporated into the new ANSI/ISO C++ language standard (C++11). The book provides comprehensive documentation of each library component, including an introduction to its purpose and design; clearly written explanations of complex concepts; the practical programming details needed for effective use; traps and pitfalls; the exact signature and definition of the most important classes and functions; and numerous examples of working code.
The book focuses on the Standard Template Library (STL), examining containers, iterators, function objects, and STL algorithms. You will also find detailed coverage of strings, concurrency, random numbers and distributions, special containers, numerical classes, internationalization, and the IOStreams library. An insightful introduction to fundamental concepts and an overview of the library will help bring newcomers quickly up to speed. A comprehensive index will support the C++ programmer in his/her day-to-day life.
The book covers all the new C++11 library components, including
Concurrency
Fractional arithmetic
Clocks and Timers
Random numbers and distributions
New smart pointers
Regular expressions
New STL containers, such as arrays, forward lists, and unordered containers
New STL algorithms
Tuples
Type traits and type utilities
The book also examines the new C++ programming style and its effect on the standard library, including lambdas, range-based for loops, and variadic templates.
An accompanying Web site, including source code, can be found at http://www.josuttis.com/.
Continuous Delivery 豆瓣
作者: Jez Humble / David Farley Addison Wesley 2010 - 7
Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes * Automating all facets of building, integrating, testing, and deploying software * Implementing deployment pipelines at team and organizational levels * Improving collaboration between developers, testers, and operations * Developing features incrementally on large and distributed teams * Implementing an effective configuration management strategy * Automating acceptance testing, from analysis to implementation * Testing capacity and other non-functional requirements * Implementing continuous deployment and zero-downtime releases * Managing infrastructure, data, components and dependencies * Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever-so you can deliver value to your business rapidly and reliably.
C++ Templates 豆瓣
作者: David Vandevoorde / Nicolai M. Josuttis Addison-Wesley Professional 2017 - 9
The first book to provide complete and accurate information on using templates in C++.-- Great author team - both are widely respected, and bring complementary viewpoints to the book.-- With the greatly increased use of templates there is a real need in the C++ community for this information.This book will be the next C++ classic. Although templates have been part of C++ for well over a decade, they still lead to misunderstanding, misuse, and controversy. At the same time, they are increasingly found to be powerful instruments for the development of cleaner, faster, and smarter software. This has made templates one of the hottest topics in the C++ community. This book will be both a complete reference as well as a tutorial. It will emphasize the practical use of templates, and will include real-world examples. Every working C++ programmer will need a copy of this book for his or her library.
Refactoring 豆瓣
作者: Martin Fowler Addison Wesley 2018 - 11
Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.
Features
The first update to a classic that is the standard reference for refactoring in over 15 years
Enhanced, web-based features including interactive examples, video snippets, code highlighting
Extensive use of JavaScript examples
New to This Edition
Martin Fowler is retaining everything that made Refactoring one of the world’s most popular and influential computer books, while updating with JavaScript examples throughout (to address many programmers’ current preferences) and reflecting today’s programming paradigms. The book’s catalog of individual refactorings has been updated, revised, and expanded.
Clean Architecture 豆瓣 Goodreads
作者: [美国] Robert C·Martin Prentice Hall 2017 - 9
Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”)
By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them.
Martin’s Clean Architecture doesn’t merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As you’ve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges you’ll face—the ones that will make or break your projects.
Learn what software architects need to achieve—and core disciplines and practices for achieving it
Master essential software design principles for addressing function, component separation, and data management
See how programming paradigms impose discipline by restricting what developers can do
Understand what’s critically important and what’s merely a “detail”
Implement optimal, high-level structures for web, database, thick-client, console, and embedded applications
Define appropriate boundaries and layers, and organize components and services
See why designs and architectures go wrong, and how to prevent (or fix) these failures
Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software manager—and for every programmer who must execute someone else’s designs.
Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
The Pragmatic Programmer 豆瓣
8.9 (8 个评分) 作者: David Thomas / Andrew Hunt Addison-Wesley Professional 2019 - 9
“One of the most significant books in my life.” —Obie Fernandez, Author, The Rails Way
“Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours.” —Mike Cohn, Author of Succeeding with Agile, Agile Estimating and Planning, and User Stories Applied
“. . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come.” —Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks
“. . . lightning does strike twice, and this book is proof.” —VM (Vicky) Brasseur, Director of Open Source Strategy, Juniper Networks
The Pragmatic Programmer is one of those rare tech books you’ll read, re-read, and read again over the years. Whether you’re new to the field or an experienced practitioner, you’ll come away with fresh insights each and every time.
Dave Thomas and Andy Hunt wrote the first edition of this influential book in 1999 to help their clients create better software and rediscover the joy of coding. These lessons have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories.
Now, twenty years later, this new edition re-examines what it means to be a modern programmer. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you’ll learn how to:
Fight software rot
Learn continuously
Avoid the trap of duplicating knowledge
Write flexible, dynamic, and adaptable code
Harness the power of basic tools
Avoid programming by coincidence
Learn real requirements
Solve the underlying problems of concurrent code
Guard against security vulnerabilities
Build teams of Pragmatic Programmers
Take responsibility for your work and career
Test ruthlessly and effectively, including property-based testing
Implement the Pragmatic Starter Kit
Delight your users
Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career.
You’ll become a Pragmatic Programmer.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.