前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Elixir, OTP, Ecto, 和 Phoenix 免费教程!

Elixir, OTP, Ecto, 和 Phoenix 免费教程!

作者头像
时见疏星
发布于 2018-06-01 04:00:51
发布于 2018-06-01 04:00:51
1.8K0
举报
文章被收录于专栏:星流全栈星流全栈

今天,DailyDrip发布了五周的免费内容,向人们介绍Elixir编程语言,并准备使用Ecto和Phoenix构建Web应用程序。我们制作了25个短片(每个约5分钟),这将使你从“Elixir是什么东西”到“酷,我知道如何建立基本的Phoenix WebApp”迅速。从那里开始,我们正在建立一个具有生产力的应用程序,用于持续优质内容。

如果您只想看内容,您可以跳过,否则坚持下去,我们将看看为什么我们投入大量的时间在Elixir生态系统中。

一些历史

四年前我开始使用ElixirSips,因为我在几个项目中遇到并发和容错问题。通过研究,我得出结论,解决这些问题的是Actor模型,这导致了Erlang和Elixir。 18个月前,Adam加入了我,ElixirSips成为DailyDrip。我们的目标是帮助您成为更好的开发者;为此,我们每天都会制作Elixir,Elm等短片视频。

Firestorm - 一个开源的phoenix论坛

去年年底,我们注意到缺乏使用Elixir和Phoenix的实例项目。同时,我们对可用于将注释插入DailyDrip的选项不满意。所以我们开始了关于Kickstarter的Firestorm Forum项目,其中我们将提供有关其开发的内容。 Kickstarter是成功的!

作为Kickstarter的一部分,我们创建了免费的内容来向更多的人介绍Elixir。这是我们在这篇文章末尾宣布的内容。我们也在继续在DailyDrip Elixir主题中建立Firestorm论坛。我们正在以实践的方式学习使用持续集成持续部署和坚实的测试套件等最佳实践来构建生产应用程序。

我们已经建立了一个Alpha版本的Firestorm,同时在社区内进行dogfooding。我们正在改装Phoenix 1.3的Firestorm。我们预计7月初达到1.0。

随着这个项目的发展,将会为任何构建生产Elixir应用程序可能遇到的问题提出真实的解决方案。我们希望这有助于个人和团队拥护Elixir及其社区的所有真棒。当然,详细的开发日志也可以让人们轻松地为Firestorm本身做出贡献。

如果没有为我们的Kickstarter做出贡献的每个人的支持,我们在项目中花费的免费内容和时间是不可能的。我们非常感激,并希望这个项目可以证明可以为世界建立高质量的开源软件,同时也生产高品质的教材。如果您对Firestorm论坛的成功感兴趣,或者发现免费的内容很有价值,并希望在世界上看到更多这样的事情,那么如果您注册个人或团队帐户,我们将很荣幸DailyDrip。

初创企业很难!

很难的事实是,我们正在为您提供所有这些内容而亏本。 我们正在努力帮助开发人员使世界更美好。 我们有一些很好的内容,这将帮助您不仅学习Elixir和Phoenix,而且Elm,React Native,Swift3,Ember等等。 人们告诉我们他们喜欢我们的内容,但为了不断生产 - 像Firestorm这样的项目,我们需要更多的付费用户。

我们很乐意为您或您的开发团队提供最新最新软件世界的最新信息。 此外,如果您有一个难题,需要高级开发人员,我们可以帮助。 我们想要养活我们的家庭,专注于制作精彩内容和开源软件,通过在这里订阅来帮助我们做到这一点。 也就是说,不用多说,这是我们的免费内容!

Episodes

Week 1: 初级Elixir 在第一周,您将学习Elixir编程语言语法及其工具的基础知识,您将学习如何在进程之间发送消息。 我们用自我指导的练习来构建一个独立的过程。 [001.1] Introduction to Elixir — Introduction to the language, and installation of Erlang and Elixir [001.2] Basic Elixir Syntax and Concepts — Learning the basics of the language, as well as how to run scripts. [001.3] Mix and Modules — Using the mix tool and defining modules, functions, and structs [001.4] Processes and Messaging — Processes are the unit of concurrency. We’ll spawn some processes and let them have a conversation. [001.5] Elixir Weekly Drip #1 and Exercise: String Upcaser “Microservice” — Further links for reading, and a gratuitous exercise to build a process that responds with the upcased version of any strings it is sent.

Week 2: 中级Elixir 在第二周,您将学习如何使用ExUnit编写测试,语言本身的更多方面以及如何管理状态。 [002.1] Intermediate Elixir Prep — Preparing to learn about managing state and testing. [002.2] Processes With State, and Agent — Managing state with processes and messaging, then seeing the Agent module from the Standard Library for a simpler way to do the same thing. [002.3] for Comprehensions — Handling enumerables and collections with power and grace. [002.4] Testing with ExUnit — An in-depth look at ExUnit, Test-Driven Development, and doctests. [002.5] Elixir Weekly Drip #2 and Exercise: Reverse Polish Notation Calculator — Links on documentation, with, control structures, Enumerables, and an exercise to build a Reverse Polish Notation Calculator.

Week 3: OTP 在第三周,您将了解OTP。 这是存在的标准库的一部分,可以帮助您更好地模拟并发进程。 它还提供监督树,这是使用Elixir构建容错应用程序的构建块。 [003.1] Preparing to Learn about OTP — A solution to the Reverse Polish Notation Calculator exercise, and preparatory readings for learning about OTP. [003.2] GenServer and Supervisor — Building Generic Servers and Supervision Trees [003.3] Supervising Tasks and Agents — Using Supervisors to handle nuance within your Tasks and Agents. [003.4] GenStateMachine — Modeling a door with a numeric lock, to explore building Finite State Machines. [003.5] Elixir Weekly Drip #3 and Exercise: Supervised RPN Calculator and Tape Printer — Interesting links and an exercise to build an RPN Calculator with GenServer, with a Tape Printer.

Week 4: Ecto 在第四周,我们介绍了Ecto,它可以帮助您与数据库进行交互。 我们将开始为论坛建立一个数据模型,我们最终会得到一些非平凡的查询。 [004.1] Preparing to Learn About Ecto — A solution to last week’s exercise and some readings to prepare us to learn about Ecto. [004.2] Ecto Basics — Getting started with Ecto by creating a basic schema and querying it. [004.3] Ecto Validation with Changesets — Ensuring your data meets your requirements, flexibly. [004.4] Ecto Associations and More Queries — Exploring how to model associated data in Ecto and further details on queries. [004.5] Elixir Weekly Drip #4 and Exercise: More Queries — Some Ecto-related links and an exercise to write more detailed queries

Week 5: Phoenix 在免费内容的第五周和最后一周,您将了解到Phoenix,我们将从头开始构建Firestorm论坛。 Firestorm是一个开源的基于Phoenix的论坛引擎,旨在为人们提供一个庞大的真实世界的Phoenix代码库。 [005.1] Preparing to Learn About Phoenix — Solving an Ecto exercise and preparing to learn about Phoenix. [005.2] Getting Started with Phoenix — Creating a new app and generating some resources. [005.3] Phoenix and the Frontend — HTML, CSS, and JavaScript are actual things. [005.4] Nested Resources in Phoenix — Categories have Threads, and our URLs should reflect that. [005.5] Elixir Weekly Drip #5 and Exercise: Fix Tests — Fixing the tests after last episode, and some Phoenix-related links.

Week 6: Starting Firestorm 第六周是优质内容开始的地方,我们将继续从这里开始。 本周,我们从Brunch切换到Webpack2,实施OAuth身份验证,查看Ecto.Multi,了解如何使用Changesets更智能地处理一些事务,并使用视图和布局。 [006.1] Webpack2 with Phoenix — Replacing Brunch with Webpack in a Phoenix app [006.2] Authentication via OAuth — Using Ueberauth to authenticate users against OAuth providers. [006.3] Adding Posts to Threads with Database Transactions — Handling database transactions in style, with Ecto.Multi. [006.4] Using Ecto Associations in Phoenix — Being smarter about modifying and inserting associated data. [006.5] Phoenix Views, Templates, and Layouts — Making Firestorm look a bit more like it should.

非常感谢阅读本文,如果您感兴趣的话,不妨分享此文给喜欢Elixir的朋友。

课程链接点击原文哟!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 星流全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何在Ubuntu 18.04上安装Elixir和Phoenix Framework
本教程将向您展示如何在Ubuntu 18.04服务器实例上安装Elixir和Phoenix frameworks以进行开发。
星哥玩云
2022/07/27
1.4K0
如何在Ubuntu 18.04上安装Elixir和Phoenix Framework
如何在Ubuntu上部署Elixir-Phoenix MySQL应用程序
在本教程中,您将使用Phoenix-Ecto和Mariaex配置现有的Phoenix应用程序连接到MySQL数据库。Ecto是Phoenix应用程序广泛使用的数据库包装器。Mariaex是一个数据库驱动程序,它与Ecto集成并与MySQL和MariaDB数据库进行数据传输。
挺问中原
2018/08/13
6.1K0
如何在Ubuntu 16.04上使用Distillery和edeliver自动化Elixir-Phoenix部署
Elixir构建于Erlang编程语言之上,是一种功能性编程语言,因其专注于开发人员的工作效率以及因为编写高度并发和可伸缩的应用程序而易于使用而闻名。
风研雨墨
2018/09/19
4.3K0
从 Go 开发者的角度看 Elixir 的设计思想
英文原文:Elixir concepts for Go developers 基于 Elixir 的 Web 框架 Phoenix 受到了 Meteor 和 Rails 社区的广泛关注,所以今天我们推荐这篇文章,让大家了解这一新兴语言! 这篇文章不是带你入门的,我只是把玩了一下这个编程语言,也不是什么专家,就把我写的当做一道开胃菜吧。我只是把我几个小时的调研结果汇总一下,以便能够帮助大家花几分钟读完之后再看 Elixir 是否吸引到了你。 本文内容目录如下: Elixir 是什么 弹性的不可变性 模式匹配
时见疏星
2018/06/01
1.1K0
"超级简单!Elixir和ScyllaDB教你创建CRUD CLI,惊人的效率提升!"
如果您了解用于通信的高流量应用程序、需要低延迟和良好容错能力的应用程序,您很可能已经遇到过 Elixir(作为一种编程语言)和 ScyllaDB(一种旨在低延迟的 NoSQL 数据库)的名称。两者的目标非常相似:处理通常需要更加关注稳定性的应用程序。
zayyo
2023/09/21
5140
Effective Testing with RSpec 3(介绍)
我们的测试再次被打破!”“为什么套件需要这么长时间才能运行?”“无论如何,我们从这些测试中获得了什么价值?”
不知雨
2018/09/06
2.1K0
想在2020学习Python,这里有8个不可以错过的免费教程和网站
Python已经激励了很多人去学习编程,并不断地激励着他们。我认识一些人,他们学习Python的原因各不相同,从web开发到机器学习。我看到过一些新人学习Python来使用Django编写web应用程序,使用Python创建机器学习模型,以及编写一些方便的脚本来自动化那些无聊的东西。
HuangWeiAI
2020/02/13
4K0
想在2020学习Python,这里有8个不可以错过的免费教程和网站
ROS(1和2)机器人操作系统相关书籍、资料和学习路径
ROS发展10年了,已经逐渐成为通用的机器人操作系统标准。ROS 2相关资料链接:http://blog.csdn.net/zhangrelay/article/details/78778590。
zhangrelay
2019/01/23
2.3K0
python入门教程:初学者的热门Python资源
Python新手?还是您已经是一位经验丰富的开发人员,希望增加和提高您的Python知识?我们为希望学习Python编程的任何人编制了一份推荐资源的书包。我们对这些资源进行了定制,以适合所有级别的Python开发人员,但列出的资源将最适用于尚在学习阶段初期或已经熟悉基础知识但还不是很高级的人员。
汤贤
2020/05/18
9000
python入门教程:初学者的热门Python资源
【Linux】《how linux work》第二章 基本命令和目录层次结构(第二部分)
Occasionally, you may redirect standard output but find that the program still prints something to the terminal. This is called standard error (stderr); it’s an additional output stream for diagnostics and debugging.
阿东
2024/04/21
1370
【Linux】《how linux work》第二章 基本命令和目录层次结构(第二部分)
如何准备CKAD和CKA认证?
在准备 CNCF 的 CKAD 或 CKA 认证时,会有很多疑问,首先出现哪个考试,参考哪些资源,避免哪些常见错误等。尤其是如果您没有以前的知识或新手- 根据 Kubernetes 的经验,这可能是一个艰难的处境。InfraCloud 强烈鼓励工程师参加这些考试并获得认证。这篇博文是最近获得认证的 Infranauts 的合作成果,旨在直接分享所有见解 - 在注册考试之前到成功通过考试后的后续步骤。
用户5166556
2023/03/18
1.7K0
如何准备CKAD和CKA认证?
分享 40 个免费的前端初学者视频教程
来源 | https://javascript.plainenglish.io/top-40-free-programming-courses-for-beginners-bc39253e784c
前端达人
2022/04/18
5.5K0
分享 40 个免费的前端初学者视频教程
「Rust语言」最全的Rust初学者的完全免费资源
下面的图表来自评测游戏,显示了Rust与其他编程语言相比是多么的快。你可以在这里找到Go语言的对比。
架构师研究会
2021/01/06
2.2K0
「Rust语言」最全的Rust初学者的完全免费资源
方便查找规范的搜索引擎_查找免费图像的7个最佳搜索引擎「建议收藏」
Since the birth of the digital camera, there has certainly never any shortage of photo imagery. In fact, Yahoo! estimates we’ll take 880 billion digital photos in 2014.
全栈程序员站长
2022/08/25
1.1K0
方便查找规范的搜索引擎_查找免费图像的7个最佳搜索引擎「建议收藏」
【Linux】《how linux work》第二章 基本命令和目录层次结构
This chapter is a guide to the Unix commands and utilities that will be referenced throughout this book. This is preliminary material, and you may already know a substantial amount of it. Even if you think you’re up to speed, take a few seconds to flip through the chapter just to make sure, especially when it comes to the directory hierarchy material in 2.19 Linux Directory Hierarchy Essentials.
阿东
2024/03/05
2500
【Linux】《how linux work》第二章 基本命令和目录层次结构
【Linux】《how linux work》第二章 基本命令和目录层次结构(3)
Every Unix file has a set of permissions that determine whether you can read, write, or run the file. Running ls -l displays the permissions. Here’s an example of such a display:
阿东
2024/04/27
1090
【Linux】《how linux work》第二章 基本命令和目录层次结构(3)
Chapter 10. Network Applications and Services(网络应用和服务)
This chapter explores basic network applications—the clients and servers running in user space that reside at the application layer. Because this layer is at the top of the stack, close to end users, you may find this material more accessible than the material in Chapter 9. Indeed, you interact with network client applications such as web browsers and email readers every day.
阿东
2024/04/28
1760
Chapter 10. Network Applications and Services(网络应用和服务)
【Linux】《how linux work》第十章 网络应用和服务(1)
This chapter explores basic network applications—the clients and servers running in user space that reside at the application layer. Because this layer is at the top of the stack, close to end users, you may find this material more accessible than the material in Chapter 9. Indeed, you interact with network client applications such as web browsers and email readers every day.
阿东
2024/04/27
1550
【Linux】《how linux work》第十章 网络应用和服务(1)
人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵
关于书中对应各章节的要点,稍晚些时候补充,这里先给出汤晓鸥教授和陈玉琨教授的一些点评,我个人读后收获非常大。
zhangrelay
2019/01/23
1.4K0
[Gitlab][docker]自托管代码平台Gitlab | 搭建/使用教程
GIT(必装):Git – Downloading Package (git-scm.com)。装完以后在目标文件夹右键会有Git Bash Here和Git GUI Here两个选项
夜梦星尘
2024/08/20
5640
[Gitlab][docker]自托管代码平台Gitlab | 搭建/使用教程
推荐阅读
相关推荐
如何在Ubuntu 18.04上安装Elixir和Phoenix Framework
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文