Baby Git Guidebook for Developers


Book Description

The Baby-Git Guidebook for Developers is intended to accompany the Baby-Git project created by Jacob Stopak. Baby-Git refers to the very first version of the Git codebase written by Linus Torvalds (the creator of Linux) in 2005. Baby-Git is written in the C programming language and consists of about 1,000 lines of code and a total of 7 commands, and they actually work. The simplicity and "smallness" of the code make Baby-Git the perfect codebase for curious developers to study in order to learn how the code works. The fact that arguably the most popular and important tool for collaborative software development in the history of the coding world is simple enough for a novice developer to understand directly from its initial code is really an amazing thing. This guidebook makes the learning experience even easier, by delving into Git's original C code in detail to help developers learn what makes Git tick.




Learn Git in a Month of Lunches


Book Description

Summary Learn Git in a Month of Lunches introduces the discipline of source code control using Git. Whether you're a newbie or a busy pro moving your source control to Git, you'll appreciate how this book concentrates on the components of Git you'll use every day. In easy-to-follow lessons designed to take an hour or less, you'll dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Git is the source code control system preferred by modern development teams. Its decentralized architecture and lightning-fast branching let you concentrate on your code instead of tedious version control tasks. At first, Git may seem like a sprawling beast. Fortunately, to get started you just need to master a few essential techniques. Read on! Learn Git in a Month of Lunches introduces the discipline of source code control using Git. Helpful for both newbies who have never used source control and busy pros, this book concentrates on the components of Git you'll use every day. In easy-to-follow lessons that take an hour or less, you'll dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging. This book is a road map to the commands and processes you need to be instantly productive. What's Inside Start from square one—no experience required The most frequently used Git commands Mental models that show how Git works Learn when and how to branch code About the Reader No previous experience with Git or other source control systems is required. About the Author Rick Umali uses Git daily as a developer and is a skilled consultant, trainer, and speaker. Table of Contents Before you begin An overview of Git and version control Getting oriented with Git Making and using a Git repository Using Git with a GUI Tracking and updating files in Git Committing parts of changes The time machine that is Git Taking a fork in the road Merging branches Cloning Collaborating with remotes Pushing your changes Keeping in sync Software archaeology Understanding git rebase Workflows and branching conventions Working with GitHub Third-party tools and Git Sharpening your Git




Team Geek


Book Description

In a perfect world, software engineers who produce the best code are the most successful. But in our perfectly messy world, success also depends on how you work with people to get your job done. In this highly entertaining book, Brian Fitzpatrick and Ben Collins-Sussman cover basic patterns and anti-patterns for working with other people, teams, and users while trying to develop software. This is valuable information from two respected software engineers whose popular series of talks—including "Working with Poisonous People"—has attracted hundreds of thousands of followers. Writing software is a team sport, and human factors have as much influence on the outcome as technical factors. Even if you’ve spent decades learning the technical side of programming, this book teaches you about the often-overlooked human component. By learning to collaborate and investing in the "soft skills" of software engineering, you can have a much greater impact for the same amount of effort. Team Geek was named as a Finalist in the 2013 Jolt Awards from Dr. Dobb's Journal. The publication's panel of judges chose five notable books, published during a 12-month period ending June 30, that every serious programmer should read.




Think Like a Programmer


Book Description

The real challenge of programming isn't learning a language's syntax—it's learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to: –Split problems into discrete components to make them easier to solve –Make the most of code reuse with functions, classes, and libraries –Pick the perfect data structure for a particular job –Master more advanced programming tools like recursion and dynamic memory –Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.




What They Don’T Tell You About Having a Baby


Book Description

When women give birth, the tiny beings who enter the world immediately change their lives forever. In her guidebook for new mothers, Gita Mahabir shares a humorous yet honest look at the journey of a first-time parent that not only provides valuable information about how to survive the first few months of a babys life, but also emphasizes the blessings that a child brings. Mahabir, a busy mother and wife, knows that having a baby can be fun, rewarding, and sometimes a little overwhelming. With that in mind, she offers practical tips and tools to help new mothers successfully navigate through what can be a scary time. While offering gentle encouragement, Mahabir provides a dose of reality with advice that leads mothers through the dos and donts of parenthood, including handy breastfeeding tips, reminders about celebrity comparisons, and ways to survive in public when a baby is less than cooperative. What They Dont Tell You about Having a Baby shares practical suggestions, tools, and time-tested advice for first-time mothers, providing the universal message that a new mother is never truly alone in the world.




Coding Essentials Guidebook for Developers


Book Description

The Coding Essentials Guidebook for Developers provides an overview of the core topics and tools that you'll need for a well-rounded introduction to software development. The book contains a set of accessible chapters that each cover a core programming concept, language, or tool. Topics include computer architecture, the Internet, the Command Line, HTML, CSS, JavaScript, Python, Java, SQL, Git and more. The book assumes you have no prior development experience. Whether you want to learn coding and development as a hobby or for a career, this book will kick start your journey.




Web Development with Node and Express


Book Description

Learn how to build dynamic web applications with Express, a key component of the Node/JavaScript development stack. In this hands-on guide, author Ethan Brown teaches you the fundamentals through the development of a fictional application that exposes a public website and a RESTful API. You’ll also learn web architecture best practices to help you build single-page, multi-page, and hybrid web apps with Express. Express strikes a balance between a robust framework and no framework at all, allowing you a free hand in your architecture choices. With this book, frontend and backend engineers familiar with JavaScript will discover new ways of looking at web development. Create webpage templating system for rendering dynamic data Dive into request and response objects, middleware, and URL routing Simulate a production environment for testing and development Focus on persistence with document databases, particularly MongoDB Make your resources available to other programs with RESTful APIs Build secure apps with authentication, authorization, and HTTPS Integrate with social media, geolocation, and other third-party services Implement a plan for launching and maintaining your app Learn critical debugging skills This book covers Express 4.0.




Modern Software Engineering


Book Description

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.




The Missing README


Book Description

Key concepts and best practices for new software engineers — stuff critical to your workplace success that you weren’t taught in school. For new software engineers, knowing how to program is only half the battle. You’ll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp. The Missing README fills in that gap—a distillation of workplace lessons, best practices, and engineering fundamentals that the authors have taught rookie developers at top companies for more than a decade. Early chapters explain what to expect when you begin your career at a company. The book’s middle section expands your technical education, teaching you how to work with existing codebases, address and prevent technical debt, write production-grade software, manage dependencies, test effectively, do code reviews, safely deploy software, design evolvable architectures, and handle incidents when you’re on-call. Additional chapters cover planning and interpersonal skills such as Agile planning, working effectively with your manager, and growing to senior levels and beyond. You’ll learn: How to use the legacy code change algorithm, and leave code cleaner than you found it How to write operable code with logging, metrics, configuration, and defensive programming How to write deterministic tests, submit code reviews, and give feedback on other people’s code The technical design process, including experiments, problem definition, documentation, and collaboration What to do when you are on-call, and how to navigate production incidents Architectural techniques that make code change easier Agile development practices like sprint planning, stand-ups, and retrospectives This is the book your tech lead wishes every new engineer would read before they start. By the end, you’ll know what it takes to transition into the workplace–from CS classes or bootcamps to professional software engineering.




The Mythical Man-month


Book Description

The orderly Sweet-Williams are dismayed at their son's fondness for the messy pastime of gardening.