Design Patterns in Modern C++Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs.
Design Patterns in Modern C++ also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability.
Apply design patterns to modern C++ programming; Use creational patterns of builder, factories, prototype and singleton; Implement structural patterns such as adapter, bridge, decorator, facade and more; Work with the behavioral patterns such as chai ...
MATLAB Differential EquationsMATLAB Differential Equations introduces you to the MATLAB language with practical hands-on instructions and results, allowing you to quickly achieve your goals. In addition to giving an introduction to the MATLAB environment and MATLAB programming, this book provides all the material needed to work on differential equations using MATLAB. It includes techniques for solving ordinary and partial differential equations of various kinds, and systems of such equations, either symbolically or using numerical methods (Euler's method, Heun's method, the Taylor series method, the Runge–Kutta method,...). It also describes how to implement mathematical tools such as the Laplace transform, orthogonal polynomials, and special functions (Airy and Bessel functions), and find solutions of finite difference equations. ...
MATLAB Matrix AlgebraMATLAB is a high-level language and environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java.
MATLAB Matrix Algebra introduces you to the MATLAB language with practical hands-on instructions and results, allowing you to quickly achieve your goals. Starting with a look at symbolic and numeric variables, with an emphasis on vector and matrix variables, you will go on to examine functions and operations that support vectors and matrices as arguments, including those based on analytic parent functions. ...
Microsoft .NET: Architecting Applications for the Enterprise, 2nd EditionDesigning effective architecture is your best strategy for managing project complexity–and improving your results. But the principles and practices of software architecting–what the authors call the "science of hard decisions" – have been evolving for cloud, mobile, and other shifts. Now fully revised and updated, this book shares the knowledge and real-world perspectives that enable you to design for success–and deliver more successful solutions. ...
Migrating to Swift from AndroidIn 250 pages, Migrating to Swift from Android gives you—as an experienced Android app developer—all you need to create native iOS apps using the latest Swift programming language. Starting with preparing your Xcode 6.1 IDE and introducing just enough iOS application framework fundamentals, you'll understand how to create meaningful Swift applications for iOS 8 immediately.
After the short IDE setup guide, this book continues by providing guidance on how to translate your existing Android apps to iOS. Every topic comes with a tutorial project; you'll plan and structure your iOS apps following a typical top-down process using Xcode Storyboards. To implement use cases, you'll cover common mobile topics, including user interfaces, managing data, and networking with remote services. ...
Mobile and Web MessagingLearn how to use messaging technologies to build responsive and resilient applications for mobile devices and web browsers. With this hands-on guide, you'll use the STOMP and MQTT messaging protocols to write iOS and web applications capable of sending and receiving GPS and device sensor data, text messages, and alerts.
Messaging protocols are not only simple to use, but also conserve network bandwidth, device memory, and batteries. Using this book's step-by-step format, author Jeff Mesnil helps you work with Objective-C and JavaScript libraries, as well as the protocols. All you need to get started are basic programming skills. ...
Node Cookbook, 2nd EditionNode Cookbook Second Edition shows you how to transfer your JavaScript skills to server-side programming. It will talk you through the various server-side scenarios, often saving you time and effort by demonstrating best practices and showing you how to avoid security faux pas.
Beginning with making your own web server, the recipes are designed to allow smooth progression through Node in order to help you design full web applications, command-line applications, and Node modules.
There's also extensive coverage on using popular frameworks such as Express 4 and Socket.IO, writing your own Node modules and different ways to take your apps live. ...
Optimizing HPC Applications with Intel Cluster ToolsOptimizing HPC Applications with Intel Cluster Tools takes the reader on a tour of the fast-growing area of high performance computing and the optimization of hybrid programs. These programs typically combine distributed memory and shared memory programming models and use the Message Passing Interface (MPI) and OpenMP for multi-threading to achieve the ultimate goal of high performance at low power consumption on enterprise-class workstations and compute clusters.
The book focuses on optimization for clusters consisting of the Intel Xeon processor, but the optimization methodologies also apply to the Intel Xeon Phi coprocessor and heterogeneous clusters mixing both architectures. Besides the tutorial and reference content, the authors address and refute many myths and misconceptions surrounding the topic. The text is augmented and enriched by descriptions of real-life situations. ...
Oracle Database Transactions and Locking RevealedOracle Database Transactions and Locking Revealed provides much-needed information for building scalable, high-concurrency applications and deploy them against the Oracle Database. Read this short, 150-page book that is adapted from Expert Oracle Database Architecture to gain a solid and accurate understanding of how locking and concurrency are dealt with by Oracle Database. Also learn how the Oracle Database architecture accommodates user transactions, and how you can write code to mesh with how Oracle Database is designed to operate.
Good transaction design is an important facet of highly-concurrent applications that are run by hundreds, even thousands of users who are all executing transactions at the same time. Transaction design in turn relies upon a good understanding of how the underlying database platform manages of the locking of resources so as to prevent access conflicts and data loss that might otherwise result from concurrent access to data in the database. ...
Penetration TestingPenetration testers simulate cyber attacks to find security weaknesses in networks, operating systems, and applications. Information security experts worldwide use penetration techniques to evaluate enterprise defenses.
In Penetration Testing, security expert, researcher, and trainer Georgia Weidman introduces you to the core skills and techniques that every pentester needs. Using a virtual machine–based lab that includes Kali Linux and vulnerable operating systems, you'll run through a series of practical lessons with tools like Wireshark, Nmap, and Burp Suite. As you follow along with the labs and launch attacks, you'll experience the key stages of an actual assessment-including information gathering, finding exploitable vulnerabilities, gaining access to systems, post exploitation, and more. ...