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

在Elixir mix应用程序中,我应该把模块放在哪里?

在Elixir mix应用程序中,应该将模块放在lib目录下的适当子目录中。

Elixir是一种基于Erlang虚拟机的函数式编程语言,它的应用程序通常由多个模块组成。为了组织和管理这些模块,Elixir推荐将模块放在lib目录下的适当子目录中。

在一个典型的Elixir mix应用程序中,lib目录是存放所有源代码的主要目录。可以在lib目录下创建多个子目录,用于组织不同类型的模块。常见的子目录包括:

  1. lib/my_app:用于存放应用程序的核心模块,包括处理业务逻辑、定义数据结构等。
  2. lib/my_app_web:用于存放Web相关的模块,包括路由、控制器、视图等。
  3. lib/my_app/worker:用于存放后台任务相关的模块,例如处理异步任务的GenServer。
  4. lib/my_app/protocol:用于存放自定义协议相关的模块,例如实现某种网络协议的解析和封装。

通过将模块放在适当的子目录中,可以使代码结构更加清晰和可维护。同时,Elixir的编译器会自动加载lib目录下的所有模块,因此不需要显式地引入每个模块。

对于以上提到的Elixir mix应用程序中的子目录,腾讯云提供了一系列相关产品和服务,例如:

  1. 腾讯云云服务器(CVM):提供可靠的云计算基础设施,用于部署和运行Elixir应用程序。详情请参考:腾讯云云服务器
  2. 腾讯云容器服务(TKE):提供高度可扩展的容器化解决方案,适用于部署和管理Elixir应用程序。详情请参考:腾讯云容器服务
  3. 腾讯云对象存储(COS):提供安全可靠的云存储服务,用于存储和管理Elixir应用程序中的静态资源和文件。详情请参考:腾讯云对象存储
  4. 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库服务,适用于存储和管理Elixir应用程序中的数据。详情请参考:腾讯云数据库

以上是针对Elixir mix应用程序中模块放置位置的建议和相关腾讯云产品的介绍。希望对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Elixir和ScyllaDB教你创建CRUD CLI,惊人的效率提升!

作为偏好,总是选择使用“Bash & Git”或“Zsh & Git”进行安装。安装完成后,我们将准备安装以我们的项目中接收最新版本的 Erlang 和 Elixir。...好了,现在我们已经定义了依赖项,我们可以终端模拟器运行它:$ mix deps.get上面的命令将安装我们的mix.exs.伟大的!...如果您想了解更多信息,请单击此处以更好地了解 Elixir 如何与模式匹配配合使用。命令好吧,现在是期待已久的时刻:我们的应用程序添加负责执行命令的函数!...运行我们的应用程序好了,现在我们已经准备好了应用程序,让我们执行命令:$ mix run这样我们就可以开始与应用程序交互了!结论如果您读到这里,非常感谢!...同一个存储库,您也可以使用 Elixir 访问该项目,因此如果您想查看完整的源代码,请知道它位于上面提到的同一链接!

34430

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

Distillery将Elixir应用程序编译成一个包,然后您可以在其他地方部署。它还生成允许热交换代码的软件包,这意味着您可以不停机的情况下升级实时应用程序。...第一次本地开发机器上编译基于Elixir应用程序时,系统会提示您安装Rebar,这是Mix依赖的Erlang的构建和依赖工具。提示符下输入Y。...mix phx.server 将浏览器指向http:// localhost:4000。您应该会看到步骤4看到的默认Phoenix主页。...由于我们构建和生产中使用相同的服务器,因此我们的主机和用户构建和生产方面是相同的。此外,我们将在app_build目录执行构建并将已编译的生产文件放在app_release目录。...这一次,我们有一个命令,相当于我们步骤7使用的三个相关命令。 使用一个命令,在生产服务器上构建,部署和重新启动应用程序

4.2K00

如何使用一门新的语言

在上一篇文章,通过新的 Policy Engine,已经证明了这样的思路 javascript / nodejs 下无法实现。...的做法是项目的根目录下放一个 version 文件,然后各种地方都从这个文件读取 version 信息。代码读取很简单,自不必说: File.cwd!...目前的这个项目中,已经提供了模块级的 hot reload,整个 project 级的 hot reload 没有那么迫切,所以这一块并没有妥善的思考。... ansible 脚本的服务生成了 systemd 的配置文件。这样,服务的重启的接口就很统一了。...错误报告系统一般用 sentry,对于我们而言,sentry 官方有 elixir 的客户端,只要注册一个新的 app, dsn 写入到配置文件即可实现和错误报系统的集成。很简单。

92760

Laravel运行Gulp任务的利器(一) —— Laravel Elixir简介及入门教程

当你将绝大部分精力放在业务主流程上,却还需要时刻盯着这些碎片化任务着实有点让人焦头烂额。...本节,我们会展示如何创建并执行与Laravel应用紧密结合的Elixir任务,但在这之前,可能很多人还不太了解什么是Gulp,所以我们将从这里开始,逐一为你解开Elixir的面纱。...该文件,可以看到一个Gulp任务示例: elixir(function(mix) { mix.less('app.less');}); mix.less 任务可以用于编译Less文件,本例该文件名为...你可以通过项目根目录下运行 gulp 命令来执行定义 elixir 方法的任务: $ gulp [13:16:18] Using gulpfile ~/Software/dev.todoparrot.com... js 目录可以找到 test.js ,其中包含如下代码: (function() { alert("Hello world"); }).call(this); 其他Elixir任务 Less

2K91

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

数据库包装器是数据库驱动程序之上的一个层,允许Elixir程序员使用Elixir代码创建数据库查询,并提供其他功能,如查询组合。 这种分离使模块化应用成为可能。...第二步 - 应用程序设置Ecto存储库 Phoenix应用程序通过名为Ecto的数据库包装器访问数据库。数据库包装器以项目中的Elixir模块的形式实现。...此外,它必须包含用于初始化名为init的函数传递给数据库适配器的选项的代码。 让我们lib/myproject目录名为repo.ex的文件创建模块。...应用程序应该有任何可观察到的更改,因为我们没有触及应用程序代码本身。 如果升级成功但无法更新应用程序,请确保您已提交代码并提升了应用程序版本。...mix.exs增加应用程序版本,打开mix.exs。 $ nano mix.exs 将应用程序版本增加到适当的值。

6K20

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

这是参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情 Elixir 是一门非常强大的 函数式 编程语言,Elixir 社区构建了一个插件,该插件可以 Jetbrains 的 IDE...打开 IntelliJ 并点击 New Project,选择创建 Elixir 项目, IntelliJ Ultimate 版本还可以选择数据库。...与 Elixir 项目一样,我们需要先进行运行配置,但是这一次我们要选择 Elixir Mix 因为我们要运行 mix 命令,配置 mix arguments fields 输入 phx.server...启动项目 浏览器访问 http://localhost:4000 错误解决 Elixir 和 Erlang 插件安装之后可能出现无法正常运行的情况,可以通过以下方式解决: 如果出现一些无法找到文件或者模块的错误...External Helps Elixir 和 Erlang 插件 创建 Phoenix 项目使用命令 mix phx.new projectName mix deps.get 命令可以安装相关依赖

1.4K20

elixir:灵丹妙药?or 徒有其名?

两年多的时光弹指过去,Elixir最近终于发布了1.0.x版本,而Jose本人又频频上镜,到处布道Elixir才重新关注起这门语言。...借着这股兴奋劲,来讲讲自己对Elixir的浅显认知。 惊艳的语法 Elixir的语法向Ruby致敬,同时透着Erlang和Prolog的灵气。...Elixir的unicode的大小写转换不必再提,「颠覆者的游戏」一文已经介绍过。类似的问题都可以这么处理。...比如说昨天做了一个中文简繁转换的模块wikipedia的最新词库导入,使用macro在编译时生成近10,000个按词进行正向最大匹配的递归函数,代码却仅需200行(见 github.com/tyrchen...Elixir自身携带了mix —— 从项目的创建和scaffolding(mix new),编译(mix compile),到测试(mix test),到文档(mix doc),到依赖管理(mix deps.xxx

1.4K50

群晖docker上装elmlang可视调试编码器ellie

所以它们被做进ellie这个docker编排逻辑时,需要安排好几种语言的运行时和库支持 -- development版本的docker可以看到清楚的逻辑,前后端各维持一套dockerfile build...postgresql所在容器和ellie所在容器的entrypoint,所有连接数据库初始化的工作都要在这里完成,因为它继承了ENV关于prod的预埋参数所以运行时不会出错,否则比如在非docker构建的情况下,你mix...这就需要设置SERVER_HOST=ip变量了(这个ip是你部署ellie所在机器的外网IP或被访问IP:4000所的IP),这个变量不能放在dockerfile,也不能放在run.sh(因为这二个文件要做进...docker image的,而你无法预知要将这个docker image放哪个IP的主机上),故要放在docker-compose.ymlellie段下在实际开启ellie container时指定...-------- 其实docker就是一个通用的应用和OS的虚拟容器,它可以同时虚拟出《DISKBIOS》系列设想中用openvz虚拟出的同时运行的,却又可应用可OS的通用虚拟环境。

1.2K60

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

今天,DailyDrip发布了五周的免费内容,向人们介绍Elixir编程语言,并准备使用Ecto和Phoenix构建Web应用程序。...从那里开始,我们正在建立一个具有生产力的应用程序,用于持续优质内容。 如果您只想看内容,您可以跳过,否则坚持下去,我们将看看为什么我们投入大量的时间Elixir生态系统。 ?...一些历史 四年前开始使用ElixirSips,因为几个项目中遇到并发和容错问题。通过研究,得出结论,解决这些问题的是Actor模型,这导致了Erlang和Elixir。...随着这个项目的发展,将会为任何构建生产Elixir应用程序可能遇到的问题提出真实的解决方案。我们希望这有助于个人和团队拥护Elixir及其社区的所有真棒。...Week 3: OTP 第三周,您将了解OTP。 这是存在的标准库的一部分,可以帮助您更好地模拟并发进程。 它还提供监督树,这是使用Elixir构建容错应用程序的构建块。

1.7K60

程序员效率指南

使用了几年的vim,又换用过大半年的emacs,为了强制自己习惯emacs,甚至bashvim alias成emacs。...这里讲讲vim怎么做,emacs的用户自行脑补。 进行elixir做TDD开发的时候,经常需要运行 mix test 来确保新写的代码或者重构的代码能够跑过已有的test case。...这事做多了也就烦了,因为vim里总需要输入 !mix test,这个时候,就会为此定义个快捷键。...mix test 这样,以后需要运行这个命令的时候,直接敲 key + ed 就好。对于elixir有这些定义: noremap ed :!...mix compile 因为每个语言都有类似的 dependency,test,compile等任务,如果要定义全局的 .vimrc 文件里,可以为每种语言附不同的前缀(elixir为 e)区隔

87660

构建下一代 HTTP API - 架构

quenya_install 没有任何依赖,它只是一个模板项目应用到一个目录下,类似于 npm init, cargo new, mix new。...Hooks(钩子): API 的整个处理流程,开发者可以插入一些钩子函数,以便在特定的上下文完成一些特殊处理。...尽管我们框架上做了很多公共环节的处理,让开发者只需要撰写 API 接口的 schema 的定义和实现 route action(相当于 handler),但在 UAPI 过去几年的使用过程还是看到...Quenya 的架构(下) Quenya Builder 我们回到这张架构图,焦点放在 quenya_builder 上: ?...采取的方式是将生成的组件和开发者自己写的组件都揉一个 pipeline ,pipeline 的定义用配置文件完成,而这个配置文件,也会根据 spec 创建出来,以后 spec 修改,配置文件中用户没有修改的部分会随

80320

Erlang 和 Elixir 介绍

Fail-fast(速错机制),即尽可能快的暴露程序的错误。...Elixir 以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发,同时亦对其进行扩展使之借助宏实现元编程,并通过协议支持多态。 José Valim 是 Elixir 语言的设计者。...OTP — 开放电信平台 OTP是Open Telecom Platform的缩写,第一次也被这个名字搞懵了,心说这应该是一个开发电信应用的平台吧,实际上低估了爱立信那帮人的实力,这是一个很强大并且很通用的框架...我们每学一样东西都要把握它的中心思想,OTP的中心思想就是程序的通用部分和业务部分切开,帮你通用部分做好,你做你的业务逻辑就行了。...一直使用OTP,包括mixElixir编译器,甚至问题跟踪系统都符合OTP约定。

1.9K30

Phoenix 1.3,迈向正确的道路

当然我们随着系统的发展,业务逻辑和数据模型抽取出来,放在 lib 下,甚至,用 elixir / erlang 惯有的方式,将它们包装成一个个独立的 app,然而,scaffolding 出来的目录结构还是会深深地影响和制约着你的代码结构...对 unbrella project 的支持 elixir ,umbrella project 是的最爱。...不但喜欢服务通过目录来划分势力范围,更钟情将它们构造成不同的 app 来进一步在运行时界定它们的边界。... rails 里,logger 是一个模块,db connector 是一个模块,它们运行在当前代码所在的上下文中。...这种在运行时系统划分成不同 app 来管理的方式,非常非常喜欢。它让系统的管理变得简单,边界清晰,解耦变得容易,系统的脉络一路了然。

1.5K150

如和在几十个 Repo 中游刃有余?

过去的三个月里,畅游 elixir,ansible,terraform,javascript,少量 python,少量 erlang 组成的一群 repo ,慢慢领悟到了这种高效工作之道:建立属于自己...下面是自己的一些微末的经验,抛砖引玉。 自动化推进到极致 Code is Law 里已经提到了不少用工具对流程做自动化的例子,这里不再赘述。...过去二三十年方兴未艾的互联网革命,上溯到五六十年前一直蓬勃至今的 IT 革命,甚至从第一次工业革命开始,人类社会发展过程的大部分努力都是一切能够自动化的东西自动化。...举个栗子,从上文的数据我们发现,TTDP / TTCI / TTR 时间过长,其根源都是 dependency resolve 时间很长,于是我们所有依赖的 dependency 放在了一个 mix-deps...make build:对代码 compile,nodejs 是 webpack,elixirmix compile 等。 make run:本地运行。

45620

「编程语言」编程语言InfoQ趋势报告—2019年10月

虽然JVM趋势报告单独跟踪了Kotlin,但在Android应用程序开发方面,他也看到了类似的早期主流趋势。...在这一点上,我们相信大多数新的web工作是ASP上完成的。NET核心,但不一定是。NET核心。一些现有的应用程序正在被移植,但大多数不会。WCF企业仍然非常重要,但是MS。...net Core并不能很好地支持它。我们已经Visual Basic移到了落后的地方,并且在这一点上,我们真的它看作是一种业余爱好者的语言。 ?...我们也应该Python放在这里,可能在早期的大多数。它的受欢迎程度还在持续增长,这主要是由它在数据科学家中的受欢迎程度推动的,认为我们需要更多地讨论它。...net Core 3将在innovator回归,而。net Core 2将在较早的采用者回归。 同样地,认为c#应该转向早期的主流——老实说,不确定为什么不是。

4K20
领券