RSpec EssentialsThis book will teach you how to use RSpec to write high-value tests for real-world code. We start with the key concepts of the unit and testability, followed by hands-on exploration of key features. From the beginning, we learn how to integrate tests into the overall development process to help create high-quality code, avoiding the dangers of testing for its own sake.
We build up sample applications and their corresponding tests step by step, from simple beginnings to more sophisticated versions that include databases and external web services. We devote three chapters to web applications with rich JavaScript user interfaces, building one from the ground up using behavior-driven development (BDD) and test-driven development (TDD).
The code examples are detailed enough to be realistic while simple enough to be easily understood. Testing concepts, development methodologies, and engineering tradeoffs are discussed in detail as they arise. This approach is designed to foster the rea ...
Sails.js EssentialsSails.js makes it easy to build custom, enterprise-grade Node.js apps. It is designed to emulate the familiar MVC pattern of frameworks, but with support for the requirements of modern apps: data-driven APIs with a scalable, service-oriented architecture.
This book will provide practical examples to get you started with Sails.js and get you develop production-ready apps in no time. We will take you from a Node.js web server and single threading system to a general MVC architecture. You will then learn to develop applications that you might be already familiar with using Sails.js. Finally, we will show you how to create a chat app and a to-do application, and improve code quality using JSHINT and JSCS. ...
SAP Project Management PitfallsMaster the SAP product ecosystem, the client environment, and the feasibility of implementing critical business process with the required technical and functional configuration. SAP Project Management Pitfalls is the first book to provide you with real examples of the pitfalls that you can avoid, providing you with a road-map to a successful implementation.
Jay Kay, a SAP Program Manager for Capgemini, first takes a deep dive into common pitfalls in implementing SAP ERP projects in a complex IT landscape. You will learn about the potential causes of failures, study a selection of relevant project implementation case studies in the area, and see a range of possible countermeasures. Jay Kay also provides background on each - the significance of each implementation area, its relevance to a service company that implements SAP projects, and the current state of research. ...
Securing PHP AppsSecure your PHP-based web applications with this compact handbook. You'll get clear, practical and actionable details on how to secure various parts of your PHP web application. You'll also find scenarios to handle and improve existing legacy issues.
Is your PHP app truly secure? Let's make sure you get home on time and sleep well at night. Learn the security basics that a senior developer usually acquires over years of experience, all condensed down into one quick and easy handbook. Do you ever wonder how vulnerable you are to being hacked? Do you feel confident about storing your users' sensitive information? Imagine feeling confident in the integrity of your software when you store your users' sensitive data. No more fighting fires with lost data, no more late nights, your application is secure.
Well, this short book will answer your questions and give you confidence in being able to secure your and other PHP web apps. ...
tmux 2You have a database console, web server, test runner, and text editor running at the same time, but switching between them and trying to find what you need takes up valuable time and breaks your concentration. By using tmux 2.3, you can improve your productivity and regain your focus. This book will show you how.
This second edition includes many features requested by readers, including how to integrate plugins into your workflow, how to integrate tmux with Vim for seamless navigation - oh, and how to use tmux on Windows 10.
Use tmux to manage multiple terminal sessions in a single window using only your keyboard. Manage and run programs side by side in panes, and create the perfect development environment with custom scripts so that when you're ready to work, your programs are waiting for you. Manipulate text with tmux's copy and paste buffers, so you can move text around freely between applications. Discover how easy it is to use tmux to collaborate remotely with others, and ex ...
Test-Driving JavaScript ApplicationsDesign and code JavaScript applications with automated tests. Writing meaningful tests is a skill that takes learning, some unlearning, and a lot of practice, and with this book, you'll hone that skill. Fire up the editor and get hands-on through practical exercises for effective automated testing and designing maintainable, modular code.
Start by learning when and why to do manual testing vs. automated verification. Focus tests on the important things, like the pre-conditions, the invariants, complex logic, and gnarly edge cases. Then begin to design asynchronous functions using automated tests. Carefully decouple and mock out intricate dependencies such as the DOM, geolocation API, file and database access, and Ajax calls to remote servers.
Step by step, test code that uses Node.js, Express, MongoDB, jQuery, and AngularJS. Know when and how to use tools such as Chai, Istanbul, Karma, Mocha, Protractor, and Sinon. Create tests with minimum effort and run them fast without having ...
Programming Clojure, 3rd EditionClojure joins the flexibility and agility of Lisp with the reach, stability, and performance of Java. Combine Clojure's tools for maximum effectiveness as you work with immutable data, functional programming, and safe concurrency to write programs that solve real-world problems.
Start by reading and understanding Clojure syntax and see how Clojure is evaluated. From there, find out about the sequence abstraction, which combines immutable collections with functional programming to create truly reusable data transformation code. Clojure is a functional language; learn how to write programs in a functional style, and when and how to use recursion to your advantage. Discover Clojure's unique approach to state and identity, techniques for polymorphism and open systems using multimethods and protocols, and how to leverage Clojure's metaprogramming capabilities via macros. Finally, put all the pieces together in a real program.
New to this edition is coverage of Clojure's spec library, ...
Learn Functional Programming with ElixirFunctional programming offers useful techniques for building maintainable and scalable software that solves today's difficult problems. The demand for software written in this way is increasing - you don't want to miss out. In this book, you'll not only learn Elixir and its features, you'll also learn the mindset required to program functionally. Elixir's clean syntax is excellent for exploring the critical skills of using functions and concurrency.
Start with the basic techniques of the functional way: working with immutable data, transforming data in discrete steps, and avoiding side effects. Next, take a deep look at values, expressions, functions, and modules. Then extend your programming with pattern matching and flow control with case, if, cond, and functions. Use recursive functions to create iterations. Work with data types such as lists, tuples, and maps. Improve code reusability and readability with Elixir's most common high-order functions. Explore how to use lazy computa ...
Reactive Programming with RxJS 5Create concurrent applications with ease using RxJS 5, a powerful event composition library. Real-world JavaScript applications require you to master asynchronous programming, and chances are that you'll spend more time coordinating asynchronous events than writing actual functionality. This book introduces concepts and tools that will greatly simplify the process of writing asynchronous programs.
Find out about Observables, a unifying data type that simplifies concurrent code and eases the pain of callbacks. Learn how Schedulers change the concept of time itself, making asynchronous testing sane again. Find real-world examples for the browser and Node.js along the way: how about a real-time earthquake visualization in 20 lines of code, or a frantic shoot-em-up space videogame? You'll also use Cycle.js - a modern, reactive, web framework - to make a new breed of web applications.
By the end of the book, you'll know how to think in a reactive way, and how to use RxJS 5 to build co ...
Troubleshooting Windows Server with PowerShellThis book shows you how to use PowerShell to quickly pinpoint, diagnose, and solve problems with your Windows Server environment, reducing the need for external tools, and ensuring you stay up-to-date with PowerShell as it quickly becomes one of the most useful tools in an administrator's toolkit.
Authors Derek Schauland and Donald Jacobs take you through a range of examples, showing you how to gather information from different computer sources. Whether you are logged into the server locally or just wanting to check the status of a server from your local computer, the right PowerShell cmdlets can give you a lot of information quickly, and allow you to troubleshoot your servers from the command line with little interaction with the server's desktop. ...