Written with the best practices, this book will help you master Kotlin and use its powerful language features, libraries, tools, and APIs to elevate your Android apps.
As you progress, you'll use Jetpack Compose and Material Design 3 to build UIs for your app, explore how to architect and improve your app architecture, and use Jetpack Libraries like Room and DataStore to persist your data locally. Using a step-by-step approach, this book will teach you how to debug issues in your app, detect leaks, inspect network calls fired by your app, and inspect your Room database. You'll also add tests to your apps to detect and address code smells.
Toward the end, you'll learn how to publish apps to the Google Play Store and see how to automate the process of deploying consecutive releases using GitHub actions, as well as learn how to distribute test builds to Firebase App Distribution. Additionally, the book covers tips on how to increase user engagement.
By the end of this Kotlin book, you'll be able to develop market-ready apps, add tests to their codebase, address issues, and get them in front of the right audience.
Written with the best practices, this book will help you master Kotlin and use its powerful language features, libraries, tools, and APIs to elevate your Android apps.
Explore functional programming in C# with the help of clear explanations, practical examples, and hands-on exercises and write efficient, modular, and readable code
Key Features
Master functional programming in C# for expressive, modular code
Apply advanced concepts such as error handling and asynchronous programming to overcome real-world challenges
Gain practical coding skills through practical application and self-assessment questions
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
In an era where software complexity is increasing by the day, functional programming offers a paradigm that simplifies code maintenance and enhances reliability. Functional Programming with C# takes you on an exhaustive journey into functional programming within C#. The book familiarizes you with the core principles and benefits of functional programming, juxtaposing it with imperative and object-oriented paradigms. You’ll get to grips with the functional features of C# and learn to write expressive, modular code through expressions, pure functions, and higher-order functions. As you advance, you’ll explore advanced concepts such as error handling and asynchronous programming, which will equip you with the practical skills that you need to tackle real-world challenges. By comparing functional programming in C# with other languages and providing additional resources, this book ensures that you’re well-equipped to continue your journey toward mastery in functional programming. By the end of this book, you’ll have gained a thorough understanding of functional programming techniques, such as recursion, memoization, and composition, empowering you to write robust, maintainable code.
What you will learn
Understand the core principles of functional programming
Differentiate functional, imperative, and OOP paradigms
Write expressive code with higher-order functions
Handle errors effectively using functional techniques
Utilize asynchronous programming for concurrent tasks
Grasp advanced concepts, such as recursion and memoization
Who this book is for
This book is for intermediate-to-advanced C# developers looking to expand their programming paradigm horizons. Software engineers, developers, and programmers familiar with C# and object-oriented programming who want to delve deeper into functional programming concepts will find this book very useful. This book is ideal for professionals aiming to enhance code modularity, readability, and scalability. While prior knowledge of C# is necessary, beginners with a strong grasp of programming fundamentals can also benefit from the clear explanations and practical exercises provided.
Explore functional programming in C# with the help of clear explanations, practical examples, and hands-on exercises and write efficient, modular, and readable code
Troubleshoot query performance issues, identify anti-patterns in your code, and write efficient T-SQL queries with this guide for T-SQL developers
Key Features
A definitive guide to mastering the techniques of writing efficient T-SQL code
Learn query optimization fundamentals, query analysis, and how query structure impacts performance
Discover insightful solutions to detect, analyze, and tune query performance issues
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
Data professionals seeking to excel in Transact-SQL for Microsoft SQL Server and Azure SQL Database often lack comprehensive resources. Learn T-SQL Querying second edition focuses on indexing queries and crafting elegant T-SQL code enabling data professionals gain mastery in modern SQL Server versions (2022) and Azure SQL Database. The book covers new topics like logical statement processing flow, data access using indexes, and best practices for tuning T-SQL queries.
Starting with query processing fundamentals, the book lays a foundation for writing performant T-SQL queries. You’ll explore the mechanics of the Query Optimizer and Query Execution Plans, learning to analyze execution plans for insights into current performance and scalability. Using dynamic management views (DMVs) and dynamic management functions (DMFs), you’ll build diagnostic queries. The book covers indexing and delves into SQL Server’s built-in tools to expedite resolution of T-SQL query performance and scalability issues. Hands-on examples will guide you to avoid UDF pitfalls and understand features like predicate SARGability, Query Store, and Query Tuning Assistant.
By the end of this book, you‘ll have developed the ability to identify query performance bottlenecks, recognize anti-patterns, and avoid pitfalls
What you will learn
Identify opportunities to write well-formed T-SQL statements
Familiarize yourself with the Cardinality Estimator for query optimization
Create efficient indexes for your existing workloads
Implement best practices for T-SQL querying
Explore Query Execution Dynamic Management Views
Utilize the latest performance optimization features in SQL Server 2017, 2019, and 2022
Safeguard query performance during upgrades to newer versions of SQL Server
Who this book is for
This book is for database administrators, database developers, data analysts, data scientists and T-SQL practitioners who want to master the art of writing efficient T-SQL code and troubleshooting query performance issues through practical examples. A basic understanding of T-SQL syntax, writing queries in SQL Server, and using the SQL Server Management Studio tool will be helpful to get started.
Troubleshoot query performance issues, identify anti-patterns in your code, and write efficient T-SQL queries with this guide for T-SQL developers
Catapult your C# journey with this guide to crafting standout resumes, mastering advanced concepts, and navigating job offers with real-world insights for unparalleled success in programming and interviews
Key Features
Acquire a strong foundation in syntax, data types, and object-oriented programming to code confidently
Develop strategies for addressing behavioral questions, tackle technical challenges, and showcase your coding skills
Augment your C# programming skills with valuable insights from industry experts
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
If you're gearing up for technical interviews by enhancing your programming skills and aiming for a successful career in C# programming and software development, the C# Interview Guide is your key to interview success.
Designed to equip you with essential skills for excelling in technical interviews, this guide spans a broad spectrum, covering fundamental C# programming concepts to intricate technical details. As you progress, you'll develop proficiency in crafting compelling resumes, adeptly answering behavioral questions, and navigating the complexities of salary negotiations and job evaluations. What sets this book apart is its coverage, extending beyond technical know-how and incorporating real-world experiences and expert insights from industry professionals. This comprehensive approach, coupled with guidance on overcoming challenges, ranging from interview preparation to post-interview strategies, makes this guide an invaluable resource for those aspiring to advance in their C# programming careers.
By the end of this guide, you’ll emerge with a solid understanding of C# programming, advanced technical interview skills, and the ability to apply industry best practices.
What you will learn
Craft compelling resumes and cover letters for impactful job applications
Demonstrate proficiency in fundamental C# programming concepts and syntax
Master advanced C# topics, including LINQ, asynchronous programming, and design patterns
Implement best practices for writing clean, maintainable C# code
Use popular C# development tools and frameworks, such as .NET and .NET Core
Negotiate salary, evaluate job offers, and build a strong C# portfolio
Apply soft skills for successful interactions in C# development roles
Who this book is for
This book is for individuals aspiring to pursue a career in C# programming or software development. Whether you are a beginner or experienced professional, this guide will enhance your technical interview skills and C# programming knowledge.
Table of Contents
Crafting a Compelling Résumé and Cover Letter, Online Presence, and Interview Preparation
Acing the Interview – Mastering Behavioral Questions and Interview Techniques
Fundamentals of C# Programming
Advanced C# Concepts
Fundamentals Governing Maintainable and Efficient C# Programming
Deep Dive into C# Libraries and Frameworks
Overcoming Challenges in C# Technical Interviews and Tips for Tackling Coding Challenges during Interviews
Building Soft Skills and Expanding Your Network
Negotiating Your Salary and Evaluating Job Offers
Gaining Expert Insights, Following Up Effectively, and Taking Action
Launching Your C# Career - Insights
Catapult your C# journey with this guide to crafting standout resumes, mastering advanced concepts, and navigating job offers with real-world insights for unparalleled success in…
Compose has caused a paradigm shift in Android development, introducing a variety of new concepts that are essential to an Android developer's learning journey. It solves a lot of pain points associated with Android development and is touted to become the default way to building Android apps over the next few years. This second edition has been thoroughly updated to reflect all changes and additions that were made by Google since the initial stable release, and all examples are based on Material 3 (also called Material You).
This book uses practical examples to help you understand the fundamental concepts of Jetpack Compose and how to use them when you are building your own Android applications. You'll begin by getting an in-depth explanation of the declarative approach, along with its differences from and advantages over traditional user interface (UI) frameworks. Having laid this foundation, the next set of chapters take a practical approach to show you how to write your first composable function. The chapters will also help you master layouts, an important core component of every UI framework, and then move to more advanced topics such as animation, testing, and architectural best practices.
By the end of this book, you'll be able to write your own Android apps using Jetpack Compose and Material Design.
Compose has caused a paradigm shift in Android development, introducing a variety of new concepts that are essential to an Android developer's learning journey. It solves a lot of…
Inject dependencies and write highly maintainable and flexible code using the new . NET Core DI Engine
About This Book • Identify when to use the constructors, parameters, setters, or Interface Injection, for best results
• Build dependencies not only for MVC within . NET but also for other frontend tools such as Angular
• Create specific components or services to cover discrete and separate pieces of functionality and call them when needed.
Who This Book Is For
C# and . NET developers who have no idea what DI is and would like to understand how to implement it in their applications.
What You Will Learn • Understand the concept of DI and its implications in modern software construction
• Learn how DI is already implemented in today's frameworks.
• Analyze how DI can be used with current software to improve maintainability and scalability.
• Learn the use of DI in . NET Core
• Get used to the possibilities that DI offers the ASP. NET Core developer in different scenarios.
• Learn about good practices and refactoring legacy code.
In Detail
. NET Core provides more control than ever over web application architectures. A key point of this software architecture is that it's based on the use of Dependency Injection as a way to properly implement the Dependency Inversion principle proposed in the SOLID principles established by Robert C. Martin.
With the advent of . NET Core, things have become much simpler with Dependency Injection built into the system. This book aims to give you a profound insight into writing loosely-coupled code using the latest features available in . NET Core. It talks about constructors, parameter, setters, and interface injection, explaining in detail, with the help of examples, which type of injection to use in which situation. It will show you how to implement a class that creates other classes with associated dependencies, also called IoC containers, and then create dependencies for each MVC component of ASP. NET Core. You'll learn to distinguish between IoC containers, the use of Inversion of Control, and DI itself, since DI is just a way of implementing IoC via these containers. You'll also learn how to build dependencies for other frontend tool such as Angular. You will get to use the in-built services offered by . NET Core to create your own custom dependencies.
Towards the end, we'll talk about some patterns and anti-patterns for Dependency Injection along with some techniques to refactor legacy applications and inject dependencies.
Style and Approach
Filled with examples, this book will take you through various techniques for injecting dependencies into your applications with or without the use of frameworks.
Inject dependencies and write highly maintainable and flexible code using the new . NET Core DI Engine
About This Book • Identify when to use the constructors, parameters,…
Gain an in-depth understanding of MVVM and .NET MAUI and learn how to effectively apply the MVVM design pattern with the help of this practical guide
Key Features
Get to grips with the principles and benefits of the Model-View-ViewModel design pattern
Gain insights into .NET MAUI's MVVM-enabling components and effectively apply them with hands-on examples
Learn data binding, navigation, and testable code techniques to create dynamic, accessible, and localized apps
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
In today's fast-paced world of modern software development, teams need to be efficient, productive, and capable of rapidly adapting to changes to deliver high-quality products, making it crucial for developers to write maintainable and easy-to-test code.
Gain an in-depth understanding of MVVM and .NET MAUI and learn how to effectively apply the MVVM design pattern with the help of this practical guide
GPT-3 has made creating AI apps simpler than ever. This book provides a comprehensive guide on how to utilize the OpenAI API with ease. It explores imaginative methods of utilizing this tool for your specific needs and showcases successful businesses that have been established through its use.
The book is divided into two sections, with the first focusing on the fundamentals of the OpenAI API. The second part examines the dynamic and thriving environment that has arisen around GPT-3.
Chapter 1 sets the stage with background information and defining key terms. Chapter 2 goes in-depth into the API, breaking it down into its essential components, explaining their functions and offering best practices. Chapter 3, you will build your first app with GPT-3.
Chapter 4 features interviews with the founders of successful GPT-3-based products, who share challenges and insights gained. Chapter 5 examines the perspective of enterprises on GPT-3 and its potential for adoption. The problematic consequences of widespread GPT-3 adoption, such as misapplication and bias, are addressed along with efforts to resolve these issues in Chapter 6. Finally, Chapter 7 delves into the future by exploring the most exciting trends and possibilities as GPT-3 becomes increasingly integrated into the commercial ecosystem.
GPT-3 has made creating AI apps simpler than ever. This book provides a comprehensive guide on how to utilize the OpenAI API with ease. It explores imaginative methods of…
While Go is a multi-paradigm language that gives you the option to choose whichever paradigm works best for the particular problem you aim to solve, it supports features that enable you to apply functional principles in your code. In this book, you'll learn about concepts central to the functional programming paradigm and how and when to apply functional programming techniques in Go.
Starting with the basic concepts of functional programming, this Golang book will help you develop a deeper understanding of first-class functions. In the subsequent chapters, you'll gain a more comprehensive view of the techniques and methods used in functional languages, such as function currying, partial application, and higher-order functions. You'll then be able to apply functional design patterns for solving common programming challenges and explore how to apply concurrency mechanisms to functional programming.
By the end of this book, you'll be ready to improve your code bases by applying functional programming techniques in Go to write cleaner, safer, and bug-free code.
While Go is a multi-paradigm language that gives you the option to choose whichever paradigm works best for the particular problem you aim to solve, it supports features that…
This book covers the key benefits and common issues of microservices, helping you understand the problems microservice architecture helps to solve, the issues it usually introduces, and the ways to tackle them. You’ll start by learning about the importance of using the right principles and standards in order to achieve the key benefits of microservice architecture. The following chapters will explain why the Go programming language is one of the most popular languages for microservice development and lay down the foundations for the next chapters of the book. You’ll explore the foundational aspects of Go microservice development including service scaffolding, service discovery, data serialization, synchronous and asynchronous communication, deployment, and testing. After covering the development aspects, you’ll progress to maintenance and reliability topics. The last part focuses on more advanced topics of Go microservice development including system reliability, observability, maintainability, and scalability. In this part, you’ll dive into the best practices and examples which illustrate how to apply the key ideas to existing applications, using the services scaffolded in the previous part as examples. By the end of this book, you’ll have gained hands-on experience with everything you need to develop scalable, reliable and performant microservices using Go.
This book covers the key benefits and common issues of microservices, helping you understand the problems microservice architecture helps to solve, the issues it usually…
Develop the skills required to administer your RHEL environment on-premises and in the cloud while preparing for the RHCSA exam
Purchase of the print or Kindle book includes a free eBook in PDF format
Key Features
Become a pro at system administration from installation to container management
Secure and harden your Linux environment using SSH, SELinux, firewall, and system permissions
Gain confidence to pass the RHCSA exam with the help of practice tests
Book Description
With Red Hat Enterprise Linux 9 becoming the standard for enterprise Linux used from data centers to the cloud, Linux administration skills are in high demand. With this book, you'll learn how to deploy, access, tweak, and improve enterprise services on any system on any cloud running Red Hat Enterprise Linux 9.
Throughout the book, you'll get to grips with essential tasks such as configuring and maintaining systems, including software installation, updates, and core services. You'll also understand how to configure the local storage using partitions and logical volumes, as well as assign and deduplicate storage. You'll learn how to deploy systems while also making them secure and reliable.
This book provides a base for users who plan to become full-time Linux system administrators by presenting key command-line concepts and enterprise-level tools, along with essential tools for handling files, directories, command-line environments, and documentation for creating simple shell scripts or running commands. With the help of command line examples and practical tips, you'll learn by doing and save yourself a lot of time.
By the end of the book, you'll have gained the confidence to manage the filesystem, users, storage, network connectivity, security, and software in RHEL 9 systems on any footprint.
What you will learn
Become well versed with the fundamentals of RHEL9―from system deployment to user management
Secure a system by using SELinux policies and configuring firewall rules
Understand LVM to manage volumes and maintain VDO deduplication
Manage a system remotely using SSH and public key authentication
Get the hang of the boot process and kernel tunable to adjust your systems
Automate simple tasks using scripts or Ansible Playbooks
Who this book is for
This book is for Red Hat Enterprise Linux system administrators and Linux system administrators. It's also a good resource for any IT professional who wants to learn system administration. RHCSA certification candidates will find this book useful in their preparation for the certification exam.
Develop the skills required to administer your RHEL environment on-premises and in the cloud while preparing for the RHCSA exam
Fast, efficient, and flexible, the C++ programming language has come a long way and is used in every area of the industry to solve many problems. The latest version C++20 will see programmers change the way they code as it brings a whole array of features enabling the quick deployment of applications. This book will get you up and running with using the STL in the best way possible.
Beginning with new language features in C++20, this book will help you understand the language's mechanics and library features and offer insights into how they work. Unlike other books, the C++20 STL Cookbook takes an implementation-specific, problem-solution approach that will help you overcome hurdles quickly. You'll learn core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on real-world recipes. This book is a reference guide for using the C++ STL with its latest capabilities and exploring the cutting-edge features in functional programming and lambda expressions.
By the end of the book C++20 book, you'll be able to leverage the latest C++ features and save time and effort while solving tasks elegantly using the STL.
Fast, efficient, and flexible, the C++ programming language has come a long way and is used in every area of the industry to solve many problems. The latest version C++20 will see…
Machine Learning with PyTorch and Scikit-Learn is a comprehensive guide to machine learning and deep learning with PyTorch. It acts as both a step-by-step tutorial and a reference you'll keep coming back to as you build your machine learning systems.
Packed with clear explanations, visualizations, and examples, the book covers all the essential machine learning techniques in depth. While some books teach you only to follow instructions, with this machine learning book, we teach the principles allowing you to build models and applications for yourself.
Why PyTorch?
PyTorch is the Pythonic way to learn machine learning, making it easier to learn and simpler to code with. This book explains the essential parts of PyTorch and how to create models using popular libraries, such as PyTorch Lightning and PyTorch Geometric.
You will also learn about generative adversarial networks (GANs) for generating new data and training intelligent agents with reinforcement learning. Finally, this new edition is expanded to cover the latest trends in deep learning, including graph neural networks and large-scale transformers used for natural language processing (NLP).
This PyTorch book is your companion to machine learning with Python, whether you're a Python developer new to machine learning or want to deepen your knowledge of the latest developments.
Machine Learning with PyTorch and Scikit-Learn is a comprehensive guide to machine learning and deep learning with PyTorch. It acts as both a step-by-step tutorial and a reference…