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

今天,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的朋友。

课程链接点击原文哟!

原文发布于微信公众号 - 星流全栈(MeteorFullStack)

原文发表时间:2017-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏漏斗社区

最大虚拟币交易平台被盗

据韩联社报道,韩国最大虚拟货币交易平台Bithumb遭黑客入侵,约350亿韩元(约合人民币2.04亿元)资产被盗。据Bithumb介绍,公司于当地时间19日下午...

971
来自专栏Netkiller

竞猜活动区块链方案探索

竞猜活动区块链方案探索 合约实现了报名,退出,参加人数控制,竞猜次数控制,公布答案,获奖名单等等功能 pragma solidity ^0.4.20;// Au...

38310
来自专栏Android 开发者

这些 Android P Beta 设备等您速来体验

2265
来自专栏机器人网

通俗易懂!机加工和装配自动化生产线的结构组成案例

根据制造行业及工艺上的区别,自动化生产线具有很多类型,例如自动化机械加工生产线、自动化装配生产线、自动化喷涂生产线、自动化焊接生产线、自动化电镀生产线等。其中最...

5886
来自专栏Web 开发

你还在盲目的下电影吗?(30条实用信息教你读懂电影版本)

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://jessydior.blogbus.com/logs/52913989.htm...

5442
来自专栏知晓程序

这个小程序,能让微信好友亲口叫你爸爸

今天,知晓程序(微信号 zxcx0101)就给你推荐一个能花样发红包的小程序——「包你说」,看看大家为了抢到红包,到底能有多么豁得出去。

500
来自专栏PaddlePaddle

前沿|PaddlePaddle开源项目DeepNav“无人船”炼成记(二)

前言:本篇继续讲述DeepNav自动驾驶船项目,本次讲解无人船的设计思路和硬件搭建过程。文章素材来源于百度美国研究院王益老师的知乎专栏,欢迎小伙伴们持续关注。

1043
来自专栏杨建荣的学习笔记

最近在读的一些文章

我犯下的代价惨痛的错误使我改变了看问题的角度,从“我知道我是对的”变成了“我怎么知道我是对的”。这些错误让我养成了谦逊的习惯,我需要用谦逊平衡我的勇敢。—《原则...

1032
来自专栏Crossin的编程教室

Python有嘻哈:Crossin教你用代码写出押韵的verse

托某奇艺选秀节目的福,“嘻哈”无疑是这个夏天最热的音乐标签。年初的时候,我们教室实习生小D还是网易云上一只忧郁的民谣狗(参见 数据分析:当赵雷唱民谣时他唱些什么...

3607
来自专栏腾讯大讲堂的专栏

这个月起,在这座城市没带身份证也能住酒店了!

1816

扫码关注云+社区

领取腾讯云代金券