Learn Enough Developer Tools to Be Dangerous: Command Line, Text Editor, and Git Version Control Essentials, 1st edition

Published by Addison-Wesley Professional (May 6, 2022) © 2022

  • Michael Hartl

eTextbook

$37.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$31.99

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
All You Need to Know, and Nothing You Don't, About Core Tools for Software Development
Three of the core tools needed for modern software development are the Unix command line, a text editor, and version control with Git. But you don't need to learn "everything" about them, just how to use them efficiently to solve real problems. In Learn Enough Developer Tools to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need so you can learn to write apps, get hired, collaborate, and maybe even launch your own company.
Even if you've never used (or even heard of) these tools before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Focused exercises help you internalize what matters, without wasting time on details pros don't care about. Soon, it'll be like you were born knowing this stuff--and you'll be suddenly, seriously dangerous.
Learn enough about . . .
  • Running a terminal, entering and editing commands, and using man pages
  • Manipulating and inspecting files: from basic copying to finding patterns
  • Organizing files with directories
  • Learning Minimum Viable Vim
  • Basic and advanced editing techniques with editors like Atom and VS Code
  • Using the human-readable Markdown language for writing quick documentation
  • Formatting source code and writing executable scripts
  • Getting started with Git and GitHub
  • Using key Git workflows: commit, push, branch, merge, and more
  • Collaborating on Git projects and resolving code conflicts
  • Setting up dev environments: macOS, Linux, Windows, and cloud
Michael Hartl's Learn Enough series includes books and video courses that focus on the most important parts of each subject, so you don't have to learn everything to get started--you just have to learn enough to be dangerous and solve technical problems yourself.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
  • All the concepts, skills, and approaches students need, without the obscure details they don't need
  • Focused exercises and behind-the-scenes insights—all in full color
  • Prepares students to collaborate with developers and succeed on development teams
Preface xiii
About the Author xix

Part I: Command Line 1

Chapter 1: Basics 3
1.1 Introduction 5
1.2 Running a Terminal 6
1.3 Our First Command 10
1.4 Man Pages 15
1.5 Editing the Line 20
1.6 Cleaning Up 23
1.7 Summary 24

Chapter 2: Manipulating Files 25
2.1 Redirecting and Appending 26
2.2 Listing 30
2.3 Renaming, Copying, Deleting 35
2.4 Summary 40

Chapter 3: Inspecting Files 43
3.1 Downloading a File 43
3.2 Making Heads and Tails of It 46
3.3 Less Is More 49
3.4 Grepping 52
3.5 Summary 58

Chapter 4: Directories 61
4.1 Directory Structure 61
4.2 Making Directories 64
4.3 Navigating Directories 66
4.4 Renaming, Copying, and Deleting Directories 70
4.5 Summary 74
4.6 Conclusion 75

Part II: Text Editor 77

Chapter 5: Introduction to Text Editors 79
5.1 Minimum Viable Vim 84
5.2 Starting Vim 85
5.3 Editing Small Files 89
5.4 Saving and Quitting Files 91
5.5 Deleting Content 96
5.6 Editing Large Files 97
5.7 Summary 101

Chapter 6: Modern Text Editors 103
6.1 Choosing a Text Editor 104
6.2 Opening 106
6.3 Moving 117
6.4 Selecting Text 119
6.5 Cut, Copy, Paste 127
6.6 Deleting and Undoing 132
6.7 Saving 135
6.8 Finding and Replacing 138
6.9 Summary 143

Chapter 7: Advanced Text Editing 145
7.1 Autocomplete and Tab Triggers 145
7.2 Writing Source Code 152
7.3 Writing an Executable Script 166
7.4 Editing Projects 175
7.5 Customization 188
7.6 Summary 191
7.7 Conclusion 193

Part III: Git 195

Chapter 8: Getting Started with Git 197
8.1 Installation and Setup 200
8.2 Initializing the Repo 203
8.3 Our First Commit 204
8.4 Viewing the Diff 208
8.5 Adding an HTML Tag 210
8.6 Adding HTML Structure 216
8.7 Summary 220

Chapter 9: Backing Up and Sharing 221
9.1 Signing Up for GitHub 221
9.2 Remote Repo 222
9.3 Adding a README 227
9.4 Summary 234

Chapter 10: Intermediate Workflow 235
10.1 Commit, Push, Repeat 235
10.2 Ignoring Files 241
10.3 Branching and Merging 243
10.4 Recovering from Errors 252
10.5 Summary 258

Chapter 11: Collaborating 259
11.1 Clone, Push, Pull 260
11.2 Pulling and Merge Conflicts 269
11.3 Pushing Branches 283
11.4 A Surprise Bonus 292
11.5 Summary 295
11.6 Advanced Setup 296
11.7 Conclusion 302

Appendix: Development Environment 305
A.1 Dev Environment Options 306
A.2 Cloud IDE 307
A.3 Native OS Setup 312
A.4 Conclusion 322

Index 323
Michael Hartl created the legendary Ruby on Railsâ„¢ Tutorial that helped jumpstart thousands of web development careers. A cofounder and principal author at Learn Enough, Hartl previously earned a Ph.D. in physics at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is also an alumnus of Harvard University and the world-renowned Y Combinator entrepreneur program.

Need help? Get in touch

Learning to code? Learn Enough is based on the idea that you don't have to learn everything about tech to get started—you just have to learn enough to be dangerous.

While each of these books will stand alone, the approach throughout the series is to teach how to hit the ground running while learning technical sophistication that the authors define as: "An essential aspect of using computers is the ability to figure things out and troubleshoot on your own—or technical sophistication. Developing technical sophistication means not only following systematic tutorials... but also knowing when it's time to break free of a structured presentation and just start googling around for a solution." These books and videos demonstrate how to put the tools, code, and a knowledge of the development environment together as an integrated whole, gaining an understanding of a particular ecosystem with a clear path to immediate, savvy productivity. These materials are not full of hello-world examples, but take advantage of the latest, streamlined tools and best practices for front and back-end web developers to quickly build simple yet real-world applications that can launch immediately.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â