Whether you're relatively new to git or you need a refresher, or if you just need a quick, handy reference for common tasks in git, Git Recipes is just the reference book you need. With recipes to cover any task you can think of, including working with GitHub and git on BitBucket, Git Recipes shows you how to work with large repositories, new repositories, forks, clones, conflicts, differences, and it even gives you practical scenarios you may find yourself dealing with while using git. If you work with Git at all, you need this hands-on, practical reference for all things Git.
A series of practical recipes to simplify the Git learning experience and increase your productivity when using Git version control Key Features Explore practical recipes to use Git’s most advanced features Learn how Git references its objects and how history is recorded Use reflog and git fsck to recover lost information Book Description Git is one of the most popular tools for versioning. Git Version Control Cookbook builds on the success of the previous edition and provides you with an up-to-date guide to solving problems related to versioning. You’ll start by learning about the Git data model and how it stores files and looks at commits. By using simple commands, you’ll learn how to navigate through the database. Once you have accustomed yourself to the basics, you’ll explore techniques to configure Git with comprehensive examples and configuration targets. You’ll gain insights into improving your understanding of branches and recovery from mistakes — right from committing to a wrong branch to recovering lost commits or files. You’ll then move on to discovering the features that Git rebase has to offer and use regular Git merge on other branches. You’ll explore Git notes and learn how to utilize the update, list, and search commands. In addition to this, you’ll learn how to extract metadata from repositories and automate your daily tasks using Git hooks. You’ll then study in detail repository maintenance, patching, and offline sharing. By the end of the book, you’ll have grasped various tips and tricks for everyday usage, while increasing your knowledge of Git providers, integrations, and clients. What you will learn Understand the Git data model and use commands to navigate the database Find out how you can recover lost commits or files Force a rebase on some branches and use regular Git to merge on the rest Master the techniques required to extract metadata from repositories Explore Git notes and learn about the various features that it offers See how to decode different subcommands Who this book is for The Git Version Control Cookbook is for you if you are a developer or Build Release manager looking for a full-fledged practical guide that will take your Git knowledge to the next level. Basic knowledge of GNU tools and shell or bash scripting is needed.
The introduction of functional programming concepts in Java SE 8 was a drastic change for this venerable object-oriented language. Lambda expressions, method references, and streams fundamentally changed the idioms of the language, and many developers have been trying to catch up ever since. This cookbook will help. With more than 70 detailed recipes, author Ken Kousen shows you how to use the newest features of Java to solve a wide range of problems. For developers comfortable with previous Java versions, this guide covers nearly all of Java SE 8, and includes a chapter focused on changes coming in Java 9. Need to understand how functional idioms will change the way you write code? This cookbook—chock full of use cases—is for you. Recipes cover: The basics of lambda expressions and method references Interfaces in the java.util.function package Stream operations for transforming and filtering data Comparators and Collectors for sorting and converting streaming data Combining lambdas, method references, and streams Creating instances and extract values from Java’s Optional type New I/O capabilities that support functional streams The Date-Time API that replaces the legacy Date and Calendar classes Mechanisms for experimenting with concurrency and parallelism
Modern web development is so much more than just HTML and CSS with a little JavaScript mixed in. People want faster, more usable interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you over 40 concise solutions to today's web development problems, and introduces new solutions that will expand your skill set---proven, practical advice from authors who use these tools and techniques every day. In this completely updated edition, you'll find innovative new techniques and workflows, as well as reworked solutions that take advantage of new developments. Web development is constantly changing, and you need to stay on top of your game. Discover a wide spectrum of web development techniques, from how to improve the way you present content, to solutions for data analysis, testing, and deployment. In this edition we introduce new tools, add new recipes, and modernize old ones. You'll use Vagrant to automate server setup, and you'll discover new ways to develop blogs and static sites. You'll learn how to use Grunt to script the deployment of your web project, and use Angular to build a single-page app. You'll learn how to make content stand out with simple cross-browser styles; create animations that work well everywhere without plugins; and create lightweight, responsive layouts. We'll show you how to use preprocessors like CoffeeScript and Sass; write tests for your code; use Git and Dropbox to collaborate; configure and secure the Apache web server; use virtualization to set up your own servers automatically; and much more. Whether you're new to front-end development, or you've got a few years of experience, you'll become a more versatile developer by finding out how---and why---to use these solutions in your next project. What You Need: Your favorite text editor, the most current version of Mozilla Firefox, Internet Explorer, Google Chrome or Safari, and a working knowledge of HTML and JavaScript. Familiarity with command-line interfaces is a plus.
Why are so many companies adopting GitOps for their DevOps and cloud native strategy? This reliable framework is quickly becoming the standard method for deploying apps to Kubernetes. With this practical, developer-oriented book, DevOps engineers, developers, IT architects, and SREs will learn the most useful recipes and examples for following GitOps practices. Through their years of experience in application modernization, CI/CD, and automation, authors Alex Soto Bueno and Natale Vinto from Red Hat walk you through all the steps necessary for successful hands-on application development and deployment with GitOps. Once you start using the recipes in this book, you'll have a head start in development cycles on Kubernetes following the GitOps approach. You'll learn how to: Develop and deploy applications on Kubernetes Understand the basics of CI/CD and automation on Kubernetes, and apply GitOps practices to implement development cycles on the platform Prepare the app for deployment on multiple environments and/or multiple Kubernetes clusters Deploy apps for either multiple environments using GitOps and Argo CD, or for Kubernetes clusters Create Kubernetes-native pipelines with Tekton Provide and extend DevOps skills for the team working on Kubernetes Use progressive delivery to put your applications into production
This book is aimed at developers and devops that have a GitLab server running, and want to be sure they use it to its full potential. This book will also be useful for people looking for a great Git platform, and learn how to set it up successfully. Some system administrating experience on a UNIX-based system would be useful, but is not required.
Intended to anyone interested in numerical computing and data science: students, researchers, teachers, engineers, analysts, hobbyists... Basic knowledge of Python/NumPy is recommended. Some skills in mathematics will help you understand the theory behind the computational methods.
Learn to use IPython and Jupyter Notebook for your data analysis and visualization work. Key Features Leverage the Jupyter Notebook for interactive data science and visualization Become an expert in high-performance computing and visualization for data analysis and scientific modeling A comprehensive coverage of scientific computing through many hands-on, example-driven recipes with detailed, step-by-step explanations Book Description Python is one of the leading open source platforms for data science and numerical computing. IPython and the associated Jupyter Notebook offer efficient interfaces to Python for data analysis and interactive visualization, and they constitute an ideal gateway to the platform. IPython Interactive Computing and Visualization Cookbook, Second Edition contains many ready-to-use, focused recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code. You will apply these state-of-the-art methods to various real-world examples, illustrating topics in applied mathematics, scientific modeling, and machine learning. The first part of the book covers programming techniques: code quality and reproducibility, code optimization, high-performance computing through just-in-time compilation, parallel computing, and graphics card programming. The second part tackles data science, statistics, machine learning, signal and image processing, dynamical systems, and pure and applied mathematics. What you will learn Master all features of the Jupyter Notebook Code better: write high-quality, readable, and well-tested programs; profile and optimize your code; and conduct reproducible interactive computing experiments Visualize data and create interactive plots in the Jupyter Notebook Write blazingly fast Python programs with NumPy, ctypes, Numba, Cython, OpenMP, GPU programming (CUDA), parallel IPython, Dask, and more Analyze data with Bayesian or frequentist statistics (Pandas, PyMC, and R), and learn from actual data through machine learning (scikit-learn) Gain valuable insights into signals, images, and sounds with SciPy, scikit-image, and OpenCV Simulate deterministic and stochastic dynamical systems in Python Familiarize yourself with math in Python using SymPy and Sage: algebra, analysis, logic, graphs, geometry, and probability theory Who this book is for This book is intended for anyone interested in numerical computing and data science: students, researchers, teachers, engineers, analysts, and hobbyists. A basic knowledge of Python/NumPy is recommended. Some skills in mathematics will help you understand the theory behind the computational methods.
Since Test-Driven Infrastructure with Chef first appeared in mid-2011, infrastructure testing has begun to flourish in the web ops world. In this revised and expanded edition, author Stephen Nelson-Smith brings you up to date on this rapidly evolving discipline, including the philosophy driving it and a growing array of tools. You’ll get a hands-on introduction to the Chef framework, and a recommended toolchain and workflow for developing your own test-driven production infrastructure. Several exercises and examples throughout the book help you gain experience with Chef and the entire infrastructure-testing ecosystem. Learn how this test-first approach provides increased security, code quality, and peace of mind. Explore the underpinning philosophy that infrastructure can and should be treated as code Become familiar with the MASCOT approach to test-driven infrastructure Understand the basics of test-driven and behavior-driven development for managing change Dive into Chef fundamentals by building an infrastructure with real examples Discover how Chef works with tools such as Virtualbox and Vagrant Get a deeper understanding of Chef by learning Ruby language basics Learn the tools and workflow necessary to conduct unit, integration, and acceptance tests
Learn CMake through a series of task-based recipes that provide you with practical, simple, and ready-to-use CMake solutions for your code Key FeaturesLearn to configure, build, test, and package software written in C, C++, and FortranProgress from simple to advanced tasks with examples tested on Linux, macOS, and WindowsManage code complexity and library dependencies with reusable CMake building blocksBook Description CMake is cross-platform, open-source software for managing the build process in a portable fashion. This book features a collection of recipes and building blocks with tips and techniques for working with CMake, CTest, CPack, and CDash. CMake Cookbook includes real-world examples in the form of recipes that cover different ways to structure, configure, build, and test small- to large-scale code projects. You will learn to use CMake's command-line tools and master modern CMake practices for configuring, building, and testing binaries and libraries. With this book, you will be able to work with external libraries and structure your own projects in a modular and reusable way. You will be well-equipped to generate native build scripts for Linux, MacOS, and Windows, simplify and refactor projects using CMake, and port projects to CMake. What you will learnConfigure, build, test, and install code projects using CMakeDetect operating systems, processors, libraries, files, and programs for conditional compilationIncrease the portability of your codeRefactor a large codebase into modules with the help of CMakeBuild multi-language projectsKnow where and how to tweak CMake configuration files written by somebody elsePackage projects for distributionPort projects to CMakeWho this book is for If you are a software developer keen to manage build systems using CMake or would like to understand and modify CMake code written by others, this book is for you. A basic knowledge of C++, C, or Fortran is required to understand the topics covered in this book.