Hands-On Design Patterns with SwiftSwift keeps gaining traction not only amongst Apple developers but also as a server-side language. This book demonstrates how to apply design patterns and best practices in real-life situations, whether that's for new or already existing projects.
You'll begin with a quick refresher on Swift, the compiler, the standard library, and the foundation, followed by the Cocoa design patterns - the ones at the core of many cocoa libraries - to follow up with the creational, structural, and behavioral patterns as defined by the GoF. You'll get acquainted with application architecture, as well as the most popular architectural design patterns, such as MVC and MVVM, and learn to use them in the context of Swift. In addition, you'll walk through dependency injection and functional reactive programming. Special emphasis will be given to techniques to handle concurrency, including callbacks, futures and promises, and reactive programming. These techniques will help you adopt a test-driven approac ...
Julia Programming ProjectsJulia is a new programming language that offers a unique combination of performance and productivity. Its powerful features, friendly syntax, and speed are attracting a growing number of adopters from Python, R, and Matlab, effectively raising the bar for modern general and scientific computing.
After six years in the making, Julia has reached version 1.0. Now is the perfect time to learn it, due to its large-scale adoption across a wide range of domains, including fintech, biotech, education, and AI.
Beginning with an introduction to the language, Julia Programming Projects goes on to illustrate how to analyze the Iris dataset using DataFrames. You will explore functions and the type system, methods, and multiple dispatch while building a web scraper and a web app. Next, you'll delve into machine learning, where you'll build a books recommender system. You will also see how to apply unsupervised machine learning to perform clustering on the San Francisco business database. After ...
Xcode TreasuresLearn the critical tips and techniques to make using Xcode for the iPhone, iPad, or Mac easier, and even fun. Explore the features and functionality of Xcode you may not have heard of. Go under the hood to discover how projects really work, so when they stop working, you'll know how to fix them. Explore the common problems developers face when using Xcode, and find out how to get the most out of your IDE. Dig into Xcode, and you'll discover it's richer and more powerful than you might have thought.
Get a huge productivity boost by working with Xcode instead of against it. Instead of hacky code fixes and manual processes, once you know the the why and how of Xcode's process, you'll discover that doing things Xcode's way makes your app development more elegant and less aggravating.
Explore the major features of Xcode: project management, building UIs with storyboards, code editing, compiling apps, fixing bugs and performance problems, unit- and UI testing, and source code managemen ...
Unreal for Mobile and Standalone VRApply the techniques needed to build VR applications for mobile and standalone head-mounted displays (HMDs) using the Unreal Engine. This book covers the entire VR ecosystem including production tools, Unreal engine, workflows, performance and optimization, and presents two fully-developed projects to reinforce what you've learned. Media designers, CG artists and other creatives will be able to take advantage of real-time engine techniques and easy-to-learn visual scripting logic to turn their creations into immersive and interactive VR worlds.
Gear VR, the Oculus Go and other Android based VR HMDs are becoming exciting new platforms for immersive business presentations, entertainment and educational solutions. The Unreal engine, one of the world's most powerful and popular game engines, is now free to use and has become increasingly popular for real-time visualizations and enterprise solutions in recent years.
With Unreal's powerful blueprint visual scripting system, non-coders ...
Practical HaskellGet a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This book contains excellent coverage of the Haskell ecosystem and supporting tools, include Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, the Spock framework for developing web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.
You'll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. This makes Haskell the best tool for both learning and applying functional programming, and Practical Haskell takes advantage of this to sho ...
DevOps for Digital LeadersLearn to design, implement, measure, and improve DevOps programs that are tailored to your organization. This concise guide assists leaders who are accountable for the rapid development of high-quality software applications.
In DevOps for Digital Leaders, deep collective experience on both sides of the dev-ops divide informs the global thought leadership and penetrating insights of the authors, all three of whom are cross-portfolio DevOps leaders at CA Technologies. Aruna Ravichandran, Kieran Taylor, and Peter Waterhouse analyze the organizational benefits, costs, freedoms, and constraints of DevOps. They chart the coordinated strategy of organizational change, metrics, lean thinking, and investment that an enterprise must undertake to realize the full potential of DevOps and reach the sweet spot where accelerating code deployments drive increasing customer satisfaction, revenue, and profitability.
Digital leaders are charged to bridge the dev-ops disconnect if their organization ...
The Rust Programming LanguageThe Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages.
The authors of The Rust Programming Language, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features - from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as: Ownership and borrowing, lifetimes, and traits; Using Rust's memory safety guarantees to build fast, safe programs; Testing, error handling, and effective refactoring; Generics, smart pointers, multithreading, trait objects, and advanced pattern matching; Using Cargo, Rust's b ...
Practical Oracle JETLearn how to use Oracle's JavaScript Extension Toolkit (JET) as a solution to the all too common problem of internal back office and intranet applications that are typically ugly, clunky, and cumbersome to use. JET simultaneously provides you with a JavaScript toolkit that is cutting-edge while being stable enough for enterprise development in an ecosystem that is notorious for its fast-paced rate of change.
Practical Oracle JET walks through the process of developing a functional application using Oracle JET. By the end of this book you will have built a support ticket system using a variety of different components bundled with the toolkit, including lists, inputs, and visualizations. The skills acquired from reading this book and working the examples equip you to build your own applications and take your understanding even further to more advanced topics.
Build a real-world Oracle JET application; Understand the fundamental technologies used in JET; Control look and feel throug ...
Becoming the HackerBecoming the Hacker will teach you how to approach web penetration testing with an attacker's mindset. While testing web applications for performance is common, the ever-changing threat landscape makes security testing much more difficult for the defender.
There are many web application tools that claim to provide a complete survey and defense against potential threats, but they must be analyzed in line with the security needs of each web application or service. We must understand how an attacker approaches a web application and the implications of breaching its defenses.
Through the first part of the book, Adrian Pruteanu walks you through commonly encountered vulnerabilities and how to take advantage of them to achieve your goal. The latter part of the book shifts gears and puts the newly learned techniques into practice, going over scenarios where the target may be a popular content management system or a containerized application and its network.
Becoming the Hacker is a c ...
hapi.js in ActionHapi.js in Action teaches you how to build modern Node-driven applications using hapi.js. Packed with examples, this book takes you from your first simple server through the skills you'll need to build a complete application.
The hapi.js web framework for Node.js is built around three radical ideas. Developer productivity: hapi's intuitive setup gets you up and running in no time. Maintainability: hapi's modular design allows for easy scaling and improvement. Flexibility: hapi has a lightweight core that you can expand and customize with plugins. Are you ready to get hapi?
Hapi.js in Action is an incredibly practical book that teaches you to build APIs, servers, and applications using Node.js and the hapi.js framework. You'll begin with an easy-to-follow mental model of a Node.js web application and see exactly where hapi fits into the picture. Then, you'll walk through building an API and composing it into a web application. Along the way, you'll explore key topics like validati ...