Creating Development Environments with Vagrant - Second Edition


Book Description

If you are a developer who wants to have your development environment accurately reflect your live servers to tackle the ever-increasing complexity of web and software projects, this book is most certainly intended for you! It's assumed that you know the basics of Linux systems in the context of web-based projects.




Mastering Ansible


Book Description

Design, develop, and solve real world automation and orchestration needs by unlocking the automation capabilities of Ansible About This Book Discover how Ansible works in detail Explore use cases for Ansible's advanced features including task delegation, fast failures, and serial task execution Extend Ansible with custom modules, plugins, and inventory sources Who This Book Is For This book is intended for Ansible developers and operators who have an understanding of the core elements and applications but are now looking to enhance their skills in applying automation using Ansible. What You Will Learn Understand Ansible's code and logic flow Safeguard sensitive data within Ansible Access and manipulate complex variable data within Ansible playbooks Handle task results to manipulate change and failure definitions Organize Ansible content into a simple structure Craft a multi-tier rollout playbook utilizing load balancers and manipulating your monitoring system Utilize advanced Ansible features to orchestrate rolling updates with almost no service disruptions Troubleshoot Ansible failures to understand and resolve issues Extend Ansible with custom modules, plugins, or inventory sources In Detail Automation is critical to success in the world of DevOps. How quickly and efficiently an application deployment can be automated, or a new infrastructure can be built up, can be the difference between a successful product or a failure. Ansible provides a simple yet powerful automation engine. Beyond the basics of Ansible lie a host of advanced features which are available to help you increase efficiency and accomplish complex orchestrations with ease. This book provides you with the knowledge you need to understand how Ansible works at a fundamental level and leverage its advanced capabilities. You'll learn how to encrypt Ansible content at rest and decrypt data at runtime. You will master the advanced features and capabilities required to tackle the complex automation challenges of today and beyond. You will gain detailed knowledge of Ansible workflows, explore use cases for advanced features, craft well thought out orchestrations, troubleshoot unexpected behaviour, and extend Ansible through customizations. Finally, you will discover the methods used to examine and debug Ansible operations, helping you to understand and resolve issues. Style and approach A clear, practical guide that covers best practise, system architecture and design aspects that will help you master Ansible with ease.




Test-Driven Java Development, Second Edition


Book Description

This book will teach the concepts of test driven development in Java so you can build clean, maintainable and robust code Key Features Explore the most popular TDD tools and frameworks and become more proficient in building applications Create applications with better code design, fewer bugs, and higher test coverage, enabling you to get them to market quickly Implement test-driven programming methods into your development workflows Book Description Test-driven development (TDD) is a development approach that relies on a test-first procedure that emphasizes writing a test before writing the necessary code, and then refactoring the code to optimize it.The value of performing TDD with Java, one of the longest established programming languages, is to improve the productivity of programmers and the maintainability and performance of code, and develop a deeper understanding of the language and how to employ it effectively. Starting with the basics of TDD and understanding why its adoption is beneficial, this book will take you from the first steps of TDD with Java until you are confident enough to embrace the practice in your day-to-day routine.You'll be guided through setting up tools, frameworks, and the environment you need, and we will dive right into hands-on exercises with the goal of mastering one practice, tool, or framework at a time. You'll learn about the Red-Green-Refactor procedure, how to write unit tests, and how to use them as executable documentation.With this book, you'll also discover how to design simple and easily maintainable code, work with mocks, utilize behavior-driven development, refactor old legacy code, and release a half-finished feature to production with feature toggles.You will finish this book with a deep understanding of the test-driven development methodology and the confidence to apply it to application programming with Java. What you will learn Explore the tools and frameworks required for effective TDD development Perform the Red-Green-Refactor process efficiently, the pillar around which all other TDD procedures are based Master effective unit testing in isolation from the rest of your code Design simple and easily maintainable code by implementing different techniques Use mocking frameworks and techniques to easily write and quickly execute tests Develop an application to implement behavior-driven development in conjunction with unit testing Enable and disable features using feature toggles Who this book is for If you're an experienced Java developer and want to implement more effective methods of programming systems and applications, then this book is for you.




Vagrant: Up and Running


Book Description

Discover why Vagrant is a must-have tool for thousands of developers and ops engineers. This hands-on guide shows you how to use this open source software to build a virtual machine for any purpose—including a completely sandboxed, fully provisioned development environment right on your desktop. Vagrant creator Mitchell Hashimoto shows you how to share a virtual machine image with members of your team, set up a separate virtualization for each project, and package virtual machines for use by others. This book covers the V1 (1.0.x) configuration syntax running on top of a V2 (1.1+) core, the most stable configuration format running on the latest core. Build a simple virtual machine with just two commands and no configuration Create a development environment that closely resembles production Automate software installation and management with shell scripts, Chef, or Puppet Set up a network interface to access your virtual machine from any computer Use your own editor and browser to develop and test your applications Test complicated multi-machine clusters with a single Vagrantfile Change Vagrant’s default operating system to match your production OS Extend Vagrant features with plugins, including components you build yourself




Vagrant Virtual Development Environment Cookbook


Book Description

If you are a software developer or administrator who wishes to create simple, reusable environments using Vagrant, this book is the perfect choice for you. Whether you are a system administrator with extensive experience in virtualization or a developer wishing to create development scripts for cloud deployment, you will find easy-to-follow recipes and techniques in this book that will allow you to create robust and reproducible virtual environments.




Performance Testing with JMeter - Second Edition


Book Description

This book is great for developers, quality assurance engineers, testers, and test managers new to Apache JMeter, or those who are looking to get a good grounding in how to effectively use and become proficient with JMeter. No prior testing experience is required.




Chef Infrastructure Automation Cookbook - Second Edition


Book Description

This book is for system engineers and administrators who have a fundamental understanding of information management systems and infrastructure. It helps if you've already played around with Chef; however, this book covers all the important topics you will need to know. If you don't want to dig through a whole book before you can get started, this book is for you, as it features a set of independent recipes you can try out immediately.




Magento PHP Developer's Guide


Book Description

In the world of e-commerce, there are dozens of tools available to use in custom web design and development. Out of all of these options, Magento is the web's fastest growing e-commerce platform. Its architecture makes it possible to extend the functionalities using plugins, which are shared by the community, extensively. This book is a practical guide packed with examples so developers can understand its fundamental concepts and then start developing and testing Magento code. The book starts by building your knowledge of Magento, providing you with the techniques and tools you require to start your first Magento development. You will then learn to work with data collections and the EAV system, before gradually moving on to extending the frontend and backend. You will learn all about deploying and distributing custom modules. This book will help you navigate your way around your first Magento developments, helping you to avoid all of the most common headaches that new developers face when first getting started.




Security for Web Developers


Book Description

As a web developer, you may not want to spend time making your web app secure, but it definitely comes with the territory. This practical guide provides you with the latest information on how to thwart security threats at several levels, including new areas such as microservices. You’ll learn how to help protect your app no matter where it runs, from the latest smartphone to an older desktop, and everything in between. Author John Paul Mueller delivers specific advice as well as several security programming examples for developers with a good knowledge of CSS3, HTML5, and JavaScript. In five separate sections, this book shows you how to protect against viruses, DDoS attacks, security breaches, and other nasty intrusions. Create a security plan for your organization that takes the latest devices and user needs into account Develop secure interfaces, and safely incorporate third-party code from libraries, APIs, and microservices Use sandboxing techniques, in-house and third-party testing techniques, and learn to think like a hacker Implement a maintenance cycle by determining when and how to update your application software Learn techniques for efficiently tracking security threats as well as training requirements that your organization can use




Practical XMPP


Book Description

Unleash the power of XMPP in order to build exciting, real-time, federated applications based on open standards in a secure and highly scalable fashion About This Book Learn about the fundamentals of XMPP and be able to work with the core functionality both server-side and in the browser Build a simple 1-to-1 chat (the “Hello World” of XMPP), explore multi-user chat, publish subscribe systems, and work with a decentralized social network Author Lloyd Watkins is a member of the XMPP standards committee Who This Book Is For If you want to learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser then this book is for you.No knowledge of XMPP is required, or of TCP/IP networking. It's important that you already know how to build applications of some form, and are looking get a better understanding of how to implement XMPP for one or more of its many uses. You should be interested in the decentralized web, know HTML, and likely know JavaScript and NodeJS. You will probably know JSON, and hopefully XML (this is the native output of XMPP). What You Will Learn Install and configure an XMPP server and use it to connect from a traditional desktop client and send a message Build a simple server-side application that will respond to messages from our logged in desktop client Install and run XMPP-FTW, connect to the server from the browser, and handle incoming/outgoing messages Connect to a multi-user chat room, send/receive stanzas, add a room password, join a protected room, set the room's subject, and change a user's affiliation Get to grips with the publish-subscribe extension of XMPP and use it to build a pusher system that can make any website real-time Build a simple XMPP component and create an extension for XMPP-FTW that allows you to use your own custom format Build an XMPP version of the classic game “Pong” In Detail XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications. Style and approach Through a number of hands-on projects, this book shows you how to build usable applications that highlights a feature of XMPP.