• 2024-11-03使用 Elixir 实现简单的文字识别程序
    在这篇文章中,我们将手动实现一个简单的文字识别程序,使用Elixir编程语言。Elixir是一种函数式编程语言,特别适合处理并发和分布式任务。我们将通过分析图像数据,识别其中的字符。环境准备首先,请确保你已安装了Elixir。可以通过以下命令安装必要的依赖库,例如ex_image和ex_doc
  • 2024-10-27图像处理的实现与应用(Elixir 版)
    图像处理在现代应用程序中变得越来越重要。本文将使用Elixir实现一些基本的图像处理操作,包括灰度转换、去除边框和图像分割。我们将使用Mogrify库,它是一个强大的图像处理库,基于ImageMagick。环境准备首先,确保你已经安装了Elixir和ImageMagick。然后,在你的项目中添加mog
  • 2024-10-25PHP和Elixir在Web开发中的比较
    开篇直接回答问题:在Web开发中,PHP和Elixir两者都是具有特定优势的编程语言,但它们的设计哲学、性能、并发处理和生态系统各有不同。PHP以其易于学习和广泛的使用基础而广受欢迎,特别擅长于快速开发和部署传统的Web应用。而Elixir,作为一种较新的语言,提供了出色的并发处理能力和容
  • 2024-10-18使用 Elixir 实现验证码识别与自动化登录
    安装所需依赖我们需要使用以下库:HTTPoison:用于发送HTTP请求,下载验证码图片。ExImage:用于图像处理(如转换为灰度图像)。Tesseract:通过系统调用Tesseract进行OCR识别。首先,在你的Elixir项目中,确保在mix.exs中添加以下依赖:elixirdefpdepsdo[{:httpoison,"~>2.
  • 2024-10-16识别图形验证码 (Elixir 示例)
    安装所需依赖在你的mix.exs文件中添加以下依赖:elixirdefpdepsdo[{:httpoison,"~>1.8"},{:mogrify,"~>0.7"},{:tesseract,"~>0.1"}]更多内容联系1436423940end然后运行mixdeps.get来安装这些库。下载并保存验证码图片使用HTTPoison下载验证码图片并保存
  • 2024-09-21为什么 Elixir 在异步处理方面比 Nodejs 更好?
    简单答案:Node.js是单线程的,并拆分该单线程来模拟并发,而Elixir利用Erlang虚拟机BEAM的原生并发和并行性来同时运行进程。下面,我们将更深入地理解这种差异,探索两个关键概念:Node.js事件循环和Elixir的BEAMVM和OTP。这些元素对于理解每种技术如何处理执行异步任务以及这
  • 2024-07-19在Linux(CentOS、Ubuntu等等)中安装Erlang和Elixir
    检查旧版本$uname-aLinuxws-ersyia-05.4.241-1-tlinux4-0017.10#1SMPWedMay817:01:03CST2024x86_64x86_64x86_64GNU/Linux➜/workspaceelixir--versionErlang/OTP24[erts-12.3.2.17][source][64-bit][smp:8:2][ds:8:2:10][async-threads:1][jit]
  • 2024-06-04Elixir学习笔记——第一章
    本指南将向您介绍Elixir基础知识-语言语法、如何定义模块、语言中的常见数据结构等。本章将重点介绍如何确保安装了Elixir,以及您可以成功运行Elixir的交互式Shell(称为IEx)。安装如果您尚未安装Elixir,请访问我们的安装页面。完成后,您可以运行elixir--version以获
  • 2024-04-08(译) 理解 Elixir 中的宏 Macro, 第六部分:原地代码生成
    ElixirMacros系列文章译文[1](译)UnderstandingElixirMacros,Part1Basics[2](译)UnderstandingElixirMacros,Part2-MacroTheory[3](译)UnderstandingElixirMacros,Part3-GettingintotheAST[4](译)UnderstandingElixirMacros,Part4-Div
  • 2024-04-08(译) 理解 Elixir 中的宏 Macro, 第五部分:组装 AST
    ElixirMacros系列文章译文[1](译)UnderstandingElixirMacros,Part1Basics[2](译)UnderstandingElixirMacros,Part2-MacroTheory[3](译)UnderstandingElixirMacros,Part3-GettingintotheAST[4](译)UnderstandingElixirMacros,Part4-Div
  • 2024-04-03(译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
    ElixirMacros系列文章译文[1](译)UnderstandingElixirMacros,Part1Basics[2](译)UnderstandingElixirMacros,Part2-MacroTheory[3](译)UnderstandingElixirMacros,Part3-GettingintotheAST[4](译)UnderstandingElixirMacros,Part4-Div
  • 2024-04-03(译) 理解 Elixir 中的宏 Macro, 第三部分:深入理解 AST
    ElixirMacros系列文章译文[1](译)UnderstandingElixirMacros,Part1Basics[2](译)UnderstandingElixirMacros,Part2-MacroTheory[3](译)UnderstandingElixirMacros,Part3-GettingintotheAST[4](译)UnderstandingElixirMacros,Part4-Div
  • 2024-04-01(译) 理解 Elixir 中的宏 Macro, 第二部分:宏理论
    ElixirMacros系列文章译文[1](译)UnderstandingElixirMacros,Part1Basics[2](译)UnderstandingElixirMacros,Part2-MicroTheory[3](译)UnderstandingElixirMacros,Part3-GettingintotheAST[4](译)UnderstandingElixirMacros,Part4-Div
  • 2024-01-18nerves 基于elixir 开发嵌入式系统
    nerves可以使我们基于elixir开发嵌入式系统,而且基于erlang强大的虚拟机能力实现可靠,高效的系统说明nerves包含了不少子系统,都可以加速系统的开发,值得学习下参考资料https://nerves-project.org/#featureshttps://github.com/grisp/grisphttps://erlangsolutions.medium.com/iot
  • 2024-01-16cachex elixir 强大的缓存框架
    cachex是一个强大的elixircache库,提供了事务,fallback,以及过期等基本能力包含的特性TTL最大大小限制pre、post执行hooks事务以及row锁异步写操作分布式同步本地文件系统streamingcache批量写用户命令调用统计信息参考使用分布式模式对于测试需要配置sname
  • 2024-01-15elixir before_compile && on_definition 简单使用
    elixir提供了一些方便的模块属性,可以让我们方便的进行elixir的扩展(尤其是进行元编程的时候)比如elixir_agent就使用到了before_compile以及on_definition,方便进行trace的处理on_definition的简单使用参考demo内容来自官方,可以实现输出函数的一些信息 defm
  • 2024-01-09oban elixir 强大的任务处理框架
    obanelixir强大的任务处理框架,后端存储基于了sqlite或者pg包含的特性IsolatedQueuesQueueControlResilientQueuesJobCancelingTriggeredExecutionUniqueJobsScheduledJobsPeriodic(CRON)JobsJobPriorityHistoricMetricsNodeMetricsGracefulShutdownTelemetryInteg
  • 2024-01-08elixir erlang 简单调用学习
    实际上基于elixir的mix进行erlang以及elixir的互调用开发处理是很方便的,mix直接就包含了构建erlang代码同时对于代码的互调用,只要使用符合语言格式要求就行了,以下是一个简单的互调用学习项目准备项目结构 ├──README.md├──lib│├──a.ex│└──er_app
  • 2024-01-08elixir mix observer 工具的使用
    默认elixirmix没有添加observer工具的依赖直接运行会提示找不到方法解决方法添加几个额外的依赖主要是observer,:wx,:runtime_tools这几个 defapplicationdo[extra_applications:[:logger,:observer,:wx,:runtime_tools]]end说明注意可能不同版本elixi
  • 2024-01-08elixir config 简单说明
    elixir的config模块,实际上就是标准的方法,只是mix项目中在使用的时候使用了dsl模式的,没有使用包含括号的模式调用给人一种似乎觉得有点怪的调用模式参考代码只说明config方法,实际上Config模块还包含了其他方法mix中的调用 importConfigconfig:ecto_demo,Dalong.App,
  • 2024-01-08elixir mix 自定义任务
    elixir的mix比较灵活,同时也比较强大,很多时候我们可以自己定义一个任务,方便运行以及构建,不少三方框架会提供一些方便的cli,一般也会使用此方法比如ectoorm框架,以下是一个简单的自定义task学习参考开发目录位置这个实际上都f放那里可以,只是有一个简单的约定,建议放到lib/mix/
  • 2024-01-08elixir 模块名一些参考资料
    elixir的模块名实际上是一个atom类型的数据,以下是一些参考资料参考使用比如一个mixsup项目defmoduleEctoDemo.ApplicationdouseApplication@impltruedefstart(_type,_args)dochildren=[]#此处name实际上就是使用了模块名格式的,因为是
  • 2024-01-08elixir defdelegate 使用
    delegate模式,在不少语言都支持,有些是隐式的(一些早期语言),有些是显式的(新语言,kotlin,swift等)elixir也支持delegate处理,还是比较方便的,以下是一个简单的使用定义原始方法default.ex defmoduleDefaultdodeflogin(name,password)doIO.puts"fromDefault.login"
  • 2024-01-08absinthe elixir 的graphql 框架简单试用
    absintheelixir的graphql框架包含的特性graphql草案的完整实现插件化设计异步字段解析以及批量解析,同时支持插件化的解析支持安全包含了基于GraphiQL的playground项目测试基于了phoenix框架创建phoenix项目mixphx.newabsinthe_phx添加sqliteecto依赖默认phoenix使用了
  • 2024-01-08elixir apply 结合 macro 一个方便的开发技巧
    此玩法实际在Phoenixelixir项目中使用比较多,以下是一个简单的示例示例代码login.exdefmoduleLogindodefdemoappdoquotedoimportunquote(__MODULE__)endenddefdalongdoIO.puts("dalongdemo")enddefmacro__using__(which)whenis_