|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/elixir-programming-v/
课程评论:没有评论
课程名称:Elixir编程 课程概述:欢迎参加Elixir编程课程。Elixir是一种动态、函数式的编程语言,用于构建可扩展和可维护的应用程序。本课程的目标是通过实际示例介绍该语言的基本构件,全面讲解其特性。课程结束时,你将能够轻松创建自己的应用程序。我们将开发一个日志机、小型命令行应用程序等,这些将在工作中非常实用。Elixir运行在Erlang虚拟机上,以其低延迟、分布式和容错系统而闻名。Elixir的特性和工具使开发者在多个领域(如Web开发、嵌入式软件、数据管道和多媒体处理)都能高效工作,适用于各种行业。 ### 课程重点: 1. **可扩展性**:所有Elixir代码在轻量级的执行线程(称为进程)中运行,进程之间通过消息交换信息。由于进程的轻量特性,常常在同一台机器上并发运行数十万个进程。进程之间的隔离使其能够独立进行垃圾回收,减少全局暂停,最大化资源利用(垂直扩展)。进程还能与同一网络上不同机器上的其他进程通信,这为分布式开发奠定了基础(水平扩展)。 2. **容错性**:运行在生产环境中的软件不可避免会出现问题,尤其是考虑到网络、文件系统和其他第三方资源。Elixir提供了监督者,它描述了在发生故障时如何重启系统的部分,确保回到可靠的初始状态。 3. **函数式编程**:函数式编程提倡一种编码风格,帮助开发者编写简洁、易于维护的代码。例如,模式匹配使开发者能够轻松拆解数据并访问其内容。 快乐编码!
Welcome,Elixir is a dynamic, functional language for building scalable and maintainable applications. The goal of this course is to give you practical examples for the building blocks of this language, we will go through all the features of the language. By the end of this course you will be able to create your own applications with ease. We will create a logger machine, a small command line application and many more, which comes in handy during your actual job.Elixir runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems. These capabilities and Elixir tooling allow developers to be productive in several domains, such as web development, embedded software, data pipelines, and multimedia processing, across a wide range of industries.ScalabilityAll Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages. Due to their lightweight nature, it is not uncommon to have hundreds of thousands of processes running concurrently in the same machine. Isolation allows processes to be garbage collected independently, reducing system-wide pauses, and using all machine resources as efficiently as possible (vertical scaling).Processes are also able to communicate with other processes running on different machines in the same network. This provides the foundation for distribution, allowing developers to coordinate work across multiple nodes (horizontal scaling).Fault-toleranceThe unavoidable truth about software running in production is that things will go wrong. Even more when we take network, file systems, and other third-party resources into account.To cope with failures, Elixir provides supervisors which describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work.Functional programmingFunctional programming promotes a coding style that helps developers write code that is short, concise, and maintainable. For example, pattern matching allows developers to easily destructure data and access its contents.Happy Coding!