Amazon cover image
Image from Amazon.com

Mastering Elixir : build and scale concurrent, distributed, and fault-tolerant applications / André Albuquerque, Daniel Caixinha.

By: Contributor(s): Material type: TextTextPublisher: Birmingham, UK : Packt Publishing, 2018Description: 1 online resource (1 volume) : illustrationsContent type:
  • text
Media type:
  • computer
Carrier type:
  • online resource
ISBN:
  • 9781788472241
  • 1788472241
  • 1788472675
  • 9781788472678
Subject(s): Genre/Form: DDC classification:
  • 005.1/14 23
LOC classification:
  • QA76.73.E75
Online resources:
Contents:
Cover; Title Page; Copyright and Credits; Dedication; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Preparing for the Journey Ahead; Why functional programming?; Elixir and Erlang; Elixir's data types; Integers; Floats; Atoms; Booleans; Tuples; Lists; Maps; Binaries; Strings and charlists; Other types; Keyword lists; Ranges; MapSets; Pattern matching; Pattern matching on tuples; Pattern matching on lists; Pattern matching on maps; Pattern matching on binaries and strings; Functions and Modules; Anonymous functions; Modules and Named Functions
Module attributes, directives, and usesWorking with collections; Looping through recursion; Eager processing with the Enum module; Comprehensions; Lazy processing with the stream module; Control flow; if and unless; cond; case; with; Exceptions; Typespecs and behaviours; Typespecs; Dialyzer; Behaviours; Protocols; Structs; Bringing structs and protocols together; Tooling and ecosystems; IEx; Mix; ExUnit; Erlang interoperability; Summary; Chapter 2: Innards of an Elixir Project; Elixir applications; Elixir project structure; Project dependencies; Umbrella projects
ElixirDrip -- our showcase applicationUsing behaviours; Viewing cross references with xref; Adopting a consistent coding style; Summary; Chapter 3: Processes -- The Bedrock of Concurrency and Fault Tolerance; Inside the BEAM; Working with processes; Creating processes; Message passing between processes; Building a cache worker; Detecting errors by linking and monitoring processes; Using links; Using monitors; Recovering from errors with supervisors and supervision trees; Defining and starting a supervisor; Streamlined child specs; Starting children at runtime using dynamic supervisors
Minimizing error effects with supervision treesSummary; Chapter 4: Powered by Erlang/OTP; GenServer; GenServer at your service; Implementing a CacheWorker with GenServer; Agent; Task; Parallel tasks; Using (D)ETS; Disk-based ETS; Registry; Summary; Chapter 5: Demand-Driven Processing; GenStage; The upload pipeline; The notifier stage; The RemoteStorage stage; The Encryption stage; The Starter stage; The download pipeline; The Notifier stage; The Encryption stage; The RemoteStorage stage; The Starter stage; Final remarks; Flow; Sample data; Lazy queries; Disk-usage rank query; Summary
Chapter 6: Metaprogramming -- Code That Writes ItselfThe abstract syntax tree; Tinkering with macros; Hygienic accesses; Famous (un)quotes; Macros -- a silver bullet?; Extending modules; Using the use and __using__/1 macros; Creating a domain-specific language; Registering module attributes; Collecting a list of pipeline steps; Generating worker specs and subscription options; Producer stage; ProducerConsumer and Consumer stages; Collecting the pipeline worker specs; Defining the supervisor functions; Streamlining GenStage modules; Simpler pipeline producers
Summary: Running concurrent, fault-tolerant applications that scale is a very demanding responsibility. This book will help you by not only going into detail on several aspects of how Elixir works, but also, and more importantly, will guide you along the way with concrete examples of how to apply the concepts learned to a full-fledged application.
Item type:
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Home library Collection Call number Materials specified Status Date due Barcode
Electronic-Books Electronic-Books OPJGU Sonepat- Campus E-Books EBSCO Available

Online resource; title from title page (Safari, viewed August 30, 2018).

Cover; Title Page; Copyright and Credits; Dedication; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Preparing for the Journey Ahead; Why functional programming?; Elixir and Erlang; Elixir's data types; Integers; Floats; Atoms; Booleans; Tuples; Lists; Maps; Binaries; Strings and charlists; Other types; Keyword lists; Ranges; MapSets; Pattern matching; Pattern matching on tuples; Pattern matching on lists; Pattern matching on maps; Pattern matching on binaries and strings; Functions and Modules; Anonymous functions; Modules and Named Functions

Module attributes, directives, and usesWorking with collections; Looping through recursion; Eager processing with the Enum module; Comprehensions; Lazy processing with the stream module; Control flow; if and unless; cond; case; with; Exceptions; Typespecs and behaviours; Typespecs; Dialyzer; Behaviours; Protocols; Structs; Bringing structs and protocols together; Tooling and ecosystems; IEx; Mix; ExUnit; Erlang interoperability; Summary; Chapter 2: Innards of an Elixir Project; Elixir applications; Elixir project structure; Project dependencies; Umbrella projects

ElixirDrip -- our showcase applicationUsing behaviours; Viewing cross references with xref; Adopting a consistent coding style; Summary; Chapter 3: Processes -- The Bedrock of Concurrency and Fault Tolerance; Inside the BEAM; Working with processes; Creating processes; Message passing between processes; Building a cache worker; Detecting errors by linking and monitoring processes; Using links; Using monitors; Recovering from errors with supervisors and supervision trees; Defining and starting a supervisor; Streamlined child specs; Starting children at runtime using dynamic supervisors

Minimizing error effects with supervision treesSummary; Chapter 4: Powered by Erlang/OTP; GenServer; GenServer at your service; Implementing a CacheWorker with GenServer; Agent; Task; Parallel tasks; Using (D)ETS; Disk-based ETS; Registry; Summary; Chapter 5: Demand-Driven Processing; GenStage; The upload pipeline; The notifier stage; The RemoteStorage stage; The Encryption stage; The Starter stage; The download pipeline; The Notifier stage; The Encryption stage; The RemoteStorage stage; The Starter stage; Final remarks; Flow; Sample data; Lazy queries; Disk-usage rank query; Summary

Chapter 6: Metaprogramming -- Code That Writes ItselfThe abstract syntax tree; Tinkering with macros; Hygienic accesses; Famous (un)quotes; Macros -- a silver bullet?; Extending modules; Using the use and __using__/1 macros; Creating a domain-specific language; Registering module attributes; Collecting a list of pipeline steps; Generating worker specs and subscription options; Producer stage; ProducerConsumer and Consumer stages; Collecting the pipeline worker specs; Defining the supervisor functions; Streamlining GenStage modules; Simpler pipeline producers

Running concurrent, fault-tolerant applications that scale is a very demanding responsibility. This book will help you by not only going into detail on several aspects of how Elixir works, but also, and more importantly, will guide you along the way with concrete examples of how to apply the concepts learned to a full-fledged application.

eBooks on EBSCOhost EBSCO eBook Subscription Academic Collection - Worldwide

There are no comments on this title.

to post a comment.

O.P. Jindal Global University, Sonepat-Narela Road, Sonepat, Haryana (India) - 131001

Send your feedback to glus@jgu.edu.in

Hosted, Implemented & Customized by: BestBookBuddies   |   Maintained by: Global Library