Dave Thomas — 作者 (18)
Programming Ruby 1.9 [图书] 豆瓣
作者: Dave Thomas / Chad Fowler 出版社: Pragmatic Bookshelf 2009 - 4
Ruby is a fully object-oriented language, much like the classic object-oriented language, Smalltalk. Like Smalltalk, it is dynamically typed (as opposed to Java or C++), but unlike Smalltalk, Ruby features the same conveniences found in modern scripting languages, making Ruby a favorite tool of intelligent, forward-thinking programmers and the basis for the Rails web framework.
This is the reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9). It also includes all the new and changed syntax and semantics introduced since Ruby 1.8. Learn about the new parameter passing rules, local variable scoping in blocks, fibers, multinationalization, and the new block declaration syntax, among other exciting new features.
Programming Elixir [图书] 豆瓣 Goodreads
作者: Dave Thomas 出版社: The Pragmatic Bookshelf 2013 - 10
As a developer, you’ve probably heard that functional programming techniques help manage the complexities of today’s real-world, concurrent systems. You’re also investigating designs that help you maximize uptime and manage security.
This book is your guide to Elixir, a modern, functional, and concurrent programming language. Because Elixir runs on the Erlang VM, and uses the underlying Erlang/OTP architecture, it benefits from almost 20 years of research into high performance, highly parallel, and seriously robust applications. Elixir brings a lot that’s new: a modern, Ruby-like, extendable syntax, compile and runtime evaluation, a hygienic macro system, and more.
But, just as importantly, Elixir brings a sense of enjoyment to parallel, functional programming. Your applications become fun to work with, and the language encourages you to experiment.
Part 1 covers the basics of writing sequential Elixir programs. We’ll look at the language, the tools, and the conventions.
Part 2 uses these skills to start writing concurrent code—applications that use all the cores on your machine, or all the machines on your network! And we do it both with and without OTP.
And Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax.
By the end of this book, you’ll understand Elixir, and know how to apply it to solve your complex, modern problems.
Pragmatic Unit Testing in Java with JUnit [图书] 豆瓣
作者: Andy Hunt / Dave Thomas 出版社: The Pragmatic Programmers 2003 - 9
Learn how to improve your Java coding skills using unit testing. Despite it's name, unit testing is really a coding technique, not a testing technique. Unit testing is done by programmers, for programmers. It's primarily for our benefit: we get improved confidence in our code, better ability to make deadlines, less time spent in the debugger, and less time beating on the code to make it work correctly. This book shows how to write tests, but more importantly, it goes where other books fear to tread and gives you concrete advice and examples of what to test--the common things that go wrong in all of our programs. Discover the tricky hiding places where bugs breed, and how to catch them using the freely available JUnit framework. It's easy to learn how to think of all the things in your code that are likely to break. We'll show you how with helpful mnemonics, summarized in a handy tip sheet (also available from our www.pragmaticprogrammer.com website) to help you remember all this stuff. With this book you will:

Write better code, and take less time to write it
Discover the tricky places where bugs breed
Learn how to think of all the things that could go wrong
Test individual pieces of code without having to include the whole project
Test effectively with the whole team We'll also cover how to use Mock Objects for testing, how to write high quality test code, and how to use unit testing to improve your design skills. We'll show you frequent "gotchas"--along with the fixes--to save you time when problems come up. We'll show you how with helpful mnemonics, summarized in a handy tip sheet (also available from our www.pragmaticprogrammer.com website). But the best part is that you don't need a sweeping mandate to change your whole team or your whole company. You don't need to adopt Extreme Programming or Test-Driven Development, or change your development process in order to reap the proven benefits of unit testing. You can start unit testing, the pragmatic way, right away.
Web开发敏捷之道 [图书] 豆瓣
Agile Web Development with Rails, Fourth Edition
作者: Sam Ruby / Dave Thomas 译者: 慕尼黑Isar工作组 / 骆古道 出版社: 机械工业出版社 2012 - 3
本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前3版的内容架构基础上,第4版增加了关于Rails中新特性和最佳实践的内容。本书从逐步创建一个真正的应用程序开始,然后介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式创建应用程序,然后依据敏捷开发模式搭建测试案例,最终用Capistrano完成部署;第三部分有条不紊地补充缺少的知识并涵盖足以应付日常的实际工作。本书既有直观的示例,又有深入的分析,同时涵盖了Web应用开发中各方面的相关知识,堪称一部内容全面而又深入浅出的佳作。
本书适合Ruby和Rails的初级、中级读者阅读,并可作为开发人员的参考手册。
Programming Elixir 1.2 [图书] 豆瓣
作者: Dave Thomas 出版社: Pragmatic Bookshelf 2016 - 3
You want to explore functional programming, but are put off by the academic feel (tell me about monads just one more time). You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir's pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers.
Maybe you need something that's closer to Ruby, but with a battle-proven environment that's unrivaled for massive scalability, concurrency, distribution, and fault tolerance. Maybe the time is right for the Next Big Thing. Maybe it's Elixir.
This edition of the book has been updated to cover Elixir 1.2, including the new with expression, the exrm release manager, and the removal of deprecated types.
As a developer, you've probably heard that functional programming techniques help manage the complexities of today's real-world, concurrent systems. You're also investigating designs that help you maximize uptime and manage security.
This book is your guide to Elixir, a modern, functional, and concurrent programming language. Because Elixir runs on the Erlang VM, and uses the underlying Erlang/OTP architecture, it benefits from almost 20 years of research into high performance, highly parallel, and seriously robust applications. Elixir brings a lot that's new: a modern, Ruby-like, extendable syntax, compile and runtime evaluation, a hygienic macro system, and more.
But, just as importantly, Elixir brings a sense of enjoyment to parallel, functional programming. Your applications become fun to work with, and the language encourages you to experiment.
Part 1 covers the basics of writing sequential Elixir programs. We'll look at the language, the tools, and the conventions.
Part 2 uses these skills to start writing concurrent code--applications that use all the cores on your machine, or all the machines on your network! And we do it both with and without OTP.
And Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax.
By the end of this book, you'll understand Elixir, and know how to apply it to solve your complex, modern problems.
Programming Ruby 1.9 & 2.0 [图书] 豆瓣
作者: Dave Thomas / Andy Hunt 出版社: The Pragmatic Bookshelf 2013 - 2
Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way, instead of getting the work done? Are you using Rails, and want to dig deeper into the underlying Ruby language? If so, then we’ve got a language and book for you!
Ruby is a fully object-oriented language, much like the classic object-oriented language, Smalltalk. Like Smalltalk, it is dynamically typed (as opposed to Java or C++), but unlike Smalltalk, Ruby features the same conveniences found in modern scripting languages such as Perl and Python.
The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of intelligent, forward-thinking programmers.
The Pickaxe contains four major sections:
An acclaimed tutorial on using Ruby.
The definitive reference to the language.
Complete documentation of all built-in classes, modules, and methods.
Complete descriptions of all 97 standard libraries.
This is the reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9, 1.9.2, 1.9.3, and 2.0¹). It also includes all the new and changed syntax and semantics introduced since Ruby 1.8. Learn about the new parameter passing rules, local variable scoping in blocks, fibers, and the new block declaration syntax, among other exciting new features.
About Ruby 2.0
Ruby 2.0 is a minor update to Ruby 1.9, unlike the more major updates from Ruby 1.8 to Ruby 1.9.
The major language changes in Ruby 2.0 are the addition of keyword arguments and the change to use UTF-8 as the default source file encoding.
There are a number of additions to the standard library, including:
Enumerator::Lazy, which adds support for lazy access to potentially infinite lists.
Refinements allow you to encapsulate changes to third-party classes, and scope their application to individual source files, preventing your changes from polluting the global application.
You’ll also find that Ruby 2 is faster, and has memory management improvements that make it more server-friendly.
All told, there are over 110 sections of the book that have been flagged and cross-linked to indicate 2.0 content.
What You Need
This book assumes you have a basic understanding of object-oriented programming.
In general, Ruby programmers tend to favor the the command line for running their code, and they tend to use text editors rather than IDEs.
Ruby runs on Windows, Linux, and Macs.
Programming Ruby [图书] Goodreads 豆瓣
作者: Dave Thomas / Chad Fowler 出版社: Pragmatic Bookshelf 2004 - 10
Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the scene in the Western world, the Pragmatic Programmers were there with the definitive reference manual, Programming Ruby: The Pragmatic Programmer's Guide.
Now in its Second Edition, author Dave Thomas has expanded the famous Pickaxe book with over 200 pages of new content, covering all the new and improved language features of Ruby 1.8 and standard library modules. The Pickaxe contains four major sections: An acclaimed tutorial on using Ruby. The definitive reference to the language. Complete documentation on all built-in classes, modules, and methods Complete descriptions of all 98 standard libraries.
If you enjoyed the First Edition, you'll appreciate the new and expanded content, including: enhanced coverage of installation, packaging, documenting Ruby source code, threading and synchronization, and enhancing Ruby's capabilities using C-language extensions. Programming for the world-wide web is easy in Ruby, with new chapters on XML/RPC, SOAP, distributed Ruby, templating systems and other web services. There's even a new chapter on unit testing.
This is the definitive reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including more than 250 significant changes since the First Edition). Coverage of other features has grown tremendously, including details on how to harness the sophisticated capabilities of irb, so you can dynamically examine and experiment with your running code. "Ruby is a wonderfully powerful and useful language, and whenever I'm working with it this book is at my side" --Martin Fowler, Chief Scientist, ThoughtWorks
Programming Elixir 1.3 [图书] 豆瓣
作者: Dave Thomas 出版社: The Pragmatic Bookshelf 2016 - 11
Functional programming techniques help you manage the complexities of today’s real-world, concurrent systems; maximize uptime; and manage security. Enter Elixir, with its modern, Ruby-like, extendable syntax, compile and runtime evaluation, hygienic macro system, and more. But, just as importantly, Elixir brings a sense of enjoyment to parallel, functional programming. Your applications become fun to work with, and the language encourages you to experiment.
Part 1 covers the basics of writing sequential Elixir programs. We’ll look at the language, the tools, and the conventions. Part 2 uses these skills to start writing concurrent code—applications that use all the cores on your machine, or all the machines on your network! And we do it both with and without OTP. Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax.
This edition is fully updated with all the new features of Elixir 1.3, with a new chapter on Tooling, covering testing (both conventional and property based), code and dependency exploration, and server monitoring.
By the end of this book, you’ll understand Elixir, and know how to apply it to solve your complex, modern problems.
Agile Web Development with Rails 4 [图书] 豆瓣
作者: Sam Ruby / Dave Thomas 出版社: Pragmatic Bookshelf 2013 - 10
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details.
Tens of thousands of developers have used this award-winning book to learn Rails. It’s a broad, far-reaching tutorial and reference that’s recommended by the Rails core team. If you’re new to Rails, you’ll get step-by-step guidance. If you’re an experienced developer, this book will give you the comprehensive, insider information you need.
Rails has evolved over the years, and this book has evolved along with it. We still start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. This edition now gives new Ruby and Rails users more information on the Ruby language and takes more time to explain key concepts throughout. Best practices on how to apply Rails continue to change, and this edition keeps up. Examples use Concerns, Russian Doll caching, and Turbolinks, and the book focuses throughout on the right way to use Rails. Additionally, this edition now works on Ruby 2.0, a new release of Ruby with substantial functional and performance improvements.
This edition is for Rails4.0 and beyond.
Pragmatic Unit Testing in Java 8 with JUnit [图书] 豆瓣
Pragmatic Unit Testing in Java 8 with JUnit
作者: Jeff Langr / Andy Hunt 出版社: Pragmatic Bookshelf 2015 - 3
The Pragmatic Programmers classic is back! Freshly updated for modern software development, Pragmatic Unit Testing in Java 8 With JUnit teaches you how to write and run easily maintained unit tests in JUnit with confidence. You'll learn mnemonics to help you know what tests to write, how to remember all the boundary conditions, and what the qualities of a good test are. You'll see how unit tests can pay off by allowing you to keep your system code clean, and you'll learn how to handle the stuff that seems too tough to test.
Pragmatic Unit Testing in Java 8 With JUnit steps you through all the important unit testing topics. If you've never written a unit test, you'll see screen shots from Eclipse, IntelliJ IDEA, and NetBeans that will help you get past the hard part--getting set up and started.
Once past the basics, you'll learn why you want to write unit tests and how to effectively use JUnit. But the meaty part of the book is its collected unit testing wisdom from people who've been there, done that on production systems for at least 15 years: veteran author and developer Jeff Langr, building on the wisdom of Pragmatic Programmers Andy Hunt and Dave Thomas. You'll learn:
How to craft your unit tests to minimize your effort in maintaining them.
How to use unit tests to help keep your system clean.
How to test the tough stuff.
Memorable mnemonics to help you remember what's important when writing unit tests.
How to help your team reap and sustain the benefits of unit testing.
You won't just learn about unit testing in theory--you'll work through numerous code examples. When it comes to programming, hands-on is the only way to learn!
Agile Web Development with Rails (4th edition) [图书] 豆瓣
作者: Sam Ruby / Dave Thomas 出版社: Pragmatic Bookshelf 2011 - 3
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details.
Tens of thousands of developers have used this award-winning book to learn Rails. It's a broad, far-reaching tutorial and reference that's recommended by the Rails core team. If you're new to Rails, you'll get step-by-step guidance. If you're an experienced developer, this book will give you the comprehensive, insider information you need.
Rails has evolved over the years, and this book has evolved along with it. We still start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. This edition now gives new Ruby and Rails users more information on the Ruby language and takes more time to explain key concepts throughout. Best practices on how to apply Rails continue to change, and this edition keeps up. Examples use cookie backed sessions, HTTP authentication, and Active Record-based forms, and the book focuses throughout on the right way to use Rails. Additionally, this edition now reflects Ruby 1.9, a new release of Ruby with substantial functional and performance improvements.
Web开发敏捷之道 [图书] 豆瓣
作者: Sam Ruby / Dave Thomas 译者: 林芷薰 译 / 透明 审校 出版社: 电子工业出版社 2010 - 7
全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“Rails框架”部分中,作者深入介绍了Rails框架的各个组件。
除了上述两部分外,对Rails缺乏了解的读者应该首先阅读“起步”部分,通过一个最简单的应用示例感性了解这个时下热门的web框架。不熟悉Ruby的读者应该阅读“附录”部分中的“Ruby简介”,以便了解Ruby的基本语法与常见用法。
本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前两版的内容架构基础上,第3版增加了对Rails 2中新特性和最佳实践的内容介绍。相比第2版中的内容,Rails 2增加了REST、资源、轻量级web service等新特性。本书涵盖了这些全新的内容,因此能更好地体现出Rails框架的发展现状。
整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了web应用开发中各方面的相关知识,堪称一部内容全面而又深入浅出的佳作。
Elixir 程序设计 [图书] 豆瓣
Programming Elixir
作者: Dave Thomas 译者: 杜万 / 黄明信 出版社: 电子工业出版社 2016 - 3
在了解 Elixir 前,在网上看到一些评论说, Elixir 其实就是用 Ruby 的语法来编写 Erlang 程序。其实不然。真正玩了 Elixir 之后,就会发现这纯属幻觉。因为 Elixir 相对于 Ruby 使用了截然不同的语言范式——函数式编程。两者在编程思想上相距甚远。如果说它看似 Ruby ,也仅仅是 Elixir 设计者 José Valim ,一个 Ruby 开发者的情怀使然罢了。 Elixir 只是在 Erlang 之上加入的一层语法糖,在不改变 Erlang 开发实践的基础上,还能重用已有的 Erlang 代码。然而这层小小的语法糖却给内心坚若磐石但语法苦涩难懂的 Erlang 增添了一副平易近人的外表。虽然函数式编程并非新鲜事物,而 Elixir 则让函数式编程更现代化。
原著作者就是 15 年前编写了 Programming Ruby ,将 Ruby 带入大众视野的 Dave Thomas 。他延续了一贯的写作风格,以一个拥有面向对象的开发经历但并未接触过函数式编程的开发者的角度切入,循序渐进地带领读者进入 Elixir 的奇妙世界。通过一步步的实验探索,引导读者逐步跳出已有的编程思维模式,以全新的函数式编程方式来思考及寻找解决实际问题的办法。然而本书并不像 Programming Ruby 那样面面俱到,而是通过给读者讲述基本的 Elixir 语法和编程思想,同时提供许多有用的资源,启发读者继续深入探索。这才是学习一门新语言的乐趣所在。
The Pragmatic Programmer: From Journeyman to Master [图书]
The Pragmatic Programmer: From Journeyman to Master
作者: Andy Hunt / Dave Thomas 出版社: Addison-Wesley Professional 1999 - 10
Straight from the programming trenches,
cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging 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; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies,
illustrates the best practices 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.
版本控制之道 [图书] 豆瓣
Pragmatic Version Control Using CVS
作者: Dave Thomas / Andy Hunt 译者: 陈伟柱 出版社: 电子工业出版社 2005 - 5
《程序员修炼三部曲:版本控制之道:使用CVS》编辑推荐:《程序员修炼三部曲》是一套由四本小册子组成的丛书,旨在帮助解决程序员在日常工作中遇到的一些具体问题和需要,覆盖了对于现代软件开发非常重要的基础性知识。这套丛书不仅展现了注重实效的实际技巧、工具使用,也贯穿了作者们在其名作《程序员修炼之道:从小工到专家》中所坚持的开发哲学。而所有这些,都是帮助开发人员和开发团队进行正常开发,并带来高开发效率的利器。