Mastering Elixir: Build and scale rock-solid concurrent, distributed and fault-tolerant applications (精通 Elixir:構建與擴展穩健的並發、分散式及容錯應用程式)

Andre Albuquerque, Daniel Caixinha

  • 出版商: Packt Publishing
  • 出版日期: 2018-07-31
  • 售價: $1,980
  • 貴賓價: 9.5$1,881
  • 語言: 英文
  • 頁數: 574
  • 裝訂: Paperback
  • ISBN: 1788472675
  • ISBN-13: 9781788472678
  • 相關分類: Functional-programming
  • 海外代購書籍(需單獨結帳)

相關主題

商品描述

Learn how to build concurrent, distributed and fault-tolerant applications from scratch using Elixir's powerful concepts and tools with this comprehensive guide.

Key Features

  • Learn how to apply some of the most useful Elixir patterns and OTP concepts to build robust applications
  • Deepen your functional programming skills using the powerful Elixir tools and abstractions
  • Consolidate your knowledge every step of the way while developing a full-fledged personal file server on the Cloud

Book Description

Running concurrent, fault-tolerant applications that scale is a very demanding responsibility. After learning the abstractions that Elixir gives us, developers are able to build such applications with inconceivable low effort. There is a big gap between playing around with Elixir and running it in production, serving live requests. This book will help you fill this gap, 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.

In this book you will learn how to build a rock-solid application, beginning by using Mix to create a new project. Then you will learn how the use of Erlang's OTP, along with the Elixir abstractions that run on top of it (such as Agent or GenStage), allow you to build applications that are easy to parallelize and distribute. You will also master Supervisors (and supervision trees), and comprehend how they are the basis for building fault-tolerant applications. Then, you will use Phoenix to create a web interface for your application. Upon finishing implementation, you will learn how to take your application to the cloud, using Kubernetes to automatically deploy, scale and manage it. Last, but not least, you will keep your peace of mind by learning how to monitor and collect metrics from your application running on the cloud.

What you will learn

  • Learn how to use Elixir tooling, including IEx and Mix
  • Find out how an Elixir project is structured and how to create Umbrella applications
  • Uncover the power behind supervision trees, the basis for fault-tolerance
  • Understand how you can create a DSL which abstracts uneeded complexity
  • Create a blazing fast web interface for your application with Phoenix
  • Discover how you can setup an automatic deployment process to the cloud
  • Learn how to monitor your application and be warned if anything unexpected happens

Who This Book Is For

Almost anyone can learn to write working script and create high quality code but they might lack a structured understanding of what it means to be functional programmer. If you are a Elixir programmer who wants to code efficiently by getting the syntax and usage of a few intricate Elixir features exactly right, this book is for you.

商品描述(中文翻譯)

學習如何從零開始使用 Elixir 的強大概念和工具構建並發、分散式和容錯的應用程式,這本全面的指南將為您提供幫助。

主要特點
- 學習如何應用一些最有用的 Elixir 模式和 OTP 概念來構建穩健的應用程式
- 使用強大的 Elixir 工具和抽象深化您的函數式程式設計技能
- 在開發一個完整的個人檔案伺服器的過程中,隨時鞏固您的知識

書籍描述
運行並發、容錯且可擴展的應用程式是一項非常艱鉅的責任。在學習了 Elixir 提供的抽象後,開發人員能夠以難以想像的低成本構建這樣的應用程式。玩弄 Elixir 和在生產環境中運行它、處理實時請求之間存在著很大的差距。本書將幫助您填補這一差距,不僅詳細介紹 Elixir 的運作方式的幾個方面,更重要的是,將通過具體的範例指導您如何將所學概念應用於一個完整的應用程式。

在本書中,您將學習如何構建一個堅如磐石的應用程式,首先使用 Mix 創建一個新專案。然後,您將學習如何使用 Erlang 的 OTP 以及運行在其上的 Elixir 抽象(如 Agent 或 GenStage),使您能夠構建易於並行化和分散的應用程式。您還將掌握 Supervisors(和監督樹),並理解它們是構建容錯應用程式的基礎。接著,您將使用 Phoenix 為您的應用程式創建一個網頁介面。在完成實作後,您將學習如何將應用程式部署到雲端,使用 Kubernetes 自動部署、擴展和管理它。最後但同樣重要的是,您將學習如何監控和收集在雲端運行的應用程式的指標,以保持您的心安。

您將學習的內容
- 學習如何使用 Elixir 工具,包括 IEx 和 Mix
- 瞭解 Elixir 專案的結構以及如何創建 Umbrella 應用程式
- 揭示監督樹背後的力量,這是容錯的基礎
- 理解如何創建一個抽象不必要複雜性的 DSL
- 使用 Phoenix 為您的應用程式創建一個快速的網頁介面
- 發現如何設置自動部署到雲端的過程
- 學習如何監控您的應用程式,並在發生意外情況時獲得警告

本書適合誰
幾乎任何人都可以學會編寫有效的腳本並創建高品質的代碼,但他們可能缺乏對函數式程式設計師所需的結構化理解。如果您是一位希望通過準確掌握一些複雜的 Elixir 特性來高效編碼的 Elixir 程式設計師,那麼這本書就是為您而寫的。