Rails 5 Test PrescriptionsYour Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development: a process for improving the design, maintainability, and long-term viability of software.
With both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, work with popular third-party testing tools such as RSpec, Jasmine, Cucumber, and factory_bot. Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future change. Plus, see how to handle real-world testing situations.
This new edition ...
Seven Mobile Apps in Seven WeeksUnderstanding the idioms, patterns, and quirks of the modern mobile platforms gives you the power to choose how you develop. Over seven weeks you'll build seven different mobile apps using seven different tools. You'll start out with Mobile Web; develop native apps on iOS, Android, and Windows; and finish by building apps for multiple operating systems using the native cross-platform solutions RubyMotion, React Native, and Xamarin.
For each platform, you'll build simple, but non-trivial, apps that consume JSON data, run on multiple screen sizes, or store local data. You'll see how to test, how to build views, and how to structure code. You'll find out how much code it's possible to share, how much of the underlying platform you still need to know, and ultimately, you'll get a firm understanding of how to build apps on whichever devices your users prefer.
This book gives you enough first-hand experience to weigh the trade-offs when building mobile apps. You'll compare writing apps on ...
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 ...
Slack HacksWe're surrounded with a myriad of communication tools: email, Skype, Twitter, Facebook, and Snapchat, to name a few. Slack is a newer communication tool, borrowing IRC concepts and transcending them with an intuitive interface that allows countless customizations and integrations—from other communication tools to bots, Kayak, Google, Hacker News, and more. Slack glues together all of your favorite applications, and if there isn't something already available to fit your needs, you can hack your own solution.
This practical book provides you with hacks to use Slack efficiently and adapt it to your company and your community. It discusses Slack integrations, covering both IFTTT and Zapier. Going deeper into Slack customization, the book also shows how you can build your own applications and Slack bots by giving you some examples using different tools and frameworks to hack your custom workflow. ...
Switching to the Mac: The Missing Manual, El Capitan EditionThose who have made the switch from a Windows PC to a Mac have made Switching to the Mac: The Missing Manual a runaway bestseller. The latest edition of this guide delivers what Apple doesn't - everything you need to know to successfully and painlessly move your files and adapt to Mac's way of doing things. Written with wit and objectivity by Missing Manual series creator and bestselling author David Pogue, this book will have you up and running on your new Mac in no time. ...
Transitions and Animations in CSSAdd life and depth to your web applications and improve user experience through the discrete use of CSS transitions and animations. With this concise guide, you'll learn how to make page elements move or change in appearance, whether you want to realistically bounce a ball, gradually expand a drop-down menu, or simply bring attention to an element when users hover over it.
Short and deep, this book is an excerpt from the upcoming fourth edition of CSS: The Definitive Guide. When you purchase either the print or the ebook edition of Transitions and Animations in CSS, you'll receive a discount on the entire Definitive Guide once it's released. Why wait? Learn how to make your web pages come alive today. ...
Troubleshooting NetScalerNetScaler is a high performance Application Delivery Controller (ADC). Making the most of it requires knowledge that straddles the application and networking worlds.
As an ADC owner you will also likely be the first person to be solicited when your business applications fail. You will need to be quick in identifying if the problem is with the application, the server, the network, or NetScaler itself.
This book provides you with the vital troubleshooting knowledge needed to act fast when issues happen. It gives you a thorough understanding of the NetScaler layout, how it integrates with the network, and what issues to expect when working with the traffic management, authentication, NetScaler Gateway and application firewall features. We will also look at what information to seek out in the logs, how to use tracing, and explore utilities that exist on NetScaler to help you find the root cause of your issues. ...
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. ...