Browse Results

Showing 25,126 through 25,150 of 54,258 results

Rust in Action

by Tim McNamara

Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure.Summary Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You'll be learning Rust by delving into how computers work under the hood. You'll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You'll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you'll go beyond the Rust syntax and see what Rust has to offer in real-world use cases. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Rust is the perfect language for systems programming. It delivers the low-level power of C along with rock-solid safety features that let you code fearlessly. Ideal for applications requiring concurrency, Rust programs are compact, readable, and blazingly fast. Best of all, Rust&’s famously smart compiler helps you avoid even subtle coding errors. About the book Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. You&’ll explore Rust implementations for file manipulation, networking, and kernel-level programming and discover awesome techniques for parallelism and concurrency. Along the way, you&’ll master Rust&’s unique borrow checker model for memory management without a garbage collector. What's inside Elementary to advanced Rust programming Practical examples from systems programming Command-line, graphical and networked applications About the reader For intermediate programmers. No previous experience with Rust required. About the author Tim McNamara uses Rust to build data processing pipelines and generative art. He is an expert in natural language processing and data engineering. Table of Contents 1 Introducing Rust PART 1 RUST LANGUAGE DISTINCTIVES 2 Language foundations 3 Compound data types 4 Lifetimes, ownership, and borrowing PART 2 DEMYSTIFYING SYSTEMS PROGRAMMING 5 Data in depth 6 Memory 7 Files and storage 8 Networking 9 Time and timekeeping 10 Processes, threads, and containers 11 Kernel 12 Signals, interrupts, and exceptions

The Well-Grounded Rubyist

by Joe Leo

SummaryThe Well-Grounded Rubyist, Third Edition is a beautifully written tutorial that begins with your first Ruby program and takes you all the way to sophisticated topics like reflection, threading, and recursion. Ruby masters David A. Black and Joe Leo distill their years of knowledge for you, concentrating on the language and its uses so you can use Ruby in any way you choose. Updated for Ruby 2.5.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyDesigned for developer productivity, Ruby is an easy-to-learn dynamic language perfect for creating virtually any kind of software. Its famously friendly development community, countless libraries, and amazing tools, like the Rails framework, have established it as the language of choice for high-profile companies, including GitHub, SlideShare, and Shopify. The future is bright for the well-grounded Rubyist!About the BookIn The Well-Grounded Rubyist, Third Edition, expert authors David A. Black and Joseph Leo deliver Ruby mastery in an easy-to-read, casual style. You'll lock in core principles as you write your first Ruby programs. Then, you'll progressively build up to topics like reflection, threading, and recursion, cementing your knowledge with high-value exercises to practice your skills along the way.What's InsideBasic Ruby syntaxRunning Ruby extensionsFP concepts like currying, side-effect-free code, and recursionRuby 2.5 updatesAbout the ReaderFor readers with beginner-level programming skills.About the AuthorsDavid A. Black is an internationally known Ruby developer and author, and a cofounder of Ruby Central. Ruby teacher and advocate Joseph Leo III is the founder of Def Method and lead organizer of the Gotham Ruby Conference. Table of ContentsPART 1 RUBY FOUNDATIONSBootstrapping your Ruby literacyObjects, methods, and local variablesOrganizing objects with classesModules and program organizationThe default object (self), scope, and visibilityControl-flow techniquesPART 2 BUILT-IN CLASSES AND MODULESBuilt-in essentialsStrings, symbols, and other scalar objectsCollection and container objectsCollections central: Enumerable and EnumeratorRegular expressions and regexp-based string operationsFile and I/O operationsPART 3 RUBY DYNAMICSObject individuationCallable and runnable objectsCallbacks, hooks, and runtime introspectionRuby and functional programming

The Java Module System

by Nicolai Parlog

SummaryJava's much-awaited "Project Jigsaw" is finally here! Java 11 includes a built-in modularity framework, and The Java Module System is your guide to discovering it. In this new book, you'll learn how the module system improves reliability and maintainability, and how it can be used to reduce tight coupling of system components.Foreword by Kevlin Henney.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. You'll find registration instructions inside the print book.About the TechnologyPackaging code into neat, well-defined units makes it easier to deliver safe and reliable applications. The Java Platform Module System is a language standard for creating these units. With modules, you can closely control how JARs interact and easily identify any missing dependencies at startup. This shift in design is so fundamental that starting with Java 9, all core Java APIs are distributed as modules, and libraries, frameworks, and applications will benefit from doing the same.About the BookThe Java Module System is your in-depth guide to creating and using Java modules. With detailed examples and easy-to-understand diagrams, you'll learn the anatomy of a modular Java application. Along the way, you'll master best practices for designing with modules, debugging your modular app, and deploying to production.What's insideThe anatomy of a modular Java appBuilding modules from source to JARMigrating to modular JavaDecoupling dependencies and refining APIsHandling reflection and versioningCustomizing runtime imagesUpdated for Java 11About the ReaderPerfect for developers with some Java experience.About the AuthorNicolai Parlog is a developer, author, speaker, and trainer. His home is codefx.org. Table of ContentsPART 1 - Hello, modulesFirst piece of the puzzleAnatomy of a modular applicationDefining modules and their propertiesBuilding modules from source to JARRunning and debugging modular applicationsPART 2 - Adapting real-world projectsCompatibility challenges when moving to Java 9 or laterRecurring challenges when running on Java 9 or laterIncremental modularization of existing projectsMigration and modularization strategiesPART 3 - Advanced module system featuresUsing services to decouple modulesRefining dependencies and APIsReflection in a modular worldModule versions: What's possible and what's notCustomizing runtime images with jlinkPutting the pieces together

Redux in Action

by Marc Garreau will faurot

SummaryWith Redux in Action, you'll discover how to integrate Redux into your React application and development environment. With the insights you glean from the experience of authors Marc Garreau and Will Faurot, you'll be more than confident in your ability to solve your state management woes with Redux and focus on developing the apps you need!Foreword by Mark Erikson, Redux co-maintainer.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyWith Redux, you manage the state of a web application in a single, simple object, practically eliminating most state-related bugs. Centralizing state with Redux makes it possible to quickly start saved user sessions, maintain a reliable state history, and smoothly transfer state between UIs. Plus, the Redux state container is fully programmable and integrates cleanly with React and other popular frameworks.About the BookRedux in Action is an accessible guide to effectively managing state in web applications. Built around common use cases, this practical book starts with a simple task-management application built in React. You'll use the app to learn the Redux workflow, handle asynchronous actions, and get your hands on the Redux developer tools. With each step, you'll discover more about Redux and the benefits of centralized state management. The book progresses to more-complex examples, including writing middleware for analytics, time travel debugging, and an overview of how Redux works with other frameworks such as Angular and Electron. What's InsideUsing Redux in an existing React applicationHandling side effects with the redux-saga libraryConsuming APIs with asynchronous actionsUnit testing a React and Redux applicationAbout the ReaderFor web developers comfortable with JavaScript and React.About the AuthorMarc Garreau has architected and executed half a dozen unique client-side applications using Redux. Will Faurot is a mentor for Redux developers of all skill levels.Table of ContentsIntroducing Redux Your first Redux application Debugging Redux applications Consuming an API Middleware Handling complex side effects Preparing data for components Structuring a Redux store Testing Redux applications Performance Structuring Redux code Redux beyond React

Making Sense of Cybersecurity

by Thomas Kranz

A jargon-busting guide to the key concepts, terminology, and technologies of cybersecurity. Perfect for anyone planning or implementing a security strategy. In Making Sense of Cybersecurity you will learn how to: Develop and incrementally improve your own cybersecurity strategy Detect rogue WiFi networks and safely browse on public WiFi Protect against physical attacks utilizing USB devices or building access cards Use the OODA loop and a hacker mindset to plan out your own attacks Connect to and browse the Dark Web Apply threat models to build, measure, and improve your defenses Respond to a detected cyber attack and work through a security breach Go behind the headlines of famous attacks and learn lessons from real-world breaches that author Tom Kranz has personally helped to clean up. Making Sense of Cybersecurity is full of clear-headed advice and examples that will help you identify risks in your organization and choose the right path to apply the important security concepts. You'll learn the three pillars of a successful security strategy and how to create and apply threat models that will iteratively improve your organization's readiness. Foreword by Naz Markuta. About the technology Someone is attacking your business right now. Understanding the threats, weaknesses, and attacks gives you the power to make better decisions about how to secure your systems. This book guides you through the concepts and basic skills you need to make sense of cybersecurity. About the book Making Sense of Cybersecurity is a crystal-clear overview of common cyber threats written for business and technical readers with no background in security. You&’ll explore the core ideas of cybersecurity so you can effectively talk shop, plan a security strategy, and spot your organization&’s own weak points. By examining real-world security examples, you&’ll learn how the bad guys think and how to handle live threats. What's inside Develop and improve your cybersecurity strategy Apply threat models to build, measure, and improve your defenses Detect rogue WiFi networks and safely browse on public WiFi Protect against physical attacks About the reader For anyone who needs to understand computer security. No IT or cybersecurity experience required. About the author Tom Kranz is a security consultant with over 30 years of experience in cybersecurity and IT. Table of Contents 1 Cybersecurity and hackers 2 Cybersecurity: Everyone&’s problem PART 1 3 Understanding hackers 4 External attacks 5 Tricking our way in: Social engineerin 6 Internal attacks 7 The Dark Web: Where is stolen data traded? PART 2 8 Understanding risk 9 Testing your systems 10 Inside the security operations center 11 Protecting the people 12 After the hack

Deep Learning for Search

by Tommaso Teofili

SummaryDeep Learning for Search teaches you how to improve the effectiveness of your search by implementing neural network-based techniques. By the time you're finished with the book, you'll be ready to build amazing search engines that deliver the results your users need and that get better as time goes on!Foreword by Chris Mattmann.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyDeep learning handles the toughest search challenges, including imprecise search terms, badly indexed data, and retrieving images with minimal metadata. And with modern tools like DL4J and TensorFlow, you can apply powerful DL techniques without a deep background in data science or natural language processing (NLP). This book will show you how.About the BookDeep Learning for Search teaches you to improve your search results with neural networks. You'll review how DL relates to search basics like indexing and ranking. Then, you'll walk through in-depth examples to upgrade your search with DL techniques using Apache Lucene and Deeplearning4j. As the book progresses, you'll explore advanced topics like searching through images, translating user queries, and designing search engines that improve as they learn!What's insideAccurate and relevant rankingsSearching across languagesContent-based image searchSearch with recommendationsAbout the ReaderFor developers comfortable with Java or a similar language and search basics. No experience with deep learning or NLP needed.About the AuthorTommaso Teofili is a software engineer with a passion for open source and machine learning. As a member of the Apache Software Foundation, he contributes to a number of open source projects, ranging from topics like information retrieval (such as Lucene and Solr) to natural language processing and machine translation (including OpenNLP, Joshua, and UIMA).He currently works at Adobe, developing search and indexing infrastructure components, and researching the areas of natural language processing, information retrieval, and deep learning. He has presented search and machine learning talks at conferences including BerlinBuzzwords, International Conference on Computational Science, ApacheCon, EclipseCon, and others. You can find him on Twitter at @tteofili. Table of ContentsPART 1 - SEARCH MEETS DEEP LEARNINGNeural searchGenerating synonymsPART 2 - THROWING NEURAL NETS AT A SEARCH ENGINEFrom plain retrieval to text generationMore-sensitive query suggestionsRanking search results with word embeddingsDocument embeddings for rankings and recommendationsPART 3 - ONE STEP BEYONDSearching across languagesContent-based image searchA peek at performance

Learn Azure in a Month of Lunches

by Iain Foulds

Learn Azure in a Month of Lunches, Second Edition, is a tutorial on writing, deploying, and running applications in Azure. In it, you&’ll work through 21 short lessons that give you real-world experience. Each lesson includes a hands-on lab so you can try out and lock in your new skills.Summary You can be incredibly productive with Azure without mastering every feature, function, and service. Learn Azure in a Month of Lunches, Second Edition gets you up and running quickly, teaching you the most important concepts and tasks in 21 practical bite-sized lessons. As you explore the examples, exercises, and labs, you'll pick up valuable skills immediately and take your first steps to Azure mastery! This fully revised new edition covers core changes to the Azure UI, new Azure features, Azure containers, and the upgraded Azure Kubernetes Service. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Microsoft Azure is vast and powerful, offering virtual servers, application templates, and prebuilt services for everything from data storage to AI. To navigate it all, you need a trustworthy guide. In this book, Microsoft engineer and Azure trainer Iain Foulds focuses on core skills for creating cloud-based applications. About the book Learn Azure in a Month of Lunches, Second Edition, is a tutorial on writing, deploying, and running applications in Azure. In it, you&’ll work through 21 short lessons that give you real-world experience. Each lesson includes a hands-on lab so you can try out and lock in your new skills. What's inside Understanding Azure beyond point-and-click Securing applications and data Automating your environment Azure services for machine learning, containers, and more About the reader This book is for readers who can write and deploy simple web or client/server applications. About the author Iain Foulds is an engineer and senior content developer with Microsoft. Table of Contents PART 1 - AZURE CORE SERVICES 1 Before you begin 2 Creating a virtual machine 3 Azure Web Apps 4 Introduction to Azure Storage 5 Azure Networking basics PART 2 - HIGH AVAILABILITY AND SCALE 6 Azure Resource Manager 7 High availability and redundancy 8 Load-balancing applications 9 Applications that scale 10 Global databases with Cosmos DB 11 Managing network traffic and routing 12 Monitoring and troubleshooting PART 3 - SECURE BY DEFAULT 13 Backup, recovery, and replication 14 Data encryption 15 Securing information with Azure Key Vault 16 Azure Security Center and updates PART 4 - THE COOL STUFF 17 Machine learning and artificial intelligence 18 Azure Automation 19 Azure containers 20 Azure and the Internet of Things 21 Serverless computing

Docker in Practice

by Ian Miell Aidan Sayers

SummaryDocker in Practice, Second Edition presents over 100 practical techniques, hand-picked to help you get the most out of Docker. Following a Problem/Solution/Discussion format, you'll walk through specific examples that you can use immediately, and you'll get expert guidance on techniques that you can apply to a whole range of scenarios.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyDocker's simple idea-wrapping an application and its dependencies into a single deployable container-created a buzz in the software industry. Now, containers are essential to enterprise infrastructure, and Docker is the undisputed industry standard. So what do you do after you've mastered the basics? To really streamline your applications and transform your dev process, you need relevant examples and experts who can walk you through them. You need this book. About the BookDocker in Practice, Second Edition teaches you rock-solid, tested Docker techniques, such as replacing VMs, enabling microservices architecture, efficient network modeling, offline productivity, and establishing a container-driven continuous delivery process. Following a cookbook-style problem/solution format, you'll explore real-world use cases and learn how to apply the lessons to your own dev projects.What's insideContinuous integration and deliveryThe Kubernetes orchestration toolStreamlining your cloud workflowDocker in swarm modeEmerging best practices and techniquesAbout the ReaderWritten for developers and engineers using Docker in production.About the AuthorIan Miell and Aidan Hobson Sayers are seasoned infrastructure architects working in the UK. Together, they used Docker to transform DevOps at one of the UK's largest gaming companies.Table of ContentsPART 1 - DOCKER FUNDAMENTALSDiscovering DockerUnderstanding Docker: Inside the engine roomPART 2 - DOCKER AND DEVELOPMENTUsing Docker as a lightweight virtual machineBuilding imagesRunning containersDay-to-day DockerConfiguration management: Getting your house in orderPART 3 - DOCKER AND DEVOPSContinuous integration: Speeding up your development pipeline Continuous delivery: A perfect fit for Docker principlesNetwork simulation: Realistic environment testing without the painPART 4 - ORCHESTRATION FROM A SINGLE MACHINE TO THE CLOUDA primer on container orchestrationThe data center as an OS with DockerDocker platformsPART 5 - DOCKER IN PRODUCTIONDocker and securityPlain sailing: Running Docker in productionDocker in production: Dealing with challenges

Succeeding with AI: How to make AI work for your business 

by Veljko Krunic

Summary Companies small and large are initiating AI projects, investing vast sums of money on software, developers, and data scientists. Too often, these AI projects focus on technology at the expense of actionable or tangible business results, resulting in scattershot results and wasted investment. Succeeding with AI sets out a blueprint for AI projects to ensure they are predictable, successful, and profitable. It&’s filled with practical techniques for running data science programs that ensure they&’re cost effective and focused on the right business goals. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Succeeding with AI requires talent, tools, and money. So why do many well-funded, state-of-the-art projects fail to deliver meaningful business value? Because talent, tools, and money aren&’t enough: You also need to know how to ask the right questions. In this unique book, AI consultant Veljko Krunic reveals a tested process to start AI projects right, so you&’ll get the results you want. About the book Succeeding with AI sets out a framework for planning and running cost-effective, reliable AI projects that produce real business results. This practical guide reveals secrets forged during the author&’s experience with dozens of startups, established businesses, and Fortune 500 giants that will help you establish meaningful, achievable goals. In it you&’ll master a repeatable process to maximize the return on data-scientist hours and learn to implement effectiveness metrics for keeping projects on track and resistant to calcification. What's inside Where to invest for maximum payoff How AI projects are different from other software projects Catching early warnings in time to correct course Exercises and examples based on real-world business dilemmas About the reader For project and business leadership, result-focused data scientists, and engineering teams. No AI knowledge required. About the author Veljko Krunic is a data science consultant, has a computer science PhD, and is a certified Six Sigma Master Black Belt. Table of Contents: 1. Introduction 2. How to use AI in your business 3. Choosing your first AI project 4. Linking business and technology 5. What is an ML pipeline, and how does it affect an AI project? 6. Analyzing an ML pipeline 7. Guiding an AI project to success 8. AI trends that may affect you

Microservices Patterns: With examples in Java

by Chris Richardson

44 reusable patterns to develop and deploy reliable production-quality microservices-based applications, with worked examples in Java Key Features 44 design patterns for building and deploying microservices applications Drawing on decades of unique experience from author and microservice architecture pioneer Chris Richardson A pragmatic approach to the benefits and the drawbacks of microservices architecture Solve service decomposition, transaction management, and inter-service communication Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Microservices Patterns teaches you 44 reusable patterns to reliably develop and deploy production-quality microservices-based applications. This invaluable set of design patterns builds on decades of distributed system experience, adding new patterns for composing services into systems that scale and perform under real-world conditions. More than just a patterns catalog, this practical guide with worked examples offers industry-tested advice to help you design, implement, test, and deploy your microservices-based application. What You Will Learn How (and why!) to use microservices architecture Service decomposition strategies Transaction management and querying patterns Effective testing strategies Deployment patterns This Book Is Written For Written for enterprise developers familiar with standard enterprise application architecture. Examples are in Java. About The Author Chris Richardson is a Java Champion, a JavaOne rock star, author of Manning&’s POJOs in Action, and creator of the original CloudFoundry.com. Table of Contents Escaping monolithic hell Decomposition strategies Interprocess communication in a microservice architecture Managing transactions with sagas Designing business logic in a microservice architecture Developing business logic with event sourcing Implementing queries in a microservice architecture External API patterns Testing microservices: part 1 Testing microservices: part 2 Developing production-ready services Deploying microservices Refactoring to microservices

C++ Concurrency in Action

by Anthony Williams

SummaryThis bestseller has been updated and revised to cover all the latest changes to C++ 14 and 17! C++ Concurrency in Action, Second Edition teaches you everything you need to write robust and elegant multithreaded applications in C++17.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyYou choose C++ when your applications need to run fast. Well-designed concurrency makes them go even faster. C++ 17 delivers strong support for the multithreaded, multiprocessor programming required for fast graphic processing, machine learning, and other performance-sensitive tasks. This exceptional book unpacks the features, patterns, and best practices of production-grade C++ concurrency.About the BookC++ Concurrency in Action, Second Edition is the definitive guide to writing elegant multithreaded applications in C++. Updated for C++ 17, it carefully addresses every aspect of concurrent development, from starting new threads to designing fully functional multithreaded algorithms and data structures. Concurrency master Anthony Williams presents examples and practical tasks in every chapter, including insights that will delight even the most experienced developer. What's insideFull coverage of new C++ 17 featuresStarting and managing threadsSynchronizing concurrent operationsDesigning concurrent codeDebugging multithreaded applicationsAbout the ReaderWritten for intermediate C and C++ developers. No prior experience with concurrency required.About the AuthorAnthony Williams has been an active member of the BSI C++ Panel since 2001 and is the developer of the just::thread Pro extensions to the C++ 11 thread library.Table of ContentsHello, world of concurrency in C++!Managing threadsSharing data between threadsSynchronizing concurrent operationsThe C++ memory model and operations on atomic typesDesigning lock-based concurrent data structuresDesigning lock-free concurrent data structuresDesigning concurrent codeAdvanced thread managementParallel algorithmsTesting and debugging multithreaded applications

Learn Kubernetes in a Month of Lunches

by Elton Stoneman

Learn Kubernetes in a Month of Lunches is your guide to getting up and running with Kubernetes.Summary In Learn Kubernetes in a Month of Lunches you'll go from "what&’s a Pod?" to automatically scaling clusters of containers and components in just 22 hands-on lessons, each short enough to fit into a lunch break. Every lesson is task-focused and covers an essential skill on the road to Kubernetes mastery. You'll learn how to smooth container management with Kubernetes, including securing your clusters, and upgrades and rollbacks with zero downtime. No development stack, platform, or background is assumed. Author Elton Stoneman describes all patterns generically, so you can easily apply them to your applications and port them to other projects! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Create apps that perform identically on your laptop, data center, and cloud! Kubernetes provides a consistent method for deploying applications on any platform, making it easy to grow. By efficiently orchestrating Docker containers, Kubernetes simplifies tasks like rolling upgrades, scaling, and self-healing. About the book Learn Kubernetes in a Month of Lunches is your guide to getting up and running with Kubernetes. You'll progress from Kubernetes basics to essential skills, learning to model, deploy, and manage applications in production. Exercises demonstrate how Kubernetes works with multiple languages and frameworks. You'll also practice with new apps, legacy code, and serverless functions. What's inside Deploying applications on Kubernetes clusters Understanding the Kubernetes app lifecycle, from packaging to rollbacks Self-healing and scalable apps Using Kubernetes as a platform for new technologies About the reader For readers familiar with Docker and containerization. About the author Elton Stoneman is a Docker Captain, a 11-time Microsoft MVP, and the author of Learn Docker in a Month of Lunches. Table of Contents PART 1 - FAST TRACK TO KUBERNETES 1 Before you begin 2 Running containers in Kubernetes with Pods and Deployments 3 Connecting Pods over the network with Services 4 Configuring applications with ConfigMaps and Secrets 5 Storing data with volumes, mounts, and claims 6 Scaling applications across multiple Pods with controllers PART 2 - KUBERNETES IN THE REAL WORLD 7 Extending applications with multicontainer Pods 8 Running data-heavy apps with StatefulSets and Jobs 9 Managing app releases with rollouts and rollbacks 10 Packaging and managing apps with Helm 11 App development—Developer workflows and CI/CD PART 3 - PREPARING FOR PRODUCTION 12 Empowering self-healing apps 13 Centralizing logs with Fluentd and Elasticsearch 14 Monitoring applications with Kubernetes with Prometheus 15 Managing incoming traffic with Ingress 16 Securing applications with policies, contexts, and admission control PART 4 - PURE AND APPLIED KUBERNETES 17 Securing resources with role-based access control 18 Deploying Kubernetes: Multinode and multiarchitecture clusters 19 Controlling workload placement and automatic scaling 20 Extending Kubernetes with custom resources and Operators 21 Running serverless functions in Kubernetes 22 Never the end

Five Lines of Code: How and when to refactor

by Christian Clausen

Five Lines of Code teaches refactoring that's focused on concrete rules and getting any method down to five lines or less! There&’s no jargon or tricky automated-testing skills required, just easy guidelines and patterns illustrated by detailed code samples.In Five Lines of Code you will learn: The signs of bad code Improving code safely, even when you don&’t understand it Balancing optimization and code generality Proper compiler practices The Extract method, Introducing Strategy pattern, and many other refactoring patterns Writing stable code that enables change-by-addition Writing code that needs no comments Real-world practices for great refactoring Improving existing code—refactoring—is one of the most common tasks you&’ll face as a programmer. Five Lines of Code teaches you clear and actionable refactoring rules that you can apply without relying on intuitive judgements such as &“code smells.&” Following the author&’s expert perspective—that refactoring and code smells can be learned by following a concrete set of principles—you&’ll learn when to refactor your code, what patterns to apply to what problem, and the code characteristics that indicate it&’s time for a rework. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Every codebase includes mistakes and inefficiencies that you need to find and fix. Refactor the right way, and your code becomes elegant, easy to read, and easy to maintain. In this book, you&’ll learn a unique approach to refactoring that implements any method in five lines or fewer. You&’ll also discover a secret most senior devs know: sometimes it&’s quicker to hammer out code and fix it later! About the book Five Lines of Code is a fresh look at refactoring for developers of all skill levels. In it, you&’ll master author Christian Clausen&’s innovative approach, learning concrete rules to get any method down to five lines—or less! You&’ll learn when to refactor, specific refactoring patterns that apply to most common problems, and characteristics of code that should be deleted altogether. What's inside The signs of bad code Improving code safely, even when you don&’t understand it Balancing optimization and code generality Proper compiler practices About the reader For developers of all skill levels. Examples use easy-to-read Typescript, in the same style as Java and C#. About the author Christian Clausen works as a Technical Agile Coach, teaching teams how to refactor code. Table of Contents 1 Refactoring refactoring 2 Looking under the hood of refactoring PART 1 LEARN BY REFACTORING A COMPUTER GAME 3 Shatter long function 4 Make type codes work 5 Fuse similar code together 6 Defend the data PART 2 TAKING WHAT YOU HAVE LEARNED INTO THE REAL WORLD 7 Collaborate with the compiler 8 Stay away from comments 9 Love deleting code 10 Never be afraid to add code 11 Follow the structure in the code 12 Avoid optimizations and generality 13 Make bad code look bad 14 Wrapping up

Testing JavaScript Applications

by Lucas Fernandes da Costa

Testing JavaScript Applications teaches you how to implement an automated testing plan for JavaScript-based web applications.Summary Automated testing will help you write high-quality software in less time, with more confidence, fewer bugs, and without constant manual oversight. Testing JavaScript Applications is a guide to building a comprehensive and reliable JS application testing suite, covering both how to write tests and how JS testing tools work under the hood. You&’ll learn from Lucas de Costa, a core contributor to popular JS testing libraries, as he shares a quality mindset for making testing decisions that deliver a real contribution to your business. You&’ll benefit from informative explanations and diagrams, easily-transferable code samples, and useful tips on using the latest and most consolidated libraries and frameworks of the JavaScript ecosystem. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Automated testing is essential to delivering good JavaScript applications every time. A complete testing strategy needs to cover functions in isolation, integration between different parts of your code, and correctness from the end user&’s perspective. This book will teach you how to deliver reliable software quickly and confidently. About the book Testing JavaScript Applications teaches you how to implement an automated testing plan for JavaScript-based web applications. It describes practical testing strategies, covers useful tools and libraries, and explains how to foster a culture of quality. In this clearly-written, example-rich book, you&’ll explore approaches for both backend and frontend applications and learn how to validate your software much more quickly and reliably. What's inside Unit, end-to-end, and integration testing Managing test cost and complexity Practicing test-driven development Dealing with external dependencies Tools like like Jest and Cypress About the reader For junior JavaScript developers. About the author Lucas da Costa is a core maintainer of Chai and Sinon.JS, two of the most popular testing tools in the JavaScript ecosystem, and contributed to numerous other open-source projects, including Jest. Table of Contents PART 1 - TESTING JAVASCRIPT APPLICATIONS 1 An introduction to automated testing 2 What to test and when? Part 2 - WRITING TESTS 3 Testing techniques 4 Testing backend applications 5 Advanced backend testing techniques 6 Testing frontend applications 7 The React testing ecosystem 8 Testing React applications 9 Test-driven development 10 UI-based end-to-end testing 11 Writing UI-based end-to-end tests PART 3 - BUSINESS IMPACT 12 Continuous integration and continuous delivery 13 A culture of quality

Kubernetes for Developers

by William Denniss

A clear and practical beginner&’s guide that shows you just how easy it can be to make the switch to Kubernetes!Kubernetes for Developers reveals practical and painless methods for deploying your apps on Kubernetes—even for small-to-medium sized applications! You&’ll learn how to migrate your existing apps onto Kubernetes without a rebuild, and implement modern cloud native architectures that can handle your future growth. Inside, you&’ll learn how to: Containerize a web application with Docker Host a containerized app on Kubernetes with a public cloud service Save money and improve performance with cloud native technologies Make your deployments reliable and fault tolerant Prepare your deployments to scale without a redesign Monitor, debug and tune application deployments on Kubernetes Designed for busy working developers, this hands-on guide helps your first steps into Kubernetes using the powerful Google Kubernetes Engine (GKE) service. Learn how the GKE&’s powerful automation tools can perform automatic checks and scaling, giving you more time to spend developing great applications. You&’ll soon see that you don&’t need to incur huge costs or have the manpower of an enterprise organization to get a productivity boost from Kubernetes! About the technology Modern software needs to perform at scale while effectively handling load balancing, state and security. Kubernetes makes these tasks easier and more reliable for apps of any size. This book, written especially for software developers creating applications that run on Kubernetes, shows you exactly how to address these and other important issues. About the book Kubernetes for Developers covers everything you need to know to containerize and deploy an app on Kubernetes from the developer&’s perspective. You&’ll start by creating a small application you can run on a cloud-based Kubernetes cluster. Then, you&’ll systematically explore best practices for stable long-term deployment, including scaling, capacity planning, and resource optimization. What's inside Deploying reliable web applications using automated operations Scaling up without an application redesign Monitoring, debugging, and tuning workloads About the reader For developers familiar with building or deploying web applications. No Docker or Kubernetes experience required. About the author William Denniss is a product manager at Google working on Google Kubernetes Engine. Table of Contents PART 1 Getting started with Kubernetes 1 Kubernetes for application deployment 2 Containerizing apps 3 Deploying to Kubernetes 4 Automated operations 5 Resource management PART 2 Going to production 6 Scaling up 7 Internal services and load balancing 8 Node feature selection 9 Stateful applications 10 Background processing 11 GitOps: Configuration as code 12 Securing Kubernetes

Code like a Pro in C#

by Jort Rodenburg

Build on your existing programming skills and upskill to professional-level C# programming. Summary In Code Like A Pro in C# you will learn: Unit testing and test-driven development Refactor a legacy .NET codebase Principles of clean code Essential backend architecture skills Query and manipulate databases with LINQ and Entity Framework Core Critical business applications worldwide are written in the versatile C# language and the powerful .NET platform, running on desktops, cloud systems, and Windows or Linux servers. Code Like a Pro in C# makes it easy to turn your existing abilities in C# or another OO language (such as Java) into practical C# mastery. There&’s no &“Hello World&” or Computer Science 101 basics—you&’ll learn by refactoring an out-of-date legacy codebase, using new techniques, tools, and best practices to bring it up to modern C# standards. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology You know the basics, now get ready for the next step! Pro-quality C# code is efficient, clean, and fast. Whether you&’re building user-facing business applications or writing data-intensive backend services, the experience-based, practical techniques in this book will take your C# skills to a new level. About the book Code Like a Pro in C# teaches you to how write clean C# code that&’s suitable for enterprise applications. In this book, you&’ll refactor a legacy codebase by applying modern C# techniques. You&’ll explore tools like Entity Framework Core, design techniques like dependency injection, and key practices like testing and clean coding. It&’s a perfect path to upgrade your existing C# skills or shift from another OO language into C# and the .NET ecosystem. What's inside Unit testing and test-driven development Refactor a legacy .NET codebase Principles of clean code Query and manipulate databases with LINQ and Entity Framework Core About the reader For developers experienced with object-oriented programming. No C# experience required. About the author Jort Rodenburg is a software engineer who has taught numerous courses on getting up to speed with C# and .NET. Table of Contents PART 1 USING C# AND .NET 1 Introducing C# and .NET 2 .NET and how it compiles PART 2 THE EXISTING CODEBASE 3 How bad is this code? 4 Manage your unmanaged resources! PART 3 THE DATABASE ACCESS LAYER 5 Setting up a project and database with Entity Framework Core PART 4 THE REPOSITORY LAYER 6 Test-driven development and dependency injection 7 Comparing objects 8 Stubbing, generics, and coupling 9 Extension methods, streams, and abstract classes PART 5 THE SERVICE LAYER 10 Reflection and mocks 11 Runtime type checking revisited and error handling 12 Using IAsyncEnumerable and yield return PART 6 THE CONTROLLER LAYER 13 Middleware, HTTP routing, and HTTP responses 14 JSON serialization/deserialization and custom model binding

Flutter in Action

by Eric Windmill

Summary In 2017, consumers downloaded 178 billion apps, and analysts predict growth to 258 billion by 2022. Mobile customers are demanding more—and better—apps, and it&’s up to developers like you to write them! Flutter, a revolutionary new cross-platform software development kit created by Google, makes it easier than ever to write secure, high-performance native apps for iOS and Android. Flutter apps are blazingly fast because this open source solution compiles your Dart code to platform-specific programs with no JavaScript bridge! Flutter also supports hot reloading to update changes instantly. And thanks to its built-in widgets and rich motion APIs, Flutter&’s apps are not just highly responsive, they&’re stunning! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology With Flutter, you can build mobile applications using a single, feature-rich SDK that includes everything from a rendering engine to a testing environment. Flutter compiles programs written in Google&’s intuitive Dart language to platform-specific code so your iOS and Android games, utilities, and shopping platforms all run like native Java or Swift apps. About the book Flutter in Action teaches you to build professional-quality mobile applications using the Flutter SDK and the Dart programming language. You&’ll begin with a quick tour of Dart essentials and then dive into engaging, well-described techniques for building beautiful user interfaces using Flutter&’s huge collection of built-in widgets. The combination of diagrams, code examples, and annotations makes learning a snap. As you go, you&’ll appreciate how the author makes easy reading of complex topics like routing, state management, and async programming. What's inside Understanding the Flutter approach to the UI All the Dart you need to get started Creating custom animations Testing and debugging About the reader You&’ll need basic web or mobile app development skills. About the author Eric Windmill is a professional Dart developer and a contributor to open-source Flutter projects. His work is featured on the Flutter Showcase page. Table of Contents: PART 1 - MEET FLUTTER 1 ¦ Meet Flutter 2 ¦ A brief intro to Dart 3 ¦ Breaking into Flutter PART 2 - FLUTTER USER INTERACTION, STYLES, AND ANIMATIONS 4 ¦ Flutter UI: Important widgets, themes, and layout 5 ¦ User interaction: Forms and gestures 6 ¦ Pushing pixels: Flutter animations and using the canvas PART 3 - STATE MANAGEMENT AND ASYNCHRONOUS DART 7 ¦ Flutter routing in depth 8 ¦ Flutter state management 9 ¦ Async Dart and Flutter and infinite scrolling PART 4 - BEYOND FOUNDATIONS 10 ¦ Working with data: HTTP, Firestore, and JSON 11 ¦ Testing Flutter apps

ASP.NET Core in Action

by Andrew Lock

ASP.NET Core in Action, Second Edition is a comprehensive guide to creating web applications with ASP.NET Core 5.0. Go from basic HTTP concepts to advanced framework customization.Summary Fully updated to ASP.NET 5.0, ASP.NET Core in Action, Second Edition is a hands-on primer to building cross-platform web applications with your C# and .NET skills. Even if you've never worked with ASP.NET you'll start creating productive cross-platform web apps fast. And don&’t worry about late-breaking changes to ASP.NET Core. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Build full-stack web applications that run anywhere. Developers love ASP.NET Core for its libraries and pre-built components that maximize productivity. Version 5.0 offers new features for server-side apps, as well as background services for cross-platform development. About the book ASP.NET Core in Action, Second Edition is a comprehensive guide to creating web applications with ASP.NET Core 5.0. Go from basic HTTP concepts to advanced framework customization. Illustrations and annotated code make learning visual and easy. Master logins, dependency injection, security, and more. This updated edition covers the latest features, including Razor Pages and the new hosting paradigm. What's inside Developing apps for Windows and non-Windows servers Configuring applications Building custom components Logging, testing, and security About the reader For intermediate C# developers. About the author Andrew Lock is a Microsoft MVP who has worked with ASP.NET Core since before its first release. Table of Contents PART 1 - GETTING STARTED WITH ASP.NET CORE 1 Getting started with ASP.NET Core 2 Your first application 3 Handling requests with the middleware pipeline 4 Creating a website with Razor Pages 5 Mapping URLs to Razor Pages using routing 6 The binding model: Retrieving and validating user input 7 Rendering HTML using Razor views 8 Building forms with Tag Helpers 9 Creating a Web API for mobile and client applications using MVC PART 2 - BUILDING COMPLETE APPLICATIONS 10 Service configuration with dependency injection 11 Configuring an ASP.NET Core application 12 Saving data with Entity Framework Core 13 The MVC and Razor Pages filter pipeline 14 Authentication: Adding users to your application with Identity 15 Authorization: Securing your application 16 Publishing and deploying your application PART 3 - EXTENDING YOUR APPLICATIONS 17 Monitoring and troubleshooting errors with logging 18 Improving your application&’s security 19 Building custom components 20 Building custom MVC and Razor Pages components 21 Calling remote APIs with IHttpClientFactory 22 Building background tasks and services 23 Testing your application

Software Telemetry: Reliable logging and monitoring

by Jamie Riedesel

Software Telemetry shows you how to efficiently collect, store, and analyze system and application log data so you can monitor and improve your systems. Summary In Software Telemetry you will learn how to: Manage toxic telemetry and confidential records Master multi-tenant techniques and transformation processes Update to improve the statistical validity of your metrics and dashboards Make software telemetry emissions easier to parse Build easily-auditable logging systems Prevent and handle accidental data leaks Maintain processes for legal compliance Justify increased spend on telemetry software Software Telemetry teaches you best practices for operating and updating telemetry systems. These vital systems trace, log, and monitor infrastructure by observing and analyzing the events generated by the system. This practical guide is filled with techniques you can apply to any size of organization, with troubleshooting techniques for every eventuality, and methods to ensure your compliance with standards like GDPR. About the technology Take advantage of the data generated by your IT infrastructure! Telemetry systems provide feedback on what&’s happening inside your data center and applications, so you can efficiently monitor, maintain, and audit them. This practical book guides you through instrumenting your systems, setting up centralized logging, doing distributed tracing, and other invaluable telemetry techniques. About the book Software Telemetry shows you how to efficiently collect, store, and analyze system and application log data so you can monitor and improve your systems. Manage the pillars of observability—logs, metrics, and traces—in an end-to-end telemetry system that integrates with your existing infrastructure. You&’ll discover how software telemetry benefits both small startups and legacy enterprises. And at a time when data audits are increasingly common, you&’ll appreciate the thorough coverage of legal compliance processes, so there&’s no reason to panic when a discovery request arrives. What's inside Multi-tenant techniques and transformation processes Toxic telemetry and confidential records Updates to improve the statistical validity of your metrics and dashboards Revisions that make software telemetry emissions easier to parse About the reader For software developers and infrastructure engineers supporting and building telemetry systems. About the author Jamie Riedesel is a staff engineer at Dropbox with over twenty years of experience in IT. Table of Contents 1 Introduction PART 1 TELEMETRY SYSTEM ARCHITECTURE 2 The Emitting stage: Creating and submitting telemetry 3 The Shipping stage: Moving and storing telemetry 4 The Shipping stage: Unifying diverse telemetry formats 5 The Presentation stage: Displaying telemetry 6 Marking up and enriching telemetry 7 Handling multitenancy PART 2 USE CASES REVISITED: APPLYING ARCHITECTURE CONCEPTS 8 Growing cloud-based startup 9 Nonsoftware business 10 Long-established business IT PART 3 TECHNIQUES FOR HANDLING TELEMETRY 11 Optimizing for regular expressions at scale 12 Standardized logging and event formats 13 Using more nonfile emitting techniques 14 Managing cardinality in telemetry 15 Ensuring telemetry integrity 16 Redacting and reprocessing telemetry 17 Building policies for telemetry retention and aggregation 18 Surviving legal processes

Spring in Action, Sixth Edition

by Craig Walls

If you need to learn Spring, look no further than this widely beloved and comprehensive guide! Fully revised for Spring 5.3, and packed with interesting real-world examples to get your hands dirty with Spring.In Spring in Action, 6th Edition you will learn: Building reactive applications Relational and NoSQL databases Integrating via HTTP and REST-based services, and sand reactive RSocket services Reactive programming techniques Deploying applications to traditional servers and containers Securing applications with Spring Security Over the years, Spring in Action has helped tens of thousands of developers get a major productivity boost from Spring. This new edition of the classic bestseller covers all of the new features of Spring 5.3 and Spring Boot 2.4 along with examples of reactive programming, Spring Security for REST Services, and bringing reactivity to your databases. You'll also find the latest Spring best practices, including Spring Boot for application setup and configuration. About the technology Spring is required knowledge for Java developers! Why? Th is powerful framework eliminates a lot of the tedious configuration and repetitive coding tasks, making it easy to build enterprise-ready, production-quality software. The latest updates bring huge productivity boosts to microservices, reactive development, and other modern application designs. It&’s no wonder over half of all Java developers use Spring. About the book Spring in Action, Sixth Edition is a comprehensive guide to Spring&’s core features, all explained in Craig Walls&’ famously clear style. You&’ll put Spring into action as you build a complete database-backed web app step-by-step. This new edition covers both Spring fundamentals and new features such as reactive flows, Kubernetes integration, and RSocket. Whether you&’re new to Spring or leveling up to Spring 5.3, make this classic bestseller your bible! What's inside Relational and NoSQL databases Integrating via RSocket and REST-based services Reactive programming techniques Deploying applications to traditional servers and containers About the reader For beginning to intermediate Java developers. About the author Craig Walls is an engineer at VMware, a member of the Spring engineering team, a popular author, and a frequent conference speaker. Table of Contents PART 1 FOUNDATIONAL SPRING 1 Getting started with Spring 2 Developing web applications 3 Working with data 4 Working with nonrelational data 5 Securing Spring 6 Working with configuration properties PART 2 INTEGRATED SPRING 7 Creating REST services 8 Securing REST 9 Sending messages asynchronously 10 Integrating Spring PART 3 REACTIVE SPRING 11 Introducing Reactor 12 Developing reactive APIs 13 Persisting data reactively 14 Working with RSocket PART 4 DEPLOYED SPRING 15 Working with Spring Boot Actuator 16 Administering Spring 17 Monitoring Spring with JMX 18 Deploying Spring

Grokking Streaming Systems: Real-time event processing

by Josh Fischer Ning Wang

A friendly, framework-agnostic tutorial that will help you grok how streaming systems work—and how to build your own!In Grokking Streaming Systems you will learn how to: Implement and troubleshoot streaming systems Design streaming systems for complex functionalities Assess parallelization requirements Spot networking bottlenecks and resolve back pressure Group data for high-performance systems Handle delayed events in real-time systems Grokking Streaming Systems is a simple guide to the complex concepts behind streaming systems. This friendly and framework-agnostic tutorial teaches you how to handle real-time events, and even design and build your own streaming job that&’s a perfect fit for your needs. Each new idea is carefully explained with diagrams, clear examples, and fun dialogue between perplexed personalities! About the technology Streaming systems minimize the time between receiving and processing event data, so they can deliver responses in real time. For applications in finance, security, and IoT where milliseconds matter, streaming systems are a requirement. And streaming is hot! Skills on platforms like Spark, Heron, and Kafka are in high demand. About the book Grokking Streaming Systems introduces real-time event streaming applications in clear, reader-friendly language. This engaging book illuminates core concepts like data parallelization, event windows, and backpressure without getting bogged down in framework-specific details. As you go, you&’ll build your own simple streaming tool from the ground up to make sure all the ideas and techniques stick. The helpful and entertaining illustrations make streaming systems come alive as you tackle relevant examples like real-time credit card fraud detection and monitoring IoT services. What's inside Implement and troubleshoot streaming systems Design streaming systems for complex functionalities Spot networking bottlenecks and resolve backpressure Group data for high-performance systems About the reader No prior experience with streaming systems is assumed. Examples in Java. About the author Josh Fischer and Ning Wang are Apache Committers, and part of the committee for the Apache Heron distributed stream processing engine. Table of Contents PART 1 GETTING STARTED WITH STREAMING 1 Welcome to Grokking Streaming Systems 2 Hello, streaming systems! 3 Parallelization and data grouping 4 Stream graph 5 Delivery semantics 6 Streaming systems review and a glimpse ahead PART 2 STEPPING UP 7 Windowed computations 8 Join operations 9 Backpressure 10 Stateful computation 11 Wrap-up: Advanced concepts in streaming systems

MLOps Engineering at Scale

by Carl Osipov

Dodge costly and time-consuming infrastructure tasks, and rapidly bring your machine learning models to production with MLOps and pre-built serverless tools!In MLOps Engineering at Scale you will learn: Extracting, transforming, and loading datasets Querying datasets with SQL Understanding automatic differentiation in PyTorch Deploying model training pipelines as a service endpoint Monitoring and managing your pipeline&’s life cycle Measuring performance improvements MLOps Engineering at Scale shows you how to put machine learning into production efficiently by using pre-built services from AWS and other cloud vendors. You&’ll learn how to rapidly create flexible and scalable machine learning systems without laboring over time-consuming operational tasks or taking on the costly overhead of physical hardware. Following a real-world use case for calculating taxi fares, you will engineer an MLOps pipeline for a PyTorch model using AWS server-less capabilities. About the technology A production-ready machine learning system includes efficient data pipelines, integrated monitoring, and means to scale up and down based on demand. Using cloud-based services to implement ML infrastructure reduces development time and lowers hosting costs. Serverless MLOps eliminates the need to build and maintain custom infrastructure, so you can concentrate on your data, models, and algorithms. About the book MLOps Engineering at Scale teaches you how to implement efficient machine learning systems using pre-built services from AWS and other cloud vendors. This easy-to-follow book guides you step-by-step as you set up your serverless ML infrastructure, even if you&’ve never used a cloud platform before. You&’ll also explore tools like PyTorch Lightning, Optuna, and MLFlow that make it easy to build pipelines and scale your deep learning models in production. What's inside Reduce or eliminate ML infrastructure management Learn state-of-the-art MLOps tools like PyTorch Lightning and MLFlow Deploy training pipelines as a service endpoint Monitor and manage your pipeline&’s life cycle Measure performance improvements About the reader Readers need to know Python, SQL, and the basics of machine learning. No cloud experience required. About the author Carl Osipov implemented his first neural net in 2000 and has worked on deep learning and machine learning at Google and IBM. Table of Contents PART 1 - MASTERING THE DATA SET 1 Introduction to serverless machine learning 2 Getting started with the data set 3 Exploring and preparing the data set 4 More exploratory data analysis and data preparation PART 2 - PYTORCH FOR SERVERLESS MACHINE LEARNING 5 Introducing PyTorch: Tensor basics 6 Core PyTorch: Autograd, optimizers, and utilities 7 Serverless machine learning at scale 8 Scaling out with distributed training PART 3 - SERVERLESS MACHINE LEARNING PIPELINE 9 Feature selection 10 Adopting PyTorch Lightning 11 Hyperparameter optimization 12 Machine learning pipeline

Classic Computer Science Problems in Java

by David Kopec

Sharpen your coding skills by exploring established computer science problems! Classic Computer Science Problems in Java challenges you with time-tested scenarios and algorithms.Summary Sharpen your coding skills by exploring established computer science problems! Classic Computer Science Problems in Java challenges you with time-tested scenarios and algorithms. You&’ll work through a series of exercises based in computer science fundamentals that are designed to improve your software development abilities, improve your understanding of artificial intelligence, and even prepare you to ace an interview. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Whatever software development problem you&’re facing, odds are someone has already uncovered a solution. This book collects the most useful solutions devised, guiding you through a variety of challenges and tried-and-true problem-solving techniques. The principles and algorithms presented here are guaranteed to save you countless hours in project after project. About the book Classic Computer Science Problems in Java is a master class in computer programming designed around 55 exercises that have been used in computer science classrooms for years. You&’ll work through hands-on examples as you explore core algorithms, constraint problems, AI applications, and much more. What's inside Recursion, memoization, and bit manipulation Search, graph, and genetic algorithms Constraint-satisfaction problems K-means clustering, neural networks, and adversarial search About the reader For intermediate Java programmers. About the author David Kopec is an assistant professor of Computer Science and Innovation at Champlain College in Burlington, Vermont. Table of Contents 1 Small problems 2 Search problems 3 Constraint-satisfaction problems 4 Graph problems 5 Genetic algorithms 6 K-means clustering 7 Fairly simple neural networks 8 Adversarial search 9 Miscellaneous problems 10 Interview with Brian Goetz

JUnit in Action

by Catalin Tudose

JUnit in Action, Third Edition has been completely rewritten for this release. The book is full of examples that demonstrate JUnit's modern features, including its new architecture; nested, tagged, and dynamic tests; and dependency injection.Summary JUnit is the gold standard for unit testing Java applications. Filled with powerful new features designed to automate software testing, JUnit 5 boosts your productivity and helps avoid debugging nightmares. Whether you're just starting with JUnit or you want to ramp up on the new features, JUnit in Action, Third Edition has you covered. Extensively revised with new code and new chapters, JUnit in Action, Third Edition is an up-to-date guide to smooth software testing. Dozens of hands-on examples illustrate JUnit 5's innovations for dependency injection, nested testing, parameterized tests, and more. Throughout, you&’ll learn how to use JUnit 5 to automate your testing, for a process that consumes less resources, and gives you more time for developing. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology The JUnit framework is the gold standard for unit testing Java applications—and knowing it is an essential skill for Java developers. The latest version, JUnit 5, is a total overhaul, now supporting modern Java features like Lambdas and Streams. About the book JUnit in Action, Third Edition has been completely rewritten for this release. The book is full of examples that demonstrate JUnit's modern features, including its new architecture; nested, tagged, and dynamic tests; and dependency injection. You'll benefit from author Catalin Tudose's unique "pyramid" testing strategy, which breaks the testing process into layers and sets you on the path to bug-free code creation. What's inside Migrating from JUnit 4 to 5 Effective test automation Test-driven development and behavior-driven development Using mocks for test isolation Connecting JUnit 5 with Maven or Gradle About the reader For intermediate Java developers. About the author Catalin Tudose has a Ph.D. in Computer Science, and over 15 years of experience as a Senior Java Developer and Technical Team Lead. Previous editions were authored by Petar Tahchiev, Felipe Leme, Gary Gregory, and Vincent Massol. Table of Contents PART 1 - JUNIT 1 JUnit jump-start 2 Exploring core JUnit 3 JUnit architecture 4 Migrating from JUnit 4 to JUnit 5 5 Software testing principles PART 2 - DIFFERENT TESTING STRATEGIES 6 Test quality 7 Coarse-grained testing with stubs 8 Testing with mock objects 9 In-container testing PART 3 - WORKING WITH JUNIT 5 AND OTHER TOOLS 10 Runing JUnit tests from Maven 3 11 Running JUnit tests from Gradle 6 12 JUnit 5 IDE support 13 Coninuous integration with JUnit 5 PART 4 - WORKING WITH MODERN FRAMEWORKS AND JUNIT 5 14 JUnit 5 extension model 15 Presentation-layer testing 16 Testing Spring applications 17 Testing Spring Boot applications 18 Testing a REST API 19 Testing database applications PART 5 - DEVELOPING APPLICATIONS WITH JUNIT 5 20 Test-driven development with JUnit 5 21 Behavior-driven development in JUnit 5 22 Implementing a test pyramid strategy with JUnit 5

Algorithms and Data Structures for Massive Datasets

by Dzejla Medjedovic Emin Tahirovic

Massive modern datasets make traditional data structures and algorithms grind to a halt. This fun and practical guide introduces cutting-edge techniques that can reliably handle even the largest distributed datasets.In Algorithms and Data Structures for Massive Datasets you will learn: Probabilistic sketching data structures for practical problems Choosing the right database engine for your application Evaluating and designing efficient on-disk data structures and algorithms Understanding the algorithmic trade-offs involved in massive-scale systems Deriving basic statistics from streaming data Correctly sampling streaming data Computing percentiles with limited space resources Algorithms and Data Structures for Massive Datasets reveals a toolbox of new methods that are perfect for handling modern big data applications. You&’ll explore the novel data structures and algorithms that underpin Google, Facebook, and other enterprise applications that work with truly massive amounts of data. These effective techniques can be applied to any discipline, from finance to text analysis. Graphics, illustrations, and hands-on industry examples make complex ideas practical to implement in your projects—and there&’s no mathematical proofs to puzzle over. Work through this one-of-a-kind guide, and you&’ll find the sweet spot of saving space without sacrificing your data&’s accuracy. About the technology Standard algorithms and data structures may become slow—or fail altogether—when applied to large distributed datasets. Choosing algorithms designed for big data saves time, increases accuracy, and reduces processing cost. This unique book distills cutting-edge research papers into practical techniques for sketching, streaming, and organizing massive datasets on-disk and in the cloud. About the book Algorithms and Data Structures for Massive Datasets introduces processing and analytics techniques for large distributed data. Packed with industry stories and entertaining illustrations, this friendly guide makes even complex concepts easy to understand. You&’ll explore real-world examples as you learn to map powerful algorithms like Bloom filters, Count-min sketch, HyperLogLog, and LSM-trees to your own use cases. What's inside Probabilistic sketching data structures Choosing the right database engine Designing efficient on-disk data structures and algorithms Algorithmic tradeoffs in massive-scale systems Computing percentiles with limited space resources About the reader Examples in Python, R, and pseudocode. About the author Dzejla Medjedovic earned her PhD in the Applied Algorithms Lab at Stony Brook University, New York. Emin Tahirovic earned his PhD in biostatistics from University of Pennsylvania. Illustrator Ines Dedovic earned her PhD at the Institute for Imaging and Computer Vision at RWTH Aachen University, Germany. Table of Contents 1 Introduction PART 1 HASH-BASED SKETCHES 2 Review of hash tables and modern hashing 3 Approximate membership: Bloom and quotient filters 4 Frequency estimation and count-min sketch 5 Cardinality estimation and HyperLogLog PART 2 REAL-TIME ANALYTICS 6 Streaming data: Bringing everything together 7 Sampling from data streams 8 Approximate quantiles on data streams PART 3 DATA STRUCTURES FOR DATABASES AND EXTERNAL MEMORY ALGORITHMS 9 Introducing the external memory model 10 Data structures for databases: B-trees, Bε-trees, and LSM-trees 11 External memory sorting

Refine Search

Showing 25,126 through 25,150 of 54,258 results