Mastering Ruby ClosuresRuby developers use the Ruby language as the yardstick for expressivity, flexibility, and elegance - and a large part of this is due to blocks, lambdas, and procs. These language features make Ruby one of the most beautiful and pleasant languages to work with. Learn how to understand and craft code that will take you closer to Ruby mastery.
Start with the basics of closures and then dive into blocks, as you learn about the patterns that involve blocks, and how they are used in real-world code. Then create and use procs and lambdas. Finally, build your own lazy enumerables with advanced Ruby features such as fibers and generators. Along the way, work with computer science concepts such as closures, free variables and first-class functions. Spot a closure easily. Identify the patterns where you can effectively use blocks and re-implement common standard library methods using them. Trace through how Symbol#to_proc works and find out the different ways of calling procs. This succinct gu ...
Designing Web APIsDesigning an API is complicated to begin with, but evolving your API design over time makes the process even more difficult. There are several books on the topic, but none that guide you through key decisions for designing and building APIs for specific audiences and types of products. Well, until now, that is.
Using case studies from companies such as Slack, Stripe, Facebook, and Github, this practical guide shows you how to navigate complex decisions when building, scaling, and evolving your own APIs. You'll learn best practices for designing APIs that developers will love, and discover how to evolve your APIs as your product grows.
Developers, architects, tech leads, product managers, and engineering managers will:Examine strategies to expose data through web APIs, using webhooks, websockets, and HTTP;Learn how to evolve APIs while keeping them consistent;Be able to scale APIs with pagination and rate limiting;Handle security, performance, mo ...
Continuous Delivery in JavaWith the release of Java 9 and the increasing maturity of web/microservice frameworks such as Spring Boot and Eclipse MicroProfile, there's never been a better time to design and implement Java-powered applications. But Java is only a small piece of the puzzle when it comes to continuously delivering working applications to a production environment.
This practical book charts the journey for establishing the practices and tooling to develop, operate and use a continuous delivery build pipeline for Java applications that will be deployed to a platform such as Kubernetes, AWS Lambda, and other cloud-based services. Each chapter focuses on a key practice within continuous delivery, and outlines appropriate tooling and describes how this should be utilized.Understand the process of continuous delivery, from setting up a local development environment through to deploying into production, and explore how this impacts the skills required from a modern Java application developer; ...
Angular: Up and RunningThis book will demystify Angular as a framework, as well as provide clear instructions and examples on how to get started with writing scalable Angular applications.
Angular: Up & Running covers most of the major pieces of Angular, but in a structured manner that is generally used in hands-on training. Each chapter takes one concept, and use examples to cover how it works. Problems to work on (with solutions) at the end of each chapter reinforce the learnings of each chapter and allow readers to really get hands-on with Angular. ...
Modern Business ManagementTransform your entire organization, not just a part of it. Take a modern look now that the world is focusing on business agility rather than thinking about team-level or even scaled Agile.
Many people and businesses believe that "doing Agile" will solve all their business and organizational problems. The truth is that "doing Agile", especially team-level agility, is not the same as being an agile organization.
Authors Doug Dockery and Laureen Knudsen share their years of experience in transforming corporations and organizations to successfully compete and win in today's fast-paced markets. Using proven techniques and stories of actual experiences in a multitude of organizations, Doug and Laureen relate what it takes to successfully transform your organization, as well as how to tell if your transformation is working.
Modern Business Management details what you need to know to transform your business to deliver value and thrive. Coverage includes:What Agile means to an ...
Real-Time Web Application DevelopmentDesign, develop, and deploy a real-world web application by leveraging modern open source technologies. This book shows you how to use ASP.NET Core to build cross-platform web applications along with SignalR to enrich the application by enabling real-time communication between server and clients. You will use Docker to containerize your application, integrate with GitHub to package the application, and provide continuous deployment to Azure's IaaS platform.
Along the way, Real-Time Web Application Development covers topics including designing a Materialize CSS theme, using a test-driven development approach with xUnit.net, and securing your application with the OAuth 2.0 protocol. To further your understanding of the technology, you will learn logging and exception handling; navigation using view components; and how to work with forms and validations. The rich code samples from this book can be used to retrofit or upgrade existing ASP.NET Core applications. ...
Build Android-Based Smart ApplicationsBuild smart applications using cutting-edge technologies such as rules engines, code automation frameworks, and natural language processing (NLP). This book provides step-by-step instructions on how to port nine rules engines (CLIPS, JRuleEngine, DTRules, Zilonis, TermWare, Roolie, OpenRules, JxBRE, and JEOPS) to the Android platform. You'll learn how to use each rules engine to build a smart application with sample code snippets so that you can get started with programming smart applications immediately. Build Android-Based Smart Applications also describes porting issues with other popular rules engines (Drools, JLisa, Take, and Jess).
This book is a step-by-step guide on how to generate a working smart application from requirement specifications. It concludes by showing you how to generate a smart application from unstructured knowledge using the Stanford POS (Part of Speech) tagger NLP framework.Evaluate the available rules engines to see which rules engine is best to us ...
Interactive C#Discover object-oriented programming with core concepts of C# in this unique tutorial. The book consists of four major sections which cover 15 core topics - nine of them are dedicated to object-oriented programming, five of them are dedicated to advanced concepts of C#, and one of them is dedicated to design patterns, with coverage of three Gang of Four design patterns with C# implementations. Finally, Interactive C# contains an FAQ section to cover all of these topics.
This book uniquely presents a two-way discussion between a teacher and students. So, with this book you will have the feel of learning C# in a classroom environment or with your private tutor. Your teacher will discuss the problems/topics and ask you questions; at the same time, counter questions are provided to clarify points where necessary. ...
Pro C# 7This essential classic title provides a comprehensive foundation in the C# programming language and the frameworks it lives in. Now in its 8th edition, you'll find all the very latest C# 7.1 and .NET 4.7 features here, along with four brand new chapters on Microsoft's lightweight, cross-platform framework, .NET Core, up to and including .NET Core 2.0. Coverage of ASP.NET Core, Entity Framework (EF) Core, and more, sits alongside the latest updates to .NET, including Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and ASP.NET MVC.
Dive in and discover why Pro C# has been a favorite of C# developers worldwide for over 15 years. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). With the help of this book you'll have the confidence to put C# into practice and explore the .NE ...
Gray Hat C#Learn to use C#'s powerful set of core libraries to automate tedious yet important tasks like fuzzing, performing vulnerability scans, and analyzing malware. With some help from Mono, you'll write your own practical security tools that will run on Windows, OS X, Linux, and even mobile devices.
After a crash course in C# and some of its advanced features, you'll learn how to: Generate shellcode in Metasploit to create cross-platform and cross-architecture payloads; Automate Nessus, OpenVAS, and sqlmap to scan for vulnerabilities and exploit SQL injections; Write a .NET decompiler for OS X and Linux; Parse and read offline registry hives to dump system information; Automate the security tools Arachni and Metasploit using their MSGPACK RPCs.
Streamline and simplify your workday by making the most of C#'s extensive repertoire of powerful tools and libraries with Gray Hat C#. ...