CINXE.COM
C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals | Web Development | eBook
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="referrer" content="no-referrer-when-downgrade"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('consent', 'default', { 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'ad_storage': 'denied', 'analytics_storage': 'denied', 'region': ["AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "EL", "ES", "HU", "IE", "IS", "IT", "LI", "LV", "LT", "LU", "MT", "NL", "NO", "PL", "PT", "RO", "SK", "SI", "SE", "UK", "US-CA"] }); gtag('consent', 'default', { 'ad_user_data': 'granted', 'ad_personalization': 'granted', 'ad_storage': 'granted', 'analytics_storage': 'granted' }); </script> <title>C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals | Web Development | eBook</title> <meta name="description" content="Start building websites and services with ASP.NET Core 8, Blazor, and EF Core 8. 72 customer reviews. Instant delivery. Top rated Web Development products." /> <link rel="canonical" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988" /> <meta name="robots" content="max-image-preview:large" /> <link rel="preload" as="style" href="https://www.packtpub.com/rebuild/build/assets/product-D3GXEm4w.css" /><link rel="stylesheet" href="https://www.packtpub.com/rebuild/build/assets/product-D3GXEm4w.css" /> <link rel="modulepreload" href="https://www.packtpub.com/rebuild/build/assets/app-CBJq5Fhh.js" /><script type="module" src="https://www.packtpub.com/rebuild/build/assets/app-CBJq5Fhh.js"></script> <link rel="icon" href="/favicon.ico" sizes="48x48" > <link rel="icon" href="/favicon.svg" sizes="any" type="image/svg+xml"> <link rel="apple-touch-icon" href="/apple-touch-icon.png"/> <style> @font-face { font-family: 'Outfit'; font-style: normal; font-display: swap; src: local('Outfit'), url('https://www.packtpub.com/rebuild/build/assets/Outfit-VariableFont_wght-B-fmKU8E.woff2') format('woff2'); font-weight: 100 1000; } * { font-family: 'Outfit', Arial, Helvetica, sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; } </style> <!-- Open Graph Tags --> <meta property="og:url" content="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988" /> <meta property="og:site_name" content="Packt" /> <meta property="og:title" content="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals | Web Development | eBook" /> <meta property="og:description" content="Start building websites and services with ASP.NET Core 8, Blazor, and EF Core 8. 72 customer reviews. Instant delivery. Top rated Web Development products." /> <!-- Twitter Tags --> <meta name="twitter:title" content="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals | Web Development | eBook" /> <meta name="twitter:description" content="Start building websites and services with ASP.NET Core 8, Blazor, and EF Core 8. 72 customer reviews. Instant delivery. Top rated Web Development products." /> <!-- Twitter Card --> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@PacktPub" /> <meta name="twitter:creator" content="@PacktPub" /> <link rel="alternate" hreflang="en-us" href="https://www.packtpub.com/en-us/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-gb" href="https://www.packtpub.com/en-gb/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-in" href="https://www.packtpub.com/en-in/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-de" href="https://www.packtpub.com/en-de/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-fr" href="https://www.packtpub.com/en-fr/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ca" href="https://www.packtpub.com/en-ca/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ru" href="https://www.packtpub.com/en-ru/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-es" href="https://www.packtpub.com/en-es/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-br" href="https://www.packtpub.com/en-br/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-au" href="https://www.packtpub.com/en-au/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ar" href="https://www.packtpub.com/en-ar/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-at" href="https://www.packtpub.com/en-at/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-be" href="https://www.packtpub.com/en-be/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-bg" href="https://www.packtpub.com/en-bg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-cl" href="https://www.packtpub.com/en-cl/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-co" href="https://www.packtpub.com/en-co/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-cy" href="https://www.packtpub.com/en-cy/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-cz" href="https://www.packtpub.com/en-cz/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-dk" href="https://www.packtpub.com/en-dk/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ec" href="https://www.packtpub.com/en-ec/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-eg" href="https://www.packtpub.com/en-eg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ee" href="https://www.packtpub.com/en-ee/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-fi" href="https://www.packtpub.com/en-fi/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-gr" href="https://www.packtpub.com/en-gr/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-hu" href="https://www.packtpub.com/en-hu/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-id" href="https://www.packtpub.com/en-id/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ie" href="https://www.packtpub.com/en-ie/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-it" href="https://www.packtpub.com/en-it/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-jp" href="https://www.packtpub.com/en-jp/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-lv" href="https://www.packtpub.com/en-lv/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-lt" href="https://www.packtpub.com/en-lt/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-lu" href="https://www.packtpub.com/en-lu/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-my" href="https://www.packtpub.com/en-my/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-mt" href="https://www.packtpub.com/en-mt/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-mx" href="https://www.packtpub.com/en-mx/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-nl" href="https://www.packtpub.com/en-nl/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-nz" href="https://www.packtpub.com/en-nz/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-no" href="https://www.packtpub.com/en-no/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ph" href="https://www.packtpub.com/en-ph/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-pl" href="https://www.packtpub.com/en-pl/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-pt" href="https://www.packtpub.com/en-pt/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ro" href="https://www.packtpub.com/en-ro/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-sg" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-sk" href="https://www.packtpub.com/en-sk/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-si" href="https://www.packtpub.com/en-si/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-za" href="https://www.packtpub.com/en-za/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-kr" href="https://www.packtpub.com/en-kr/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-se" href="https://www.packtpub.com/en-se/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ch" href="https://www.packtpub.com/en-ch/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-tw" href="https://www.packtpub.com/en-tw/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-th" href="https://www.packtpub.com/en-th/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-tr" href="https://www.packtpub.com/en-tr/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="en-ua" href="https://www.packtpub.com/en-ua/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <link rel="alternate" hreflang="x-default" href="https://www.packtpub.com/en-us/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"/> <script> window.pageName = "product"; </script> <script> window.packtPubBaseUrl = "https://www.packtpub.com/en-sg"; </script> <script type="application/ld+json"> {"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.packtpub.com/#organization","name":"Packt","url":"https://www.packtpub.com/","sameAs":["https://en.wikipedia.org/wiki/Packt","https://www.facebook.com/PacktPub","https://www.linkedin.com/company/packt-publishing/","https://www.youtube.com/channel/UC3VydBGBl132baPCLeDspMQ","https://twitter.com/PacktPublishing","https://subscription.packtpub.com","https://hub.packtpub.com"],"logo":{"@type":"ImageObject","@id":"https://www.packtpub.com/#logo","inLanguage":"en-US","url":"https://www.packtpub.com/images/logo-new.svg","width":"368","height":"180","caption":"Packt"},"image":{"@id":"https://www.packtpub.com/#logo"}},{"@type":"WebSite","@id":"https://www.packtpub.com/#website","url":"https://www.packtpub.com/","name":"Packt","description":"Packt website description","alternateName":["Packt Publishing","Packt Publishing Limited","packtpub","packtpub.com"],"publisher":{"@id":"https://www.packtpub.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.packtpub.com/search?query={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Product","name":"C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals","image":"https://content.packt.com/B19586/cover_image.jpg","description":"This latest edition of the bestselling Packt series will give you a solid foundation to start building projects using modern C# and .NET with confidence.\n\nYou'll learn about object-oriented programming; writing, testing, and debugging functions; and implementing interfaces. You'll take on .NET APIs for managing and querying data, working with the fi lesystem, and serialization. As you progress, you'll explore examples of cross-platform projects you can build and deploy, such as websites and services using ASP.NET Core.\n\nThis latest edition integrates .NET 8 enhancements into its examples: type aliasing and primary constructors for concise and expressive code. You'll handle errors robustly through the new built-in guard clauses and explore a simplified implementation of caching in ASP.NET Core 8.\n\nIf that's not enough, you'll also see how native ahead-of-time (AOT) compiler publish lets web services reduce memory use and run faster. You'll work with the seamless new HTTP editor in Visual Studio 2022 to enhance the testing and debugging process. You'll even get introduced to Blazor Full Stack with its new unified hosting model for unparalleled web development flexibility.","gtin":"1837631980","gtin14":"9781837631988","sku":"B19586","brand":{"@type":"Brand","name":"Packt"},"aggregateRating":{"@type":"AggregateRating","ratingValue":4.4,"reviewCount":72},"offers":{"@type":"Offer","url":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988","itemCondition":"https://schema.org/NewCondition","availability":"https://schema.org/InStock","price":44.99,"category":"Paid","priceCurrency":"SGD","priceValidUntil":"2024-12-08","hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","applicableCountry":"SG","returnPolicyCategory":"https://schema.org/MerchantReturnFiniteReturnWindow","merchantReturnDays":60,"returnMethod":"https://schema.org/ReturnByMail","returnFees":"https://schema.org/FreeReturn"},"shippingDetails":[{"@type":"OfferShippingDetails","shippingRate":{"@type":"MonetaryAmount","value":"0","currency":"SGD"},"shippingDestination":[{"@type":"DefinedRegion","addressCountry":"SG"}]}]}},{"@type":"Book","@id":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988","url":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988","name":"C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals","author":[{"@type":"Person","@id":"https://www.packtpub.com/authors/mark-j-dot-price","name":"Mark J. Price","url":"https://www.packtpub.com/authors/mark-j-dot-price","sameAs":["https://www.linkedin.com/in/markjamesprice/","https://www.packtpub.com/authors/mark-j-dot-price"]}],"sameAs":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988","workExample":[{"@type":"Book","@id":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988","isbn":"9781837631988","bookEdition":"8","bookFormat":"https://schema.org/EBook","inLanguage":"en","url":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988","datePublished":"2023-11-14 00:00:00","identifier":{"@type":"PropertyValue","propertyID":"OCLC_NUMBER","value":"9781837631988"},"potentialAction":{"@type":"ReadAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/hello-c-welcome-net-ch01lvl1sec01","actionPlatform":["https://schema.org/DesktopWebPlatform","https://schema.org/AndroidPlatform","https://schema.org/IOSPlatform"]},"expectsAcceptanceOf":[{"@type":"Offer","category":"subscription","availabilityStarts":"2023-11-14 00:00:00","availabilityEnds":"2250-06-30T23:59:00-04:00","eligibleRegion":{"@type":"Country","name":"SG"}},{"@type":"Offer","category":"nologinrequired","availabilityStarts":"2023-11-14 00:00:00","availabilityEnds":"2250-06-30T23:59:00-04:00","eligibleRegion":{"@type":"Country","name":"SG"}}]}}]},[{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Print","item":"https://www.packtpub.com/EBook"},{"@type":"ListItem","position":2,"name":"Web Development","item":"https://www.packtpub.com/EBook/Web-Development"}]},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Print","item":"https://www.packtpub.com/EBook"},{"@type":"ListItem","position":2,"name":"Web Development","item":"https://www.packtpub.com/EBook/Web-Development"},{"@type":"ListItem","position":3,"name":"Best Sellers","item":"https://www.packtpub.com/EBook/Web-Development/Best-Sellers"}]}]]} </script> <script> window.cartItems = []; </script> <script async src="https://91519dce225c6867.packtpub.com/gtag/js?id=G-Q4R8G7SJDK"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', "G-Q4R8G7SJDK", { 'server_container_url': 'https://91519dce225c6867.packtpub.com', }); gtag('set', 'user_properties', { 'user_locale': 'en-sg', }); gtag('config', 'G-Q4R8G7SJDK', { 'page_locale': 'en-sg', 'page_country': 'sg', 'page_currency': 'SGD' }); </script> </head> <body> <noscript> <iframe src="https://91519dce225c6867.packtpub.com/ns.html?id=GTM-N8ZG435Z" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <header class="header-sticky header"> <div class="rebuild-container header-wrapper"> <a href="https://www.packtpub.com/en-sg" class="header-logo-link"> <img src="https://www.packtpub.com/rebuild/build/assets/packt-Dz-8EKdV.svg" alt="Packt" class="header-logo"> </a> <form class="search desktop" data-search="https://www.packtpub.com/api/rebuild/header/search" data-method="POST" action="https://www.packtpub.com/en-sg/search" > <img src="https://www.packtpub.com/rebuild/build/assets/search-BHSZlKFs.svg" class="svg-icon icon icon-2 search-box-icon" alt="Search icon" /> <input type="text" name="query" class="search-input" placeholder="Search..." id="search" autocomplete="off" /> <span class="loader d-none"></span> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon search-close d-none" alt="Close icon" /> <div class="search-results d-none scrollbar" id="results"></div> </form> <div class="header-search-mobile device"> <img src="https://www.packtpub.com/rebuild/build/assets/search-BHSZlKFs.svg" class="svg-icon icon icon-2 search-box-icon mobile-search-icon" data-toggle="search, header-logo, header-actions, header-logo-link, mobile-search-close:d-none, mobile-search-icon:d-none" data-toggle-override="desktop" alt="Search icon" /> <span class="mobile-search-close d-none" data-toggle="search, header-logo, header-actions, header-logo-link, mobile-search-close:d-none, mobile-search-icon:d-none" data-toggle-override="desktop" > CANCEL </span> </div> <script> window.searchIcon = "https:\/\/www.packtpub.com\/rebuild\/build\/assets\/search-BHSZlKFs.svg"; window.countryCode = "sg"; </script> <div class="header-actions"> <a class="header-actions-link desktop" href="https://www.packtpub.com/en-sg/subscribe" > Subscription </a> <div class="header-cart"> <span class="header-cart-count"> 0 </span> <div class="header-cart-basket" data-dropdown-target="header-cart-dropdown" > <img src="https://www.packtpub.com/rebuild/build/assets/cart-DmoNpZZc.svg" class="svg-icon icon icon-5" alt="Cart icon" /> <div class="header-dropdown-active header-dropdown-active-left" id="header-cart-dropdown" data-dropdown-target="header-cart-dropdown" data-analytics-type="view_cart" data-analytics-currency="SGD" > <div class="header-dropdown-active-wrapper header-dropdown-active-wrapper-border"> <div class="header-dropdown-active-header device"> <div class="header-dropdown-active-header-placeholder"> Your Cart <span>(0 item)</span> </div> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon icon icon-1" data-dropdown-target="header-cart-dropdown" alt="Close icon" /> </div> <div class="header-dropdown-active-body "> You have no products in your basket yet <div class="header-cart-discount"> <div class="header-cart-discount-toggle"> <span class="header-cart-discount-toggle-text">Save more on your purchases now!</span> <span class="header-cart-discount-toggle-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon-2 toggle-icon rotated" alt="discount-offer-chevron-icon" /> </span> </div> <div id="discountInfo" class="header-cart-discount-info"> <div class="header-cart-discount-options-option"> <input type="checkbox" disabled> <label>Buy <b>2</b> products and save <b>10%</b></label> </div> <div class="header-cart-discount-options-option"> <input type="checkbox" disabled> <label>Buy <b>3</b> products and save <b>15%</b></label> </div> <div class="header-cart-discount-options-option"> <input type="checkbox" disabled> <label>Buy <b>5</b> products and save <b>20%</b></label> </div> <span>Savings automatically calculated. No voucher code required.</span> </div> </div> </div> </div> </div> </div> </div> <div class="header-user"> <div class="header-user-account" data-dropdown-target="header-user-dropdown" > <img src="https://www.packtpub.com/rebuild/build/assets/profile-RD2gMNMF.svg" class="svg-icon icon icon--light icon-4" alt="Profile icon" /> <div class="header-dropdown-active " id="header-user-dropdown" data-dropdown-target="header-user-dropdown"> <div class="header-dropdown-active-wrapper header-dropdown-active-wrapper-border"> <div class="header-dropdown-active-header device"> <div class="header-dropdown-active-header-placeholder">Account</div> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon icon icon-4" data-dropdown-target="header-user-dropdown" alt="Close icon" /> </div> <div class="header-dropdown-active-body"> <div class="header-dropdown-active-body"> <a class="rebuild-btn rebuild-btn-primary" href="https://www.packtpub.com/login?returnUrl=https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988">Sign in</a> <span>New User? <a href="https://www.packtpub.com/register?returnUrl=https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988">Create Account</a></span> </div> <div class="header-dropdown-active-footer-seperator"></div> <a href="https://www.packtpub.com/my-account/subscription" class="header-dropdown-active-footer-link" > Your Subscription </a> <a href="https://www.packtpub.com/owned" class="header-dropdown-active-footer-link"> Your Owned Titles</a> <a href="https://www.packtpub.com/my-account/details" class="header-dropdown-active-footer-link"> Your Account</a> <a href="https://www.packtpub.com/my-account/orders" class="header-dropdown-active-footer-link"> Your Orders </a> <div class="header-dropdown-active-footer-seperator"></div> <div class="header-dropdown-active-footer-country" data-modal-open="country-modal"> <span>Country Selection:</span> <img loading="lazy" src="/images/countries/singapore.png" alt="countryFlag" class="header-dropdown-active-footer-country-flag" width="25" height="18" /> </div> </div> </div> </div> </div> <div id="country-modal" class="rebuild-modal d-none"> <div class="rebuild-modal-content "> <div class="rebuild-modal-content-header"> <h2 class="rebuild-modal-content-header-title">Change country</h2> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon icon icon-4" data-modal-close="country-modal" alt="Modal Close icon" /> </div> <div class="rebuild-modal-content-body scrollbar"> <div class="header-countrypicker-body-wrapper"> <div class="header-countrypicker-body-wrapper-input"> <img src="https://www.packtpub.com/rebuild/build/assets/search-BHSZlKFs.svg" class="svg-icon icon-2" alt="Country selected" /> <input type="text" placeholder="Search country" id="SearchCountry" data-search-input class="header-countrypicker-body-wrapper-input-input"> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon icon-2 d-none" data-search-input-cancel="" alt="Country selected" /> </div> <div class="header-countrypicker-body-wrapper-result"> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-us/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/us.png" alt="country flag" loading="lazy" > <span>United States</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-gb/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/gb.png" alt="country flag" loading="lazy" > <span>United Kingdom</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-in/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/india.png" alt="country flag" loading="lazy" > <span>India</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-de/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/germany.png" alt="country flag" loading="lazy" > <span>Germany</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-fr/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/france.png" alt="country flag" loading="lazy" > <span>France</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ca/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/canada.png" alt="country flag" loading="lazy" > <span>Canada</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ru/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/russia.png" alt="country flag" loading="lazy" > <span>Russia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-es/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/spain.png" alt="country flag" loading="lazy" > <span>Spain</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-br/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/brazil.png" alt="country flag" loading="lazy" > <span>Brazil</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-au/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/australia.png" alt="country flag" loading="lazy" > <span>Australia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <hr class="header-countrypicker-body-seprator"> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ar/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/argentina.png" alt="country flag" loading="lazy" > <span>Argentina</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-at/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/austria.png" alt="country flag" loading="lazy" > <span>Austria</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-be/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/belgium.png" alt="country flag" loading="lazy" > <span>Belgium</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-bg/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="https://cdn.packtpub.com/flag/004da5c4-583f-4e69-a0a8-0e999f350f90_128px-Flag_of_Bulgaria.png" alt="country flag" loading="lazy" > <span>Bulgaria</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-cl/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/chile.png" alt="country flag" loading="lazy" > <span>Chile </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-co/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/colombia.png" alt="country flag" loading="lazy" > <span>Colombia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-cy/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/cyprus.png" alt="country flag" loading="lazy" > <span>Cyprus</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-cz/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/czech.png" alt="country flag" loading="lazy" > <span>Czechia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-dk/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/denmark.png" alt="country flag" loading="lazy" > <span>Denmark</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ec/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/ecuador.png" alt="country flag" loading="lazy" > <span>Ecuador</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-eg/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/egypt.png" alt="country flag" loading="lazy" > <span>Egypt </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ee/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/estonia.png" alt="country flag" loading="lazy" > <span>Estonia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-fi/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/finland.png" alt="country flag" loading="lazy" > <span>Finland</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-gr/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/greece.png" alt="country flag" loading="lazy" > <span>Greece</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-hu/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/hungary.png" alt="country flag" loading="lazy" > <span>Hungary</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-id/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/indonesia.png" alt="country flag" loading="lazy" > <span>Indonesia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ie/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/ireland.png" alt="country flag" loading="lazy" > <span>Ireland</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-it/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/italy.png" alt="country flag" loading="lazy" > <span>Italy</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-jp/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/japan.png" alt="country flag" loading="lazy" > <span>Japan</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-lv/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/latvia.png" alt="country flag" loading="lazy" > <span>Latvia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-lt/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/lithuania.png" alt="country flag" loading="lazy" > <span>Lithuania</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-lu/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/lux.png" alt="country flag" loading="lazy" > <span>Luxembourg</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-my/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/malaysia.png" alt="country flag" loading="lazy" > <span>Malaysia </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-mt/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/malta.png" alt="country flag" loading="lazy" > <span>Malta</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-mx/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/mexico.png" alt="country flag" loading="lazy" > <span>Mexico</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-nl/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/netherlands.png" alt="country flag" loading="lazy" > <span>Netherlands</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-nz/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/newzealand.png" alt="country flag" loading="lazy" > <span>New Zealand</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-no/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/norway.png" alt="country flag" loading="lazy" > <span>Norway </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ph/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/philippines.png" alt="country flag" loading="lazy" > <span>Philippines</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-pl/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/poland.png" alt="country flag" loading="lazy" > <span>Poland</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-pt/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/portugal.png" alt="country flag" loading="lazy" > <span>Portugal</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ro/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/romania.png" alt="country flag" loading="lazy" > <span>Romania</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country active" href="https://www.packtpub.com/en-sg/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/singapore.png" alt="country flag" loading="lazy" > <span>Singapore</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-sk/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/slovakia.png" alt="country flag" loading="lazy" > <span>Slovakia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-si/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/slovenia.png" alt="country flag" loading="lazy" > <span>Slovenia</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-za/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/southafrica.png" alt="country flag" loading="lazy" > <span>South Africa </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-kr/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/southkorea.png" alt="country flag" loading="lazy" > <span>South Korea</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-se/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/sweden.png" alt="country flag" loading="lazy" > <span>Sweden</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ch/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/switzerland.png" alt="country flag" loading="lazy" > <span>Switzerland</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-tw/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/taiwan.png" alt="country flag" loading="lazy" > <span>Taiwan</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-th/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/thailand.png" alt="country flag" loading="lazy" > <span>Thailand </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-tr/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/turkey.png" alt="country flag" loading="lazy" > <span>Turkey </span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> <a class="header-countrypicker-body-country " href="https://www.packtpub.com/en-ua/product/c-sharp-12-and-dot-net-8-modern-cross-platform-development-fundamentals-9781837631988" > <div class="header-countrypicker-body-country-flag"> <img src="/images/countries/ukraine.png" alt="country flag" loading="lazy" > <span>Ukraine</span> <div class="tick "> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon icon icon-2" alt="Country selected" /> </div> </div> </a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="rebuild-container header-submenu"> <div class="rebuild-horizontal-scroll "> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-left-O2MWvx1q.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="left" alt="Arrow left icon" /> <div class="rebuild-horizontal-scroll-body"> <div class="header-submenu-items"> <div class="header-submenu-items-item mega-header-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="0" > Explore Products <div class="caret"></div> <div id="dropdown-menu-container-0"></div> </div> <div class="header-submenu-items-item mega-header-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="1" > Best Sellers <div class="caret"></div> <div id="dropdown-menu-container-1"></div> </div> <div class="header-submenu-items-item mega-header-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="2" > New Releases <div class="caret"></div> <div id="dropdown-menu-container-2"></div> </div> <div class="header-submenu-items-item mega-header-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="3" > Books <div class="caret"></div> <div id="dropdown-menu-container-3"></div> </div> <div class="header-submenu-items-item mega-header-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="4" > Videos <div class="caret"></div> <div id="dropdown-menu-container-4"></div> </div> <div class="header-submenu-items-item mega-header-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="5" > Audiobooks <div class="caret"></div> <div id="dropdown-menu-container-5"></div> </div> <a href="/en-sg/learning" class="header-submenu-items-link "> <div> Learning Hub </div> </a> <a href="https://www.packtpub.com/conference/put-gen-ai-in-action-2024" class="header-submenu-items-link "> <div> Conferences </div> </a> <div class="header-submenu-items-item" data-toggle="header-overlay-bottom" data-header-menu-toggle="8" > Free Learning <div class="caret"></div> <div id="dropdown-menu-container-8"></div> </div> </div> </div> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-right-eT5j42si.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="right" alt="Arrow right icon" /> </div> </div> <script> window.headerMenuData = {"labels":[{"name":"Explore Products","border":false,"status":true,"mega":true},{"name":"Best Sellers","border":false,"status":true,"mega":true},{"name":"New Releases","border":false,"status":true,"mega":true},{"name":"Books","border":false,"status":true,"mega":true},{"name":"Videos","border":false,"status":true,"mega":true},{"name":"Audiobooks","border":false,"status":true,"mega":true},{"name":"Learning Hub","link":"\/en-sg\/learning","border":false,"status":true,"mega":false},{"name":"Conferences","link":"https:\/\/www.packtpub.com\/conference\/put-gen-ai-in-action-2024","border":false,"status":true,"mega":false},{"name":"Free Learning","border":false,"status":true,"mega":false}],"categories":{"Data":{"key":0,"name":"Data","slug":"data"},"Web Development":{"key":1,"name":"Web Development","slug":"web-development"},"Programming":{"key":2,"name":"Programming","slug":"programming"},"Cloud and Networking":{"key":3,"name":"Cloud and Networking","slug":"cloud-and-networking"},"Security":{"key":4,"name":"Security","slug":"security"},"Game Development":{"key":5,"name":"Game Development","slug":"game-development"},"Mobile":{"key":6,"name":"Mobile","slug":"mobile"},"IoT and Hardware":{"key":7,"name":"IoT and Hardware","slug":"iot-and-hardware"},"Business and Other":{"key":8,"name":"Business and Other","slug":"business-and-other"}},"menus":[{"defaultSubject":"Data","title":null,"items":[{"name":"Data","link":"\/data","list":[{"name":"Concept","items":[{"name":"Data Science","link":"\/data\/concept\/data-science"},{"name":"Machine Learning","link":"\/data\/concept\/machine-learning"},{"name":"GPT\/LLMs","link":"\/data\/concept\/gptllms"},{"name":"Data Analysis","link":"\/data\/concept\/data-analysis"},{"name":"Business Intelligence","link":"\/data\/concept\/business-intelligence"},{"name":"Data Engineering","link":"\/data\/concept\/data-engineering"},{"name":"Financial Technology","link":"\/data\/concept\/financial-technology"},{"name":"Neural Netwoks","link":"\/data\/concept\/neural-networks"},{"name":"Databases","link":"\/data\/concept\/databases"},{"name":"Deep Learning","link":"\/data\/concept\/deep-learning"}]},{"name":"Tools","items":[{"name":"Pandas","link":"\/data\/tool\/pandas"},{"name":"TensorFlow","link":"\/data\/tool\/tensorflow"},{"name":"OpenCV","link":"\/data\/tool\/opencv"},{"name":"Power BI","link":"\/data\/tool\/power-bi"},{"name":"Tableau","link":"\/data\/tool\/tableau"},{"name":"Apache Spark","link":"\/data\/tool\/apache-spark"},{"name":"Scikit-learn","link":"\/data\/tool\/scikit-learn"},{"name":"PostgreSQL","link":"\/data\/tool\/postgresql"},{"name":"OpenCV","link":"\/data\/tool\/opencv"},{"name":"PyTorch","link":"\/data\/tool\/pytorch"}]},{"name":"Languages","items":[{"name":"Python","link":"\/data\/language\/python"},{"name":"R","link":"\/data\/language\/r"},{"name":"Java","link":"\/data\/language\/java"},{"name":"JavaScript","link":"\/data\/language\/javascript"},{"name":"SQL","link":"\/data\/language\/sql"},{"name":"C++","link":"\/data\/language\/c-plus-plus"},{"name":"DAX","link":"\/data\/language\/dax"},{"name":"Rust","link":"\/data\/language\/rust"},{"name":"Solidity","link":"\/data\/language\/solidity"},{"name":"Scala","link":"\/data\/language\/scala"}]}]},{"name":"Web Development","link":"\/web-development","list":[{"name":"Concept","items":[{"name":"Front End Web Development","link":"\/web-development\/concept\/front-end-web-development"},{"name":"Server Side Web Development","link":"\/web-development\/concept\/server-side-web-development"},{"name":"Full Stack Web Development","link":"\/web-development\/concept\/full-stack-web-development"},{"name":"Responsive Web Development","link":"\/web-development\/concept\/responsive-web-development"},{"name":"REST API","link":"\/web-development\/concept\/rest-api"},{"name":"Microservices","link":"\/web-development\/concept\/microservices"},{"name":"Test Driven Development","link":"\/web-development\/concept\/test-driven-development"},{"name":"Web AI","link":"\/web-development\/concept\/web-ai"},{"name":"Web Programming","link":"\/web-development\/concept\/web-programming"},{"name":"CMS","link":"\/web-development\/concept\/cms"}]},{"name":"Tools","items":[{"name":"React","link":"\/web-development\/tool\/react"},{"name":"Angular","link":"\/web-development\/tool\/angular"},{"name":"Django","link":"\/web-development\/tool\/django"},{"name":"ASP.NET Core","link":"\/web-development\/tool\/asp-dot-net-core"},{"name":"Bootstrap","link":"\/web-development\/tool\/bootstrap"},{"name":"Blazor","link":"\/web-development\/tool\/blazor"},{"name":"FastAPI","link":"\/web-development\/tool\/fastapi"},{"name":"Node.js","link":"\/web-development\/tool\/node-dot-js"},{"name":"Vue","link":"\/web-development\/tool\/vue"},{"name":"WordPress","link":"\/web-development\/tool\/wordpress"}]},{"name":"Languages","items":[{"name":"C#","link":"\/web-development\/language\/c-sharp"},{"name":"CSS","link":"\/web-development\/language\/css"},{"name":"Go","link":"\/web-development\/language\/go"},{"name":"Java","link":"\/web-development\/language\/java"},{"name":"JavaScript","link":"\/web-development\/language\/javascript"},{"name":"PHP","link":"\/web-development\/language\/php"},{"name":"Python","link":"\/web-development\/language\/python"},{"name":"Ruby","link":"\/web-development\/language\/ruby"},{"name":"Typescript","link":"\/web-development\/language\/typescript"},{"name":"HTML","link":"\/web-development\/language\/html"}]}]},{"name":"Programming","link":"\/programming","list":[{"name":"Concept","items":[{"name":"Data Structures and Algorithms","link":"\/programming\/concept\/data-structures-and-algorithms"},{"name":"Object Oriented Programming","link":"\/programming\/concept\/object-oriented-programming"},{"name":"Functional Programming","link":"\/programming\/concept\/functional-programming"},{"name":"Programming Languages","link":"\/programming\/concept\/programming-language"},{"name":"Concurrency","link":"\/programming\/concept\/concurrency"},{"name":"Software Architecture","link":"\/programming\/concept\/software-architecture"},{"name":"Application Development","link":"\/programming\/concept\/application-development"},{"name":"Design Patterns","link":"\/programming\/concept\/design-patterns"},{"name":"High Performance Programming","link":"\/programming\/concept\/high-performance-programming"},{"name":"System Programming","link":"\/programming\/concept\/system-programming"}]},{"name":"Tools","items":[{"name":".NET Core","link":"\/programming\/tool\/dot-net-core"},{"name":"Spring","link":"\/programming\/tool\/spring"},{"name":"Java EE","link":"\/programming\/tool\/java-ee"},{"name":"Spring Boot","link":"\/programming\/tool\/spring-boot"},{"name":"Visual Studio","link":"\/programming\/tool\/visual-studio"},{"name":"Spring","link":"\/programming\/tool\/spring"},{"name":"Qt","link":"\/programming\/tool\/qt"},{"name":"Selenium","link":"\/programming\/tool\/selenium"},{"name":"Git","link":"\/programming\/tool\/git"},{"name":".NET","link":"\/programming\/tool\/dot-net"}]},{"name":"Languages","items":[{"name":"Java","link":"\/programming\/language\/java"},{"name":"Python","link":"\/programming\/language\/python"},{"name":"C#","link":"\/programming\/language\/c-sharp"},{"name":"JavaScript","link":"\/programming\/language\/javascript"},{"name":"C++","link":"\/programming\/language\/c-plus-plus"},{"name":"Go","link":"\/programming\/language\/go"},{"name":"Kotlin","link":"\/programming\/language\/kotlin"},{"name":"Rust","link":"\/programming\/language\/rust"},{"name":"Scala","link":"\/programming\/language\/scala"},{"name":"Swift","link":"\/programming\/language\/swift"}]}]},{"name":"Cloud and Networking","link":"\/cloud-and-networking","list":[{"name":"Concept","items":[{"name":"Cloud Computing","link":"\/cloud-and-networking\/concept\/cloud-computing"},{"name":"Containerization","link":"\/cloud-and-networking\/concept\/containerization"},{"name":"DevOps","link":"\/cloud-and-networking\/concept\/devops"},{"name":"Continuous Integration","link":"\/cloud-and-networking\/concept\/continuous-integration"},{"name":"Cloud Native","link":"\/cloud-and-networking\/concept\/cloud-native"},{"name":"System Administration","link":"\/cloud-and-networking\/concept\/system-administration"},{"name":"Networking","link":"\/cloud-and-networking\/concept\/networking"},{"name":"Network Security","link":"\/cloud-and-networking\/concept\/network-security"},{"name":"Servers","link":"\/cloud-and-networking\/concept\/servers"},{"name":"Shell Scripting","link":"\/cloud-and-networking\/concept\/shell-scripting"}]},{"name":"Tools","items":[{"name":"Azure","link":"\/cloud-and-networking\/tool\/azure"},{"name":"AWS","link":"\/cloud-and-networking\/tool\/aws"},{"name":"Docker","link":"\/cloud-and-networking\/tool\/docker"},{"name":"Kubernetes","link":"\/cloud-and-networking\/tool\/kubernetes"},{"name":"Linux","link":"\/cloud-and-networking\/tool\/linux"},{"name":"Jenkins","link":"\/cloud-and-networking\/tool\/jenkins"},{"name":"Ansible","link":"\/cloud-and-networking\/tool\/ansible"},{"name":"Windows Server","link":"\/cloud-and-networking\/tool\/windows-server"},{"name":"Google Cloud Platform","link":"\/cloud-and-networking\/tool\/google-cloud-platform"},{"name":"Puppet","link":"\/cloud-and-networking\/tool\/puppet"}]},{"name":"Languages","items":[{"name":"Python","link":"\/cloud-and-networking\/language\/python"},{"name":"Java","link":"\/cloud-and-networking\/language\/java"},{"name":"C#","link":"\/cloud-and-networking\/language\/c-sharp"},{"name":"C","link":"\/cloud-and-networking\/language\/c"},{"name":"Go","link":"\/cloud-and-networking\/language\/go"},{"name":"PowerShell","link":"\/cloud-and-networking\/language\/powershell"},{"name":"JavaScript","link":"\/cloud-and-networking\/language\/javascript"},{"name":"C++","link":"\/cloud-and-networking\/language\/c-plus-plus"},{"name":"Bash","link":"\/cloud-and-networking\/language\/bash"}]}]},{"name":"Security","link":"\/security","list":[{"name":"Concept","items":[{"name":"Cloud Security","link":"\/security\/concept\/cloud-security"},{"name":"Cryptography","link":"\/security\/concept\/cryptography"},{"name":"Cybersecurity","link":"\/security\/concept\/cybersecurity"},{"name":"Application Security","link":"\/security\/concept\/application-security"},{"name":"Forensics","link":"\/security\/concept\/forensics"},{"name":"Information Security","link":"\/security\/concept\/information-security"},{"name":"Malware Analysis","link":"\/security\/concept\/malware-analysis"},{"name":"Operating Systems","link":"\/security\/concept\/operating-systems"},{"name":"Penetration Testing","link":"\/security\/concept\/penetration-testing"},{"name":"Threat Hunting","link":"\/security\/concept\/threat-hunting"}]},{"name":"Tools","items":[{"name":"Kali Linux","link":"\/security\/tool\/kali-linux"},{"name":"Metasploit","link":"\/security\/tool\/metasploit"},{"name":"Linux","link":"\/security\/tool\/linux"},{"name":"Burp Suite","link":"\/security\/tool\/burp-suite"},{"name":"Azure","link":"\/security\/tool\/azure"},{"name":"Wireshark","link":"\/security\/tool\/wireshark"},{"name":"Nmap","link":"\/security\/tool\/nmap"},{"name":"Windows OS","link":"\/security\/tool\/windows-os"},{"name":"Bash","link":"\/security\/tool\/bash"},{"name":"AWS","link":"\/security\/tool\/aws"}]},{"name":"Languages","items":[{"name":"Python","link":"\/security\/language\/python"},{"name":"C","link":"\/security\/language\/c"},{"name":"C++","link":"\/security\/language\/c-plus-plus"},{"name":"Java","link":"\/security\/language\/java"},{"name":"Assembly","link":"\/security\/language\/assembly"},{"name":"Perl","link":"\/security\/language\/perl"}]}]},{"name":"Game Development","link":"\/game-development","list":[{"name":"Concept","items":[{"name":"3D Game Development","link":"\/game-development\/concept\/3d-game-development"},{"name":"Game Design","link":"\/game-development\/concept\/game-design"},{"name":"Game Optimization","link":"\/game-development\/concept\/game-optimization"},{"name":"Game Scripting","link":"\/game-development\/concept\/game-scripting"},{"name":"Graphics Programming","link":"\/game-development\/concept\/graphics-programming"},{"name":"Mobile Game Development","link":"\/game-development\/concept\/mobile-game-development"},{"name":"Motion Graphics","link":"\/game-development\/concept\/motion-graphics"},{"name":"Virtual Reality","link":"\/game-development\/concept\/virtual-reality"}]},{"name":"Tools","items":[{"name":"Unity","link":"\/game-development\/tool\/unity"},{"name":"Unreal","link":"\/game-development\/tool\/unreal"},{"name":"Blender","link":"\/game-development\/tool\/blender"},{"name":"Android","link":"\/game-development\/tool\/android"},{"name":"OpenGL","link":"\/game-development\/tool\/opengl"},{"name":"iOS","link":"\/game-development\/tool\/ios"},{"name":"GoDot","link":"\/game-development\/tool\/godot"},{"name":"Roblox","link":"\/game-development\/tool\/roblox"}]},{"name":"Languages","items":[{"name":"C#","link":"\/game-development\/language\/c-sharp"},{"name":"C++","link":"\/game-development\/language\/c-plus-plus"},{"name":"Java","link":"\/game-development\/language\/java"},{"name":"Python","link":"\/game-development\/language\/python"},{"name":"JavaScript","link":"\/game-development\/language\/javascript"}]}]},{"name":"Mobile","link":"\/mobile","list":[{"name":"Concept","items":[{"name":"Android Development","link":"\/mobile\/concept\/android-development"},{"name":"Augmented Reality","link":"\/mobile\/concept\/augmented-reality"},{"name":"Cross Platform Mobile Development","link":"\/mobile\/concept\/cross-platform-mobile-development"},{"name":"iOS Development","link":"\/mobile\/concept\/ios-development"},{"name":"Cross Platform Mobile Development","link":"\/mobile\/concept\/cross-platform-mobile-development"}]},{"name":"Tools","items":[{"name":"iOS","link":"\/mobile\/tool\/ios"},{"name":"Android","link":"\/mobile\/tool\/android"},{"name":"XCode","link":"\/mobile\/tool\/xcode"},{"name":".NET Core","link":"\/mobile\/tool\/dot-net-core"},{"name":"React Native","link":"\/mobile\/tool\/react-native"},{"name":"Flutter","link":"\/mobile\/tool\/flutter"},{"name":"Xamarin","link":"\/mobile\/tool\/xamarin"}]},{"name":"Languages","items":[{"name":"Java","link":"\/mobile\/language\/java"},{"name":"Swift","link":"\/mobile\/language\/swift"},{"name":"Dart","link":"\/mobile\/language\/dart"},{"name":"JavaScript","link":"\/mobile\/language\/javascript"},{"name":"C#","link":"\/mobile\/language\/c-sharp"},{"name":"Kotlin","link":"\/mobile\/language\/kotlin"},{"name":"Objective-C","link":"\/mobile\/language\/objective-c"}]}]},{"name":"IoT and Hardware","link":"\/iot-and-hardware","list":[{"name":"Concept","items":[{"name":"Embedded Systems","link":"\/iot-and-hardware\/concept\/embedded-systems"},{"name":"Single Board Computers","link":"\/iot-and-hardware\/concept\/single-board-computers"},{"name":"Internet of Things Security","link":"\/iot-and-hardware\/concept\/internet-of-things-security"},{"name":"IoT Development","link":"\/iot-and-hardware\/concept\/iot-development"},{"name":"Robotics","link":"\/iot-and-hardware\/concept\/robotics"},{"name":"System Engineering","link":"\/iot-and-hardware\/concept\/system-engineering"},{"name":"Wearable Tech","link":"\/iot-and-hardware\/concept\/wearable-tech"}]},{"name":"Tools","items":[{"name":"Arduino","link":"\/iot-and-hardware\/tool\/arduino"},{"name":"Raspberry Pi","link":"\/iot-and-hardware\/tool\/raspberry-pi"},{"name":"Beaglebone","link":"\/iot-and-hardware\/tool\/beaglebone"},{"name":"ROS","link":"\/iot-and-hardware\/tool\/ros"},{"name":"Linux","link":"\/iot-and-hardware\/tool\/linux"},{"name":"Lego Mindstorms","link":"\/iot-and-hardware\/tool\/lego-mindstorms"},{"name":"Yocto Projects","link":"\/iot-and-hardware\/tool\/yocto-project"},{"name":"ESP32","link":"\/iot-and-hardware\/tool\/esp32"}]},{"name":"Languages","items":[{"name":"Python","link":"\/iot-and-hardware\/language\/python"},{"name":"C++","link":"\/iot-and-hardware\/language\/c-plus-plus"},{"name":"C","link":"\/iot-and-hardware\/language\/c"},{"name":"Java","link":"\/iot-and-hardware\/language\/java"},{"name":"JavaScript","link":"\/iot-and-hardware\/language\/javascript"}]}]},{"name":"Business and Other","link":"\/business-and-other","list":[{"name":"Concept","items":[{"name":"Animation","link":"\/business-and-other\/concept\/animation"},{"name":"Business Management","link":"\/business-and-other\/concept\/business-management"},{"name":"Computer Aided Design","link":"\/business-and-other\/concept\/computer-aided-design"},{"name":"Document Preparation","link":"\/business-and-other\/concept\/document-preparation"},{"name":"Enterprise Resource Planning","link":"\/business-and-other\/concept\/enterprise-resource-planning"},{"name":"Project Management","link":"\/business-and-other\/concept\/project-management"},{"name":"Robotic Process Automation","link":"\/business-and-other\/concept\/robotic-process-automation"},{"name":"Soft Skills","link":"\/business-and-other\/concept\/soft-skills"},{"name":"UI Development","link":"\/business-and-other\/concept\/ui-development"},{"name":"Workflow Automation","link":"\/business-and-other\/concept\/workflow-automation"}]},{"name":"Tools","items":[{"name":"JIRA","link":"\/business-and-other\/tool\/jira"},{"name":"Dynamics 365","link":"\/business-and-other\/tool\/dynamics-365"},{"name":"Office 365","link":"\/business-and-other\/tool\/office-365"},{"name":"AutoCAD","link":"\/business-and-other\/tool\/autocad"},{"name":"UiPath","link":"\/business-and-other\/tool\/uipath"},{"name":"Salesforce","link":"\/business-and-other\/tool\/salesforce"},{"name":"Microsoft Power Platform","link":"\/business-and-other\/tool\/power-platform"},{"name":"Odoo","link":"\/business-and-other\/tool\/odoo"},{"name":"Excel","link":"\/business-and-other\/tool\/excel"},{"name":"PhotoShop","link":"\/business-and-other\/tool\/photoshop"}]},{"name":"Languages","items":[{"name":"Java","link":"\/business-and-other\/language\/java"},{"name":"C#","link":"\/business-and-other\/language\/c-sharp"},{"name":"Python","link":"\/business-and-other\/language\/python"},{"name":"C++","link":"\/business-and-other\/language\/c-plus-plus"},{"name":"JavaScript","link":"\/business-and-other\/language\/javascript"}]}]}]},{"defaultSubject":"Data","title":"Best Sellers","items":[{"name":"Data","link":"\/data","list":[{"name":"Python Machine Learning","link":"\/product\/python-machine-learning-9781789955750","image":"https:\/\/content.packt.com\/B13208\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B13208\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B13208\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B13208\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B13208\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B13208\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B13208\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B13208\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B13208\/cover_image_small.png 810w"},{"name":"Machine Learning for Algorithmic Trading","link":"\/product\/machine-learning-for-algorithmic-trading-9781839217715","image":"https:\/\/content.packt.com\/B15439\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15439\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15439\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15439\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15439\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15439\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15439\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15439\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15439\/cover_image_small.jpg 810w"},{"name":"Machine Learning with PyTorch and Scikit-Learn","link":"\/product\/machine-learning-with-pytorch-and-scikit-learn-9781801819312","image":"https:\/\/content.packt.com\/B17582\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17582\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17582\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17582\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17582\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17582\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17582\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17582\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17582\/cover_image_small.jpg 810w"},{"name":"Mastering Microsoft Power BI","link":"\/product\/mastering-microsoft-power-bi-9781801811484","image":"https:\/\/content.packt.com\/B17766\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17766\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17766\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17766\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17766\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17766\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17766\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17766\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17766\/cover_image_small.jpg 810w"},{"name":"Learn Power BI","link":"\/product\/learn-power-bi-9781801811958","image":"https:\/\/content.packt.com\/B17817\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17817\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17817\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17817\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17817\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17817\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17817\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17817\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17817\/cover_image_small.png 810w"},{"name":"Modern Time Series Forecasting with Python","link":"\/product\/modern-time-series-forecasting-with-python-9781803246802","image":"https:\/\/content.packt.com\/B17959\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17959\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17959\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17959\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17959\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17959\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17959\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17959\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17959\/cover_image_small.jpg 810w"},{"name":"Python for Finance Cookbook","link":"\/product\/python-for-finance-cookbook-9781803243191","image":"https:\/\/content.packt.com\/B18112\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18112\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18112\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18112\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18112\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18112\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18112\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18112\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18112\/cover_image_small.jpg 810w"},{"name":"Deep Learning with TensorFlow and Keras","link":"\/product\/deep-learning-with-tensorflow-and-keras-9781803232911","image":"https:\/\/content.packt.com\/B18331\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18331\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18331\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18331\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18331\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18331\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18331\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18331\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18331\/cover_image_small.jpg 810w"},{"name":"Interpretable Machine Learning with Python","link":"\/product\/interpretable-machine-learning-with-python-9781803235424","image":"https:\/\/content.packt.com\/B18406\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18406\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18406\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18406\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18406\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18406\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18406\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18406\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18406\/cover_image_small.jpg 810w"},{"name":"Mastering Tableau 2023","link":"\/product\/mastering-tableau-2023-9781803233765","image":"https:\/\/content.packt.com\/B18435\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18435\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18435\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18435\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18435\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18435\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18435\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18435\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18435\/cover_image_small.png 810w"},{"name":"Streamlit for Data Science","link":"\/product\/streamlit-for-data-science-9781803248226","image":"https:\/\/content.packt.com\/B18444\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18444\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18444\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18444\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18444\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18444\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18444\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18444\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18444\/cover_image_small.jpg 810w"},{"name":"Expert Data Modeling with Power BI","link":"\/product\/expert-data-modeling-with-power-bi-9781803246246","image":"https:\/\/content.packt.com\/B18458\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18458\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18458\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18458\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18458\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18458\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18458\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18458\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18458\/cover_image_small.jpg 810w"},{"name":"The AI Product Manager\u0027s Handbook","link":"\/product\/the-ai-product-managers-handbook-9781804612934","image":"https:\/\/content.packt.com\/B18935\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18935\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18935\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18935\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18935\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18935\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18935\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18935\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18935\/cover_image_small.jpg 810w"},{"name":"Causal Inference and Discovery in Python","link":"\/product\/causal-inference-and-discovery-in-python-9781804612989","image":"https:\/\/content.packt.com\/B18993\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18993\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18993\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18993\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18993\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18993\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18993\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18993\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18993\/cover_image_small.jpg 810w"},{"name":"Microsoft Power BI Quick Start Guide","link":"\/product\/microsoft-power-bi-quick-start-guide-9781804613498","image":"https:\/\/content.packt.com\/B19089\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19089\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19089\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19089\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19089\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19089\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19089\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19089\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19089\/cover_image_small.jpg 810w"},{"name":"Hands-On Graph Neural Networks Using Python.","link":"\/product\/hands-on-graph-neural-networks-using-python-9781804617526","image":"https:\/\/content.packt.com\/B19153\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19153\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19153\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19153\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19153\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19153\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19153\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19153\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19153\/cover_image_small.jpg 810w"},{"name":"Data Modeling with Snowflake","link":"\/product\/data-modeling-with-snowflake-9781837634453","image":"https:\/\/content.packt.com\/B19467\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19467\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19467\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19467\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19467\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19467\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19467\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19467\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19467\/cover_image_small.jpg 810w"},{"name":"Machine Learning Engineering with Python","link":"\/product\/machine-learning-engineering-with-python-9781837631964","image":"https:\/\/content.packt.com\/B19525\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19525\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19525\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19525\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19525\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19525\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19525\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19525\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19525\/cover_image_small.jpg 810w"},{"name":"Et al.","link":"\/product\/et-al-9781837632572","image":"https:\/\/content.packt.com\/B19719\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19719\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19719\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19719\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19719\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19719\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19719\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19719\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19719\/cover_image_small.jpg 810w"},{"name":"Modern Generative AI with ChatGPT and OpenAI Models","link":"\/product\/modern-generative-ai-with-chatgpt-and-openai-models-9781805123330","image":"https:\/\/content.packt.com\/B19904\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19904\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19904\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19904\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19904\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19904\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19904\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19904\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19904\/cover_image_small.jpg 810w"}]},{"name":"Web Development","link":"\/web-development","list":[{"name":"Node.js Design Patterns","link":"\/product\/nodejs-design-patterns-9781839214110","image":"https:\/\/content.packt.com\/B15729\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15729\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15729\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15729\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15729\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15729\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15729\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15729\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15729\/cover_image_small.jpg 810w"},{"name":"JavaScript from Beginner to Professional","link":"\/product\/javascript-from-beginner-to-professional-9781800562523","image":"https:\/\/content.packt.com\/B16682\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16682\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16682\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16682\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16682\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16682\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16682\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16682\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16682\/cover_image_small.png 810w"},{"name":"Real-World Next.js","link":"\/product\/real-world-nextjs-9781801073493","image":"https:\/\/content.packt.com\/B16985\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16985\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16985\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16985\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16985\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16985\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16985\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16985\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16985\/cover_image_small.png 810w"},{"name":"React Application Architecture for Production","link":"\/product\/react-application-architecture-for-production-9781801070539","image":"https:\/\/content.packt.com\/B17297\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17297\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17297\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17297\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17297\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17297\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17297\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17297\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17297\/cover_image_small.jpg 810w"},{"name":"Django 4 By Example","link":"\/product\/django-4-by-example-9781801813051","image":"https:\/\/content.packt.com\/B17763\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17763\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17763\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17763\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17763\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17763\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17763\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17763\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17763\/cover_image_small.jpg 810w"},{"name":"React 18 Design Patterns and Best Practices","link":"\/product\/react-18-design-patterns-and-best-practices-9781803233109","image":"https:\/\/content.packt.com\/B18414\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18414\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18414\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18414\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18414\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18414\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18414\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18414\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18414\/cover_image_small.jpg 810w"},{"name":"Layered Design for Ruby on Rails Applications","link":"\/product\/layered-design-for-ruby-on-rails-applications-9781801813785","image":"https:\/\/content.packt.com\/B17858\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17858\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17858\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17858\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17858\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17858\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17858\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17858\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17858\/cover_image_small.jpg 810w"},{"name":"Learning Spring Boot 3.0","link":"\/product\/learning-spring-boot-30-9781803233307","image":"https:\/\/content.packt.com\/B18012\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18012\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18012\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18012\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18012\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18012\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18012\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18012\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18012\/cover_image_small.jpg 810w"},{"name":"React Key Concepts","link":"\/product\/react-key-concepts-9781803234502","image":"https:\/\/content.packt.com\/B18084\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18084\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18084\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18084\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18084\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18084\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18084\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18084\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18084\/cover_image_small.jpg 810w"},{"name":"Angular Projects","link":"\/product\/angular-projects-9781803239118","image":"https:\/\/content.packt.com\/B18465\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18465\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18465\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18465\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18465\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18465\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18465\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18465\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18465\/cover_image_small.jpg 810w"},{"name":"Learning Angular","link":"\/product\/learning-angular-9781803240602","image":"https:\/\/content.packt.com\/B18468\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18468\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18468\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18468\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18468\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18468\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18468\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18468\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18468\/cover_image_small.jpg 810w"},{"name":"Blazor WebAssembly by Example","link":"\/product\/blazor-webassembly-by-example-9781803241852","image":"https:\/\/content.packt.com\/B18471\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18471\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18471\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18471\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18471\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18471\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18471\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18471\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18471\/cover_image_small.jpg 810w"},{"name":"Web Development with Blazor, 2e","link":"\/product\/web-development-with-blazor-9781803241494","image":"https:\/\/content.packt.com\/B18549\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18549\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18549\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18549\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18549\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18549\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18549\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18549\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18549\/cover_image_small.jpg 810w"},{"name":"Responsive Web Design with HTML5 and CSS","link":"\/product\/responsive-web-design-with-html5-and-css-9781803242712","image":"https:\/\/content.packt.com\/B18550\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18550\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18550\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18550\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18550\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18550\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18550\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18550\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18550\/cover_image_small.jpg 810w"},{"name":"Modernizing Drupal 10 Theme Development","link":"\/product\/modernizing-drupal-10-theme-development-9781803238098","image":"https:\/\/content.packt.com\/B18659\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18659\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18659\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18659\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18659\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18659\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18659\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18659\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18659\/cover_image_small.jpg 810w"},{"name":"Learn React with TypeScript","link":"\/product\/learn-react-with-typescript-9781804614204","image":"https:\/\/content.packt.com\/B19051\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19051\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19051\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19051\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19051\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19051\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19051\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19051\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19051\/cover_image_small.jpg 810w"},{"name":"Microservices Design Patterns in .NET","link":"\/product\/microservices-design-patterns-in-net-9781804610305","image":"https:\/\/content.packt.com\/B19100\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19100\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19100\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19100\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19100\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19100\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19100\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19100\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19100\/cover_image_small.jpg 810w"},{"name":"C# 12 and .NET 8 \\u2013 Modern Cross-Platform Development Fundamentals","link":"\/product\/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870","image":"https:\/\/content.packt.com\/B19586\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19586\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19586\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19586\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19586\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19586\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19586\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19586\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19586\/cover_image_small.jpg 810w"},{"name":"Apps and Services with .NET 8","link":"\/product\/apps-and-services-with-net-8-9781837637133","image":"https:\/\/content.packt.com\/B19587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg 810w"},{"name":"Microservices with Spring Boot 3 and Spring Cloud","link":"\/product\/microservices-with-spring-boot-3-and-spring-cloud-9781805128694","image":"https:\/\/content.packt.com\/B19825\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19825\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19825\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19825\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19825\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19825\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19825\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19825\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19825\/cover_image_small.jpg 810w"}]},{"name":"Programming","link":"\/programming","list":[{"name":"Mastering Python 2E","link":"\/product\/mastering-python-9781800207721","image":"https:\/\/content.packt.com\/B15882\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15882\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15882\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15882\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15882\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15882\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15882\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15882\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15882\/cover_image_small.jpeg 810w"},{"name":"The Art of Writing Efficient Programs","link":"\/product\/the-art-of-writing-efficient-programs-9781800208117","image":"https:\/\/content.packt.com\/B16229\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16229\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16229\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16229\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16229\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16229\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16229\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16229\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16229\/cover_image_small.jpeg 810w"},{"name":"Python Object-Oriented Programming","link":"\/product\/python-object-oriented-programming-9781801077262","image":"https:\/\/content.packt.com\/B17070\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17070\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17070\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17070\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17070\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17070\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17070\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17070\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17070\/cover_image_small.jpeg 810w"},{"name":"Modern CMake for C++","link":"\/product\/modern-cmake-for-c-9781801070058","image":"https:\/\/content.packt.com\/B17205\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17205\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17205\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17205\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17205\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17205\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17205\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17205\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17205\/cover_image_small.jpg 810w"},{"name":"Hands-On Data Structures and Algorithms with Python - Third Edition","link":"\/product\/hands-on-data-structures-and-algorithms-with-python-9781801073448","image":"https:\/\/content.packt.com\/B17217\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17217\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17217\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17217\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17217\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17217\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17217\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17217\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17217\/cover_image_small.jpg 810w"},{"name":"Learn C Programming","link":"\/product\/learn-c-programming-9781801078450","image":"https:\/\/content.packt.com\/B17411\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17411\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17411\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17411\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17411\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17411\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17411\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17411\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17411\/cover_image_small.jpeg 810w"},{"name":"Python GUI Programming with Tkinter, 2nd edition","link":"\/product\/python-gui-programming-with-tkinter-9781801815925","image":"https:\/\/content.packt.com\/B17578\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17578\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17578\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17578\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17578\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17578\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17578\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17578\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17578\/cover_image_small.png 810w"},{"name":"Learn Python Programming, 3rd edition","link":"\/product\/learn-python-programming-9781801815093","image":"https:\/\/content.packt.com\/B17579\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17579\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17579\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17579\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17579\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17579\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17579\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17579\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17579\/cover_image_small.jpg 810w"},{"name":"Kotlin Design Patterns and Best Practices","link":"\/product\/kotlin-design-patterns-and-best-practices-9781801815727","image":"https:\/\/content.packt.com\/B17816\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17816\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17816\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17816\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17816\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17816\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17816\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17816\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17816\/cover_image_small.png 810w"},{"name":"50 Algorithms Every Programmer Should Know","link":"\/product\/50-algorithms-every-programmer-should-know-9781803247762","image":"https:\/\/content.packt.com\/B18046\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18046\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18046\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18046\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18046\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18046\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18046\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18046\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18046\/cover_image_small.jpg 810w"},{"name":"C++20 STL Cookbook","link":"\/product\/c20-stl-cookbook-9781803248714","image":"https:\/\/content.packt.com\/B18267\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18267\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18267\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18267\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18267\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18267\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18267\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18267\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18267\/cover_image_small.jpeg 810w"},{"name":"Event-Driven Architecture in Golang","link":"\/product\/event-driven-architecture-in-golang-9781803238012","image":"https:\/\/content.packt.com\/B18368\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18368\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18368\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18368\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18368\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18368\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18368\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18368\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18368\/cover_image_small.jpg 810w"},{"name":"Domain-Driven Design With Golang","link":"\/product\/domain-driven-design-with-golang-9781804613450","image":"https:\/\/content.packt.com\/B19042\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19042\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19042\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19042\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19042\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19042\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19042\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19042\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19042\/cover_image_small.jpg 810w"},{"name":"Systems Engineering Demystified","link":"\/product\/systems-engineering-demystified-9781804610688","image":"https:\/\/content.packt.com\/B19125\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19125\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19125\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19125\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19125\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19125\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19125\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19125\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19125\/cover_image_small.jpg 810w"},{"name":"Technical Program Manager\u0027s Handbook","link":"\/product\/technical-program-managers-handbook-9781804613559","image":"https:\/\/content.packt.com\/B19162\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19162\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19162\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19162\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19162\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19162\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19162\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19162\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19162\/cover_image_small.jpg 810w"},{"name":"Hands-On Design Patterns with C++","link":"\/product\/hands-on-design-patterns-with-c-9781804611555","image":"https:\/\/content.packt.com\/B19262\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19262\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19262\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19262\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19262\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19262\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19262\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19262\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19262\/cover_image_small.jpg 810w"},{"name":"Building Low Latency Applications with C++","link":"\/product\/building-low-latency-applications-with-c-9781837639359","image":"https:\/\/content.packt.com\/B19434\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19434\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19434\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19434\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19434\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19434\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19434\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19434\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19434\/cover_image_small.jpg 810w"},{"name":"Get Your Hands Dirty on Clean Architecture","link":"\/product\/get-your-hands-dirty-on-clean-architecture-9781805128373","image":"https:\/\/content.packt.com\/B19916\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19916\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19916\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19916\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19916\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19916\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19916\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19916\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19916\/cover_image_small.jpg 810w"},{"name":"C++ Programming for Linux Systems","link":"\/product\/c-programming-for-linux-systems-9781805129004","image":"https:\/\/content.packt.com\/B20833\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20833\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20833\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20833\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20833\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20833\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20833\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20833\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20833\/cover_image_small.jpg 810w"},{"name":"Refactoring with C#","link":"\/product\/refactoring-with-c-9781835089989","image":"https:\/\/content.packt.com\/B21324\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21324\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21324\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21324\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21324\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21324\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21324\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21324\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21324\/cover_image_small.jpg 810w"}]},{"name":"Cloud and Networking","link":"\/cloud-and-networking","list":[{"name":"Network Automation with Go","link":"\/product\/network-automation-with-go-9781800560925","image":"https:\/\/content.packt.com\/B16971\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16971\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16971\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16971\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16971\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16971\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16971\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16971\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16971\/cover_image_small.jpg 810w"},{"name":"Mastering Windows Server 2019, Third Edition","link":"\/product\/mastering-windows-server-2019-9781801078313","image":"https:\/\/content.packt.com\/B17418\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17418\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17418\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17418\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17418\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17418\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17418\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17418\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17418\/cover_image_small.png 810w"},{"name":"Microsoft Azure Fundamentals Certification and Beyond","link":"\/product\/microsoft-azure-fundamentals-certification-and-beyond-9781801073301","image":"https:\/\/content.packt.com\/B17426\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17426\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17426\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17426\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17426\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17426\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17426\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17426\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17426\/cover_image_small.jpeg 810w"},{"name":"Mastering Active Directory","link":"\/product\/mastering-active-directory-9781801070393","image":"https:\/\/content.packt.com\/B17440\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17440\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17440\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17440\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17440\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17440\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17440\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17440\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17440\/cover_image_small.jpeg 810w"},{"name":"Go for DevOps","link":"\/product\/go-for-devops-9781801818896","image":"https:\/\/content.packt.com\/B17626\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17626\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17626\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17626\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17626\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17626\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17626\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17626\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17626\/cover_image_small.jpg 810w"},{"name":"Learning DevOps","link":"\/product\/learning-devops-9781801818964","image":"https:\/\/content.packt.com\/B17725\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17725\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17725\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17725\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17725\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17725\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17725\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17725\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17725\/cover_image_small.jpeg 810w"},{"name":"Automating DevOps with GitLab CI\/CD Pipelines","link":"\/product\/automating-devops-with-gitlab-cicd-pipelines-9781803233000","image":"https:\/\/content.packt.com\/B18073\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18073\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18073\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18073\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18073\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18073\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18073\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18073\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18073\/cover_image_small.jpg 810w"},{"name":"Modern Computer Architecture and Organization - Second Edition","link":"\/product\/modern-computer-architecture-and-organization-9781803234519","image":"https:\/\/content.packt.com\/B18111\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18111\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18111\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18111\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18111\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18111\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18111\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18111\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18111\/cover_image_small.jpg 810w"},{"name":"Continuous Delivery with Docker and Jenkins, 3rd Edition","link":"\/product\/continuous-delivery-with-docker-and-jenkins-9781803237480","image":"https:\/\/content.packt.com\/B18223\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18223\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18223\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18223\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18223\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18223\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18223\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18223\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18223\/cover_image_small.png 810w"},{"name":"Mastering Palo Alto Networks \\u2013 2nd edition","link":"\/product\/mastering-palo-alto-networks-9781803241418","image":"https:\/\/content.packt.com\/B18330\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18330\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18330\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18330\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18330\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18330\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18330\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18330\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18330\/cover_image_small.jpg 810w"},{"name":"Mastering Python Networking","link":"\/product\/mastering-python-networking-9781803234618","image":"https:\/\/content.packt.com\/B18403\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18403\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18403\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18403\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18403\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18403\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18403\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18403\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18403\/cover_image_small.jpg 810w"},{"name":"Mastering Ubuntu Server","link":"\/product\/mastering-ubuntu-server-9781803234243","image":"https:\/\/content.packt.com\/B18425\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18425\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18425\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18425\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18425\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18425\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18425\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18425\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18425\/cover_image_small.jpg 810w"},{"name":"AWS for Solutions Architects","link":"\/product\/aws-for-solutions-architects-9781803238951","image":"https:\/\/content.packt.com\/B18475\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18475\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18475\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18475\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18475\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18475\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18475\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18475\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18475\/cover_image_small.jpeg 810w"},{"name":"CompTIA Network+ N10-008 Certification Guide","link":"\/product\/comptia-network-n10-008-certification-guide-9781803236063","image":"https:\/\/content.packt.com\/B18525\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18525\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18525\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18525\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18525\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18525\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18525\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18525\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18525\/cover_image_small.jpg 810w"},{"name":"Terraform Cookbook, 2E","link":"\/product\/terraform-cookbook-9781804616420","image":"https:\/\/content.packt.com\/B18997\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18997\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18997\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18997\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18997\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18997\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18997\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18997\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18997\/cover_image_small.jpg 810w"},{"name":"Mastering Kubernetes","link":"\/product\/mastering-kubernetes-9781804611395","image":"https:\/\/content.packt.com\/B18998\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18998\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18998\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18998\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18998\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18998\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18998\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18998\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18998\/cover_image_small.png 810w"},{"name":"Multi-Cloud Strategy for Cloud Architects","link":"\/product\/multi-cloud-strategy-for-cloud-architects-9781804616734","image":"https:\/\/content.packt.com\/B19000\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19000\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19000\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19000\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19000\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19000\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19000\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19000\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19000\/cover_image_small.jpg 810w"},{"name":"Azure for Decision Makers","link":"\/product\/azure-for-decision-makers-9781837639915","image":"https:\/\/content.packt.com\/B19712\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19712\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19712\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19712\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19712\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19712\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19712\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19712\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19712\/cover_image_small.jpg 810w"},{"name":"DevOps Complete Course","link":"\/product\/devops-complete-course-9781804615508","image":"https:\/\/content.packt.com\/V19065\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19065\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19065\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19065\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19065\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19065\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19065\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19065\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19065\/cover_image_small.jpg 810w"},{"name":"Learning GitHub Actions for DevOps CI\/CD","link":"\/product\/learning-github-actions-for-devops-cicd-9781837639137","image":"https:\/\/content.packt.com\/V19698\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19698\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19698\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19698\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19698\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19698\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19698\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19698\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19698\/cover_image_small.jpg 810w"}]},{"name":"Security","link":"\/security","list":[{"name":"Industrial Cybersecurity","link":"\/product\/industrial-cybersecurity-9781800202092","image":"https:\/\/content.packt.com\/B16076\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16076\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16076\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16076\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16076\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16076\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16076\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16076\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16076\/cover_image_small.jpeg 810w"},{"name":"Practical Threat Detection Engineering","link":"\/product\/practical-threat-detection-engineering-9781801076715","image":"https:\/\/content.packt.com\/B17299\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17299\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17299\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17299\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17299\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17299\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17299\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17299\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17299\/cover_image_small.jpg 810w"},{"name":"Cybersecurity Career Master Plan","link":"\/product\/cybersecurity-career-master-plan-9781801073561","image":"https:\/\/content.packt.com\/B17375\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17375\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17375\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17375\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17375\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17375\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17375\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17375\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17375\/cover_image_small.jpeg 810w"},{"name":"CompTIA CASP+ CAS-004 Certification Guide","link":"\/product\/comptia-casp-cas-004-certification-guide-9781801816779","image":"https:\/\/content.packt.com\/B17596\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17596\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17596\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17596\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17596\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17596\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17596\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17596\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17596\/cover_image_small.jpg 810w"},{"name":"The Ultimate Kali Linux Book","link":"\/product\/the-ultimate-kali-linux-book-9781801818933","image":"https:\/\/content.packt.com\/B17681\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17681\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17681\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17681\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17681\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17681\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17681\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17681\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17681\/cover_image_small.jpg 810w"},{"name":"Mastering Microsoft 365 Defender","link":"\/product\/mastering-microsoft-365-defender-9781803241708","image":"https:\/\/content.packt.com\/B18051\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18051\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18051\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18051\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18051\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18051\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18051\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18051\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18051\/cover_image_small.jpg 810w"},{"name":"Learn Computer Forensics \\u2013 2nd edition","link":"\/product\/learn-computer-forensics-2nd-edition-9781803238302","image":"https:\/\/content.packt.com\/B18329\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18329\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18329\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18329\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18329\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18329\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18329\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18329\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18329\/cover_image_small.jpg 810w"},{"name":"Mastering Windows Security and Hardening,","link":"\/product\/mastering-windows-security-and-hardening-9781803236544","image":"https:\/\/content.packt.com\/B18343\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18343\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18343\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18343\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18343\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18343\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18343\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18343\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18343\/cover_image_small.jpg 810w"},{"name":"Digital Forensics and Incident Response","link":"\/product\/digital-forensics-and-incident-response-9781803238678","image":"https:\/\/content.packt.com\/B18571\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18571\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18571\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18571\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18571\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18571\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18571\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18571\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18571\/cover_image_small.jpg 810w"},{"name":"CISA \\u2013 Certified Information Systems Auditor Study Guide","link":"\/product\/cisa-certified-information-systems-auditor-study-guide-9781803248158","image":"https:\/\/content.packt.com\/B18707\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18707\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18707\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18707\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18707\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18707\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18707\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18707\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18707\/cover_image_small.jpg 810w"},{"name":"Microsoft Defender for Endpoint in Depth","link":"\/product\/microsoft-defender-for-endpoint-in-depth-9781804615461","image":"https:\/\/content.packt.com\/B18990\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18990\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18990\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18990\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18990\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18990\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18990\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18990\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18990\/cover_image_small.jpg 810w"},{"name":"Keycloak - Identity and Access Management for Modern Applications","link":"\/product\/keycloak-identity-and-access-management-for-modern-applications-9781804616444","image":"https:\/\/content.packt.com\/B19027\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19027\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19027\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19027\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19027\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19027\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19027\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19027\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19027\/cover_image_small.jpg 810w"},{"name":"Certified Information Security Manager Exam Prep Guide","link":"\/product\/certified-information-security-manager-exam-prep-guide-9781804610633","image":"https:\/\/content.packt.com\/B19069\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19069\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19069\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19069\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19069\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19069\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19069\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19069\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19069\/cover_image_small.jpg 810w"},{"name":"Mastering Windows 365","link":"\/product\/mastering-windows-365-9781837637966","image":"https:\/\/content.packt.com\/B19419\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19419\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19419\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19419\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19419\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19419\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19419\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19419\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19419\/cover_image_small.jpg 810w"},{"name":"Effective Threat Investigation for SOC Analysts","link":"\/product\/effective-threat-investigation-for-soc-analysts-9781837634781","image":"https:\/\/content.packt.com\/B19440\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19440\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19440\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19440\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19440\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19440\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19440\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19440\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19440\/cover_image_small.jpg 810w"},{"name":"Python for Security and Networking","link":"\/product\/python-for-security-and-networking-9781837637553","image":"https:\/\/content.packt.com\/B19478\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19478\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19478\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19478\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19478\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19478\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19478\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19478\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19478\/cover_image_small.png 810w"},{"name":"Mastering Linux Security and Hardening","link":"\/product\/mastering-linux-security-and-hardening-9781837630516","image":"https:\/\/content.packt.com\/B19501\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19501\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19501\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19501\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19501\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19501\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19501\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19501\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19501\/cover_image_small.jpg 810w"},{"name":"Mastering Windows Server 2022","link":"\/product\/mastering-windows-server-2022-9781837634507","image":"https:\/\/content.packt.com\/B19522\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19522\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19522\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19522\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19522\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19522\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19522\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19522\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19522\/cover_image_small.jpg 810w"},{"name":"Cybersecurity Career Master Plan","link":"\/product\/cybersecurity-career-master-plan-9781801073561","image":"https:\/\/content.packt.com\/B17375\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17375\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17375\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17375\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17375\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17375\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17375\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17375\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17375\/cover_image_small.jpg 810w"},{"name":"Software Security Testing","link":"\/product\/software-security-testing-9781803244358","image":"https:\/\/content.packt.com\/V18135\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18135\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18135\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18135\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18135\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18135\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18135\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18135\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18135\/cover_image_small.jpeg 810w"}]},{"name":"Game Development","link":"\/game-development","list":[{"name":"Godot 4 Game Development Cookbook","link":"\/product\/godot-4-game-development-cookbook-9781838826079","image":"https:\/\/content.packt.com\/B14528\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B14528\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B14528\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B14528\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B14528\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B14528\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B14528\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B14528\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B14528\/cover_image_small.png 810w"},{"name":"Sculpting the Blender Way","link":"\/product\/sculpting-the-blender-way-9781801073875","image":"https:\/\/content.packt.com\/B17068\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17068\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17068\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17068\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17068\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17068\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17068\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17068\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17068\/cover_image_small.png 810w"},{"name":"Mathematics for Game Programming and Computer Graphics","link":"\/product\/mathematics-for-game-programming-and-computer-graphics-9781801077330","image":"https:\/\/content.packt.com\/B17174\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17174\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17174\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17174\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17174\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17174\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17174\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17174\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17174\/cover_image_small.jpg 810w"},{"name":"Build Stunning Real-time VFX with Unreal Engine 5","link":"\/product\/build-stunning-real-time-vfx-with-unreal-engine-5-9781801072410","image":"https:\/\/content.packt.com\/B17261\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17261\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17261\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17261\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17261\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17261\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17261\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17261\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17261\/cover_image_small.jpg 810w"},{"name":"Game Development with Blender and Godot","link":"\/product\/game-development-with-blender-and-godot-9781801816021","image":"https:\/\/content.packt.com\/B17473\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17473\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17473\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17473\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17473\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17473\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17473\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17473\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17473\/cover_image_small.jpg 810w"},{"name":"Blender 3D Incredible Models","link":"\/product\/blender-3d-incredible-models-9781801817813","image":"https:\/\/content.packt.com\/B17487\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17487\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17487\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17487\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17487\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17487\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17487\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17487\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17487\/cover_image_small.jpg 810w"},{"name":"Mastering Roblox Coding","link":"\/product\/mastering-roblox-coding-9781801814041","image":"https:\/\/content.packt.com\/B17543\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17543\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17543\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17543\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17543\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17543\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17543\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17543\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17543\/cover_image_small.jpg 810w"},{"name":"Blueprints Visual Scripting for Unreal Engine 5","link":"\/product\/blueprints-visual-scripting-for-unreal-engine-5-9781801811583","image":"https:\/\/content.packt.com\/B17877\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17877\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17877\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17877\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17877\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17877\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17877\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17877\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17877\/cover_image_small.png 810w"},{"name":"Multiplayer Game Development with Unreal Engine 5","link":"\/product\/multiplayer-game-development-with-unreal-engine-5-9781803232874","image":"https:\/\/content.packt.com\/B18203\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18203\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18203\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18203\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18203\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18203\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18203\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18203\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18203\/cover_image_small.jpg 810w"},{"name":"Python Scripting in Blender","link":"\/product\/python-scripting-in-blender-9781803234229","image":"https:\/\/content.packt.com\/B18375\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18375\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18375\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18375\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18375\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18375\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18375\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18375\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18375\/cover_image_small.png 810w"},{"name":"Mastering Graphics Programming with Vulkan","link":"\/product\/mastering-graphics-programming-with-vulkan-9781803244792","image":"https:\/\/content.packt.com\/B18395\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18395\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18395\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18395\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18395\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18395\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18395\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18395\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18395\/cover_image_small.jpg 810w"},{"name":"Elevating Game Experiences with Unreal Engine 5","link":"\/product\/elevating-game-experiences-with-unreal-engine-5-9781803239866","image":"https:\/\/content.packt.com\/B18531\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18531\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18531\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18531\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18531\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18531\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18531\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18531\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18531\/cover_image_small.jpg 810w"},{"name":"Hands-On Unity 2022 Game Development","link":"\/product\/hands-on-unity-2022-game-development-9781803236919","image":"https:\/\/content.packt.com\/B18585\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18585\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18585\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18585\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18585\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18585\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18585\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18585\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18585\/cover_image_small.jpg 810w"},{"name":"Coding Roblox Games Made Easy","link":"\/product\/coding-roblox-games-made-easy-9781803234670","image":"https:\/\/content.packt.com\/B18586\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18586\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18586\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18586\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18586\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18586\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18586\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18586\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18586\/cover_image_small.jpg 810w"},{"name":"Practical Game Design.","link":"\/product\/practical-game-design-9781803245157","image":"https:\/\/content.packt.com\/B18810\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18810\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18810\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18810\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18810\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18810\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18810\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18810\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18810\/cover_image_small.png 810w"},{"name":"Unity 2022 Mobile Game Development","link":"\/product\/unity-2022-mobile-game-development-9781804613726","image":"https:\/\/content.packt.com\/B18868\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18868\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18868\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18868\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18868\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18868\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18868\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18868\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18868\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 Game Development with C++ Scripting","link":"\/product\/unreal-engine-5-game-development-with-c-scripting-9781804613931","image":"https:\/\/content.packt.com\/B19139\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19139\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19139\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19139\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19139\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19139\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19139\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19139\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19139\/cover_image_small.jpg 810w"},{"name":"Godot 4 Game Development Projects.","link":"\/product\/godot-4-game-development-projects-9781804610404","image":"https:\/\/content.packt.com\/B19289\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19289\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19289\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19289\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19289\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19289\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19289\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19289\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19289\/cover_image_small.jpg 810w"},{"name":"Learning C# by Developing Games with Unity","link":"\/product\/learning-c-by-developing-games-with-unity-9781837636877","image":"https:\/\/content.packt.com\/B19386\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19386\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19386\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19386\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19386\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19386\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19386\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19386\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19386\/cover_image_small.png 810w"},{"name":"Become a Unity Shaders Guru","link":"\/product\/become-a-unity-shaders-guru-9781837636747","image":"https:\/\/content.packt.com\/B19397\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19397\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19397\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19397\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19397\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19397\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19397\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19397\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19397\/cover_image_small.jpg 810w"}]},{"name":"Mobile","link":"\/mobile","list":[{"name":".NET MAUI Cross-Platform Application Development","link":"\/product\/net-maui-cross-platform-application-development-9781800569225","image":"https:\/\/content.packt.com\/B16588\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16588\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16588\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16588\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16588\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16588\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16588\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16588\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16588\/cover_image_small.jpg 810w"},{"name":"Professional React Native","link":"\/product\/professional-react-native-9781800563681","image":"https:\/\/content.packt.com\/B16694\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16694\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16694\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16694\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16694\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16694\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16694\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16694\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16694\/cover_image_small.jpg 810w"},{"name":"Android Programming for Beginners","link":"\/product\/android-programming-for-beginners-9781800563438","image":"https:\/\/content.packt.com\/B16773\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16773\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16773\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16773\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16773\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16773\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16773\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16773\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16773\/cover_image_small.png 810w"},{"name":"Flutter Cookbook","link":"\/product\/flutter-cookbook-9781803245430","image":"https:\/\/content.packt.com\/B18588\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18588\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18588\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18588\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18588\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18588\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18588\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18588\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18588\/cover_image_small.jpg 810w"},{"name":"iOS 16 Programming for Beginners","link":"\/product\/ios-16-programming-for-beginners-9781803237046","image":"https:\/\/content.packt.com\/B18593\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18593\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18593\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18593\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18593\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18593\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18593\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18593\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18593\/cover_image_small.jpg 810w"},{"name":"Modern Android 13 Development Cookbook","link":"\/product\/modern-android-13-development-cookbook-9781803235578","image":"https:\/\/content.packt.com\/B18827\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18827\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18827\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18827\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18827\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18827\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18827\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18827\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18827\/cover_image_small.jpg 810w"},{"name":"How to Build Android Apps with Kotlin","link":"\/product\/how-to-build-android-apps-with-kotlin-9781837634934","image":"https:\/\/content.packt.com\/B19411\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19411\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19411\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19411\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19411\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19411\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19411\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19411\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19411\/cover_image_small.jpg 810w"},{"name":"Flutter for Beginners","link":"\/product\/flutter-for-beginners-9781837630387","image":"https:\/\/content.packt.com\/B19529\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19529\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19529\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19529\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19529\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19529\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19529\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19529\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19529\/cover_image_small.jpg 810w"},{"name":"Apps and Services with .NET 8","link":"\/product\/apps-and-services-with-net-8-9781837637133","image":"https:\/\/content.packt.com\/B19587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg 810w"},{"name":"SwiftUI Cookbook","link":"\/product\/swiftui-cookbook-9781805121732","image":"https:\/\/content.packt.com\/B21131\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21131\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21131\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21131\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21131\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21131\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21131\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21131\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21131\/cover_image_small.jpg 810w"}]},{"name":"IoT and Hardware","link":"\/iot-and-hardware","list":[{"name":"Mastering Linux Device Driver Development.","link":"\/product\/mastering-linux-device-driver-development-9781789342048","image":"https:\/\/content.packt.com\/B10985\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B10985\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B10985\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B10985\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B10985\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B10985\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B10985\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B10985\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B10985\/cover_image_small.png 810w"},{"name":"Mastering Embedded Linux Programming,","link":"\/product\/mastering-embedded-linux-programming-9781789530384","image":"https:\/\/content.packt.com\/B11566\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B11566\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B11566\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B11566\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B11566\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B11566\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B11566\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B11566\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B11566\/cover_image_small.png 810w"},{"name":"FPGA Programming for Beginners","link":"\/product\/fpga-programming-for-beginners-9781789805413","image":"https:\/\/content.packt.com\/B12710\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B12710\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B12710\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B12710\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B12710\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B12710\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B12710\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B12710\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B12710\/cover_image_small.png 810w"},{"name":"Architecting High-Performance Embedded Systems","link":"\/product\/architecting-high-performance-embedded-systems-9781789955965","image":"https:\/\/content.packt.com\/B12994\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B12994\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B12994\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B12994\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B12994\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B12994\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B12994\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B12994\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B12994\/cover_image_small.jpeg 810w"},{"name":"Developing IoT Projects with ESP32","link":"\/product\/developing-iot-projects-with-esp32-9781838641160","image":"https:\/\/content.packt.com\/B14327\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B14327\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B14327\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B14327\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B14327\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B14327\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B14327\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B14327\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B14327\/cover_image_small.jpeg 810w"},{"name":"Learn Robotics Programming.","link":"\/product\/learn-robotics-programming-9781839218804","image":"https:\/\/content.packt.com\/B15660\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B15660\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15660\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B15660\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15660\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B15660\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15660\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15660\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B15660\/cover_image_small.png 810w"},{"name":"Building Industrial Digital Twins","link":"\/product\/building-industrial-digital-twins-9781839219078","image":"https:\/\/content.packt.com\/B15810\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B15810\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15810\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B15810\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15810\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B15810\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15810\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15810\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B15810\/cover_image_small.png 810w"},{"name":"Industrial Automation from Scratch","link":"\/product\/industrial-automation-from-scratch-9781800569386","image":"https:\/\/content.packt.com\/B16845\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16845\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16845\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16845\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16845\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16845\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16845\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16845\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16845\/cover_image_small.png 810w"},{"name":"Mastering ROS for Robotics Programming, Third edition","link":"\/product\/mastering-ros-for-robotics-programming-9781801071024","image":"https:\/\/content.packt.com\/B17104\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17104\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17104\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17104\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17104\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17104\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17104\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17104\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17104\/cover_image_small.jpeg 810w"},{"name":"PLC and HMI Development with Siemens TIA Portal.","link":"\/product\/plc-and-hmi-development-with-siemens-tia-portal-9781801817226","image":"https:\/\/content.packt.com\/B17793\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17793\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17793\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17793\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17793\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17793\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17793\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17793\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17793\/cover_image_small.jpeg 810w"},{"name":"Building Smart Home Automation Solutions with Home Assistant","link":"\/product\/building-smart-home-automation-solutions-with-home-assistant-9781801815291","image":"https:\/\/content.packt.com\/B17825\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17825\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17825\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17825\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17825\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17825\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17825\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17825\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17825\/cover_image_small.jpg 810w"},{"name":"Design Innovative Robots with LEGO SPIKE Prime","link":"\/product\/design-innovative-robots-with-lego-spike-prime-9781801811576","image":"https:\/\/content.packt.com\/B17864\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17864\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17864\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17864\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17864\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17864\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17864\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17864\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17864\/cover_image_small.jpeg 810w"},{"name":"Linux Device Driver Development","link":"\/product\/linux-device-driver-development-9781803240060","image":"https:\/\/content.packt.com\/B17934\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17934\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17934\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17934\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17934\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17934\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17934\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17934\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17934\/cover_image_small.png 810w"},{"name":"Robotics at Home with Raspberry Pi Pico","link":"\/product\/robotics-at-home-with-raspberry-pi-pico-9781803246079","image":"https:\/\/content.packt.com\/B18001\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18001\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18001\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18001\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18001\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18001\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18001\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18001\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18001\/cover_image_small.jpg 810w"},{"name":"Developing IoT Projects with ESP32","link":"\/product\/developing-iot-projects-with-esp32-9781803237688","image":"https:\/\/content.packt.com\/B18447\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18447\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18447\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18447\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18447\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18447\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18447\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18447\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18447\/cover_image_small.jpg 810w"},{"name":"Agile Model-Based Systems Engineering Cookbook Second Edition","link":"\/product\/agile-model-based-systems-engineering-cookbook-9781803235820","image":"https:\/\/content.packt.com\/B18595\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18595\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18595\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18595\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18595\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18595\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18595\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18595\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18595\/cover_image_small.jpg 810w"},{"name":"Embedded Systems Architecture","link":"\/product\/embedded-systems-architecture-9781803239545","image":"https:\/\/content.packt.com\/B18730\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18730\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18730\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18730\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18730\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18730\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18730\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18730\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18730\/cover_image_small.jpg 810w"},{"name":"Architecting and Building High-Speed SoCs","link":"\/product\/architecting-and-building-high-speed-socs-9781801810999","image":"https:\/\/content.packt.com\/B18795\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18795\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18795\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18795\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18795\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18795\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18795\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18795\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18795\/cover_image_small.jpg 810w"},{"name":"Mastering PLC Programming","link":"\/product\/mastering-plc-programming-9781804612880","image":"https:\/\/content.packt.com\/B18873\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18873\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18873\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18873\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18873\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18873\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18873\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18873\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18873\/cover_image_small.jpg 810w"},{"name":"Practical Arduino Robotics","link":"\/product\/practical-arduino-robotics-9781804613177","image":"https:\/\/content.packt.com\/B19182\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19182\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19182\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19182\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19182\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19182\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19182\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19182\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19182\/cover_image_small.jpg 810w"}]},{"name":"Business and Other","link":"\/business-and-other","list":[{"name":"SAFe\\u00ae Coaches Handbook","link":"\/product\/safe-coaches-handbook-9781839210457","image":"https:\/\/content.packt.com\/B15758\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15758\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15758\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15758\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15758\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15758\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15758\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15758\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15758\/cover_image_small.jpg 810w"},{"name":"The Professional Scrum Master (PSM I) Guide","link":"\/product\/the-professional-scrum-master-psm-i-guide-9781800205567","image":"https:\/\/content.packt.com\/B16232\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16232\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16232\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16232\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16232\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16232\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16232\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16232\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16232\/cover_image_small.jpeg 810w"},{"name":"Design Made Easy with Inkscape","link":"\/product\/design-made-easy-with-inkscape-9781801078771","image":"https:\/\/content.packt.com\/B17103\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17103\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17103\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17103\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17103\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17103\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17103\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17103\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17103\/cover_image_small.jpg 810w"},{"name":"Learn SOLIDWORKS","link":"\/product\/learn-solidworks-9781801073097","image":"https:\/\/content.packt.com\/B17147\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17147\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17147\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17147\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17147\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17147\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17147\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17147\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17147\/cover_image_small.jpeg 810w"},{"name":"The Music Producer\u0027s Creative Guide to Ableton Live 11","link":"\/product\/the-music-producers-creative-guide-to-ableton-live-11-9781801817639","image":"https:\/\/content.packt.com\/B17772\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17772\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17772\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17772\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17772\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17772\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17772\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17772\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17772\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 Character Creation, Animation, and Cinematics","link":"\/product\/unreal-engine-5-character-creation-animation-and-cinematics-9781801812443","image":"https:\/\/content.packt.com\/B17871\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17871\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17871\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17871\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17871\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17871\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17871\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17871\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17871\/cover_image_small.jpg 810w"},{"name":"Reimagining Characters with Unreal Engine\u0027s MetaHuman Creator","link":"\/product\/reimagining-characters-with-unreal-engines-metahuman-creator-9781801817721","image":"https:\/\/content.packt.com\/B17878\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17878\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17878\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17878\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17878\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17878\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17878\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17878\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17878\/cover_image_small.jpg 810w"},{"name":"Azure for Developers","link":"\/product\/azure-for-developers-9781803240091","image":"https:\/\/content.packt.com\/B18017\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18017\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18017\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18017\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18017\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18017\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18017\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18017\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18017\/cover_image_small.jpg 810w"},{"name":"Windows Server 2022 Administration Fundamentals","link":"\/product\/windows-server-2022-administration-fundamentals-9781803232157","image":"https:\/\/content.packt.com\/B18284\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18284\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18284\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18284\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18284\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18284\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18284\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18284\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18284\/cover_image_small.jpg 810w"},{"name":"Autodesk Civil 3D 2024 from Start to Finish","link":"\/product\/autodesk-civil-3d-2024-from-start-to-finish-9781803239064","image":"https:\/\/content.packt.com\/B18296\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18296\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18296\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18296\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18296\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18296\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18296\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18296\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18296\/cover_image_small.jpg 810w"},{"name":"Workflow Automation with Microsoft Power Automate","link":"\/product\/workflow-automation-with-microsoft-power-automate-9781803237671","image":"https:\/\/content.packt.com\/B18412\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18412\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18412\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18412\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18412\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18412\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18412\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18412\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18412\/cover_image_small.jpg 810w"},{"name":"Mastering Quickbooks\\u00ae 2023, Fourth Edition","link":"\/product\/mastering-quickbooks-2023-9781803243634","image":"https:\/\/content.packt.com\/B18430\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18430\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18430\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18430\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18430\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18430\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18430\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18430\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18430\/cover_image_small.jpg 810w"},{"name":"Mastering Adobe Photoshop Elements 2023","link":"\/product\/mastering-adobe-photoshop-elements-2023-9781803248455","image":"https:\/\/content.packt.com\/B18587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18587\/cover_image_small.jpg 810w"},{"name":"Sustainable IT Playbook for Technology Leaders","link":"\/product\/sustainable-it-playbook-for-technology-leaders-9781803230344","image":"https:\/\/content.packt.com\/B18861\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18861\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18861\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18861\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18861\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18861\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18861\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18861\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18861\/cover_image_small.jpg 810w"},{"name":"LaTeX Graphics with TikZ","link":"\/product\/latex-graphics-with-tikz-9781804618233","image":"https:\/\/content.packt.com\/B18920\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18920\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18920\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18920\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18920\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18920\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18920\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18920\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18920\/cover_image_small.jpg 810w"},{"name":"Microsoft Power Platform Enterprise Architecture","link":"\/product\/microsoft-power-platform-enterprise-architecture-9781804612637","image":"https:\/\/content.packt.com\/B19053\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19053\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19053\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19053\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19053\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19053\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19053\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19053\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19053\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 Shaders and Effects Cookbook","link":"\/product\/unreal-engine-5-shaders-and-effects-cookbook-9781837633081","image":"https:\/\/content.packt.com\/B19370\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19370\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19370\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19370\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19370\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19370\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19370\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19370\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19370\/cover_image_small.png 810w"},{"name":"NetSuite for Consultants","link":"\/product\/netsuite-for-consultants-9781837639076","image":"https:\/\/content.packt.com\/B19503\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19503\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19503\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19503\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19503\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19503\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19503\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19503\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19503\/cover_image_small.png 810w"},{"name":"The Music Producer\u0027s Ultimate Guide to FL Studio 21","link":"\/product\/the-music-producers-ultimate-guide-to-fl-studio-21-9781837631650","image":"https:\/\/content.packt.com\/B19605\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19605\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19605\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19605\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19605\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19605\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19605\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19605\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19605\/cover_image_small.jpg 810w"},{"name":"Final Cut Pro Efficient Editing, Second Edition","link":"\/product\/final-cut-pro-efficient-editing-9781837631674","image":"https:\/\/content.packt.com\/B19653\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19653\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19653\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19653\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19653\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19653\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19653\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19653\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19653\/cover_image_small.png 810w"}]}]},{"defaultSubject":"Data","title":"New Releases","items":[{"name":"Data","link":"\/data","list":[{"name":"Modern Data Architecture on AWS","link":"\/product\/modern-data-architecture-on-aws-9781801813396","image":"https:\/\/content.packt.com\/B17876\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17876\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17876\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17876\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17876\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17876\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17876\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17876\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17876\/cover_image_small.jpg 810w"},{"name":"Azure Data and AI Architect Handbook","link":"\/product\/azure-data-and-ai-architect-handbook-9781803234861","image":"https:\/\/content.packt.com\/B18253\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18253\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18253\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18253\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18253\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18253\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18253\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18253\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18253\/cover_image_small.png 810w"},{"name":"Interpretable Machine Learning with Python","link":"\/product\/interpretable-machine-learning-with-python-9781803235424","image":"https:\/\/content.packt.com\/B18406\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18406\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18406\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18406\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18406\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18406\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18406\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18406\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18406\/cover_image_small.jpg 810w"},{"name":"Mastering Tableau 2023","link":"\/product\/mastering-tableau-2023-9781803233765","image":"https:\/\/content.packt.com\/B18435\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18435\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18435\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18435\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18435\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18435\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18435\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18435\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18435\/cover_image_small.png 810w"},{"name":"Streamlit for Data Science","link":"\/product\/streamlit-for-data-science-9781803248226","image":"https:\/\/content.packt.com\/B18444\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18444\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18444\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18444\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18444\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18444\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18444\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18444\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18444\/cover_image_small.jpg 810w"},{"name":"Splunk 9.x Enterprise Certified Admin Guide","link":"\/product\/splunk-9x-enterprise-certified-admin-guide-9781803230238","image":"https:\/\/content.packt.com\/B18508\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18508\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18508\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18508\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18508\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18508\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18508\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18508\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18508\/cover_image_small.jpg 810w"},{"name":"Applied Geospatial Data Science with Python","link":"\/product\/applied-geospatial-data-science-with-python-9781803238128","image":"https:\/\/content.packt.com\/B18788\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18788\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18788\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18788\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18788\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18788\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18788\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18788\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18788\/cover_image_small.jpg 810w"},{"name":"The AI Product Manager\u0027s Handbook","link":"\/product\/the-ai-product-managers-handbook-9781804612934","image":"https:\/\/content.packt.com\/B18935\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18935\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18935\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18935\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18935\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18935\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18935\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18935\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18935\/cover_image_small.jpg 810w"},{"name":"Building Statistical Models in Python","link":"\/product\/building-statistical-models-in-python-9781804614280","image":"https:\/\/content.packt.com\/B18945\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18945\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18945\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18945\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18945\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18945\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18945\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18945\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18945\/cover_image_small.jpg 810w"},{"name":"Building ETL Pipelines with Python","link":"\/product\/building-etl-pipelines-with-python-9781804615256","image":"https:\/\/content.packt.com\/B19123\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19123\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19123\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19123\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19123\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19123\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19123\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19123\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19123\/cover_image_small.jpg 810w"},{"name":"Data Engineering with AWS","link":"\/product\/data-engineering-with-aws-9781804614426","image":"https:\/\/content.packt.com\/B19131\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19131\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19131\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19131\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19131\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19131\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19131\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19131\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19131\/cover_image_small.jpg 810w"},{"name":"Practical Data Quality","link":"\/product\/practical-data-quality-9781804610787","image":"https:\/\/content.packt.com\/B19258\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19258\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19258\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19258\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19258\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19258\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19258\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19258\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19258\/cover_image_small.jpg 810w"},{"name":"The Kaggle Workbook","link":"\/product\/the-kaggle-workbook-9781804611210","image":"https:\/\/content.packt.com\/B19265\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19265\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19265\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19265\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19265\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19265\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19265\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19265\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19265\/cover_image_small.jpg 810w"},{"name":"Machine Learning Engineering with Python","link":"\/product\/machine-learning-engineering-with-python-9781837631964","image":"https:\/\/content.packt.com\/B19525\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19525\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19525\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19525\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19525\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19525\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19525\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19525\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19525\/cover_image_small.jpg 810w"},{"name":"Et al.","link":"\/product\/et-al-9781837632572","image":"https:\/\/content.packt.com\/B19719\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19719\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19719\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19719\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19719\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19719\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19719\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19719\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19719\/cover_image_small.jpg 810w"},{"name":"TinyML Cookbook","link":"\/product\/tinyml-cookbook-9781837637362","image":"https:\/\/content.packt.com\/B19726\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19726\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19726\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19726\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19726\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19726\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19726\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19726\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19726\/cover_image_small.jpg 810w"},{"name":"Practical Guide to Applied Conformal Prediction in Python","link":"\/product\/practical-guide-to-applied-conformal-prediction-in-python-9781805122760","image":"https:\/\/content.packt.com\/B19925\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19925\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19925\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19925\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19925\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19925\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19925\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19925\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19925\/cover_image_small.jpg 810w"},{"name":"Vector Search for Practitioners with Elastic","link":"\/product\/vector-search-for-practitioners-with-elastic-9781805121022","image":"https:\/\/content.packt.com\/B20870\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20870\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20870\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20870\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20870\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20870\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20870\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20870\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20870\/cover_image_small.jpg 810w"},{"name":"AI \u0026 Data Literacy","link":"\/product\/ai-data-literacy-9781835083505","image":"https:\/\/content.packt.com\/B21198\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21198\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21198\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21198\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21198\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21198\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21198\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21198\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21198\/cover_image_small.jpg 810w"},{"name":"Practical MongoDB Aggregations","link":"\/product\/practical-mongodb-aggregations-9781835080641","image":"https:\/\/content.packt.com\/B21539\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21539\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21539\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21539\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21539\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21539\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21539\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21539\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21539\/cover_image_small.jpg 810w"}]},{"name":"Web Development","link":"\/web-development","list":[{"name":"Full Stack Web Development with Remix","link":"\/product\/full-stack-web-development-with-remix-9781801075299","image":"https:\/\/content.packt.com\/B17399\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17399\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17399\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17399\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17399\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17399\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17399\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17399\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17399\/cover_image_small.jpg 810w"},{"name":"Layered Design for Ruby on Rails Applications","link":"\/product\/layered-design-for-ruby-on-rails-applications-9781801813785","image":"https:\/\/content.packt.com\/B17858\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17858\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17858\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17858\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17858\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17858\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17858\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17858\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17858\/cover_image_small.jpg 810w"},{"name":"Full-Stack Flask and React","link":"\/product\/full-stack-flask-and-react-9781803248448","image":"https:\/\/content.packt.com\/B18554\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18554\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18554\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18554\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18554\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18554\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18554\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18554\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18554\/cover_image_small.jpg 810w"},{"name":"React Interview Guide","link":"\/product\/react-interview-guide-9781803241517","image":"https:\/\/content.packt.com\/B18603\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18603\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18603\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18603\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18603\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18603\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18603\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18603\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18603\/cover_image_small.jpg 810w"},{"name":"Modernizing Drupal 10 Theme Development","link":"\/product\/modernizing-drupal-10-theme-development-9781803238098","image":"https:\/\/content.packt.com\/B18659\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18659\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18659\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18659\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18659\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18659\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18659\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18659\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18659\/cover_image_small.jpg 810w"},{"name":"Real-World Svelte","link":"\/product\/real-world-svelte-9781804616031","image":"https:\/\/content.packt.com\/B18887\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18887\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18887\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18887\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18887\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18887\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18887\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18887\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18887\/cover_image_small.jpg 810w"},{"name":"Building Micro Frontends with React 18","link":"\/product\/building-micro-frontends-with-react-18-9781804610961","image":"https:\/\/content.packt.com\/B18987\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18987\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18987\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18987\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18987\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18987\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18987\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18987\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18987\/cover_image_small.jpg 810w"},{"name":"Building Your Own JavaScript Framework","link":"\/product\/building-your-own-javascript-framework-9781804617403","image":"https:\/\/content.packt.com\/B19014\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19014\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19014\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19014\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19014\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19014\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19014\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19014\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19014\/cover_image_small.jpg 810w"},{"name":"Flask Framework Cookbook","link":"\/product\/flask-framework-cookbook-9781804611104","image":"https:\/\/content.packt.com\/B19111\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19111\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19111\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19111\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19111\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19111\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19111\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19111\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19111\/cover_image_small.png 810w"},{"name":"Developing Extensions for Joomla! 5","link":"\/product\/developing-extensions-for-joomla-5-9781804617991","image":"https:\/\/content.packt.com\/B19245\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19245\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19245\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19245\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19245\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19245\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19245\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19245\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19245\/cover_image_small.jpg 810w"},{"name":"Modern API Development with Spring 6 and Spring Boot 3","link":"\/product\/modern-api-development-with-spring-6-and-spring-boot-3-9781804613276","image":"https:\/\/content.packt.com\/B19349\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19349\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19349\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19349\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19349\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19349\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19349\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19349\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19349\/cover_image_small.jpg 810w"},{"name":"Enhanced Test Automation with WebdriverIO","link":"\/product\/enhanced-test-automation-with-webdriverio-9781837630189","image":"https:\/\/content.packt.com\/B19395\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19395\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19395\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19395\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19395\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19395\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19395\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19395\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19395\/cover_image_small.jpg 810w"},{"name":"Drupal 10 Masterclass","link":"\/product\/drupal-10-masterclass-9781837633104","image":"https:\/\/content.packt.com\/B19491\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19491\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19491\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19491\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19491\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19491\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19491\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19491\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19491\/cover_image_small.jpg 810w"},{"name":"C# 12 and .NET 8 \u2013 Modern Cross-Platform Development Fundamentals","link":"\/product\/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870","image":"https:\/\/content.packt.com\/B19586\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19586\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19586\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19586\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19586\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19586\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19586\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19586\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19586\/cover_image_small.jpg 810w"},{"name":"Apps and Services with .NET 8","link":"\/product\/apps-and-services-with-net-8-9781837637133","image":"https:\/\/content.packt.com\/B19587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg 810w"},{"name":"Hands-On Web Scraping with Python","link":"\/product\/hands-on-web-scraping-with-python-9781837636211","image":"https:\/\/content.packt.com\/B19662\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19662\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19662\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19662\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19662\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19662\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19662\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19662\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19662\/cover_image_small.jpg 810w"},{"name":"gRPC Go for Professionals","link":"\/product\/grpc-go-for-professionals-9781837638840","image":"https:\/\/content.packt.com\/B19664\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19664\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19664\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19664\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19664\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19664\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19664\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19664\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19664\/cover_image_small.jpg 810w"},{"name":"Full Stack Development with Spring Boot 3 and React","link":"\/product\/full-stack-development-with-spring-boot-3-and-react-9781805122463","image":"https:\/\/content.packt.com\/B19818\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19818\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19818\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19818\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19818\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19818\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19818\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19818\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19818\/cover_image_small.jpg 810w"},{"name":"Microservices with Spring Boot 3 and Spring Cloud","link":"\/product\/microservices-with-spring-boot-3-and-spring-cloud-9781805128694","image":"https:\/\/content.packt.com\/B19825\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19825\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19825\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19825\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19825\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19825\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19825\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19825\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19825\/cover_image_small.jpg 810w"},{"name":"The MVVM Pattern in .NET MAUI","link":"\/product\/the-mvvm-pattern-in-net-maui-9781805125006","image":"https:\/\/content.packt.com\/B20941\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20941\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20941\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20941\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20941\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20941\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20941\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20941\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20941\/cover_image_small.jpg 810w"}]},{"name":"Programming","link":"\/programming","list":[{"name":"50 Algorithms Every Programmer Should Know","link":"\/product\/50-algorithms-every-programmer-should-know-9781803247762","image":"https:\/\/content.packt.com\/B18046\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18046\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18046\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18046\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18046\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18046\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18046\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18046\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18046\/cover_image_small.jpg 810w"},{"name":"Test-Driven Development in Go","link":"\/product\/test-driven-development-in-go-9781803247878","image":"https:\/\/content.packt.com\/B18371\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18371\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18371\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18371\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18371\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18371\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18371\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18371\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18371\/cover_image_small.jpg 810w"},{"name":"Developer Career Masterplan","link":"\/product\/developer-career-masterplan-9781801818704","image":"https:\/\/content.packt.com\/B18772\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18772\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18772\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18772\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18772\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18772\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18772\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18772\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18772\/cover_image_small.jpg 810w"},{"name":"Quantum Computing Algorithms","link":"\/product\/quantum-computing-algorithms-9781804617373","image":"https:\/\/content.packt.com\/B18978\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18978\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18978\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18978\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18978\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18978\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18978\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18978\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18978\/cover_image_small.jpg 810w"},{"name":"Expert C++","link":"\/product\/expert-c-9781804617830","image":"https:\/\/content.packt.com\/B19043\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19043\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19043\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19043\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19043\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19043\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19043\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19043\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19043\/cover_image_small.jpg 810w"},{"name":"Systems Engineering Demystified","link":"\/product\/systems-engineering-demystified-9781804610688","image":"https:\/\/content.packt.com\/B19125\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19125\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19125\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19125\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19125\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19125\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19125\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19125\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19125\/cover_image_small.jpg 810w"},{"name":"Hands-On Design Patterns with C++","link":"\/product\/hands-on-design-patterns-with-c-9781804611555","image":"https:\/\/content.packt.com\/B19262\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19262\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19262\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19262\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19262\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19262\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19262\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19262\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19262\/cover_image_small.jpg 810w"},{"name":"Mastering JavaScript Functional Programming","link":"\/product\/mastering-javascript-functional-programming-9781804610138","image":"https:\/\/content.packt.com\/B19301\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19301\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19301\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19301\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19301\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19301\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19301\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19301\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19301\/cover_image_small.jpg 810w"},{"name":"Effective Concurrency in Go","link":"\/product\/effective-concurrency-in-go-9781804619070","image":"https:\/\/content.packt.com\/B19309\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19309\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19309\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19309\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19309\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19309\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19309\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19309\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19309\/cover_image_small.jpg 810w"},{"name":"Building Low Latency Applications with C++","link":"\/product\/building-low-latency-applications-with-c-9781837639359","image":"https:\/\/content.packt.com\/B19434\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19434\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19434\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19434\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19434\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19434\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19434\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19434\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19434\/cover_image_small.jpg 810w"},{"name":"Mastering Apex Programming","link":"\/product\/mastering-apex-programming-9781837638352","image":"https:\/\/content.packt.com\/B19666\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19666\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19666\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19666\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19666\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19666\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19666\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19666\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19666\/cover_image_small.jpg 810w"},{"name":".NET MAUI for C# Developers","link":"\/product\/net-maui-for-c-developers-9781837631698","image":"https:\/\/content.packt.com\/B19723\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19723\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19723\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19723\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19723\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19723\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19723\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg 810w"},{"name":"Designing Hexagonal Architecture with Java","link":"\/product\/designing-hexagonal-architecture-with-java-9781837635115","image":"https:\/\/content.packt.com\/B19777\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19777\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19777\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19777\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19777\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19777\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19777\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19777\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19777\/cover_image_small.jpg 810w"},{"name":"Learn Java with Projects","link":"\/product\/learn-java-with-projects-9781837637188","image":"https:\/\/content.packt.com\/B19793\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19793\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19793\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19793\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19793\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19793\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19793\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19793\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19793\/cover_image_small.jpg 810w"},{"name":"Python Real-World Projects","link":"\/product\/python-real-world-projects-9781803246765","image":"https:\/\/content.packt.com\/B19828\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19828\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19828\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19828\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19828\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19828\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19828\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19828\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19828\/cover_image_small.jpg 810w"},{"name":"Delphi High Performance","link":"\/product\/delphi-high-performance-9781805125877","image":"https:\/\/content.packt.com\/B19851\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19851\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19851\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19851\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19851\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19851\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19851\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19851\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19851\/cover_image_small.jpg 810w"},{"name":"Get Your Hands Dirty on Clean Architecture","link":"\/product\/get-your-hands-dirty-on-clean-architecture-9781805128373","image":"https:\/\/content.packt.com\/B19916\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19916\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19916\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19916\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19916\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19916\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19916\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19916\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19916\/cover_image_small.jpg 810w"},{"name":"C++ Programming for Linux Systems","link":"\/product\/c-programming-for-linux-systems-9781805129004","image":"https:\/\/content.packt.com\/B20833\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20833\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20833\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20833\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20833\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20833\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20833\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20833\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20833\/cover_image_small.jpg 810w"},{"name":"Learn WinUI 3","link":"\/product\/learn-winui-3-9781805120063","image":"https:\/\/content.packt.com\/B20908\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20908\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20908\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20908\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20908\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20908\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20908\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20908\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20908\/cover_image_small.jpg 810w"},{"name":"Refactoring with C#","link":"\/product\/refactoring-with-c-9781835089989","image":"https:\/\/content.packt.com\/B21324\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21324\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21324\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21324\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21324\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21324\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21324\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21324\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21324\/cover_image_small.jpg 810w"}]},{"name":"Cloud and Networking","link":"\/cloud-and-networking","list":[{"name":"AWS CDK in Practice","link":"\/product\/aws-cdk-in-practice-9781801812399","image":"https:\/\/content.packt.com\/B17802\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17802\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17802\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17802\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17802\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17802\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17802\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17802\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17802\/cover_image_small.jpg 810w"},{"name":"Mastering Elastic Kubernetes Service on AWS","link":"\/product\/mastering-elastic-kubernetes-service-on-aws-9781803231211","image":"https:\/\/content.packt.com\/B18129\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18129\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18129\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18129\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18129\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18129\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18129\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18129\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18129\/cover_image_small.jpg 810w"},{"name":"Optimizing Your Modernization Journey with AWS","link":"\/product\/optimizing-your-modernization-journey-with-aws-9781803234540","image":"https:\/\/content.packt.com\/B18186\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18186\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18186\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18186\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18186\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18186\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18186\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18186\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18186\/cover_image_small.jpg 810w"},{"name":"The Linux DevOps Handbook","link":"\/product\/the-linux-devops-handbook-9781803245669","image":"https:\/\/content.packt.com\/B18197\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18197\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18197\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18197\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18197\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18197\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18197\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18197\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18197\/cover_image_small.jpg 810w"},{"name":"Designing and Implementing Microsoft Azure Networking Solutions","link":"\/product\/designing-and-implementing-microsoft-azure-networking-solutions-9781803242033","image":"https:\/\/content.packt.com\/B18675\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18675\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18675\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18675\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18675\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18675\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18675\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18675\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18675\/cover_image_small.jpg 810w"},{"name":"Azure Cloud Adoption Framework Handbook","link":"\/product\/azure-cloud-adoption-framework-handbook-9781803244525","image":"https:\/\/content.packt.com\/B18732\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18732\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18732\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18732\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18732\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18732\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18732\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18732\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18732\/cover_image_small.jpg 810w"},{"name":"Google Cloud Associate Cloud Engineer Certification and Implementation Guide","link":"\/product\/google-cloud-associate-cloud-engineer-certification-and-implementation-guide-9781803232713","image":"https:\/\/content.packt.com\/B18851\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18851\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18851\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18851\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18851\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18851\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18851\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18851\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18851\/cover_image_small.jpg 810w"},{"name":"Windows Server Automation with PowerShell Cookbook","link":"\/product\/windows-server-automation-with-powershell-cookbook-9781804614235","image":"https:\/\/content.packt.com\/B18878\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18878\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18878\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18878\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18878\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18878\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18878\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18878\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18878\/cover_image_small.jpg 810w"},{"name":"Multi-Cloud Strategy for Cloud Architects","link":"\/product\/multi-cloud-strategy-for-cloud-architects-9781804616734","image":"https:\/\/content.packt.com\/B19000\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19000\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19000\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19000\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19000\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19000\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19000\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19000\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19000\/cover_image_small.jpg 810w"},{"name":"50 Kubernetes Concepts Every DevOps Engineer Should Know","link":"\/product\/50-kubernetes-concepts-every-devops-engineer-should-know-9781804611470","image":"https:\/\/content.packt.com\/B19116\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19116\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19116\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19116\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19116\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19116\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19116\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19116\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19116\/cover_image_small.jpg 810w"},{"name":"The Ultimate Docker Container Book","link":"\/product\/the-ultimate-docker-container-book-9781804613986","image":"https:\/\/content.packt.com\/B19199\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19199\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19199\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19199\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19199\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19199\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19199\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19199\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19199\/cover_image_small.jpg 810w"},{"name":"FinOps Handbook for Microsoft Azure","link":"\/product\/finops-handbook-for-microsoft-azure-9781801810166","image":"https:\/\/content.packt.com\/B19347\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19347\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19347\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19347\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19347\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19347\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19347\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19347\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19347\/cover_image_small.jpg 810w"},{"name":"Azure Architecture Explained","link":"\/product\/azure-architecture-explained-9781837634811","image":"https:\/\/content.packt.com\/B19515\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19515\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19515\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19515\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19515\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19515\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19515\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19515\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19515\/cover_image_small.jpg 810w"},{"name":"Technology Operating Models for Cloud and Edge","link":"\/product\/technology-operating-models-for-cloud-and-edge-9781837631391","image":"https:\/\/content.packt.com\/B19708\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19708\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19708\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19708\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19708\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19708\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19708\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19708\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19708\/cover_image_small.jpg 810w"},{"name":"Azure for Decision Makers","link":"\/product\/azure-for-decision-makers-9781837639915","image":"https:\/\/content.packt.com\/B19712\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19712\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19712\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19712\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19712\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19712\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19712\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19712\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19712\/cover_image_small.jpg 810w"},{"name":"The Self-Taught Cloud Computing Engineer","link":"\/product\/the-self-taught-cloud-computing-engineer-9781805123705","image":"https:\/\/content.packt.com\/B19796\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19796\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19796\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19796\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19796\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19796\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19796\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19796\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19796\/cover_image_small.jpg 810w"},{"name":"Practical Ansible","link":"\/product\/practical-ansible-9781805129974","image":"https:\/\/content.packt.com\/B20846\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20846\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20846\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20846\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20846\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20846\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20846\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20846\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20846\/cover_image_small.jpg 810w"}]},{"name":"Security","link":"\/security","list":[{"name":"Automotive Cybersecurity Engineering Handbook","link":"\/product\/automotive-cybersecurity-engineering-handbook-9781801076531","image":"https:\/\/content.packt.com\/B17055\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17055\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17055\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17055\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17055\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17055\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17055\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17055\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17055\/cover_image_small.jpg 810w"},{"name":"Practical Threat Detection Engineering","link":"\/product\/practical-threat-detection-engineering-9781801076715","image":"https:\/\/content.packt.com\/B17299\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17299\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17299\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17299\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17299\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17299\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17299\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17299\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17299\/cover_image_small.jpg 810w"},{"name":"Attacking and Exploiting Modern Web Applications","link":"\/product\/attacking-and-exploiting-modern-web-applications-9781801816298","image":"https:\/\/content.packt.com\/B17828\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17828\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17828\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17828\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17828\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17828\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17828\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17828\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17828\/cover_image_small.jpg 810w"},{"name":"Security Orchestration, Automation, and Response for Security Analysts","link":"\/product\/security-orchestration-automation-and-response-for-security-analysts-9781803242910","image":"https:\/\/content.packt.com\/B18028\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18028\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18028\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18028\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18028\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18028\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18028\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18028\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18028\/cover_image_small.jpg 810w"},{"name":"Mastering Microsoft 365 Defender","link":"\/product\/mastering-microsoft-365-defender-9781803241708","image":"https:\/\/content.packt.com\/B18051\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18051\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18051\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18051\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18051\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18051\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18051\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18051\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18051\/cover_image_small.jpg 810w"},{"name":"ISACA Certified in Risk and Information Systems Control (CRISC\u00ae) Exam Guide","link":"\/product\/isaca-certified-in-risk-and-information-systems-control-crisc-exam-guide-9781803236902","image":"https:\/\/content.packt.com\/B18557\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18557\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18557\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18557\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18557\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18557\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18557\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18557\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18557\/cover_image_small.jpg 810w"},{"name":"Linux for System Administrators","link":"\/product\/linux-for-system-administrators-9781803247946","image":"https:\/\/content.packt.com\/B18575\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18575\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18575\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18575\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18575\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18575\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18575\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18575\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18575\/cover_image_small.jpg 810w"},{"name":"Windows Forensics Analyst Field Guide","link":"\/product\/windows-forensics-analyst-field-guide-9781803248479","image":"https:\/\/content.packt.com\/B18647\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18647\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18647\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18647\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18647\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18647\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18647\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18647\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18647\/cover_image_small.jpg 810w"},{"name":"Cloud Penetration Testing for Red Teamers","link":"\/product\/cloud-penetration-testing-for-red-teamers-9781803248486","image":"https:\/\/content.packt.com\/B18672\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18672\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18672\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18672\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18672\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18672\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18672\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18672\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18672\/cover_image_small.jpg 810w"},{"name":"Ethical Hacking Workshop","link":"\/product\/ethical-hacking-workshop-9781804612590","image":"https:\/\/content.packt.com\/B19004\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19004\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19004\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19004\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19004\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19004\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19004\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19004\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19004\/cover_image_small.jpg 810w"},{"name":"Keycloak - Identity and Access Management for Modern Applications","link":"\/product\/keycloak-identity-and-access-management-for-modern-applications-9781804616444","image":"https:\/\/content.packt.com\/B19027\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19027\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19027\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19027\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19027\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19027\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19027\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19027\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19027\/cover_image_small.jpg 810w"},{"name":"Mastering Windows 365","link":"\/product\/mastering-windows-365-9781837637966","image":"https:\/\/content.packt.com\/B19419\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19419\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19419\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19419\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19419\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19419\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19419\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19419\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19419\/cover_image_small.jpg 810w"},{"name":"Architecture and Design of the Linux Storage Stack","link":"\/product\/architecture-and-design-of-the-linux-storage-stack-9781837639960","image":"https:\/\/content.packt.com\/B19430\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19430\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19430\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19430\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19430\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19430\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19430\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19430\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19430\/cover_image_small.jpg 810w"},{"name":"Effective Threat Investigation for SOC Analysts","link":"\/product\/effective-threat-investigation-for-soc-analysts-9781837634781","image":"https:\/\/content.packt.com\/B19440\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19440\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19440\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19440\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19440\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19440\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19440\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19440\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19440\/cover_image_small.jpg 810w"},{"name":"Reconnaissance for Ethical Hackers","link":"\/product\/reconnaissance-for-ethical-hackers-9781837630639","image":"https:\/\/content.packt.com\/B19448\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19448\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19448\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19448\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19448\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19448\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19448\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19448\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19448\/cover_image_small.png 810w"},{"name":"Practical Cybersecurity Architecture","link":"\/product\/practical-cybersecurity-architecture-9781837637164","image":"https:\/\/content.packt.com\/B19705\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19705\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19705\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19705\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19705\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19705\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19705\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19705\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19705\/cover_image_small.jpg 810w"},{"name":"Building and Automating Penetration Testing Labs in the Cloud","link":"\/product\/building-and-automating-penetration-testing-labs-in-the-cloud-9781837632398","image":"https:\/\/content.packt.com\/B19755\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19755\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19755\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19755\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19755\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19755\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19755\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19755\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19755\/cover_image_small.jpg 810w"},{"name":"Fuzzing Against the Machine","link":"\/product\/fuzzing-against-the-machine-9781804614976","image":"https:\/\/content.packt.com\/B18866\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18866\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18866\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18866\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18866\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18866\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18866\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18866\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18866\/cover_image_small.jpg 810w"},{"name":"Burp Suite Cookbook","link":"\/product\/burp-suite-cookbook-9781835081075","image":"https:\/\/content.packt.com\/B21173\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21173\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21173\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21173\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21173\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21173\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21173\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21173\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21173\/cover_image_small.jpg 810w"},{"name":"Official Google Cloud Certified Professional Cloud Security Engineer Exam Guide","link":"\/product\/official-google-cloud-certified-professional-cloud-security-engineer-exam-guide-9781835468869","image":"https:\/\/content.packt.com\/B21817\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21817\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21817\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21817\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21817\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21817\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21817\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21817\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21817\/cover_image_small.jpg 810w"}]},{"name":"Game Development","link":"\/game-development","list":[{"name":"Godot 4 Game Development Cookbook","link":"\/product\/godot-4-game-development-cookbook-9781838826079","image":"https:\/\/content.packt.com\/B14528\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B14528\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B14528\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B14528\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B14528\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B14528\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B14528\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B14528\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B14528\/cover_image_small.png 810w"},{"name":"Multiplayer Game Development with Unreal Engine 5","link":"\/product\/multiplayer-game-development-with-unreal-engine-5-9781803232874","image":"https:\/\/content.packt.com\/B18203\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18203\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18203\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18203\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18203\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18203\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18203\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18203\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18203\/cover_image_small.jpg 810w"},{"name":"Modern Game Testing","link":"\/product\/modern-game-testing-9781803244402","image":"https:\/\/content.packt.com\/B18348\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18348\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18348\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18348\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18348\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18348\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18348\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18348\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18348\/cover_image_small.png 810w"},{"name":"Python Scripting in Blender","link":"\/product\/python-scripting-in-blender-9781803234229","image":"https:\/\/content.packt.com\/B18375\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18375\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18375\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18375\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18375\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18375\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18375\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18375\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18375\/cover_image_small.png 810w"},{"name":"The Essential Guide to Creating Multiplayer Games with Godot 4.0","link":"\/product\/the-essential-guide-to-creating-multiplayer-games-with-godot-40-9781803232614","image":"https:\/\/content.packt.com\/B18527\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18527\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18527\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18527\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18527\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18527\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18527\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18527\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18527\/cover_image_small.jpg 810w"},{"name":"Practical Game Design.","link":"\/product\/practical-game-design-9781803245157","image":"https:\/\/content.packt.com\/B18810\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18810\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18810\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18810\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18810\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18810\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18810\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18810\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18810\/cover_image_small.png 810w"},{"name":"Blender 3D Asset Creation for the Metaverse","link":"\/product\/blender-3d-asset-creation-for-the-metaverse-9781801814324","image":"https:\/\/content.packt.com\/B18828\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18828\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18828\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18828\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18828\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18828\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18828\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18828\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18828\/cover_image_small.jpg 810w"},{"name":"Unity 2022 Mobile Game Development","link":"\/product\/unity-2022-mobile-game-development-9781804613726","image":"https:\/\/content.packt.com\/B18868\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18868\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18868\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18868\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18868\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18868\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18868\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18868\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18868\/cover_image_small.jpg 810w"},{"name":"Enhancing Virtual Reality Experiences with Unity 2022","link":"\/product\/enhancing-virtual-reality-experiences-with-unity-2022-9781804619537","image":"https:\/\/content.packt.com\/B18869\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18869\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18869\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18869\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18869\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18869\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18869\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18869\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18869\/cover_image_small.jpg 810w"},{"name":"Creating an RTS Game in Unity 2023","link":"\/product\/creating-an-rts-game-in-unity-2023-9781804613245","image":"https:\/\/content.packt.com\/B19296\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19296\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19296\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19296\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19296\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19296\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19296\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19296\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19296\/cover_image_small.jpg 810w"},{"name":"Become a Unity Shaders Guru","link":"\/product\/become-a-unity-shaders-guru-9781837636747","image":"https:\/\/content.packt.com\/B19397\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19397\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19397\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19397\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19397\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19397\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19397\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19397\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19397\/cover_image_small.jpg 810w"},{"name":"Photorealistic Materials and Textures in Blender Cycles","link":"\/product\/photorealistic-materials-and-textures-in-blender-cycles-9781805129639","image":"https:\/\/content.packt.com\/B19594\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19594\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19594\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19594\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19594\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19594\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19594\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19594\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19594\/cover_image_small.jpg 810w"},{"name":"XR Development with Unity","link":"\/product\/xr-development-with-unity-9781805128120","image":"https:\/\/content.packt.com\/B20869\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20869\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20869\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20869\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20869\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20869\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20869\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20869\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20869\/cover_image_small.jpg 810w"},{"name":"Unity Cookbook","link":"\/product\/unity-cookbook-9781805123026","image":"https:\/\/content.packt.com\/B20993\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20993\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20993\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20993\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20993\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20993\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20993\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20993\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20993\/cover_image_small.jpg 810w"},{"name":"The Ultimate Guide to Blender 3D Rigging and Animation","link":"\/product\/the-ultimate-guide-to-blender-3d-rigging-and-animation-9781805125785","image":"https:\/\/content.packt.com\/V21094\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21094\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21094\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21094\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21094\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21094\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21094\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21094\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21094\/cover_image_small.jpg 810w"},{"name":"Mastering the Art of Isometric Room Design in Blender 3","link":"\/product\/mastering-the-art-of-isometric-room-design-in-blender-3-9781805122708","image":"https:\/\/content.packt.com\/V21096\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21096\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21096\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21096\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21096\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21096\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21096\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21096\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21096\/cover_image_small.jpg 810w"},{"name":"Creating Stunning Environments in Unreal Engine 5 - A Game Artist Bootcamp","link":"\/product\/creating-stunning-environments-in-unreal-engine-5-a-game-artist-bootcamp-9781805126751","image":"https:\/\/content.packt.com\/V21097\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21097\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21097\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21097\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21097\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21097\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21097\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21097\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21097\/cover_image_small.jpg 810w"},{"name":"Blender Beginner\u0027s Bootcamp","link":"\/product\/blender-beginners-bootcamp-9781835084373","image":"https:\/\/content.packt.com\/V21353\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21353\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21353\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21353\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21353\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21353\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21353\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21353\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21353\/cover_image_small.jpg 810w"},{"name":"Learn Unity Game Development - Build Six Games with Unity 2023","link":"\/product\/learn-unity-game-development-build-six-games-with-unity-2023-9781835463208","image":"https:\/\/content.packt.com\/V21730\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21730\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21730\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21730\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21730\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21730\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21730\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21730\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21730\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 - The Intermediate Course","link":"\/product\/unreal-engine-5-the-intermediate-course-9781835882528","image":"https:\/\/content.packt.com\/V22099\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V22099\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V22099\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V22099\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V22099\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V22099\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V22099\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V22099\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V22099\/cover_image_small.jpg 810w"}]},{"name":"Mobile","link":"\/mobile","list":[{"name":"Kickstart Modern Android Development with Jetpack and Kotlin","link":"\/product\/kickstart-modern-android-development-with-jetpack-and-kotlin-9781801811071","image":"https:\/\/content.packt.com\/B17788\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17788\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17788\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17788\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17788\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17788\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17788\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17788\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17788\/cover_image_small.png 810w"},{"name":"Simplifying State Management in React Native","link":"\/product\/simplifying-state-management-in-react-native-9781803235035","image":"https:\/\/content.packt.com\/B18396\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18396\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18396\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18396\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18396\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18396\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18396\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18396\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18396\/cover_image_small.jpg 810w"},{"name":"The Ultimate iOS Interview Playbook","link":"\/product\/the-ultimate-ios-interview-playbook-9781803246314","image":"https:\/\/content.packt.com\/B18653\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18653\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18653\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18653\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18653\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18653\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18653\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18653\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18653\/cover_image_small.jpg 810w"},{"name":"Animating SwiftUI Applications","link":"\/product\/animating-swiftui-applications-9781803232669","image":"https:\/\/content.packt.com\/B18674\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18674\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18674\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18674\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18674\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18674\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18674\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18674\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18674\/cover_image_small.jpg 810w"},{"name":"Android UI Development with Jetpack Compose","link":"\/product\/android-ui-development-with-jetpack-compose-9781837634255","image":"https:\/\/content.packt.com\/B19690\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19690\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19690\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19690\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19690\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19690\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19690\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19690\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19690\/cover_image_small.jpg 810w"},{"name":".NET MAUI for C# Developers","link":"\/product\/net-maui-for-c-developers-9781837631698","image":"https:\/\/content.packt.com\/B19723\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19723\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19723\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19723\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19723\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19723\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19723\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg 810w"},{"name":"SwiftUI and Node.js Full Stack - Build Twitter - iOS 16","link":"\/product\/swiftui-and-nodejs-full-stack-build-twitter-ios-16-9781801077590","image":"https:\/\/content.packt.com\/V19823\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19823\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19823\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19823\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19823\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19823\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19823\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19823\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19823\/cover_image_small.jpg 810w"},{"name":"Deep Dive iOS 16 Swift - SwiftUI Programming","link":"\/product\/deep-dive-ios-16-swift-swiftui-programming-9781805121770","image":"https:\/\/content.packt.com\/V19864\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19864\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19864\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19864\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19864\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19864\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19864\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19864\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19864\/cover_image_small.jpg 810w"},{"name":"The Ultimate ChatGPT Guide with React Native - Develop Mobile Apps","link":"\/product\/the-ultimate-chatgpt-guide-with-react-native-develop-mobile-apps-9781805121183","image":"https:\/\/content.packt.com\/V19881\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19881\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19881\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19881\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19881\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19881\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19881\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19881\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19881\/cover_image_small.jpg 810w"},{"name":"Learn Flutter and Dart to Build iOS and Android Apps","link":"\/product\/learn-flutter-and-dart-to-build-ios-and-android-apps-9781805122029","image":"https:\/\/content.packt.com\/V21127\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21127\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21127\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21127\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21127\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21127\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21127\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21127\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21127\/cover_image_small.jpg 810w"}]},{"name":"IoT and Hardware","link":"\/iot-and-hardware","list":[{"name":"Industrial Automation from Scratch","link":"\/product\/industrial-automation-from-scratch-9781800569386","image":"https:\/\/content.packt.com\/B16845\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16845\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16845\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16845\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16845\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16845\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16845\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16845\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16845\/cover_image_small.png 810w"},{"name":"Building Smart Home Automation Solutions with Home Assistant","link":"\/product\/building-smart-home-automation-solutions-with-home-assistant-9781801815291","image":"https:\/\/content.packt.com\/B17825\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17825\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17825\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17825\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17825\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17825\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17825\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17825\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17825\/cover_image_small.jpg 810w"},{"name":"Robotics at Home with Raspberry Pi Pico","link":"\/product\/robotics-at-home-with-raspberry-pi-pico-9781803246079","image":"https:\/\/content.packt.com\/B18001\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18001\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18001\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18001\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18001\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18001\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18001\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18001\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18001\/cover_image_small.jpg 810w"},{"name":"The Ultimate Studio One Pro Book","link":"\/product\/the-ultimate-studio-one-pro-book-9781803241012","image":"https:\/\/content.packt.com\/B18298\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18298\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18298\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18298\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18298\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18298\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18298\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18298\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18298\/cover_image_small.jpg 810w"},{"name":"Industrial IoT for Architects and Engineers","link":"\/product\/industrial-iot-for-architects-and-engineers-9781803240893","image":"https:\/\/content.packt.com\/B18325\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18325\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18325\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18325\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18325\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18325\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18325\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18325\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18325\/cover_image_small.jpg 810w"},{"name":"Developing IoT Projects with ESP32","link":"\/product\/developing-iot-projects-with-esp32-9781803237688","image":"https:\/\/content.packt.com\/B18447\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18447\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18447\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18447\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18447\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18447\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18447\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18447\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18447\/cover_image_small.jpg 810w"},{"name":"The Ultimate Guide to Informed Wearable Technology","link":"\/product\/the-ultimate-guide-to-informed-wearable-technology-9781803230597","image":"https:\/\/content.packt.com\/B18581\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18581\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18581\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18581\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18581\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18581\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18581\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18581\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18581\/cover_image_small.jpg 810w"},{"name":"The Insider\u0027s Guide to Arm Cortex-M Development","link":"\/product\/the-insiders-guide-to-arm-cortex-m-development-9781803231112","image":"https:\/\/content.packt.com\/B18612\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18612\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18612\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18612\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18612\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18612\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18612\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18612\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18612\/cover_image_small.jpg 810w"},{"name":"M5Stack Electronic Blueprints","link":"\/product\/m5stack-electronic-blueprints-9781803230306","image":"https:\/\/content.packt.com\/B18715\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18715\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18715\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18715\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18715\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18715\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18715\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18715\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18715\/cover_image_small.jpg 810w"},{"name":"Architectural Patterns and Techniques for Developing IoT Solutions","link":"\/product\/architectural-patterns-and-techniques-for-developing-iot-solutions-9781803245492","image":"https:\/\/content.packt.com\/B18757\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18757\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18757\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18757\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18757\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18757\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18757\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18757\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18757\/cover_image_small.jpg 810w"},{"name":"Architecting and Building High-Speed SoCs","link":"\/product\/architecting-and-building-high-speed-socs-9781801810999","image":"https:\/\/content.packt.com\/B18795\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18795\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18795\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18795\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18795\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18795\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18795\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18795\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18795\/cover_image_small.jpg 810w"},{"name":"Mastering PLC Programming","link":"\/product\/mastering-plc-programming-9781804612880","image":"https:\/\/content.packt.com\/B18873\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18873\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18873\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18873\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18873\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18873\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18873\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18873\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18873\/cover_image_small.jpg 810w"},{"name":"Implementing Cellular IoT Solutions for Digital Transformation","link":"\/product\/implementing-cellular-iot-solutions-for-digital-transformation-9781804616154","image":"https:\/\/content.packt.com\/B19096\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19096\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19096\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19096\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19096\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19096\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19096\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19096\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19096\/cover_image_small.jpg 810w"},{"name":"Practical Arduino Robotics","link":"\/product\/practical-arduino-robotics-9781804613177","image":"https:\/\/content.packt.com\/B19182\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19182\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19182\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19182\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19182\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19182\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19182\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19182\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19182\/cover_image_small.jpg 810w"},{"name":"Internet of Things for Smart Buildings","link":"\/product\/internet-of-things-for-smart-buildings-9781804619865","image":"https:\/\/content.packt.com\/B19188\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19188\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19188\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19188\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19188\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19188\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19188\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19188\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19188\/cover_image_small.jpg 810w"},{"name":"The Art of Manufacturing","link":"\/product\/the-art-of-manufacturing-9781804619452","image":"https:\/\/content.packt.com\/B19264\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19264\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19264\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19264\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19264\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19264\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19264\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19264\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19264\/cover_image_small.jpg 810w"},{"name":"BBC Micro:bit in Practice","link":"\/product\/bbc-microbit-in-practice-9781804610121","image":"https:\/\/content.packt.com\/B19281\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19281\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19281\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19281\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19281\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19281\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19281\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19281\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19281\/cover_image_small.jpg 810w"},{"name":"Arduino Data Communications","link":"\/product\/arduino-data-communications-9781837632619","image":"https:\/\/content.packt.com\/B19476\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19476\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19476\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19476\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19476\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19476\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19476\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19476\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19476\/cover_image_small.jpg 810w"},{"name":"The Azure IoT Handbook","link":"\/product\/the-azure-iot-handbook-9781837633616","image":"https:\/\/content.packt.com\/B19626\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19626\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19626\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19626\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19626\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19626\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19626\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19626\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19626\/cover_image_small.jpg 810w"},{"name":"Arduino IoT Cloud for Developers","link":"\/product\/arduino-iot-cloud-for-developers-9781837637171","image":"https:\/\/content.packt.com\/B19752\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19752\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19752\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19752\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19752\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19752\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19752\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19752\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19752\/cover_image_small.jpg 810w"}]},{"name":"Business and Other","link":"\/business-and-other","list":[{"name":"Implementing Atlassian Confluence","link":"\/product\/implementing-atlassian-confluence-9781800560420","image":"https:\/\/content.packt.com\/B16861\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16861\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16861\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16861\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16861\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16861\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16861\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16861\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16861\/cover_image_small.jpg 810w"},{"name":"Improving CAD Designs with Autodesk Fusion 360","link":"\/product\/improving-cad-designs-with-autodesk-fusion-360-9781800564497","image":"https:\/\/content.packt.com\/B16938\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16938\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16938\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16938\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16938\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16938\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16938\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16938\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16938\/cover_image_small.png 810w"},{"name":"Designing the Adobe InDesign Way","link":"\/product\/designing-the-adobe-indesign-way-9781801074438","image":"https:\/\/content.packt.com\/B17292\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17292\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17292\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17292\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17292\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17292\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17292\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17292\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17292\/cover_image_small.jpg 810w"},{"name":"Machine Learning with PyTorch and Scikit-Learn","link":"\/product\/machine-learning-with-pytorch-and-scikit-learn-9781801819312","image":"https:\/\/content.packt.com\/B17582\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17582\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17582\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17582\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17582\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17582\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17582\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17582\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17582\/cover_image_small.jpg 810w"},{"name":"Supercharging Productivity with Trello","link":"\/product\/supercharging-productivity-with-trello-9781801813877","image":"https:\/\/content.packt.com\/B17865\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17865\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17865\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17865\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17865\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17865\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17865\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17865\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17865\/cover_image_small.png 810w"},{"name":"Mastering Information Security Compliance Management","link":"\/product\/mastering-information-security-compliance-management-9781803231174","image":"https:\/\/content.packt.com\/B18022\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18022\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18022\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18022\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18022\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18022\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18022\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18022\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18022\/cover_image_small.jpg 810w"},{"name":"Engineering Manager\u0027s Handbook","link":"\/product\/engineering-managers-handbook-9781803235356","image":"https:\/\/content.packt.com\/B18210\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18210\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18210\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18210\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18210\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18210\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18210\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18210\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18210\/cover_image_small.jpg 810w"},{"name":"Automate It with Zapier and Generative AI","link":"\/product\/automate-it-with-zapier-and-generative-ai-9781803239842","image":"https:\/\/content.packt.com\/B18474\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18474\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18474\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18474\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18474\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18474\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18474\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18474\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18474\/cover_image_small.jpg 810w"},{"name":"The Pro Tools 2023 Post-Audio Cookbook","link":"\/product\/the-pro-tools-2023-post-audio-cookbook-9781803248431","image":"https:\/\/content.packt.com\/B18530\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18530\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18530\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18530\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18530\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18530\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18530\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18530\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18530\/cover_image_small.jpg 810w"},{"name":"3D Printing with Fusion 360","link":"\/product\/3d-printing-with-fusion-360-9781803246642","image":"https:\/\/content.packt.com\/B18532\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18532\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18532\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18532\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18532\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18532\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18532\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18532\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18532\/cover_image_small.jpg 810w"},{"name":"Express Your Creativity with Adobe Express","link":"\/product\/express-your-creativity-with-adobe-express-9781803237749","image":"https:\/\/content.packt.com\/B18649\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18649\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18649\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18649\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18649\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18649\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18649\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18649\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18649\/cover_image_small.jpg 810w"},{"name":"A Power User\u0027s Guide to FL Studio 21","link":"\/product\/a-power-users-guide-to-fl-studio-21-9781803234380","image":"https:\/\/content.packt.com\/B18838\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18838\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18838\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18838\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18838\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18838\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18838\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18838\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18838\/cover_image_small.jpg 810w"},{"name":"Unleashing the Power of UX Analytics","link":"\/product\/unleashing-the-power-of-ux-analytics-9781804614747","image":"https:\/\/content.packt.com\/B18979\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18979\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18979\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18979\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18979\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18979\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18979\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18979\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18979\/cover_image_small.jpg 810w"},{"name":"Becoming a Dynamics 365 Supply Chain Management Functional Consultant Associate","link":"\/product\/becoming-a-dynamics-365-supply-chain-management-functional-consultant-associate-9781804618004","image":"https:\/\/content.packt.com\/B19105\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19105\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19105\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19105\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19105\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19105\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19105\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19105\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19105\/cover_image_small.jpg 810w"},{"name":"Cracking the Product Marketing Code","link":"\/product\/cracking-the-product-marketing-code-9781837632763","image":"https:\/\/content.packt.com\/B19399\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19399\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19399\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19399\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19399\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19399\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19399\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19399\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19399\/cover_image_small.jpg 810w"},{"name":"Scoring to Picture in Logic Pro","link":"\/product\/scoring-to-picture-in-logic-pro-9781837636891","image":"https:\/\/content.packt.com\/B19425\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19425\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19425\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19425\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19425\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19425\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19425\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19425\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19425\/cover_image_small.jpg 810w"},{"name":"The Art of Crafting User Stories","link":"\/product\/the-art-of-crafting-user-stories-9781837639496","image":"https:\/\/content.packt.com\/B19431\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19431\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19431\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19431\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19431\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19431\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19431\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19431\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19431\/cover_image_small.jpg 810w"},{"name":"Build Your Own Metaverse with Unity","link":"\/product\/build-your-own-metaverse-with-unity-9781837631735","image":"https:\/\/content.packt.com\/B19539\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19539\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19539\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19539\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19539\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19539\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19539\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19539\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19539\/cover_image_small.jpg 810w"},{"name":"Gamification for Product Excellence","link":"\/product\/gamification-for-product-excellence-9781837638383","image":"https:\/\/content.packt.com\/B19770\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19770\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19770\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19770\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19770\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19770\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19770\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19770\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19770\/cover_image_small.jpg 810w"},{"name":"Business Process Automation with Salesforce Flows","link":"\/product\/business-process-automation-with-salesforce-flows-9781835089255","image":"https:\/\/content.packt.com\/B21315\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21315\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21315\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21315\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21315\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21315\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21315\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21315\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21315\/cover_image_small.jpg 810w"}]}]},{"defaultSubject":"Data","title":"Popular Books","items":[{"name":"Data","link":"\/data","list":[{"name":"AI \u0026 Data Literacy","link":"\/product\/ai-data-literacy-9781835083505","image":"https:\/\/content.packt.com\/B21198\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21198\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21198\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21198\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21198\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21198\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21198\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21198\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21198\/cover_image_small.jpg 810w"},{"name":"Applied Geospatial Data Science with Python","link":"\/product\/applied-geospatial-data-science-with-python-9781803238128","image":"https:\/\/content.packt.com\/B18788\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18788\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18788\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18788\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18788\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18788\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18788\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18788\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18788\/cover_image_small.jpg 810w"},{"name":"Azure Data and AI Architect Handbook","link":"\/product\/azure-data-and-ai-architect-handbook-9781803234861","image":"https:\/\/content.packt.com\/B18253\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18253\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18253\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18253\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18253\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18253\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18253\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18253\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18253\/cover_image_small.png 810w"},{"name":"C# 12 and .NET 8 \u2013 Modern Cross-Platform Development Fundamentals","link":"\/product\/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870","image":"https:\/\/content.packt.com\/B19586\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19586\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19586\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19586\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19586\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19586\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19586\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19586\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19586\/cover_image_small.jpg 810w"},{"name":"Causal Inference and Discovery in Python","link":"\/product\/causal-inference-and-discovery-in-python-9781804612989","image":"https:\/\/content.packt.com\/B18993\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18993\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18993\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18993\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18993\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18993\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18993\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18993\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18993\/cover_image_small.jpg 810w"},{"name":"Data Engineering with AWS","link":"\/product\/data-engineering-with-aws-9781804614426","image":"https:\/\/content.packt.com\/B19131\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19131\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19131\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19131\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19131\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19131\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19131\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19131\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19131\/cover_image_small.jpg 810w"},{"name":"Et al.","link":"\/product\/et-al-9781837632572","image":"https:\/\/content.packt.com\/B19719\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19719\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19719\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19719\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19719\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19719\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19719\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19719\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19719\/cover_image_small.jpg 810w"},{"name":"Interpretable Machine Learning with Python","link":"\/product\/interpretable-machine-learning-with-python-9781803235424","image":"https:\/\/content.packt.com\/B18406\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18406\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18406\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18406\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18406\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18406\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18406\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18406\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18406\/cover_image_small.jpg 810w"},{"name":"Machine Learning Engineering with Python","link":"\/product\/machine-learning-engineering-with-python-9781837631964","image":"https:\/\/content.packt.com\/B19525\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19525\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19525\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19525\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19525\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19525\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19525\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19525\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19525\/cover_image_small.jpg 810w"},{"name":"Machine Learning for Algorithmic Trading","link":"\/product\/machine-learning-for-algorithmic-trading-9781839217715","image":"https:\/\/content.packt.com\/B15439\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15439\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15439\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15439\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15439\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15439\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15439\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15439\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15439\/cover_image_small.jpg 810w"},{"name":"Mastering Microsoft Power BI","link":"\/product\/mastering-microsoft-power-bi-9781801811484","image":"https:\/\/content.packt.com\/B17766\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17766\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17766\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17766\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17766\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17766\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17766\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17766\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17766\/cover_image_small.jpg 810w"},{"name":"Microsoft Power BI Quick Start Guide","link":"\/product\/microsoft-power-bi-quick-start-guide-9781804613498","image":"https:\/\/content.packt.com\/B19089\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19089\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19089\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19089\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19089\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19089\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19089\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19089\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19089\/cover_image_small.jpg 810w"},{"name":"Modern Data Architecture on AWS","link":"\/product\/modern-data-architecture-on-aws-9781801813396","image":"https:\/\/content.packt.com\/B17876\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17876\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17876\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17876\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17876\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17876\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17876\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17876\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17876\/cover_image_small.jpg 810w"},{"name":"Practical Guide to Applied Conformal Prediction in Python","link":"\/product\/practical-guide-to-applied-conformal-prediction-in-python-9781805122760","image":"https:\/\/content.packt.com\/B19925\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19925\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19925\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19925\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19925\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19925\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19925\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19925\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19925\/cover_image_small.jpg 810w"},{"name":"Practical MongoDB Aggregations","link":"\/product\/practical-mongodb-aggregations-9781835080641","image":"https:\/\/content.packt.com\/B21539\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21539\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21539\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21539\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21539\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21539\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21539\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21539\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21539\/cover_image_small.jpg 810w"},{"name":"Streamlit for Data Science","link":"\/product\/streamlit-for-data-science-9781803248226","image":"https:\/\/content.packt.com\/B18444\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18444\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18444\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18444\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18444\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18444\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18444\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18444\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18444\/cover_image_small.jpg 810w"},{"name":"The AI Product Manager\u0027s Handbook","link":"\/product\/the-ai-product-managers-handbook-9781804612934","image":"https:\/\/content.packt.com\/B18935\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18935\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18935\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18935\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18935\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18935\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18935\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18935\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18935\/cover_image_small.jpg 810w"},{"name":"The Kaggle Workbook","link":"\/product\/the-kaggle-workbook-9781804611210","image":"https:\/\/content.packt.com\/B19265\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19265\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19265\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19265\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19265\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19265\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19265\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19265\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19265\/cover_image_small.jpg 810w"},{"name":"TinyML Cookbook","link":"\/product\/tinyml-cookbook-9781837637362","image":"https:\/\/content.packt.com\/B19726\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19726\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19726\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19726\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19726\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19726\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19726\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19726\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19726\/cover_image_small.jpg 810w"},{"name":"Vector Search for Practitioners with Elastic","link":"\/product\/vector-search-for-practitioners-with-elastic-9781805121022","image":"https:\/\/content.packt.com\/B20870\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20870\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20870\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20870\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20870\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20870\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20870\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20870\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20870\/cover_image_small.jpg 810w"}]},{"name":"Web Development","link":"\/web-development","list":[{"name":"50 Algorithms Every Programmer Should Know","link":"\/product\/50-algorithms-every-programmer-should-know-9781803247762","image":"https:\/\/content.packt.com\/B18046\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18046\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18046\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18046\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18046\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18046\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18046\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18046\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18046\/cover_image_small.jpg 810w"},{"name":"Apps and Services with .NET 8","link":"\/product\/apps-and-services-with-net-8-9781837637133","image":"https:\/\/content.packt.com\/B19587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg 810w"},{"name":"Building Your Own JavaScript Framework","link":"\/product\/building-your-own-javascript-framework-9781804617403","image":"https:\/\/content.packt.com\/B19014\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19014\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19014\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19014\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19014\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19014\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19014\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19014\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19014\/cover_image_small.jpg 810w"},{"name":"Django 4 By Example","link":"\/product\/django-4-by-example-9781801813051","image":"https:\/\/content.packt.com\/B17763\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17763\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17763\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17763\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17763\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17763\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17763\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17763\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17763\/cover_image_small.jpg 810w"},{"name":"Enhanced Test Automation with WebdriverIO","link":"\/product\/enhanced-test-automation-with-webdriverio-9781837630189","image":"https:\/\/content.packt.com\/B19395\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19395\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19395\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19395\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19395\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19395\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19395\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19395\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19395\/cover_image_small.jpg 810w"},{"name":"Flask Framework Cookbook","link":"\/product\/flask-framework-cookbook-9781804611104","image":"https:\/\/content.packt.com\/B19111\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19111\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19111\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19111\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19111\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19111\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19111\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19111\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19111\/cover_image_small.png 810w"},{"name":"Full Stack Development with Spring Boot 3 and React","link":"\/product\/full-stack-development-with-spring-boot-3-and-react-9781805122463","image":"https:\/\/content.packt.com\/B19818\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19818\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19818\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19818\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19818\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19818\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19818\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19818\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19818\/cover_image_small.jpg 810w"},{"name":"Full Stack Web Development with Remix","link":"\/product\/full-stack-web-development-with-remix-9781801075299","image":"https:\/\/content.packt.com\/B17399\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17399\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17399\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17399\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17399\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17399\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17399\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17399\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17399\/cover_image_small.jpg 810w"},{"name":"JavaScript from Beginner to Professional","link":"\/product\/javascript-from-beginner-to-professional-9781800562523","image":"https:\/\/content.packt.com\/B16682\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16682\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16682\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16682\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16682\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16682\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16682\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16682\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16682\/cover_image_small.png 810w"},{"name":"Learning Angular","link":"\/product\/learning-angular-9781803240602","image":"https:\/\/content.packt.com\/B18468\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18468\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18468\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18468\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18468\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18468\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18468\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18468\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18468\/cover_image_small.jpg 810w"},{"name":"Microservices with Spring Boot 3 and Spring Cloud","link":"\/product\/microservices-with-spring-boot-3-and-spring-cloud-9781805128694","image":"https:\/\/content.packt.com\/B19825\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19825\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19825\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19825\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19825\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19825\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19825\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19825\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19825\/cover_image_small.jpg 810w"},{"name":"Modern API Development with Spring 6 and Spring Boot 3","link":"\/product\/modern-api-development-with-spring-6-and-spring-boot-3-9781804613276","image":"https:\/\/content.packt.com\/B19349\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19349\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19349\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19349\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19349\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19349\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19349\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19349\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19349\/cover_image_small.jpg 810w"},{"name":"Modernizing Drupal 10 Theme Development","link":"\/product\/modernizing-drupal-10-theme-development-9781803238098","image":"https:\/\/content.packt.com\/B18659\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18659\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18659\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18659\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18659\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18659\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18659\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18659\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18659\/cover_image_small.jpg 810w"},{"name":"Node.js Design Patterns","link":"\/product\/nodejs-design-patterns-9781839214110","image":"https:\/\/content.packt.com\/B15729\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15729\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15729\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15729\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15729\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15729\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15729\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15729\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15729\/cover_image_small.jpg 810w"},{"name":"React 18 Design Patterns and Best Practices","link":"\/product\/react-18-design-patterns-and-best-practices-9781803233109","image":"https:\/\/content.packt.com\/B18414\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18414\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18414\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18414\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18414\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18414\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18414\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18414\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18414\/cover_image_small.jpg 810w"},{"name":"React Interview Guide","link":"\/product\/react-interview-guide-9781803241517","image":"https:\/\/content.packt.com\/B18603\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18603\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18603\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18603\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18603\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18603\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18603\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18603\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18603\/cover_image_small.jpg 810w"},{"name":"React Key Concepts","link":"\/product\/react-key-concepts-9781803234502","image":"https:\/\/content.packt.com\/B18084\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18084\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18084\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18084\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18084\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18084\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18084\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18084\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18084\/cover_image_small.jpg 810w"},{"name":"Real-World Svelte","link":"\/product\/real-world-svelte-9781804616031","image":"https:\/\/content.packt.com\/B18887\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18887\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18887\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18887\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18887\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18887\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18887\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18887\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18887\/cover_image_small.jpg 810w"},{"name":"Responsive Web Design with HTML5 and CSS","link":"\/product\/responsive-web-design-with-html5-and-css-9781803242712","image":"https:\/\/content.packt.com\/B18550\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18550\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18550\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18550\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18550\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18550\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18550\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18550\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18550\/cover_image_small.jpg 810w"},{"name":"The MVVM Pattern in .NET MAUI","link":"\/product\/the-mvvm-pattern-in-net-maui-9781805125006","image":"https:\/\/content.packt.com\/B20941\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20941\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20941\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20941\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20941\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20941\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20941\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20941\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20941\/cover_image_small.jpg 810w"}]},{"name":"Programming","link":"\/programming","list":[{"name":".NET MAUI for C# Developers","link":"\/product\/net-maui-for-c-developers-9781837631698","image":"https:\/\/content.packt.com\/B19723\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19723\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19723\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19723\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19723\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19723\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19723\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg 810w"},{"name":"AWS for Solutions Architects","link":"\/product\/aws-for-solutions-architects-9781803238951","image":"https:\/\/content.packt.com\/B18475\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18475\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18475\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18475\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18475\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18475\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18475\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18475\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18475\/cover_image_small.jpeg 810w"},{"name":"Building Low Latency Applications with C++","link":"\/product\/building-low-latency-applications-with-c-9781837639359","image":"https:\/\/content.packt.com\/B19434\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19434\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19434\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19434\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19434\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19434\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19434\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19434\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19434\/cover_image_small.jpg 810w"},{"name":"Designing Hexagonal Architecture with Java","link":"\/product\/designing-hexagonal-architecture-with-java-9781837635115","image":"https:\/\/content.packt.com\/B19777\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19777\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19777\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19777\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19777\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19777\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19777\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19777\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19777\/cover_image_small.jpg 810w"},{"name":"Developer Career Masterplan","link":"\/product\/developer-career-masterplan-9781801818704","image":"https:\/\/content.packt.com\/B18772\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18772\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18772\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18772\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18772\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18772\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18772\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18772\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18772\/cover_image_small.jpg 810w"},{"name":"Event-Driven Architecture in Golang","link":"\/product\/event-driven-architecture-in-golang-9781803238012","image":"https:\/\/content.packt.com\/B18368\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18368\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18368\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18368\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18368\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18368\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18368\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18368\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18368\/cover_image_small.jpg 810w"},{"name":"Expert C++","link":"\/product\/expert-c-9781804617830","image":"https:\/\/content.packt.com\/B19043\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19043\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19043\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19043\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19043\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19043\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19043\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19043\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19043\/cover_image_small.jpg 810w"},{"name":"Get Your Hands Dirty on Clean Architecture","link":"\/product\/get-your-hands-dirty-on-clean-architecture-9781805128373","image":"https:\/\/content.packt.com\/B19916\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19916\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19916\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19916\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19916\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19916\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19916\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19916\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19916\/cover_image_small.jpg 810w"},{"name":"Kotlin Design Patterns and Best Practices","link":"\/product\/kotlin-design-patterns-and-best-practices-9781801815727","image":"https:\/\/content.packt.com\/B17816\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17816\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17816\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17816\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17816\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17816\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17816\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17816\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17816\/cover_image_small.png 810w"},{"name":"Learn Java with Projects","link":"\/product\/learn-java-with-projects-9781837637188","image":"https:\/\/content.packt.com\/B19793\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19793\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19793\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19793\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19793\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19793\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19793\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19793\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19793\/cover_image_small.jpg 810w"},{"name":"Learn Python Programming, 3rd edition","link":"\/product\/learn-python-programming-9781801815093","image":"https:\/\/content.packt.com\/B17579\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17579\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17579\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17579\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17579\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17579\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17579\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17579\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17579\/cover_image_small.jpg 810w"},{"name":"Learn WinUI 3","link":"\/product\/learn-winui-3-9781805120063","image":"https:\/\/content.packt.com\/B20908\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20908\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20908\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20908\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20908\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20908\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20908\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20908\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20908\/cover_image_small.jpg 810w"},{"name":"Mastering Apex Programming","link":"\/product\/mastering-apex-programming-9781837638352","image":"https:\/\/content.packt.com\/B19666\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19666\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19666\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19666\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19666\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19666\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19666\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19666\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19666\/cover_image_small.jpg 810w"},{"name":"Modern CMake for C++","link":"\/product\/modern-cmake-for-c-9781801070058","image":"https:\/\/content.packt.com\/B17205\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17205\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17205\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17205\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17205\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17205\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17205\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17205\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17205\/cover_image_small.jpg 810w"},{"name":"Python Object-Oriented Programming","link":"\/product\/python-object-oriented-programming-9781801077262","image":"https:\/\/content.packt.com\/B17070\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17070\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17070\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17070\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17070\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17070\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17070\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17070\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17070\/cover_image_small.jpeg 810w"},{"name":"Python Real-World Projects","link":"\/product\/python-real-world-projects-9781803246765","image":"https:\/\/content.packt.com\/B19828\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19828\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19828\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19828\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19828\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19828\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19828\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19828\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19828\/cover_image_small.jpg 810w"},{"name":"Quantum Computing Algorithms","link":"\/product\/quantum-computing-algorithms-9781804617373","image":"https:\/\/content.packt.com\/B18978\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18978\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18978\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18978\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18978\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18978\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18978\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18978\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18978\/cover_image_small.jpg 810w"},{"name":"Systems Engineering Demystified","link":"\/product\/systems-engineering-demystified-9781804610688","image":"https:\/\/content.packt.com\/B19125\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19125\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19125\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19125\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19125\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19125\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19125\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19125\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19125\/cover_image_small.jpg 810w"},{"name":"Test-Driven Development in Go","link":"\/product\/test-driven-development-in-go-9781803247878","image":"https:\/\/content.packt.com\/B18371\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18371\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18371\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18371\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18371\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18371\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18371\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18371\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18371\/cover_image_small.jpg 810w"},{"name":"The Art of Writing Efficient Programs","link":"\/product\/the-art-of-writing-efficient-programs-9781800208117","image":"https:\/\/content.packt.com\/B16229\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16229\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16229\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16229\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16229\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16229\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16229\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16229\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16229\/cover_image_small.jpeg 810w"}]},{"name":"Cloud and Networking","link":"\/cloud-and-networking","list":[{"name":"50 Kubernetes Concepts Every DevOps Engineer Should Know","link":"\/product\/50-kubernetes-concepts-every-devops-engineer-should-know-9781804611470","image":"https:\/\/content.packt.com\/B19116\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19116\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19116\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19116\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19116\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19116\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19116\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19116\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19116\/cover_image_small.jpg 810w"},{"name":"Automating DevOps with GitLab CI\/CD Pipelines","link":"\/product\/automating-devops-with-gitlab-cicd-pipelines-9781803233000","image":"https:\/\/content.packt.com\/B18073\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18073\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18073\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18073\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18073\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18073\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18073\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18073\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18073\/cover_image_small.jpg 810w"},{"name":"AWS CDK in Practice","link":"\/product\/aws-cdk-in-practice-9781801812399","image":"https:\/\/content.packt.com\/B17802\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17802\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17802\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17802\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17802\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17802\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17802\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17802\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17802\/cover_image_small.jpg 810w"},{"name":"Azure for Decision Makers","link":"\/product\/azure-for-decision-makers-9781837639915","image":"https:\/\/content.packt.com\/B19712\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19712\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19712\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19712\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19712\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19712\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19712\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19712\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19712\/cover_image_small.jpg 810w"},{"name":"Bootstrapping Service Mesh Implementations with Istio","link":"\/product\/bootstrapping-service-mesh-implementations-with-istio-9781803246819","image":"https:\/\/content.packt.com\/B17989\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17989\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17989\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17989\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17989\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17989\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17989\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17989\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17989\/cover_image_small.jpg 810w"},{"name":"Docker Deep Dive","link":"\/product\/docker-deep-dive-9781835081709","image":"https:\/\/content.packt.com\/B21619\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21619\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21619\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21619\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21619\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21619\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21619\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21619\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21619\/cover_image_small.jpg 810w"},{"name":"FinOps Handbook for Microsoft Azure","link":"\/product\/finops-handbook-for-microsoft-azure-9781801810166","image":"https:\/\/content.packt.com\/B19347\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19347\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19347\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19347\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19347\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19347\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19347\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19347\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19347\/cover_image_small.jpg 810w"},{"name":"Mastering Elastic Kubernetes Service on AWS","link":"\/product\/mastering-elastic-kubernetes-service-on-aws-9781803231211","image":"https:\/\/content.packt.com\/B18129\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18129\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18129\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18129\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18129\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18129\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18129\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18129\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18129\/cover_image_small.jpg 810w"},{"name":"Mastering Active Directory","link":"\/product\/mastering-active-directory-9781801070393","image":"https:\/\/content.packt.com\/B17440\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17440\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17440\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17440\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17440\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17440\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17440\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17440\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17440\/cover_image_small.jpeg 810w"},{"name":"Mastering Kubernetes","link":"\/product\/mastering-kubernetes-9781804611395","image":"https:\/\/content.packt.com\/B18998\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18998\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18998\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18998\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18998\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18998\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18998\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18998\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18998\/cover_image_small.png 810w"},{"name":"Mastering Python Networking","link":"\/product\/mastering-python-networking-9781803234618","image":"https:\/\/content.packt.com\/B18403\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18403\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18403\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18403\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18403\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18403\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18403\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18403\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18403\/cover_image_small.jpg 810w"},{"name":"Multi-Cloud Strategy for Cloud Architects","link":"\/product\/multi-cloud-strategy-for-cloud-architects-9781804616734","image":"https:\/\/content.packt.com\/B19000\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19000\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19000\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19000\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19000\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19000\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19000\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19000\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19000\/cover_image_small.jpg 810w"},{"name":"Practical Ansible","link":"\/product\/practical-ansible-9781805129974","image":"https:\/\/content.packt.com\/B20846\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B20846\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B20846\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B20846\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B20846\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B20846\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B20846\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B20846\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B20846\/cover_image_small.jpg 810w"},{"name":"Network Automation with Go","link":"\/product\/network-automation-with-go-9781800560925","image":"https:\/\/content.packt.com\/B16971\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16971\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16971\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16971\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16971\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16971\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16971\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16971\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16971\/cover_image_small.jpg 810w"},{"name":"Practical Threat Detection Engineering","link":"\/product\/practical-threat-detection-engineering-9781801076715","image":"https:\/\/content.packt.com\/B17299\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17299\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17299\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17299\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17299\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17299\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17299\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17299\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17299\/cover_image_small.jpg 810w"},{"name":"Technology Operating Models for Cloud and Edge","link":"\/product\/technology-operating-models-for-cloud-and-edge-9781837631391","image":"https:\/\/content.packt.com\/B19708\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19708\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19708\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19708\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19708\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19708\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19708\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19708\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19708\/cover_image_small.jpg 810w"},{"name":"Terraform Cookbook, 2E","link":"\/product\/terraform-cookbook-9781804616420","image":"https:\/\/content.packt.com\/B18997\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18997\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18997\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18997\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18997\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18997\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18997\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18997\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18997\/cover_image_small.jpg 810w"},{"name":"The Self-Taught Cloud Computing Engineer","link":"\/product\/the-self-taught-cloud-computing-engineer-9781805123705","image":"https:\/\/content.packt.com\/B19796\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19796\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19796\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19796\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19796\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19796\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19796\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19796\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19796\/cover_image_small.jpg 810w"},{"name":"The Ultimate Docker Container Book","link":"\/product\/the-ultimate-docker-container-book-9781804613986","image":"https:\/\/content.packt.com\/B19199\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19199\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19199\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19199\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19199\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19199\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19199\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19199\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19199\/cover_image_small.jpg 810w"},{"name":"Windows Server Automation with PowerShell Cookbook","link":"\/product\/windows-server-automation-with-powershell-cookbook-9781804614235","image":"https:\/\/content.packt.com\/B18878\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18878\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18878\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18878\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18878\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18878\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18878\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18878\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18878\/cover_image_small.jpg 810w"}]},{"name":"Security","link":"\/security","list":[{"name":"Architecture and Design of the Linux Storage Stack","link":"\/product\/architecture-and-design-of-the-linux-storage-stack-9781837639960","image":"https:\/\/content.packt.com\/B19430\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19430\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19430\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19430\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19430\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19430\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19430\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19430\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19430\/cover_image_small.jpg 810w"},{"name":"Attacking and Exploiting Modern Web Applications","link":"\/product\/attacking-and-exploiting-modern-web-applications-9781801816298","image":"https:\/\/content.packt.com\/B17828\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17828\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17828\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17828\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17828\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17828\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17828\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17828\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17828\/cover_image_small.jpg 810w"},{"name":"Automotive Cybersecurity Engineering Handbook","link":"\/product\/automotive-cybersecurity-engineering-handbook-9781801076531","image":"https:\/\/content.packt.com\/B17055\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17055\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17055\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17055\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17055\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17055\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17055\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17055\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17055\/cover_image_small.jpg 810w"},{"name":"Blueprints Visual Scripting for Unreal Engine 5","link":"\/product\/blueprints-visual-scripting-for-unreal-engine-5-9781801811583","image":"https:\/\/content.packt.com\/B17877\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17877\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17877\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17877\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17877\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17877\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17877\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17877\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17877\/cover_image_small.png 810w"},{"name":"Building and Automating Penetration Testing Labs in the Cloud","link":"\/product\/building-and-automating-penetration-testing-labs-in-the-cloud-9781837632398","image":"https:\/\/content.packt.com\/B19755\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19755\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19755\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19755\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19755\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19755\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19755\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19755\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19755\/cover_image_small.jpg 810w"},{"name":"Burp Suite Cookbook","link":"\/product\/burp-suite-cookbook-9781835081075","image":"https:\/\/content.packt.com\/B21173\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21173\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21173\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21173\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21173\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21173\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21173\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21173\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21173\/cover_image_small.jpg 810w"},{"name":"CISA \u2013 Certified Information Systems Auditor Study Guide","link":"\/product\/cisa-certified-information-systems-auditor-study-guide-9781803248158","image":"https:\/\/content.packt.com\/B18707\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18707\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18707\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18707\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18707\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18707\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18707\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18707\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18707\/cover_image_small.jpg 810w"},{"name":"Cloud Penetration Testing for Red Teamers","link":"\/product\/cloud-penetration-testing-for-red-teamers-9781803248486","image":"https:\/\/content.packt.com\/B18672\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18672\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18672\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18672\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18672\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18672\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18672\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18672\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18672\/cover_image_small.jpg 810w"},{"name":"CompTIA CASP+ CAS-004 Certification Guide","link":"\/product\/comptia-casp-cas-004-certification-guide-9781801816779","image":"https:\/\/content.packt.com\/B17596\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17596\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17596\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17596\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17596\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17596\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17596\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17596\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17596\/cover_image_small.jpg 810w"},{"name":"Digital Forensics and Incident Response","link":"\/product\/digital-forensics-and-incident-response-9781803238678","image":"https:\/\/content.packt.com\/B18571\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18571\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18571\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18571\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18571\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18571\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18571\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18571\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18571\/cover_image_small.jpg 810w"},{"name":"ISACA Certified in Risk and Information Systems Control (CRISC\u00ae) Exam Guide","link":"\/product\/isaca-certified-in-risk-and-information-systems-control-crisc-exam-guide-9781803236902","image":"https:\/\/content.packt.com\/B18557\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18557\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18557\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18557\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18557\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18557\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18557\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18557\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18557\/cover_image_small.jpg 810w"},{"name":"Mastering Linux Security and Hardening","link":"\/product\/mastering-linux-security-and-hardening-9781837630516","image":"https:\/\/content.packt.com\/B19501\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19501\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19501\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19501\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19501\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19501\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19501\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19501\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19501\/cover_image_small.jpg 810w"},{"name":"Mastering Microsoft 365 Defender","link":"\/product\/mastering-microsoft-365-defender-9781803241708","image":"https:\/\/content.packt.com\/B18051\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18051\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18051\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18051\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18051\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18051\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18051\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18051\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18051\/cover_image_small.jpg 810w"},{"name":"Mastering Windows 365","link":"\/product\/mastering-windows-365-9781837637966","image":"https:\/\/content.packt.com\/B19419\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19419\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19419\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19419\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19419\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19419\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19419\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19419\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19419\/cover_image_small.jpg 810w"},{"name":"Mastering Windows Server 2022","link":"\/product\/mastering-windows-server-2022-9781837634507","image":"https:\/\/content.packt.com\/B19522\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19522\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19522\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19522\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19522\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19522\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19522\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19522\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19522\/cover_image_small.jpg 810w"},{"name":"Microsoft Defender for Endpoint in Depth","link":"\/product\/microsoft-defender-for-endpoint-in-depth-9781804615461","image":"https:\/\/content.packt.com\/B18990\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18990\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18990\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18990\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18990\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18990\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18990\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18990\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18990\/cover_image_small.jpg 810w"},{"name":"Official Google Cloud Certified Professional Cloud Security Engineer Exam Guide","link":"\/product\/official-google-cloud-certified-professional-cloud-security-engineer-exam-guide-9781835468869","image":"https:\/\/content.packt.com\/B21817\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21817\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21817\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21817\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21817\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21817\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21817\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21817\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21817\/cover_image_small.jpg 810w"},{"name":"Reconnaissance for Ethical Hackers","link":"\/product\/reconnaissance-for-ethical-hackers-9781837630639","image":"https:\/\/content.packt.com\/B19448\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19448\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19448\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19448\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19448\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19448\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19448\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19448\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19448\/cover_image_small.png 810w"},{"name":"Security Orchestration, Automation, and Response for Security Analysts","link":"\/product\/security-orchestration-automation-and-response-for-security-analysts-9781803242910","image":"https:\/\/content.packt.com\/B18028\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18028\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18028\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18028\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18028\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18028\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18028\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18028\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18028\/cover_image_small.jpg 810w"},{"name":"The Ultimate Kali Linux Book","link":"\/product\/the-ultimate-kali-linux-book-9781801818933","image":"https:\/\/content.packt.com\/B17681\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17681\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17681\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17681\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17681\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17681\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17681\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17681\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17681\/cover_image_small.jpg 810w"}]},{"name":"Game Development","link":"\/game-development","list":[{"name":"Become a Unity Shaders Guru","link":"\/product\/become-a-unity-shaders-guru-9781837636747","image":"https:\/\/content.packt.com\/B19397\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19397\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19397\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19397\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19397\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19397\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19397\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19397\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19397\/cover_image_small.jpg 810w"},{"name":"Blender 3D Asset Creation for the Metaverse","link":"\/product\/blender-3d-asset-creation-for-the-metaverse-9781801814324","image":"https:\/\/content.packt.com\/B18828\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18828\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18828\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18828\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18828\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18828\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18828\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18828\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18828\/cover_image_small.jpg 810w"},{"name":"Build Stunning Real-time VFX with Unreal Engine 5","link":"\/product\/build-stunning-real-time-vfx-with-unreal-engine-5-9781801072410","image":"https:\/\/content.packt.com\/B17261\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17261\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17261\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17261\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17261\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17261\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17261\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17261\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17261\/cover_image_small.jpg 810w"},{"name":"Coding Roblox Games Made Easy","link":"\/product\/coding-roblox-games-made-easy-9781803234670","image":"https:\/\/content.packt.com\/B18586\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18586\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18586\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18586\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18586\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18586\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18586\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18586\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18586\/cover_image_small.jpg 810w"},{"name":"Creating an RTS Game in Unity 2023","link":"\/product\/creating-an-rts-game-in-unity-2023-9781804613245","image":"https:\/\/content.packt.com\/B19296\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19296\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19296\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19296\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19296\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19296\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19296\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19296\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19296\/cover_image_small.jpg 810w"},{"name":"Elevating Game Experiences with Unreal Engine 5","link":"\/product\/elevating-game-experiences-with-unreal-engine-5-9781803239866","image":"https:\/\/content.packt.com\/B18531\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18531\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18531\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18531\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18531\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18531\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18531\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18531\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18531\/cover_image_small.jpg 810w"},{"name":"Embedded Systems Architecture","link":"\/product\/embedded-systems-architecture-9781803239545","image":"https:\/\/content.packt.com\/B18730\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18730\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18730\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18730\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18730\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18730\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18730\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18730\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18730\/cover_image_small.jpg 810w"},{"name":"Enhancing Virtual Reality Experiences with Unity 2022","link":"\/product\/enhancing-virtual-reality-experiences-with-unity-2022-9781804619537","image":"https:\/\/content.packt.com\/B18869\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18869\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18869\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18869\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18869\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18869\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18869\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18869\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18869\/cover_image_small.jpg 810w"},{"name":"Godot 4 Game Development Cookbook","link":"\/product\/godot-4-game-development-cookbook-9781838826079","image":"https:\/\/content.packt.com\/B14528\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B14528\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B14528\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B14528\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B14528\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B14528\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B14528\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B14528\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B14528\/cover_image_small.png 810w"},{"name":"Godot 4 Game Development Projects.","link":"\/product\/godot-4-game-development-projects-9781804610404","image":"https:\/\/content.packt.com\/B19289\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19289\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19289\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19289\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19289\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19289\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19289\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19289\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19289\/cover_image_small.jpg 810w"},{"name":"Hands-On Unity 2022 Game Development","link":"\/product\/hands-on-unity-2022-game-development-9781803236919","image":"https:\/\/content.packt.com\/B18585\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18585\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18585\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18585\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18585\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18585\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18585\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18585\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18585\/cover_image_small.jpg 810w"},{"name":"Learning C# by Developing Games with Unity","link":"\/product\/learning-c-by-developing-games-with-unity-9781837636877","image":"https:\/\/content.packt.com\/B19386\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19386\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19386\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19386\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19386\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19386\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19386\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19386\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19386\/cover_image_small.png 810w"},{"name":"Mathematics for Game Programming and Computer Graphics","link":"\/product\/mathematics-for-game-programming-and-computer-graphics-9781801077330","image":"https:\/\/content.packt.com\/B17174\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17174\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17174\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17174\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17174\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17174\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17174\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17174\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17174\/cover_image_small.jpg 810w"},{"name":"Modern Game Testing","link":"\/product\/modern-game-testing-9781803244402","image":"https:\/\/content.packt.com\/B18348\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18348\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18348\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18348\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18348\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18348\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18348\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18348\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18348\/cover_image_small.png 810w"},{"name":"Multiplayer Game Development with Unreal Engine 5","link":"\/product\/multiplayer-game-development-with-unreal-engine-5-9781803232874","image":"https:\/\/content.packt.com\/B18203\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18203\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18203\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18203\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18203\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18203\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18203\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18203\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18203\/cover_image_small.jpg 810w"},{"name":"Blueprints Visual Scripting for Unreal Engine 5","link":"\/product\/blueprints-visual-scripting-for-unreal-engine-5-9781801811583","image":"https:\/\/content.packt.com\/B17877\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17877\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17877\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17877\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17877\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17877\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17877\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17877\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17877\/cover_image_small.png 810w"},{"name":"Practical Game Design.","link":"\/product\/practical-game-design-9781803245157","image":"https:\/\/content.packt.com\/B18810\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18810\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18810\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18810\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18810\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18810\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18810\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18810\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18810\/cover_image_small.png 810w"},{"name":"Python Scripting in Blender","link":"\/product\/python-scripting-in-blender-9781803234229","image":"https:\/\/content.packt.com\/B18375\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B18375\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18375\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B18375\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18375\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B18375\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18375\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18375\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B18375\/cover_image_small.png 810w"},{"name":"Unity 2022 Mobile Game Development","link":"\/product\/unity-2022-mobile-game-development-9781804613726","image":"https:\/\/content.packt.com\/B18868\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18868\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18868\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18868\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18868\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18868\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18868\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18868\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18868\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 Game Development with C++ Scripting","link":"\/product\/unreal-engine-5-game-development-with-c-scripting-9781804613931","image":"https:\/\/content.packt.com\/B19139\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19139\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19139\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19139\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19139\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19139\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19139\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19139\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19139\/cover_image_small.jpg 810w"}]},{"name":"Mobile","link":"\/mobile","list":[{"name":".NET MAUI for C# Developers","link":"\/product\/net-maui-for-c-developers-9781837631698","image":"https:\/\/content.packt.com\/B19723\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19723\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19723\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19723\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19723\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19723\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19723\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19723\/cover_image_small.jpg 810w"},{"name":"Android Programming for Beginners","link":"\/product\/android-programming-for-beginners-9781800563438","image":"https:\/\/content.packt.com\/B16773\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16773\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16773\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16773\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16773\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16773\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16773\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16773\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16773\/cover_image_small.png 810w"},{"name":"Animating SwiftUI Applications","link":"\/product\/animating-swiftui-applications-9781803232669","image":"https:\/\/content.packt.com\/B18674\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18674\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18674\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18674\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18674\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18674\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18674\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18674\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18674\/cover_image_small.jpg 810w"},{"name":"Apps and Services with .NET 8","link":"\/product\/apps-and-services-with-net-8-9781837637133","image":"https:\/\/content.packt.com\/B19587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19587\/cover_image_small.jpg 810w"},{"name":"Elevate SwiftUI Skills by Building Projects","link":"\/product\/elevate-swiftui-skills-by-building-projects-9781803242071","image":"https:\/\/content.packt.com\/B18783\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18783\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18783\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18783\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18783\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18783\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18783\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18783\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18783\/cover_image_small.jpg 810w"},{"name":"Flutter Cookbook","link":"\/product\/flutter-cookbook-9781803245430","image":"https:\/\/content.packt.com\/B18588\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18588\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18588\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18588\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18588\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18588\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18588\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18588\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18588\/cover_image_small.jpg 810w"},{"name":"Modern Android 13 Development Cookbook","link":"\/product\/modern-android-13-development-cookbook-9781803235578","image":"https:\/\/content.packt.com\/B18827\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18827\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18827\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18827\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18827\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18827\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18827\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18827\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18827\/cover_image_small.jpg 810w"},{"name":"Simplifying Android Development with Coroutines and Flows","link":"\/product\/simplifying-android-development-with-coroutines-and-flows-9781801816243","image":"https:\/\/content.packt.com\/B17773\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17773\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17773\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17773\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17773\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17773\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17773\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17773\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17773\/cover_image_small.jpg 810w"},{"name":"SwiftUI Cookbook","link":"\/product\/swiftui-cookbook-9781805121732","image":"https:\/\/content.packt.com\/B21131\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B21131\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B21131\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B21131\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B21131\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B21131\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B21131\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B21131\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B21131\/cover_image_small.jpg 810w"},{"name":"The Immersive Metaverse Playbook for Business Leaders","link":"\/product\/the-immersive-metaverse-playbook-for-business-leaders-9781837632848","image":"https:\/\/content.packt.com\/B19622\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19622\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19622\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19622\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19622\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19622\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19622\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19622\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19622\/cover_image_small.jpg 810w"}]},{"name":"IoT and Hardware","link":"\/iot-and-hardware","list":[{"name":"Agile Model-Based Systems Engineering Cookbook Second Edition","link":"\/product\/agile-model-based-systems-engineering-cookbook-9781803235820","image":"https:\/\/content.packt.com\/B18595\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18595\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18595\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18595\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18595\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18595\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18595\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18595\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18595\/cover_image_small.jpg 810w"},{"name":"Architectural Patterns and Techniques for Developing IoT Solutions","link":"\/product\/architectural-patterns-and-techniques-for-developing-iot-solutions-9781803245492","image":"https:\/\/content.packt.com\/B18757\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18757\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18757\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18757\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18757\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18757\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18757\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18757\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18757\/cover_image_small.jpg 810w"},{"name":"Arduino Data Communications","link":"\/product\/arduino-data-communications-9781837632619","image":"https:\/\/content.packt.com\/B19476\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19476\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19476\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19476\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19476\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19476\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19476\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19476\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19476\/cover_image_small.jpg 810w"},{"name":"Arduino IoT Cloud for Developers","link":"\/product\/arduino-iot-cloud-for-developers-9781837637171","image":"https:\/\/content.packt.com\/B19752\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19752\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19752\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19752\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19752\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19752\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19752\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19752\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19752\/cover_image_small.jpg 810w"},{"name":"BBC Micro:bit in Practice","link":"\/product\/bbc-microbit-in-practice-9781804610121","image":"https:\/\/content.packt.com\/B19281\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19281\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19281\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19281\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19281\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19281\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19281\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19281\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19281\/cover_image_small.jpg 810w"},{"name":"Building Smart Home Automation Solutions with Home Assistant","link":"\/product\/building-smart-home-automation-solutions-with-home-assistant-9781801815291","image":"https:\/\/content.packt.com\/B17825\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17825\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17825\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17825\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17825\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17825\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17825\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17825\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17825\/cover_image_small.jpg 810w"},{"name":"Developing IoT Projects with ESP32","link":"\/product\/developing-iot-projects-with-esp32-9781838641160","image":"https:\/\/content.packt.com\/B14327\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B14327\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B14327\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B14327\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B14327\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B14327\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B14327\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B14327\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B14327\/cover_image_small.jpeg 810w"},{"name":"Embedded Systems Architecture","link":"\/product\/embedded-systems-architecture-9781803239545","image":"https:\/\/content.packt.com\/B18730\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18730\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18730\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18730\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18730\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18730\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18730\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18730\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18730\/cover_image_small.jpg 810w"},{"name":"Implementing Cellular IoT Solutions for Digital Transformation","link":"\/product\/implementing-cellular-iot-solutions-for-digital-transformation-9781804616154","image":"https:\/\/content.packt.com\/B19096\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19096\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19096\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19096\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19096\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19096\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19096\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19096\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19096\/cover_image_small.jpg 810w"},{"name":"Industrial Automation from Scratch","link":"\/product\/industrial-automation-from-scratch-9781800569386","image":"https:\/\/content.packt.com\/B16845\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B16845\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16845\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B16845\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16845\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B16845\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16845\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16845\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B16845\/cover_image_small.png 810w"},{"name":"Industrial IoT for Architects and Engineers","link":"\/product\/industrial-iot-for-architects-and-engineers-9781803240893","image":"https:\/\/content.packt.com\/B18325\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18325\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18325\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18325\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18325\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18325\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18325\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18325\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18325\/cover_image_small.jpg 810w"},{"name":"Internet of Things for Smart Buildings","link":"\/product\/internet-of-things-for-smart-buildings-9781804619865","image":"https:\/\/content.packt.com\/B19188\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19188\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19188\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19188\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19188\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19188\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19188\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19188\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19188\/cover_image_small.jpg 810w"},{"name":"Learn Robotics Programming.","link":"\/product\/learn-robotics-programming-9781839218804","image":"https:\/\/content.packt.com\/B15660\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B15660\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15660\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B15660\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15660\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B15660\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15660\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15660\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B15660\/cover_image_small.png 810w"},{"name":"Linux Device Driver Development","link":"\/product\/linux-device-driver-development-9781803240060","image":"https:\/\/content.packt.com\/B17934\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17934\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17934\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17934\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17934\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17934\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17934\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17934\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17934\/cover_image_small.png 810w"},{"name":"M5Stack Electronic Blueprints","link":"\/product\/m5stack-electronic-blueprints-9781803230306","image":"https:\/\/content.packt.com\/B18715\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18715\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18715\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18715\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18715\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18715\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18715\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18715\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18715\/cover_image_small.jpg 810w"},{"name":"Mastering Embedded Linux Programming,","link":"\/product\/mastering-embedded-linux-programming-9781789530384","image":"https:\/\/content.packt.com\/B11566\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B11566\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B11566\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B11566\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B11566\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B11566\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B11566\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B11566\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B11566\/cover_image_small.png 810w"},{"name":"Mastering PLC Programming","link":"\/product\/mastering-plc-programming-9781804612880","image":"https:\/\/content.packt.com\/B18873\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18873\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18873\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18873\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18873\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18873\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18873\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18873\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18873\/cover_image_small.jpg 810w"},{"name":"PLC and HMI Development with Siemens TIA Portal.","link":"\/product\/plc-and-hmi-development-with-siemens-tia-portal-9781801817226","image":"https:\/\/content.packt.com\/B17793\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17793\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17793\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17793\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17793\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17793\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17793\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17793\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17793\/cover_image_small.jpeg 810w"},{"name":"The Art of Manufacturing","link":"\/product\/the-art-of-manufacturing-9781804619452","image":"https:\/\/content.packt.com\/B19264\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19264\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19264\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19264\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19264\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19264\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19264\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19264\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19264\/cover_image_small.jpg 810w"},{"name":"The Azure IoT Handbook","link":"\/product\/the-azure-iot-handbook-9781837633616","image":"https:\/\/content.packt.com\/B19626\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19626\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19626\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19626\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19626\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19626\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19626\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19626\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19626\/cover_image_small.jpg 810w"}]},{"name":"Business and Other","link":"\/business-and-other","list":[{"name":"Automate It with Zapier and Generative AI","link":"\/product\/automate-it-with-zapier-and-generative-ai-9781803239842","image":"https:\/\/content.packt.com\/B18474\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18474\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18474\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18474\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18474\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18474\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18474\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18474\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18474\/cover_image_small.jpg 810w"},{"name":"Engineering Manager\u0027s Handbook","link":"\/product\/engineering-managers-handbook-9781803235356","image":"https:\/\/content.packt.com\/B18210\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18210\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18210\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18210\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18210\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18210\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18210\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18210\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18210\/cover_image_small.jpg 810w"},{"name":"Express Your Creativity with Adobe Express","link":"\/product\/express-your-creativity-with-adobe-express-9781803237749","image":"https:\/\/content.packt.com\/B18649\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18649\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18649\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18649\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18649\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18649\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18649\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18649\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18649\/cover_image_small.jpg 810w"},{"name":"Final Cut Pro Efficient Editing, Second Edition","link":"\/product\/final-cut-pro-efficient-editing-9781837631674","image":"https:\/\/content.packt.com\/B19653\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19653\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19653\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19653\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19653\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19653\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19653\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19653\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19653\/cover_image_small.png 810w"},{"name":"Gamification for Product Excellence","link":"\/product\/gamification-for-product-excellence-9781837638383","image":"https:\/\/content.packt.com\/B19770\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19770\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19770\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19770\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19770\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19770\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19770\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19770\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19770\/cover_image_small.jpg 810w"},{"name":"Implementing Atlassian Confluence","link":"\/product\/implementing-atlassian-confluence-9781800560420","image":"https:\/\/content.packt.com\/B16861\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B16861\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B16861\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B16861\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B16861\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B16861\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B16861\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B16861\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B16861\/cover_image_small.jpg 810w"},{"name":"LaTeX Graphics with TikZ","link":"\/product\/latex-graphics-with-tikz-9781804618233","image":"https:\/\/content.packt.com\/B18920\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18920\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18920\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18920\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18920\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18920\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18920\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18920\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18920\/cover_image_small.jpg 810w"},{"name":"Mastering Adobe Photoshop Elements 2023","link":"\/product\/mastering-adobe-photoshop-elements-2023-9781803248455","image":"https:\/\/content.packt.com\/B18587\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18587\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18587\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18587\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18587\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18587\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18587\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18587\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18587\/cover_image_small.jpg 810w"},{"name":"Mastering Information Security Compliance Management","link":"\/product\/mastering-information-security-compliance-management-9781803231174","image":"https:\/\/content.packt.com\/B18022\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18022\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18022\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18022\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18022\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18022\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18022\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18022\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18022\/cover_image_small.jpg 810w"},{"name":"Mastering Quickbooks\u00ae 2023, Fourth Edition","link":"\/product\/mastering-quickbooks-2023-9781803243634","image":"https:\/\/content.packt.com\/B18430\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18430\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18430\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18430\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18430\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18430\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18430\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18430\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18430\/cover_image_small.jpg 810w"},{"name":"NetSuite for Consultants","link":"\/product\/netsuite-for-consultants-9781837639076","image":"https:\/\/content.packt.com\/B19503\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B19503\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19503\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B19503\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19503\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B19503\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19503\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19503\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B19503\/cover_image_small.png 810w"},{"name":"SAFe\u00ae Coaches Handbook","link":"\/product\/safe-coaches-handbook-9781839210457","image":"https:\/\/content.packt.com\/B15758\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B15758\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15758\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B15758\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15758\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B15758\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15758\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15758\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B15758\/cover_image_small.jpg 810w"},{"name":"Scoring to Picture in Logic Pro","link":"\/product\/scoring-to-picture-in-logic-pro-9781837636891","image":"https:\/\/content.packt.com\/B19425\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B19425\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B19425\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B19425\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B19425\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B19425\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B19425\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B19425\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B19425\/cover_image_small.jpg 810w"},{"name":"Supercharging Productivity with Trello","link":"\/product\/supercharging-productivity-with-trello-9781801813877","image":"https:\/\/content.packt.com\/B17865\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B17865\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17865\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B17865\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17865\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B17865\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17865\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17865\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B17865\/cover_image_small.png 810w"},{"name":"Sustainable IT Playbook for Technology Leaders","link":"\/product\/sustainable-it-playbook-for-technology-leaders-9781803230344","image":"https:\/\/content.packt.com\/B18861\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18861\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18861\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18861\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18861\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18861\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18861\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18861\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18861\/cover_image_small.jpg 810w"},{"name":"The Music Producer\u0027s Creative Guide to Ableton Live 11","link":"\/product\/the-music-producers-creative-guide-to-ableton-live-11-9781801817639","image":"https:\/\/content.packt.com\/B17772\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17772\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17772\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17772\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17772\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17772\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17772\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17772\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17772\/cover_image_small.jpg 810w"},{"name":"The Pro Tools 2023 Post-Audio Cookbook","link":"\/product\/the-pro-tools-2023-post-audio-cookbook-9781803248431","image":"https:\/\/content.packt.com\/B18530\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18530\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18530\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18530\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18530\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18530\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18530\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18530\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18530\/cover_image_small.jpg 810w"},{"name":"The Ultimate Studio One Pro Book","link":"\/product\/the-ultimate-studio-one-pro-book-9781803241012","image":"https:\/\/content.packt.com\/B18298\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18298\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18298\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18298\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18298\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18298\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18298\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18298\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18298\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 Character Creation, Animation, and Cinematics","link":"\/product\/unreal-engine-5-character-creation-animation-and-cinematics-9781801812443","image":"https:\/\/content.packt.com\/B17871\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B17871\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B17871\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B17871\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B17871\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B17871\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B17871\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B17871\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B17871\/cover_image_small.jpg 810w"},{"name":"Workflow Automation with Microsoft Power Automate","link":"\/product\/workflow-automation-with-microsoft-power-automate-9781803237671","image":"https:\/\/content.packt.com\/B18412\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/B18412\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B18412\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/B18412\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/B18412\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/B18412\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B18412\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B18412\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/B18412\/cover_image_small.jpg 810w"}]}]},{"defaultSubject":"Data","title":"Popular Videos","items":[{"name":"Data","link":"\/data","list":[{"name":"AI-900: Microsoft Azure AI Fundamentals Video Course + Ques","link":"\/product\/ai-900-microsoft-azure-ai-fundamentals-video-course-ques-9781803230498","image":"https:\/\/content.packt.com\/V18248\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18248\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18248\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18248\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18248\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18248\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18248\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18248\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18248\/cover_image_small.jpeg 810w"},{"name":"Apache Spark 3 Advance Skills for Cracking Job Interviews","link":"\/product\/apache-spark-3-advance-skills-for-cracking-job-interviews-9781803241555","image":"https:\/\/content.packt.com\/V18702\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18702\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18702\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18702\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18702\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18702\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18702\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18702\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18702\/cover_image_small.jpg 810w"},{"name":"Azure SQL Data Warehouse Synapse Analytics Service","link":"\/product\/azure-sql-data-warehouse-synapse-analytics-service-9781803233178","image":"https:\/\/content.packt.com\/V18689\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18689\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18689\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18689\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18689\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18689\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18689\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18689\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18689\/cover_image_small.jpeg 810w"},{"name":"ChatGPT 101 - Supercharge Your Work and Life with ChatGPT","link":"\/product\/chatgpt-101-supercharge-your-work-and-life-with-chatgpt-9781835081785","image":"https:\/\/content.packt.com\/V21212\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21212\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21212\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21212\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21212\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21212\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21212\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21212\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21212\/cover_image_small.jpg 810w"},{"name":"ChatGPT for Web Design - Create Amazing Websites","link":"\/product\/chatgpt-for-web-design-create-amazing-websites-9781805123897","image":"https:\/\/content.packt.com\/V20974\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20974\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20974\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20974\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20974\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20974\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20974\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20974\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20974\/cover_image_small.jpg 810w"},{"name":"Data Science Prerequisites - NumPy, Matplotlib, and Pandas in Python","link":"\/product\/data-science-prerequisites-numpy-matplotlib-and-pandas-in-python-9781803241616","image":"https:\/\/content.packt.com\/V19814\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19814\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19814\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19814\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19814\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19814\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19814\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19814\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19814\/cover_image_small.jpg 810w"},{"name":"Data Science, Analytics, and AI for Business and the Real World\u2122","link":"\/product\/data-science-analytics-and-ai-for-business-and-the-real-world-9781803240848","image":"https:\/\/content.packt.com\/V18138\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18138\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18138\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18138\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18138\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18138\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18138\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18138\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18138\/cover_image_small.jpeg 810w"},{"name":"Git and GitHub Masterclass \u2013 Fast-Track Your Journey to Git","link":"\/product\/git-and-github-masterclass-fast-track-your-journey-to-git-9781837639823","image":"https:\/\/content.packt.com\/V19462\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19462\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19462\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19462\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19462\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19462\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19462\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19462\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19462\/cover_image_small.jpg 810w"},{"name":"Job-Ready SQL in an Afternoon","link":"\/product\/job-ready-sql-in-an-afternoon-9781804615027","image":"https:\/\/content.packt.com\/V19273\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19273\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19273\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19273\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19273\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19273\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19273\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19273\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19273\/cover_image_small.jpg 810w"},{"name":"Master SQL for Data Analysis","link":"\/product\/master-sql-for-data-analysis-9781837638680","image":"https:\/\/content.packt.com\/V19683\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19683\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19683\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19683\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19683\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19683\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19683\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19683\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19683\/cover_image_small.jpg 810w"},{"name":"Microsoft Power BI - The Complete Masterclass [2023 EDITION]","link":"\/product\/microsoft-power-bi-the-complete-masterclass-2023-edition-9781837634682","image":"https:\/\/content.packt.com\/V19592\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19592\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19592\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19592\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19592\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19592\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19592\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19592\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19592\/cover_image_small.jpg 810w"},{"name":"Oracle Database Administration from Zero to Hero","link":"\/product\/oracle-database-administration-from-zero-to-hero-9781805123996","image":"https:\/\/content.packt.com\/V21089\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21089\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21089\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21089\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21089\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21089\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21089\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21089\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21089\/cover_image_small.jpg 810w"},{"name":"Practical Data Science Using Python.","link":"\/product\/practical-data-science-using-python-9781804611814","image":"https:\/\/content.packt.com\/V19103\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19103\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19103\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19103\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19103\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19103\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19103\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19103\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19103\/cover_image_small.jpeg 810w"},{"name":"Python Machine Learning Bootcamp","link":"\/product\/python-machine-learning-bootcamp-9781804619049","image":"https:\/\/content.packt.com\/V19274\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19274\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19274\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19274\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19274\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19274\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19274\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19274\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19274\/cover_image_small.jpg 810w"},{"name":"Reinforcement Learning and Deep RL Python (Theory and Projects)","link":"\/product\/reinforcement-learning-and-deep-rl-python-theory-and-projects-9781804610626","image":"https:\/\/content.packt.com\/V19056\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19056\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19056\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19056\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19056\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19056\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19056\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19056\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19056\/cover_image_small.jpg 810w"},{"name":"Spark Programming in Python for Beginners with Apache Spark 3","link":"\/product\/spark-programming-in-python-for-beginners-with-apache-spark-3-9781803246161","image":"https:\/\/content.packt.com\/V18244\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18244\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18244\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18244\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18244\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18244\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18244\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18244\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18244\/cover_image_small.jpg 810w"},{"name":"Spark Programming in Scala for Beginners with Apache Spark 3","link":"\/product\/spark-programming-in-scala-for-beginners-with-apache-spark-3-9781803239538","image":"https:\/\/content.packt.com\/V18704\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18704\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18704\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18704\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18704\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18704\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18704\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18704\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18704\/cover_image_small.jpeg 810w"},{"name":"Statistics and Mathematics for Data Science and Data Analytics","link":"\/product\/statistics-and-mathematics-for-data-science-and-data-analytics-9781837632336","image":"https:\/\/content.packt.com\/V19593\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19593\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19593\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19593\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19593\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19593\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19593\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19593\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19593\/cover_image_small.jpg 810w"},{"name":"The Complete Solidity Course - Zero to Advanced for Blockchain and Smart Contracts","link":"\/product\/the-complete-solidity-course-zero-to-advanced-for-blockchain-and-smart-contracts-9781805122470","image":"https:\/\/content.packt.com\/V19886\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19886\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19886\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19886\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19886\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19886\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19886\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19886\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19886\/cover_image_small.jpg 810w"}]},{"name":"Web Development","link":"\/web-development","list":[{"name":"50 Projects in 50 Days - HTML, CSS, and JavaScript","link":"\/product\/50-projects-in-50-days-html-css-and-javascript-9781801079976","image":"https:\/\/content.packt.com\/V17425\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17425\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17425\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17425\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17425\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17425\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17425\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17425\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17425\/cover_image_small.jpg 810w"},{"name":"Build Full-Stack Projects with FARM Stack","link":"\/product\/build-full-stack-projects-with-farm-stack-9781803236667","image":"https:\/\/content.packt.com\/V18752\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18752\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18752\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18752\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18752\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18752\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18752\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18752\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18752\/cover_image_small.jpeg 810w"},{"name":"Build Responsive Websites with HTML5, CSS3, Bootstrap, and SASS","link":"\/product\/build-responsive-websites-with-html5-css3-bootstrap-and-sass-9781803239477","image":"https:\/\/content.packt.com\/V18512\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18512\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18512\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18512\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18512\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18512\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18512\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18512\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18512\/cover_image_small.jpg 810w"},{"name":"Build REST APIs with Django REST Framework and Python","link":"\/product\/build-rest-apis-with-django-rest-framework-and-python-9781801819022","image":"https:\/\/content.packt.com\/V17698\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17698\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17698\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17698\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17698\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17698\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17698\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17698\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17698\/cover_image_small.jpg 810w"},{"name":"Building Microservices API in Go","link":"\/product\/building-microservices-api-in-go-9781805124429","image":"https:\/\/content.packt.com\/V19868\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19868\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19868\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19868\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19868\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19868\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19868\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19868\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19868\/cover_image_small.jpg 810w"},{"name":"Design Microservices Architecture with Patterns and Principles","link":"\/product\/design-microservices-architecture-with-patterns-and-principles-9781805126782","image":"https:\/\/content.packt.com\/V21138\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21138\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21138\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21138\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21138\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21138\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21138\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21138\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21138\/cover_image_small.jpg 810w"},{"name":"Django 3 - Full Stack Websites with Python Web Development","link":"\/product\/django-3-full-stack-websites-with-python-web-development-9781801818148","image":"https:\/\/content.packt.com\/V17702\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17702\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17702\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17702\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17702\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17702\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17702\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17702\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17702\/cover_image_small.jpeg 810w"},{"name":"Express Framework Mastery: From Beginner to Advanced with Node.js","link":"\/product\/express-framework-mastery-from-beginner-to-advanced-with-nodejs-9781805124436","image":"https:\/\/content.packt.com\/V19883\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19883\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19883\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19883\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19883\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19883\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19883\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19883\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19883\/cover_image_small.jpg 810w"},{"name":"Front-End Web Development with Modern HTML, CSS, and JavaScript","link":"\/product\/front-end-web-development-with-modern-html-css-and-javascript-9781804618172","image":"https:\/\/content.packt.com\/V19037\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19037\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19037\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19037\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19037\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19037\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19037\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19037\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19037\/cover_image_small.jpg 810w"},{"name":"Full Stack Web Development Bootcamp with React and Python","link":"\/product\/full-stack-web-development-bootcamp-with-react-and-python-9781801811040","image":"https:\/\/content.packt.com\/V17756\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17756\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17756\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17756\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17756\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17756\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17756\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17756\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17756\/cover_image_small.jpeg 810w"},{"name":"Full Stack Web Development Mastery Course - Novice to Expert","link":"\/product\/full-stack-web-development-mastery-course-novice-to-expert-9781837634170","image":"https:\/\/content.packt.com\/V19461\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19461\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19461\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19461\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19461\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19461\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19461\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19461\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19461\/cover_image_small.jpg 810w"},{"name":"JavaScript Masterclass - Zero to Job-Ready with Hands-On Projects","link":"\/product\/javascript-masterclass-zero-to-job-ready-with-hands-on-projects-9781837637904","image":"https:\/\/content.packt.com\/V19704\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19704\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19704\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19704\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19704\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19704\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19704\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19704\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19704\/cover_image_small.jpg 810w"},{"name":"Mastering Tailwind CSS 3.0 - Build Two Dynamic Projects","link":"\/product\/mastering-tailwind-css-30-build-two-dynamic-projects-9781835087664","image":"https:\/\/content.packt.com\/V21216\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21216\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21216\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21216\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21216\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21216\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21216\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21216\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21216\/cover_image_small.jpg 810w"},{"name":"Next.js from Development to Deployment: Build a Music Event Website","link":"\/product\/nextjs-from-development-to-deployment-build-a-music-event-website-9781801814706","image":"https:\/\/content.packt.com\/V17868\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17868\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17868\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17868\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17868\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17868\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17868\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17868\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17868\/cover_image_small.jpg 810w"},{"name":"NodeJS, MongoDB, and Express - Beginner to Intermediate JavaScript","link":"\/product\/nodejs-mongodb-and-express-beginner-to-intermediate-javascript-9781803245232","image":"https:\/\/content.packt.com\/V18033\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18033\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18033\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18033\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18033\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18033\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18033\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18033\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18033\/cover_image_small.jpeg 810w"},{"name":"React - The Complete Guide (Includes Hooks, React Router, and Redux)","link":"\/product\/react-the-complete-guide-includes-hooks-react-router-and-redux-9781801812603","image":"https:\/\/content.packt.com\/V17670\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17670\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17670\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17670\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17670\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17670\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17670\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17670\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17670\/cover_image_small.jpg 810w"},{"name":"Tailwind CSS From Scratch - Learn by Building Projects","link":"\/product\/tailwind-css-from-scratch-learn-by-building-projects-9781804611630","image":"https:\/\/content.packt.com\/V19228\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19228\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19228\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19228\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19228\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19228\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19228\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19228\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19228\/cover_image_small.jpg 810w"},{"name":"The Complete Guide to ASP.NET Core MVC (.NET 6)","link":"\/product\/the-complete-guide-to-aspnet-core-mvc-net-6-9781801074247","image":"https:\/\/content.packt.com\/V17407\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17407\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17407\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17407\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17407\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17407\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17407\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17407\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17407\/cover_image_small.jpeg 810w"},{"name":"Web Development Concepts for Everyone","link":"\/product\/web-development-concepts-for-everyone-9781805127499","image":"https:\/\/content.packt.com\/V21001\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21001\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21001\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21001\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21001\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21001\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21001\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21001\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21001\/cover_image_small.jpg 810w"},{"name":"Writing Secure Code in ASP.NET","link":"\/product\/writing-secure-code-in-aspnet-9781803246123","image":"https:\/\/content.packt.com\/V18136\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18136\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18136\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18136\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18136\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18136\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18136\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18136\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18136\/cover_image_small.jpeg 810w"}]},{"name":"Programming","link":"\/programming","list":[{"name":"C# Basics For Absolute Beginners in C# and .NET","link":"\/product\/c-basics-for-absolute-beginners-in-c-and-net-9781803235837","image":"https:\/\/content.packt.com\/V18630\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18630\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18630\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18630\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18630\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18630\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18630\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18630\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18630\/cover_image_small.jpg 810w"},{"name":"Complete Python Course with 10 Real-World Projects","link":"\/product\/complete-python-course-with-10-real-world-projects-9781837635788","image":"https:\/\/content.packt.com\/V19748\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19748\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19748\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19748\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19748\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19748\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19748\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19748\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19748\/cover_image_small.jpg 810w"},{"name":"Data Structures and Algorithms: The Complete Masterclass","link":"\/product\/data-structures-and-algorithms-the-complete-masterclass-9781801078504","image":"https:\/\/content.packt.com\/V17209\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17209\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17209\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17209\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17209\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17209\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17209\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17209\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17209\/cover_image_small.jpg 810w"},{"name":"Java for Beginners: Your Easy Guide to Java Programming","link":"\/product\/java-for-beginners-your-easy-guide-to-java-programming-9781803249629","image":"https:\/\/content.packt.com\/V18226\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18226\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18226\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18226\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18226\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18226\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18226\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18226\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18226\/cover_image_small.jpeg 810w"},{"name":"Java Multithreading and Parallel Programming Masterclass","link":"\/product\/java-multithreading-and-parallel-programming-masterclass-9781804619377","image":"https:\/\/content.packt.com\/V19174\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19174\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19174\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19174\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19174\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19174\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19174\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19174\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19174\/cover_image_small.jpg 810w"},{"name":"Learn GO by Building Three Simple Golang Projects","link":"\/product\/learn-go-by-building-three-simple-golang-projects-9781804613214","image":"https:\/\/content.packt.com\/V19250\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19250\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19250\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19250\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19250\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19250\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19250\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19250\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19250\/cover_image_small.jpg 810w"},{"name":"Master Math by Coding in Python","link":"\/product\/master-math-by-coding-in-python-9781801074537","image":"https:\/\/content.packt.com\/V17361\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17361\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17361\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17361\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17361\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17361\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17361\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17361\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17361\/cover_image_small.jpg 810w"},{"name":"Modern JavaScript from The Beginning [Second Edition]","link":"\/product\/modern-javascript-from-the-beginning-9781805127826","image":"https:\/\/content.packt.com\/V20964\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20964\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20964\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20964\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20964\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20964\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20964\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20964\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20964\/cover_image_small.jpg 810w"},{"name":"Practical Python: Learn Python Basics Step by Step - Python 3","link":"\/product\/practical-python-learn-python-basics-step-by-step-python-3-9781803246680","image":"https:\/\/content.packt.com\/V18639\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18639\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18639\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18639\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18639\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18639\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18639\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18639\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18639\/cover_image_small.jpg 810w"},{"name":"Python - Object-Oriented Programming","link":"\/product\/python-object-oriented-programming-9781837638765","image":"https:\/\/content.packt.com\/V19475\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19475\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19475\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19475\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19475\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19475\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19475\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19475\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19475\/cover_image_small.jpg 810w"},{"name":"Python for Beginners - Start to Code with Python","link":"\/product\/python-for-beginners-start-to-code-with-python-9781803235080","image":"https:\/\/content.packt.com\/V18541\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18541\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18541\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18541\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18541\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18541\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18541\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18541\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18541\/cover_image_small.jpeg 810w"},{"name":"Python for Software Engineering Bootcamp","link":"\/product\/python-for-software-engineering-bootcamp-9781804617205","image":"https:\/\/content.packt.com\/V19269\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19269\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19269\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19269\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19269\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19269\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19269\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19269\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19269\/cover_image_small.jpg 810w"},{"name":"Python in Practice - 15 Projects to Master Python","link":"\/product\/python-in-practice-15-projects-to-master-python-9781804618486","image":"https:\/\/content.packt.com\/V19220\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19220\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19220\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19220\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19220\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19220\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19220\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19220\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19220\/cover_image_small.jpg 810w"},{"name":"Rust Programming 2023 - A Comprehensive Course for Beginners","link":"\/product\/rust-programming-2023-a-comprehensive-course-for-beginners-9781805125174","image":"https:\/\/content.packt.com\/V19885\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19885\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19885\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19885\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19885\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19885\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19885\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19885\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19885\/cover_image_small.jpg 810w"},{"name":"Rust Programming Masterclass from Beginner to Expert","link":"\/product\/rust-programming-masterclass-from-beginner-to-expert-9781804612187","image":"https:\/\/content.packt.com\/V18981\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18981\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18981\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18981\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18981\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18981\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18981\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18981\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18981\/cover_image_small.jpg 810w"},{"name":"The Complete Java Developer Course: From Beginner to Master","link":"\/product\/the-complete-java-developer-course-from-beginner-to-master-9781801075190","image":"https:\/\/content.packt.com\/V17356\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17356\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17356\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17356\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17356\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17356\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17356\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17356\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17356\/cover_image_small.jpg 810w"}]},{"name":"Cloud and Networking","link":"\/cloud-and-networking","list":[{"name":"AWS Tutorial: AWS Solutions Architect and SysOps Administrator","link":"\/product\/aws-tutorial-aws-solutions-architect-and-sysops-administrator-9781803236032","image":"https:\/\/content.packt.com\/V18837\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18837\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18837\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18837\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18837\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18837\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18837\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18837\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18837\/cover_image_small.jpg 810w"},{"name":"Becoming a Certified Vault Operations Professional - A Complete Guide","link":"\/product\/becoming-a-certified-vault-operations-professional-a-complete-guide-9781805129738","image":"https:\/\/content.packt.com\/V20950\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20950\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20950\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20950\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20950\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20950\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20950\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20950\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20950\/cover_image_small.jpg 810w"},{"name":"Certified Kubernetes Administrator (CKA) Certification Training Course","link":"\/product\/certified-kubernetes-administrator-cka-certification-training-course-9781804619018","image":"https:\/\/content.packt.com\/V19235\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19235\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19235\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19235\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19235\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19235\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19235\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19235\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19235\/cover_image_small.jpeg 810w"},{"name":"CI\/CD Pipelines with Jenkins Certification Training Course","link":"\/product\/cicd-pipelines-with-jenkins-certification-training-course-9781804616918","image":"https:\/\/content.packt.com\/V19236\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19236\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19236\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19236\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19236\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19236\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19236\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19236\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19236\/cover_image_small.jpg 810w"},{"name":"CISSP Crash Course","link":"\/product\/cissp-crash-course-9781837632244","image":"https:\/\/content.packt.com\/V19686\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19686\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19686\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19686\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19686\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19686\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19686\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19686\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19686\/cover_image_small.jpg 810w"},{"name":"CompTIA A+ Certification Core 1 (220-1101)","link":"\/product\/comptia-a-certification-core-1-220-1101-9781837633142","image":"https:\/\/content.packt.com\/V19600\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19600\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19600\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19600\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19600\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19600\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19600\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19600\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19600\/cover_image_small.jpg 810w"},{"name":"CompTIA A+ Certification Core 2 (220-1102)","link":"\/product\/comptia-a-certification-core-2-220-1102-9781837634224","image":"https:\/\/content.packt.com\/V19601\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19601\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19601\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19601\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19601\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19601\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19601\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19601\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19601\/cover_image_small.jpg 810w"},{"name":"Data Science Model Deployments and Cloud Computing on GCP","link":"\/product\/data-science-model-deployments-and-cloud-computing-on-gcp-9781805120438","image":"https:\/\/content.packt.com\/V20996\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20996\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20996\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20996\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20996\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20996\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20996\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20996\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20996\/cover_image_small.jpg 810w"},{"name":"DevOps Complete Course","link":"\/product\/devops-complete-course-9781804615508","image":"https:\/\/content.packt.com\/V19065\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19065\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19065\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19065\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19065\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19065\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19065\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19065\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19065\/cover_image_small.jpg 810w"},{"name":"Docker Certified Associate (DCA) Certification Training Course","link":"\/product\/docker-certified-associate-dca-certification-training-course-9781804613603","image":"https:\/\/content.packt.com\/V19234\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19234\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19234\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19234\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19234\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19234\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19234\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19234\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19234\/cover_image_small.jpeg 810w"},{"name":"Getting Started with HashiCorp Nomad","link":"\/product\/getting-started-with-hashicorp-nomad-9781805120988","image":"https:\/\/content.packt.com\/V20887\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20887\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20887\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20887\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20887\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20887\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20887\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20887\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20887\/cover_image_small.jpg 810w"},{"name":"HashiCorp Certified - Vault Associate Course","link":"\/product\/hashicorp-certified-vault-associate-course-9781805129417","image":"https:\/\/content.packt.com\/V20886\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20886\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20886\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20886\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20886\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20886\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20886\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20886\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20886\/cover_image_small.jpg 810w"},{"name":"Learning GitHub Actions for DevOps CI\/CD","link":"\/product\/learning-github-actions-for-devops-cicd-9781837639137","image":"https:\/\/content.packt.com\/V19698\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19698\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19698\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19698\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19698\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19698\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19698\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19698\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19698\/cover_image_small.jpg 810w"},{"name":"Linux Crash Course for Beginners - 2023","link":"\/product\/linux-crash-course-for-beginners-2023-9781837635139","image":"https:\/\/content.packt.com\/V19764\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19764\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19764\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19764\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19764\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19764\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19764\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19764\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19764\/cover_image_small.jpg 810w"},{"name":"Linux Operating System: A Complete Linux Guide for Beginners","link":"\/product\/linux-operating-system-a-complete-linux-guide-for-beginners-9781837639557","image":"https:\/\/content.packt.com\/V19618\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19618\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19618\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19618\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19618\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19618\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19618\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19618\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19618\/cover_image_small.jpg 810w"},{"name":"PowerShell for Automating Administration","link":"\/product\/powershell-for-automating-administration-9781837633043","image":"https:\/\/content.packt.com\/V19700\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19700\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19700\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19700\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19700\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19700\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19700\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19700\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19700\/cover_image_small.jpg 810w"},{"name":"Salesforce Certification - Administrator and App Builder Course","link":"\/product\/salesforce-certification-administrator-and-app-builder-course-9781804612774","image":"https:\/\/content.packt.com\/V19232\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19232\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19232\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19232\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19232\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19232\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19232\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19232\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19232\/cover_image_small.jpeg 810w"},{"name":"SC-200: Microsoft Security Operations Analyst","link":"\/product\/sc-200-microsoft-security-operations-analyst-9781804611777","image":"https:\/\/content.packt.com\/V19055\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19055\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19055\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19055\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19055\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19055\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19055\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19055\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19055\/cover_image_small.jpg 810w"},{"name":"Snowflake - Build and Architect Data Pipelines Using AWS","link":"\/product\/snowflake-build-and-architect-data-pipelines-using-aws-9781804615676","image":"https:\/\/content.packt.com\/V19222\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19222\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19222\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19222\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19222\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19222\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19222\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19222\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19222\/cover_image_small.jpg 810w"}]},{"name":"Security","link":"\/security","list":[{"name":"A Detailed Guide to the OWASP Top 10","link":"\/product\/a-detailed-guide-to-the-owasp-top-10-9781837630554","image":"https:\/\/content.packt.com\/V19614\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19614\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19614\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19614\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19614\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19614\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19614\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19614\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19614\/cover_image_small.jpg 810w"},{"name":"Becoming a Cyber Security Professional - A Beginner\u0027s Career Guide","link":"\/product\/becoming-a-cyber-security-professional-a-beginners-career-guide-9781837638321","image":"https:\/\/content.packt.com\/V19582\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19582\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19582\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19582\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19582\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19582\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19582\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19582\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19582\/cover_image_small.jpg 810w"},{"name":"Burp Suite Unfiltered - Go from a Beginner to Advanced","link":"\/product\/burp-suite-unfiltered-go-from-a-beginner-to-advanced-9781837639199","image":"https:\/\/content.packt.com\/V19427\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19427\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19427\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19427\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19427\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19427\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19427\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19427\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19427\/cover_image_small.jpg 810w"},{"name":"Cyber Security for Absolute Beginners - 2022 Edition - Part 02","link":"\/product\/cyber-security-for-absolute-beginners-2022-edition-part-02-9781837639403","image":"https:\/\/content.packt.com\/V19576\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19576\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19576\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19576\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19576\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19576\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19576\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19576\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19576\/cover_image_small.jpg 810w"},{"name":"Cybersecurity Architecture Fundamentals","link":"\/product\/cybersecurity-architecture-fundamentals-9781835084298","image":"https:\/\/content.packt.com\/V21221\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21221\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21221\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21221\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21221\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21221\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21221\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21221\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21221\/cover_image_small.jpg 810w"},{"name":"Express Framework Fundamentals - Secure Sign-Up with Auth0 and Node.js","link":"\/product\/express-framework-fundamentals-secure-sign-up-with-auth0-and-nodejs-9781805122821","image":"https:\/\/content.packt.com\/V19884\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19884\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19884\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19884\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19884\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19884\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19884\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19884\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19884\/cover_image_small.jpg 810w"},{"name":"Fundamentals of Secure Software","link":"\/product\/fundamentals-of-secure-software-9781837636815","image":"https:\/\/content.packt.com\/V19613\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19613\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19613\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19613\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19613\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19613\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19613\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19613\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19613\/cover_image_small.jpg 810w"},{"name":"Hacking WEP\/WPA\/WPA2 Wi-Fi Networks Using Kali Linux","link":"\/product\/hacking-wepwpawpa2-wi-fi-networks-using-kali-linux-9781803239750","image":"https:\/\/content.packt.com\/V18230\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18230\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18230\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18230\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18230\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18230\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18230\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18230\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18230\/cover_image_small.jpeg 810w"},{"name":"Learn Man in the Middle Attacks from Scratch","link":"\/product\/learn-man-in-the-middle-attacks-from-scratch-9781803243245","image":"https:\/\/content.packt.com\/V18242\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18242\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18242\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18242\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18242\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18242\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18242\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18242\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18242\/cover_image_small.jpeg 810w"},{"name":"Linux for Cloud and DevOps Engineers","link":"\/product\/linux-for-cloud-and-devops-engineers-9781803237459","image":"https:\/\/content.packt.com\/V18834\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18834\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18834\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18834\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18834\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18834\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18834\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18834\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18834\/cover_image_small.jpeg 810w"},{"name":"Microsoft Cybersecurity Architect - SC-100 Exam Prep","link":"\/product\/microsoft-cybersecurity-architect-sc-100-exam-prep-9781805128816","image":"https:\/\/content.packt.com\/V20883\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20883\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20883\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20883\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20883\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20883\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20883\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20883\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20883\/cover_image_small.jpg 810w"},{"name":"Nessus Scanner - Network Scanning from Beginner to Advanced","link":"\/product\/nessus-scanner-network-scanning-from-beginner-to-advanced-9781805127321","image":"https:\/\/content.packt.com\/V19905\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19905\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19905\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19905\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19905\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19905\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19905\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19905\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19905\/cover_image_small.jpg 810w"},{"name":"Offensive Hacking Unfolded - Become a Pro Pentester","link":"\/product\/offensive-hacking-unfolded-become-a-pro-pentester-9781804615294","image":"https:\/\/content.packt.com\/V19184\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19184\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19184\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19184\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19184\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19184\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19184\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19184\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19184\/cover_image_small.jpg 810w"},{"name":"Pentesting Fundamentals for Beginners","link":"\/product\/pentesting-fundamentals-for-beginners-9781804615553","image":"https:\/\/content.packt.com\/V19158\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19158\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19158\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19158\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19158\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19158\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19158\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19158\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19158\/cover_image_small.jpg 810w"},{"name":"Practical Cyber Hacking Skills for Beginners","link":"\/product\/practical-cyber-hacking-skills-for-beginners-9781837636181","image":"https:\/\/content.packt.com\/V19581\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19581\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19581\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19581\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19581\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19581\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19581\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19581\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19581\/cover_image_small.jpg 810w"},{"name":"Risk Management for Cyber Security Managers","link":"\/product\/risk-management-for-cyber-security-managers-9781837639878","image":"https:\/\/content.packt.com\/V19583\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19583\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19583\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19583\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19583\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19583\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19583\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19583\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19583\/cover_image_small.jpg 810w"},{"name":"The Absolute Beginners 2023 Guide to Cybersecurity - Part 3","link":"\/product\/the-absolute-beginners-2023-guide-to-cybersecurity-part-3-9781835087954","image":"https:\/\/content.packt.com\/V21219\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21219\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21219\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21219\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21219\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21219\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21219\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21219\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21219\/cover_image_small.jpg 810w"},{"name":"The Absolute Beginners Guide to Cyber Security 2023 - Part 1","link":"\/product\/the-absolute-beginners-guide-to-cyber-security-2023-part-1-9781837630943","image":"https:\/\/content.packt.com\/V19575\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19575\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19575\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19575\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19575\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19575\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19575\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19575\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19575\/cover_image_small.jpg 810w"},{"name":"Web Hacker\u0027s Toolbox - Tools Used by Successful Hackers","link":"\/product\/web-hackers-toolbox-tools-used-by-successful-hackers-9781837632831","image":"https:\/\/content.packt.com\/V19597\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19597\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19597\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19597\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19597\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19597\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19597\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19597\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19597\/cover_image_small.jpg 810w"},{"name":"Web Hacking Expert - Full-Stack Exploitation Mastery","link":"\/product\/web-hacking-expert-full-stack-exploitation-mastery-9781837639717","image":"https:\/\/content.packt.com\/V19598\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19598\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19598\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19598\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19598\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19598\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19598\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19598\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19598\/cover_image_small.jpg 810w"}]},{"name":"Game Development","link":"\/game-development","list":[{"name":"Blender 3 to Unreal Engine 5 \u2014 Dungeon Modular Kitbash","link":"\/product\/blender-3-to-unreal-engine-5-dungeon-modular-kitbash-9781837637805","image":"https:\/\/content.packt.com\/V19408\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19408\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19408\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19408\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19408\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19408\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19408\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19408\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19408\/cover_image_small.jpeg 810w"},{"name":"Blender Beginner\u0027s Bootcamp","link":"\/product\/blender-beginners-bootcamp-9781835084373","image":"https:\/\/content.packt.com\/V21353\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21353\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21353\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21353\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21353\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21353\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21353\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21353\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21353\/cover_image_small.jpg 810w"},{"name":"Blender to Unreal Engine - 3D Plants and Vegetation","link":"\/product\/blender-to-unreal-engine-3d-plants-and-vegetation-9781837631858","image":"https:\/\/content.packt.com\/V19703\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19703\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19703\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19703\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19703\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19703\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19703\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19703\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19703\/cover_image_small.jpg 810w"},{"name":"Blender to Unreal Engine - Become a Dungeon Prop Artist","link":"\/product\/blender-to-unreal-engine-become-a-dungeon-prop-artist-9781837639441","image":"https:\/\/content.packt.com\/V19702\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19702\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19702\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19702\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19702\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19702\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19702\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19702\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19702\/cover_image_small.jpg 810w"},{"name":"Blender to Unreal Engine 5 - 3D Props - Medieval Windmill","link":"\/product\/blender-to-unreal-engine-5-3d-props-medieval-windmill-9781837631902","image":"https:\/\/content.packt.com\/V19378\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19378\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19378\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19378\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19378\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19378\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19378\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19378\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19378\/cover_image_small.jpeg 810w"},{"name":"Building Medieval Worlds - Unreal Engine 5 Modular Kitbash","link":"\/product\/building-medieval-worlds-unreal-engine-5-modular-kitbash-9781805124221","image":"https:\/\/content.packt.com\/V20885\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V20885\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V20885\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V20885\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V20885\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V20885\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V20885\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V20885\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V20885\/cover_image_small.jpg 810w"},{"name":"Creating Stunning Environments in Unreal Engine 5 - A Game Artist Bootcamp","link":"\/product\/creating-stunning-environments-in-unreal-engine-5-a-game-artist-bootcamp-9781805126751","image":"https:\/\/content.packt.com\/V21097\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21097\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21097\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21097\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21097\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21097\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21097\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21097\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21097\/cover_image_small.jpg 810w"},{"name":"The Art of Doing: Video Game Creation with Python and Pygame","link":"\/product\/the-art-of-doing-video-game-creation-with-python-and-pygame-9781803231587","image":"https:\/\/content.packt.com\/V18139\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18139\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18139\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18139\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18139\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18139\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18139\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18139\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18139\/cover_image_small.jpeg 810w"},{"name":"The Ultimate Guide to Blender 3D Rigging and Animation","link":"\/product\/the-ultimate-guide-to-blender-3d-rigging-and-animation-9781805125785","image":"https:\/\/content.packt.com\/V21094\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21094\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21094\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21094\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21094\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21094\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21094\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21094\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21094\/cover_image_small.jpg 810w"},{"name":"Unity Android \u2014 Build a 3D ZigZag Racing Game with C#","link":"\/product\/unity-android-build-a-3d-zigzag-racing-game-with-c-9781803231488","image":"https:\/\/content.packt.com\/V18725\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18725\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18725\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18725\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18725\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18725\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18725\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18725\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18725\/cover_image_small.jpg 810w"},{"name":"Unity Android \u2014 Build Eight Mobile Games with Unity and C#","link":"\/product\/unity-android-build-eight-mobile-games-with-unity-and-c-9781801074490","image":"https:\/\/content.packt.com\/V17141\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17141\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17141\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17141\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17141\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17141\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17141\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17141\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17141\/cover_image_small.jpeg 810w"},{"name":"Unreal Engine \u2014 Ultimate Survival Horror Course","link":"\/product\/unreal-engine-ultimate-survival-horror-course-9781804614174","image":"https:\/\/content.packt.com\/V19317\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19317\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19317\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19317\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19317\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19317\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19317\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19317\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19317\/cover_image_small.jpeg 810w"},{"name":"Unreal Engine 5 - Blueprints Game Developer Masterclass","link":"\/product\/unreal-engine-5-blueprints-game-developer-masterclass-9781805129929","image":"https:\/\/content.packt.com\/V19869\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19869\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19869\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19869\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19869\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19869\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19869\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19869\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19869\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 - Endless Runner","link":"\/product\/unreal-engine-5-endless-runner-9781804619889","image":"https:\/\/content.packt.com\/V19318\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19318\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19318\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19318\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19318\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19318\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19318\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19318\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19318\/cover_image_small.jpeg 810w"},{"name":"Unreal Engine 5 - Environment Design","link":"\/product\/unreal-engine-5-environment-design-9781804610435","image":"https:\/\/content.packt.com\/V19334\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19334\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19334\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19334\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19334\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19334\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19334\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19334\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19334\/cover_image_small.jpeg 810w"},{"name":"Unreal Engine 5 - Make AAA Game Vehicles","link":"\/product\/unreal-engine-5-make-aaa-game-vehicles-9781804615379","image":"https:\/\/content.packt.com\/V19333\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19333\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19333\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19333\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19333\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19333\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19333\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19333\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19333\/cover_image_small.jpeg 810w"},{"name":"Unreal Engine 5 - Sci-Fi Environment Design","link":"\/product\/unreal-engine-5-sci-fi-environment-design-9781837630325","image":"https:\/\/content.packt.com\/V19376\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19376\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19376\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19376\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19376\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19376\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19376\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19376\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19376\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 - The Complete Beginner\u0027s Course","link":"\/product\/unreal-engine-5-the-complete-beginners-course-9781803238869","image":"https:\/\/content.packt.com\/V18194\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18194\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18194\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18194\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18194\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18194\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18194\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18194\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18194\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 \u2013 Create A Zombie Survivor FPS Game","link":"\/product\/unreal-engine-5-create-a-zombie-survivor-fps-game-9781837631605","image":"https:\/\/content.packt.com\/V19481\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19481\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19481\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19481\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19481\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19481\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19481\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19481\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19481\/cover_image_small.jpg 810w"},{"name":"Unreal Engine 5 Beginner\u0027s Guide to Building a 3D Environment","link":"\/product\/unreal-engine-5-beginners-guide-to-building-a-3d-environment-9781837630431","image":"https:\/\/content.packt.com\/V19701\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19701\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19701\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19701\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19701\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19701\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19701\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19701\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19701\/cover_image_small.jpg 810w"}]},{"name":"Mobile","link":"\/mobile","list":[{"name":"Android Jetpack Compose - Build Android Native UIs Fast","link":"\/product\/android-jetpack-compose-build-android-native-uis-fast-9781803237718","image":"https:\/\/content.packt.com\/V18542\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18542\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18542\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18542\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18542\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18542\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18542\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18542\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18542\/cover_image_small.jpeg 810w"},{"name":"iOS 16 SwiftUI 3 Loan Tracker MVVM, CoreData, and CloudKit","link":"\/product\/ios-16-swiftui-3-loan-tracker-mvvm-coredata-and-cloudkit-9781803249964","image":"https:\/\/content.packt.com\/V18235\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18235\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18235\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18235\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18235\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18235\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18235\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18235\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18235\/cover_image_small.jpg 810w"},{"name":"Learn Flutter and Dart to Build iOS and Android Apps","link":"\/product\/learn-flutter-and-dart-to-build-ios-and-android-apps-9781805122029","image":"https:\/\/content.packt.com\/V21127\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21127\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21127\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21127\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21127\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21127\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21127\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21127\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21127\/cover_image_small.jpg 810w"},{"name":"Mastering the Charts Framework in SwiftUI 4 \u0026 iOS 16","link":"\/product\/mastering-the-charts-framework-in-swiftui-4-ios-16-9781837637409","image":"https:\/\/content.packt.com\/V19482\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19482\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19482\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19482\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19482\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19482\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19482\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19482\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19482\/cover_image_small.jpg 810w"},{"name":"SwiftUI and Node.js Full Stack - Build Twitter - iOS 16","link":"\/product\/swiftui-and-nodejs-full-stack-build-twitter-ios-16-9781801077590","image":"https:\/\/content.packt.com\/V19823\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19823\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19823\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19823\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19823\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19823\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19823\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19823\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19823\/cover_image_small.jpg 810w"},{"name":"SwiftUI Animations iOS 16 - Animate Anything with SwiftUI","link":"\/product\/swiftui-animations-ios-16-animate-anything-with-swiftui-9781801077088","image":"https:\/\/content.packt.com\/V17264\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17264\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17264\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17264\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17264\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17264\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17264\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17264\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17264\/cover_image_small.jpg 810w"},{"name":"The Art of Doing: Dive Into Android Development with Kotlin","link":"\/product\/the-art-of-doing-dive-into-android-development-with-kotlin-9781803241739","image":"https:\/\/content.packt.com\/V18140\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18140\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18140\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18140\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18140\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18140\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18140\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18140\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18140\/cover_image_small.jpeg 810w"},{"name":"The Complete Intermediate Android Masterclass","link":"\/product\/the-complete-intermediate-android-masterclass-9781801077897","image":"https:\/\/content.packt.com\/V17429\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17429\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17429\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17429\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17429\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17429\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17429\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17429\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17429\/cover_image_small.jpeg 810w"},{"name":"The Complete iOS 14 \/ iOS 13 Developer Course - and SwiftUI","link":"\/product\/the-complete-ios-14-ios-13-developer-course-and-swiftui-9781801071246","image":"https:\/\/content.packt.com\/V17355\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17355\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17355\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17355\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17355\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17355\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17355\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17355\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17355\/cover_image_small.jpeg 810w"},{"name":"The Ultimate ChatGPT Guide with React Native - Develop Mobile Apps","link":"\/product\/the-ultimate-chatgpt-guide-with-react-native-develop-mobile-apps-9781805121183","image":"https:\/\/content.packt.com\/V19881\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19881\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19881\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19881\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19881\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19881\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19881\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19881\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19881\/cover_image_small.jpg 810w"}]},{"name":"Business and Other","link":"\/business-and-other","list":[{"name":"Agile Masterclass: Agile for Project Management","link":"\/product\/agile-masterclass-agile-for-project-management-9781801814195","image":"https:\/\/content.packt.com\/V17759\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/V17759\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17759\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/V17759\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17759\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/V17759\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17759\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17759\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/V17759\/cover_image_small.png 810w"},{"name":"Agile Project Management","link":"\/product\/agile-project-management-9781804615799","image":"https:\/\/content.packt.com\/V19035\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19035\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19035\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19035\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19035\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19035\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19035\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19035\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19035\/cover_image_small.jpg 810w"},{"name":"Agile Retrospective: Continuous Improvement and Kaizen with Scrum","link":"\/product\/agile-retrospective-continuous-improvement-and-kaizen-with-scrum-9781803231563","image":"https:\/\/content.packt.com\/V18090\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18090\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18090\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18090\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18090\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18090\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18090\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18090\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18090\/cover_image_small.jpeg 810w"},{"name":"Become a Confident RPA UiPath Developer - Build Real-World Projects","link":"\/product\/become-a-confident-rpa-uipath-developer-build-real-world-projects-9781835468159","image":"https:\/\/content.packt.com\/V21844\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21844\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21844\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21844\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21844\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21844\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21844\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21844\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21844\/cover_image_small.jpg 810w"},{"name":"Certified Six Sigma Yellow Belt Training","link":"\/product\/certified-six-sigma-yellow-belt-training-9781803246901","image":"https:\/\/content.packt.com\/V18250\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18250\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18250\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18250\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18250\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18250\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18250\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18250\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18250\/cover_image_small.jpeg 810w"},{"name":"Figma for UI\/UX: Master Web Design in Figma","link":"\/product\/figma-for-uiux-master-web-design-in-figma-9781803246703","image":"https:\/\/content.packt.com\/V18690\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18690\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18690\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18690\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18690\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18690\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18690\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18690\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18690\/cover_image_small.jpg 810w"},{"name":"Getting Started with JIRA","link":"\/product\/getting-started-with-jira-9781803232546","image":"https:\/\/content.packt.com\/V18301\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18301\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18301\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18301\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18301\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18301\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18301\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18301\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18301\/cover_image_small.jpg 810w"},{"name":"Getting Started with Scrum","link":"\/product\/getting-started-with-scrum-9781837637973","image":"https:\/\/content.packt.com\/V19457\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19457\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19457\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19457\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19457\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19457\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19457\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19457\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19457\/cover_image_small.jpg 810w"},{"name":"Microsoft Project for the Web - A Beginner\u0027s Guide","link":"\/product\/microsoft-project-for-the-web-a-beginners-guide-9781835465257","image":"https:\/\/content.packt.com\/V21680\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21680\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21680\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21680\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21680\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21680\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21680\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21680\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21680\/cover_image_small.jpg 810w"},{"name":"PMP\u00ae Certification Training","link":"\/product\/pmp-certification-training-9781804616611","image":"https:\/\/content.packt.com\/V19284\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19284\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19284\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19284\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19284\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19284\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19284\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19284\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19284\/cover_image_small.jpg 810w"},{"name":"Product Management Certification with Agile Product Owner and Scrum","link":"\/product\/product-management-certification-with-agile-product-owner-and-scrum-9781804613009","image":"https:\/\/content.packt.com\/V18937\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18937\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18937\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18937\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18937\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18937\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18937\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18937\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18937\/cover_image_small.jpeg 810w"},{"name":"Promoting Governance - The Corporate Gatekeeper\u0027s Role","link":"\/product\/promoting-governance-the-corporate-gatekeepers-role-9781803234342","image":"https:\/\/content.packt.com\/V18713\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18713\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18713\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18713\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18713\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18713\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18713\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18713\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18713\/cover_image_small.jpeg 810w"},{"name":"Robotic Process Automation - UiPath RPA Developer Masterclass","link":"\/product\/robotic-process-automation-uipath-rpa-developer-masterclass-9781804618820","image":"https:\/\/content.packt.com\/V19138\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19138\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19138\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19138\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19138\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19138\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19138\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19138\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19138\/cover_image_small.jpg 810w"},{"name":"Scrum Advanced - Software Development and Program Management","link":"\/product\/scrum-advanced-software-development-and-program-management-9781804610206","image":"https:\/\/content.packt.com\/V18936\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18936\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18936\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18936\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18936\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18936\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18936\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18936\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18936\/cover_image_small.jpeg 810w"},{"name":"Six Sigma White Belt","link":"\/product\/six-sigma-white-belt-9781803243511","image":"https:\/\/content.packt.com\/V18096\/cover_image_small.jpeg","src":"https:\/\/content.packt.com\/_\/image\/original\/V18096\/cover_image_small.jpeg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V18096\/cover_image_small.jpeg 40w, https:\/\/content.packt.com\/_\/image\/small\/V18096\/cover_image_small.jpeg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V18096\/cover_image_small.jpeg 80w, https:\/\/content.packt.com\/_\/image\/large\/V18096\/cover_image_small.jpeg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V18096\/cover_image_small.jpeg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V18096\/cover_image_small.jpeg 200w, https:\/\/content.packt.com\/_\/image\/original\/V18096\/cover_image_small.jpeg 810w"},{"name":"Substance Painter to Unreal Engine 5 Masterclass","link":"\/product\/substance-painter-to-unreal-engine-5-masterclass-9781837639335","image":"https:\/\/content.packt.com\/V19379\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V19379\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V19379\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V19379\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V19379\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V19379\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V19379\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V19379\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V19379\/cover_image_small.jpg 810w"},{"name":"The Complete Business Analysis Fundamentals Course","link":"\/product\/the-complete-business-analysis-fundamentals-course-9781835465998","image":"https:\/\/content.packt.com\/V21970\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21970\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21970\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21970\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21970\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21970\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21970\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21970\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21970\/cover_image_small.jpg 810w"},{"name":"The Complete Product Management Fundamentals","link":"\/product\/the-complete-product-management-fundamentals-9781803235646","image":"https:\/\/content.packt.com\/V17995\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V17995\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V17995\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V17995\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V17995\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V17995\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V17995\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V17995\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V17995\/cover_image_small.jpg 810w"},{"name":"The Complete Scrum Master Certification and Agile Scrum Course","link":"\/product\/the-complete-scrum-master-certification-and-agile-scrum-course-9781835460283","image":"https:\/\/content.packt.com\/V21991\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V21991\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V21991\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V21991\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V21991\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V21991\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V21991\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V21991\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V21991\/cover_image_small.jpg 810w"},{"name":"The Ultimate Guide for Product Management Essentials","link":"\/product\/the-ultimate-guide-for-product-management-essentials-9781835467084","image":"https:\/\/content.packt.com\/V22029\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/V22029\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/V22029\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/V22029\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/V22029\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/V22029\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/V22029\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/V22029\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/V22029\/cover_image_small.jpg 810w"}]}]},{"defaultSubject":"Data","title":"Popular Audiobooks","items":[{"name":"Data","link":"\/data","list":[{"name":"AI-Powered Commerce","link":"\/product\/ai-powered-commerce-9781805124634","image":"https:\/\/content.packt.com\/A20989\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20989\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20989\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20989\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20989\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20989\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20989\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20989\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20989\/cover_image_small.jpg 810w"},{"name":"Cloud Identity Patterns and Strategies","link":"\/product\/cloud-identity-patterns-and-strategies-9781805121527","image":"https:\/\/content.packt.com\/A19911\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19911\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19911\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19911\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19911\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19911\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19911\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19911\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19911\/cover_image_small.jpg 810w"},{"name":"CompTIA Data+: DAO-001 Certification Guide","link":"\/product\/comptia-data-dao-001-certification-guide-9781805126010","image":"https:\/\/content.packt.com\/A21044\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21044\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21044\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21044\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21044\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21044\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21044\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21044\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21044\/cover_image_small.jpg 810w"},{"name":"Data Literacy in Practice","link":"\/product\/data-literacy-in-practice-9781837632381","image":"https:\/\/content.packt.com\/A19731\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19731\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19731\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19731\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19731\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19731\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19731\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19731\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19731\/cover_image_small.jpg 810w"},{"name":"Deep Tech","link":"\/product\/deep-tech-9781805122432","image":"https:\/\/content.packt.com\/A19834\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19834\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19834\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19834\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19834\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19834\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19834\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19834\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19834\/cover_image_small.jpg 810w"},{"name":"Exploring GPT-3","link":"\/product\/exploring-gpt-3-9781805127833","image":"https:\/\/content.packt.com\/A20992\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20992\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20992\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20992\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20992\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20992\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20992\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20992\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20992\/cover_image_small.jpg 810w"},{"name":"Journey to Become a Google Cloud Machine Learning Engineer","link":"\/product\/journey-to-become-a-google-cloud-machine-learning-engineer-9781837635658","image":"https:\/\/content.packt.com\/A19680\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19680\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19680\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19680\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19680\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19680\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19680\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19680\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19680\/cover_image_small.jpg 810w"},{"name":"Learn Power BI Audiobook","link":"\/product\/learn-power-bi-9781837633586","image":"https:\/\/content.packt.com\/A19533\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19533\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19533\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19533\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19533\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19533\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19533\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19533\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19533\/cover_image_small.jpg 810w"},{"name":"Learning Tableau 2022","link":"\/product\/learning-tableau-2022-9781805123279","image":"https:\/\/content.packt.com\/A21092\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21092\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21092\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21092\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21092\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21092\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21092\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21092\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21092\/cover_image_small.jpg 810w"},{"name":"Machine Learning Security Principles","link":"\/product\/machine-learning-security-principles-9781805124788","image":"https:\/\/content.packt.com\/A19875\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19875\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19875\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19875\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19875\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19875\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19875\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19875\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19875\/cover_image_small.jpg 810w"},{"name":"The AI Product Manager\u0027s Handbook","link":"\/product\/the-ai-product-managers-handbook-9781805129202","image":"https:\/\/content.packt.com\/A21101\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/A21101\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21101\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/A21101\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21101\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/A21101\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21101\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21101\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/A21101\/cover_image_small.png 810w"},{"name":"The Economics of Data, Analytics, and Digital Transformation","link":"\/product\/the-economics-of-data-analytics-and-digital-transformation-9781804613153","image":"https:\/\/content.packt.com\/A19157\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19157\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19157\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19157\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19157\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19157\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19157\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19157\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19157\/cover_image_small.jpg 810w"},{"name":"The Kaggle Book","link":"\/product\/the-kaggle-book-9781804612361","image":"https:\/\/content.packt.com\/A19223\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/A19223\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19223\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/A19223\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19223\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/A19223\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19223\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19223\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/A19223\/cover_image_small.png 810w"},{"name":"The Machine Learning Solutions Architect Handbook","link":"\/product\/the-machine-learning-solutions-architect-handbook-9781837632459","image":"https:\/\/content.packt.com\/A19469\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19469\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19469\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19469\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19469\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19469\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19469\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19469\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19469\/cover_image_small.jpg 810w"}]},{"name":"Programming","link":"\/programming","list":[{"name":"Building Analytics Teams","link":"\/product\/building-analytics-teams-9781837636624","image":"https:\/\/content.packt.com\/A19506\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19506\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19506\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19506\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19506\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19506\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19506\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19506\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19506\/cover_image_small.jpg 810w"},{"name":"Introduction to Software Architecture","link":"\/product\/introduction-to-software-architecture-9781837635337","image":"https:\/\/content.packt.com\/A19603\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19603\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19603\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19603\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19603\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19603\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19603\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19603\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19603\/cover_image_small.jpg 810w"},{"name":"Salesforce Anti-Patterns","link":"\/product\/salesforce-anti-patterns-9781837631407","image":"https:\/\/content.packt.com\/A19745\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19745\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19745\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19745\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19745\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19745\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19745\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19745\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19745\/cover_image_small.jpg 810w"},{"name":"Software Architecture for Busy Developers","link":"\/product\/software-architecture-for-busy-developers-9781837633647","image":"https:\/\/content.packt.com\/A19717\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19717\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19717\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19717\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19717\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19717\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19717\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19717\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19717\/cover_image_small.jpg 810w"},{"name":"Software Architecture for Web Developers","link":"\/product\/software-architecture-for-web-developers-9781805120599","image":"https:\/\/content.packt.com\/A19878\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19878\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19878\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19878\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19878\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19878\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19878\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19878\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19878\/cover_image_small.jpg 810w"},{"name":"Solutions Architect\u0027s Handbook","link":"\/product\/solutions-architects-handbook-9781804615348","image":"https:\/\/content.packt.com\/A19278\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/A19278\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19278\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/A19278\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19278\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/A19278\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19278\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19278\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/A19278\/cover_image_small.png 810w"},{"name":"Technical Program Manager\u0027s Handbook","link":"\/product\/technical-program-managers-handbook-9781837637775","image":"https:\/\/content.packt.com\/A19781\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19781\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19781\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19781\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19781\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19781\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19781\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19781\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19781\/cover_image_small.jpg 810w"},{"name":"Test Automation Engineering Handbook","link":"\/product\/test-automation-engineering-handbook-9781805120414","image":"https:\/\/content.packt.com\/A20955\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20955\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20955\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20955\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20955\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20955\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20955\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20955\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20955\/cover_image_small.jpg 810w"},{"name":"The Complete Coding Interview Guide in Java","link":"\/product\/the-complete-coding-interview-guide-in-java-9781837632688","image":"https:\/\/content.packt.com\/A19621\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19621\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19621\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19621\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19621\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19621\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19621\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19621\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19621\/cover_image_small.jpg 810w"},{"name":"The Salesforce Business Analyst Handbook","link":"\/product\/the-salesforce-business-analyst-handbook-9781837632022","image":"https:\/\/content.packt.com\/A19654\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19654\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19654\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19654\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19654\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19654\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19654\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19654\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19654\/cover_image_small.jpg 810w"}]},{"name":"Cloud and Networking","link":"\/cloud-and-networking","list":[{"name":"AWS Certified Cloud Practitioner Exam Guide","link":"\/product\/aws-certified-cloud-practitioner-exam-guide-9781805121794","image":"https:\/\/content.packt.com\/A19829\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19829\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19829\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19829\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19829\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19829\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19829\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19829\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19829\/cover_image_small.jpg 810w"},{"name":"Industrial Digital Transformation Audiobook","link":"\/product\/industrial-digital-transformation-9781805122661","image":"https:\/\/content.packt.com\/A21035\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/A21035\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21035\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/A21035\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21035\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/A21035\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21035\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21035\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/A21035\/cover_image_small.png 810w"},{"name":"Industrializing Financial Services with DevOps","link":"\/product\/industrializing-financial-services-with-devops-9781805129837","image":"https:\/\/content.packt.com\/A21118\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21118\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21118\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21118\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21118\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21118\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21118\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21118\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21118\/cover_image_small.jpg 810w"},{"name":"Mastering Active Directory, Third Edition Audiobook","link":"\/product\/mastering-active-directory-9781837639540","image":"https:\/\/content.packt.com\/A19573\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19573\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19573\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19573\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19573\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19573\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19573\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19573\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19573\/cover_image_small.jpg 810w"},{"name":"Microsoft Azure Fundamentals Certification and Beyond","link":"\/product\/microsoft-azure-fundamentals-certification-and-beyond-9781837630110","image":"https:\/\/content.packt.com\/A19658\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19658\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19658\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19658\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19658\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19658\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19658\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19658\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19658\/cover_image_small.jpg 810w"},{"name":"Quick Start Kubernetes","link":"\/product\/quick-start-kubernetes-9781835469781","image":"https:\/\/content.packt.com\/A21685\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21685\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21685\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21685\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21685\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21685\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21685\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21685\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21685\/cover_image_small.jpg 810w"},{"name":"Salesforce Data Architect Certification Guide","link":"\/product\/salesforce-data-architect-certification-guide-9781837637317","image":"https:\/\/content.packt.com\/A19696\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19696\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19696\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19696\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19696\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19696\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19696\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19696\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19696\/cover_image_small.jpg 810w"},{"name":"ServiceNow for Architects and Project Leaders","link":"\/product\/servicenow-for-architects-and-project-leaders-9781837635382","image":"https:\/\/content.packt.com\/A19771\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19771\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19771\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19771\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19771\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19771\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19771\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19771\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19771\/cover_image_small.jpg 810w"},{"name":"The DevOps Career Handbook Audiobook","link":"\/product\/the-devops-career-handbook-9781805121114","image":"https:\/\/content.packt.com\/A21055\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21055\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21055\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21055\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21055\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21055\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21055\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21055\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21055\/cover_image_small.jpg 810w"},{"name":"Transforming Healthcare with DevOps","link":"\/product\/transforming-healthcare-with-devops-9781837634880","image":"https:\/\/content.packt.com\/A19721\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19721\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19721\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19721\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19721\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19721\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19721\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19721\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19721\/cover_image_small.jpg 810w"}]},{"name":"Security","link":"\/security","list":[{"name":"Adversarial Tradecraft in Cybersecurity","link":"\/product\/adversarial-tradecraft-in-cybersecurity-9781801812818","image":"https:\/\/content.packt.com\/A19354\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19354\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19354\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19354\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19354\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19354\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19354\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19354\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19354\/cover_image_small.jpg 810w"},{"name":"Building a Cyber Resilient Business","link":"\/product\/building-a-cyber-resilient-business-9781837637348","image":"https:\/\/content.packt.com\/A19791\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19791\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19791\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19791\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19791\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19791\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19791\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19791\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19791\/cover_image_small.jpg 810w"},{"name":"Cloud Auditing Best Practices","link":"\/product\/cloud-auditing-best-practices-9781805120896","image":"https:\/\/content.packt.com\/A19896\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19896\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19896\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19896\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19896\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19896\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19896\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19896\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19896\/cover_image_small.jpg 810w"},{"name":"CompTIA CASP+ CAS-004 Certification Guide","link":"\/product\/comptia-casp-cas-004-certification-guide-9781805122531","image":"https:\/\/content.packt.com\/A20850\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20850\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20850\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20850\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20850\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20850\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20850\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20850\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20850\/cover_image_small.jpg 810w"},{"name":"Cyber Security Essentials","link":"\/product\/cyber-security-essentials-9781805125198","image":"https:\/\/content.packt.com\/A19833\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19833\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19833\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19833\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19833\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19833\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19833\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19833\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19833\/cover_image_small.jpg 810w"},{"name":"Cyber Warfare \u2013 Truth, Tactics, and Strategies","link":"\/product\/cyber-warfare-truth-tactics-and-strategies-9781801076876","image":"https:\/\/content.packt.com\/A19362\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/A19362\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19362\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/A19362\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19362\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/A19362\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19362\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19362\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/A19362\/cover_image_small.png 810w"},{"name":"Cybersecurity and Privacy Law Handbook","link":"\/product\/cybersecurity-and-privacy-law-handbook-9781837632220","image":"https:\/\/content.packt.com\/A19780\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19780\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19780\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19780\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19780\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19780\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19780\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19780\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19780\/cover_image_small.jpg 810w"},{"name":"Cybersecurity Career Master Plan","link":"\/product\/cybersecurity-career-master-plan-9781805122449","image":"https:\/\/content.packt.com\/A19847\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19847\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19847\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19847\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19847\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19847\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19847\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19847\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19847\/cover_image_small.jpg 810w"},{"name":"Cybersecurity Leadership Demystified","link":"\/product\/cybersecurity-leadership-demystified-9781804619827","image":"https:\/\/content.packt.com\/A19225\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19225\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19225\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19225\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19225\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19225\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19225\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19225\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19225\/cover_image_small.jpg 810w"},{"name":"Digital Forensics and Incident Response","link":"\/product\/digital-forensics-and-incident-response-9781805122968","image":"https:\/\/content.packt.com\/A20953\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20953\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20953\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20953\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20953\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20953\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20953\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20953\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20953\/cover_image_small.jpg 810w"},{"name":"Hack the Cybersecurity Interview","link":"\/product\/hack-the-cybersecurity-interview-9781837630752","image":"https:\/\/content.packt.com\/A19435\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19435\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19435\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19435\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19435\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19435\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19435\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19435\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19435\/cover_image_small.jpg 810w"},{"name":"iOS Forensics for Investigators","link":"\/product\/ios-forensics-for-investigators-9781837630820","image":"https:\/\/content.packt.com\/A19651\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19651\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19651\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19651\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19651\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19651\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19651\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19651\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19651\/cover_image_small.jpg 810w"},{"name":"Learn Computer Forensics","link":"\/product\/learn-computer-forensics-9781837632503","image":"https:\/\/content.packt.com\/A19608\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19608\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19608\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19608\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19608\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19608\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19608\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19608\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19608\/cover_image_small.jpg 810w"},{"name":"Microsoft Cybersecurity Architect Exam Ref SC-100 Audiobook","link":"\/product\/microsoft-cybersecurity-architect-exam-ref-sc-100-9781805129486","image":"https:\/\/content.packt.com\/A21015\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21015\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21015\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21015\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21015\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21015\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21015\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21015\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21015\/cover_image_small.jpg 810w"},{"name":"Operationalizing Threat Intelligence","link":"\/product\/operationalizing-threat-intelligence-9781837632879","image":"https:\/\/content.packt.com\/A19709\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19709\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19709\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19709\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19709\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19709\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19709\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19709\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19709\/cover_image_small.jpg 810w"},{"name":"Practical Cybersecurity Architecture","link":"\/product\/practical-cybersecurity-architecture-9781801818339","image":"https:\/\/content.packt.com\/A19360\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19360\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19360\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19360\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19360\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19360\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19360\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19360\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19360\/cover_image_small.jpg 810w"},{"name":"The Ultimate Kali Linux Book","link":"\/product\/the-ultimate-kali-linux-book-9781837632473","image":"https:\/\/content.packt.com\/A19527\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19527\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19527\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19527\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19527\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19527\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19527\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19527\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19527\/cover_image_small.jpg 810w"}]},{"name":"IoT and Hardware","link":"\/iot-and-hardware","list":[{"name":"Building Industrial Digital Twins","link":"\/product\/building-industrial-digital-twins-9781837630813","image":"https:\/\/content.packt.com\/B15810\/cover_image_small.png","src":"https:\/\/content.packt.com\/_\/image\/original\/B15810\/cover_image_small.png","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/B15810\/cover_image_small.png 40w, https:\/\/content.packt.com\/_\/image\/small\/B15810\/cover_image_small.png 60w, https:\/\/content.packt.com\/_\/image\/medium\/B15810\/cover_image_small.png 80w, https:\/\/content.packt.com\/_\/image\/large\/B15810\/cover_image_small.png 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/B15810\/cover_image_small.png 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/B15810\/cover_image_small.png 200w, https:\/\/content.packt.com\/_\/image\/original\/B15810\/cover_image_small.png 810w"},{"name":"Internet of Things for Smart Buildings","link":"\/product\/internet-of-things-for-smart-buildings-9781805126768","image":"https:\/\/content.packt.com\/A21113\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21113\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21113\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21113\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21113\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21113\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21113\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21113\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21113\/cover_image_small.jpg 810w"}]},{"name":"Business and Other","link":"\/business-and-other","list":[{"name":"101 UX Principles","link":"\/product\/101-ux-principles-9781804614495","image":"https:\/\/content.packt.com\/A19229\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19229\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19229\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19229\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19229\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19229\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19229\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19229\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19229\/cover_image_small.jpg 810w"},{"name":"Architecting Solutions with SAP Business Technology Platform","link":"\/product\/architecting-solutions-with-sap-business-technology-platform-9781805127529","image":"https:\/\/content.packt.com\/A21045\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A21045\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A21045\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A21045\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A21045\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A21045\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A21045\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A21045\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A21045\/cover_image_small.jpg 810w"},{"name":"Automating Salesforce Marketing Cloud","link":"\/product\/automating-salesforce-marketing-cloud-9781837633845","image":"https:\/\/content.packt.com\/A19524\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19524\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19524\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19524\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19524\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19524\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19524\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19524\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19524\/cover_image_small.jpg 810w"},{"name":"Becoming an Inspirational Leader","link":"\/product\/becoming-an-inspirational-leader-9781805120247","image":"https:\/\/content.packt.com\/A19832\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19832\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19832\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19832\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19832\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19832\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19832\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19832\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19832\/cover_image_small.jpg 810w"},{"name":"Empowering Marketing and Sales with HubSpot","link":"\/product\/empowering-marketing-and-sales-with-hubspot-9781805129370","image":"https:\/\/content.packt.com\/A20847\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20847\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20847\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20847\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20847\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20847\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20847\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20847\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20847\/cover_image_small.jpg 810w"},{"name":"Project Management 101","link":"\/product\/project-management-101-9781805129585","image":"https:\/\/content.packt.com\/A19831\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19831\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19831\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19831\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19831\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19831\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19831\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19831\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19831\/cover_image_small.jpg 810w"},{"name":"Software Test Design","link":"\/product\/software-test-design-9781805123477","image":"https:\/\/content.packt.com\/A20856\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A20856\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A20856\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A20856\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A20856\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A20856\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A20856\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A20856\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A20856\/cover_image_small.jpg 810w"},{"name":"Sustainable IT Playbook for Technology Leaders","link":"\/product\/sustainable-it-playbook-for-technology-leaders-9781837632176","image":"https:\/\/content.packt.com\/A19617\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19617\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19617\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19617\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19617\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19617\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19617\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19617\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19617\/cover_image_small.jpg 810w"},{"name":"The Professional Scrum Master (PSM I) Guide","link":"\/product\/the-professional-scrum-master-psm-i-guide-9781805126133","image":"https:\/\/content.packt.com\/A19839\/cover_image_small.jpg","src":"https:\/\/content.packt.com\/_\/image\/original\/A19839\/cover_image_small.jpg","srcset":"https:\/\/content.packt.com\/_\/image\/xsmall\/A19839\/cover_image_small.jpg 40w, https:\/\/content.packt.com\/_\/image\/small\/A19839\/cover_image_small.jpg 60w, https:\/\/content.packt.com\/_\/image\/medium\/A19839\/cover_image_small.jpg 80w, https:\/\/content.packt.com\/_\/image\/large\/A19839\/cover_image_small.jpg 100w, https:\/\/content.packt.com\/_\/image\/xlarge\/A19839\/cover_image_small.jpg 150w, https:\/\/content.packt.com\/_\/image\/xxlarge\/A19839\/cover_image_small.jpg 200w, https:\/\/content.packt.com\/_\/image\/original\/A19839\/cover_image_small.jpg 810w"}]}]},{"name":"Learning Hub","link":"\/learning","border":false,"status":true,"mega":false},{"name":"Conferences","link":"https:\/\/www.packtpub.com\/conference\/put-gen-ai-in-action-2024","border":false,"status":true,"mega":false},[{"name":"Daily free eBook","link":"https:\/\/www.packtpub.com\/free-learning"},{"name":"Redeem companion eBook","link":"https:\/\/www.packtpub.com\/page\/companion-ebook"}]]}; window.closeIcon = "https:\/\/www.packtpub.com\/rebuild\/build\/assets\/close-BX_BCJyJ.svg"; window.menuDropdownCloseIcon = "https:\/\/www.packtpub.com\/rebuild\/build\/assets\/chevron-right-C0prWw9V.svg"; window.menuDropdownOpenIcon = "https:\/\/www.packtpub.com\/rebuild\/build\/assets\/chevron-open-BfCjy_al.svg"; window.darkGreenCheck = "https:\/\/www.packtpub.com\/rebuild\/build\/assets\/dark-green-check-YYIdoQDl.svg"; window.viewMoreUrl = "https://www.packtpub.com/en-sg/data"; </script> <div class="header-overlay header-overlay-top product d-none"></div> <div class="header-overlay header-overlay-bottom d-none"></div> </header> <div class="container"> <div class="breadcrumb"> <div class="breadcrumb-desktop breadcrumb-body"> <a class="breadcrumb-label" href="/"> Home </a> <span>></span> <a class="breadcrumb-label" href="/en-sg/web-development"> Web Development </a> <span>></span> <a class="breadcrumb-label" href="/en-sg/web-development/concept/server-side-web-development"> Server Side Web Development </a> <span>></span> <span class="breadcrumb-label-last"> C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals </span> </div> </div> </div> <div class="container product-page" data-analytics-type="view_item" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837631988-eBook" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET Core" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="eBook" data-analytics-item-price="44.99" data-analytics-item-discount="20" > <div class="product-page-lhs"> <section class="product"> <span data-dialog-open="images-preview"> <img src="https://content.packt.com/B19586/cover_image.jpg" alt="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" srcset="https://content.packt.com/_/image/xsmall/B19586/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19586/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19586/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19586/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19586/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19586/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19586/cover_image.jpg 810w" sizes="203px" width="203" height="250" class="product-cover" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> </span> <dialog id="images-preview" class="dialog dialog-image-preview"> <div class="content"> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="icon icon-4" title="Close" data-dialog-close="images-preview" /> <div class="content-body"> <img src="https://content.packt.com/B19586/cover_image.jpg" alt="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" srcset="https://content.packt.com/_/image/xsmall/B19586/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19586/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19586/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19586/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19586/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19586/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19586/cover_image.jpg 810w" sizes="1200px" width="1200" height="800" class="product-cover-modal-image" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> </div> </div> </dialog> <div class="product-wrapper"> <h1 class="product-title"> C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals: Start building websites and services with ASP.NET Core 8, Blazor, and EF Core 8 , Eighth Edition </h1> <div class="desktop"> <div class="product-details"> <div class="rebuild-horizontal-scroll authors-wrapper hidden-authors"> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-left-O2MWvx1q.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="left" data-inactive-class="d-none" alt="Arrow left icon" /> <div class="rebuild-horizontal-scroll-body"> <div class="authors "> <span class="d-flex items-center bg-gray-95 p-1 rounded-1 gap-5px authors-dark"> <img src="https://www.packtpub.com/rebuild/build/assets/profile-RD2gMNMF.svg" class="svg-icon icon icon-3" alt="Profile Icon" /> Mark J. Price </span> </div> </div> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-right-eT5j42si.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="right" data-inactive-class="d-none" alt="Arrow right icon" /> </div> <span class="product-details-price"> <span class="fw-600">S$44.99</span> <del>S$64.99</del> </span> <section class="product-details-review-section"> <a href="#review-section" class="no-style-anchor"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--50-DSzh45gH.svg" class="svg-icon star-rating-icon-medium" alt="Half star icon" /> <span class="star-rating-total-rating-medium">4.4</span> <span class="star-rating-total-count size-medium">(72 Ratings)</span> </div> </a> </section> <div class="product-meta product-details-information"> <span class="device-fc-black-1">eBook</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">Nov 2023</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">828 pages</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">8th Edition</span> </div> <section class="product-details-types-tab desktop"> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"> <div class="product-details-price-tab active"> <div class="product-details-price-tab-type">eBook</div> <span class="product-details-price-tab-formattedSpecialPrice"> S$44.99 </span> <del class="product-details-price-tab-formattedPrice"> S$64.99 </del> </div> </a> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870"> <div class="product-details-price-tab "> <div class="product-details-price-tab-type">Paperback</div> <span class="product-details-price-tab-formattedSpecialPrice"> S$80.99 </span> </div> </a> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870?type=subscription"> <div class="product-details-price-tab "> <div class="product-details-price-tab-type">Subscription</div> <span class="product-details-price-tab-formattedSpecialPrice"> Free Trial </span> </div> </a> </section> </div> </div> </div> </section> <div class="device product-page-lhs-mobile"> <div class="device"> <div class="product-details"> <div class="rebuild-horizontal-scroll authors-wrapper hidden-authors"> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-left-O2MWvx1q.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="left" data-inactive-class="d-none" alt="Arrow left icon" /> <div class="rebuild-horizontal-scroll-body"> <div class="authors "> <span class="d-flex items-center bg-gray-95 p-1 rounded-1 gap-5px authors-dark"> <img src="https://www.packtpub.com/rebuild/build/assets/profile-RD2gMNMF.svg" class="svg-icon icon icon-3" alt="Profile Icon" /> Mark J. Price </span> </div> </div> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-right-eT5j42si.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="right" data-inactive-class="d-none" alt="Arrow right icon" /> </div> <span class="product-details-price"> <span class="fw-600">S$44.99</span> <del>S$64.99</del> </span> <section class="product-details-review-section"> <a href="#review-section" class="no-style-anchor"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--50-DSzh45gH.svg" class="svg-icon star-rating-icon-medium" alt="Half star icon" /> <span class="star-rating-total-rating-medium">4.4</span> <span class="star-rating-total-count size-medium">(72 Ratings)</span> </div> </a> </section> <div class="product-meta product-details-information"> <span class="device-fc-black-1">eBook</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">Nov 2023</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">828 pages</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">8th Edition</span> </div> <section class="product-details-types-tab desktop"> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"> <div class="product-details-price-tab active"> <div class="product-details-price-tab-type">eBook</div> <span class="product-details-price-tab-formattedSpecialPrice"> S$44.99 </span> <del class="product-details-price-tab-formattedPrice"> S$64.99 </del> </div> </a> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870"> <div class="product-details-price-tab "> <div class="product-details-price-tab-type">Paperback</div> <span class="product-details-price-tab-formattedSpecialPrice"> S$80.99 </span> </div> </a> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870?type=subscription"> <div class="product-details-price-tab "> <div class="product-details-price-tab-type">Subscription</div> <span class="product-details-price-tab-formattedSpecialPrice"> Free Trial </span> </div> </a> </section> </div> </div> <section class="product-details-types-tab linear-row"> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988"> <div class="product-details-price-tab active"> <div class="product-details-price-tab-type">eBook</div> <span class="product-details-price-tab-formattedSpecialPrice"> S$44.99 </span> <del class="product-details-price-tab-formattedPrice"> S$64.99 </del> </div> </a> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870"> <div class="product-details-price-tab "> <div class="product-details-price-tab-type">Paperback</div> <span class="product-details-price-tab-formattedSpecialPrice"> S$80.99 </span> </div> </a> <a class="product-details-price-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870?type=subscription"> <div class="product-details-price-tab "> <div class="product-details-price-tab-type">Subscription</div> <span class="product-details-price-tab-formattedSpecialPrice"> Free Trial </span> </div> </a> </section> <div class="product-features mt-2"> <h2 class="h5">What do you get with eBook?</h2> <div class="product-features-contents mt-2 mb-2"> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/clock-light-gray-BKBqwFKP.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> <strong>Instant access</strong> to your Digital eBook purchase </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/download-D9UbDY4E.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> Download this book in <strong>EPUB</strong> and <strong>PDF</strong> formats </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/window-fullscreen-WTKF7ku4.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> Access this title in our online reader with advanced features </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/padlock-DTiPnt5G.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> <strong>DRM FREE</strong> - Read whenever, wherever and however you want </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/ai-assistant-icon-DbiXb--A.svg" class="svg-icon icon icon-3" alt="Product feature icon" /> <span> <strong>AI Assistant (beta)</strong> to help accelerate your learning </span> </div> </div> <div class="d-flex flex-col gap-10px sm-gap-3"> <form action="https://www.packtpub.com/checkout/add/eBook/9781837635870" method="get" > <button id="product-buy-now" type="submit" class="rebuild-btn rebuild-btn-primary" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837631988-eBook" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET Core" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="eBook" data-analytics-item-price="44.99" data-analytics-item-discount="20" > Buy Now </button> </form> <button class="rebuild-btn rebuild-btn-dark rebuild-btn-medium" aria-disabled="false" id="ebook-9781837631988" data-type="ebook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837635870/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837631988-eBook" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET Core" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="eBook" data-analytics-item-price="44.99" data-analytics-item-discount="20" > ADD TO CART </button> </div> </div> </div> <div class="product-book-content-tabs"> <a class="tabs" href="#tocBlock"> <img src="https://www.packtpub.com/rebuild/build/assets/toc-CDUHjAiv.svg" class="svg-icon icon icon-4" alt="Table of content icon" /> <span class="tabs-label">View table of contents</span> </a> <span class="tabs" data-dialog-open="book-preview-dialog"> <img src="https://www.packtpub.com/rebuild/build/assets/preview-book-BPvv3-VS.svg" class="svg-icon icon-4" alt="Preview book icon" /> <span class="tabs-label"> Preview Book </span> </span> <dialog id="book-preview-dialog" class="dialog dialog-product-preview"> <div class="content"> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="icon icon-4" title="Close" data-dialog-close="book-preview-dialog" /> <div class="content-body"> <div class="slider-container text-transform-none" data-slider-container="product-preview-slider"> <div class="slider-container-title"> <h2>C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals</h2> </div> <div class="slider-container-items reader-section-content"> <div class="slider-item " data-slider-item=1> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-91" class="chapterTitle">Speaking C#</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">This chapter is all about the basics of the C# programming language. Over the course of this chapter, you’ll learn how to write statements using the grammar of C#, as well as being introduced to some of the common vocabulary that you will use every day. In addition to this, by the end of the chapter, you’ll feel confident in knowing how to temporarily store and work with information in your computer’s memory.</p> <p class="normal">This chapter covers the following topics:</p> <ul> <li class="bulletList">Introducing the C# language</li> <li class="bulletList">Discovering your C# compiler version</li> <li class="bulletList">Understanding C# grammar and vocabulary</li> <li class="bulletList">Working with variables</li> <li class="bulletList">Exploring more about console apps</li> <li class="bulletList">Understanding async and await</li> </ul> </div> </div> </div> <div class="slider-item d-none " data-slider-item=2> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-92" class="heading-1">Introducing the C# language</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">This <a id="_idIndexMarker184"></a>part of the book is about the C# language—the grammar and vocabulary that you will use every day to write the source code for your applications.</p> <p class="normal">Programming languages have many similarities to human languages, except that in programming languages, you can make up your own words, just like Dr. Seuss!</p> <p class="normal">In a book written by Dr. Seuss in 1950, <em class="italic">If I Ran the Zoo</em>, he states this:</p> <blockquote class="packt_quote"> <p class="quote"> “And then, just to show them, I’ll sail to Ka-Troo And Bring Back an It-Kutch, a Preep, and a Proo, A Nerkle, a Nerd, and a Seersucker, too!”</p> </blockquote> <h2 id="_idParaDest-93" class="heading-2">C# language versions and features</h2> <p class="normal">This part of the<a id="_idIndexMarker185"></a> book covers the C# programming language and is written primarily for beginners, so it covers the fundamental topics that all developers need to know, including declaring variables, storing data, and how to define your own custom data types.</p> <p class="normal">This book covers<a id="_idIndexMarker186"></a> features of the C# language from version 1 up to the latest version, 12.</p> <p class="normal">If you already have some familiarity with older versions of C# and are excited to find out about the new features in the most recent versions of C#, I have made it easier for you to jump around by listing language versions and their important new features below, along with the chapter number and topic title where you can learn about them.</p> <p class="normal">You can read this information in the GitHub repository at the following link: <a href="https://github.com/markjprice/cs12dotnet8/blob/main/docs/ch02-features.md" target="_blank"><span class="url">https://github.com/markjprice/cs12dotnet8/blob/main/docs/ch02-features.md</span></a></p> <h2 id="_idParaDest-94" class="heading-2">Understanding C# standards</h2> <p class="normal">Over the<a id="_idIndexMarker187"></a> years, Microsoft has submitted a few versions of C# to standards bodies, as shown in <em class="italic">Table 2.1</em>:</p> <table id="table001-1" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">C# version</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">ECMA standard</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">ISO/IEC standard</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">1.0</p> </td> <td class="table-cell"> <p class="normal">ECMA-334:2003</p> </td> <td class="table-cell"> <p class="normal">ISO/IEC 23270:2003</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">2.0</p> </td> <td class="table-cell"> <p class="normal">ECMA-334:2006</p> </td> <td class="table-cell"> <p class="normal">ISO/IEC 23270:2006</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">5.0</p> </td> <td class="table-cell"> <p class="normal">ECMA-334:2017</p> </td> <td class="table-cell"> <p class="normal">ISO/IEC 23270:2018</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">6.0</p> </td> <td class="table-cell"> <p class="normal">ECMA-334:2022</p> </td> <td class="table-cell"> <p class="normal">ISO/IEC 23270:2022</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.1: ECMA standards for C#</p> <div class="note"> <p class="normal">The ECMA standard for C# 7.3 is still a draft. So don’t even think about when C# versions 8 to 12 might be ECMA standards! Microsoft made C# open source in 2014. You can read the latest C# standard document at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/specifications" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/specifications</span></a>.</p> </div> <p class="normal">More<a id="_idIndexMarker188"></a> practically useful than the ECMA standards are the public GitHub repositories for making the work on C# and related technologies as open as possible, as shown in <em class="italic">Table 2.2</em>:</p> <table id="table002-1" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">Description</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Link</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">C# language design</p> </td> <td class="table-cell"> <p class="normal"><a href="https://github.com/dotnet/csharplang" target="_blank"><span class="url">https://github.com/dotnet/csharplang</span></a></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">Compiler implementation</p> </td> <td class="table-cell"> <p class="normal"><a href="https://github.com/dotnet/roslyn" target="_blank"><span class="url">https://github.com/dotnet/roslyn</span></a></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">Standard to describe the language</p> </td> <td class="table-cell"> <p class="normal"><a href="https://github.com/dotnet/csharpstandard" target="_blank"><span class="url">https://github.com/dotnet/csharpstandard</span></a></p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.2: Public GitHub repositories for C#</p> </div> </div> </div> <div class="slider-item d-none " data-slider-item=3> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-95" class="heading-1">Discovering your C# compiler version</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">The .NET language<a id="_idIndexMarker189"></a> compiler for C# and Visual Basic, also<a id="_idIndexMarker190"></a> known as <strong class="keyWord">Roslyn</strong>, along with a separate compiler for F#, is distributed as part of the .NET SDK. To use a specific version of C#, you must have at least that version of the .NET SDK installed, as shown in <em class="italic">Table 2.3</em>:</p> <table id="table003-1" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">.NET SDK</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Roslyn compiler</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Default C# language</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">1.0.4</p> </td> <td class="table-cell"> <p class="normal">2.0-2.2</p> </td> <td class="table-cell"> <p class="normal">7.0</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">1.1.4</p> </td> <td class="table-cell"> <p class="normal">2.3-2.4</p> </td> <td class="table-cell"> <p class="normal">7.1</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">2.1.2</p> </td> <td class="table-cell"> <p class="normal">2.6-2.7</p> </td> <td class="table-cell"> <p class="normal">7.2</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">2.1.200</p> </td> <td class="table-cell"> <p class="normal">2.8-2.10</p> </td> <td class="table-cell"> <p class="normal">7.3</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">3.0</p> </td> <td class="table-cell"> <p class="normal">3.0-3.4</p> </td> <td class="table-cell"> <p class="normal">8.0</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">5.0</p> </td> <td class="table-cell"> <p class="normal">3.8</p> </td> <td class="table-cell"> <p class="normal">9.0</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">6.0</p> </td> <td class="table-cell"> <p class="normal">4.0</p> </td> <td class="table-cell"> <p class="normal">10.0</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">7.0</p> </td> <td class="table-cell"> <p class="normal">4.4</p> </td> <td class="table-cell"> <p class="normal">11.0</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">8.0</p> </td> <td class="table-cell"> <p class="normal">4.8</p> </td> <td class="table-cell"> <p class="normal">12.0</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.3: .NET SDK versions and their C# compiler versions</p> <p class="normal">When you<a id="_idIndexMarker191"></a> create class libraries, you can choose to target .NET Standard as well as versions of modern .NET. They have default C# language versions, as shown in <em class="italic">Table 2.4</em>:</p> <table id="table004-1" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">.NET Standard</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">C#</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">2.0</p> </td> <td class="table-cell"> <p class="normal">7.3</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">2.1</p> </td> <td class="table-cell"> <p class="normal">8.0</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.4: .NET Standard versions and their default C# compiler versions</p> <div class="note"> <p class="normal">Although you must have a minimum version of the .NET SDK installed to have access to a specific compiler version, the projects that you create can target older versions of .NET and still use a modern compiler version. For example, if you have the .NET 7 SDK or later installed, then you can use C# 11 language features in a console app that targets .NET Core 3.0.</p> </div> <h2 id="_idParaDest-96" class="heading-2">How to output the SDK version</h2> <p class="normal">Let’s see <a id="_idIndexMarker192"></a>what .NET SDK and C# language compiler versions you have available:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">On Windows, start <strong class="screenText">Windows Terminal</strong> or <strong class="screenText">Command Prompt</strong>. On macOS, start <strong class="screenText">Terminal</strong>.</li> <li class="numberedList">To determine which version of the .NET SDK you have available, enter the following command: <pre class="programlisting con"><code class="hljs-con">dotnet --version </code></pre> </li> <li class="numberedList">Note that the version at the time of publishing is 8.0.100, indicating that it is the initial version <a id="_idIndexMarker193"></a>of the SDK without any bug fixes or new features yet, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">8.0.100 </code></pre> </li> </ol> <h2 id="_idParaDest-97" class="heading-2">Enabling a specific language version compiler</h2> <p class="normal">Developer<a id="_idIndexMarker194"></a> tools like Visual Studio and the <code class="inlineCode">dotnet</code> command-line interface assume that you want to use the latest major version of a C# language compiler by default. Before C# 8 was released, C# 7 was the latest major version and was used by default.</p> <p class="normal">To use the improvements in a C# point release like 7.1, 7.2, or 7.3, you had to add a <code class="inlineCode"><LangVersion></code> configuration element to the project file, as shown in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"><LangVersion><span class="hljs-number">7.3</span></LangVersion> </code></pre> <p class="normal">After the release of C# 12 with .NET 8, if Microsoft releases a C# 12.1 compiler and you want to use its new language features, then you will have to add a configuration element to your project file, as shown in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"><LangVersion><span class="hljs-number">12.1</span></LangVersion> </code></pre> <p class="normal">Potential values for the <code class="inlineCode"><LangVersion></code> are shown in <em class="italic">Table 2.5</em>:</p> <table id="table005-1" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord"><LangVersion></strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Description</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">7</code>, <code class="inlineCode">7.1</code>, <code class="inlineCode">7.2</code>, <code class="inlineCode">7.3</code>, <code class="inlineCode">8</code>, <code class="inlineCode">9</code>, <code class="inlineCode">10</code>, <code class="inlineCode">11</code>, <code class="inlineCode">12</code></p> </td> <td class="table-cell"> <p class="normal">Entering a specific version number will use that compiler if it has been installed.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">latestmajor</code></p> </td> <td class="table-cell"> <p class="normal">Uses the highest major number, for example, 7.0 in August 2019, 8 in October 2019, 9 in November 2020, 10 in November 2021, 11 in November 2022, and 12 in November 2023.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">latest</code></p> </td> <td class="table-cell"> <p class="normal">Uses the highest major and highest minor number, for example, 7.2 in 2017, 7.3 in 2018, 8 in 2019, and perhaps 12.1 in H1 2024.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">preview</code></p> </td> <td class="table-cell"> <p class="normal">Uses the highest available preview version, for example, 12.0 in July 2023 with .NET 8 Preview 6 installed.</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.5: LangVersion settings for a project file</p> <h2 id="_idParaDest-98" class="heading-2">Using future C# compiler versions</h2> <p class="normal">In <a id="_idIndexMarker195"></a>February 2024, Microsoft is likely to release the first preview of .NET 9 with a C# 13 compiler. You will be able to install its SDK from the following link:</p> <p class="normal"><a href="https://dotnet.microsoft.com/en-us/download/dotnet/9.0" target="_blank"><span class="url">https://dotnet.microsoft.com/en-us/download/dotnet/9.0</span></a></p> <p class="normal">The link will give a <code class="inlineCode">404 Missing resource</code> error until February 2024, so do not bother using it until then!</p> <p class="normal">After you’ve installed a .NET 9 SDK preview, you will be able to use it to create new projects and explore the new language features in C# 13. After creating a new project, you can edit the <code class="inlineCode">.csproj</code> file and add the <code class="inlineCode"><LangVersion></code> element set to <code class="inlineCode">preview</code> to use the preview C# 13 compiler, as shown highlighted in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"><Project Sdk=<span class="hljs-string">"Microsoft.NET.Sdk"</span>> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9<span class="hljs-number">.0</span></TargetFramework> <span class="code-highlight"><strong class="hljs-slc"> <LangVersion>preview</LangVersion></strong></span> </PropertyGroup> </Project> </code></pre> <h2 id="_idParaDest-99" class="heading-2">Switching the C# compiler for .NET 8 to a future version</h2> <p class="normal">.NET 8 is an<a id="_idIndexMarker196"></a> LTS release, so Microsoft must support developers who continue to use .NET 8 for three years. But that does not mean that you are stuck with the C# 12 compiler for three years!</p> <p class="normal">In <a id="_idIndexMarker197"></a>November 2024, Microsoft is likely to release .NET 9, including a C# 13 compiler with new features. Although future versions of .NET 8 are likely to include preview versions of the C# 13 compiler, to be properly supported by Microsoft, you should only set <code class="inlineCode"><LangVersion></code> to <code class="inlineCode">preview</code> for exploration, not production projects, because it is not supported by Microsoft, and it is more likely to have bugs. Microsoft makes previews available because they want to hear feedback. You can be a part of C#’s development and improvement.</p> <p class="normal">Once the .NET 9 SDK is <a id="_idIndexMarker198"></a>made generally<a id="_idIndexMarker199"></a> available in November 2024, you will be able to get the best of both worlds. You can use the .NET 9 SDK and its C# 13 compiler while your projects continue to target .NET 8. To do so, set the target framework to <code class="inlineCode">net8.0</code> and add a <code class="inlineCode"><LangVersion></code> element set to <code class="inlineCode">13</code>, as shown highlighted in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"><Project Sdk=<span class="hljs-string">"Microsoft.NET.Sdk"</span>> <PropertyGroup> <OutputType>Exe</OutputType> <span class="code-highlight"><strong class="hljs-slc"> <TargetFramework>net8</strong><strong class="hljs-number-slc">.0</strong><strong class="hljs-slc"></TargetFramework></strong></span> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <span class="code-highlight"><strong class="hljs-slc"> <LangVersion></strong><strong class="hljs-number-slc">13</strong><strong class="hljs-slc"></LangVersion></strong></span> </PropertyGroup> </Project> </code></pre> <p class="normal">The preceding project targets <code class="inlineCode">net8.0</code>, so it is supported until November 2026 when run on a monthly patched version of the .NET 8 runtime. If the preceding project is built using .NET 9 SDK, then it can have the <code class="inlineCode"><LangVersion></code> set to <code class="inlineCode">13</code>, meaning C# 13.</p> <p class="normal">If you target <code class="inlineCode">net9.0</code>, which new projects will by default if you have installed the .NET 9 SDK, then the default language will be C# 13 so it would not need to be explicitly set.</p> <p class="normal">In February 2025, Microsoft is likely to release the first preview of .NET 10, and, in November 2025, it will likely release .NET 10 for general availability in production. You will be able to install its SDK from the following link and explore C# 14 in the same way as described above for C# 13 with .NET 9:</p> <p class="normal"><a href="https://dotnet.microsoft.com/en-us/download/dotnet/10.0" target="_blank"><span class="url">https://dotnet.microsoft.com/en-us/download/dotnet/10.0</span></a></p> <p class="normal">Again, the preceding link is for future use! It will give a <code class="inlineCode">404 Missing resource</code> error until February 2025, so do not bother using it until then.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Warning!</strong> Some C# language features depend on changes in the underlying .NET libraries. Even if you use the latest SDK with the latest compiler, you might not be able to use all the new language features while targeting an older version of .NET. For example, C# 11 introduced the <code class="inlineCode">required</code> keyword, but it cannot be used in a project that targets .NET 6 because that language feature requires new attributes that are only available in .NET 7. Luckily, the compiler will warn you if you try to use a C# feature that is not supported. Just be prepared for that eventuality.</p> </div> <h2 id="_idParaDest-100" class="heading-2">Showing the compiler version</h2> <p class="normal">We will <a id="_idIndexMarker200"></a>start by writing code that shows the compiler version:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">If you’ve completed <em class="chapterRef">Chapter 1</em>, <em class="italic">Hello, C#! Welcome, .NET!</em>, then you will already have a <code class="inlineCode">cs12dotnet8</code> folder. If not, then you’ll need to create it.</li> <li class="numberedList">Use your preferred code editor to create a new project, as defined in the following list:<ul> <li class="bulletList">Project template: <strong class="screenText">Console App [C#]</strong> / <code class="inlineCode">console</code></li> <li class="bulletList">Project file and folder: <code class="inlineCode">Vocabulary</code></li> <li class="bulletList">Solution file and folder: <code class="inlineCode">Chapter02</code></li> <li class="bulletList"><strong class="screenText">Do not use top-level statements</strong>: Cleared</li> <li class="bulletList"><strong class="screenText">Enable native AOT publish</strong>: Cleared</li> </ul> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: If you have forgotten how, or did not complete the previous chapter, then step-by-step instructions for creating a solution with multiple projects are given in <em class="chapterRef">Chapter 1</em>, <em class="italic">Hello, C#! Welcome, .NET!</em>.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">In the <code class="inlineCode">Vocabulary</code> project, in <code class="inlineCode">Program.cs</code>, after the comment, add a statement to show the C# version as an error, as shown in the following code: <pre class="programlisting con"><code class="hljs-con">#error version </code></pre> </li> <li class="numberedList">Run the console app:<ul> <li class="bulletList">If you are using Visual Studio 2022, then navigate to <strong class="screenText">Debug</strong> | <strong class="screenText">Start Without Debugging</strong>. When prompted to continue and run the last successful build, click <strong class="screenText">No</strong>.</li> <li class="bulletList">If you are using Visual Studio Code, then in a terminal for the <code class="inlineCode">Vocabulary</code> folder, enter the <code class="inlineCode">dotnet run</code> command. Note that we are expecting a compiler error, so do not panic when you see it!</li> </ul> </li> <li class="numberedList">Note that the compiler version and the language version appear as compiler error message number <code class="inlineCode">CS8304</code>, as shown in <em class="italic">Figure 2.1</em>: <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_01.png" alt></figure> <p class="packt_figref">Figure 2.1: A compiler error that shows the C# language version</p> <p class="normal">The <a id="_idIndexMarker201"></a>error message in the Visual Studio Code <strong class="screenText">PROBLEMS</strong> window or Visual Studio <strong class="screenText">Error List</strong> window says <code class="inlineCode">Compiler version: '4.8.0...'</code> with language version <code class="inlineCode">default (12.0)</code>.</p> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="6">Comment out the statement that causes the error, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// #error version</span> </code></pre> </li> <li class="numberedList">Note that the compiler error messages disappear.</li> </ol> </div> </div> </div> <div class="slider-item d-none " data-slider-item=4> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-101" class="heading-1">Understanding C# grammar and vocabulary</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">Let’s start<a id="_idIndexMarker202"></a> by looking at the basics of the grammar and vocabulary of C#. Throughout this chapter, you will create multiple console apps, with each one showing related features of the C# language.</p> <h2 id="_idParaDest-102" class="heading-2">Understanding C# grammar</h2> <p class="normal">The <a id="_idIndexMarker203"></a>grammar of C# includes statements and blocks. To document your code, you can use comments.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Comments should not be the only way that you document your code. Choosing sensible names for variables and functions, writing unit tests, and creating actual documents are other ways to document your code.</p> </div> <h2 id="_idParaDest-103" class="heading-2">Statements</h2> <p class="normal">In English, we<a id="_idIndexMarker204"></a> indicate the end of a sentence with a full stop. A sentence can be composed of multiple words and phrases, with the order of words being part of the grammar. For example, in English, we say “the black cat.”</p> <p class="normal">The adjective, <em class="italic">black</em>, comes before the noun, <em class="italic">cat</em>. Whereas French grammar has a different order; the adjective comes after the noun: “le chat noir.” What’s important to take away from this is that the order matters.</p> <p class="normal">C# indicates<a id="_idIndexMarker205"></a> the end of a <strong class="keyWord">statement</strong> with a semicolon. A statement<a id="_idIndexMarker206"></a> can be <a id="_idIndexMarker207"></a>composed of<a id="_idIndexMarker208"></a> multiple <strong class="keyWord">types</strong>, <strong class="keyWord">variables</strong>, and <strong class="keyWord">expressions</strong> made up of <strong class="keyWord">tokens</strong>. Each<a id="_idIndexMarker209"></a> token is separated by white space or some other recognizably different token, like an operator, for example, <code class="inlineCode">=</code> or <code class="inlineCode">+</code>. </p> <p class="normal">For example, in the following statement, <code class="inlineCode">decimal</code> is a type, <code class="inlineCode">totalPrice</code> is a variable, and <code class="inlineCode">subtotal + salesTax</code> is an expression:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">decimal</span> totalPrice = subtotal + salesTax; </code></pre> <p class="normal">The expression is made up of an operand named <code class="inlineCode">subtotal</code>, an operator <code class="inlineCode">+</code>, and another operand named <code class="inlineCode">salesTax</code>. The order of operands and operators matters because the order affects the meaning and result.</p> <h2 id="_idParaDest-104" class="heading-2">Comments</h2> <p class="normal">Comments <a id="_idIndexMarker210"></a>are the primary method of documenting your code to increase<a id="_idIndexMarker211"></a> an understanding of how it works, for other developers to read, or for you to read even when you come back to it months later.</p> <div class="note"> <p class="normal">In <em class="chapterRef">Chapter 4, </em><em class="italic">Writing, Debugging, and Testing Functions</em>, you will learn about XML comments that start with three slashes, <code class="inlineCode">///</code>, and work with a tool to generate web pages to document your code.</p> </div> <p class="normal">You can add comments to explain your code using a double slash, <code class="inlineCode">//</code>. The compiler will ignore everything after the <code class="inlineCode">//</code> until the end of the line, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code">// Sales tax must be added to the subtotal. var totalPrice = subtotal + salesTax; </code></pre> <p class="normal">To<a id="_idIndexMarker212"></a> write a<a id="_idIndexMarker213"></a> multiline comment, use <code class="inlineCode">/*</code> at the beginning and <code class="inlineCode">*/</code> at the end of the comment, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">/*</span> <span class="hljs-comment">This is a </span> <span class="hljs-comment">multi-line comment.</span> <span class="hljs-comment">*/</span> </code></pre> <p class="normal">Although <code class="inlineCode">/* */</code> is mostly used for multiline comments, it is also useful for commenting in the middle of a statement, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">decimal</span> totalPrice = subtotal <span class="hljs-comment">/* for this item */</span> + salesTax; </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Well-designed code, including function signatures with well-named parameters and class encapsulation, can be somewhat self-documenting. When you find yourself putting too many comments and explanations in your code, ask yourself: can I rewrite, aka refactor, this code to make it more understandable without long comments?</p> </div> <p class="normal">Your code editor has commands to make it easier to add and remove comment characters, as shown in the following list:</p> <ul> <li class="bulletList">Visual Studio 2022: Navigate to <strong class="screenText">Edit</strong> | <strong class="screenText">Advanced</strong> | <strong class="screenText">Comment Selection</strong> or <strong class="screenText">Uncomment Selection</strong>.</li> <li class="bulletList">Visual Studio Code: Navigate to <strong class="screenText">Edit</strong> | <strong class="screenText">Toggle Line Comment</strong> or <strong class="screenText">Toggle Block Comment</strong>.</li> <li class="bulletList">JetBrains Rider: Navigate to <strong class="screenText">Code</strong> | <strong class="screenText">Comment with Line Comment</strong> or <strong class="screenText">Comment with Block Comment</strong>.</li> </ul> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: You <strong class="keyWord">comment</strong> code by adding descriptive text above or after code statements. You <strong class="keyWord">comment out</strong> code by adding comment characters before or around statements to make them inactive. <strong class="keyWord">Uncommenting</strong> means removing the<a id="_idIndexMarker214"></a> comment characters.</p> </div> <h2 id="_idParaDest-105" class="heading-2">Blocks</h2> <p class="normal">In English, we<a id="_idIndexMarker215"></a> indicate a new paragraph by starting a new line. C# indicates a <strong class="keyWord">block</strong> of code with the use of curly brackets, <code class="inlineCode">{ }</code>.</p> <p class="normal">Blocks start <a id="_idIndexMarker216"></a>with a declaration to indicate what is being defined. For example, a block can define the start and end of many language constructs, including namespaces, classes, methods, or statements like <code class="inlineCode">foreach</code>.</p> <p class="normal">You will learn more about namespaces, classes, and methods later in this chapter and subsequent chapters, but to briefly introduce some of those concepts now:</p> <ul> <li class="bulletList">A <strong class="keyWord">namespace</strong> contains<a id="_idIndexMarker217"></a> types like classes to group them together.</li> <li class="bulletList">A <strong class="keyWord">class</strong> contains<a id="_idIndexMarker218"></a> the members of an object, including methods.</li> <li class="bulletList">A <strong class="keyWord">method</strong> contains <a id="_idIndexMarker219"></a>statements that implement an action that an object can take.</li> </ul> <p class="normal">Code editors like Visual Studio 2022 and Visual Studio Code provide a handy feature to collapse and expand blocks by toggling the <code class="inlineCode">[-]</code> or <code class="inlineCode">[+]</code> or an arrow symbol pointing down or right when you move your mouse cursor over the left margin of the code, as shown in <em class="italic">Figure 2.2</em>:</p> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_02.png" alt></figure> <p class="packt_figref">Figure 2.2: Code editors with expanded and collapsed blocks</p> <h2 id="_idParaDest-106" class="heading-2">Regions</h2> <p class="normal">You can<a id="_idIndexMarker220"></a> define your own labeled regions around any statements<a id="_idIndexMarker221"></a> you want and then most code editors will allow you to collapse and expand them in the same way as blocks, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-meta">#</span><span class="hljs-keyword">region</span><span class="hljs-meta"> Three variables that store the number 2 million.</span> <span class="hljs-built_in">int</span> decimalNotation = <span class="hljs-number">2</span>_000_000; <span class="hljs-built_in">int</span> binaryNotation = <span class="hljs-number">0b</span>_0001_1110_1000_0100_1000_0000; <span class="hljs-built_in">int</span> hexadecimalNotation = <span class="hljs-number">0</span>x_001E_8480; <span class="hljs-meta">#</span><span class="hljs-keyword">endregion</span> </code></pre> <p class="normal">In this way, regions can be treated as commented blocks that can be collapsed to show a summary of what the block does. </p> <p class="normal">I will use <code class="inlineCode">#region</code> blocks throughout the solution code in the GitHub repository, especially for the early chapters before we start defining functions that act as natural collapsible regions, but I won’t show them in the print book, to save space. Use your own judgment to decide if you want to use regions in your own code.</p> <h2 id="_idParaDest-107" class="heading-2">Examples of statements and blocks</h2> <p class="normal">In a <a id="_idIndexMarker222"></a>simple console app that does not use the top-level <a id="_idIndexMarker223"></a>program feature, I’ve added some comments to the statements <a id="_idIndexMarker224"></a>and blocks, as shown in the <a id="_idIndexMarker225"></a>following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">using</span> System; <span class="hljs-comment">// A semicolon indicates the end of a statement.</span> <span class="hljs-keyword">namespace</span> <span class="hljs-title">Basics</span> { <span class="hljs-comment">// An open brace indicates the start of a block.</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Program</span> { <span class="hljs-keyword">static</span><span class="hljs-function"> </span><span class="hljs-keyword">void</span><span class="hljs-function"> </span><span class="hljs-title">Main</span><span class="hljs-function">(</span><span class="hljs-built_in">string</span><span class="hljs-params">[] args</span><span class="hljs-function">)</span> { Console.WriteLine(<span class="hljs-string">"Hello World!"</span>); <span class="hljs-comment">// A statement.</span> } } } <span class="hljs-comment">// A close brace indicates the end of a block.</span> </code></pre> <p class="normal">Note that C# uses a brace style where both the open and close braces are on their own line and are at the same indentation level, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">if</span> (x < <span class="hljs-number">3</span>) { <span class="hljs-comment">// Do something if x is less than 3.</span> } </code></pre> <p class="normal">Other languages<a id="_idIndexMarker226"></a> like JavaScript use curly braces but format <a id="_idIndexMarker227"></a>them differently. They put the open curly brace at the end of the declaration statement, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">if</span> (x < <span class="hljs-number">3</span>) { <span class="hljs-comment">// Do something if x is less than 3.</span> } </code></pre> <p class="normal">You can use <a id="_idIndexMarker228"></a>whatever style you prefer because the compiler does not care. </p> <p class="normal">Sometimes, to save <a id="_idIndexMarker229"></a>vertical space in a print book, I use the JavaScript brace style, but mostly I stick with the C# brace style. I use two spaces instead of the more common four spaces for indenting because my code will be printed in a book and therefore has narrow width available.</p> <div class="note"> <p class="normal"><strong class="keyWord">More Information</strong>: The <a id="_idIndexMarker230"></a>official coding style conventions can be found at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions</span></a>.</p> </div> <p class="normal">Regardless of any official guidelines, I recommend that you conform to whatever standards have been adopted by your development team unless you are a solo developer, in which case as long as your code compiles, you can use any conventions you like. Be kind to your future self though by being consistent one way or the other!</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: The brace style used in the Microsoft official documentation is the most commonly used for C#. For example, see the <code class="inlineCode">for</code> statement, as found at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/iteration-statements" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/iteration-statements</span></a>.</p> </div> <h2 id="_idParaDest-108" class="heading-2">Formatting code using white space</h2> <p class="normal">White space <a id="_idIndexMarker231"></a>includes the space, tab, and<a id="_idIndexMarker232"></a> newline characters. You can use white space to format your code however you like because extra white space has no effect on the compiler.</p> <p class="normal">The following four statements are all equivalent:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">int</span> sum = <span class="hljs-number">1</span> + <span class="hljs-number">2</span>; <span class="hljs-comment">// Most developers would prefer this format.</span> <span class="hljs-built_in">int</span> sum=<span class="hljs-number">1</span>+ <span class="hljs-number">2</span>; <span class="hljs-comment">// One statement over three lines.</span> <span class="hljs-built_in">int</span> sum= <span class="hljs-number">1</span> +<span class="hljs-number">2</span>;<span class="hljs-built_in">int</span> sum=<span class="hljs-number">1</span>+<span class="hljs-number">2</span>; <span class="hljs-comment">// Two statements on one line.</span> </code></pre> <p class="normal">The only white space character required in the preceding statements is one between <code class="inlineCode">int</code> and <code class="inlineCode">sum</code> to tell the compiler they are separate tokens. Any single white space character, for example a space, tab, or newline would be acceptable.</p> <div class="note"> <p class="normal"><strong class="keyWord">More Information</strong>: You can <a id="_idIndexMarker233"></a>read the formal definition of C# white space at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#634-white-space" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#634-white-space</span></a>.</p> </div> <h2 id="_idParaDest-109" class="heading-2">Understanding C# vocabulary</h2> <p class="normal">The <a id="_idIndexMarker234"></a>C# vocabulary is made up of <strong class="keyWord">keywords</strong>, <strong class="keyWord">symbol characters</strong>, and <strong class="keyWord">types</strong>.</p> <p class="normal">Some of<a id="_idIndexMarker235"></a> the<a id="_idIndexMarker236"></a> predefined, reserved keywords that you will see in this book and use <a id="_idIndexMarker237"></a>frequently include <code class="inlineCode">using</code>, <code class="inlineCode">namespace</code>, <code class="inlineCode">class</code>, <code class="inlineCode">static</code>, <code class="inlineCode">int</code>, <code class="inlineCode">string</code>, <code class="inlineCode">double</code>, <code class="inlineCode">bool</code>, <code class="inlineCode">if</code>, <code class="inlineCode">switch</code>, <code class="inlineCode">break</code>, <code class="inlineCode">while</code>, <code class="inlineCode">do</code>, <code class="inlineCode">for</code>, <code class="inlineCode">foreach</code>, <code class="inlineCode">this</code>, and <code class="inlineCode">true</code>.</p> <p class="normal">Some of the symbol characters that you will see include <code class="inlineCode">"</code>, <code class="inlineCode">'</code>, <code class="inlineCode">+</code>, <code class="inlineCode">-</code>, <code class="inlineCode">*</code>, <code class="inlineCode">/</code>, <code class="inlineCode">%</code>, <code class="inlineCode">@</code>, and <code class="inlineCode">$</code>.</p> <p class="normal">There are other contextual keywords that only have a special meaning in a specific context, like <code class="inlineCode">and</code>, <code class="inlineCode">or</code>, <code class="inlineCode">not</code>, <code class="inlineCode">record</code>, and <code class="inlineCode">init</code>.</p> <p class="normal">However, that <a id="_idIndexMarker238"></a>still means that there are only about 100 actual C# keywords in the language.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: C# keywords use all lowercase. Although you can use all lowercase for your own type names, you should not. With C# 11 and later, the compiler will give a warning if you do, as shown in the following output: <code class="inlineCode">Warning CS8981 The type name 'person' only contains lower-cased ascii characters. Such names may become reserved for the language.</code></p> </div> <h2 id="_idParaDest-110" class="heading-2">Comparing programming languages to human languages</h2> <p class="normal">The English<a id="_idIndexMarker239"></a> language has more than 250,000 distinct words, so how does C# get away with only having about 100 keywords? Moreover, why is C# so difficult to learn if it has only 0.0416% of the number of words in the English language?</p> <p class="normal">One of the key differences between a human language and a programming language is that developers need to be able to define the new “words” with new meanings. Apart from the (about) 100 keywords in the C# language, this book will teach you about some of the hundreds of thousands of “words” that other developers have defined, but you will also learn how to define your own “words.”</p> <p class="normal">Programmers all over the world must learn English because most programming languages use English words such as “if” and “break.” There are programming languages that use other human languages, such as Arabic, but they are rare. If you are interested in learning more, this YouTube video shows a<a id="_idIndexMarker240"></a> demonstration of an Arabic programming language: <a href="https://youtu.be/dkO8cdwf6v8" target="_blank"><span class="url">https://youtu.be/dkO8cdwf6v8</span></a>.</p> <h2 id="_idParaDest-111" class="heading-2">Changing the color scheme for C# syntax</h2> <p class="normal">By default, Visual Studio 2022 and Visual Studio Code show C# keywords in blue to make them <a id="_idIndexMarker241"></a>easier to differentiate from other code, which defaults to black. Both tools allow you to customize the color scheme.</p> <p class="normal">In Visual Studio 2022:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Navigate to <strong class="screenText">Tools</strong> | <strong class="screenText">Options</strong>.</li> <li class="numberedList">In the <strong class="screenText">Options</strong> dialog box, in the <strong class="screenText">Environment</strong> section, select <strong class="screenText">Fonts and Colors</strong>, and then select the display items that you would like to customize. You can also search for the section instead of browsing for it.</li> </ol> <p class="normal">In Visual Studio Code:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Navigate <a id="_idIndexMarker242"></a>to <strong class="screenText">File</strong> | <strong class="screenText">Preferences</strong> | <strong class="screenText">Theme</strong> | <strong class="screenText">Color Theme</strong>. It is in the <strong class="screenText">Code</strong> menu on macOS.</li> <li class="numberedList">Select a color theme. For reference, I’ll use the <strong class="screenText">Light+ (default light)</strong> color theme so that the screenshots look better in a printed book.</li> </ol> <p class="normal">In JetBrains Rider:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Navigate to <strong class="screenText">File</strong> | <strong class="screenText">Settings</strong> | <strong class="screenText">Editor</strong> | <strong class="screenText">Color Scheme</strong>.</li> </ol> <h2 id="_idParaDest-112" class="heading-2">Help for writing correct code</h2> <p class="normal">Plain text editors such <a id="_idIndexMarker243"></a>as Notepad don’t help you write correct English. Likewise, Notepad won’t help you write the correct C# either.</p> <p class="normal">Microsoft Word can help you write English by highlighting spelling mistakes with red squiggles, with Word saying that “icecream” should be ice-cream or ice cream, and grammatical errors with blue squiggles, such as a sentence should have an uppercase first letter.</p> <p class="normal">Similarly, Visual Studio 2022 and Visual Studio Code’s C# extension help you write C# code by highlighting spelling mistakes, such as the method name needing to be <code class="inlineCode">WriteLine</code> with an uppercase <code class="inlineCode">L</code>, and grammatical errors, such as statements that must end with a semicolon.</p> <p class="normal">The C# extension constantly watches what you type and gives you feedback by highlighting problems with colored squiggly lines, like that of Microsoft Word.</p> <p class="normal">Let’s see it in action:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">In <code class="inlineCode">Program.cs</code>, change the <code class="inlineCode">L</code> in the <code class="inlineCode">WriteLine</code> method to lowercase.</li> <li class="numberedList">Delete the semicolon at the end of the statement.</li> <li class="numberedList">In Visual Studio Code, navigate to <strong class="screenText">View</strong> | <strong class="screenText">Problems</strong>; in Visual Studio 2022, navigate to <strong class="screenText">View</strong> | <strong class="screenText">Error List</strong>; or in JetBrains Rider, navigate to <strong class="screenText">View</strong> | <strong class="screenText">Tool Windows</strong> | <strong class="screenText">Problems</strong>, and note that a red squiggle appears under the code mistakes and details are shown, as you can see in <em class="italic">Figure 2.3</em>:</li> </ol> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_03.png" alt="Graphical user interface, text, application, Word Description automatically generated"></figure> <p class="packt_figref">Figure 2.3: The Error List window showing two compile errors</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="4">Fix the two<a id="_idIndexMarker244"></a> coding errors.</li> </ol> <h2 id="_idParaDest-113" class="heading-2">Importing namespaces</h2> <p class="normal"><code class="inlineCode">System</code> is a<a id="_idIndexMarker245"></a> namespace, which is like an address<a id="_idIndexMarker246"></a> for a type. To refer to someone’s location exactly, you might use <code class="inlineCode">Oxford.HighStreet.BobSmith</code>, which tells us to look for a person named Bob Smith on the High Street in the city of Oxford.</p> <p class="normal"><code class="inlineCode">System.Console.WriteLine</code> tells the compiler to look for a method named <code class="inlineCode">WriteLine</code> in a type named <code class="inlineCode">Console</code> in a namespace named <code class="inlineCode">System</code>. </p> <p class="normal">To <a id="_idIndexMarker247"></a>simplify our code, the <strong class="keyWord">Console App</strong> project template for every version of .NET before 6.0 added a statement at the top of the code file to tell the compiler to always look in the <code class="inlineCode">System</code> namespace for types that haven’t been prefixed with their namespace, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">using</span> System; <span class="hljs-comment">// Import the System namespace.</span> </code></pre> <p class="normal">We call this <em class="italic">importing the namespace</em>. The effect of importing a namespace is that all available types in that namespace will be available to your program without needing to enter the namespace prefix. All available types in that namespace will be seen in IntelliSense while you write code.</p> <h2 id="_idParaDest-114" class="heading-2">Implicitly and globally importing namespaces</h2> <p class="normal">Traditionally, every <code class="inlineCode">.cs</code> file that needs to import namespaces would have to start with <code class="inlineCode">using</code> statements <a id="_idIndexMarker248"></a>to import those namespaces. Namespaces like <code class="inlineCode">System</code> and <code class="inlineCode">System.Linq</code> are needed in almost all <code class="inlineCode">.cs</code> files, so the first few lines of<a id="_idIndexMarker249"></a> every <code class="inlineCode">.cs</code> file often had at least a few <code class="inlineCode">using</code> statements, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">using</span> System; <span class="hljs-keyword">using</span> System.Linq; <span class="hljs-keyword">using</span> System.Collections.Generic; </code></pre> <p class="normal">When creating websites and services using ASP.NET Core, there are often dozens of namespaces that each file would have to import.</p> <p class="normal">C# 10 introduced a new keyword combination and .NET SDK 6 introduced a new project setting that works together to simplify importing common namespaces.</p> <p class="normal">The <code class="inlineCode">global using</code> keyword combination means you only need to import a namespace in one <code class="inlineCode">.cs</code> file and it will be available throughout all <code class="inlineCode">.cs</code> files instead of having to import the namespace at the top of every file that needs it. You could put <code class="inlineCode">global using</code> statements in the <code class="inlineCode">Program.cs</code> file, but I recommend creating a separate file for those statements named something like <code class="inlineCode">GlobalUsings.cs</code> with the contents being all your <code class="inlineCode">global using</code> statements, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> System; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> System.Linq; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> System.Collections.Generic; </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: As developers get used to this new C# feature, I expect one naming convention for this file to become the de facto standard. As you are about to see, the related .NET SDK feature uses a similar naming convention.</p> </div> <p class="normal">Any projects that target .NET 6 or later, and therefore use the C# 10 or later compiler, generate a <code class="inlineCode"><ProjectName>.GlobalUsings.g.cs</code> file in the <code class="inlineCode">obj\Debug\net8.0</code> folder to implicitly globally import some common namespaces like <code class="inlineCode">System</code>. The specific list of implicitly imported namespaces depends on which SDK you target, as shown in <em class="italic">Table 2.6</em>:</p> <table id="table006" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">SDK</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Implicitly imported namespaces</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">Microsoft.NET.Sdk</code></p> </td> <td class="table-cell"> <p class="normal"><code class="inlineCode">System</code></p> <p class="normal"><code class="inlineCode">System.Collections.Generic</code></p> <p class="normal"><code class="inlineCode">System.IO</code></p> <p class="normal"><code class="inlineCode">System.Linq</code></p> <p class="normal"><code class="inlineCode">System.Net.Http</code></p> <p class="normal"><code class="inlineCode">System.Threading</code></p> <p class="normal"><code class="inlineCode">System.Threading.Tasks</code></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">Microsoft.NET.Sdk.Web</code></p> </td> <td class="table-cell"> <p class="normal">Same as <code class="inlineCode">Microsoft.NET.Sdk</code> and:</p> <p class="normal"><code class="inlineCode">System.Net.Http.Json</code></p> <p class="normal"><code class="inlineCode">Microsoft.AspNetCore.Builder</code></p> <p class="normal"><code class="inlineCode">Microsoft.AspNetCore.Hosting</code></p> <p class="normal"><code class="inlineCode">Microsoft.AspNetCore.Http</code></p> <p class="normal"><code class="inlineCode">Microsoft.AspNetCore.Routing</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.Configuration</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.DependencyInjection</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.Hosting</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.Logging</code></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">Microsoft.NET.Sdk.Worker</code></p> </td> <td class="table-cell"> <p class="normal">Same as <code class="inlineCode">Microsoft.NET.Sdk</code> and:</p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.Configuration</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.DependencyInjection</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.Hosting</code></p> <p class="normal"><code class="inlineCode">Microsoft.Extensions.Logging</code></p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.6: .NET SDKs and their implicitly imported namespaces</p> <p class="normal">Let’s see<a id="_idIndexMarker250"></a> the <a id="_idIndexMarker251"></a>current autogenerated implicit imports file:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">In <strong class="screenText">Solution Explorer</strong>, toggle on the <strong class="screenText">Show All Files</strong> button, and note the compiler-generated <code class="inlineCode">bin</code> and <code class="inlineCode">obj</code> folders are now visible.</li> <li class="numberedList">In the <code class="inlineCode">Vocabulary</code> project, expand the <code class="inlineCode">obj</code> folder, expand the <code class="inlineCode">Debug</code> folder, expand the <code class="inlineCode">net8.0</code> folder, and then open the file named <code class="inlineCode">Vocabulary.GlobalUsings.g.cs</code>. <div class="note"> <p class="normal">The naming convention for this file is <code class="inlineCode"><ProjectName>.GlobalUsings.g.cs</code>. Note the <strong class="keyWord">g</strong> for <strong class="keyWord">generated</strong> to differentiate it from developer-written code files.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">Remember <a id="_idIndexMarker252"></a>that this file is automatically<a id="_idIndexMarker253"></a> created by the compiler for projects that target .NET 6 and later, and that it imports some commonly used namespaces including <code class="inlineCode">System.Threading</code>, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// <autogenerated /></span> <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Collections.Generic; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.IO; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Linq; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Net.Http; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Threading; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Threading.Tasks; </code></pre> </li> <li class="numberedList">Close the <code class="inlineCode">Vocabulary.GlobalUsings.g.cs</code> file.</li> <li class="numberedList">In <strong class="screenText">Solution Explorer</strong>, open the <code class="inlineCode">Vocabulary.csproj</code> project file, and then add additional entries to the project file to control which namespaces are implicitly imported, as shown highlighted in the following markup: <pre class="programlisting code"><code class="hljs-code"><Project Sdk=<span class="hljs-string">"Microsoft.NET.Sdk"</span>> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8<span class="hljs-number">.0</span></TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> </PropertyGroup> <span class="code-highlight"><strong class="hljs-slc"> <ItemGroup></strong></span> <span class="code-highlight"><strong class="hljs-slc"> <Using Remove=</strong><strong class="hljs-string-slc">"System.Threading"</strong><strong class="hljs-slc"> /></strong></span> <span class="code-highlight"><strong class="hljs-slc"> <Using Include=</strong><strong class="hljs-string-slc">"System.Numerics"</strong><strong class="hljs-slc"> /></strong></span> <span class="code-highlight"><strong class="hljs-slc"> <Using Include=</strong><strong class="hljs-string-slc">"System.Console"</strong><strong class="hljs-slc"> Static=</strong><strong class="hljs-string-slc">"true"</strong><strong class="hljs-slc"> /></strong></span> <span class="code-highlight"><strong class="hljs-slc"> <Using Include=</strong><strong class="hljs-string-slc">"System.Environment"</strong><strong class="hljs-slc"> Alias=</strong><strong class="hljs-string-slc">"Env"</strong><strong class="hljs-slc"> /></strong></span> <span class="code-highlight"><strong class="hljs-slc"> </ItemGroup></strong></span> </Project> </code></pre> <div class="note"> <p class="normal">Note that <code class="inlineCode"><ItemGroup></code> is different from <code class="inlineCode"><ImportGroup></code>. Be sure to use the correct one! Also, note that the order of elements in a project group or item group does not matter. For example, <code class="inlineCode"><Nullable></code> can be before or after <code class="inlineCode"><ImplicitUsings></code>.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="6">Save<a id="_idIndexMarker254"></a> the changes to the project file.</li> <li class="numberedList">Expand <a id="_idIndexMarker255"></a>the <code class="inlineCode">obj</code> folder, expand the <code class="inlineCode">Debug</code> folder, expand the <code class="inlineCode">net8.0</code> folder, and open the file named <code class="inlineCode">Vocabulary.GlobalUsings.g.cs</code>.</li> <li class="numberedList">Note this file now imports <code class="inlineCode">System.Numerics</code> instead of <code class="inlineCode">System.Threading</code>, the <code class="inlineCode">Environment</code> class has been imported and aliased to <code class="inlineCode">Env</code>, and we have statically imported the <code class="inlineCode">Console</code> class, as shown highlighted in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// <autogenerated /></span> <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Collections.Generic; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.IO; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Linq; <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Net.Http; <span class="code-highlight"><strong class="hljs-keyword-slc">global</strong><strong class="hljs-slc"> </strong><strong class="hljs-keyword-slc">using</strong><strong class="hljs-slc"> </strong><strong class="hljs-keyword-slc">global</strong><strong class="hljs-slc">::System.Numerics;</strong></span> <span class="hljs-keyword">global</span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">global</span>::System.Threading.Tasks; <span class="code-highlight"><strong class="hljs-keyword-slc">global</strong><strong class="hljs-slc"> </strong><strong class="hljs-keyword-slc">using</strong><strong class="hljs-slc"> Env = </strong><strong class="hljs-keyword-slc">global</strong><strong class="hljs-slc">::System.Environment;</strong></span> <span class="code-highlight"><strong class="hljs-keyword-slc">global</strong><strong class="hljs-slc"> </strong><strong class="hljs-keyword-slc">using</strong><strong class="hljs-slc"> </strong><strong class="hljs-keyword-slc">static</strong><strong class="hljs-slc"> </strong><strong class="hljs-keyword-slc">global</strong><strong class="hljs-slc">::System.Console;</strong></span> </code></pre> </li> <li class="numberedList">In <code class="inlineCode">Program.cs</code>, add a statement to output a message from the computer and note that because we statically imported the <code class="inlineCode">Console</code> class, we can call its methods like <code class="inlineCode">WriteLine</code> without prefixing them with <code class="inlineCode">Console</code>, and we can reference the <code class="inlineCode">Environment</code> class using its alias <code class="inlineCode">Env</code>, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">WriteLine(<span class="hljs-string">$"Computer named </span><span class="hljs-subst">{Env.MachineName}</span><span class="hljs-string"> says \"No.\""</span>); </code></pre> </li> <li class="numberedList">Run the project and note the message, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Computer named DAVROS says "No." </code></pre> </li> </ol> <div class="note"> <p class="normal">Your computer name will be different unless you name your computers after characters from Doctor Who like I do.</p> </div> <p class="normal">You can disable the <a id="_idIndexMarker256"></a>implicitly<a id="_idIndexMarker257"></a> imported namespaces feature for all SDKs by removing the <code class="inlineCode"><ImplicitUsings></code> element completely from the project file, or changing its value to <code class="inlineCode">disable</code>, as shown in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"><ImplicitUsings>disable</ImplicitUsings> </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: You might choose to do this if you want to manually create a single file with all the <code class="inlineCode">global using</code> statements instead of potentially having one generated automatically and others created manually. But my recommendation is to leave the feature enabled and modify the project file to change what is included in the auto-generated class file in the <code class="inlineCode">obj</code> folder hierarchy.</p> </div> <h2 id="_idParaDest-115" class="heading-2">Verbs are methods</h2> <p class="normal">In English, verbs are doing or action words, like “run” and “jump.” In C#, doing or action words are <a id="_idIndexMarker258"></a>called <strong class="keyWord">methods</strong>. There are hundreds of thousands of methods available to C#. In English, verbs change how they are written based on when in time the action happens. For example, Amir <em class="italic">was jumping</em> in the past, Beth <em class="italic">jumps</em> in the present, they <em class="italic">jumped</em> in the past, and Charlie <em class="italic">will jump</em> in the future.</p> <p class="normal">In C#, methods such as <code class="inlineCode">WriteLine</code> change how they are called or executed based on the specifics of the action. This is called overloading, which we’ll cover in more detail in <em class="chapterRef">Chapter 5</em>, <em class="italic">Building Your Own Types with Object-Oriented Programming</em>. But for now, consider the following example:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// Outputs the current line terminator.</span> <span class="hljs-comment">// By default, this is a carriage-return and line feed.</span> Console.WriteLine(); <span class="hljs-comment">// Outputs the greeting and the current line terminator.</span> Console.WriteLine(<span class="hljs-string">"Hello Ahmed"</span>); <span class="hljs-comment">// Outputs a formatted number and date and the current line terminator.</span> Console.WriteLine( <span class="hljs-string">"Temperature on {0:D} is {1}°C."</span>, DateTime.Today, <span class="hljs-number">23.4</span>); </code></pre> <div class="note"> <p class="normal">When I show code snippets without numbered step-by-step instructions, I do not expect you to enter them as code, so they won’t execute out of context.</p> </div> <p class="normal">A different <a id="_idIndexMarker259"></a>and not quite exact analogy is that some verbs are spelled the same but have different effects depending on the context, for example, you can lose a game, lose your place in a book, or lose your keys.</p> <h2 id="_idParaDest-116" class="heading-2">Nouns are types, variables, fields, and properties</h2> <p class="normal">In English, nouns <a id="_idIndexMarker260"></a>are names that refer to things. For example, Fido is the name of a dog. The word “dog” tells us the type of thing that Fido is, and so to order Fido to fetch a ball, we would use his name.</p> <p class="normal">In C#, their <a id="_idIndexMarker261"></a>equivalents<a id="_idIndexMarker262"></a> are <strong class="keyWord">types</strong>, <strong class="keyWord">variables</strong>, <strong class="keyWord">fields</strong>, and <strong class="keyWord">properties</strong>. For<a id="_idIndexMarker263"></a> example:</p> <ul> <li class="bulletList"><code class="inlineCode">Animal</code> and <code class="inlineCode">Car</code> are types; they are nouns for categorizing things.</li> <li class="bulletList"><code class="inlineCode">Head</code> and <code class="inlineCode">Engine</code> might be fields or properties; they are nouns that belong to <code class="inlineCode">Animal</code> and <code class="inlineCode">Car</code>.</li> <li class="bulletList"><code class="inlineCode">Fido</code> and <code class="inlineCode">Bob</code> are variables; they are nouns for referring to a specific object.</li> </ul> <p class="normal">There are<a id="_idIndexMarker264"></a> tens of <a id="_idIndexMarker265"></a>thousands of types available to C#, though have you noticed <a id="_idIndexMarker266"></a>how I didn’t say, “There are tens of thousands of types <em class="italic">in</em> C#”? The difference is subtle but <a id="_idIndexMarker267"></a>important. The language of C# only has a few keywords for types, such as <code class="inlineCode">string</code> and <code class="inlineCode">int</code>, and strictly<a id="_idIndexMarker268"></a> speaking, C# doesn’t define any types. Keywords such as <code class="inlineCode">string</code> that look like types are <strong class="keyWord">aliases</strong>, which represent types provided by the platform on which C# runs.</p> <p class="normal">It’s important to know that C# cannot exist alone; after all, it’s a language that runs on variants of .NET. In theory, someone could write a compiler for C# that uses a different platform, with different underlying types. In practice, the platform for C# is .NET, which provides tens of thousands of types to C#, including <code class="inlineCode">System.Int32</code>, which is the C# keyword alias <code class="inlineCode">int</code> maps to, as well as many more complex types, such as <code class="inlineCode">System.Xml.Linq.XDocument</code>.</p> <p class="normal">It’s worth taking note that the<a id="_idIndexMarker269"></a> term <strong class="keyWord">type</strong> is often confused with <strong class="keyWord">class</strong>. Have you ever played the <a id="_idIndexMarker270"></a>parlor game <em class="italic">Twenty Questions</em>, also known as <em class="italic">Animal, Vegetable, or Mineral</em>? In the game, everything <a id="_idIndexMarker271"></a>can be categorized as an animal, vegetable, or<a id="_idIndexMarker272"></a> mineral. In C#, every <strong class="keyWord">type</strong> can be <a id="_idIndexMarker273"></a>categorized as a <code class="inlineCode">class</code>, <code class="inlineCode">struct</code>, <code class="inlineCode">enum</code>, <code class="inlineCode">interface</code>, or <code class="inlineCode">delegate</code>. You will learn what these mean in <em class="chapterRef">Chapter 6</em>, <em class="italic">Implementing Interfaces and Inheriting Classes</em>. As an example, the C# keyword <code class="inlineCode">string</code> is a <code class="inlineCode">class</code>, but <code class="inlineCode">int</code> is a <code class="inlineCode">struct</code>. So, it is best to use the term <strong class="keyWord">type</strong> to refer to both.</p> <h2 id="_idParaDest-117" class="heading-2">Revealing the extent of the C# vocabulary</h2> <p class="normal">We know <a id="_idIndexMarker274"></a>that there are more than 100 keywords in C#, but how many types are there? Let’s write some code to find out how many types (and their methods) are available to C# in our simple console app.</p> <p class="normal">Don’t worry about exactly how this code works for now, but know that it uses a technique<a id="_idIndexMarker275"></a> called <strong class="keyWord">reflection</strong>:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Comment out all the existing statements in <code class="inlineCode">Program.cs</code>.</li> <li class="numberedList">We’ll start by importing the <code class="inlineCode">System.Reflection</code> namespace at the top of the <code class="inlineCode">Program.cs</code> file so that we can use some of the types in that namespace like <code class="inlineCode">Assembly</code> and <code class="inlineCode">TypeName</code>, as shown in the following code: <pre class="programlisting gen"><code class="hljs">using System.Reflection; // To use Assembly, TypeName, and so on. </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: We could use the implicit imports and <code class="inlineCode">global using</code> features to import this namespace for all <code class="inlineCode">.cs</code> files in this project, but since there is only one file, it is better to import the namespace in the one file in which it is needed.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">Write statements to get the compiled console app and loop through all the types that it has access to, outputting the names and number of methods each has, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// Get the assembly that is the entry point for this app.</span> Assembly? myApp = Assembly.GetEntryAssembly(); <span class="hljs-comment">// If the previous line returned nothing then end the app.</span> <span class="hljs-keyword">if</span> (myApp <span class="hljs-keyword">is</span> <span class="hljs-literal">null</span>) <span class="hljs-keyword">return</span>; <span class="hljs-comment">// Loop through the assemblies that my app references.</span> <span class="hljs-keyword">foreach</span> (AssemblyName name <span class="hljs-keyword">in</span> myApp.GetReferencedAssemblies()) { <span class="hljs-comment">// Load the assembly so we can read its details.</span> Assembly a = Assembly.Load(name); <span class="hljs-comment">// Declare a variable to count the number of methods.</span> <span class="hljs-built_in">int</span> methodCount = <span class="hljs-number">0</span>; <span class="hljs-comment">// Loop through all the types in the assembly.</span> <span class="hljs-keyword">foreach</span> (TypeInfo t <span class="hljs-keyword">in</span> a.DefinedTypes) { <span class="hljs-comment">// Add up the counts of all the methods.</span> methodCount += t.GetMethods().Length; } <span class="hljs-comment">// Output the count of types and their methods.</span> WriteLine(<span class="hljs-string">"{0:N0} types with {1:N0} methods in {2} assembly."</span>, arg0: a.DefinedTypes.Count(), arg1: methodCount, arg2: name.Name); } </code></pre> <div class="note"> <p class="normal"><code class="inlineCode">N0</code> is uppercase <code class="inlineCode">N</code> followed by the digit zero. It is not uppercase <code class="inlineCode">N</code> followed by uppercase <code class="inlineCode">O</code>. It means “format a number (<code class="inlineCode">N</code>) with zero (<code class="inlineCode">0</code>) decimal places.”</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="4">Run<a id="_idIndexMarker276"></a> the project. You will see the actual number of types and methods that are available to you in the simplest application when running on your <strong class="keyWord">operating system</strong> (<strong class="keyWord">OS</strong>). The number of types and methods displayed will be different depending on the OS that you are using, as shown in the following output on Windows: <pre class="programlisting con"><code class="hljs-con">0 types with 0 methods in System.Runtime assembly. 41 types with 639 methods in System.Console assembly. 112 types with 1,190 methods in System.Linq assembly. </code></pre> <div class="note"> <p class="normal">Why does the <code class="inlineCode">System.Runtime</code> assembly contain zero types? This assembly is special because it contains only <strong class="keyWord">type-forwarders</strong> rather than actual types. A type-forwarder represents a type that has been implemented outside of .NET or for some other advanced reason.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="5">Add<a id="_idIndexMarker277"></a> statements to the top of the file (after importing the <code class="inlineCode">System.Reflection</code> namespace) to declare some variables, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">// Declare some unused variables using types in // additional assemblies to make them load too. System.Data.DataSet ds = new(); HttpClient client = new(); </code></pre> </li> <li class="numberedList">Run the console app again and view the results, which should look like the following outputs: <pre class="programlisting con"><code class="hljs-con">0 types with 0 methods in System.Runtime assembly. 406 types with 7,139 methods in System.Data.Common assembly. 425 types with 4,681 methods in System.Net.Http assembly. 41 types with 639 methods in System.Console assembly. 112 types with 1,190 methods in System.Linq assembly. </code></pre> </li> </ol> <p class="normal">Now, you have a better sense of why learning C# is a challenge – because there are so many types and methods to learn. Methods are only one category of a member that a type can have, and you and other programmers are constantly defining new types and members!</p> <h2 id="_idParaDest-118" class="heading-2">Example of asking ChatGPT to explain code</h2> <p class="normal">The<a id="_idIndexMarker278"></a> code we wrote in the <code class="inlineCode">Vocabulary</code> project is a good example of when you might want to ask ChatGPT to explain something. If you enter a prompt of “Explain the following code:” followed by the code, here’s what it responded with at the time of writing in July 2023:</p> <p class="normal">“This C# code performs an analysis of the assemblies (essentially libraries or modules) referenced by the current application. It tallies up the total number of types and methods in each referenced assembly.</p> <p class="normal">Let’s break down the code in more detail:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1"><code class="inlineCode">System.Reflection</code> namespace is used to work with <code class="inlineCode">assemblies</code>, <code class="inlineCode">modules</code>, <code class="inlineCode">types</code>, <code class="inlineCode">methods</code>, and so on, at runtime.</li> <li class="numberedList">The <code class="inlineCode">System.Data.DataSet</code> and <code class="inlineCode">HttpClient</code> instances are declared but not used. The comment implies that these are declared to ensure their respective assemblies are loaded for the subsequent analysis. Creating instances of classes from certain assemblies can cause those assemblies to be loaded into memory.</li> <li class="numberedList"><code class="inlineCode">Assembly.GetEntryAssembly()</code> gets the assembly that is the entry point of the application.</li> <li class="numberedList">If <code class="inlineCode">myApp</code> is null (meaning there’s no entry assembly, which should be impossible in a normally running .NET app), the application exits.</li> <li class="numberedList">The <code class="inlineCode">foreach</code> loop iterates over each assembly name in the referenced assemblies of the entry point assembly.</li> <li class="numberedList"><code class="inlineCode">Assembly.Load(name)</code> loads an assembly given the <code class="inlineCode">assembly</code> name. This allows you to interact with the assembly programmatically.</li> <li class="numberedList">A counter variable <code class="inlineCode">methodCount</code> is declared and initialized to <code class="inlineCode">0</code>. This is used to count the total number of methods in the assembly.</li> <li class="numberedList">Another nested <code class="inlineCode">foreach</code> loop then iterates over each type in the assembly.</li> <li class="numberedList">For each type, it gets the number of methods <code class="inlineCode">(t.GetMethods().Length)</code> and adds it to the <code class="inlineCode">methodCount</code>.</li> <li class="numberedList">Finally, the number of types and their methods in the assembly are output to the console using <code class="inlineCode">WriteLine()</code>. The <code class="inlineCode">{0:N0}</code> format specifier in the string is a placeholder for a number (<code class="inlineCode">0</code> refers to the argument index, <code class="inlineCode">N</code> is for number format, and 0 after N specifies the number of decimal places).</li> </ol> <p class="normal">So, in essence, this<a id="_idIndexMarker279"></a> script counts how many types and methods exist in each assembly referenced by the application. This might be useful to understand the complexity or size of the dependencies the application has.”</p> <p class="normal">And now back to the flesh and blood Mark: That’s a pretty good explanation with no mistakes or hallucinations!</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Tools like GitHub Copilot and ChatGPT are especially useful for programmers when they are learning new things. And a good programmer is always learning new things! These tools are not just for writing code for you. They can explain existing code written by others and even suggest improvements.</p> </div> </div> </div> </div> <div class="slider-item d-none " data-slider-item=5> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-119" class="heading-1">Working with variables</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">All<a id="_idIndexMarker280"></a> applications process data. Data comes in, data is processed, and then data goes out.</p> <p class="normal">Data usually comes into our program from files, databases, or user input, and it can be put temporarily into variables, which will be stored in the memory of the running program. When the program ends, the data in memory is lost. Data is usually output to files and databases, or to the screen or a printer. When using variables, you should think about, firstly, how much space the variable takes up in the memory, and, secondly, how fast it can be processed.</p> <p class="normal">We control this by picking an appropriate type. You can think of simple common types such as <code class="inlineCode">int</code> and <code class="inlineCode">double</code> as being different-sized storage boxes, where a smaller box would take less memory but may not be as fast at being processed; for example, adding 16-bit numbers might not be processed as quickly as adding 64-bit numbers on a 64-bit operating system. Some of these boxes may be stacked close by, and some may be thrown into a big heap further away.</p> <h2 id="_idParaDest-120" class="heading-2">Naming things and assigning values</h2> <p class="normal">There are <a id="_idIndexMarker281"></a>naming conventions for things, and it is a <a id="_idIndexMarker282"></a>good practice to follow them, as shown in <em class="italic">Table 2.7</em>:</p> <table id="table007" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">Naming convention</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Examples</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Used for</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">Camel case</p> </td> <td class="table-cell"> <p class="normal"><code class="inlineCode">cost</code>, <code class="inlineCode">orderDetail</code>, and <code class="inlineCode">dateOfBirth</code></p> </td> <td class="table-cell"> <p class="normal">Local variables, private fields.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">Title case aka Pascal case</p> </td> <td class="table-cell"> <p class="normal"><code class="inlineCode">String</code>, <code class="inlineCode">Int32</code>, <code class="inlineCode">Cost</code>, <code class="inlineCode">DateOfBirth</code>, and <code class="inlineCode">Run</code></p> </td> <td class="table-cell"> <p class="normal">Types, non-private fields, and other members like methods.</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.7: Naming conventions and what they should be used for</p> <p class="normal">Some C# programmers like to prefix the names of private fields with an underscore, for example, <code class="inlineCode">_dateOfBirth</code> instead of <code class="inlineCode">dateOfBirth</code>. The naming of private members of all kinds is <a id="_idIndexMarker283"></a>not formally defined because they<a id="_idIndexMarker284"></a> will not be visible outside the class, so writing them with or without an underscore prefix are both valid.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Following a consistent set of naming conventions will enable your code to be easily understood by other developers (and yourself in the future!).</p> </div> <p class="normal">The following code block shows an example of declaring a named local variable and assigning a value to it with the <code class="inlineCode">=</code> symbol. You should note that you can output the name of a variable using a keyword introduced in C# 6, <code class="inlineCode">nameof</code>:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// Let the heightInMetres variable become equal to the value 1.88.</span> <span class="hljs-built_in">double</span> heightInMetres = <span class="hljs-number">1.88</span>; Console.WriteLine(<span class="hljs-string">$"The variable </span><span class="hljs-subst">{</span><span class="hljs-keyword">nameof</span><span class="hljs-subst">(heightInMetres)}</span><span class="hljs-string"> has the value</span> <span class="hljs-subst">{heightInMetres}</span><span class="hljs-string">."</span>); </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Warning!</strong> The message in double quotes in the preceding code wraps onto a second line because the width of a printed page is too narrow. When entering a statement like this in your code editor, type it all in a single line.</p> </div> <div class="note"> <p class="normal">In C# 12, <code class="inlineCode">nameof</code> can now access instance data from a static context. You will learn the difference between instance and static data in <em class="chapterRef">Chapter 5</em>, <em class="italic">Building Your Own Types with Object-Oriented Programming</em>.</p> </div> <h2 id="_idParaDest-121" class="heading-2">Literal values</h2> <p class="normal">When you <a id="_idIndexMarker285"></a>assign to a variable, you often, but not always, assign a <strong class="keyWord">literal</strong> value. But <a id="_idIndexMarker286"></a>what is a literal value? A literal is a notation that represents a fixed value. Data types have different notations for their literal values, and over the next few sections, you will see examples of using literal notation to assign values to variables.</p> <div class="note"> <p class="normal"><strong class="keyWord">More Information</strong>: You can read the formal definition of literals in the C# language specification: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#645-literals" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#645-literals</span></a>.</p> </div> <h2 id="_idParaDest-122" class="heading-2">Storing text</h2> <p class="normal">For <a id="_idIndexMarker287"></a>text, a <a id="_idIndexMarker288"></a>single letter, such as an <code class="inlineCode">A</code>, is stored as a <code class="inlineCode">char</code> type.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Actually, it can be more complicated than that. Egyptian Hieroglyph A002 (U+13001) needs two <code class="inlineCode">System.Char</code> values (known as surrogate pairs) to represent it: <code class="inlineCode">\uD80C</code> and <code class="inlineCode">\uDC01</code>. Do not always assume one <code class="inlineCode">char</code> equals one letter or you could introduce hard-to-notice bugs into your code.</p> </div> <p class="normal">A <code class="inlineCode">char</code> is assigned using single quotes around the literal value, or assigning the return value of a function call, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">char</span> letter = <span class="hljs-string">'A'</span>; <span class="hljs-comment">// Assigning literal characters.</span> <span class="hljs-built_in">char</span> digit = <span class="hljs-string">'1'</span>; <span class="hljs-built_in">char</span> symbol = <span class="hljs-string">'$'</span>; <span class="hljs-built_in">char</span> userChoice = GetChar(); <span class="hljs-comment">// Assigning from a fictitious function.</span> </code></pre> <p class="normal">For text, multiple letters, such as <code class="inlineCode">Bob</code>, are stored as a <code class="inlineCode">string</code> type and are assigned using double quotes around the literal value, or by assigning the return value of a function call or constructor, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> firstName = <span class="hljs-string">"Bob"</span>; <span class="hljs-comment">// Assigning literal strings.</span> <span class="hljs-built_in">string</span> lastName = <span class="hljs-string">"Smith"</span>; <span class="hljs-built_in">string</span> phoneNumber = <span class="hljs-string">"</span><span class="hljs-string">(215) 555-4256"</span>; <span class="hljs-comment">// Assigning a string returned from the string class constructor.</span> <span class="hljs-built_in">string</span> horizontalLine = <span class="hljs-keyword">new</span>(<span class="hljs-string">'-'</span>, count: <span class="hljs-number">74</span>); <span class="hljs-comment">// 74 hyphens.</span> <span class="hljs-comment">// Assigning a string returned from a fictitious function.</span> <span class="hljs-built_in">string</span> address = GetAddressFromDatabase(id: <span class="hljs-number">563</span>); <span class="hljs-comment">// Assigning an emoji by converting from Unicode.</span> <span class="hljs-built_in">string</span> grinningEmoji = <span class="hljs-built_in">char</span>.ConvertFromUtf32(<span class="hljs-number">0x1F600</span>); </code></pre> <h3 id="_idParaDest-123" class="heading-3">Outputting emojis</h3> <p class="normal">To output <a id="_idIndexMarker289"></a>emojis at a command prompt on Windows, you must use Windows Terminal because Command Prompt does not support emojis, and set the output encoding of the console to use UTF-8, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code">Console.OutputEncoding = System.Text.Encoding.UTF8; <span class="hljs-built_in">string</span> grinningEmoji = <span class="hljs-built_in">char</span>.ConvertFromUtf32(<span class="hljs-number">0x1F600</span>); Console.WriteLine(grinningEmoji); </code></pre> <h3 id="_idParaDest-124" class="heading-3">Verbatim strings</h3> <p class="normal">When<a id="_idIndexMarker290"></a> storing text in a <code class="inlineCode">string</code> variable, you can include escape sequences, which represent special characters like tabs and new lines using a backslash, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> fullNameWithTabSeparator = <span class="hljs-string">"Bob\tSmith"</span>; </code></pre> <p class="normal">But what if you are storing the path to a file on Windows, and one of the folder names starts with a <code class="inlineCode">T</code>, as shown in the following code?</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> filePath = <span class="hljs-string">"C:\televisions\sony\bravia.txt"</span>; </code></pre> <p class="normal">The compiler will convert the <code class="inlineCode">\t</code> into a tab character and you will get errors!</p> <p class="normal">You must prefix it with the <code class="inlineCode">@</code> symbol to use a verbatim literal <code class="inlineCode">string</code>, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> filePath = <span class="hljs-string">@"C:\televisions\sony\bravia.txt"</span>; </code></pre> <h3 id="_idParaDest-125" class="heading-3">Raw string literals</h3> <p class="normal">Introduced<a id="_idIndexMarker291"></a> in C# 11, raw string literals are convenient for entering any arbitrary text without needing to escape the contents. They make it easy to define literals containing other languages like XML, HTML, or JSON.</p> <p class="normal">Raw string literals start and end with three or more double-quote characters, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> xml = <span class="hljs-string">"""</span> <span class="hljs-string"> <person age="</span><span class="hljs-number">50</span><span class="hljs-string">"></span> <span class="hljs-string"> <first_name>Mark</first_name></span> <span class="hljs-string"> </person></span> <span class="hljs-string"> """</span>; </code></pre> <p class="normal">Why three <em class="italic">or more</em> double-quote characters? This is for scenarios where the content itself needs to have three double-quote characters; you can then use four double-quote characters to indicate the beginning and end of the content. Where the content needs to have four double-quote characters, you can then use five double-quote characters to indicate the beginning and end of the content. And so on.</p> <p class="normal">In the <a id="_idIndexMarker292"></a>previous code, the XML is indented by 13 spaces. The compiler looks at the indentation of the last three or more double-quote characters, and then automatically removes that level of indentation from all the content inside the raw string literal. The results of the previous code would therefore not be indented as in the defining code, but instead be aligned with the left margin, as shown in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"><person age=<span class="hljs-string">"50"</span>> <first_name>Mark</first_name> </person> </code></pre> <p class="normal">If the end three double-quote characters are aligned with the left margin, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> xml = <span class="hljs-string">"""</span> <span class="hljs-string"> <person age="</span><span class="hljs-number">50</span><span class="hljs-string">"></span> <span class="hljs-string"> <first_name>Mark</first_name></span> <span class="hljs-string"> </person></span> <span class="hljs-string">"""</span>; </code></pre> <p class="normal">Then the 13-space indentation would not be removed, as shown in the following markup:</p> <pre class="programlisting code"><code class="hljs-code"> <person age=<span class="hljs-string">"50"</span>> <first_name>Mark</first_name> </person> </code></pre> <h3 id="_idParaDest-126" class="heading-3">Raw interpolated string literals</h3> <p class="normal">You can <a id="_idIndexMarker293"></a>mix interpolated strings that use curly braces <code class="inlineCode">{</code> <code class="inlineCode">}</code> with raw string literals. You specify the number of braces that indicates a replaced expression by adding that number of dollar signs to the start of the literal. Any fewer braces than that are treated as raw content.</p> <p class="normal">For example, if we want to define some JSON, single braces will be treated as normal braces, but the two dollar symbols tell the compiler that any two curly braces indicate a replaced<a id="_idIndexMarker294"></a> expression value, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">var</span> person = <span class="hljs-keyword">new</span> { FirstName = <span class="hljs-string">"Alice"</span>, Age = <span class="hljs-number">56</span> }; <span class="hljs-built_in">string</span> json = $<span class="hljs-string">$"""</span> <span class="hljs-string"> {</span> <span class="hljs-string"> "</span>first_name<span class="hljs-string">": "</span>{{person.FirstName}}<span class="hljs-string">",</span> <span class="hljs-string"> "</span>age<span class="hljs-string">": {{person.Age}},</span> <span class="hljs-string"> "</span>calculation<span class="hljs-string">": "</span>{{{ <span class="hljs-number">1</span> + <span class="hljs-number">2</span> }}}<span class="hljs-string">"</span> <span class="hljs-string"> }</span> <span class="hljs-string"> """</span>; Console.WriteLine(json); </code></pre> <p class="normal">The previous code would generate the following JSON document:</p> <pre class="programlisting code"><code class="hljs-code">{ <span class="hljs-string">"first_name"</span>: <span class="hljs-string">"Alice"</span>, <span class="hljs-string">"age"</span>: <span class="hljs-number">56</span>, <span class="hljs-string">"calculation"</span>: <span class="hljs-string">"{3}"</span> } </code></pre> <p class="normal">The number of dollars tells the compiler how many curly braces are needed to become recognized as an interpolated expression.</p> <h3 id="_idParaDest-127" class="heading-3">Summarizing options for storing text</h3> <p class="normal">To summarize:</p> <ul> <li class="bulletList"><strong class="keyWord">Literal string</strong>: Characters enclosed in double-quote characters. They can use escape characters like <code class="inlineCode">\t</code> for tab. To represent a backslash, use two: <code class="inlineCode">\\</code>.</li> <li class="bulletList"><strong class="keyWord">Raw string literal</strong>: Characters enclosed in three or more double-quote characters.</li> <li class="bulletList"><strong class="keyWord">Verbatim string</strong>: A literal string prefixed with <code class="inlineCode">@</code> to disable escape characters so that a backslash is a backslash. It also allows the <code class="inlineCode">string</code> value to span multiple lines because the whitespace characters are treated as themselves instead of instructions to the compiler.</li> <li class="bulletList"><strong class="keyWord">Interpolated string</strong>: A literal string prefixed with <code class="inlineCode">$</code> to enable embedded formatted variables. You will learn more about this later in this chapter.</li> </ul> <h2 id="_idParaDest-128" class="heading-2">Storing numbers</h2> <p class="normal">Numbers<a id="_idIndexMarker295"></a> are data that we want to perform an arithmetic <a id="_idIndexMarker296"></a>calculation on, for example, multiplying. A telephone number is not a number. To decide whether a variable should be stored as a number or not, ask yourself whether you need to perform arithmetic operations on the number or whether the number includes non-digit characters such as parentheses or hyphens to format the number, such as (414) 555-1234. In this case, the “number” is a sequence of characters, so it should be stored as a <code class="inlineCode">string</code>.</p> <p class="normal">Numbers can be natural numbers, such as 42, used for counting (also called whole numbers); they can also be negative numbers, such as -42 (called integers); or they can be real numbers, such as 3.9 (with a fractional part), which are called single- or double-precision floating-point numbers in computing.</p> <p class="normal">Let’s explore numbers:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Use your preferred code editor to add a new <strong class="screenText">Console App</strong> / <code class="inlineCode">console</code> project named <code class="inlineCode">Numbers</code> to the <code class="inlineCode">Chapter02</code> solution.<ul> <li class="bulletList">For Visual Studio 2022, configure the startup project to the current selection.</li> </ul> </li> <li class="numberedList">In <code class="inlineCode">Program.cs</code>, delete the existing code, and then type statements to declare some number variables using various data types, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// An unsigned integer is a positive whole number or 0.</span> <span class="hljs-built_in">uint</span> naturalNumber = <span class="hljs-number">23</span>; <span class="hljs-comment">// An integer is a negative or positive whole number or 0.</span> <span class="hljs-built_in">int</span> integerNumber = <span class="hljs-number">-23</span>; <span class="hljs-comment">// A float is a single-precision floating-point number.</span> <span class="hljs-comment">// The F or f suffix makes the value a float literal.</span> <span class="hljs-comment">// The suffix is required to compile.</span> <span class="hljs-built_in">float</span> realNumber = <span class="hljs-number">2.3f</span>; <span class="hljs-comment">// A double is a double-precision floating-point number.</span> <span class="hljs-comment">// double is the default for a number value with a decimal point.</span> <span class="hljs-built_in">double</span> anotherRealNumber = <span class="hljs-number">2.3</span>; <span class="hljs-comment">// A double literal value.</span> </code></pre> </li> </ol> <h3 id="_idParaDest-129" class="heading-3">Storing whole numbers</h3> <p class="normal">You <a id="_idIndexMarker297"></a>might know that computers store everything as bits. The <a id="_idIndexMarker298"></a>value of a bit is either <code class="inlineCode">0</code> or <code class="inlineCode">1</code>. This is called a <strong class="keyWord">binary number system</strong>. Humans <a id="_idIndexMarker299"></a>use a <strong class="keyWord">decimal number system</strong>.</p> <p class="normal">The decimal number system, also known as Base 10, has 10 as its <strong class="keyWord">base</strong>, meaning there are 10 digits, from 0 to 9. Although it is the number base most used by human civilizations, other number base systems are popular in science, engineering, and computing. The binary number system, also known as Base 2, has two as its base, meaning there are two digits, 0 and 1.</p> <p class="normal">The following image shows how computers store the decimal number 10. Take note of the bits with the value 1 in the 8 and 2 columns; 8 + 2 = 10:</p> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_04.png" alt></figure> <p class="packt_figref">Figure 2.4: How computers store the decimal number 10</p> <p class="normal">So, <code class="inlineCode">10</code> in decimal is <code class="inlineCode">00001010</code> in a binary byte (8 bits).</p> <h3 id="_idParaDest-130" class="heading-3">Improving legibility by using digit separators</h3> <p class="normal">Two <a id="_idIndexMarker300"></a>of the improvements seen in C# 7 and later are the use of the underscore character <code class="inlineCode">_</code> as a digit separator and support for binary literals.</p> <p class="normal">You can insert underscores anywhere into the digits of a number literal, including decimal, binary, or hexadecimal notation, to improve legibility.</p> <p class="normal">For example, you could write the value for 1 million in decimal notation, that is, Base 10, as <code class="inlineCode">1_000_000</code>.</p> <p class="normal">You can even use the 2/3 grouping common in India: <code class="inlineCode">10_00_000</code>.</p> <h3 id="_idParaDest-131" class="heading-3">Using binary or hexadecimal notation</h3> <p class="normal">To use binary<a id="_idIndexMarker301"></a> notation, that is, Base 2, using only 1s and 0s, start the <a id="_idIndexMarker302"></a>number literal with <code class="inlineCode">0b</code>. To use hexadecimal notation, that is, Base 16, using 0 to 9 and A to F, start the number literal with <code class="inlineCode">0x</code>.</p> <h3 id="_idParaDest-132" class="heading-3">Exploring whole numbers</h3> <p class="normal">Let’s enter <a id="_idIndexMarker303"></a>some code to see some examples:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">In the <code class="inlineCode">Numbers</code> project, in <code class="inlineCode">Program.cs</code>, type statements to declare some number variables using underscore separators, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">int</span> decimalNotation = <span class="hljs-number">2</span>_000_000; <span class="hljs-built_in">int</span> binaryNotation = <span class="hljs-number">0b</span>_0001_1110_1000_0100_1000_0000; <span class="hljs-built_in">int</span> hexadecimalNotation = <span class="hljs-number">0</span>x_001E_8480; <span class="hljs-comment">// Check the three variables have the same value.</span> Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{decimalNotation == binaryNotation}</span><span class="hljs-string">"</span>); Console.WriteLine( <span class="hljs-string">$"</span><span class="hljs-subst">{decimalNotation == hexadecimalNotation}</span><span class="hljs-string">"</span>); <span class="hljs-comment">// Output the variable values in decimal.</span> Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{decimalNotation:N0}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{binaryNotation:N0}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{hexadecimalNotation:N0}</span><span class="hljs-string">"</span>); <span class="hljs-comment">// Output the variable values in hexadecimal.</span> Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{decimalNotation:X}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{binaryNotation:X}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{hexadecimalNotation:X}</span><span class="hljs-string">"</span>); </code></pre> </li> <li class="numberedList">Run the project and note the result is that all three numbers are the same, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">True True 2,000,000 2,000,000 2,000,000 1E8480 1E8480 1E8480 </code></pre> </li> </ol> <p class="normal">Computers can always exactly represent integers using the <code class="inlineCode">int</code> type or one of its sibling types, such as <code class="inlineCode">long</code> and <code class="inlineCode">short</code>.</p> <h2 id="_idParaDest-133" class="heading-2">Storing real numbers</h2> <p class="normal">Computers<a id="_idIndexMarker304"></a> cannot always represent real, aka decimal <a id="_idIndexMarker305"></a>or non-integer, numbers precisely. The <code class="inlineCode">float</code> and <code class="inlineCode">double</code> types store real numbers using single- and double-precision floating points.</p> <p class="normal">Most programming<a id="_idIndexMarker306"></a> languages implement the <strong class="keyWord">Institute of Electrical and Electronics Engineers</strong> (<strong class="keyWord">IEEE</strong>) Standard for Floating-Point Arithmetic. IEEE 754 is a technical standard for floating-point arithmetic established in 1985 by the IEEE.</p> <p class="normal">The following image shows a simplification of how a computer represents the number <code class="inlineCode">12.75</code> in binary notation. Note the bits with the value <code class="inlineCode">1</code> in the 8, 4, ½, and ¼ columns.</p> <p class="normal">8 + 4 + ½ + ¼ = 12¾ = 12.75.</p> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_05.png" alt></figure> <p class="packt_figref">Figure 2.5: Computer representing the number 12.75 in binary notation</p> <p class="normal">So, <code class="inlineCode">12.75</code> in decimal is <code class="inlineCode">00001100.1100</code> in binary. As you can see, the number <code class="inlineCode">12.75</code> can be exactly represented using bits. However, most numbers can’t, which is something that we’ll be exploring shortly.</p> <h3 id="_idParaDest-134" class="heading-3">Writing code to explore number sizes</h3> <p class="normal">C# has an <a id="_idIndexMarker307"></a>operator named <code class="inlineCode">sizeof()</code> that returns the number of bytes that a type uses in memory. Some types have members named <code class="inlineCode">MinValue</code> and <code class="inlineCode">MaxValue</code>, which return the minimum and maximum values that can be stored in a variable of that type. We are now going to use these features to create a console app to explore number types:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">In <code class="inlineCode">Program.cs</code>, at the bottom of the file, type statements to show the size of three number<a id="_idIndexMarker308"></a> data types, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">Console.WriteLine(<span class="hljs-string">$"int uses </span><span class="hljs-subst">{</span><span class="hljs-keyword">sizeof</span><span class="hljs-subst">(</span><span class="hljs-built_in">int</span><span class="hljs-subst">)}</span><span class="hljs-string"> bytes and can store numbers in the range </span><span class="hljs-subst">{</span><span class="hljs-built_in">int</span><span class="hljs-subst">.MinValue:N0}</span><span class="hljs-string"> to </span><span class="hljs-subst">{</span><span class="hljs-built_in">int</span><span class="hljs-subst">.MaxValue:N0}</span><span class="hljs-string">."</span>); Console.WriteLine(<span class="hljs-string">$"double uses </span><span class="hljs-subst">{</span><span class="hljs-keyword">sizeof</span><span class="hljs-subst">(</span><span class="hljs-built_in">double</span><span class="hljs-subst">)}</span><span class="hljs-string"> bytes and can store numbers in the range </span><span class="hljs-subst">{</span><span class="hljs-built_in">double</span><span class="hljs-subst">.MinValue:N0}</span><span class="hljs-string"> to </span><span class="hljs-subst">{</span><span class="hljs-built_in">double</span><span class="hljs-subst">.MaxValue:N0}</span><span class="hljs-string">."</span>); Console.WriteLine(<span class="hljs-string">$"decimal uses </span><span class="hljs-subst">{</span><span class="hljs-keyword">sizeof</span><span class="hljs-subst">(</span><span class="hljs-built_in">decimal</span><span class="hljs-subst">)}</span><span class="hljs-string"> bytes and can store numbers in the range </span><span class="hljs-subst">{</span><span class="hljs-built_in">decimal</span><span class="hljs-subst">.MinValue:N0}</span><span class="hljs-string"> to </span><span class="hljs-subst">{</span><span class="hljs-built_in">decimal</span><span class="hljs-subst">.MaxValue:N0}</span><span class="hljs-string">."</span>); </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Warning!</strong> The width of the printed pages in this book makes the <code class="inlineCode">string</code> values (in double quotes) wrap over multiple lines. You must type them on a single line, or you will get compile errors.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="2">Run the code and view the output, as shown in <em class="italic">Figure 2.6</em>:</li> </ol> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_06.png" alt="Graphical user interface, text Description automatically generated"></figure> <p class="packt_figref">Figure 2.6: Size and range information for common number data types</p> <p class="normal">An <code class="inlineCode">int</code> variable uses four bytes of memory and can store positive or negative numbers up to about 2 billion. A <code class="inlineCode">double</code> variable uses 8 bytes of memory and can store much bigger values! A <code class="inlineCode">decimal</code> variable uses 16 bytes of memory and can store big numbers, but not as big as a <code class="inlineCode">double</code> type.</p> <p class="normal">But you <a id="_idIndexMarker309"></a>may be asking yourself, why might a <code class="inlineCode">double</code> variable be able to store bigger numbers than a <code class="inlineCode">decimal</code> variable, yet it’s only using half the space in memory? Well, let’s now find out!</p> <h3 id="_idParaDest-135" class="heading-3">Comparing double and decimal types</h3> <p class="normal">You will <a id="_idIndexMarker310"></a>now write some code to compare <code class="inlineCode">double</code> and <code class="inlineCode">decimal</code> values. Although it isn’t hard to follow, don’t worry about understanding the syntax right now:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Type statements to declare two <code class="inlineCode">double</code> variables, add them together, and compare them to the expected result. Then, write the result to the console, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">Console.WriteLine(<span class="hljs-string">"Using doubles:"</span>); <span class="hljs-built_in">double</span> a = <span class="hljs-number">0.1</span>; <span class="hljs-built_in">double</span> b = <span class="hljs-number">0.2</span>; <span class="hljs-keyword">if</span> (a + b == <span class="hljs-number">0.3</span>) { Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{a}</span><span class="hljs-string"> + </span><span class="hljs-subst">{b}</span><span class="hljs-string"> equals </span><span class="hljs-subst">{</span><span class="hljs-number">0.3</span><span class="hljs-subst">}</span><span class="hljs-string">"</span>); } <span class="hljs-keyword">else</span> { Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{a}</span><span class="hljs-string"> + </span><span class="hljs-subst">{b}</span><span class="hljs-string"> does NOT equal </span><span class="hljs-subst">{</span><span class="hljs-number">0.3</span><span class="hljs-subst">}</span><span class="hljs-string">"</span>); } </code></pre> </li> <li class="numberedList">Run the code and view the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Using doubles: 0.1 + 0.2 does NOT equal 0.3 </code></pre> </li> </ol> <div class="note"> <p class="normal">In cultures that use a comma for the decimal separator, the result will look slightly different, as shown in the following output: <code class="inlineCode">0,1 + 0,2 does NOT equal 0,3</code>.</p> </div> <p class="normal">The <code class="inlineCode">double</code> type is not guaranteed to be accurate because most numbers like <code class="inlineCode">0.1</code>, <code class="inlineCode">0.2</code>, and <code class="inlineCode">0.3</code> literally cannot be exactly represented as floating-point values.</p> <p class="normal">If you were to try different values, like <code class="inlineCode">0.1 + 0.3 == 0.4</code>, it would happen to return <code class="inlineCode">true</code> because with <code class="inlineCode">double</code> values, some imprecise values happen to be exactly equal in their current representation even though they might not actually be equal mathematically. So, some numbers can be directly compared but some cannot. I deliberately picked <code class="inlineCode">0.1</code> and <code class="inlineCode">0.2</code> to compare to <code class="inlineCode">0.3</code> because they cannot be compared, as proven by the result.</p> <p class="normal">You could compare real numbers stored in the <code class="inlineCode">float</code> type, which is less accurate than the <code class="inlineCode">double</code> type, but the comparison would actually appear to be <code class="inlineCode">true</code> because of that lower accuracy!</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">float</span> a = <span class="hljs-number">0.1F</span>; <span class="hljs-built_in">float</span> b = <span class="hljs-number">0.2F</span>; <span class="hljs-keyword">if</span> (a + b == <span class="hljs-number">0.3F</span>) <span class="hljs-comment">// True because float is less "accurate" than double.</span> ... </code></pre> <p class="normal">As a rule<a id="_idIndexMarker311"></a> of thumb, you should only use <code class="inlineCode">double</code> when accuracy, especially when comparing the equality of two numbers, is not important. An example of this might be when you’re measuring a person’s height; you will only compare values using greater than or less than, but never equals.</p> <p class="normal">The problem with the preceding code is illustrated by how the computer stores the number <code class="inlineCode">0.1</code>, or multiples of it. To represent <code class="inlineCode">0.1</code> in binary, the computer stores 1 in the 1/16 column, 1 in the 1/32 column, 1 in the 1/256 column, 1 in the 1/512 column, and so on.</p> <p class="normal">The number <code class="inlineCode">0.1</code> in decimal is <code class="inlineCode">0.00011001100110011</code>… in binary, repeating forever:</p> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_07.png" alt></figure> <p class="packt_figref">Figure 2.7: Number 0.1 in decimal repeating forever in binary</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Never compare <code class="inlineCode">double</code> values using <code class="inlineCode">==</code>. During the First Gulf War, an American Patriot missile battery used <code class="inlineCode">double</code> values in its calculations. The inaccuracy caused it to fail to track and intercept an incoming Iraqi Scud missile, and 28 soldiers were killed; you can read about this at <a href="https://www.ima.umn.edu/~arnold/disasters/patriot.html" target="_blank"><span class="url">https://www.ima.umn.edu/~arnold/disasters/patriot.html</span></a>. The Patriot missile system has improved since then. <em class="italic">“Forty years after it was brought into service, the Patriot air-defense system is finally doing what it was designed for.” “No one was 100% sure that the Patriot was capable of destroying a Kh-47 hypersonic missile,” said Col. Serhiy Yaremenko, commander of the 96th Anti-Aircraft Missile Brigade, which defends Kyiv. “Ukrainians proved it.”:</em> <a href="https://archive.ph/2023.06.11-132200/https://www.wsj.com/amp/articles/u-s-patriot-missile-is-an-unsung-hero-of-ukraine-war-db6053a0" target="_blank"><span class="url">https://archive.ph/2023.06.11-132200/https://www.wsj.com/amp/articles/u-s-patriot-missile-is-an-unsung-hero-of-ukraine-war-db6053a0</span></a>.</p> </div> <p class="normal">Now let’s <a id="_idIndexMarker312"></a>see the same code using the <code class="inlineCode">decimal</code> number type:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Copy and paste the statements that you wrote before (which used the <code class="inlineCode">double</code> variables).</li> <li class="numberedList">Modify the statements to use <code class="inlineCode">decimal</code> and rename the variables to <code class="inlineCode">c</code> and <code class="inlineCode">d</code>, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">Console.WriteLine(<span class="hljs-string">"Using decimals:"</span>); <span class="hljs-built_in">decimal</span> c = <span class="hljs-number">0.1</span>M; <span class="hljs-comment">// M suffix means a decimal literal value</span> <span class="hljs-built_in">decimal</span> d = <span class="hljs-number">0.2</span>M; <span class="hljs-keyword">if</span> (c + d == <span class="hljs-number">0.3</span>M) { Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{c}</span><span class="hljs-string"> + </span><span class="hljs-subst">{d}</span><span class="hljs-string"> equals </span><span class="hljs-subst">{</span><span class="hljs-number">0.3</span><span class="hljs-subst">M}</span><span class="hljs-string">"</span>); } <span class="hljs-keyword">else</span> { Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{c}</span><span class="hljs-string"> + </span><span class="hljs-subst">{d}</span><span class="hljs-string"> does NOT equal </span><span class="hljs-subst">{</span><span class="hljs-number">0.3</span><span class="hljs-subst">M}</span><span class="hljs-string">"</span>); } </code></pre> </li> <li class="numberedList">Run the code and view the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Using decimals: 0.1 + 0.2 equals 0.3 </code></pre> </li> </ol> <p class="normal">The <code class="inlineCode">decimal</code> type is accurate because it stores the number as a large integer and shifts the decimal point. For example, <code class="inlineCode">0.1</code> is stored as <code class="inlineCode">1</code>, with a note to shift the decimal point one place to the left. <code class="inlineCode">12.75</code> is stored as <code class="inlineCode">1275</code>, with a note to shift the decimal point two places to the left.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Use <code class="inlineCode">int</code> for whole numbers. Use <code class="inlineCode">double</code> for real numbers that will not be compared for equality to other values; it is okay to compare <code class="inlineCode">double</code> values being less than or greater than, and so on. Use <code class="inlineCode">decimal</code> for money, CAD drawings, general engineering, and wherever the accuracy of a real number is important.</p> </div> <p class="normal">The <code class="inlineCode">float</code> and <code class="inlineCode">double</code> types <a id="_idIndexMarker313"></a>have some useful special values: <code class="inlineCode">NaN</code> represents not-a-number (for example, the result of dividing by zero), <code class="inlineCode">Epsilon</code> represents the smallest positive number that can be stored in a <code class="inlineCode">float</code> or <code class="inlineCode">double</code>, and <code class="inlineCode">PositiveInfinity</code> and <code class="inlineCode">NegativeInfinity</code> represent infinitely large positive and negative values. They also have methods for checking for these special values like <code class="inlineCode">IsInfinity</code> and <code class="inlineCode">IsNaN</code>.</p> <h3 id="_idParaDest-136" class="heading-3">New number types and unsafe code</h3> <p class="normal">The <code class="inlineCode">System.Half</code> type was introduced in .NET 5. Like <code class="inlineCode">float</code> and <code class="inlineCode">double</code>, it can store real numbers. It normally uses two bytes of memory. The <code class="inlineCode">System.Int128</code> and <code class="inlineCode">System.UInt128</code> types were introduced in .NET 7. Like <code class="inlineCode">int</code> and <code class="inlineCode">uint</code>, they can store signed (positive and negative) and unsigned (only zero and positive) integer values. They normally use 16 bytes of memory.</p> <p class="normal">For <a id="_idIndexMarker314"></a>these new number types, the <code class="inlineCode">sizeof</code> operator <a id="_idIndexMarker315"></a>only works in an unsafe code block, and you must compile the project using an option to enable unsafe code. Let’s explore how this works:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">In <code class="inlineCode">Program.cs</code>, at the bottom of the file, type statements to show the size of the <code class="inlineCode">Half</code> and <code class="inlineCode">Int128</code> number data types, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">unsafe</span> { Console.WriteLine(<span class="hljs-string">$"Half uses </span><span class="hljs-subst">{</span><span class="hljs-keyword">sizeof</span><span class="hljs-subst">(Half)}</span><span class="hljs-string"> bytes and can store numbers in the range </span><span class="hljs-subst">{Half.MinValue:N0}</span><span class="hljs-string"> to </span><span class="hljs-subst">{Half.MaxValue:N0}</span><span class="hljs-string">."</span>); Console.WriteLine(<span class="hljs-string">$"Int128 uses </span><span class="hljs-subst">{</span><span class="hljs-keyword">sizeof</span><span class="hljs-subst">(Int128)}</span><span class="hljs-string"> bytes and can store numbers in the range </span><span class="hljs-subst">{Int128.MinValue:N0}</span><span class="hljs-string"> to </span><span class="hljs-subst">{Int128.MaxValue:N0}</span><span class="hljs-string">."</span>); } </code></pre> </li> <li class="numberedList">In <code class="inlineCode">Numbers.csproj</code>, add an element to enable unsafe code, as shown highlighted in the following markup: <pre class="programlisting code"><code class="hljs-code"><PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8<span class="hljs-number">.0</span></TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <span class="code-highlight"><strong class="hljs-slc"> <AllowUnsafeBlocks>True</AllowUnsafeBlocks></strong></span> </PropertyGroup> </code></pre> </li> <li class="numberedList">Run <a id="_idIndexMarker316"></a>the <code class="inlineCode">Numbers</code> project <a id="_idIndexMarker317"></a>and note the sizes of the two new number types, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Half uses 2 bytes and can store numbers in the range -65,504 to 65,504. Int128 uses 16 bytes and can store numbers in the range -170,141,183,460,469,231,731,687,303,715,884,105,728 to 170,141,183,460,469,231,731,687,303,715,884,105,727. </code></pre> </li> </ol> <div class="note"> <p class="normal"><strong class="keyWord">More Information</strong>: The <code class="inlineCode">sizeof</code> operator <a id="_idIndexMarker318"></a>requires an unsafe code block except for the commonly used types like <code class="inlineCode">int</code> and <code class="inlineCode">byte</code>. You can learn more about <code class="inlineCode">sizeof</code> at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/sizeof" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/sizeof</span></a>. Unsafe code cannot have its safety verified. You can learn more about unsafe code blocks at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code</span></a>.</p> </div> <h2 id="_idParaDest-137" class="heading-2">Storing Booleans</h2> <p class="normal">Booleans <a id="_idIndexMarker319"></a>can <a id="_idIndexMarker320"></a>only contain one of the two literal values <code class="inlineCode">true</code> or <code class="inlineCode">false</code>, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">bool</span> happy = <span class="hljs-literal">true</span>; <span class="hljs-built_in">bool</span> sad = <span class="hljs-literal">false</span>; </code></pre> <p class="normal">They are most used to branch and loop. You don’t need to fully understand them yet, as they are covered more in <em class="chapterRef">Chapter 3</em>, <em class="italic">Controlling Flow, Converting Types, and Handling Exceptions</em>.</p> <h2 id="_idParaDest-138" class="heading-2">Storing any type of object</h2> <p class="normal">There<a id="_idIndexMarker321"></a> is a special type named <code class="inlineCode">object</code> that can store any type of data, but its flexibility comes at the cost of messier code and possibly poor performance. Because <a id="_idIndexMarker322"></a>of those two reasons, you should avoid it whenever possible. The following steps show you how to use object types if you need to use them because you must use a Microsoft or third-party library that uses them:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Use your preferred code editor to add a new <strong class="screenText">Console App</strong> / <code class="inlineCode">console</code> project named <code class="inlineCode">Variables</code> to the <code class="inlineCode">Chapter02</code> solution.</li> <li class="numberedList">In <code class="inlineCode">Program.cs</code>, delete the existing statements and then type statements to declare and use some variables using the <code class="inlineCode">object</code> type, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">object</span> height = <span class="hljs-number">1.88</span>; <span class="hljs-comment">// Storing a double in an object.</span> <span class="hljs-built_in">object</span> name = <span class="hljs-string">"Amir"</span>; <span class="hljs-comment">// Storing a string in an object.</span> Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{name}</span><span class="hljs-string"> is </span><span class="hljs-subst">{height}</span><span class="hljs-string"> metres tall."</span>); <span class="hljs-built_in">int</span> length1 = name.Length; <span class="hljs-comment">// This gives a compile error!</span> <span class="hljs-built_in">int</span> length2 = ((<span class="hljs-built_in">string</span>)name).Length; <span class="hljs-comment">// Cast name to a string.</span> Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{name}</span><span class="hljs-string"> has </span><span class="hljs-subst">{length2}</span><span class="hljs-string"> characters."</span>); </code></pre> </li> <li class="numberedList">Run the code and note that the fourth statement cannot compile because the data type of the <code class="inlineCode">name</code> variable is not known by the compiler, as shown in <em class="italic">Figure 2.8</em>:</li> </ol> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_08.png" alt="Graphical user interface, text, application, email Description automatically generated"></figure> <p class="packt_figref">Figure 2.8: The object type does not have a Length property</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="4">Add double slashes to the beginning of the statement that cannot compile to comment out the statement, making it inactive.</li> <li class="numberedList">Run<a id="_idIndexMarker323"></a> the code again and note that the compiler can access the <code class="inlineCode">length</code> of a <code class="inlineCode">string</code> if the programmer explicitly tells the compiler that the <code class="inlineCode">object</code> variable contains a <code class="inlineCode">string</code> by prefixing the <code class="inlineCode">name</code> variable with a cast expression like <code class="inlineCode">(string)name</code>. The results can then successfully be written to the console, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Amir is 1.88 meters tall. Amir has 4 characters. </code></pre> </li> </ol> <p class="normal">You will learn about cast expressions in <em class="chapterRef">Chapter 3</em>, <em class="italic">Controlling Flow, Converting Types, and Handling Exceptions</em>.</p> <p class="normal">The <code class="inlineCode">object</code> type has been available since the first version of C#, but C# 2 and later have a better alternative<a id="_idIndexMarker324"></a> called <strong class="keyWord">generics</strong>, which we will cover in <em class="chapterRef">Chapter 6</em>, <em class="italic">Implementing Interfaces and Inheriting Classes</em>. This will provide us with the flexibility we want but without the performance overhead.</p> <h2 id="_idParaDest-139" class="heading-2">Storing dynamic types</h2> <p class="normal">There is <a id="_idIndexMarker325"></a>another special type named <code class="inlineCode">dynamic</code> that can also store any type of data, but even more than <code class="inlineCode">object</code>, its flexibility comes at the cost of performance. The <code class="inlineCode">dynamic</code> keyword was introduced in C# 4. However, unlike <code class="inlineCode">object</code>, the value stored in the variable can have its members invoked without an explicit cast. Let’s make use of a <code class="inlineCode">dynamic</code> type:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Add statements to declare a <code class="inlineCode">dynamic</code> variable. Assign a <code class="inlineCode">string</code> literal value, and then an integer value, and then an array of integer values. Finally, add a statement to output the length of the <code class="inlineCode">dynamic</code> variable, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">dynamic</span> something; <span class="hljs-comment">// Storing an array of int values in a dynamic object.</span> <span class="hljs-comment">// An array of any type has a Length property.</span> something = <span class="hljs-keyword">new</span>[] { <span class="hljs-number">3</span>, <span class="hljs-number">5</span>, <span class="hljs-number">7</span> }; <span class="hljs-comment">// Storing an int in a dynamic object.</span> <span class="hljs-comment">// int does not have a Length property.</span> something = <span class="hljs-number">12</span>; <span class="hljs-comment">// Storing a string in a dynamic object.</span> <span class="hljs-comment">// string has a Length property.</span> something = <span class="hljs-string">"Ahmed"</span>; <span class="hljs-comment">// This compiles but might throw an exception at run-time.</span> Console.WriteLine(<span class="hljs-string">$"The length of something is </span><span class="hljs-subst">{something.Length}</span><span class="hljs-string">"</span>); <span class="hljs-comment">// Output the type of the something variable.</span> Console.WriteLine(<span class="hljs-string">$"something is a </span><span class="hljs-subst">{something.GetType()}</span><span class="hljs-string">"</span>); </code></pre> <div class="note"> <p class="normal">You will learn about arrays in <em class="chapterRef">Chapter 3</em>, <em class="chapterRef">Controlling Flow, Converting Types, and Handling Exceptions</em>.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="2">Run the <a id="_idIndexMarker326"></a>code and note it works because the last value assigned to something was a <code class="inlineCode">string</code> value which does have a <code class="inlineCode">Length</code> property, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">The length of something is 5 something is a System.String </code></pre> </li> <li class="numberedList">Comment out the statement that assigns a <code class="inlineCode">string</code> value to the <code class="inlineCode">something</code> variable by prefixing the statement with two slashes <code class="inlineCode">//</code>.</li> <li class="numberedList">Run the code and note the runtime error because the last value assigned to <code class="inlineCode">something</code> is an <code class="inlineCode">int</code> that does not have a <code class="inlineCode">Length</code> property, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Unhandled exception. Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'int' does not contain a definition for 'Length' </code></pre> </li> <li class="numberedList">Comment out the statement that assigns an <code class="inlineCode">int</code> to the <code class="inlineCode">something</code> variable.</li> <li class="numberedList">Run the code and note the output because an array of three <code class="inlineCode">int</code> values does have a <code class="inlineCode">Length</code> property, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">The length of something is 3 something is a System.Int32[] </code></pre> </li> </ol> <p class="normal">One limitation of <code class="inlineCode">dynamic</code> is that code editors cannot show IntelliSense to help you write the code. This is because the compiler cannot check what the type is during build time. Instead, the CLR checks for the member at runtime and throws an exception if it is missing.</p> <p class="normal">Exceptions are a <a id="_idIndexMarker327"></a>way to indicate that something has gone wrong at runtime. You will learn more about them and how to handle them in <em class="chapterRef">Chapter 3</em>, <em class="italic">Controlling Flow, Converting Types, and Handling Exceptions</em>.</p> <p class="normal">Dynamic types are most useful when interoperating with non-.NET systems. For example, you might need to work with a class library written in F#, Python, or some JavaScript. You might also need to interop with <a id="_idIndexMarker328"></a>technologies like the <strong class="keyWord">Component Object Model</strong> (<strong class="keyWord">COM</strong>), for example, when automating Excel or Word.</p> <h2 id="_idParaDest-140" class="heading-2">Declaring local variables</h2> <p class="normal">Local variables<a id="_idIndexMarker329"></a> are declared inside methods, and they only exist during the execution of that method. Once the method returns, the memory allocated to any local variables is released.</p> <p class="normal">Strictly speaking, value<a id="_idIndexMarker330"></a> types are released while reference types must wait for garbage collection. You will learn about the difference between value types and reference types and how to make sure that only one garbage collection is needed rather than two when releasing unmanaged resources in <em class="chapterRef">Chapter 6</em>, <em class="italic">Implementing Interfaces and Inheriting Classes</em>.</p> <h3 id="_idParaDest-141" class="heading-3">Specifying the type of a local variable</h3> <p class="normal">Let’s explore<a id="_idIndexMarker331"></a> local variables declared with specific types and using type inference:</p> <ul> <li class="bulletList">Type statements to declare and assign values to some local variables using specific types, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">int</span> population = <span class="hljs-number">67</span>_000_000; <span class="hljs-comment">// 67 million in UK.</span> <span class="hljs-built_in">double</span> weight = <span class="hljs-number">1.88</span>; <span class="hljs-comment">// in kilograms.</span> <span class="hljs-built_in">decimal</span> price = <span class="hljs-number">4.99</span>M; <span class="hljs-comment">// in pounds sterling.</span> <span class="hljs-built_in">string</span> fruit = <span class="hljs-string">"</span><span class="hljs-string">Apples"</span>; <span class="hljs-comment">// string values use double-quotes.</span> <span class="hljs-built_in">char</span> letter = <span class="hljs-string">'Z'</span>; <span class="hljs-comment">// char values use single-quotes.</span> <span class="hljs-built_in">bool</span> happy = <span class="hljs-literal">true</span>; <span class="hljs-comment">// Booleans can only be true or false.</span> </code></pre> </li> </ul> <p class="normal">Depending on your code editor and color scheme, it will show green squiggles under each of the <a id="_idIndexMarker332"></a>variable names and lighten their text color to warn you that the variable is assigned but its value is never used.</p> <h3 id="_idParaDest-142" class="heading-3">Inferring the type of a local variable</h3> <p class="normal">You can <a id="_idIndexMarker333"></a>use the <code class="inlineCode">var</code> keyword to declare local variables with C# 3 and later. The compiler will infer the type from the value that you assign after the assignment operator, <code class="inlineCode">=</code>. This happens at compile time so using <code class="inlineCode">var</code> has no effect on runtime performance.</p> <p class="normal">A literal number without a decimal point is inferred as an <code class="inlineCode">int</code> variable, that is, unless you add a suffix, as described in the following list:</p> <ul> <li class="bulletList"><code class="inlineCode">L</code>: Compiler infers <code class="inlineCode">long</code></li> <li class="bulletList"><code class="inlineCode">UL</code>: Compiler infers <code class="inlineCode">ulong</code></li> <li class="bulletList"><code class="inlineCode">M</code>: Compiler infers <code class="inlineCode">decimal</code></li> <li class="bulletList"><code class="inlineCode">D</code>: Compiler infers <code class="inlineCode">double</code></li> <li class="bulletList"><code class="inlineCode">F</code>: Compiler infers <code class="inlineCode">float</code></li> </ul> <p class="normal">A literal number with a decimal point is inferred as <code class="inlineCode">double</code> unless you add the <code class="inlineCode">M</code> suffix, in which case the compiler infers a <code class="inlineCode">decimal</code> variable, or the <code class="inlineCode">F</code> suffix, in which case it infers a <code class="inlineCode">float</code> variable.</p> <p class="normal">Double quotes indicate a <code class="inlineCode">string</code> variable, single quotes indicate a <code class="inlineCode">char</code> variable, and the <code class="inlineCode">true</code> and <code class="inlineCode">false</code> values infer a <code class="inlineCode">bool</code> type:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Modify the previous statements to use <code class="inlineCode">var</code>, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">var</span> population = <span class="hljs-number">67</span>_000_000; <span class="hljs-comment">// 67 million in UK.</span> <span class="hljs-keyword">var</span> weight = <span class="hljs-number">1.88</span>; <span class="hljs-comment">// in kilograms.</span> <span class="hljs-keyword">var</span> price = <span class="hljs-number">4.99</span>M; <span class="hljs-comment">// in pounds sterling.</span> <span class="hljs-keyword">var</span> fruit = <span class="hljs-string">"Apples"</span>; <span class="hljs-comment">// string values use double-quotes.</span> <span class="hljs-keyword">var</span> letter = <span class="hljs-string">'Z'</span>; <span class="hljs-comment">// char values use single-quotes.</span> <span class="hljs-keyword">var</span> happy = <span class="hljs-literal">true</span>; <span class="hljs-comment">// Booleans can only be true or false.</span> </code></pre> </li> <li class="numberedList">Hover your mouse over each of the <code class="inlineCode">var</code> keywords and note that your code editor shows a tooltip with information about the type that has been inferred.</li> <li class="numberedList">At the top of <code class="inlineCode">Program.cs</code>, import the namespace for working with XML to enable us to declare some variables using types in that namespace, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">using</span> System.Xml; <span class="hljs-comment">// To use XmlDocument.</span> </code></pre> </li> <li class="numberedList">At the bottom of <code class="inlineCode">Program.cs</code>, add statements to create some new objects, as <a id="_idIndexMarker334"></a>shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// Good use of var because it avoids the repeated type</span> <span class="hljs-comment">// as shown in the more verbose second statement.</span> <span class="hljs-keyword">var</span> xml1 = <span class="hljs-keyword">new</span> XmlDocument(); <span class="hljs-comment">// Works with C# 3 and later.</span> XmlDocument xml2 = <span class="hljs-keyword">new</span> XmlDocument(); <span class="hljs-comment">// Works with all C# versions.</span> <span class="hljs-comment">// Bad use of var because we cannot tell the type, so we</span> <span class="hljs-comment">// should use a specific type declaration as shown in</span> <span class="hljs-comment">// the second statement.</span> <span class="hljs-keyword">var</span> file1 = File.CreateText(<span class="hljs-string">"something1.txt"</span>); StreamWriter file2 = File.CreateText(<span class="hljs-string">"something2.txt"</span>); </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Although using <code class="inlineCode">var</code> is convenient, some developers avoid using it to make it easier for a code reader to understand the types in use. Personally, I use it only when the type is obvious. For example, in the preceding code statements, the first statement is just as clear as the second in stating what the types of the <code class="inlineCode">xml</code> variables are, but it is shorter. However, the third statement isn’t clear in showing the type of the <code class="inlineCode">file</code> variable, so the fourth is better because it shows that the type is <code class="inlineCode">StreamWriter</code>. If in doubt, spell it out!</p> </div> </li> </ol> <h3 id="_idParaDest-143" class="heading-3">Using target-typed new to instantiate objects</h3> <p class="normal">With C# 9, Microsoft introduced<a id="_idIndexMarker335"></a> another syntax for instantiating objects, known as <strong class="keyWord">target-typed new</strong>. When instantiating an object, you can specify the type first and then use <code class="inlineCode">new</code> without repeating the type, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code">XmlDocument xml3 = <span class="hljs-keyword">new</span>(); <span class="hljs-comment">// Target-typed new in C# 9 or later.</span> </code></pre> <p class="normal">If you have a type with a field or property that needs to be set, then the type can be inferred, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// In Program.cs.</span> Person kim = <span class="hljs-keyword">new</span>(); kim.BirthDate = <span class="hljs-keyword">new</span>(<span class="hljs-number">1967</span>, <span class="hljs-number">12</span>, <span class="hljs-number">26</span>); <span class="hljs-comment">// i.e. new DateTime(1967, 12, 26)</span> <span class="hljs-comment">// In a separate Person.cs file or at the bottom of Program.cs.</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Person</span> { <span class="hljs-keyword">public</span> DateTime BirthDate; } </code></pre> <p class="normal">This way <a id="_idIndexMarker336"></a>of instantiating objects is especially useful with arrays and collections because they have multiple objects, often of the same type, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code">List<Person> people = <span class="hljs-keyword">new</span>() <span class="hljs-comment">// Instead of: new List<Person>()</span> { <span class="hljs-keyword">new</span>() { FirstName = <span class="hljs-string">"Alice"</span> }, <span class="hljs-comment">// Instead of: new Person() { ... }</span> <span class="hljs-keyword">new</span>() { FirstName = <span class="hljs-string">"Bob"</span> }, <span class="hljs-keyword">new</span>() { FirstName = <span class="hljs-string">"Charlie"</span> } }; </code></pre> <p class="normal">You will learn about arrays in <em class="chapterRef">Chapter 3</em>, <em class="italic">Controlling Flow, Converting Types, and Handling Exceptions</em>, and collections in <em class="chapterRef">Chapter 8</em>,<em class="chapterRef"> </em><em class="italic">Working with Common .NET Types</em>.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Use target-typed new to instantiate objects because it requires fewer characters, when reading a statement from left to right, as in English, you immediately know the type of the variable, and it is not limited to local variables like <code class="inlineCode">var</code> is. IMHO, the only reason not to use target-typed new is if you must use a pre-version 9 C# compiler. I do acknowledge that my opinion is not accepted by the whole C# community. I have used target-typed new throughout the remainder of this book. Please let me know if you spot any cases that I missed!</p> </div> <h2 id="_idParaDest-144" class="heading-2">Getting and setting the default values for types</h2> <p class="normal">Most of the <a id="_idIndexMarker337"></a>primitive types except <code class="inlineCode">string</code> are <strong class="keyWord">value types</strong>, which means that they must have a value. You can determine the default value of a type by using the <code class="inlineCode">default()</code> operator and passing the type as a parameter. You can assign the default value of a type by using the <code class="inlineCode">default</code> keyword.</p> <p class="normal">The <code class="inlineCode">string</code> type <a id="_idIndexMarker338"></a>is a <strong class="keyWord">reference type</strong>. This means that <code class="inlineCode">string</code> variables contain the memory address of a value, not the value itself. A reference type variable can have a <code class="inlineCode">null</code> value, which is a literal that indicates that the variable does not reference anything (yet). <code class="inlineCode">null</code> is the default for all reference types.</p> <p class="normal">You’ll learn more about value types and reference types in <em class="chapterRef">Chapter 6</em>, <em class="chapterRef">Implementing Interfaces and Inheriting Classes</em>.</p> <p class="normal">Let’s explore<a id="_idIndexMarker339"></a> default values:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Add statements to show the default values of an <code class="inlineCode">int</code>, a <code class="inlineCode">bool</code>, a <code class="inlineCode">DateTime</code>, and a <code class="inlineCode">string</code>, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">Console.WriteLine(<span class="hljs-string">$"default(int) = </span><span class="hljs-subst">{</span><span class="hljs-literal">default</span><span class="hljs-subst">(</span><span class="hljs-built_in">int</span><span class="hljs-subst">)}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"default(bool) = </span><span class="hljs-subst">{</span><span class="hljs-literal">default</span><span class="hljs-subst">(</span><span class="hljs-built_in">bool</span><span class="hljs-subst">)}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"default(DateTime) = </span><span class="hljs-subst">{</span><span class="hljs-literal">default</span><span class="hljs-subst">(DateTime)}</span><span class="hljs-string">"</span>); Console.WriteLine(<span class="hljs-string">$"default(string) = </span><span class="hljs-subst">{</span><span class="hljs-literal">default</span><span class="hljs-subst">(</span><span class="hljs-built_in">string</span><span class="hljs-subst">)}</span><span class="hljs-string">"</span>); </code></pre> </li> <li class="numberedList">Run the code and view the result. Note that your output for the date and time might be formatted differently if you are not running it in the UK because date and time values are formatted using the current culture of your computer, and that <code class="inlineCode">null</code> values output as an empty <code class="inlineCode">string</code>, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">default(int) = 0 default(bool) = False default(DateTime) = 01/01/0001 00:00:00 default(string) = </code></pre> </li> <li class="numberedList">Add statements to declare a number, assign a value, and then reset it to its default value, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">int</span> number = <span class="hljs-number">13</span>; Console.WriteLine(<span class="hljs-string">$"number set to: </span><span class="hljs-subst">{number}</span><span class="hljs-string">"</span>); number = <span class="hljs-literal">default</span>; Console.WriteLine(<span class="hljs-string">$"number reset to its default: </span><span class="hljs-subst">{number}</span><span class="hljs-string">"</span>); </code></pre> </li> <li class="numberedList">Run the code and view the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">number set to: 13 number reset to its default: 0 </code></pre> </li> </ol> </div> </div> </div> <div class="slider-item d-none " data-slider-item=6> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-145" class="heading-1">Exploring more about console apps</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">We have<a id="_idIndexMarker340"></a> already created and used basic console apps, but we’re now at a stage where we should delve into them more deeply.</p> <p class="normal">Console apps are text-based and are run at the command prompt. They typically perform simple tasks that need to be scripted, such as compiling a file or encrypting a section of a<a id="_idIndexMarker341"></a> configuration file.</p> <p class="normal">Equally, they can also have arguments passed to them to control their behavior.</p> <p class="normal">An example of this would be to create a new console app using the F# language with a specified name instead of using the name of the current folder, as shown in the following command:</p> <pre class="programlisting con"><code class="hljs-con">dotnet new console -lang "F#" --name "ExploringConsole" </code></pre> <h2 id="_idParaDest-146" class="heading-2">Displaying output to the user</h2> <p class="normal">The <a id="_idIndexMarker342"></a>two most common tasks that a console app performs<a id="_idIndexMarker343"></a> are writing and reading data. We have already used the <code class="inlineCode">WriteLine</code> method to output, but if we didn’t want a carriage return at the end of a line, for example, if we later wanted to continue to write more text at the end of that line, we could have used the <code class="inlineCode">Write</code> method.</p> <p class="normal">If you want to write three letters to the console without carriage returns after them, then call the <code class="inlineCode">Write</code> method, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code">Write(<span class="hljs-string">"A"</span>); Write(<span class="hljs-string">"B"</span>); Write(<span class="hljs-string">"C"</span>); </code></pre> <p class="normal">This would write the three characters on a single line and leave the cursor at the end of the line, as shown in the following output:</p> <pre class="programlisting con"><code class="hljs-con">ABC </code></pre> <p class="normal">If you want to write three letters to the console with carriage returns after them, then call the <code class="inlineCode">WriteLine</code> method, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code">WriteLine(<span class="hljs-string">"A"</span>); WriteLine(<span class="hljs-string">"B"</span>); WriteLine(<span class="hljs-string">"C"</span>); </code></pre> <p class="normal">This would write three lines and leave the cursor on the fourth line:</p> <pre class="programlisting con"><code class="hljs-con">A B C </code></pre> <h3 id="_idParaDest-147" class="heading-3">Formatting using numbered positional arguments</h3> <p class="normal">One<a id="_idIndexMarker344"></a> way of generating formatted strings is to use numbered positional arguments.</p> <p class="normal">This <a id="_idIndexMarker345"></a>feature is supported by methods like <code class="inlineCode">Write</code> and <code class="inlineCode">WriteLine</code>. For methods that do not support the feature, the <code class="inlineCode">string</code> parameter can be formatted using the <code class="inlineCode">Format</code> method of <code class="inlineCode">string</code>.</p> <p class="normal">Let’s begin formatting:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Use your preferred code editor to add a new <strong class="screenText">Console App</strong> / <code class="inlineCode">console</code> project named <code class="inlineCode">Formatting</code> to the <code class="inlineCode">Chapter02</code> solution.</li> <li class="numberedList">In <code class="inlineCode">Program.cs</code>, delete the existing statements and then type statements to declare some number variables and write them to the console, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">int</span> numberOfApples = <span class="hljs-number">12</span>; <span class="hljs-built_in">decimal</span> pricePerApple = <span class="hljs-number">0.35</span>M; Console.WriteLine( format: <span class="hljs-string">"{0} apples cost {1:C}"</span>, arg0: numberOfApples, arg1: pricePerApple * numberOfApples); <span class="hljs-built_in">string</span> formatted = <span class="hljs-built_in">string</span>.Format( format: <span class="hljs-string">"</span><span class="hljs-string">{0} apples cost {1:C}"</span>, arg0: numberOfApples, arg1: pricePerApple * numberOfApples); <span class="hljs-comment">//WriteToFile(formatted); // Writes the string into a file.</span> </code></pre> <div class="note"> <p class="normal">The <code class="inlineCode">WriteToFile</code> method is a nonexistent method used to illustrate the idea.</p> </div> <p class="normal">The <code class="inlineCode">Write</code>, <code class="inlineCode">WriteLine</code>, and <code class="inlineCode">Format</code> methods can have up to three numbered arguments, named <code class="inlineCode">arg0</code>, <code class="inlineCode">arg1</code>, and <code class="inlineCode">arg2</code>. If you need to pass more than three values, then you cannot name them.</p> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">In <code class="inlineCode">Program.cs</code>, type statements to write three and then five arguments to the console, as<a id="_idIndexMarker346"></a> shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// Three parameter values can use named arguments.</span> Console.WriteLine(<span class="hljs-string">"{0} {1} lived in {2}."</span>, arg0: <span class="hljs-string">"Roger"</span>, arg1: <span class="hljs-string">"Cevung"</span>, arg2: <span class="hljs-string">"Stockholm"</span>); <span class="hljs-comment">// Four or more parameter values cannot use named arguments.</span> Console.WriteLine( <span class="hljs-string">"{0} {1} lived in {2} and worked in the {3} team at {4}."</span>, <span class="hljs-string">"Roger"</span>, <span class="hljs-string">"Cevung"</span>, <span class="hljs-string">"Stockholm"</span>, <span class="hljs-string">"Education"</span>, <span class="hljs-string">"Optimizely"</span>); </code></pre> </li> </ol> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Once you become more comfortable with formatting strings, you should stop naming the parameters, for example, stop using <code class="inlineCode">format:</code>, <code class="inlineCode">arg0:</code>, and <code class="inlineCode">arg1:</code>. The preceding code uses a non-canonical style to show where the <code class="inlineCode">0</code> and <code class="inlineCode">1</code> came from while you are learning.</p> </div> <h3 id="_idParaDest-148" class="heading-3">JetBrains Rider and its warnings about boxing</h3> <p class="normal">If you use <a id="_idIndexMarker347"></a>JetBrains Rider and you have <a id="_idIndexMarker348"></a>installed the Unity Support plugin, then it will complain a lot about boxing. A common scenario when boxing happens is when value types like <code class="inlineCode">int</code> and <code class="inlineCode">DateTime</code> are passed as positional arguments to <code class="inlineCode">string</code> formats. This is a problem for Unity projects because they use a different memory garbage collector to the normal .NET runtime. For non-Unity projects, like all the projects in this book, you can ignore these boxing warnings because they are not relevant. You can read more about this Unity-specific issue at the following link: <a href="https://docs.unity3d.com/Manual/performance-garbage-collection-best-practices.html#boxing" target="_blank"><span class="url">https://docs.unity3d.com/Manual/performance-garbage-collection-best-practices.html#boxing</span></a>.</p> <h3 id="_idParaDest-149" class="heading-3">Formatting using interpolated strings</h3> <p class="normal">C# 6 and <a id="_idIndexMarker349"></a>later have a handy feature <a id="_idIndexMarker350"></a>named <strong class="keyWord">interpolated strings</strong>. A <code class="inlineCode">string</code> prefixed<a id="_idIndexMarker351"></a> with <code class="inlineCode">$</code> can use curly braces around the name of a variable or expression to output the current value of that variable or expression at that position in the <code class="inlineCode">string</code>, as the following shows:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Enter a statement at the bottom of the <code class="inlineCode">Program.cs</code> file, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-comment">// The following statement must be all on one line when using C# 10</span> <span class="hljs-comment">// or earlier. If using C# 11 or later, we can include a line break</span> <span class="hljs-comment">// in the middle of an expression but not in the string text.</span> Console.WriteLine(<span class="hljs-string">$"</span><span class="hljs-subst">{numberOfApples}</span><span class="hljs-string"> apples cost </span><span class="hljs-subst">{pricePerApple </span> <span class="hljs-subst"> * numberOfApples:C}</span><span class="hljs-string">"</span>); </code></pre> </li> <li class="numberedList">Run the code and view the result, as shown in the following partial output: <pre class="programlisting con"><code class="hljs-con">12 apples cost £4.20 </code></pre> </li> </ol> <p class="normal">For <a id="_idIndexMarker352"></a>short, formatted <code class="inlineCode">string</code> values, an interpolated <code class="inlineCode">string</code> can be easier for people to read. But for<a id="_idIndexMarker353"></a> code examples in a book, where statements need to wrap over multiple lines, this can be tricky. For many of the code examples in this book, I will use numbered positional arguments. Another reason to avoid interpolated strings is that they can’t be read from resource files to be localized.</p> <p class="normal">The next code example is not meant to be entered in your project.</p> <p class="normal">Before C# 10, <code class="inlineCode">string</code> constants could only be combined by using concatenation with the <code class="inlineCode">+</code> operator, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">private</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">string</span> firstname = <span class="hljs-string">"Omar"</span>; <span class="hljs-keyword">private</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">string</span> lastname = <span class="hljs-string">"</span><span class="hljs-string">Rudberg"</span>; <span class="hljs-keyword">private</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">string</span> fullname = firstname + <span class="hljs-string">" "</span> + lastname; </code></pre> <p class="normal">With C# 10, interpolated strings (prefixed with <code class="inlineCode">$</code>) can now be used, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">private</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">string</span> fullname = <span class="hljs-string">$"</span><span class="hljs-subst">{firstname}</span><span class="hljs-string"> </span><span class="hljs-subst">{lastname}</span><span class="hljs-string">"</span>; </code></pre> <p class="normal">This only works for combining <code class="inlineCode">string</code> constant values. It cannot work with other types like numbers, which would require runtime data type conversions. You cannot enter <code class="inlineCode">private const</code> declarations in a top-level program like <code class="inlineCode">Program.cs</code>. You will see how to use them in <em class="chapterRef">Chapter 5</em>, <em class="italic">Building Your Own Types with Object-Oriented Programming</em>.</p> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: If you are writing code that will be part of a Unity project, then interpolated string formats is an easy way to avoid boxing.</p> </div> <h3 id="_idParaDest-150" class="heading-3">Understanding format strings</h3> <p class="normal">A <a id="_idIndexMarker354"></a>variable or expression <a id="_idIndexMarker355"></a>can be formatted using a format string after a comma or colon.</p> <p class="normal">An <code class="inlineCode">N0</code> format string<a id="_idIndexMarker356"></a> means a number with thousand separators and no decimal places, while a <code class="inlineCode">C</code> format string means currency. The currency format will be determined by the current thread.</p> <p class="normal">For instance, if you run code that uses the number or currency format on a PC in the UK, you’ll get pounds sterling with commas as the thousand separators, but if you run it on a PC in Germany, you will get euros with dots as the thousand separators.</p> <p class="normal">The full syntax of a format item is:</p> <pre class="programlisting code"><code class="hljs-code">{ index [, alignment ] [ : formatString ] } </code></pre> <p class="normal">Each format item can have an alignment, which is useful when outputting tables of values, some of which might need to be left- or right-aligned within a width of characters. Alignment values are integers. Positive integers mean right-aligned and negative integers mean left-aligned.</p> <p class="normal">For example, to output a table of fruit and how many of each there are, we might want to left-align the names within a column of 10 characters and right-align the counts formatted as numbers with zero decimal places within a column of six characters:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">At the bottom of <code class="inlineCode">Program.cs</code>, enter the following statements: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> applesText = <span class="hljs-string">"Apples"</span>; <span class="hljs-built_in">int</span> applesCount = <span class="hljs-number">1234</span>; <span class="hljs-built_in">string</span> bananasText = <span class="hljs-string">"Bananas"</span>; <span class="hljs-built_in">int</span> bananasCount = <span class="hljs-number">56789</span>; Console.WriteLine(); Console.WriteLine(format: <span class="hljs-string">"{0,-10} {1,6}"</span>, arg0: <span class="hljs-string">"Name"</span>, arg1: <span class="hljs-string">"Count"</span>); Console.WriteLine(format: <span class="hljs-string">"{0,-10} {1,6:N0}"</span>, arg0: applesText, arg1: applesCount); Console.WriteLine(format: <span class="hljs-string">"{0,-10} {1,6:N0}"</span>, arg0: bananasText, arg1: bananasCount); </code></pre> </li> <li class="numberedList">Run <a id="_idIndexMarker357"></a>the code <a id="_idIndexMarker358"></a>and note the effect of the alignment and number format, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Name Count Apples 1,234 Bananas 56,789 </code></pre> </li> </ol> <h3 id="_idParaDest-151" class="heading-3">Custom number formatting</h3> <p class="normal">You can <a id="_idIndexMarker359"></a>take complete control of number<a id="_idIndexMarker360"></a> formatting using custom format codes, as shown in <em class="italic">Table 2.8</em>:</p> <table id="table008" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">Format code</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Description</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">0</code></p> </td> <td class="table-cell"> <p class="normal">Zero placeholder. Replaces the zero with the corresponding digit if present; otherwise, it uses zero. For example, <code class="inlineCode">0000.00</code> formatting the value <code class="inlineCode">123.4</code> would give <code class="inlineCode">0123.40</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">#</code></p> </td> <td class="table-cell"> <p class="normal">Digit placeholder. Replaces the hash with the corresponding digit if present; otherwise, it uses nothing. For example, <code class="inlineCode">####.##</code> formatting the value <code class="inlineCode">123.4</code> would give <code class="inlineCode">123.4</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">.</code></p> </td> <td class="table-cell"> <p class="normal">Decimal point. Sets the location of the decimal point in the number. Respects culture formatting, so it is a <code class="inlineCode">.</code> (dot) in US English but a <code class="inlineCode">,</code> (comma) in French.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">,</code></p> </td> <td class="table-cell"> <p class="normal">Group separator. Inserts a localized group separator between each group. For example, <code class="inlineCode">0,000</code> formatting the value <code class="inlineCode">1234567</code> would give <code class="inlineCode">1,234,567</code>. Also used to scale a number by dividing by multiples of 1,000 for each comma. For example, <code class="inlineCode">0.00,,</code> formatting the value <code class="inlineCode">1234567</code> would give <code class="inlineCode">1.23</code> because the two commas mean divide by 1,000 twice.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">%</code></p> </td> <td class="table-cell"> <p class="normal">Percentage placeholder. Multiplies the value by 100 and adds a percentage character.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">\</code></p> </td> <td class="table-cell"> <p class="normal">Escape character. Makes the next character a literal instead of a format code. For example, <code class="inlineCode">\##,###\#</code> formatting the value <code class="inlineCode">1234</code> would give <code class="inlineCode">#1,234#</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">;</code></p> </td> <td class="table-cell"> <p class="normal">Section separator. Defines different format strings for positive, negative, and zero numbers. For example, <code class="inlineCode">[0];(0);Zero</code> formatting: <code class="inlineCode">13</code> would give <code class="inlineCode">[13]</code>, <code class="inlineCode">-13</code> would give <code class="inlineCode">(13)</code>, and <code class="inlineCode">0</code> would give <code class="inlineCode">Zero</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">Others</p> </td> <td class="table-cell"> <p class="normal">All other characters are shown in the output as is.</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.8: Custom numeric format codes</p> <div class="note"> <p class="normal"><strong class="keyWord">More Information</strong>: A full list <a id="_idIndexMarker361"></a>of custom number format codes can be found at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings</span></a>.</p> </div> <p class="normal">You<a id="_idIndexMarker362"></a> can apply standard number formatting using simpler format codes, like <code class="inlineCode">C</code> and <code class="inlineCode">N</code>. They support a precision number to<a id="_idIndexMarker363"></a> indicate how many digits of precision you want. The default is two. The most common are, as shown in <em class="italic">Table 2.9</em>:</p> <table id="table009" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">Format code</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Description</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">C</code> or <code class="inlineCode">c</code></p> </td> <td class="table-cell"> <p class="normal">Currency. For example, in US culture, <code class="inlineCode">C</code> formatting the value <code class="inlineCode">123.4</code> gives <code class="inlineCode">$123.40</code>, and <code class="inlineCode">C0</code> formatting the value <code class="inlineCode">123.4</code> gives <code class="inlineCode">$123</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">N</code> or <code class="inlineCode">n</code></p> </td> <td class="table-cell"> <p class="normal">Number. Integer digits with an optional negative sign and grouping characters.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">D</code> or <code class="inlineCode">d</code></p> </td> <td class="table-cell"> <p class="normal">Decimal. Integer digits with an optional negative sign but no grouping characters.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">B</code> or <code class="inlineCode">b</code></p> </td> <td class="table-cell"> <p class="normal">Binary. For example, <code class="inlineCode">B</code> formatting the value <code class="inlineCode">13</code> gives <code class="inlineCode">1101</code> and <code class="inlineCode">B8</code> formatting the value <code class="inlineCode">13</code> gives <code class="inlineCode">00001101</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">X</code> or <code class="inlineCode">x</code></p> </td> <td class="table-cell"> <p class="normal">Hexadecimal. For example, <code class="inlineCode">X</code> formatting the value <code class="inlineCode">255</code> gives <code class="inlineCode">FF</code> and <code class="inlineCode">X4</code> formatting the value <code class="inlineCode">255</code> gives <code class="inlineCode">00FF</code>.</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal"><code class="inlineCode">E</code> or <code class="inlineCode">e</code></p> </td> <td class="table-cell"> <p class="normal">Exponential notation. For example, <code class="inlineCode">E</code> formatting the value <code class="inlineCode">1234.567</code> would give <code class="inlineCode">1.234567000E+003</code> and <code class="inlineCode">E2</code> formatting the value <code class="inlineCode">1234.567</code> would give <code class="inlineCode">1.23E+003</code>.</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.9: Standard numeric format codes</p> <div class="note"> <p class="normal"><strong class="keyWord">More Information</strong>: A full list of standard number format codes can be found at the following link: <a href="https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings" target="_blank"><span class="url">https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings</span></a>.</p> </div> <h2 id="_idParaDest-152" class="heading-2">Getting text input from the user</h2> <p class="normal">We can get<a id="_idIndexMarker364"></a> text input from the user using the <code class="inlineCode">ReadLine</code> method. This method waits for the user to type some text. Then, as soon as the user presses <em class="keystroke">Enter</em>, whatever the user has typed is returned as a <code class="inlineCode">string</code> value.</p> <p class="normal">Let’s get input from the user:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Type statements to ask the user for their name and age and then output what they entered, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">Console.Write(<span class="hljs-string">"Type your first name and press ENTER: "</span>); <span class="hljs-built_in">string</span> firstName = Console.ReadLine(); Console.Write(<span class="hljs-string">"Type your age and press ENTER: "</span>); <span class="hljs-built_in">string</span> age = Console.ReadLine(); Console.WriteLine(<span class="hljs-string">$"Hello </span><span class="hljs-subst">{firstName}</span><span class="hljs-string">, you look good for </span><span class="hljs-subst">{age}</span><span class="hljs-string">."</span>); </code></pre> <div class="note"> <p class="normal">By default, with .NET 6 and later, nullability checks are enabled, so the C# compiler gives two warnings because the <code class="inlineCode">ReadLine</code> method could return a <code class="inlineCode">null</code> value instead of a <code class="inlineCode">string</code> value. But there is no scenario where this method would actually return <code class="inlineCode">null</code>, so instead we will see how to switch off these specific warnings in this scenario.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="2">For the <code class="inlineCode">firstName</code> variable, append a <code class="inlineCode">?</code> after <code class="inlineCode">string</code>, as shown highlighted in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string?</span> firstName = Console.ReadLine(); </code></pre> <div class="note"> <p class="normal">This tells the compiler that we are expecting a possible <code class="inlineCode">null</code> value, so it does not need to warn us. If the variable is <code class="inlineCode">null</code> then when it is later output with <code class="inlineCode">WriteLine</code>, it will just be blank, so that works fine in this case. If we were going to access any of the members of the <code class="inlineCode">firstName</code> variable, then we would need to handle the case where it is <code class="inlineCode">null</code>.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">For the <code class="inlineCode">age</code> variable, append a <code class="inlineCode">!</code> before the semi-colon at the end of the statement, as shown highlighted in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-built_in">string</span> age = Console.ReadLine()<span class="hljs-built_in">!</span>; </code></pre> <div class="note"> <p class="normal">This is called the <strong class="keyWord">null-forgiving operator</strong> because it tells the compiler that, in this case, <code class="inlineCode">ReadLine</code> will not return <code class="inlineCode">null</code>, so it can stop showing the warning. It is now our responsibility to ensure this is the case. Luckily, the <code class="inlineCode">Console</code> type’s implementation of <code class="inlineCode">ReadLine</code> always returns a <code class="inlineCode">string</code> even if it is just an empty <code class="inlineCode">string</code> value.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="4">Run the <a id="_idIndexMarker365"></a>code, and then enter a name and age, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Type your name and press ENTER: Gary Type your age and press ENTER: 34 Hello Gary, you look good for 34. </code></pre> </li> </ol> <div class="note"> <p class="normal">You have now seen two common ways to handle nullability warnings from the compiler. We will cover nullability and how to handle it in more detail in <em class="chapterRef">Chapter 6</em>, <em class="italic">Implementing Interfaces and Inheriting Classes</em>.</p> </div> <h2 id="_idParaDest-153" class="heading-2">Simplifying the usage of the console</h2> <p class="normal">In C# 6 and<a id="_idIndexMarker366"></a> later, the <code class="inlineCode">using</code> statement can be used not only to import a namespace but also to further simplify our code by importing a static class. Then, we won’t need to enter the <code class="inlineCode">Console</code> type name throughout our code. </p> <h3 id="_idParaDest-154" class="heading-3">Importing a static type for a single file</h3> <p class="normal">You can use your <a id="_idIndexMarker367"></a>code editor’s <strong class="screenText">Find and Replace</strong> feature to remove the times we have previously written <code class="inlineCode">Console</code>:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">At the top of the <code class="inlineCode">Program.cs</code> file, add a statement to <strong class="keyWord">statically import</strong> the <code class="inlineCode">System.Console</code> class, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">using</span> <span class="hljs-keyword">static</span> System.Console; </code></pre> </li> <li class="numberedList">Select the first <code class="inlineCode">Console.</code> in your code, ensuring that you select the dot after the word <code class="inlineCode">Console</code> too.</li> <li class="numberedList">In Visual Studio 2022, navigate to <strong class="screenText">Edit</strong> | <strong class="screenText">Find and Replace</strong> | <strong class="screenText">Quick Replace</strong>; in Visual Studio Code, navigate to <strong class="screenText">Edit</strong> | <strong class="screenText">Replace</strong>; or in JetBrains Rider, navigate to <strong class="screenText">Edit</strong> | <strong class="screenText">Find</strong> | <strong class="screenText">Replace</strong>, and note that an overlay dialog appears ready for you to enter what you would like to replace <code class="inlineCode">Console.</code> with, as shown in <em class="italic">Figure 2.9</em>:</li> </ol> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_09.png" alt="Graphical user interface, application Description automatically generated"></figure> <p class="packt_figref">Figure 2.9: Using the Replace feature in Visual Studio to simplify your code</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="4">Leave the <strong class="screenText">Replace</strong> box empty, click on the <strong class="screenText">Replace all</strong> button (the second of the two buttons to the right of the replace box), and then close the replace box by clicking on the cross in its top-right corner.</li> <li class="numberedList">Run the console app and note the behavior is the same as before.</li> </ol> <h3 id="_idParaDest-155" class="heading-3">Importing a static type for all code files in a project</h3> <p class="normal">Instead <a id="_idIndexMarker368"></a>of statically importing the <code class="inlineCode">Console</code> class just for one code file, it would probably be better to import it globally for all code files in the project:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Delete the statement to statically import <code class="inlineCode">System.Console</code>.</li> <li class="numberedList">Open <code class="inlineCode">Formatting.csproj</code>, and after the <code class="inlineCode"><PropertyGroup></code> section, add a new <code class="inlineCode"><ItemGroup></code> section to globally and statically import <code class="inlineCode">System.Console</code> using the implicit <code class="inlineCode">using</code> .NET SDK feature, as shown in the following markup: <pre class="programlisting code"><code class="hljs-code"><ItemGroup> <Using Include=<span class="hljs-string">"System.Console"</span> Static=<span class="hljs-string">"true"</span> /> </ItemGroup> </code></pre> </li> <li class="numberedList">Run the console app and note the behavior is the same as before.</li> </ol> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: In the future, for all console app projects you create for this book, add the section above to simplify the code you need to write in all C# files to work with the <code class="inlineCode">Console</code> class.</p> </div> <h2 id="_idParaDest-156" class="heading-2">Getting key input from the user</h2> <p class="normal">We can <a id="_idIndexMarker369"></a>get key input from the user using the <code class="inlineCode">ReadKey</code> method. This method waits for the user to press a key or key combination, which is then returned as a <code class="inlineCode">ConsoleKeyInfo</code> value.</p> <p class="normal">Let’s explore reading key presses:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Type statements to ask the user to press any key combination and then output information about it, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">Write(<span class="hljs-string">"Press any key combination: "</span>); ConsoleKeyInfo key = ReadKey(); WriteLine(); WriteLine(<span class="hljs-string">"Key: {0}, Char: {1}, Modifiers: {2}"</span>, arg0: key.Key, arg1: key.KeyChar, arg2: key.Modifiers); </code></pre> </li> <li class="numberedList">Run the code, press the <em class="keystroke">K</em> key, and note the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Press any key combination: k Key: K, Char: k, Modifiers: 0 </code></pre> </li> <li class="numberedList">Run the code, hold down <em class="keystroke">Shift</em> and press the <em class="keystroke">K</em> key, and note the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Press any key combination: K Key: K, Char: K, Modifiers: Shift </code></pre> </li> <li class="numberedList">Run the code, press the <em class="keystroke">F12</em> key, and note the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">Press any key combination: Key: F12, Char: , Modifiers: 0 </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Warning!</strong> When running a console app in a terminal within Visual Studio Code, some keyboard combinations will be captured by the code editor before they can be processed by your console app. For example, <em class="keystroke">Ctrl</em> + <em class="keystroke">Shift</em> + <em class="keystroke">X</em> in Visual Studio Code activates the <strong class="screenText">Extensions</strong> view in the sidebar. To fully test this console app, open a command prompt or terminal in the project folder and run the console app from there.</p> </div> </li> </ol> <h2 id="_idParaDest-157" class="heading-2">Passing arguments to a console app</h2> <p class="normal">When<a id="_idIndexMarker370"></a> you run a console app, you often want to change its behavior by passing arguments. For example, with the <code class="inlineCode">dotnet</code> command-line tool, you can pass the name of a new project template, as shown in the following commands:</p> <pre class="programlisting con"><code class="hljs-con">dotnet new console dotnet new mvc </code></pre> <p class="normal">You might have been wondering how to get any arguments that might be passed to a console app.</p> <p class="normal">In every version of .NET prior to version 6, the console app project template made it obvious, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">using</span> System; <span class="hljs-keyword">namespace</span> <span class="hljs-title">Arguments</span> { <span class="hljs-keyword">class</span> <span class="hljs-title">Program</span> { <span class="hljs-keyword">static</span><span class="hljs-function"> </span><span class="hljs-keyword">void</span><span class="hljs-function"> </span><span class="hljs-title">Main</span><span class="hljs-function">(</span><span class="hljs-built_in">string</span><span class="hljs-params">[] args</span><span class="hljs-function">)</span> { Console.WriteLine(<span class="hljs-string">"Hello World!"</span>); } } } </code></pre> <p class="normal">The <code class="inlineCode">string[] args</code> arguments are declared and passed in the <code class="inlineCode">Main</code> method of the <code class="inlineCode">Program</code> class. They’re an array used to pass arguments into a console app. But in top-level programs, as used by the console app project template in .NET 6 and later, the <code class="inlineCode">Program</code> class and its <code class="inlineCode">Main</code> method are hidden, along with the declaration of the <code class="inlineCode">args</code> array. The trick is that you must know it still exists.</p> <p class="normal">Command-line arguments are separated by spaces. Other characters like hyphens and colons are treated as part of an argument value.</p> <p class="normal">To include spaces in an argument value, enclose the argument value in single or double quotes.</p> <p class="normal">Imagine<a id="_idIndexMarker371"></a> that we want to be able to enter the names of some colors for the foreground and background and the dimensions of the terminal window at the command line. We would be able to read the colors and numbers by reading them from the <code class="inlineCode">args</code> array, which is always passed into the <code class="inlineCode">Main</code> method, aka the entry point of a console app:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Use your preferred code editor to add a new <strong class="screenText">Console App</strong> / <code class="inlineCode">console</code> project named <code class="inlineCode">Arguments</code> to the <code class="inlineCode">Chapter02</code> solution.</li> <li class="numberedList">Open <code class="inlineCode">Arguments.csproj</code>, and after the <code class="inlineCode"><PropertyGroup></code> section, add a new <code class="inlineCode"><ItemGroup></code> section to statically import <code class="inlineCode">System.Console</code> for all C# files using the implicit usings .NET SDK feature, as shown in the following markup: <pre class="programlisting code"><code class="hljs-code"><ItemGroup> <Using Include=<span class="hljs-string">"System.Console"</span> Static=<span class="hljs-string">"true"</span> /> </ItemGroup> </code></pre> <div class="packt_tip"> <p class="normal"><strong class="keyWord">Good Practice</strong>: Remember to use the implicit usings .NET SDK feature to statically import the <code class="inlineCode">System.Console</code> type in all future console app projects to simplify your code, as these instructions will not be repeated every time.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">In <code class="inlineCode">Program.cs</code>, delete the existing statements, and then add a statement to output the number of arguments passed to the application, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">WriteLine(<span class="hljs-string">$"There are </span><span class="hljs-subst">{args.Length}</span><span class="hljs-string"> arguments."</span>); </code></pre> </li> <li class="numberedList">Run the console app and view the result, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">There are 0 arguments. </code></pre> </li> </ol> <p class="normal">If you are using Visual Studio 2022:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Navigate to <strong class="screenText">Project</strong> | <strong class="screenText">Arguments</strong> <strong class="screenText">Properties</strong>. </li> <li class="numberedList">Select the <strong class="screenText">Debug</strong> tab, click <strong class="screenText">Open debug launch profiles UI</strong>, and in the <strong class="screenText">Command line arguments</strong> box, enter the following arguments: <code class="inlineCode">firstarg second-arg third:arg "fourth arg"</code>, as shown in <em class="italic">Figure 2.10</em>:</li> </ol> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_10.png" alt></figure> <p class="packt_figref">Figure 2.10: Entering command line arguments in the Visual Studio project properties on Windows</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="3">Close<a id="_idIndexMarker372"></a> the <strong class="screenText">Launch Profiles</strong> window.</li> <li class="numberedList">In <strong class="screenText">Solution Explorer</strong>, in the <code class="inlineCode">Properties</code> folder, open the <code class="inlineCode">launchSettings.json</code> file and note it defines the command-line arguments when you run the project, as shown highlighted in the following configuration: <pre class="programlisting code"><code class="hljs-code">{ <span class="hljs-string">"profiles"</span>: { <span class="hljs-string">"Arguments"</span>: { <span class="hljs-string">"commandName"</span>: <span class="hljs-string">"Project"</span>, <span class="code-highlight"><strong class="hljs-string-slc">"commandLineArgs"</strong><strong class="hljs-slc">: </strong><strong class="hljs-string-slc">"firstarg second-arg third:arg \"fourth arg\""</strong></span> } } } </code></pre> </li> </ol> <div class="note"> <p class="normal">The <code class="inlineCode">launchSettings.json</code> file can also be used by JetBrains Rider. The equivalent for Visual Studio Code is the <code class="inlineCode">.vscode/launch.json</code> file.</p> </div> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="5">Run the console app project.</li> </ol> <p class="normal">If you are using JetBrains Rider:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Right-click the <strong class="screenText">Arguments</strong> project.</li> <li class="numberedList">In the pop-up menu, select <strong class="screenText">More Run/Debug</strong> | <strong class="screenText">Modify Run Configuration…</strong>.</li> <li class="numberedList">In the <strong class="screenText">Create Run Configuration: ‘Arguments’</strong> dialog box, in the <strong class="screenText">Program arguments</strong> box, enter <code class="inlineCode">firstarg second-arg third:arg "fourth arg"</code>, as shown in <em class="italic">Figure 2.11</em>:</li> </ol> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_11.png" alt></figure> <p class="packt_figref">Figure 2.11: Entering command-line arguments in the JetBrains Rider run configuration</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="4">Click <strong class="screenText">OK</strong>.</li> <li class="numberedList">Run the console app.</li> </ol> <p class="normal">If you are<a id="_idIndexMarker373"></a> using Visual Studio Code:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">In <strong class="screenText">Terminal</strong>, enter some arguments after the <code class="inlineCode">dotnet run</code> command, as shown in the following command: <pre class="programlisting con"><code class="hljs-con">dotnet run firstarg second-arg third:arg "fourth arg" </code></pre> <p class="normal">For all code editors:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Note the result indicates four arguments, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">There are 4 arguments. </code></pre> </li> <li class="numberedList">In <code class="inlineCode">Program.cs</code>, to<a id="_idIndexMarker374"></a> enumerate or iterate (that is, loop through) the values of those four arguments, add the following statements after outputting the length of the array: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">foreach</span> (<span class="hljs-built_in">string</span> arg <span class="hljs-keyword">in</span> args) { WriteLine(arg); } </code></pre> </li> <li class="numberedList">Run the code again and note the result shows the details of the four arguments, as shown in the following output: <pre class="programlisting con"><code class="hljs-con">There are 4 arguments. firstarg second-arg third:arg fourth arg </code></pre> </li> </ol> </li> </ol> <h2 id="_idParaDest-158" class="heading-2">Setting options with arguments</h2> <p class="normal">We<a id="_idIndexMarker375"></a> will now use these arguments to allow the user to pick a color for the background, foreground, and cursor size of the output window. The cursor size can be an integer value from 1, meaning a line at the bottom of the cursor cell, up to 100, meaning a percentage of the height of the cursor cell.</p> <p class="normal">We have statically imported the <code class="inlineCode">System.Console</code> class. It has properties like <code class="inlineCode">ForegroundColor</code>, <code class="inlineCode">BackgroundColor</code>, and <code class="inlineCode">CursorSize</code> that we can now set just by using their names without needing to prefix them with <code class="inlineCode">Console</code>. </p> <p class="normal">The <code class="inlineCode">System</code> namespace is already imported so that the compiler knows about the <code class="inlineCode">ConsoleColor</code> and <code class="inlineCode">Enum</code> types:</p> <ul> <li class="bulletList">Add statements to warn the user if they do not enter three arguments, and then parse those arguments and use them to set the color and dimensions of the console window, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">if</span> (args.Length < <span class="hljs-number">3</span>) { WriteLine(<span class="hljs-string">"You must specify two colors and cursor size, e.g."</span>); WriteLine(<span class="hljs-string">"dotnet run red yellow 50"</span>); <span class="hljs-keyword">return</span>; <span class="hljs-comment">// Stop running.</span> } ForegroundColor = (ConsoleColor)Enum.Parse( enumType: <span class="hljs-keyword">typeof</span>(ConsoleColor), <span class="hljs-keyword">value</span>: args[<span class="hljs-number">0</span>], ignoreCase: <span class="hljs-literal">true</span>); BackgroundColor = (ConsoleColor)Enum.Parse( enumType: <span class="hljs-keyword">typeof</span>(ConsoleColor), <span class="hljs-keyword">value</span>: args[<span class="hljs-number">1</span>], ignoreCase: <span class="hljs-literal">true</span>); CursorSize = <span class="hljs-built_in">int</span>.Parse(args[<span class="hljs-number">2</span>]); </code></pre> <div class="note"> <p class="normal">Note the compiler warning that setting the <code class="inlineCode">CursorSize</code> is only supported on Windows. For now, do not worry about most of this code like <code class="inlineCode">(ConsoleColor)</code>, <code class="inlineCode">Enum.Parse</code>, or <code class="inlineCode">typeof</code>, as it will all be explained in the next few chapters.</p> </div> </li> </ul> <ul> <li class="bulletList">If you<a id="_idIndexMarker376"></a> are using Visual Studio 2022, change the arguments to <code class="inlineCode">red yellow 50</code>. Run the console app and note the cursor is half the size and the colors have changed in the window, as shown in <em class="italic">Figure 2.12</em>:</li> </ul> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_12.png" alt></figure> <p class="packt_figref">Figure 2.12: Setting colors and cursor size on Windows</p> <ul> <li class="bulletList">If you<a id="_idIndexMarker377"></a> are using Visual Studio Code, then run the code with arguments to set the foreground color to red, the background color to yellow, and the cursor size to 50%, as shown in the following command: <pre class="programlisting con"><code class="hljs-con">dotnet run red yellow 50 </code></pre> </li> </ul> <p class="normal">On macOS or Linux, you’ll see an unhandled exception, as shown in <em class="italic">Figure 2.13</em>:</p> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_13.png" alt="Graphical user interface, text, application Description automatically generated"></figure> <p class="packt_figref">Figure 2.13: An unhandled exception on unsupported macOS</p> <p class="normal">Although <a id="_idIndexMarker378"></a>the compiler did not give an error or warning, at runtime, some API calls may fail on some platforms. Although a console app running on Windows can change its cursor size, on macOS, it cannot, and it complains if you try.</p> <h2 id="_idParaDest-159" class="heading-2">Handling platforms that do not support an API</h2> <p class="normal">So how do <a id="_idIndexMarker379"></a>we solve this problem? We can solve this by using an exception handler. You will learn more details about the <code class="inlineCode">try</code>-<code class="inlineCode">catch</code> statement in <em class="chapterRef">Chapter 3</em>, <em class="italic">Controlling Flow, Converting Types, and Handling Exceptions</em>, so for now, just enter the code:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Modify the code to wrap the lines that change the cursor size in a <code class="inlineCode">try</code> statement, as shown in the following code: <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">try</span> { CursorSize = <span class="hljs-built_in">int</span>.Parse(args[<span class="hljs-number">2</span>]); } <span class="hljs-keyword">catch</span> (PlatformNotSupportedException) { WriteLine(<span class="hljs-string">"The current platform does not support changing the size of the cursor."</span>); } </code></pre> </li> <li class="numberedList">If you were to run the code on macOS, then you would see the exception is caught, and a friendlier message is shown to the user.</li> </ol> <p class="normal">Another way to <a id="_idIndexMarker380"></a>handle differences in operating systems is to use the <code class="inlineCode">OperatingSystem</code> class in the <code class="inlineCode">System</code> namespace, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-keyword">if</span> (OperatingSystem.IsWindows()) { <span class="hljs-comment">// Execute code that only works on Windows.</span> } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (OperatingSystem.IsWindowsVersionAtLeast(major: <span class="hljs-number">10</span>)) { <span class="hljs-comment">// Execute code that only works on Windows 10 or later.</span> } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (OperatingSystem.IsIOSVersionAtLeast(major: <span class="hljs-number">14</span>, minor: <span class="hljs-number">5</span>)) { <span class="hljs-comment">// Execute code that only works on iOS 14.5 or later.</span> } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (OperatingSystem.IsBrowser()) { <span class="hljs-comment">// Execute code that only works in the browser with Blazor.</span> } </code></pre> <p class="normal">The <code class="inlineCode">OperatingSystem</code> class has equivalent methods for other common operating systems, like Android, iOS, Linux, macOS, and even the browser, which is useful for Blazor web components.</p> <p class="normal">A third way to handle different platforms is to use conditional compilation statements.</p> <p class="normal">There are four preprocessor directives that control conditional compilation: <code class="inlineCode">#if</code>, <code class="inlineCode">#elif</code>, <code class="inlineCode">#else</code>, and <code class="inlineCode">#endif</code>.</p> <p class="normal">You define symbols using <code class="inlineCode">#define</code>, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-meta">#</span><span class="hljs-keyword">define</span><span class="hljs-meta"> MYSYMBOL</span> </code></pre> <p class="normal">Many symbols are automatically defined for you, as shown in <em class="italic">Table 2.10</em>:</p> <table id="table010" class="table-container"> <tbody> <tr> <td class="table-cell"> <p class="normal"><strong class="keyWord">Target Framework</strong></p> </td> <td class="table-cell"> <p class="normal"><strong class="keyWord">Symbols</strong></p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">.NET Standard</p> </td> <td class="table-cell"> <p class="normal"><code class="inlineCode">NETSTANDARD2_0</code>, <code class="inlineCode">NETSTANDARD2_1</code>, and so on</p> </td> </tr> <tr> <td class="table-cell"> <p class="normal">Modern .NET</p> </td> <td class="table-cell"> <p class="normal"><code class="inlineCode">NET7_0</code>, <code class="inlineCode">NET7_0_ANDROID</code>, <code class="inlineCode">NET7_0_IOS</code>, <code class="inlineCode">NET7_0_WINDOWS</code>, and so on</p> </td> </tr> </tbody> </table> <p class="packt_figref">Table 2.10: Predefined compiler symbols</p> <p class="normal">You can<a id="_idIndexMarker381"></a> then write statements that will compile only for the specified platforms, as shown in the following code:</p> <pre class="programlisting code"><code class="hljs-code"><span class="hljs-meta">#</span><span class="hljs-keyword">if</span><span class="hljs-meta"> NET7_0_ANDROID</span> <span class="hljs-comment">// Compile statements that only work on Android.</span> <span class="hljs-meta">#</span><span class="hljs-keyword">elif</span><span class="hljs-meta"> NET7_0_IOS</span> <span class="hljs-comment">// Compile statements that only work on iOS.</span> <span class="hljs-meta">#</span><span class="hljs-keyword">else</span> <span class="hljs-comment">// Compile statements that work everywhere else.</span> <span class="hljs-meta">#</span><span class="hljs-keyword">endif</span> </code></pre> </div> </div> </div> <div class="slider-item d-none " data-slider-item=7> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-160" class="heading-1">Understanding async and await</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">C# 5 introduced two C# keywords when working with the <code class="inlineCode">Task</code> type that enable easy multithreading. The pair of keywords is especially useful for the following:</p> <ul> <li class="bulletList">Implementing multitasking for a <strong class="keyWord">graphical user interface</strong> (<strong class="keyWord">GUI</strong>).</li> <li class="bulletList">Improving the scalability of web applications and web services.</li> <li class="bulletList">Preventing blocking calls when interacting with the filesystem, databases, and remote services, all of which tend to take a long time to complete their work.</li> </ul> <p class="normal">In an online section, <em class="italic">Building Websites Using the Model-View-Controller Pattern</em>, we will see how the <code class="inlineCode">async</code> and <code class="inlineCode">await</code> keywords can<a id="_idIndexMarker382"></a> improve scalability for websites. But for <a id="_idIndexMarker383"></a>now, let’s see an example of how they can be used in a console app, and then later you will see them used in a more practical example within web projects.</p> <h2 id="_idParaDest-161" class="heading-2">Improving responsiveness for console apps</h2> <p class="normal">One of the<a id="_idIndexMarker384"></a> limitations with console apps is that you can only use the <code class="inlineCode">await</code> keyword inside methods that are marked as <code class="inlineCode">async</code>, but C# 7 and earlier do not allow the <code class="inlineCode">Main</code> method to be marked as <code class="inlineCode">async</code>! Luckily, a new feature introduced in C# 7.1 was support for <code class="inlineCode">async</code> in <code class="inlineCode">Main</code>.</p> <p class="normal">Let’s see it in action:</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">Use your preferred code editor to add a new <strong class="screenText">Console App</strong> / <code class="inlineCode">console</code> project named <code class="inlineCode">AsyncConsole</code> to the <code class="inlineCode">Chapter02</code> solution.</li> <li class="numberedList">Open <code class="inlineCode">AsyncConsole.csproj</code>, and after the <code class="inlineCode"><PropertyGroup></code> section, add a new <code class="inlineCode"><ItemGroup></code> section to statically import <code class="inlineCode">System.Console</code> for all C# files using the implicit usings .NET SDK feature, as shown in the following markup: <pre class="programlisting code"><code class="hljs-code"><ItemGroup> <Using Include=<span class="hljs-string">"System.Console"</span> Static=<span class="hljs-string">"true"</span> /> </ItemGroup> </code></pre> </li> <li class="numberedList">In <code class="inlineCode">Program.cs</code>, delete<a id="_idIndexMarker385"></a> the existing statements, and then add statements to create an <code class="inlineCode">HttpClient</code> instance, make a request for Apple’s home page, and output how many bytes it has, as shown in the following code: <pre class="programlisting code"><code class="hljs-code">HttpClient client = <span class="hljs-keyword">new</span>(); HttpResponseMessage response = <span class="hljs-keyword">await</span> client.GetAsync(<span class="hljs-string">"http://www.apple.com/"</span>); WriteLine(<span class="hljs-string">"</span><span class="hljs-string">Apple's home page has {0:N0} bytes."</span>, response.Content.Headers.ContentLength); </code></pre> </li> <li class="numberedList">Navigate to <strong class="screenText">Build</strong> | <strong class="screenText">Build AsyncConsole</strong> and note that the project builds successfully. <div class="note"> <p class="normal">In .NET 5 and earlier, you would have seen an error message, as shown in the following output:</p> <p class="normal"><code class="inlineCode">Program.cs(14,9): error CS4033: The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'. [/Users/markjprice/Code/ Chapter02/AsyncConsole/AsyncConsole.csproj]</code></p> <p class="normal">You would have had to add the <code class="inlineCode">async</code> keyword for your <code class="inlineCode">Main</code> method and change its return type from <code class="inlineCode">void</code> to <code class="inlineCode">Task</code>. With .NET 6 and later, the console app project template uses the top-level program feature to automatically define the <code class="inlineCode">Program</code> class with an asynchronous <code class="inlineCode"><Main>$</code> method for you.</p> </div> </li> </ol> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="5">Run the code and view the result, which is likely to have a different number of bytes since Apple changes its home page frequently, as shown in the following<a id="_idIndexMarker386"></a> output: <pre class="programlisting con"><code class="hljs-con">Apple's home page has 170,688 bytes. </code></pre> </li> </ol> </div> </div> </div> <div class="slider-item d-none " data-slider-item=8> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-162" class="heading-1">Practicing and exploring</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">Test your knowledge and understanding by answering some questions, getting some hands-on practice, and exploring the topics covered in this chapter with deeper research.</p> <h2 id="_idParaDest-163" class="heading-2">Exercise 2.1 – Test your knowledge</h2> <p class="normal">To get the best answer to some of these questions, you will need to do your own research. I want you to “think outside the book,” so I have deliberately not provided all the answers in the book.</p> <p class="normal">I want to encourage you to get into the good habit of looking for help elsewhere, following the principle of “teach a person to fish.”</p> <ol class="numberedList" style="list-style-type: decimal;"> <li class="numberedList" value="1">What statement can you type in a C# file to discover the compiler and language version?</li> <li class="numberedList">What are the two types of comments in C#?</li> <li class="numberedList">What is the difference between a verbatim string and an interpolated string?</li> <li class="numberedList">Why should you be careful when using <code class="inlineCode">float</code> and <code class="inlineCode">double</code> values?</li> <li class="numberedList">How can you determine how many bytes a type like <code class="inlineCode">double</code> uses in memory?</li> <li class="numberedList">When should you use the <code class="inlineCode">var</code> keyword?</li> <li class="numberedList">What is the newest syntax to create an instance of a class like <code class="inlineCode">XmlDocument</code>?</li> <li class="numberedList">Why should you be careful when using the <code class="inlineCode">dynamic</code> type?</li> <li class="numberedList">How do you right-align a format string?</li> <li class="numberedList">What character separates arguments for a console app?</li> </ol> <div class="note"> <p class="normal"><em class="chapterRef">Appendix</em>, <em class="italic">Answers to the Test Your Knowledge Questions</em>, is available to download from a link in the README on the GitHub repository: <a href="https://github.com/markjprice/cs12dotnet8" target="_blank"><span class="url">https://github.com/markjprice/cs12dotnet8</span></a>.</p> </div> <h2 id="_idParaDest-164" class="heading-2">Exercise 2.2 – Test your knowledge of number types</h2> <p class="normal">What type would you choose for the following “numbers”?</p> <ul> <li class="bulletList">A person’s telephone number</li> <li class="bulletList">A person’s height</li> <li class="bulletList">A person’s age</li> <li class="bulletList">A person’s salary</li> <li class="bulletList">A book’s ISBN</li> <li class="bulletList">A book’s price</li> <li class="bulletList">A book’s shipping weight</li> <li class="bulletList">A country’s population</li> <li class="bulletList">The number of stars in the universe</li> <li class="bulletList">The number of employees in each of the small or medium businesses in the UK (up to about 50,000 employees per business)</li> </ul> <h2 id="_idParaDest-165" class="heading-2">Exercise 2.3 – Practice number sizes and ranges</h2> <p class="normal">In the <code class="inlineCode">Chapter02</code> solution, create a console app project named <code class="inlineCode">Ch02Ex03Numbers</code> that outputs the number of bytes in memory that each of the following number types uses and the minimum and maximum values they can have: <code class="inlineCode">sbyte</code>, <code class="inlineCode">byte</code>, <code class="inlineCode">short</code>, <code class="inlineCode">ushort</code>, <code class="inlineCode">int</code>, <code class="inlineCode">uint</code>, <code class="inlineCode">long</code>, <code class="inlineCode">ulong</code>, <code class="inlineCode">Int128</code>, <code class="inlineCode">UInt128</code>, <code class="inlineCode">Half</code>, <code class="inlineCode">float</code>, <code class="inlineCode">double</code>, and <code class="inlineCode">decimal</code>.</p> <p class="normal">The result of running your console app should look something like <em class="italic">Figure 2.14</em>:</p> <figure class="mediaobject"><img loading="lazy" src="https://static.packt-cdn.com/products/9781837635870/graphics/Images/B19586_02_14.png" alt></figure> <p class="packt_figref">Figure 2.14: The result of outputting number type sizes</p> <p class="normal">Code solutions for all exercises are available to download or clone from the GitHub repository at the following link: <a href="https://github.com/markjprice/cs12dotnet8" target="_blank"><span class="url">https://github.com/markjprice/cs12dotnet8</span></a>.</p> <h2 id="_idParaDest-166" class="heading-2">Exercise 2.4 – Explore topics</h2> <p class="normal">Use the links on the following page to learn more details about the topics covered in this chapter:</p> <p class="normal"><a href="https://github.com/markjprice/cs12dotnet8/blob/main/docs/book-links.md#chapter-2---speaking-c" target="_blank"><span class="url">https://github.com/markjprice/cs12dotnet8/blob/main/docs/book-links.md#chapter-2---speaking-c</span></a></p> <h2 id="_idParaDest-167" class="heading-2">Exercise 2.5 – Explore Spectre</h2> <p class="normal">No, not the villainous organization from the James Bond films! <strong class="keyWord">Spectre</strong> is a package that enhances console apps. You can read about it at the following link: <code class="inlineCode">https://spectreconsole.net/</code>.</p> </div> </div> </div> <div class="slider-item d-none " data-slider-item=9> <?xml encoding="utf-8" ?><div class="epub-source"> <h1 id="_idParaDest-168" class="heading-1">Summary</h1> <div id="_idContainer166" class="Basic-Text-Frame"> <p class="normal">In this chapter, you learned how to:</p> <ul> <li class="bulletList">Declare variables with a specified or inferred type.</li> <li class="bulletList">Use some of the built-in types for numbers, text, and Booleans.</li> <li class="bulletList">Choose between number types.</li> <li class="bulletList">Control output formatting in console apps.</li> </ul> <p class="normal">In the next chapter, you will learn about operators, branching, looping, converting between types, and how to handle exceptions.</p> </div> </div> </div> </div> <div class="slider-container-navigation"> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-left-DKeTWfdp.svg" class="svg-icon nav-arrow slider-left-arrow" width="35" height="24" alt="Left arrow icon" /> <h2 class="content-footer-title">Page <span class="slider-current-item">1</span> of 9 </h2> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-right-YQh-CI_o.svg" class="svg-icon nav-arrow slider-right-arrow" width="35" height="24" alt="Right arrow icon" /> </div> </div> </div> </div> </dialog> <a class="tabs" href="https://github.com/markjprice/cs12dotnet8" target="_blank"> <img src="https://www.packtpub.com/rebuild/build/assets/download-code-Ct8SOt-Z.svg" class="svg-icon icon-4" alt="Download code icon" /> <span class="tabs-label">Download Code</span> </a> </div> <section class="product-book-content-details"> <span> <h2 class="content-header h5 mb-2">Key benefits</h2> <ul class="content-text mb-2" > <li> Explore the latest additions to C# 12, the .NET 8 class libraries, and Entity Framework Core 8 </li> <li> Create professional websites and services with ASP.NET Core 8 and Blazor </li> <li> Build your confidence with step-by-step code examples and tips for best practices </li> </ul> </span> <span> <h2 class="content-header h5 mb-2">Description</h2> <div class="content-text mb-2">This latest edition of the bestselling Packt series will give you a solid foundation to start building projects using modern C# and .NET with confidence. You'll learn about object-oriented programming; writing, testing, and debugging functions; and implementing interfaces. You'll take on .NET APIs for managing and querying data, working with the fi lesystem, and serialization. As you progress, you'll explore examples of cross-platform projects you can build and deploy, such as websites and services using ASP.NET Core. This latest edition integrates .NET 8 enhancements into its examples: type aliasing and primary constructors for concise and expressive code. You'll handle errors robustly through the new built-in guard clauses and explore a simplified implementation of caching in ASP.NET Core 8. If that's not enough, you'll also see how native ahead-of-time (AOT) compiler publish lets web services reduce memory use and run faster. You'll work with the seamless new HTTP editor in Visual Studio 2022 to enhance the testing and debugging process. You'll even get introduced to Blazor Full Stack with its new unified hosting model for unparalleled web development flexibility.</div> </span> <span> <h2 class="content-header h5 mb-2">Who is this book for?</h2> <div class="content-text mb-2">This book is for beginners as well as intermediate-level C# and .NET programmers who have worked with C# in the past and want to catch up with the changes made in the last few years. Prior exposure to C# or .NET is not a prerequisite. A general understanding of programming will help you to work through the book more comfortably, though the content is suitable for those completely new to programming. If you already have some C# and .NET skills and want to focus on developing practical apps, you can pick up Mark’s other .NET book, Apps and Services with .NET 8, instead.</div> </span> <span> <h2 class="content-header h5 mb-2">What you will learn</h2> <ul class="content-text mb-2" > <li> Discover C# 12's new features, including aliasing any type and primary constructors </li> <li> Try out the native AOT publish capability for ASP.NET Core 8 Minimal APIs web services </li> <li> Build rich web experiences using Blazor Full Stack, Razor Pages, and other ASP.NET Core features </li> <li> Integrate and update databases in your apps using Entity Framework Core models </li> <li> Query and manipulate data using LINQ </li> <li> Build and consume powerful services using Web API and Minimal API </li> </ul> </span> </section> <div class="device product-page-lhs-mobile"> <div class="product-details-section mt-2 hide"> <div class="product-details-section-header mb-2"> <h2 class="h5">Product Details</h2> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-right-C0prWw9V.svg" class="svg-icon icon icon-2" alt="Country selected" /> <div class="product-details-list"> Publication date, Length, Edition, Language, ISBN-13 </div> </div> <div id="product-details-divider"></div> <div class="product-details-section-wrap"> <div class="product-details-section-content mb-2 mt-2"> <span class="product-details-section-key">Publication date :</span> <span class="product-details-section-value">Nov 14, 2023</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Length: </span> <span class="product-details-section-value">828 pages</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Edition :</span> <span class="product-details-section-value">8th</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Language :</span> <span class="product-details-section-value">English</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">ISBN-13 :</span> <span class="product-details-section-value">9781837631988</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Category :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development" class="fw-600" > Web Development </a> </div> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Languages :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development/language/c-sharp" class="fw-600" > C# </a> </div> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Concepts :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development/concept/server-side-web-development" class="fw-600" > Server Side Web Development </a> </div> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Tools :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development/tool/dot-net-core" class="fw-600" > .NET Core </a> </div> </div> </div> </div> </div> </div> <div class="product-page-rhs desktop"> <div class="product-features mt-2"> <h2 class="h5">What do you get with eBook?</h2> <div class="product-features-contents mt-2 mb-2"> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/clock-light-gray-BKBqwFKP.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> <strong>Instant access</strong> to your Digital eBook purchase </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/download-D9UbDY4E.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> Download this book in <strong>EPUB</strong> and <strong>PDF</strong> formats </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/window-fullscreen-WTKF7ku4.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> Access this title in our online reader with advanced features </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/padlock-DTiPnt5G.svg" class="svg-icon icon-3" alt="Product feature icon" /> <span> <strong>DRM FREE</strong> - Read whenever, wherever and however you want </span> </div> <div class="product-features-contents-blocks"> <img src="https://www.packtpub.com/rebuild/build/assets/ai-assistant-icon-DbiXb--A.svg" class="svg-icon icon icon-3" alt="Product feature icon" /> <span> <strong>AI Assistant (beta)</strong> to help accelerate your learning </span> </div> </div> <div class="d-flex flex-col gap-10px sm-gap-3"> <form action="https://www.packtpub.com/checkout/add/eBook/9781837635870" method="get" > <button id="product-buy-now" type="submit" class="rebuild-btn rebuild-btn-primary" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837631988-eBook" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET Core" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="eBook" data-analytics-item-price="44.99" data-analytics-item-discount="20" > Buy Now </button> </form> <button class="rebuild-btn rebuild-btn-dark rebuild-btn-medium" aria-disabled="false" id="ebook-9781837631988" data-type="ebook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837635870/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837631988-eBook" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET Core" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="eBook" data-analytics-item-price="44.99" data-analytics-item-discount="20" > ADD TO CART </button> </div> </div> <div class="product-details-section mt-2 "> <div class="product-details-section-header mb-2"> <h2 class="h5">Product Details</h2> </div> <div id="product-details-divider"></div> <div class="product-details-section-wrap"> <div class="product-details-section-content mb-2 mt-2"> <span class="product-details-section-key">Publication date :</span> <span class="product-details-section-value">Nov 14, 2023</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Length: </span> <span class="product-details-section-value">828 pages</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Edition :</span> <span class="product-details-section-value">8th</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Language :</span> <span class="product-details-section-value">English</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">ISBN-13 :</span> <span class="product-details-section-value">9781837631988</span> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Category :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development" class="fw-600" > Web Development </a> </div> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Languages :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development/language/c-sharp" class="fw-600" > C# </a> </div> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Concepts :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development/concept/server-side-web-development" class="fw-600" > Server Side Web Development </a> </div> </div> <div class="product-details-section-content mb-2"> <span class="product-details-section-key">Tools :</span> <div class="product-details-section-value"> <a href="https://www.packtpub.com/en-sg/web-development/tool/dot-net-core" class="fw-600" > .NET Core </a> </div> </div> </div> </div> </div> <div id="price-plans" class="rebuild-modal d-none"> <div class="rebuild-modal-content rebuild-modal-content-xxl"> <div class="rebuild-modal-content-header"> <div class="subscription-price-plans-header"> <h2 class="rebuild-modal-content-header-title">Packt Subscriptions</h2> <span>See our plans and pricing</span> </div> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon icon icon-4" data-modal-close="price-plans" alt="Modal Close icon" /> </div> <div class="rebuild-modal-content-body scrollbar"> <div class="subscription-price-plans"> <div class="subscription-price-plans-block"> <div class="subscription-price-plans-block-title"> <span class="subscription-price-plans-block-title-price"> $19.99 </span> <span>billed monthly</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Unlimited access to Packt's library of 7,000+ practical books and videos</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Constantly refreshed with 50+ new titles a month</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Exclusive Early access to books as they're written</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Solve problems while you work with advanced search and reference features</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Offline reading on the mobile app</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Simple pricing, no contract</span> </div> <div class="subscription-price-plans-block-cta"> <div class="rebuild-btn-container text-center"> <a href="https://www.packtpub.com/checkout/subscription/monthly-packt-subscription-vz22?freeTrial" class="rebuild-btn rebuild-btn-primary"> START FREE TRIAL </a> </div> <div class="rebuild-btn-container text-center"> <a href="https://www.packtpub.com/checkout/subscription/monthly-packt-subscription-vz22" class="rebuild-btn btn-primary rebuild-btn-outline"> BUY NOW </a> </div> </div> </div> <div class="subscription-price-plans-block"> <div class="subscription-price-plans-block-title"> <span class="subscription-price-plans-block-title-price"> $199.99 </span> <span>billed annually</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Unlimited access to Packt's library of 7,000+ practical books and videos</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Constantly refreshed with 50+ new titles a month</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Exclusive Early access to books as they're written</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Solve problems while you work with advanced search and reference features</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Offline reading on the mobile app</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Choose a DRM-free eBook or Video every month to keep</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Exclusive print discounts</span> </div> <div class="subscription-price-plans-block-cta"> <div class="rebuild-btn-container text-center"> <a href="https://www.packtpub.com/checkout/subscription/packt-subscription-annual-launch-offer?freeTrial" class="rebuild-btn rebuild-btn-primary"> START FREE TRIAL </a> </div> <div class="rebuild-btn-container text-center"> <a href="https://www.packtpub.com/checkout/subscription/packt-subscription-annual-launch-offer" class="rebuild-btn btn-primary rebuild-btn-outline"> BUY NOW </a> </div> </div> </div> <div class="subscription-price-plans-block"> <div class="subscription-price-plans-block-title"> <span class="subscription-price-plans-block-title-price"> $279.99 </span> <span>billed in 18 months</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Unlimited access to Packt's library of 7,000+ practical books and videos</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Constantly refreshed with 50+ new titles a month</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Exclusive Early access to books as they're written</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Solve problems while you work with advanced search and reference features</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Offline reading on the mobile app</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Choose a DRM-free eBook or Video every month to keep</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each</span> </div> <div class="subscription-price-plans-block-features"> <img src="https://www.packtpub.com/rebuild/build/assets/tick-CxqPKpDp.svg" class="svg-icon subscription-price-plans-block-tick" alt="Feature tick icon" /> <span class="subscription-price-plans-block-label">Exclusive print discounts</span> </div> <div class="subscription-price-plans-block-cta"> <div class="rebuild-btn-container text-center"> <a href="https://www.packtpub.com/checkout/subscription/packt-subscription-18-months-special-offer?freeTrial" class="rebuild-btn rebuild-btn-primary"> START FREE TRIAL </a> </div> <div class="rebuild-btn-container text-center"> <a href="https://www.packtpub.com/checkout/subscription/packt-subscription-18-months-special-offer" class="rebuild-btn btn-primary rebuild-btn-outline"> BUY NOW </a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="container bg-light frequently-bought-together pt-3 pb-3"> <div class="product-frequently-bought"> <h2 class="h2 mb-2 fbt-heading">Frequently bought together</h2> <hr class="fbt-heading-hr"> <div class="product-frequently-bought-products desktop"> <div class="product-card" data-price="67.99" data-regular-price="67.99" data-analytics-item-id="SG-9781837637133-Paperback" data-analytics-item-title="Apps and Services with .NET 8" data-analytics-item-category="Mobile" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Cross Platform Mobile Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/apps-and-services-with-net-8-9781837634071" target="_blank"> <img src="https://content.packt.com/B19587/cover_image_small.jpg" alt="Apps and Services with .NET 8" srcset="https://content.packt.com/_/image/xsmall/B19587/cover_image_small.jpg 40w, https://content.packt.com/_/image/small/B19587/cover_image_small.jpg 60w, https://content.packt.com/_/image/medium/B19587/cover_image_small.jpg 80w, https://content.packt.com/_/image/large/B19587/cover_image_small.jpg 100w, https://content.packt.com/_/image/xlarge/B19587/cover_image_small.jpg 150w, https://content.packt.com/_/image/xxlarge/B19587/cover_image_small.jpg 200w, https://content.packt.com/_/image/original/B19587/cover_image_small.jpg 810w" sizes="150px" width="150" height="185" class="fbt-add-to-cart" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Apps and Services with .NET 8 </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Dec 2023</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">798 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.8 (21)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-97818376371339781837637133"> eBook </div> <ul id="product-price-product-card-select-97818376371339781837637133" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$36.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$67.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$36.99</strong> <del>S$53.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$67.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="9781837637133-0" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837637133/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837637133-Paperback" data-analytics-item-title="Apps and Services with .NET 8" data-analytics-item-category="Mobile" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Cross Platform Mobile Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > ADD TO CART </button> <div class="product-card-checkbox"> <input type="checkbox" id="product-checkbox-9781837637133" name="product-checkbox-9781837637133" checked class="product-card-content-custom product-checkbox"> </div> </div> </div> </div> </div> </div> <div class="product-card" data-price="80.99" data-regular-price="80.99" data-analytics-item-id="SG-9781837635870-Paperback" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="80.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988" target="_blank"> <img src="https://content.packt.com/B19586/cover_image.jpg" alt="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" srcset="https://content.packt.com/_/image/xsmall/B19586/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19586/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19586/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19586/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19586/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19586/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19586/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="fbt-add-to-cart" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Nov 2023</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">828 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.4 (72)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-97818376358709781837635870"> eBook </div> <ul id="product-price-product-card-select-97818376358709781837635870" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$44.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$80.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$44.99</strong> <del>S$64.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$80.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="9781837635870-1" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837635870/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837635870-Paperback" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="80.99" data-analytics-item-discount="0" > ADD TO CART </button> <div class="product-card-checkbox"> <input type="checkbox" id="product-checkbox-9781837635870" name="product-checkbox-9781837635870" checked class="product-card-content-custom product-checkbox"> </div> </div> </div> </div> </div> </div> <div class="product-card" data-price="67.99" data-regular-price="67.99" data-analytics-item-id="SG-9781803247762-Paperback" data-analytics-item-title="50 Algorithms Every Programmer Should Know" data-analytics-item-category="Programming" data-analytics-item-language="Processing" data-analytics-item-framework="Processing" data-analytics-item-concept="Data Structures and Algorithms" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/50-algorithms-every-programmer-should-know-9781803246475" target="_blank"> <img src="https://content.packt.com/B18046/cover_image.jpg" alt="50 Algorithms Every Programmer Should Know" srcset="https://content.packt.com/_/image/xsmall/B18046/cover_image.jpg 40w, https://content.packt.com/_/image/small/B18046/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B18046/cover_image.jpg 80w, https://content.packt.com/_/image/large/B18046/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B18046/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B18046/cover_image.jpg 200w, https://content.packt.com/_/image/original/B18046/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="fbt-add-to-cart" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> 50 Algorithms Every Programmer Should Know </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Sep 2023</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">538 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.5 (67)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-97818032477629781803247762"> eBook </div> <ul id="product-price-product-card-select-97818032477629781803247762" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$36.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$67.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$36.99</strong> <del>S$53.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$67.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="9781803247762-2" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803247762/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803247762-Paperback" data-analytics-item-title="50 Algorithms Every Programmer Should Know" data-analytics-item-category="Programming" data-analytics-item-language="Processing" data-analytics-item-framework="Processing" data-analytics-item-concept="Data Structures and Algorithms" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > ADD TO CART </button> <div class="product-card-checkbox"> <input type="checkbox" id="product-checkbox-9781803247762" name="product-checkbox-9781803247762" checked class="product-card-content-custom product-checkbox"> </div> </div> </div> </div> </div> </div> <div class="product-total-card"> <div class="product-total-card-icons"> <img src="https://www.packtpub.com/rebuild/build/assets/stars-CHG8Onp0.svg" class="svg-icon " width="50" height="100" alt="Stars icon" /> </div> <div class="product-total-card-body"> <span class="total-heading">Total</span> <span class="price" id="total-price-container"> <span id="currency-symbol">S$</span> <span id="total-price">216.97</span> </span> </div> <div class="product-total-card-footer"> <button class="rebuild-btn rebuild-btn-primary add-selected-to-cart" aria-disabled="false" id="add-multiple-to-cart-btn" data-route="https://www.packtpub.com/api/cart/add-multiple" > ADD SELECTED TO CART </button> </div> </div> </div> <div class="product-frequently-bought-products-mobile device"> <div class="product-frequently-bought-products-mobile-cover"> <div class="product-frequently-bought-products-mobile-cover-item"> <a class="product-frequently-bought-products-mobile-cover-item-link" href="https://www.packtpub.com/en-sg/product/apps-and-services-with-net-8-9781837637133" target="_blank"> <img src="https://content.packt.com/B19587/cover_image_small.jpg" alt="Apps and Services with .NET 8" srcset="https://content.packt.com/_/image/xsmall/B19587/cover_image_small.jpg 40w, https://content.packt.com/_/image/small/B19587/cover_image_small.jpg 60w, https://content.packt.com/_/image/medium/B19587/cover_image_small.jpg 80w, https://content.packt.com/_/image/large/B19587/cover_image_small.jpg 100w, https://content.packt.com/_/image/xlarge/B19587/cover_image_small.jpg 150w, https://content.packt.com/_/image/xxlarge/B19587/cover_image_small.jpg 200w, https://content.packt.com/_/image/original/B19587/cover_image_small.jpg 810w" sizes="95px" width="95" height="120" class="product-frequently-bought-products-mobile-cover-item-link-image" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> </a> <div class="product-frequently-bought-products-mobile-price"> <div class="product-frequently-bought-products-mobile-price-item"> <div class="mobile-product-item " data-price="67.99" data-regular-price="67.99" data-product-id="9781837637133" data-type="Paperback"> <div> <span id="product-price-mobile"> S$67.99 </span> </div> <div class="slider-product-card-body-checkbox product-frequently-bought-products-mobile-checkbox"> <input type="checkbox" class="slider-product-card-body-checkbox-input product-frequently-bought-products-mobile-checkbox-input product-checkbox" checked /> </div> </div> <div class="fbt-mobile-add-to-cart"> <button class="rebuild-btn fbt-mobile-add-to-cart-btn" aria-disabled="false" id="9781837637133" data-type="Paperback" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837637133/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837637133-Paperback" data-analytics-item-title="Apps and Services with .NET 8" data-analytics-item-category="Mobile" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Cross Platform Mobile Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> <div class="product-frequently-bought-products-mobile-cover-item"> <a class="product-frequently-bought-products-mobile-cover-item-link" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870" target="_blank"> <img src="https://content.packt.com/B19586/cover_image.jpg" alt="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" srcset="https://content.packt.com/_/image/xsmall/B19586/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19586/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19586/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19586/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19586/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19586/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19586/cover_image.jpg 810w" sizes="95px" width="95" height="120" class="product-frequently-bought-products-mobile-cover-item-link-image" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> </a> <div class="product-frequently-bought-products-mobile-price"> <div class="product-frequently-bought-products-mobile-price-item"> <div class="mobile-product-item " data-price="80.99" data-regular-price="80.99" data-product-id="9781837635870" data-type="Paperback"> <div> <span id="product-price-mobile"> S$80.99 </span> </div> <div class="slider-product-card-body-checkbox product-frequently-bought-products-mobile-checkbox"> <input type="checkbox" class="slider-product-card-body-checkbox-input product-frequently-bought-products-mobile-checkbox-input product-checkbox" checked /> </div> </div> <div class="fbt-mobile-add-to-cart"> <button class="rebuild-btn fbt-mobile-add-to-cart-btn" aria-disabled="false" id="9781837635870" data-type="Paperback" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837635870/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837635870-Paperback" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="80.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> <div class="product-frequently-bought-products-mobile-cover-item"> <a class="product-frequently-bought-products-mobile-cover-item-link" href="https://www.packtpub.com/en-sg/product/50-algorithms-every-programmer-should-know-9781803247762" target="_blank"> <img src="https://content.packt.com/B18046/cover_image.jpg" alt="50 Algorithms Every Programmer Should Know" srcset="https://content.packt.com/_/image/xsmall/B18046/cover_image.jpg 40w, https://content.packt.com/_/image/small/B18046/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B18046/cover_image.jpg 80w, https://content.packt.com/_/image/large/B18046/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B18046/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B18046/cover_image.jpg 200w, https://content.packt.com/_/image/original/B18046/cover_image.jpg 810w" sizes="95px" width="95" height="120" class="product-frequently-bought-products-mobile-cover-item-link-image" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> </a> <div class="product-frequently-bought-products-mobile-price"> <div class="product-frequently-bought-products-mobile-price-item"> <div class="mobile-product-item " data-price="67.99" data-regular-price="67.99" data-product-id="9781803247762" data-type="Paperback"> <div> <span id="product-price-mobile"> S$67.99 </span> </div> <div class="slider-product-card-body-checkbox product-frequently-bought-products-mobile-checkbox"> <input type="checkbox" class="slider-product-card-body-checkbox-input product-frequently-bought-products-mobile-checkbox-input product-checkbox" checked /> </div> </div> <div class="fbt-mobile-add-to-cart"> <button class="rebuild-btn fbt-mobile-add-to-cart-btn" aria-disabled="false" id="9781803247762" data-type="Paperback" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803247762/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803247762-Paperback" data-analytics-item-title="50 Algorithms Every Programmer Should Know" data-analytics-item-category="Programming" data-analytics-item-language="Processing" data-analytics-item-framework="Processing" data-analytics-item-concept="Data Structures and Algorithms" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> <div class="product-frequently-bought-products-mobile-block"> <div class="product-frequently-bought-products-mobile-block-total"> <span class="product-frequently-bought-products-mobile-block-total-price"> <span id="total-heading-mobile">Total</span> <span id="currency-symbol">S$</span> <span id="total-price-mobile">216.97</span> </span> <img src="https://www.packtpub.com/rebuild/build/assets/stars-CHG8Onp0.svg" class="svg-icon " width="65" height="100" alt="Stars icon" /> </div> <div class="product-total-card-footer"> <button class="rebuild-btn rebuild-btn-primary add-selected-to-cart" aria-disabled="false" id="add-multiple-to-cart-btn" data-route="https://www.packtpub.com/api/cart/add-multiple" > ADD SELECTED TO CART </button> </div> </div> </div> </div> </div> <div class="container pt-2 pb-2" id="tocBlock"> <div class="packt-accordion" data-single-open="false" data-parent-class= > <div class="packt-accordion-title"> <h2>Table of Contents</h2> <span>17 Chapters</span> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Hello, C#! Welcome, .NET!</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/hello-c-welcome-net-ch01lvl1sec01" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Hello, C#! Welcome, .NET! </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/introducing-this-book-and-its-contents-ch01lvl1sec02" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Introducing this book and its contents </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/setting-up-your-development-environment-ch01lvl1sec03" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Setting up your development environment </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/understanding-net-ch01lvl1sec04" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding .NET </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/building-console-apps-using-visual-studio-2022-ch01lvl1sec05" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building console apps using Visual Studio 2022 </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/building-console-apps-using-visual-studio-code-ch01lvl1sec06" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building console apps using Visual Studio Code </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/making-good-use-of-the-github-repository-for-this-book-ch01lvl1sec07" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Making good use of the GitHub repository for this book </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/looking-for-help-ch01lvl1sec08" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Looking for help </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/practicing-and-exploring-ch01lvl1sec09" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/summary-ch01lvl1sec10" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/hello-c-sharp-welcome-dot-net-1/section/learn-more-on-discord-ch01lvl1sec11" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Learn more on Discord </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Speaking C#</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/speaking-c-ch02lvl1sec12" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Speaking C# </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/introducing-the-c-language-ch02lvl1sec13" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Introducing the C# language </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/discovering-your-c-compiler-version-ch02lvl1sec14" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Discovering your C# compiler version </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/understanding-c-grammar-and-vocabulary-ch02lvl1sec15" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding C# grammar and vocabulary </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/working-with-variables-ch02lvl1sec16" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with variables </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/exploring-more-about-console-apps-ch02lvl1sec17" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Exploring more about console apps </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/understanding-async-and-await-ch02lvl1sec18" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding async and await </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/practicing-and-exploring-ch02lvl1sec19" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/speaking-c-sharp-2/section/summary-ch02lvl1sec20" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Controlling Flow, Converting Types, and Handling Exceptions</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/controlling-flow-converting-types-and-handling-exceptions-ch03lvl1sec21" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Controlling Flow, Converting Types, and Handling Exceptions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/operating-on-variables-ch03lvl1sec22" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Operating on variables </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/understanding-selection-statements-ch03lvl1sec23" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding selection statements </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/understanding-iteration-statements-ch03lvl1sec24" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding iteration statements </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/storing-multiple-values-in-an-array-ch03lvl1sec25" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Storing multiple values in an array </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/casting-and-converting-between-types-ch03lvl1sec26" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Casting and converting between types </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/handling-exceptions-ch03lvl1sec27" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Handling exceptions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/checking-for-overflow-ch03lvl1sec28" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Checking for overflow </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/practicing-and-exploring-ch03lvl1sec29" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/controlling-flow-converting-types-and-handling-exceptions-3/section/summary-ch03lvl1sec30" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Writing, Debugging, and Testing Functions</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/writing-debugging-and-testing-functions-ch04lvl1sec31" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Writing, Debugging, and Testing Functions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/writing-functions-ch04lvl1sec32" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Writing functions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/debugging-during-development-ch04lvl1sec33" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Debugging during development </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/hot-reloading-during-development-ch04lvl1sec34" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Hot reloading during development </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/logging-during-development-and-runtime-ch04lvl1sec35" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Logging during development and runtime </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/unit-testing-ch04lvl1sec36" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Unit testing </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/throwing-and-catching-exceptions-in-functions-ch04lvl1sec37" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Throwing and catching exceptions in functions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/practicing-and-exploring-ch04lvl1sec38" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/writing-debugging-and-testing-functions-4/section/summary-ch04lvl1sec39" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Building Your Own Types with Object-Oriented Programming</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/building-your-own-types-with-object-oriented-programming-ch05lvl1sec40" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building Your Own Types with Object-Oriented Programming </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/talking-about-oop-ch05lvl1sec41" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Talking about OOP </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/building-class-libraries-ch05lvl1sec42" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building class libraries </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/storing-data-in-fields-ch05lvl1sec43" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Storing data in fields </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/working-with-methods-and-tuples-ch05lvl1sec44" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with methods and tuples </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/controlling-access-with-properties-and-indexers-ch05lvl1sec45" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Controlling access with properties and indexers </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/pattern-matching-with-objects-ch05lvl1sec46" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Pattern matching with objects </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/working-with-record-types-ch05lvl1sec47" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with record types </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/practicing-and-exploring-ch05lvl1sec48" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-your-own-types-with-object-oriented-programming-5/section/summary-ch05lvl1sec49" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Implementing Interfaces and Inheriting Classes</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/implementing-interfaces-and-inheriting-classes-ch06lvl1sec50" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Implementing Interfaces and Inheriting Classes </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/setting-up-a-class-library-and-console-application-ch06lvl1sec51" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Setting up a class library and console application </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/static-methods-and-overloading-operators-ch06lvl1sec52" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Static methods and overloading operators </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/making-types-safely-reusable-with-generics-ch06lvl1sec53" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Making types safely reusable with generics </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/raising-and-handling-events-ch06lvl1sec54" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Raising and handling events </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/implementing-interfaces-ch06lvl1sec55" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Implementing interfaces </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/managing-memory-with-reference-and-value-types-ch06lvl1sec56" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Managing memory with reference and value types </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/working-with-null-values-ch06lvl1sec57" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with null values </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/inheriting-from-classes-ch06lvl1sec58" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Inheriting from classes </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/casting-within-inheritance-hierarchies-ch06lvl1sec59" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Casting within inheritance hierarchies </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/inheriting-and-extending-net-types-ch06lvl1sec60" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Inheriting and extending .NET types </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/summarizing-custom-type-choices-ch06lvl1sec61" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summarizing custom type choices </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/practicing-and-exploring-ch06lvl1sec62" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/implementing-interfaces-and-inheriting-classes-6/section/summary-ch06lvl1sec63" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Packaging and Distributing .NET Types</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/packaging-and-distributing-net-types-ch07lvl1sec64" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Packaging and Distributing .NET Types </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/the-road-to-net-8-ch07lvl1sec65" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> The road to .NET 8 </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/understanding-net-components-ch07lvl1sec66" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding .NET components </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/publishing-your-code-for-deployment-ch07lvl1sec67" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Publishing your code for deployment </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/native-ahead-of-time-compilation-ch07lvl1sec68" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Native ahead-of-time compilation </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/decompiling-net-assemblies-ch07lvl1sec69" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Decompiling .NET assemblies </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/packaging-your-libraries-for-nuget-distribution-ch07lvl1sec70" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Packaging your libraries for NuGet distribution </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/working-with-preview-features-ch07lvl1sec71" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with preview features </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/practicing-and-exploring-ch07lvl1sec72" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/packaging-and-distributing-dot-net-types-7/section/summary-ch07lvl1sec73" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Working with Common .NET Types</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/working-with-common-net-types-ch08lvl1sec74" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with Common .NET Types </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/working-with-numbers-ch08lvl1sec75" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with numbers </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/working-with-text-ch08lvl1sec76" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with text </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/pattern-matching-with-regular-expressions-ch08lvl1sec77" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Pattern matching with regular expressions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/storing-multiple-objects-in-collections-ch08lvl1sec78" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Storing multiple objects in collections </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/working-with-spans-indexes-and-ranges-ch08lvl1sec79" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with spans, indexes, and ranges </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/practicing-and-exploring-ch08lvl1sec80" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-common-dot-net-types-8/section/summary-ch08lvl1sec81" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Working with Files, Streams, and Serialization</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/working-with-files-streams-and-serialization-ch09lvl1sec82" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with Files, Streams, and Serialization </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/managing-the-filesystem-ch09lvl1sec83" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Managing the filesystem </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/reading-and-writing-with-streams-ch09lvl1sec84" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Reading and writing with streams </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/encoding-and-decoding-text-ch09lvl1sec85" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Encoding and decoding text </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/serializing-object-graphs-ch09lvl1sec86" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Serializing object graphs </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/working-with-environment-variables-ch09lvl1sec87" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with environment variables </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/practicing-and-exploring-ch09lvl1sec88" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-files-streams-and-serialization-9/section/summary-ch09lvl1sec89" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Working with Data Using Entity Framework Core</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/working-with-data-using-entity-framework-core-ch10lvl1sec90" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Working with Data Using Entity Framework Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/understanding-modern-databases-ch10lvl1sec91" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding modern databases </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/setting-up-ef-core-in-a-net-project-ch10lvl1sec92" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Setting up EF Core in a .NET project </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/defining-ef-core-models-ch10lvl1sec93" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Defining EF Core models </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/querying-ef-core-models-ch10lvl1sec94" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Querying EF Core models </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/loading-and-tracking-patterns-with-ef-core-ch10lvl1sec95" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Loading and tracking patterns with EF Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/modifying-data-with-ef-core-ch10lvl1sec96" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Modifying data with EF Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/practicing-and-exploring-ch10lvl1sec97" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/working-with-data-using-entity-framework-core-10/section/summary-ch10lvl1sec98" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Querying and Manipulating Data Using LINQ</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/querying-and-manipulating-data-using-linq-ch11lvl1sec99" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Querying and Manipulating Data Using LINQ </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/writing-linq-expressions-ch11lvl1sec00" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Writing LINQ expressions </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/linq-in-practice-ch11lvl1sec01" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> LINQ in practice </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/sorting-and-more-ch11lvl1sec02" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Sorting and more </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/using-linq-with-ef-core-ch11lvl1sec03" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Using LINQ with EF Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/joining-grouping-and-lookups-ch11lvl1sec04" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Joining, grouping, and lookups </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/aggregating-and-paging-sequences-ch11lvl1sec05" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Aggregating and paging sequences </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/practicing-and-exploring-ch11lvl1sec06" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/querying-and-manipulating-data-using-linq-11/section/summary-ch11lvl1sec07" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Introducing Web Development Using ASP.NET Core</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/introducing-web-development-using-aspnet-core-ch12lvl1sec08" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Introducing Web Development Using ASP.NET Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/understanding-aspnet-core-ch12lvl1sec09" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding ASP.NET Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/structuring-projects-ch12lvl1sec10" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Structuring projects </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/building-an-entity-model-for-use-in-the-rest-of-the-book-ch12lvl1sec11" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building an entity model for use in the rest of the book </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/understanding-web-development-ch12lvl1sec12" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Understanding web development </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/practicing-and-exploring-ch12lvl1sec13" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/introducing-web-development-using-asp-dot-net-core-12/section/summary-ch12lvl1sec14" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Building Websites Using ASP.NET Core Razor Pages</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/building-websites-using-aspnet-core-razor-pages-ch13lvl1sec15" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building Websites Using ASP.NET Core Razor Pages </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/exploring-aspnet-core-ch13lvl1sec16" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Exploring ASP.NET Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/exploring-aspnet-core-razor-pages-ch13lvl1sec17" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Exploring ASP.NET Core Razor Pages </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/using-entity-framework-core-with-aspnet-core-ch13lvl1sec18" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Using Entity Framework Core with ASP.NET Core </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/configuring-services-and-the-http-request-pipeline-ch13lvl1sec19" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Configuring services and the HTTP request pipeline </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/practicing-and-exploring-ch13lvl1sec20" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-websites-using-asp-dot-net-core-razor-pages-13/section/summary-ch13lvl1sec21" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Building and Consuming Web Services</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/building-and-consuming-web-services-ch14lvl1sec22" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building and Consuming Web Services </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/building-web-services-using-the-aspnet-core-web-api-ch14lvl1sec23" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building web services using the ASP.NET Core Web API </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/creating-a-web-service-for-the-northwind-database-ch14lvl1sec24" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Creating a web service for the Northwind database </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/documenting-and-testing-web-services-ch14lvl1sec25" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Documenting and testing web services </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/consuming-web-services-using-http-clients-ch14lvl1sec26" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Consuming web services using HTTP clients </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/practicing-and-exploring-ch14lvl1sec27" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-and-consuming-web-services-14/section/summary-ch14lvl1sec28" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Building User Interfaces Using Blazor</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/building-user-interfaces-using-blazor-ch15lvl1sec29" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building User Interfaces Using Blazor </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/history-of-blazor-ch15lvl1sec30" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> History of Blazor </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/reviewing-the-blazor-web-app-project-template-ch15lvl1sec31" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Reviewing the Blazor Web App project template </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/building-components-using-blazor-ch15lvl1sec32" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Building components using Blazor </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/enabling-client-side-execution-using-webassembly-ch15lvl1sec33" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Enabling client-side execution using WebAssembly </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/practicing-and-exploring-ch15lvl1sec34" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Practicing and exploring </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/building-user-interfaces-using-blazor-15/section/summary-ch15lvl1sec35" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Summary </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Epilogue</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/epilogue-16/section/epilogue-ch16lvl1sec36" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Epilogue </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/epilogue-16/section/next-steps-on-your-c-and-net-learning-journey-ch16lvl1sec37" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Next steps on your C# and .NET learning journey </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/epilogue-16/section/the-ninth-edition-coming-november-2024-ch16lvl1sec38" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> The ninth edition, coming November 2024 </div> </a> <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/epilogue-16/section/good-luck-ch16lvl1sec39" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Good luck! </div> </a> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span class="">Index</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar isOpen" > <a href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837635870/chapter/index-17/section/index-ch17lvl1sec40" target="_blank" class="packt-accordion-header packt-accordion-header-toc-hover no-style-anchor pl-3" > <div class="packt-accordion-header-dot"> Index </div> </a> </div> </div> </div> <div class="container bg-light pt-2 pb-2"> <div class="carousel"> <div class="carousel-header"> <div class="carousel-header-left"> <h2 class="carousel-header-left-title">Recommendations for you</h2> </div> <span class="carousel-header-right"></span> </div> <div class="carousel-body"> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-left-DKeTWfdp.svg" class="svg-icon carousel-body-arrow carousel-body-arrow-left " width="35" height="24" alt="Left arrow icon" /> <div class="carousel-body-items" data-carousel-container data-visible-items="5" data-analytics-type="view_item_list" data-analytics-list-id="recommended" data-analytics-list-name="Recommendations for you" data-analytics-currency="SGD" data-carousel-container-id="carousel-header-actions-recommended" > <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="1" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781805127307-Paperback" data-analytics-item-title="React and React Native" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="React" data-analytics-item-concept="Front End Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="59.99" data-analytics-item-discount="0" > <div class="product-card" data-price="59.99" data-regular-price="59.99" data-analytics-item-id="SG-9781805127307-Paperback" data-analytics-item-title="React and React Native" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="React" data-analytics-item-concept="Front End Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="59.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/react-and-react-native-9781805126874" target="_blank"> <img src="https://content.packt.com/B19636/cover_image.jpg" alt="React and React Native" srcset="https://content.packt.com/_/image/xsmall/B19636/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19636/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19636/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19636/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19636/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19636/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19636/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> React and React Native </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Apr 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">508 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.3 (9)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781805127307"> eBook </div> <ul id="product-price-product-card-select-recommended9781805127307" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$32.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$59.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$32.99</strong> <del>S$47.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$59.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-0" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781805127307/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781805127307-Paperback" data-analytics-item-title="React and React Native" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="React" data-analytics-item-concept="Front End Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="59.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="2" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781835461556-Paperback" data-analytics-item-title="Django 5 for the Impatient " data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="Django" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="1" data-analytics-item-format="Paperback" data-analytics-item-price="47.99" data-analytics-item-discount="0" > <div class="product-card" data-price="47.99" data-regular-price="47.99" data-analytics-item-id="SG-9781835461556-Paperback" data-analytics-item-title="Django 5 for the Impatient " data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="Django" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="47.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/django-5-for-the-impatient-9781835468333" target="_blank"> <img src="https://content.packt.com/B22457/cover_image.jpg" alt="Django 5 for the Impatient " srcset="https://content.packt.com/_/image/xsmall/B22457/cover_image.jpg 40w, https://content.packt.com/_/image/small/B22457/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B22457/cover_image.jpg 80w, https://content.packt.com/_/image/large/B22457/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B22457/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B22457/cover_image.jpg 200w, https://content.packt.com/_/image/original/B22457/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Django 5 for the Impatient </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Sep 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">228 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4 (2)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781835461556"> eBook </div> <ul id="product-price-product-card-select-recommended9781835461556" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$25.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$47.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$25.99</strong> <del>S$37.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$47.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-1" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781835461556/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781835461556-Paperback" data-analytics-item-title="Django 5 for the Impatient " data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="Django" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="47.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="3" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781805125457-Paperback" data-analytics-item-title="Django 5 By Example" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="Django" data-analytics-item-concept="Full Stack Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="2" data-analytics-item-format="Paperback" data-analytics-item-price="39.99" data-analytics-item-discount="28" > <div class="product-card" data-price="39.99" data-regular-price="67.99" data-analytics-item-id="SG-9781805125457-Paperback" data-analytics-item-title="Django 5 By Example" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="Django" data-analytics-item-concept="Full Stack Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="39.99" data-analytics-item-discount="28" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/django-5-by-example-9781805122340" target="_blank"> <img src="https://content.packt.com/B21088/cover_image.jpg" alt="Django 5 By Example" srcset="https://content.packt.com/_/image/xsmall/B21088/cover_image.jpg 40w, https://content.packt.com/_/image/small/B21088/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B21088/cover_image.jpg 80w, https://content.packt.com/_/image/large/B21088/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B21088/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B21088/cover_image.jpg 200w, https://content.packt.com/_/image/original/B21088/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Django 5 By Example </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Apr 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">820 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.5 (36)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781805125457"> eBook </div> <ul id="product-price-product-card-select-recommended9781805125457" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$31.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$39.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$31.99</strong> <del>S$53.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <strong>S$39.99</strong> <del>S$67.99</del> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-2" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781805125457/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781805125457-Paperback" data-analytics-item-title="Django 5 By Example" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="Django" data-analytics-item-concept="Full Stack Web Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="39.99" data-analytics-item-discount="28" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="4" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781835886304-Paperback" data-analytics-item-title="AI Strategies for Web Development" data-analytics-item-category="Web Development" data-analytics-item-language="" data-analytics-item-framework="" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="3" data-analytics-item-format="Paperback" data-analytics-item-price="51.99" data-analytics-item-discount="0" > <div class="product-card" data-price="51.99" data-regular-price="51.99" data-analytics-item-id="SG-9781835886304-Paperback" data-analytics-item-title="AI Strategies for Web Development" data-analytics-item-category="Web Development" data-analytics-item-language="" data-analytics-item-framework="" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="51.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/ai-strategies-for-web-development-9781835886311" target="_blank"> <img src="https://content.packt.com/B22204/cover_image.jpg" alt="AI Strategies for Web Development" srcset="https://content.packt.com/_/image/xsmall/B22204/cover_image.jpg 40w, https://content.packt.com/_/image/small/B22204/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B22204/cover_image.jpg 80w, https://content.packt.com/_/image/large/B22204/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B22204/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B22204/cover_image.jpg 200w, https://content.packt.com/_/image/original/B22204/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> AI Strategies for Web Development </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Sep 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">458 pages</span> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781835886304"> eBook </div> <ul id="product-price-product-card-select-recommended9781835886304" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$27.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$51.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$27.99</strong> <del>S$40.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$51.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-3" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781835886304/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781835886304-Paperback" data-analytics-item-title="AI Strategies for Web Development" data-analytics-item-category="Web Development" data-analytics-item-language="" data-analytics-item-framework="" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="51.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="5" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781805126089-Paperback" data-analytics-item-title="Mastering Angular Test-Driven Development" data-analytics-item-category="Web Development" data-analytics-item-language="Typescript" data-analytics-item-framework="Angular" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="4" data-analytics-item-format="Paperback" data-analytics-item-price="51.99" data-analytics-item-discount="0" > <div class="product-card" data-price="51.99" data-regular-price="51.99" data-analytics-item-id="SG-9781805126089-Paperback" data-analytics-item-title="Mastering Angular Test-Driven Development" data-analytics-item-category="Web Development" data-analytics-item-language="Typescript" data-analytics-item-framework="Angular" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="51.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/mastering-angular-test-driven-development-9781805127932" target="_blank"> <img src="https://content.packt.com/B21146/cover_image.jpg" alt="Mastering Angular Test-Driven Development" srcset="https://content.packt.com/_/image/xsmall/B21146/cover_image.jpg 40w, https://content.packt.com/_/image/small/B21146/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B21146/cover_image.jpg 80w, https://content.packt.com/_/image/large/B21146/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B21146/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B21146/cover_image.jpg 200w, https://content.packt.com/_/image/original/B21146/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Mastering Angular Test-Driven Development </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Oct 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">246 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">5 (1)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781805126089"> eBook </div> <ul id="product-price-product-card-select-recommended9781805126089" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$27.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$51.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$27.99</strong> <del>S$40.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$51.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-4" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781805126089/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781805126089-Paperback" data-analytics-item-title="Mastering Angular Test-Driven Development" data-analytics-item-category="Web Development" data-analytics-item-language="Typescript" data-analytics-item-framework="Angular" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="51.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="6" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781835467145-Paperback" data-analytics-item-title="GraphQL Best Practices" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="GraphQL" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="5" data-analytics-item-format="Paperback" data-analytics-item-price="53.99" data-analytics-item-discount="0" > <div class="product-card" data-price="53.99" data-regular-price="53.99" data-analytics-item-id="SG-9781835467145-Paperback" data-analytics-item-title="GraphQL Best Practices" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="GraphQL" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="53.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/graphql-best-practices-9781835462522" target="_blank"> <img src="https://content.packt.com/B22056/cover_image.jpg" alt="GraphQL Best Practices" srcset="https://content.packt.com/_/image/xsmall/B22056/cover_image.jpg 40w, https://content.packt.com/_/image/small/B22056/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B22056/cover_image.jpg 80w, https://content.packt.com/_/image/large/B22056/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B22056/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B22056/cover_image.jpg 200w, https://content.packt.com/_/image/original/B22056/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> GraphQL Best Practices </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Oct 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">422 pages</span> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781835467145"> eBook </div> <ul id="product-price-product-card-select-recommended9781835467145" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$29.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$53.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$29.99</strong> <del>S$43.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$53.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-5" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781835467145/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781835467145-Paperback" data-analytics-item-title="GraphQL Best Practices" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="GraphQL" data-analytics-item-concept="Web Programming" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="53.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="7" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781837635870-Paperback" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="6" data-analytics-item-format="Paperback" data-analytics-item-price="80.99" data-analytics-item-discount="0" > <div class="product-card" data-price="80.99" data-regular-price="80.99" data-analytics-item-id="SG-9781837635870-Paperback" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="80.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/c-12-and-net-8-modern-cross-platform-development-fundamentals-9781837631988" target="_blank"> <img src="https://content.packt.com/B19586/cover_image.jpg" alt="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" srcset="https://content.packt.com/_/image/xsmall/B19586/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19586/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19586/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19586/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19586/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19586/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19586/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Nov 2023</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">828 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.4 (72)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781837635870"> eBook </div> <ul id="product-price-product-card-select-recommended9781837635870" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$44.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$80.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$44.99</strong> <del>S$64.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$80.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-6" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837635870/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837635870-Paperback" data-analytics-item-title="C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2023" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="80.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="8" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781803245966-Paperback" data-analytics-item-title="Building Python Microservices with FastAPI" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="FastAPI" data-analytics-item-concept="Microservices" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="7" data-analytics-item-format="Paperback" data-analytics-item-price="63.99" data-analytics-item-discount="0" > <div class="product-card" data-price="63.99" data-regular-price="63.99" data-analytics-item-id="SG-9781803245966-Paperback" data-analytics-item-title="Building Python Microservices with FastAPI" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="FastAPI" data-analytics-item-concept="Microservices" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="63.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/building-python-microservices-with-fastapi-9781803238791" target="_blank"> <img src="https://content.packt.com/B17975/cover_image.jpg" alt="Building Python Microservices with FastAPI" srcset="https://content.packt.com/_/image/xsmall/B17975/cover_image.jpg 40w, https://content.packt.com/_/image/small/B17975/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B17975/cover_image.jpg 80w, https://content.packt.com/_/image/large/B17975/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B17975/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B17975/cover_image.jpg 200w, https://content.packt.com/_/image/original/B17975/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Building Python Microservices with FastAPI </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Aug 2022</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">420 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">3.9 (9)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781803245966"> eBook </div> <ul id="product-price-product-card-select-recommended9781803245966" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$34.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$63.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$34.99</strong> <del>S$50.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$63.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-7" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803245966/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803245966-Paperback" data-analytics-item-title="Building Python Microservices with FastAPI" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="FastAPI" data-analytics-item-concept="Microservices" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="63.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="9" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781837630684-Paperback" data-analytics-item-title="Building Production-Grade Web Applications with Supabase" data-analytics-item-category="Web Development" data-analytics-item-language="Typescript" data-analytics-item-framework="Next.js" data-analytics-item-concept="Application Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="8" data-analytics-item-format="Paperback" data-analytics-item-price="53.99" data-analytics-item-discount="0" > <div class="product-card" data-price="53.99" data-regular-price="53.99" data-analytics-item-id="SG-9781837630684-Paperback" data-analytics-item-title="Building Production-Grade Web Applications with Supabase" data-analytics-item-category="Web Development" data-analytics-item-language="Typescript" data-analytics-item-framework="Next.js" data-analytics-item-concept="Application Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="53.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/building-production-grade-web-applications-with-supabase-9781837635269" target="_blank"> <img src="https://content.packt.com/B19648/cover_image.jpg" alt="Building Production-Grade Web Applications with Supabase" srcset="https://content.packt.com/_/image/xsmall/B19648/cover_image.jpg 40w, https://content.packt.com/_/image/small/B19648/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B19648/cover_image.jpg 80w, https://content.packt.com/_/image/large/B19648/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B19648/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B19648/cover_image.jpg 200w, https://content.packt.com/_/image/original/B19648/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Building Production-Grade Web Applications with Supabase </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Aug 2024</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">534 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.3 (8)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781837630684"> eBook </div> <ul id="product-price-product-card-select-recommended9781837630684" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$29.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$53.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$29.99</strong> <del>S$43.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$53.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-8" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781837630684/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781837630684-Paperback" data-analytics-item-title="Building Production-Grade Web Applications with Supabase" data-analytics-item-category="Web Development" data-analytics-item-language="Typescript" data-analytics-item-framework="Next.js" data-analytics-item-concept="Application Development" data-analytics-item-publication-year="2024" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="53.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 20%;" data-carousel-no="10" data-analytics-item-list-id="recommended" data-analytics-item-list-name="Recommendations for you" data-analytics-item-id="SG-9781803242712-Paperback" data-analytics-item-title="Responsive Web Design with HTML5 and CSS" data-analytics-item-category="Web Development" data-analytics-item-language="CSS" data-analytics-item-framework="Bootstrap" data-analytics-item-concept="Design" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="9" data-analytics-item-format="Paperback" data-analytics-item-price="60.99" data-analytics-item-discount="0" > <div class="product-card" data-price="60.99" data-regular-price="60.99" data-analytics-item-id="SG-9781803242712-Paperback" data-analytics-item-title="Responsive Web Design with HTML5 and CSS" data-analytics-item-category="Web Development" data-analytics-item-language="CSS" data-analytics-item-framework="Bootstrap" data-analytics-item-concept="Design" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="60.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/responsive-web-design-with-html5-and-css-9781803231723" target="_blank"> <img src="https://content.packt.com/B18550/cover_image.jpg" alt="Responsive Web Design with HTML5 and CSS" srcset="https://content.packt.com/_/image/xsmall/B18550/cover_image.jpg 40w, https://content.packt.com/_/image/small/B18550/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B18550/cover_image.jpg 80w, https://content.packt.com/_/image/large/B18550/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B18550/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B18550/cover_image.jpg 200w, https://content.packt.com/_/image/original/B18550/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Responsive Web Design with HTML5 and CSS </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Sep 2022</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">498 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.5 (57)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-recommended9781803242712"> eBook </div> <ul id="product-price-product-card-select-recommended9781803242712" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$33.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$60.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$33.99</strong> <del>S$48.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$60.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="recommended-9" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803242712/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803242712-Paperback" data-analytics-item-title="Responsive Web Design with HTML5 and CSS" data-analytics-item-category="Web Development" data-analytics-item-language="CSS" data-analytics-item-framework="Bootstrap" data-analytics-item-concept="Design" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="60.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> </div> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-right-YQh-CI_o.svg" class="svg-icon carousel-body-arrow carousel-body-arrow-right " width="35" height="24" alt="Right arrow icon" /> </div> </div> </div> <div class="container pt-2 pb-2"> <section class="product-customer-review" id="review-section"> <div class="product-customer-review-header mb-2 lg-mt-3"> <h2 class="fs-22 fw-600">Customer reviews</h2> <div class="product-customer-review-filters desktop"> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="review-sorting"> <div class="selected-sorting-name">Top Reviews</div> </div> <ul id="review-sorting" class='dropdown-menu ' data-select-state="false"> <li class="dropdown-item" role="button" data-type="sort" data-label="Top Reviews" data-dir="helpful"> Top Reviews </li> <li class="dropdown-item" role="button" data-type="sort" data-label="Most Recent" data-dir="latest"> Most Recent </li> </ul> </div> </div> </div> <div class="product-customer-review-details mt-2"> <div> <div class="product-customer-review-details-ratings"> <span class="product-customer-review-details-ratings-title">Rating distribution</span> <div class="product-customer-review-details-ratings-total lg-mt-2"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--50-DSzh45gH.svg" class="svg-icon star-rating-icon-medium" alt="Half star icon" /> <span class="star-rating-total-rating-medium">4.4</span> </div> <span>(72 Ratings)</span> </div> <div class="ratings-progress-bar"> <div class="ratings-progress-bar-average lg-mt-2"> <span>5 star</span> <span class="progress" style="--product-rating-progress-width: 73.6%;"></span> <span>73.6%</span> </div> <div class="ratings-progress-bar-average lg-mt-2"> <span>4 star</span> <span class="progress" style="--product-rating-progress-width: 8.3%;"></span> <span>8.3%</span> </div> <div class="ratings-progress-bar-average lg-mt-2"> <span>3 star</span> <span class="progress" style="--product-rating-progress-width: 8.3%;"></span> <span>8.3%</span> </div> <div class="ratings-progress-bar-average lg-mt-2"> <span>2 star</span> <span class="progress" style="--product-rating-progress-width: 4.2%;"></span> <span>4.2%</span> </div> <div class="ratings-progress-bar-average lg-mt-2"> <span>1 star</span> <span class="progress" style="--product-rating-progress-width: 5.6%;"></span> <span>5.6%</span> </div> </div> </div> <div class="product-customer-review-filters device"> <span role="button" id="reviewFilterButton"> <img src="https://www.packtpub.com/rebuild/build/assets/filter-DlZ2QYfs.svg" class="svg-icon " width="16" height="16" alt="Filter icon" /> Filter </span> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="review-sorting"> <div class="selected-sorting-name">Top Reviews</div> </div> <ul id="review-sorting" class='dropdown-menu ' data-select-state="false"> <li class="dropdown-item" role="button" data-type="sort" data-label="Top Reviews" data-dir="helpful"> Top Reviews </li> <li class="dropdown-item" role="button" data-type="sort" data-label="Most Recent" data-dir="latest"> Most Recent </li> </ul> </div> </div> <div class="product-reviews-filters" :class="{active:isPanelOpen}"> <div class="panel-header"> <h3 class="h2 mb-2 mt-3">Filter reviews by</h3> <button class="panel-header-button"> <img src="https://www.packtpub.com/rebuild/build/assets/close-BX_BCJyJ.svg" class="svg-icon " width="24" height="24" alt="Close Icon" /> </button> </div> <hr /> <div class="review-source-filter"> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="reviewSource-all" value="all" data-type="source"> <label for="reviewSource-all">All</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="reviewSource-all" name="reviewSourceFilter" value="all" data-type="source"> <label for="reviewSource-all">All</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="reviewSource-Packt" value="packt" data-type="source"> <label for="reviewSource-Packt">Packt verified reviews</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="reviewSource-Packt" name="reviewSourceFilter" value="packt" data-type="source"> <label for="reviewSource-Packt">Packt verified reviews</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="reviewSource-Feefo" value="feefo" data-type="source"> <label for="reviewSource-Feefo">Feefo verified reviews</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="reviewSource-Feefo" name="reviewSourceFilter" value="feefo" data-type="source"> <label for="reviewSource-Feefo">Feefo verified reviews</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="reviewSource-Amazon" value="amazon" data-type="source"> <label for="reviewSource-Amazon">Amazon verified reviews</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="reviewSource-Amazon" name="reviewSourceFilter" value="amazon" data-type="source"> <label for="reviewSource-Amazon">Amazon verified reviews</label> </div> </div> <hr /> <div class="review-rate-filter"> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="all-stars" value="all" data-type="rate"> <label for=all-stars>All stars</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="all-stars" name="ratingFilter" value="all" data-type="rate"> <label for="all-stars">All stars</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="five-star-only" value="5" data-type="rate"> <label for=five-star-only>5 Star only</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="five-star-only" name="ratingFilter" value="5" data-type="rate"> <label for="five-star-only">5 Star only</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="four-star-only" value="4" data-type="rate"> <label for=four-star-only>4 Star only</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="four-star-only" name="ratingFilter" value="4" data-type="rate"> <label for="four-star-only">4 Star only</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="three-star-only" value="3" data-type="rate"> <label for=three-star-only>3 Star only</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="three-star-only" name="ratingFilter" value="3" data-type="rate"> <label for="three-star-only">3 Star only</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="two-star-only" value="2" data-type="rate"> <label for=two-star-only>2 Star only</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="two-star-only" name="ratingFilter" value="2" data-type="rate"> <label for="two-star-only">2 Star only</label> </div> <div class="mt-2 mb-2 packt-checkbox desktop"> <input type="checkbox" id="one-star-only" value="1" data-type="rate"> <label for=one-star-only>1 Star only</label> </div> <div class="mt-2 mb-2 packt-radio device"> <input type="radio" id="one-star-only" name="ratingFilter" value="1" data-type="rate"> <label for="one-star-only">1 Star only</label> </div> </div> <hr /> </div> </div> <div class="product-customer-review-details-comments"> <div class="review-comments"> <div class="review-comments-header mb-1"> <span>Les</span> <span>May 14, 2024</span> </div> <div class="review-comments-ratings mb-1"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <span class="star-rating-total-rating-medium">5</span> </div> </div> <div class="review-comments-message mb-1"> Really like the flow from one topic to the next. The code repository is great for working along, running each example, and experimenting with code changes. The writing style is perfect for me, the content has taken me past so many areas of indecisiveness and shown me working solutions that are simple and easy to remember. </div> <div class="review-comments-verified"> <span>Subscriber review</span> <img src="https://www.packtpub.com/rebuild/build/assets/packt-Dz-8EKdV.svg" class="svg-icon " width="55" height="15" alt="Packt" /> </div> </div> <div class="review-comments"> <div class="review-comments-header mb-1"> <span>Zhivko</span> <span>Jan 18, 2024</span> </div> <div class="review-comments-ratings mb-1"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <span class="star-rating-total-rating-medium">5</span> </div> </div> <div class="review-comments-message mb-1"> Very good content for every .Net developer </div> <div class="review-comments-verified"> <span>Subscriber review</span> <img src="https://www.packtpub.com/rebuild/build/assets/packt-Dz-8EKdV.svg" class="svg-icon " width="55" height="15" alt="Packt" /> </div> </div> <div class="review-comments"> <div class="review-comments-header mb-1"> <span>Jim</span> <span>Dec 21, 2023</span> </div> <div class="review-comments-ratings mb-1"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <span class="star-rating-total-rating-medium">5</span> </div> </div> <div class="review-comments-message mb-1"> Excellent resource for learning C#. </div> <div class="review-comments-verified"> <span>Subscriber review</span> <img src="https://www.packtpub.com/rebuild/build/assets/packt-Dz-8EKdV.svg" class="svg-icon " width="55" height="15" alt="Packt" /> </div> </div> <div class="review-comments"> <div class="review-comments-header mb-1"> <span>N/A</span> <span>Jan 25, 2024</span> </div> <div class="review-comments-ratings mb-1"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <span class="star-rating-total-rating-medium">5</span> </div> </div> <div class="review-comments-message mb-1"> </div> <div class="review-comments-verified"> <span>Feefo Verified review</span> <img src="https://www.packtpub.com/rebuild/build/assets/feefo--252o0g8.svg" class="svg-icon " width="54" height="24" alt="Feefo" /> </div> </div> <div class="review-comments"> <div class="review-comments-header mb-1"> <span>N/A</span> <span>Apr 04, 2024</span> </div> <div class="review-comments-ratings mb-1"> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-medium" alt="Full star icon" /> <span class="star-rating-total-rating-medium">5</span> </div> </div> <div class="review-comments-message mb-1"> </div> <div class="review-comments-verified"> <span>Feefo Verified review</span> <img src="https://www.packtpub.com/rebuild/build/assets/feefo--252o0g8.svg" class="svg-icon " width="54" height="24" alt="Feefo" /> </div> </div> <div class="product-review-pagination"> <div class="pagination"> <ul class="pagination-list"> <li id=filter-review-page data-filter-page=pageNo=1 disabled > <span class="device-sm"> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-left-DKeTWfdp.svg" class="svg-icon icon icon-2" alt="Arrow left icon" /> </span> <span class="device--sm"> Previous </span> </li> <li class="active" id=filter-review-page data-filter-page=pageNo=1 > <span>1</span> </li> <li class="" id=filter-review-page data-filter-page=pageNo=2 > <span>2</span> </li> <li class="" id=filter-review-page data-filter-page=pageNo=3 > <span>3</span> </li> <li class="" id=filter-review-page data-filter-page=pageNo=4 > <span>4</span> </li> <li class="" id=filter-review-page data-filter-page=pageNo=5 > <span>5</span> </li> <li> <span>...</span> </li> <li id=filter-review-page data-filter-page=pageNo=2 > <span class="device-sm"> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-right-YQh-CI_o.svg" class="svg-icon icon icon-2" alt="Arrow right icon" /> </span> <span class="device--sm"> Next </span> </li> </ul> </div> </div> </div> </div> </section> </div> <div class="container pt-2 pb-2 mb-2"> <div class="carousel"> <div class="carousel-header"> <div class="carousel-header-left"> <h2 class="carousel-header-left-title">People who bought this also bought</h2> </div> <span class="carousel-header-right"></span> </div> <div class="carousel-body"> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-left-DKeTWfdp.svg" class="svg-icon carousel-body-arrow carousel-body-arrow-left d-none" width="35" height="24" alt="Left arrow icon" /> <div class="carousel-body-items" data-carousel-container data-visible-items="5" data-analytics-type="view_item_list" data-analytics-list-id="peopleWhoAlsoBought" data-analytics-list-name="People who bought this also bought" data-analytics-currency="SGD" data-carousel-container-id="carousel-header-actions-peopleWhoAlsoBought" > <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 25%;" data-carousel-no="1" data-analytics-item-list-id="peopleWhoAlsoBought" data-analytics-item-list-name="People who bought this also bought" data-analytics-item-id="SG-9781803245966-Paperback" data-analytics-item-title="Building Python Microservices with FastAPI" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="FastAPI" data-analytics-item-concept="Microservices" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="63.99" data-analytics-item-discount="0" > <div class="product-card" data-price="63.99" data-regular-price="63.99" data-analytics-item-id="SG-9781803245966-Paperback" data-analytics-item-title="Building Python Microservices with FastAPI" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="FastAPI" data-analytics-item-concept="Microservices" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="63.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/building-python-microservices-with-fastapi-9781803238791" target="_blank"> <img src="https://content.packt.com/B17975/cover_image.jpg" alt="Building Python Microservices with FastAPI" srcset="https://content.packt.com/_/image/xsmall/B17975/cover_image.jpg 40w, https://content.packt.com/_/image/small/B17975/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B17975/cover_image.jpg 80w, https://content.packt.com/_/image/large/B17975/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B17975/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B17975/cover_image.jpg 200w, https://content.packt.com/_/image/original/B17975/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Building Python Microservices with FastAPI </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Aug 2022</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">420 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">3.9 (9)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-peopleWhoAlsoBought9781803245966"> eBook </div> <ul id="product-price-product-card-select-peopleWhoAlsoBought9781803245966" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$34.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$63.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$34.99</strong> <del>S$50.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$63.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="peopleWhoAlsoBought-0" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803245966/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803245966-Paperback" data-analytics-item-title="Building Python Microservices with FastAPI" data-analytics-item-category="Web Development" data-analytics-item-language="Python" data-analytics-item-framework="FastAPI" data-analytics-item-concept="Microservices" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="63.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 25%;" data-carousel-no="2" data-analytics-item-list-id="peopleWhoAlsoBought" data-analytics-item-list-name="People who bought this also bought" data-analytics-item-id="SG-9781803231280-Paperback" data-analytics-item-title="React and React Native" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="React" data-analytics-item-concept="Front End Web Development" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="1" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > <div class="product-card" data-price="67.99" data-regular-price="67.99" data-analytics-item-id="SG-9781803231280-Paperback" data-analytics-item-title="React and React Native" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="React" data-analytics-item-concept="Front End Web Development" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/react-and-react-native-9781803249995" target="_blank"> <img src="https://content.packt.com/B18316/cover_image.jpg" alt="React and React Native" srcset="https://content.packt.com/_/image/xsmall/B18316/cover_image.jpg 40w, https://content.packt.com/_/image/small/B18316/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B18316/cover_image.jpg 80w, https://content.packt.com/_/image/large/B18316/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B18316/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B18316/cover_image.jpg 200w, https://content.packt.com/_/image/original/B18316/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> React and React Native </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">May 2022</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">606 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.6 (17)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-peopleWhoAlsoBought9781803231280"> eBook </div> <ul id="product-price-product-card-select-peopleWhoAlsoBought9781803231280" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$36.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$67.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$36.99</strong> <del>S$53.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$67.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="peopleWhoAlsoBought-1" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803231280/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803231280-Paperback" data-analytics-item-title="React and React Native" data-analytics-item-category="Web Development" data-analytics-item-language="JavaScript" data-analytics-item-framework="React" data-analytics-item-concept="Front End Web Development" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 25%;" data-carousel-no="3" data-analytics-item-list-id="peopleWhoAlsoBought" data-analytics-item-list-name="People who bought this also bought" data-analytics-item-id="SG-9781803242712-Paperback" data-analytics-item-title="Responsive Web Design with HTML5 and CSS" data-analytics-item-category="Web Development" data-analytics-item-language="CSS" data-analytics-item-framework="Bootstrap" data-analytics-item-concept="Design" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="2" data-analytics-item-format="Paperback" data-analytics-item-price="60.99" data-analytics-item-discount="0" > <div class="product-card" data-price="60.99" data-regular-price="60.99" data-analytics-item-id="SG-9781803242712-Paperback" data-analytics-item-title="Responsive Web Design with HTML5 and CSS" data-analytics-item-category="Web Development" data-analytics-item-language="CSS" data-analytics-item-framework="Bootstrap" data-analytics-item-concept="Design" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="60.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/responsive-web-design-with-html5-and-css-9781803231723" target="_blank"> <img src="https://content.packt.com/B18550/cover_image.jpg" alt="Responsive Web Design with HTML5 and CSS" srcset="https://content.packt.com/_/image/xsmall/B18550/cover_image.jpg 40w, https://content.packt.com/_/image/small/B18550/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B18550/cover_image.jpg 80w, https://content.packt.com/_/image/large/B18550/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B18550/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B18550/cover_image.jpg 200w, https://content.packt.com/_/image/original/B18550/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> Responsive Web Design with HTML5 and CSS </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Sep 2022</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">498 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.5 (57)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-peopleWhoAlsoBought9781803242712"> eBook </div> <ul id="product-price-product-card-select-peopleWhoAlsoBought9781803242712" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$33.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$60.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$33.99</strong> <del>S$48.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$60.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="peopleWhoAlsoBought-2" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803242712/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803242712-Paperback" data-analytics-item-title="Responsive Web Design with HTML5 and CSS" data-analytics-item-category="Web Development" data-analytics-item-language="CSS" data-analytics-item-framework="Bootstrap" data-analytics-item-concept="Design" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="60.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 25%;" data-carousel-no="4" data-analytics-item-list-id="peopleWhoAlsoBought" data-analytics-item-list-name="People who bought this also bought" data-analytics-item-id="SG-9781803237800-Paperback" data-analytics-item-title="C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="3" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > <div class="product-card" data-price="67.99" data-regular-price="67.99" data-analytics-item-id="SG-9781803237800-Paperback" data-analytics-item-title="C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > <div class="product-card-content"> <a class="product-card-content-info" href="https://www.packtpub.com/en-sg/product/c-11-and-net-7-modern-cross-platform-development-fundamentals-9781803248950" target="_blank"> <img src="https://content.packt.com/B18856/cover_image.jpg" alt="C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals" srcset="https://content.packt.com/_/image/xsmall/B18856/cover_image.jpg 40w, https://content.packt.com/_/image/small/B18856/cover_image.jpg 60w, https://content.packt.com/_/image/medium/B18856/cover_image.jpg 80w, https://content.packt.com/_/image/large/B18856/cover_image.jpg 100w, https://content.packt.com/_/image/xlarge/B18856/cover_image.jpg 150w, https://content.packt.com/_/image/xxlarge/B18856/cover_image.jpg 200w, https://content.packt.com/_/image/original/B18856/cover_image.jpg 810w" sizes="150px" width="150" height="185" class="rounded-1" loading="lazy" fetchpriority="auto" onerror="this.onerror=null;this.srcset='';this.src='https://static.packt-cdn.com/assets/images/Packt-iPad-Logos_250x308.png' "> <div class="ellipsis-content product-card-content-info-text text-center px-2"> <div class="ellipsis" style="-webkit-line-clamp: 2; "> C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="false"> Read more </span> </div> <div class="product-meta product-card-meta-info-text"> <span class="device-fc-black-2">Nov 2022</span> <span class="product-meta-dot"></span> <span class="device-fc-black-2">818 pages</span> <span class="product-meta-dot device-fc-black-2"></span> <div class="star-rating"> <img src="https://www.packtpub.com/rebuild/build/assets/star--100-BC6KVbTO.svg" class="svg-icon star-rating-icon-small" alt="Full star icon" /> <span class="star-rating-total-rating-medium device-fc-black-2">4.1 (54)</span> </div> </div> </a> <div class="product-card-content-footer "> <div class="product-card-content-footer-pricing"> <div class="product-card-content-footer-pricing-type"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <div class="packt-select"> <div class="packt-select-button" role="button" data-select-open="product-price-product-card-select-peopleWhoAlsoBought9781803237800"> eBook </div> <ul id="product-price-product-card-select-peopleWhoAlsoBought9781803237800" class='dropdown-menu product-card-content-footer-dropdown ' data-select-state="false"> <li class="dropdown-item" data-price-key="eBook"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/ebook-3fFMV4KP.svg" class="svg-icon icon-3" alt="eBook" /> <span class="item-type">eBook</span> </span> <span> S$36.99 </span> </div> </li> <li class="dropdown-item" data-price-key="Paperback"> <div class="product-card-content-footer-type"> <span class="product-card-content-footer-type-icon"> <img src="https://www.packtpub.com/rebuild/build/assets/print-kPRXCK2b.svg" class="svg-icon icon-3" alt="Paperback" /> <span class="item-type">Paperback</span> </span> <span> S$67.99 </span> </div> </li> </ul> </div> </div> <div class="product-card-content-footer-pricing-price"> <div data-type="eBook" class="price-select "> <strong>S$36.99</strong> <del>S$53.99</del> </div> <div data-type="Paperback" class="price-select d-none"> <span>S$67.99</span> </div> </div> </div> <div class="product-card-content-footer-add-to-cart"> <div class="add-to-cart-btn-with-check-box"> <button class="rebuild-btn rebuild-btn-outline" aria-disabled="false" id="peopleWhoAlsoBought-3" data-type="eBook" data-action="cart" data-route="https://www.packtpub.com/api/cart/product/9781803237800/add" data-analytics-type="add_to_cart" data-analytics-currency="SGD" data-analytics-item-id="SG-9781803237800-Paperback" data-analytics-item-title="C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals" data-analytics-item-category="Web Development" data-analytics-item-language="C#" data-analytics-item-framework=".NET" data-analytics-item-concept="Server Side Web Development" data-analytics-item-publication-year="2022" data-analytics-item-quantity="1" data-analytics-item-index="0" data-analytics-item-format="Paperback" data-analytics-item-price="67.99" data-analytics-item-discount="0" > ADD TO CART </button> </div> </div> </div> </div> </div> </div> </div> <img src="https://www.packtpub.com/rebuild/build/assets/carousel-arrow-right-YQh-CI_o.svg" class="svg-icon carousel-body-arrow carousel-body-arrow-right d-none" width="35" height="24" alt="Right arrow icon" /> </div> </div> </div> <section class="container bg-light pt-2 pb-2"> <div class="carousel"> <div class="carousel-header"> <div class="carousel-header-left"> <h2 class="carousel-header-left-title">About the author</h2> </div> </div> <div class="carousel-body"> <div class="carousel-body-items" data-carousel-container data-visible-items="1" data-carousel-container-id="carousel-header-actions-authors" > <div class="carousel-body-items-item" data-carousel-item style="flex:0 0 100%;" data-carousel-no="1" > <div class="author-section non-carousel"> <div class="author-header-with-body"> <div class="author-section-header"> <div class="header-left"> <img src="https://www.packtpub.com/rebuild/build/assets/profile-RD2gMNMF.svg" class="svg-icon author-profile-img" alt="Profile icon" /> <span class="author-name device--sm"> Mark J. Price </span> </div> <span class="author-name device-sm">Mark J. Price</span> <div class="header-right"> <a href="https://www.linkedin.com/in/markjamesprice/" target="_blank" title="linkedin"> <img src="https://www.packtpub.com/rebuild/build/assets/linkedin-D8DUPXxA.svg" class="svg-icon " width="25" height="25" alt="LinkedIn icon" /> </a> <a href="https://github.com/markjprice" target="_blank" title="Github"> <img src="https://www.packtpub.com/rebuild/build/assets/github-CouqiaXV.svg" class="svg-icon " width="25" height="25" alt="Github icon" /> </a> </div> </div> <div class="author-section-body"> <div class="ellipsis-content product-card-content-info-text"> <div class="ellipsis" style="-webkit-line-clamp: 10; "> Mark J. Price is a Microsoft Specialist: Programming in C# and Architecting Microsoft Azure Solutions, with over 20 years' experience. Since 1993, he has passed more than 80 Microsoft programming exams and specializes in preparing others to pass them. Between 2001 and 2003, Mark was employed to write official courseware for Microsoft in Redmond, USA. His team wrote the first training courses for C# while it was still an early alpha version. While with Microsoft, he taught "train-the-trainer" classes to get other MCTs up-to-speed on C# and .NET. Mark holds a Computer Science BSc. Hons. Degree. </div> <span role="button" class="read-more d-none" data-toggle-ellipsis data-read-more="true"> Read more </span> </div> </div> <a class="author-link" href="https://www.packtpub.com/authors/mark-j-dot-price"> See other products by Mark J. Price </a> </div> </div> </div> </div> </div> </div> </section> <div class="pb-1"> <section class="product-freetrial-banner"> <div class="product-freetrial-banner-content"> Get <span>free</span> access to Packt library with over <span> 7500+ books and video courses for 7 days! </span> </div> <a href="https://www.packtpub.com/checkout-subscription/monthly-packt-subscription-vz22?freeTrial=true" class="rebuild-btn rebuild-btn-dark ctr-button"> Start Free Trial </a> </section> </div> <div class="container pb-4"> <div class="packt-accordion" data-single-open="false" data-parent-class= > <div class="packt-accordion-title"> <h2>FAQs</h2> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span>How do I buy and download an eBook?</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar " > <div class="pl-2" ><p>Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.</p><p>If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.</p><p><strong>Please Note: Packt eBooks are non-returnable and non-refundable.</strong></p><p><strong>Packt eBook and Licensing</strong> When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:</p><ul class='pl-4' ><li>You may make copies of your eBook for your own use onto any machine</li><li>You may not pass copies of the eBook on to anyone else</li></ul></div> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span>How can I make a purchase on your website?</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar " > <div class="pl-2" ><p>If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:</p><ol class='pl-4' ><li>Register on our website using your email address and the password.</li><li>Search for the title by name or ISBN using the search option.</li><li>Select the title you want to purchase.</li><li>Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. </li><li>Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)</li></ol></div> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span>Where can I access support around an eBook?</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar " > <div class="pl-2" ><ul class='pl-4' ><li>If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.</li><li>To view the errata for the book, see <a href="https://www.packtpub.com/support">www.packtpub.com/support</a> and view the pages for the title you have.</li><li>To view your account details or to download a new copy of the book go to <a href="https://www.packtpub.com/account">www.packtpub.com/account</a></li><li>To contact us directly if a problem is not resolved, use <a href="https://www.packtpub.com/contact-us">www.packtpub.com/contact-us</a></li></ul></div> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span>What eBook formats do Packt support?</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar " > <div class="pl-2" ><p>Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.</p><p>You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks. </p></div> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span>What are the benefits of eBooks?</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar " > <div class="pl-2" ><ul class='pl-4' ><li>You can get the information you need immediately</li><li>You can easily take them with you on a laptop</li><li>You can download them an unlimited number of times</li><li>You can print them out</li><li>They are copy-paste enabled</li><li>They are searchable</li><li>There is no password protection</li><li>They are lower price than print</li><li>They save resources and space</li></ul></div> </div> <div class="packt-accordion-header" role="button" data-collapse="false" > <span>What is an eBook?</span> <span class="packt-accordion-subheader "> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-down-grey-D1AYdVO8.svg" class="svg-icon icon icon-4" alt="Chevron down icon" /> <img src="https://www.packtpub.com/rebuild/build/assets/chevron-up-grey-CJySprCs.svg" class="svg-icon icon icon-4 d-none" alt="Chevron up icon" /> </span> </div> <div class="packt-accordion-collapse scrollbar " > <div class="pl-2" ><p>Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.</p><p>When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.</p><p>For optimal viewing of our eBooks, we recommend you download and install the free <a href="https://acrobat.adobe.com/us/en/acrobat/pdf-reader.html" target="_blank" rel="noreferrer noopener">Adobe Reader version 9</a>.</p></div> </div> </div> </div> <footer class="footer"> <div class="footer-topics-wrapper rebuild-container"> <div class="rebuild-horizontal-scroll "> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-left-O2MWvx1q.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="left" alt="Arrow left icon" /> <div class="rebuild-horizontal-scroll-body"> <div class="footer-topics"> <a href="https://www.packtpub.com/en-sg/web-development/concept/front-end-web-development" title="https://www.packtpub.com/en-sg/web-development/concept/front-end-web-development" class="footer-topics-topic"> Front End Web Development </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/web-programming" title="https://www.packtpub.com/en-sg/web-development/concept/web-programming" class="footer-topics-topic"> Web Programming </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/server-side-web-development" title="https://www.packtpub.com/en-sg/web-development/concept/server-side-web-development" class="footer-topics-topic"> Server Side Web Development </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/cms" title="https://www.packtpub.com/en-sg/web-development/concept/cms" class="footer-topics-topic"> CMS </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/full-stack-web-development" title="https://www.packtpub.com/en-sg/web-development/concept/full-stack-web-development" class="footer-topics-topic"> Full Stack Web Development </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/web-design" title="https://www.packtpub.com/en-sg/web-development/concept/web-design" class="footer-topics-topic"> Web Design </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/learning-management-system" title="https://www.packtpub.com/en-sg/web-development/concept/learning-management-system" class="footer-topics-topic"> Learning Management System </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/ecommerce" title="https://www.packtpub.com/en-sg/web-development/concept/ecommerce" class="footer-topics-topic"> Ecommerce </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/responsive-web-development" title="https://www.packtpub.com/en-sg/web-development/concept/responsive-web-development" class="footer-topics-topic"> Responsive Web Development </a> <a href="https://www.packtpub.com/en-sg/web-development/concept/microservices" title="https://www.packtpub.com/en-sg/web-development/concept/microservices" class="footer-topics-topic"> Microservices </a> </div> </div> <img src="https://www.packtpub.com/rebuild/build/assets/arrow-right-eT5j42si.svg" class="svg-icon icon icon-2 device" data-horizontal-scroll="right" alt="Arrow right icon" /> </div> </div> <div class="rebuild-container footer-menu"> <div class="footer-menu-item"> <span class="footer-menu-item-title">Legal</span> <div class="footer-menu-item-items"> <a href="https://www.packtpub.com/en-sg/help/terms-and-conditions" class="footer-menu-item-items-link">Terms and Conditions</a> <a href="https://www.packtpub.com/en-sg/help/privacy-policy" class="footer-menu-item-items-link">Privacy Policy</a> <a href="https://www.packtpub.com/en-sg/help/cookie-policy" class="footer-menu-item-items-link">Cookie Policy</a> <a href="https://www.packtpub.com/en-sg/help/shipping-policy" class="footer-menu-item-items-link">Shipping Policy</a> <a href="https://www.packtpub.com/en-sg/help/cancellation-policy" class="footer-menu-item-items-link">Cancellation Policy</a> <a href="https://www.packtpub.com/en-sg/help/returns-policy" class="footer-menu-item-items-link">Return Policy</a> </div> </div> <div class="footer-menu-item"> <span class="footer-menu-item-title">Support</span> <div class="footer-menu-item-items"> <a href="https://www.packtpub.com/en-sg/help/faqs" class="footer-menu-item-items-link">Help</a> <a href="https://www.packtpub.com/en-sg/help/contact" class="footer-menu-item-items-link">Contact Us</a> </div> </div> <div class="footer-menu-item"> <span class="footer-menu-item-title">Business</span> <div class="footer-menu-item-items"> <a href="https://partnerships.packt.com/" class="footer-menu-item-items-link">Partnerships</a> <div class="footer-menu-item-items-ident"> <a href="https://partnerships.packt.com/sponsored-ebooks/" class="footer-menu-item-items-link"> Sponsored eBooks </a> <a href="https://partnerships.packt.com/ebooks-white-papers/" class="footer-menu-item-items-link"> Custom eBooks </a> </div> <a href="https://apply.workable.com/packtpublishing/?lng=en" class="footer-menu-item-items-link">Careers</a> <a href="https://partnerships.packt.com/contributors/" class="footer-menu-item-items-link">Become an author</a> </div> </div> <div class="footer-menu-item"> <span class="footer-menu-item-title">Packt+ Membership</span> <div class="footer-menu-item-items"> <a href="https://www.packtpub.com/en-sg/subscribe" class="footer-menu-item-items-link">Subscription</a> <a href="https://www.packtpub.com/datapro" class="footer-menu-item-items-link">DataPro</a> <a href="https://www.packtpub.com/secpro" class="footer-menu-item-items-link">SecPro</a> <a href="https://www.packtpub.com/tech-leaders" class="footer-menu-item-items-link">TechLeaders</a> </div> </div> </div> <div class="rebuild-container footer-bottom"> <div class="footer-bottom-country" data-modal-open="country-modal"> <img loading="lazy" src="/images/countries/singapore.png" alt="countryFlag" class="header-dropdown-active-footer-country-flag" width="25" height="18" /> <span> Singapore</span> </div> <div class="footer-bottom-info"> <span> Company Address: Packt Publishing Ltd, Grosvenor House, 11 St Paul's Square, Birmingham, B3 1RB </span> <span> © 2024 Packt Publishing Limited All Rights Reserved </span> </div> </div> <div id="cookieConsent" data-analytics-type="prompts"> <div class="transparent-background"> <div class="cookie-consent-section"> <div class="login-section cookie-content" id="login-section"> <img src="https://www.packtpub.com/rebuild/build/assets/cross-light-weight-CH6EwyM1.svg" class="svg-icon icon-3 close-btn " data-cookie-consent-login-close="" alt="Close icon" /> <div class="p-bottom"> <p>Signed in users are eligible for personalised offers and content recommendations.</p> </div> <div class="login-button"> <a href="https://www.packtpub.com/login"> <button class="rebuild-btn-generic rebuild-btn-login-link"> <img src="https://www.packtpub.com/rebuild/build/assets/packt-logo-J9SE_Iln.svg" class="svg-icon icon-4" alt="Country selected" /> Sign in with <span>Packt</span></button> </a> <a href="https://www.packtpub.com/login"> <button class="rebuild-btn-generic rebuild-btn-login-link"> <img src="https://www.packtpub.com/rebuild/build/assets/google-DuSu4lgK.svg" class="svg-icon icon-4" alt="Google" /> Sign in with <span>Google</span> </button> </a> <a href="https://www.packtpub.com/login"> <button class="rebuild-btn-generic rebuild-btn-login-link rebuild-btn-github"> <img src="https://www.packtpub.com/rebuild/build/assets/github-mark-white-BjP5UYm2.svg" class="svg-icon icon-4" alt="Github" /> Sign in with <span>Github</span> </button> </a> </div> </div> </div> </div> </div> </footer> </body> </html>