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

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

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

今天,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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一些历史
  • Firestorm - 一个开源的phoenix论坛
  • 初创企业很难!
  • Episodes
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档