Join thousands of book lovers
You can, at any time, unsubscribe from our newsletters.
Developing expert level application development skills with C++Key Features- Take advantage of the myriad of features and possibilities that C++ offers to build real-world applications- Delve into the fundamentals of multithreading and concurrency and find out how to implement them- Learn the latest features of C++ and how to write better code by using the Standard Library Book DescriptionC++ has come a long way and has now been adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications. The C++ 17 release will change the way developers write code, and this course will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the course is divided into three modules where will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general and demonstrates the GUI app-development options in C++. You'll get tips on avoiding memory leaks using smart-pointers. In the next module, you'll see how multi-threaded programming can help you achieve concurrency in your applications. We start with a brief introduction to the fundamentals of multithreading and concurrency concepts. We then take an in-depth look at how these concepts work at the hardware-level as well as how both operating systems and frameworks use these low-level functions. You will learn about the native multithreading and concurrency support available in C++ since the 2011 revision, synchronization and communication between threads, debugging concurrent C++ applications, and the best programming practices in C++.Moving on, you'll get an in-depth understanding of the C++ Standard Template Library. Where we show implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way.Jeganathan Swaminathan : Mastering C++ ProgrammingMaya Posch : Mastering C++ MultithreadingJacek Galowicz : C++17 STL CookbookWhat you will learn Write modular C++ applications in terms of the existing and newly introduced features Identify code-smells, clean up, and refactor legacy C++ applications Leverage the possibilities provided by Cucumber and Google Test/Mock to automate test casesDeep dive into the details of the how various operating systems currently implement multithreading Choose the best multithreading APIs when designing a new application Explore the use of mutexes, spin-locks, and other synchronization concepts and see how to safely pass data between threads Work with strings the STL way instead of handcrafting C-style code Understand standard support classes for concurrency and synchronization, and how to put them to work Use the filesystem library addition available with the C++17 STLWho this book is forThis course is for intermediate to advanced level C++ developers who want to get the most out of C++ to build concurrent and scalable application.
Make the right decisions about your products and services by listening effectively to the people that matter - your customersKey FeaturesUnderstand the core components, processes and technologies available for a VOC initiativeStructure effective VOC programs and turn VOC into actionable product successA handy guide to help you identify the hidden needs of your customers and strengthen your relationship with themBook DescriptionVoice of Customer (VoC) is one of the most popular forms of market research that combines both quantitative and qualitative methods. This book is about developing a deeper knowledge of your customers and understanding their articulated and unarticulated needs. Doing so requires engaging with customers in a meaningful and substantive way - something that is becoming more and more important with the rise of the increasingly connected world.This book gives you a framework to understand what products and features your customers need, or will need in the future. It provides the tools to conduct a VoC program and suggests how to take the customer input and turn it into successful products. This book also explains how to position and price your products in the market, and demonstrates ROI to the management team to get your product development funded.By the end of this book, you will have a thorough understanding of the relevant stages of a VoC project. It will show you how to devise an effective plan, direct the project to their objectives, and then how to collect the voice of the customer, with examples and templates for interviewing and surveying them.What you will learnLearn why customer input is so critical for the product's successDiscover the articulated and unarticulated needs of your customersDeploy an effective VoC program in your organizationLearn which tools and methods you need to set up a successful VoC programInterview customers - where, how many, and whoCreate an interview guide and roles in the interview processTranslate the customer input into your product specificationsIntegrate VoC into your marketing campaigns and pricing processWho this book is forThe book is for anyone who needs to get to know their customer, how they feel and what they think about a certain subject. If you are a stakeholder in any project responsible for customer relationships, this book will help you immensely. An awareness of VOC as a topic would be useful, although not essential.
Build a strong and efficient IoT infrastructure at industrial and enterprise level by mastering Industrial IoT network Key FeaturesGain hands-on experience working with industrial architectureExplore the potential of cloud-based Industrial IoT platforms, analytics, and protocolsImprove business models and transform your workforce with Industry 4.0Book DescriptionWe live in an era where advanced automation is used to achieve accurate results. To set up an automation environment, you need to first configure a network that can be accessed anywhere and by any device. This book is a practical guide that helps you discover the technologies and use cases for Industrial Internet of Things (IIOT).Hands-On Industrial Internet of Things takes you through the implementation of industrial processes and specialized control devices and protocols. You'll study the process of identifying and connecting to different industrial data sources gathered from different sensors. Furthermore, you'll be able to connect these sensors to cloud network, such as AWS IoT, Azure IoT, Google IoT, and OEM IoT platforms, and extract data from the cloud to your devices.As you progress through the chapters, you'll gain hands-on experience in using open source Node-Red, Kafka, Cassandra, and Python. You will also learn how to develop streaming and batch-based Machine Learning algorithms.By the end of this book, you will have mastered the features of Industry 4.0 and be able to build stronger, faster, and more reliable IoT infrastructure in your Industry.What you will learnExplore industrial processes, devices, and protocolsDesign and implement the I-IoT network flowGather and transfer industrial data in a secure wayGet to grips with popular cloud-based platformsUnderstand diagnostic analytics to answer critical workforce questionsDiscover the Edge device and understand Edge and Fog computingImplement equipment and process management to achieve business-specific goalsWho this book is forIf you're an IoT architect, developer, or stakeholder working with architectural aspects of Industrial Internet of Things, this book is for you.
A comprehensive guide for beginners to learn the key concepts, real-world applications, and latest features of C# 9 and .NET 5 with hands-on exercises using VS CodeKey FeaturesExplore the newest additions to C# 9, the .NET 5 class library, Entity Framework Core and BlazorStrengthen your command of ASP.NET Core 5.0 and create professional websites and servicesBuild cross-platform apps for Windows, macOS, Linux, iOS, and AndroidBook DescriptionIn C# 9 and .NET 5 - Modern Cross-Platform Development, Fifth Edition, expert teacher Mark J. Price gives you everything you need to start programming C# applications.This latest edition uses the popular Visual Studio Code editor to work across all major operating systems. It is fully updated and expanded with a new chapter on the Microsoft Blazor framework.The book's first part teaches the fundamentals of C#, including object-oriented programming and new C# 9 features such as top-level programs, target-typed new object instantiation, and immutable types using the record keyword. Part 2 covers the .NET APIs, for performing tasks like managing and querying data, monitoring and improving performance, and working with the file system, async streams, serialization, and encryption. Part 3 provides examples of cross-platform apps you can build and deploy, such as websites and services using ASP.NET Core or mobile apps using Xamarin.Forms. The best type of application for learning the C# language constructs and many of the .NET libraries is one that does not distract with unnecessary application code. For that reason, the C# and .NET topics covered in Chapters 1 to 13 feature console applications. In Chapters 14 to 20, having mastered the basics of the language and libraries, you will build practical applications using ASP.NET Core, Model-View-Controller (MVC), and Blazor.By the end of the book, you will have acquired the understanding and skills you need to use C# 9 and .NET 5 to create websites, services, and mobile apps.What you will learnBuild your own types with object-oriented programmingQuery and manipulate data using LINQBuild websites and services using ASP.NET Core 5Create intelligent apps using machine learningUse Entity Framework Core and work with relational databasesDiscover Windows app development using the Universal Windows Platform and XAMLBuild rich web experiences using the Blazor frameworkBuild mobile applications for iOS and Android using Xamarin.FormsWho this book is forThis book is best for C# and .NET beginners, or programmers who have worked with C# in the past but feel left behind by the changes in the past few years. This book doesn't expect you to have any C# or .NET experience; however, you should have a general understanding of programming.Students and professionals with a science, technology, engineering, or mathematics (STEM) background can certainly benefit from this book.
Enhance your organization's productivity by automating repetitive tasks and simplifying business workflows using Microsoft Power Automate (formerly Microsoft Flow)Key FeaturesCreate basic and advanced workflows for automating Twitter posts, sending emails, push notifications, and much moreManage user inputs, documents, approvals, and database storage using flow controlsCreate flows that integrate with services both inside and outside the Microsoft 365 ecosystemBook DescriptionMicrosoft Power Automate (formerly Flow) is a workflow automation tool built into Microsoft 365 to help businesses and users to automate repetitive tasks or trigger business processes without user intervention. If you are new to Microsoft Power Automate, this book will give you a comprehensive introduction to help you to get up to speed with automating business processes in no time. Complete with hands-on tutorials, projects, and self-assessment questions, this easy-to-follow guide will show you how to configure automation workflows for business processes between hundreds of Microsoft and third-party applications. Once you understand how to use connectors, triggers, and actions to automate business processes, you'll get to grips with managing user inputs, documents, approvals, and database storage using efficient flow controls. This Power Automate book explains key concepts and takes you through creating your own flows step by step. By the end of the book, you'll have learned how to use Microsoft Power Automate to replace repetitive tasks with business workflow automation technology.What you will learnGet to grips with the building blocks of Power Automate, its services, and core capabilitiesExplore connectors in Power Automate to automate email workflowsDiscover how to create a flow for copying files between two cloud servicesUnderstand the business process, connectors, and actions for creating approval flowsUse flows to save responses submitted to a database through Microsoft FormsFind out how to integrate Power Automate with Microsoft TeamsWho this book is forThe book is for technologists, system administrators, and Power users with little or no Microsoft Power Automate experience. Familiarity with basic Microsoft 365 services is expected.
Discover easy-to-follow solutions and techniques to help you to implement applied mathematical concepts such as probability, calculus, and equations using Python's numeric and scientific librariesKey FeaturesCompute complex mathematical problems using programming logic with the help of step-by-step recipesLearn how to utilize Python's libraries for computation, mathematical modeling, and statisticsDiscover simple yet effective techniques for solving mathematical equations and apply them in real-world statisticsBook DescriptionPython, one of the world's most popular programming languages, has a number of powerful packages to help you tackle complex mathematical problems in a simple and efficient way. These core capabilities help programmers pave the way for building exciting applications in various domains, such as machine learning and data science, using knowledge in the computational mathematics domain.The book teaches you how to solve problems faced in a wide variety of mathematical fields, including calculus, probability, statistics and data science, graph theory, optimization, and geometry. You'll start by developing core skills and learning about packages covered in Python's scientific stack, including NumPy, SciPy, and Matplotlib. As you advance, you'll get to grips with more advanced topics of calculus, probability, and networks (graph theory). After you gain a solid understanding of these topics, you'll discover Python's applications in data science and statistics, forecasting, geometry, and optimization. The final chapters will take you through a collection of miscellaneous problems, including working with specific data formats and accelerating code.By the end of this book, you'll have an arsenal of practical coding solutions that can be used and modified to solve a wide range of practical problems in computational mathematics and data science.What you will learnGet familiar with basic packages, tools, and libraries in Python for solving mathematical problemsExplore various techniques that will help you to solve computational mathematical problemsUnderstand the core concepts of applied mathematics and how you can apply them in computer scienceDiscover how to choose the most suitable package, tool, or technique to solve a certain problemImplement basic mathematical plotting, change plot styles, and add labels to the plots using MatplotlibGet to grips with probability theory with the Bayesian inference and Markov Chain Monte Carlo (MCMC) methodsWho this book is forThis book is for professional programmers and students looking to solve mathematical problems computationally using Python. Advanced mathematics knowledge is not a requirement, but a basic knowledge of mathematics will help you to get the most out of this book. The book assumes familiarity with Python concepts of data structures.
Identify, exploit, and test web application security with easeKey FeaturesGet up to speed with Metasploit and discover how to use it for pentestingUnderstand how to exploit and protect your web environment effectivelyLearn how an exploit works and what causes vulnerabilitiesBook DescriptionMetasploit has been a crucial security tool for many years. However, there are only a few modules that Metasploit has made available to the public for pentesting web applications. In this book, you'll explore another aspect of the framework - web applications - which is not commonly used. You'll also discover how Metasploit, when used with its inbuilt GUI, simplifies web application penetration testing.The book starts by focusing on the Metasploit setup, along with covering the life cycle of the penetration testing process. Then, you will explore Metasploit terminology and the web GUI, which is available in the Metasploit Community Edition. Next, the book will take you through pentesting popular content management systems such as Drupal, WordPress, and Joomla, which will also include studying the latest CVEs and understanding the root cause of vulnerability in detail. Later, you'll gain insights into the vulnerability assessment and exploitation of technological platforms such as JBoss, Jenkins, and Tomcat. Finally, you'll learn how to fuzz web applications to find logical security vulnerabilities using third-party tools.By the end of this book, you'll have a solid understanding of how to exploit and validate vulnerabilities by working with various tools and techniques.What you will learnGet up to speed with setting up and installing the Metasploit frameworkGain first-hand experience of the Metasploit web interfaceUse Metasploit for web-application reconnaissanceUnderstand how to pentest various content management systemsPentest platforms such as JBoss, Tomcat, and JenkinsBecome well-versed with fuzzing web applicationsWrite and automate penetration testing reportsWho this book is forThis book is for web security analysts, bug bounty hunters, security professionals, or any stakeholder in the security sector who wants to delve into web application security testing. Professionals who are not experts with command line tools or Kali Linux and prefer Metasploit's graphical user interface (GUI) will also find this book useful. No experience with Metasploit is required, but basic knowledge of Linux and web application pentesting will be helpful.
In DetailMicrosoft's SQL Server Analysis Services 2012 Multidimensional is an OLAP server that allows end users to analyze large amounts of business data quickly and easily, using a variety of tools including Excel, and to create their own reports without IT involvement. It is part of the Microsoft SQL Server suite of tools and has been used widely on Business Intelligence projects for the last 15 years; it is now the most commonly used OLAP server in the world.Expert Cube Development with SSAS Multidimensional Models will teach you tips and tricks for cube design from some of the most experienced Analysis Services experts in the world. Topics covered include designing dimensions and cubes, implementing common MDX calculations, security and performance tuning. The book takes you through the whole lifecycle of Analysis Services cube development, from how data warehouse design affects your cube, through cube and dimension design to performance tuning and monitoring. Some previous experience of Analysis Services is assumed - the focus is on best practices and design patterns.The book starts off with a discussion of data warehouse design and how it relates to Analysis Services. Following on from that, best practices relating to Analysis Services cube and dimension design are covered, including topics such as optimizing dimension attribute relationships and handling fact tables that contain data at different granularities.Next, the book looks at using MDX to implement common business calculations, and then moves on to more advanced problems like currency conversion calculations and creating a date tool dimensions.Finally security, performance tuning, automation of administrative tasks and monitoring usage and performance each get their own chapter and subject such as dynamic security roles, using Profiler to diagnose query performance problems and automating partition creation are also dealt with.ApproachAn easy-to-follow guide full of hands on examples of real-world Analysis Services cube development tasks. Each topic is explained and placed in context, and for the more inquisitive reader, there also more in-depth details of the concepts used.Who this book is forIf you are an Analysis Services cube designer wishing to learn more advanced topic and best practices for cube design, this book is for you.You are expected to have some prior experience with Analysis Services cube development.
Explore embedded systems pentesting by applying the most common attack techniques and patternsKey FeaturesLearn various pentesting tools and techniques to attack and secure your hardware infrastructureFind the glitches in your hardware that can be a possible entry point for attacksDiscover best practices for securely designing productsBook DescriptionHardware pentesting involves leveraging hardware interfaces and communication channels to find vulnerabilities in a device. Practical Hardware Pentesting will help you to plan attacks, hack your embedded devices, and secure the hardware infrastructure. Throughout the book, you will see how a specific device works, explore the functional and security aspects, and learn how a system senses and communicates with the outside world. You will start by setting up your lab from scratch and then gradually work with an advanced hardware lab. The book will help you get to grips with the global architecture of an embedded system and sniff on-board traffic. You will also learn how to identify and formalize threats to the embedded system and understand its relationship with its ecosystem. Later, you will discover how to analyze your hardware and locate its possible system vulnerabilities before going on to explore firmware dumping, analysis, and exploitation. Finally, focusing on the reverse engineering process from an attacker point of view will allow you to understand how devices are attacked, how they are compromised, and how you can harden a device against the most common hardware attack vectors. By the end of this book, you will be well-versed with security best practices and understand how they can be implemented to secure your hardware.What you will learnPerform an embedded system test and identify security critical functionalitiesLocate critical security components and buses and learn how to attack them Discover how to dump and modify stored informationUnderstand and exploit the relationship between the firmware and hardwareIdentify and attack the security functions supported by the functional blocks of the deviceDevelop an attack lab to support advanced device analysis and attacksWho this book is forThis book is for security professionals and researchers who want to get started with hardware security assessment but don't know where to start. Electrical engineers who want to understand how their devices can be attacked and how to protect against these attacks will also find this book useful.
A comprehensive guide to architecting, managing, implementing, and controlling multi-cloud environmentsKey FeaturesDeliver robust multi-cloud environments and improve your business productivityStay in control of the cost, governance, development, security, and continuous improvement of your multi-cloud solutionIntegrate different solutions, principles, and practices into one multi-cloud foundationBook DescriptionMulti-cloud has emerged as one of the top cloud computing trends, with businesses wanting to reduce their reliance on only one vendor. But when organizations shift to multiple cloud services without a clear strategy, they may face certain difficulties, in terms of how to stay in control, how to keep all the different components secure, and how to execute the cross-cloud development of applications. This book combines best practices from different cloud adoption frameworks to help you find solutions to these problems.With step-by-step explanations of essential concepts and practical examples, you'll begin by planning the foundation, creating the architecture, designing the governance model, and implementing tools, processes, and technologies to manage multi-cloud environments. You'll then discover how to design workload environments using different cloud propositions, understand how to optimize the use of these cloud technologies, and automate and monitor the environments. As you advance, you'll delve into multi-cloud governance, defining clear demarcation models and management processes. Finally, you'll learn about managing identities in multi-cloud: who's doing what, why, when, and whereBy the end of this book, you'll be able to create, implement, and manage multi-cloud architectures with confidenceWhat you will learnGet to grips with the core functions of multiple cloud platformsDeploy, automate, and secure different cloud solutionsDesign network strategy and get to grips with identity and access management for multi-cloudDesign a landing zone spanning multiple cloud platformsUse automation, monitoring, and management tools for multi-cloudUnderstand multi-cloud management with the principles of BaseOps, FinOps, SecOps, and DevOpsDefine multi-cloud security policies and use cloud security toolsTest, integrate, deploy, and release using multi-cloud CI/CD pipelinesWho this book is forThis book is for architects and lead engineers involved in architecting multi-cloud environments, with a focus on getting governance right to stay in control of developments in multi-cloud. Basic knowledge of different cloud platforms (Azure, AWS, GCP, VMWare, and OpenStack) and understanding of IT governance is necessary.
A comprehensive guide to help aspiring and professional C++ developers elevate the performance of their apps by allowing them to run faster and consume fewer resourcesKey FeaturesUpdated to C++20 with completely revised code and more content on error handling, benchmarking, memory allocators, and concurrent programmingExplore the latest C++20 features including concepts, ranges, and coroutinesUtilize C++ constructs and techniques to carry out effective data structure optimization and memory managementBook DescriptionC++ High Performance, Second Edition guides you through optimizing the performance of your C++ apps. This allows them to run faster and consume fewer resources on the device they're running on without compromising the readability of your codebase. The book begins by introducing the C++ language and some of its modern concepts in brief. Once you are familiar with the fundamentals, you will be ready to measure, identify, and eradicate bottlenecks in your C++ codebase. By following this process, you will gradually improve your style of writing code. The book then explores data structure optimization, memory management, and how it can be used efficiently concerning CPU caches. After laying the foundation, the book trains you to leverage algorithms, ranges, and containers from the standard library to achieve faster execution, write readable code, and use customized iterators. It provides hands-on examples of C++ metaprogramming, coroutines, reflection to reduce boilerplate code, proxy objects to perform optimizations under the hood, concurrent programming, and lock-free data structures. The book concludes with an overview of parallel algorithms. By the end of this book, you will have the ability to use every tool as needed to boost the efficiency of your C++ projects.What you will learnWrite specialized data structures for performance-critical codeUse modern metaprogramming techniques to reduce runtime calculationsAchieve efficient memory management using custom memory allocatorsReduce boilerplate code using reflection techniquesReap the benefits of lock-free concurrent programmingGain insights into subtle optimizations used by standard library algorithmsCompose algorithms using ranges libraryDevelop the ability to apply metaprogramming aspects such as constexpr, constraints, and conceptsImplement lazy generators and asynchronous tasks using C++20 coroutinesWho this book is forIf you're a C++ developer looking to improve the efficiency of your code or just keen to upgrade your skills to the next level, this book is for you.
Take a comprehensive and step-by-step approach to understanding machine learningKey FeaturesDiscover how to apply the scikit-learn uniform API in all types of machine learning modelsUnderstand the difference between supervised and unsupervised learning modelsReinforce your understanding of machine learning concepts by working on real-world examplesBook DescriptionMachine learning algorithms are an integral part of almost all modern applications. To make the learning process faster and more accurate, you need a tool flexible and powerful enough to help you build machine learning algorithms quickly and easily. With The Machine Learning Workshop, you'll master the scikit-learn library and become proficient in developing clever machine learning algorithms.The Machine Learning Workshop begins by demonstrating how unsupervised and supervised learning algorithms work by analyzing a real-world dataset of wholesale customers. Once you've got to grips with the basics, you'll develop an artificial neural network using scikit-learn and then improve its performance by fine-tuning hyperparameters. Towards the end of the workshop, you'll study the dataset of a bank's marketing activities and build machine learning models that can list clients who are likely to subscribe to a term deposit. You'll also learn how to compare these models and select the optimal one.By the end of The Machine Learning Workshop, you'll not only have learned the difference between supervised and unsupervised models and their applications in the real world, but you'll also have developed the skills required to get started with programming your very own machine learning algorithms.What you will learnUnderstand how to select an algorithm that best fits your dataset and desired outcomeExplore popular real-world algorithms such as K-means, Mean-Shift, and DBSCANDiscover different approaches to solve machine learning classification problemsDevelop neural network structures using the scikit-learn packageUse the NN algorithm to create models for predicting future outcomesPerform error analysis to improve your model's performanceWho this book is forThe Machine Learning Workshop is perfect for machine learning beginners. You will need Python programming experience, though no prior knowledge of scikit-learn and machine learning is necessary.
Explore built-in WordPress features and the power of advanced plugins and themes for building modern websites using exciting recipesKey FeaturesBuild custom features and extend built-in features in WordPress with custom coding and pluginsGet to grips with extending WordPress as an application frameworkManage non-functional aspects of your website such as security, performance, and maintenanceBook DescriptionWordPress has been the most popular content management system (CMS) for many years and is now powering over 30% of all websites globally. With the demand for WordPress development and skilled developers ever-increasing, now is the best time to learn WordPress inside out.This book starts with simple recipes for configuring WordPress and managing basic platform features. You'll then move on to explore how to install and customize WordPress plugins, widgets, and themes. The next few chapters cover recipes for content and user-management-related topics such as customizing the content display, working with content types, using the new Gutenberg editor, and customizing editorial workflow for building advanced blogs. As you advance, you'll learn how to use WordPress as an application framework as well as a platform for building e-commerce sites. This WordPress book will also help you optimize your site to maximize visibility on search engines, add interactivity, and build a user community to make the site profitable. Finally, you'll learn how to maintain a WordPress site smoothly while taking precautions against possible security threats.By the end of the book, you'll have the tools and skills required to build and maintain modern WordPress websites with the latest technologies and be able to find quick solutions to common WordPress problems.What you will learnInstall and customize WordPress themes and plugins for building websitesDevelop modern web designs without the need to write any codeExplore the new Gutenberg content editor introduced in WordPress 5 (Bebo)Use the existing WordPress plugins to add custom features and monetize your websiteImprove user interaction and accessibility for your website with simple tricksDiscover powerful techniques for maintaining and securing your websitesExtend built-in WordPress features for advanced website managementWho this book is forThis book is for beginners who want to build powerful modern websites with minimum coding knowledge and intermediate web developers who want to extend the basic features of WordPress to cater to advanced modern website technologies. Although prior experience with WordPress is not required, familiarity with basic PHP, HTML, and CSS is necessary to understand the concepts covered.
From fundamentals and design patterns to the different strategies for creating secure and reliable architectures in AWS cloud, learn everything you need to become a successful solutions architectKey FeaturesCreate solutions and transform business requirements into technical architecture with this practical guideUnderstand various challenges that you might come across while refactoring or modernizing legacy applicationsDelve into security automation, DevOps, and validation of solution architectureBook DescriptionBecoming a solutions architect gives you the flexibility to work with cutting-edge technologies and define product strategies. This handbook takes you through the essential concepts, design principles and patterns, architectural considerations, and all the latest technology that you need to know to become a successful solutions architect.This book starts with a quick introduction to the fundamentals of solution architecture design principles and attributes that will assist you in understanding how solution architecture benefits software projects across enterprises. You'll learn what a cloud migration and application modernization framework looks like, and will use microservices, event-driven, cache-based, and serverless patterns to design robust architectures. You'll then explore the main pillars of architecture design, including performance, scalability, cost optimization, security, operational excellence, and DevOps. Additionally, you'll also learn advanced concepts relating to big data, machine learning, and the Internet of Things (IoT). Finally, you'll get to grips with the documentation of architecture design and the soft skills that are necessary to become a better solutions architect.By the end of this book, you'll have learned techniques to create an efficient architecture design that meets your business requirements.What you will learnExplore the various roles of a solutions architect and their involvement in the enterprise landscapeApproach big data processing, machine learning, and IoT from an architect's perspective and understand how they fit into modern architectureDiscover different solution architecture patterns such as event-driven and microservice patternsFind ways to keep yourself updated with new technologies and enhance your skillsModernize legacy applications with the help of cloud integrationGet to grips with choosing an appropriate strategy to reduce costWho this book is forThis book is for software developers, system engineers, DevOps engineers, architects, and team leaders working in the information technology industry who aspire to become solutions architect professionals. A good understanding of the software development process and general programming experience with any language will be useful.
Learn the fundamentals, practical applications, and latest features of C# 8.0 and .NET Core 3.0 from expert teacher Mark J. Price.Key FeaturesBuild modern, cross-platform applications with .NET Core 3.0Get up to speed with C#, and up to date with all the latest features of C# 8.0Start creating professional web applications with ASP.NET Core 3.0Book DescriptionIn C# 8.0 and .NET Core 3.0 - Modern Cross-Platform Development, Fourth Edition, expert teacher Mark J. Price gives you everything you need to start programming C# applications.This latest edition uses the popular Visual Studio Code editor to work across all major operating systems. It is fully updated and expanded with new chapters on Content Management Systems (CMS) and machine learning with ML.NET.The book covers all the topics you need. Part 1 teaches the fundamentals of C#, including object-oriented programming, and new C# 8.0 features such as nullable reference types, simplified switch pattern matching, and default interface methods. Part 2 covers the .NET Standard APIs, such as managing and querying data, monitoring and improving performance, working with the filesystem, async streams, serialization, and encryption. Part 3 provides examples of cross-platform applications you can build and deploy, such as web apps using ASP.NET Core or mobile apps using Xamarin.Forms. The book introduces three technologies for building Windows desktop applications including Windows Forms, Windows Presentation Foundation (WPF), and Universal Windows Platform (UWP) apps, as well as web applications, web services, and mobile apps.What you will learnBuild cross-platform applications for Windows, macOS, Linux, iOS, and AndroidExplore application development with C# 8.0 and .NET Core 3.0Explore ASP.NET Core 3.0 and create professional web applicationsLearn object-oriented programming and C# multitaskingQuery and manipulate data using LINQUse Entity Framework Core and work with relational databasesDiscover Windows app development using the Universal Windows Platform and XAMLBuild mobile applications for iOS and Android using Xamarin.FormsWho this book is forReaders with some prior programming experience or with a science, technology, engineering, or mathematics (STEM) background, who want to gain a solid foundation with C# 8.0 and .NET Core 3.0.
Build smart looking Kotlin apps with UI and functionality for the Android platform Key FeaturesStart your Android programming career, or just have fun publishing apps on Google Play marketplaceThe first-principle introduction to Kotlin through Android, to start building easy-to-use appsLearn by example and build four real-world apps and dozens of mini-appsBook DescriptionAndroid is the most popular mobile operating system in the world and Kotlin has been declared by Google as a first-class programming language to build Android apps. With the imminent arrival of the most anticipated Android update, Android 10 (Q), this book gets you started building apps compatible with the latest version of Android.It adopts a project-style approach, where we focus on teaching the fundamentals of Android app development and the essentials of Kotlin by building three real-world apps and more than a dozen mini-apps. The book begins by giving you a strong grasp of how Kotlin and Android work together before gradually moving onto exploring the various Android APIs for building stunning apps for Android with ease. You will learn to make your apps more presentable using different layouts. You will dive deep into Kotlin programming concepts such as variables, functions, data structures, Object-Oriented code, and how to connect your Kotlin code to the UI. You will learn to add multilingual text so that your app is accessible to millions of more potential users. You will learn how animation, graphics, and sound effects work and are implemented in your Android app.By the end of the book, you will have sound knowledge about significant Kotlin programming concepts and start building your own fully featured Android apps.What you will learnLearn how Kotlin and Android work togetherBuild a graphical drawing app using Object-Oriented Programming (OOP) principlesBuild beautiful, practical layouts using ScrollView, RecyclerView, NavigationView, ViewPager and CardViewWrite Kotlin code to manage an apps' data using different strategies including JSON and the built-in Android SQLite databaseAdd user interaction, data captures, sound, and animation to your appsImplement dialog boxes to capture input from the userBuild a simple database app that sorts and stores the user's dataWho this book is forThis book is for people who are new to Kotlin, Android and want to develop Android apps.It also acts as a refresher for those who have some experience in programming with Android and Kotlin.
Grasp the basics of packet capture and analyze common protocolsKey FeaturesTroubleshoot basic to advanced network problems using packet analysisAnalyze common protocols and identify latency issues with WiresharkExplore ways to examine captures to recognize unusual traffic and possible network attacksBook DescriptionWireshark is a popular and powerful packet analysis tool that helps network administrators investigate latency issues and identify potential attacks.Learn Wireshark provides a solid overview of basic protocol analysis and helps you to navigate the Wireshark interface, so you can confidently examine common protocols such as TCP, IP, and ICMP. The book starts by outlining the benefits of traffic analysis, takes you through the evolution of Wireshark, and then covers the phases of packet analysis. We'll review some of the command line tools and outline how to download and install Wireshark on either a PC or MAC. You'll gain a better understanding of what happens when you tap into the data stream, and learn how to personalize the Wireshark interface. This Wireshark book compares the display and capture filters and summarizes the OSI model and data encapsulation. You'll gain insights into the protocols that move data in the TCP/IP suite, and dissect the TCP handshake and teardown process. As you advance, you'll explore ways to troubleshoot network latency issues, and discover how to save and export files. Finally, you'll see how you can share captures with your colleagues using Cloudshark.By the end of this book, you'll have a solid understanding of how to monitor and secure your network with the most updated version of Wireshark.What you will learnBecome familiar with the Wireshark interfaceNavigate commonly accessed menu options such as edit, view, and fileUse display and capture filters to examine trafficUnderstand the Open Systems Interconnection (OSI) modelCarry out deep packet analysis of the Internet suite: IP, TCP, UDP, ARP, and ICMPExplore ways to troubleshoot network latency issuesSubset traffic, insert comments, save, export, and share packet capturesWho this book is forThis book is for network administrators, security analysts, students, teachers, and anyone interested in learning about packet analysis using Wireshark. Basic knowledge of network fundamentals, devices, and protocols along with an understanding of different topologies will be beneficial.
The common patterns and practices of the microservice architecture and their application using the Clojure programming language.Key Features Relevance of the microservice architecture and benefits of Clojure's functional and simple features to implement it. Learn best practices and common principles to avoid common pitfalls while developing microservices. Learn how to use Pedestal to build your next microservices, secure them using JWT, and monitor them using the ELK stackBook DescriptionThe microservice architecture is sweeping the world as the de facto pattern with which to design and build scalable, easy-tomaintain web applications. This book will teach you common patterns and practices, and will show you how to apply these using the Clojure programming language.This book will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples of how to put these concepts and patterns into practice with Clojure. This book will explain and illustrate, with practical examples, how teams of all sizes can start solving problems with microservices.You will learn the importance of writing code that is asynchronous and non-blocking and how Pedestal helps us do this. Later, the book explains how to build Reactive microservices in Clojure that adhere to the principles underlying the Reactive Manifesto. We finish off by showing you various ways to monitor, test, and secure your microservices. By the end, you will be fully capable of setting up, modifying, and deploying a microservice with Clojure and Pedestal.What you will learn Explore the pros and cons of monolithic and microservice architectures Use Clojure to effectively build a reallife application using Microservices Gain practical knowledge of the Clojure Pedestal framework and how to use it to build Microservices Explore various persistence patterns and learn how to use Apache Kafka to build event-driven microservice architectures Secure your Microservices using JWT Monitor Microservices at scale using the ELK stack Deploy Microservices at scale using container orchestration platforms such as KubernetesWho this book is forYou should have a working knowledge of programming in Clojure. However, no knowledge of RESTful architecture, microservices, or web services is expected. If you are looking to apply techniques to your own projects, taking your first steps into microservice architecture, this book is for you.
Expert tabular modeling techniques for building and deploying cutting-edge business analytical reporting solutionsAbout This BookBuild and deploy Tabular Model projects from relational data sourcesLeverage DAX and create high-performing calculated fields and measuresCreate ad-hoc reports based on a Tabular Model solutionUseful tips to monitor and optimize your tabular solutionsWho This Book Is ForThis book is for SQL BI professionals and Architects who want to exploit the full power of the new Tabular models in Analysis Services. Some knowledge of previous versions of Analysis services would be helpful but is not essential.What You Will LearnLearn all about Tabular services mode and how it speeds up developmentBuild solutions using sample datasetsExplore built-in actions and transitions in SSAS 2016Implement row-column, and role-based security in a Tabular Data modelRealize the benefits of in-memory and DirectQuery deployment modesGet up to date with the new features added to SQL Server 2016 Analysis ServicesOptimize Data Models and Relationships UsageIn DetailSQL Server Analysis Service (SSAS) has been widely used across multiple businesses to build smart online analytical reporting solutions. It includes two different types of modeling for analysis services: Tabular and Multi Dimensional. This book covers Tabular modeling, which uses tables and relationships with a fast in-memory engine to provide state of the art compression algorithms and query performance.The book begins by quickly taking you through the concepts required to model tabular data and set up the necessary tools and services. As you learn to create tabular models using tools such as Excel and Power View, you'll be shown various strategies to deploy your model on the server and choose a query mode (In-memory or DirectQuery) that best suits your reporting needs.You'll also learn how to implement key and newly introduced DAX functions to create calculated columns and measures for your model data. Last but not least, you'll be shown techniques that will help you administer and secure your BI implementation along with some widely used tips and tricks to optimize your reporting solution.By the end of this book, you'll have gained hands-on experience with the powerful new features that have been added to Tabular models in SSAS 2016 and you'll be able to improve user satisfaction with faster reports and analytical queries.Style and approachThis book takes a practical, recipe-based approach where each recipe lists the steps to address or implement a solution. You will be provided with several approaches to creating a business intelligence semantic model using analysis services.
Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practicesAbout This BookLeverage the latest features of Xtext and Xtend to develop a domain-specific language.Integrate Xtext with popular third party IDEs and get the best out of both worlds.Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSLWho This Book Is ForThis book is targeted at programmers and developers who want to create a domain-specific language with Xtext. They should have a basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be helpful but is not necessary since this book will explain all the development stages of a DSL.What You Will LearnWrite Xtext grammar for a DSL;Use Xtend as an alternative to Java to write cleaner, easier-to-read, and more maintainable code;Build your Xtext DSLs easily with Maven/Tycho and Gradle;Write a code generator and an interpreter for a DSL;Explore the Xtext scoping mechanism for symbol resolution;Test most aspects of the DSL implementation with JUnit;Understand best practices in DSL implementations with Xtext and Xtend;Develop your Xtext DSLs using Continuous Integration mechanisms;Use an Xtext editor in a web applicationIn DetailXtext is an open source Eclipse framework for implementing domain-specific languages together with IDE functionalities. It lets you implement languages really quickly; most of all, it covers all aspects of a complete language infrastructure, including the parser, code generator, interpreter, and more.This book will enable you to implement Domain Specific Languages (DSL) efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with brief coverage of Xtext features involved in DSL implementation, including integration in an IDE, the book will then introduce you to Xtend as this language will be used in all the examples throughout the book. You will then explore the typical programming development workflow with Xtext when we modify the grammar of the DSL.Further, the Xtend programming language (a fully-featured Java-like language tightly integrated with Java) will be introduced. We then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will have learned how to test a DSL implemented in Xtext with JUnit and will progress to advanced concepts such as type checking and scoping. You will then integrate the typical Continuous Integration systems built in to Xtext DSLs and familiarize yourself with Xbase. By the end of the book, you will manually maintain the EMF model for an Xtext DSL and will see how an Xtext DSL can also be used in IntelliJ.Style and approachA step-by step-tutorial with illustrative examples that will let you master using Xtext and implementing DSLs with its custom language, Xtend.
Performance testing is critical to the success of any software product launch and continued scalability. No matter the size of the user base of an application, it is crucial to deliver the best user experience to consumers. Apache JMeter is an excellent testing tool that provides an insight on how applications might behave under load, allowing organizations to focus on making adequate preparations for the delivery of quality, robust, and foolproof applications to stakeholders.This hands-on guide will equip you with the all the skills you need to effectively use JMeter to test web applications and supporting services. With over 50 carefully selected recipes, you will learn how to take full advantage of JMeter for all your testing needs, overcome any challenges you face, and optimize the knowledge you already have.
In DetailTaking full advantage of all the new features and enhancements added to the 2014 release of Joomla 3, this practical guide starts by teaching you how to install Joomla. After a quick tour of the basic concepts and the new features, you'll build your very first site in no time by customizing Joomla's default sample site to fit your needs, replacing the logo, colors, menus, and content.You will learn how to organize the growing amount of content using Joomla's flexible system of categories and content tags. In the last couple of chapters, you go beyond the basics and will discover how to expand Joomla's capabilities. Finally, you will gain knowledge about search engine optimization (SEO), site security, and multilingual sites. Step-by-step, the Joomla! 3 Beginner's Guide Second Edition teaches you how to set up, customize, enhance, and maintain your website using Joomla!ApproachAn easy to use, step-by-step guide to creating professional, mobile-friendly websites with the free Joomla CMS.Who this book is forThe Joomla! 3 Beginner's Guide Second Edition is the ultimate guide for web developers who wish to build upon their skills and knowledge on creating websites. Even if you're new to this subject, you won't have any difficulty understanding the clear and friendly instructions and explanations. No prior knowledge of HTML and CSS is required.
In DetailWhile QlikView's data engine complements our thought processes and gives us the ability to rapidly implement insightful data discovery, we must also learn to use proper analytical and data visualization techniques to enhance our ability to make data more presentable.Learning QlikView Data Visualization presents a simple way to organize your QlikView data discovery process. Within the context of a real-world scenario and accompanying exercises, you will learn a set of analytical techniques and data visualization best practices that you can customize and apply to your own organization.We start our data discovery project by reviewing the data, people, and tools involved. We then go on to use rank, trend, multivariate, distribution, correlation, geographical, and what-if analysis as we try to resolve the problems of QDataViz, Inc, a fictitious company used as an example. In each type of analysis, we employ highlighting, heat maps, and other techniques on top of multiple chart types. Once we have a possible solution, we present our case in a dashboard and use performance indicators to monitor future actions.You will learn how to properly create insightful data visualization in QlikView that covers multiple analytical techniques. By reusing what you've learned in Learning QlikView Data Visualization, your organization's future data discovery projects will be more effective.ApproachA practical and fast-paced guide that gives you all the information you need to start developing charts from your data.Who this book is forLearning QlikView Data Visualization is for anybody interested in performing powerful data analysis and crafting insightful data visualization, independent of any previous knowledge of QlikView. Experience with spreadsheet software will help you understand QlikView functions.
Amazon Elastic MapReduce is a web service used to process and store vast amount of data, and it is one of the largest Hadoop operators in the world. With the increase in the amount of data generated and collected by many businesses and the arrival of cost-effective cloud-based solutions for distributed computing, the feasibility to crunch large amounts of data to get deep insights within a short span of time has increased greatly.This book will get you started with AWS so that you can quickly create your own account and explore the services provided, many of which you might be delighted to use. This book covers the architectural details of the MapReduce framework, Apache Hadoop, various job models on EMR, how to manage clusters on EMR, and the command-line tools available with EMR. Each chapter builds on the knowledge of the previous one, leading to the final chapter where you will learn about solving a real-world use case using Apache Hadoop and EMR. This book will, therefore, get you up and running with major Big Data technologies quickly and efficiently.