LEADER 01084nas 2200385 450 001 990003485240203316 005 20151201172909.0 011 $a1123-7600 035 $a000348524 035 $aUSA01000348524 035 $a(ALEPH)000348524USA01 035 $a000348524 100 $a20110118a----9999km-y-itay50------ba 101 0 $aita 102 $aIT 110 $aafazz--|||| 200 1 $aPC open 210 $aMilano$cAGEPE 215 $av.$cill.$d30 cm 300 $aComincia nel 1995 300 $aDescrizione basata su: dvd, n.146(2009) 326 $aMensile 606 0 $aMicroelaboratori elettronici$xPeriodici$2BNCF 676 $a004.1605 801 0$aIT$bsalbc$gISBD 912 $a990003485240203316 958 $aSCI$bPER II$c199-2000;2006-2009; 959 $aSE 979 $aMANCUSO$b90$c20110118$lUSA01$h1303 979 $aMANCUSO$b90$c20110127$lUSA01$h1506 979 $aMANCUSO$b90$c20110204$lUSA01$h1154 979 $aMANCUSO$b90$c20110204$lUSA01$h1155 979 $aANGELA$b90$c20151201$lUSA01$h1729 996 $aPC open$91110712 997 $aUNISA LEADER 05244nam 22005773 450 001 9911009289703321 005 20250502195427.0 010 $a9781680508970 010 $a1680508970 010 $a9781680508963 010 $a1680508962 035 $a(CKB)4940000000612356 035 $a(MiAaPQ)EBC6730058 035 $a(Au-PeEL)EBL6730058 035 $a(OCoLC)1273973092 035 $a(MiAaPQ)EBC31929396 035 $a(Au-PeEL)EBL31929396 035 $a(OCoLC)1505735141 035 $a(MiAaPQ)EBC31929474 035 $a(Au-PeEL)EBL31929474 035 $a(Perlego)4454293 035 $a(EXLCZ)994940000000612356 100 $a20250502d2021 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aConcurrent data processing in Elixir $efast, resilient applications with OTP, GenStage, Flow, and Broadway /$fSvilen Gospodinov 205 $aFirst edition. 210 1$a[Raleigh, North Carolina] :$cThe Pragmatic Programmers, LLC,$d[2021] 210 4$dİ2021 215 $a1 online resource (171 pages) 311 08$a9781680508192 311 08$a1680508199 320 $aIncludes bibliographical references. 327 $aCover -- Table of Contents -- Foreword -- Acknowledgments -- Introduction -- Who Should Read This Book? -- About This Book -- About the Code -- Online Resources -- 1. Easy Concurrency with the Task Module -- Introducing the Task Module -- Creating Our Playground -- Starting Tasks and Retrieving Results -- Managing Series of Tasks -- Linking Processes -- Meeting the Supervisor -- Understanding Let It Crash -- Wrapping Up -- 2. Long-Running Processes Using GenServer -- Starting with a Basic GenServer -- GenServer Callbacks In Depth -- Building a Job-Processing System -- Introducing DynamicSupervisor -- Implementing a Supervisor -- Naming Processes Using the Registry -- Inspecting Supervisors at Runtime -- Wrapping Up -- 3. Data-Processing Pipelines with GenStage -- Understanding Back-Pressure -- Introducing GenStage -- Building Your Data-Processing Pipeline -- Adding Concurrency with ConsumerSupervisor -- Creating Multi-Stage Data Pipelines -- Choosing the Right Dispatcher -- Wrapping Up -- 4. Processing Collections with Flow -- Analyzing Airports Data -- Creating Flows and Reading Files -- Performing Reduce Concurrently with Partitions -- Using Windows and Triggers -- Adding Flow to a GenStage Pipeline -- Wrapping Up -- 5. Data-Ingestion Pipelines with Broadway -- Processing Ticketing Events -- Broadway Callbacks In Depth -- Batching Messages -- Using GenStage Producers -- Wrapping Up -- Bibliography -- Index -- - SYMBOLS - -- - A - -- - B - -- - C - -- - D - -- - E - -- - F - -- - G - -- - H - -- - I - -- - J - -- - K - -- - L - -- - M - -- - N - -- - O - -- - P - -- - R - -- - S - -- - T - -- - U - -- - W -. 330 $aLearn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that's not only fast, but also resilient to errors and easy to scale. Whether you are building a high-frequency stock trading application or a consumer web app, you need to know how to leverage concurrency to build applications that are fast and efficient. Elixir and the OTP offer a range of powerful tools, and this guide will show you how to choose the best tool for each job, and use it effectively to quickly start building highly concurrent applications. Learn about Tasks, supervision trees, and the different types of Supervisors available to you. Understand why processes and process linking are the building blocks of concurrency in Elixir. Get comfortable with the OTP and use the GenServer behaviour to maintain process state for long-running jobs. Easily scale the number of running processes using the Registry. Handle large volumes of data and traffic spikes with GenStage, using back-pressure to your advantage. Create your first multi-stage data processing pipeline using producer, consumer, and producer-consumer stages. Process large collections with Flow, using MapReduce and more in parallel. Thanks to Broadway, you will see how easy it is to integrate with popular message broker systems, or even existing GenStage producers. --$cProvided by publisher. 606 $aElixir (Computer program language) 606 $aApplication software$xDevelopment 615 0$aElixir (Computer program language) 615 0$aApplication software$xDevelopment. 676 $a005.133 700 $aGospodinov$b Svilen$01828906 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9911009289703321 996 $aConcurrent data processing in Elixir$94398002 997 $aUNINA