首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

我们制作了25个短片(每个约5分钟),这将使你从“Elixir是什么东西”到“酷,我知道如何建立基本的Phoenix WebApp”迅速。...如果您只想看内容,您可以跳过,否则坚持下去,我们将看看为什么我们投入大量的时间在Elixir生态系统中。 ? 一些历史 四年前我开始使用ElixirSips,因为我在几个项目中遇到并发和容错问题。...通过研究,我得出结论,解决这些问题的是Actor模型,这导致了Erlang和Elixir。 18个月前,Adam加入了我,ElixirSips成为DailyDrip。...随着这个项目的发展,将会为任何构建生产Elixir应用程序可能遇到的问题提出真实的解决方案。我们希望这有助于个人和团队拥护Elixir及其社区的所有真棒。...Week 2: 中级Elixir 在第二周,您将学习如何使用ExUnit编写测试,语言本身的更多方面以及如何管理状态。

1.8K60

如何在Ubuntu上部署Elixir-Phoenix MySQL应用程序

安装MySQL,详见腾讯云+社区的如何在Ubuntu上安装MySQL的教程。 在部署之前,先测试数据库。...数据库包装器以项目中的Elixir模块的形式实现。 无论何时需要与数据库交互并使用模块提供的功能,都可以导入此模块。 此存储库模块必须包含Ecto.Repo宏才能访问由Ecto定义的查询函数。...在编辑器中打开文件: $ nano priv/repo/migrations/*_create_addresses.exs Phoenix生成的迁移文件是Elixir模块,其中包含一个名为的函数change...接下来,请Ecto对本地数据库进行更改。 $ mix ecto.migrate 输出显示已调用迁移文件中的函数,该函数已成功创建表addresses。 ......要了解有关Ecto迁移以及如何执行复杂数据库操作的更多信息,请参阅官方Ecto迁移文档。

6.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    思考,问题和方法

    那些表层的方法之下,其实蕴含着一个重要的思考:如何让团队低成本的沟通和协作。我的方式是:convention by configuration。...「如何让团队低成本地沟通和协作」是我过去两个月的重要思考,也是我过去若干年知识和经验的储备的一次厚积薄发。...这两个月我的另一个尚处在摸索中的思考是:「如何用更先进更高效的方式来构建我们的服务及其生态?」 arcblock 目前是个小团队,即便研发团队发展到数十人的规模,依然很小。...的 GraphQL lib) Absinthe 的 GraphQL 的 type notation 定义 Ecto 的 DB repo 定义 Ecto 的 DB schema 定义 Ecto 的 DB...在这个例子里,程序员只需要进一步撰写 Resolver.paged_bitcoin_accounts 这个函数就可以了。

    70200

    我是如何看这个世界

    这段时间有很多朋友提供了宝贵的帮助和建议,包括一些大V主动转载并推荐我的公众号,小伟不胜感激。我这个人有一说一,别人对我的好我都会一直记着,你帮了我,日后若有需要尽管开口,我一定加倍帮你。...今天专门向大家分享一下我是如何从机器学习反推回人脑学习,从而提升学习思维和帮助人生思考。相当于是:用机器学习视角看世界。...像机器学习有那么多模型,判断一个人机器学习水平如何,就可以看他知不知道各个模型的应用场景以及使用条件。 how:如何使用这个知识。...即: 我做的那件事情反映了我的能力 我的能力水平决定了我作为一个人的价值 所以那件事没做好,等于我这个人有问题,我这个人没有价值。...同时在以后的文章中我会反复提及这几个模型,讲述我是如何具体应用,方便你加深理解。 题外话 在第一篇文章发出来后,有不少人加我好友,一起交流学习,我非常欢迎。在交流过程中,不可避免要反复介绍自己。

    58820

    继续探索with语句

    在那篇博客中,我说: 毕竟with/1并不是try/catch,它并不能捕获执行中抛出的错误,然后转向else进行错误处理。只有当模式匹配出现错误时,才会转向else。...要优雅地处理错误,并用优雅的with/1将逻辑串联起来,就需要重构get_user,get_response,send_response等函数。...因为在Elixir中,函数的定义使用了模式匹配,因此,在定义参与|>操作的函数时,可以通过模式匹配来考虑各种情况,这其中可以包含对{:error, error}情形的处理,使得数据流不至于在流经该函数时因为错误而崩溃掉...Joseph Kain在博客Learning Elixir's with给出了一个例子,执行了ecto查询: defp results(conn, search_params) do conn.assigns.current_user...preload({:ok, enum}, field) do {:ok, Repo.preload(enum, field)} end 且不管业务,我们可以清晰地看到在all与preload函数增加了对

    72670

    如何在Ubuntu 18.04上安装Elixir和Phoenix Framework

    本教程将向您展示如何在Ubuntu 18.04服务器实例上安装Elixir和Phoenix frameworks以进行开发。...安装 Elixir 使用 apt-get安装 Elixir: sudo apt-get install elixir 现在您可以验证Elixir安装: linuxidc@linuxidc:~/www.linuxidc.com...:1] [hipe] Elixir 1.8.2 (compiled with Erlang/OTP 20) 现在您的系统上安装了Elixir 1.8.2。...安装 Phoenix 如果我们刚刚第一次安装Elixir,我们还需要安装Hex包管理器。 Hex是运行Phoenix应用程序所必需的,并且可以安装我们可能需要的任何额外依赖项。...移动到应用程序文件夹并启动它: cd ~/phoenix_project_test mix ecto.create mix phx.server 现在Phoenix应用程序已经启动并在端口4000上运行

    1.4K30

    如何解释“我篡改了区块链”这个问题

    “我篡改了区块链数据” FISCO BCOS开源联盟链社区现在相当活跃,每天都会产生大量的讨论,大家也会饶有兴趣地研究和挑战区块链如何做到“难以篡改”。...我们注意到,尤其在FISCO BCOS支持MySQL数据库作为数据存储引擎后,隔一阵子就有同学在群里问:“我手动修改了我节点连接的数据库里某个状态数据,这是不是就是篡改了区块链数据呢?”...所以,热点问题浮出水面,前提是用户可以更方便地修改底层数据了,而不是这个问题之前不存在。...,一般提出这个问题的同学是面向他自己部署的开发测试环境,所有节点都在他手上,所以可以随便改。...“为什么区块链不拦住我篡改数据?” 再进一步,那位同学又会问:“为什么区块链不能立刻发现、并且阻止我篡改数据?也许我只是无意手误呢”。坦率说,这有点对区块链期望过高了。

    1.3K40

    OpenTelemetry ErlangElixir、Javascript和Ruby发布v1.0

    Erlang/Elixir 如果你的应用程序使用 Erlang 或 Elixir,OpenTelemetry 现在提供了一个完整的解决方案来收集、丰富和发送分布式跟踪到各种遥测后端。...这个解决方案可以作为一个整体使用,也可以集成在各种组合中使用。OpenTelemetry 由 API 和 SDK 组成,使用 OpenTelemetry 协议(OTLP)来收集、处理和导出数据。...许多与 Erlang 和 Elixir 库的集成,如 Phoenix 和 Ecto,也可以在 hex.pm 中的 OpenTelemetry 组织[5]和 GitHub 的contrib 仓库[6]中找到...如果你想了解更多,我们会举行每周会议[7],使用GitHub 讨论[8]问题,并在CNCF Slack[9](#otel-erlang-elixir[10])和Elixir Slack[11](#opentelemetry...: https://cloud-native.slack.com/archives/C01N75YMZCN [11]Elixir Slack: https://elixir-slackin.herokuapp.com

    73320

    如何使用CSS创建高级动画,这个函数必须掌握

    我一直注意到的一件事是网站上的动画的流畅性。动画对于用户体验来说是非常好的,有时我们可以一些有趣的动画来留住用户。..."的动画 如何将动画相互叠加以创建一个高级动画 如何通过应用上面学到的两点来创建一个过山车动画 什么是贝塞尔曲线 CSS中的 cubic-bezier 函数是一个缓动函数,可以让我们完全控制动画在时间上的表现...这个动画是由2个动画组成的,一个是沿x轴的动画,另一个是沿y轴的动画。X轴动画是一个沿X轴的普通线性动画。...在这种情况下,我发现0.55最适合。 为了达到滑动效果,我们需要将P2向Y轴下移(负值),所以P2=(X,-Y)。 Y应该是一个大值。在这种情况下,我选择 Y=5000。...总结 在本节中,我们介绍了如何结合多个关键帧来创建一个复杂的动画路径。我们还介绍了贝塞尔以及如何使用它们来创建你自己的缓动函数。建议大家自己多多动手,才能更好的掌握 css 动画。

    6.8K20

    如何在Ubuntu 16.04上使用Distillery和edeliver自动化Elixir-Phoenix部署

    没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。 SSL证书:如何设置此证书取决于你是否拥有可解析该服务器的域名。...cd ~ mix phx.new --no-ecto --no-brunch myproject 输出包括Phoenix作为myproject项目脚手架创建的目录和文件,确认您要安装所需依赖项的提示,以及有关如何启动...1.0", only: :dev}, {:gettext, "~> 0.11"}, {:cowboy, "~> 1.0"} ] end ... deps是一个私有函数...该块告诉Distillery我们希望它如何构建自包含的生产发布包。include_erts表示我们是否要捆绑Erlang运行时系统,这在目标系统没有安装Erlang或Elixir时很有用。...让我们对项目进行一些更改来试试这个。 打开项目的主页文件进行编辑。

    4.3K00

    在这个大环境下我是如何找工作的

    当然有好处自然也有“坏处”,这个后续会讲到。...我大概记得一些技术问题: k8s 相关的一些组件、Operator Go 相关的放射、接口、如何动态修改类实现等等。...那如何避免裁员呢,当然首先尽量别和以上特征重合,一些客观情况避免不了,但我们可以在第三点上主动“卷”一下,当然这个的前提是你还想在这家公司干。...这个确实也是说起来轻松做起来难,我最近也一直在思考能不能在工作之余做一些小的 side project,这话题就大了,只是我觉得我们程序员先天就有自己做一个产品的机会和能力,与其把生杀大权给别人,不如握在自己手里...云原生背景下如何配置 JVM 内存 从源码彻底理解 Prometheus/VictoriaMetrics 中的 relabel/metric_configs 配置 通过 Pulsar 源码彻底解决重复消费问题

    21020

    (译) Understanding Elixir Macros, Part 1 Basics

    我原本计划在我即将出版的《Elixir in Action》一书中讨论这个主题, 但最终决定不这么做, 因为这个主题不符合这本书的主题, 这本书更关注底层 VM 和 OTP 的关键部分....就我个人而言, 我觉得宏的主题非常有趣, 在本系列文章中, 我将试图解释它们是如何工作的, 提供一些关于如何编写宏的基本技巧和建议....虽然我确信编写宏不是很难, 但与普通的 Elixir 代码相比, 它确实需要更高视角的关注. 因此, 我认为这了解 Elixir 编译器的一些内部细节是非常有帮助的....了解事情在幕后是如何运行之后, 就可以更容易地理解元编程代码. 这是篇中级水平的文章. 如果你很熟悉 Elixir 和 Erlang, 但对宏还感觉到困惑, 那么这些内容很适合你....例如, Elixir 编译器还会生成 Erlang AST, 然后依赖 Erlang 函数将其转换为字节码, 但是我们不需要知道细节. 不过, 我认为这幅图对于理解元编程代码是有帮助的.

    19030

    𬎆 这个字你能看到算我输,看MogDB如何拿捏生僻字

    注意,如果你的客户端没有支持的字库,则可能无法看到这个字。...也就是说,这个字的编码:U+2C386(http://yedict.com/zscontent.asp?...在一些字典上这个字是存在的: 对于上面所展示的“王莹”,已经分配了编码,其 UTF-8 编码是 F0AC8E86 ,只要我们将这个编码存入数据库(字符集如果是 AL32UTF8,可以直接存储),剩下的就是看客户端是否支持...如果你在客户端安装了这个字体,那么如下一个网页,你将能够看到这个汉字“王莹”,我在这里包含了这个字“”,没有字体支持你就看不到: 理解清楚了字符集,也就能够找到了应对特殊字符的解决方案。...我看到很多人在这个事情上遭受的磨难,为了名字能够正常出现,很多网友是穷尽了心力: 所以,我们的IT从业者,将数据库设计好、规划好,就是造福社会和人民了。大家加油!

    2K10

    如何在 IntelliJ 上运行 Elixir 和 Phoenix 程序?

    这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情 Elixir 是一门非常强大的 函数式 编程语言,Elixir 社区构建了一个插件,该插件可以在 Jetbrains 的 IDE...之后会选择项目的 SDK,安装的 Elixir Plugin 可以检测到你安装的 Elixir SDK,并且可以将这个 SDK 设置为默认的 SDK。...选择 Elixir 配置并添加文件的路径以及给这个 Configuration 命名。...点击 IntelliJ 窗口上方的绿色按钮即可运行 hello.ex 文件 如何运行 Phoenix Elixir 插件同时也支持运行 Phoenix Web 框架,你需要先安装 Phoenix 并且通过命令行创建一个新的项目并构建相关的项目依赖.../controllers 增加一个 ZuluController,并定义 zulu 函数,该函数渲染到 zulu.html 页面。

    1.5K20

    (译) Understanding Elixir Macros, Part 4 - Diving Deeper

    你不需要设计这样的宏, 因为 Erlang 已经有非常强大的跟踪功能, 而且有一个 Elixir 包可用. 然而, 这个例子很有趣, 因为它需要一些更深层次的 AST 转换技巧....我是如何知道的?其实我不知道. 我一般通过不断试错来获得的这些信息....所以接下来我们需要: 从 quoted 的头中提取函数名和参数 将这些值注入我们的宏返回的 AST 中 将函数体注入同一个 AST 打印跟踪信息 我们可以使用模式匹配从这个 AST 片段中提取函数名和参数...首先, 让我们来看看这个 head 是如何被 quoted 的: iex(16)> quote do my_fun(a,b) when a < b end {:when, [], [ {:my_fun...当然, 我们需要从宏中调用这个函数: defmodule Tracer do ...

    10530
    领券