13年的时候正在追Erlang,有天看见Joe老爷子的一篇博客介绍Elixir [1],才第一次听到这个语言。 This has been my first week with Elixir, and I’m pretty excited. Elixir has a non-scary syntax and combines the good features of Ruby and Erlang. It’s not Erlang and it’s not Ruby and it has ideas of
学习新的编程语言的最终目的是解决实际问题。掌握编程语言的过程,在某种程度上近似学习一种新的工程实践。不仅解决问题固然可乐,学习的过程也同样充满了新鲜感,不过需要谨防的是新鲜感带来的胜任力错觉。
没听过,这就对了,这是一个函数式的语言,可以认为是 Erlang 的升级版本,Erlang 多用在交换机设备上的开发语言,这个语言其实还是比较小众的。
在前一篇文章中, 我向你展示了分析输入 AST 并对其进行处理的一些基本方法. 今天我们将研究一些更复杂的 AST 转换. 这将重提已经解释过的技术. 这样做的目的是为了表明深入研究 AST 并不是很难的, 尽管最终的结果代码很容易变得相当复杂, 而且有点黑科技(hacky).
这篇文章感觉介绍语言是次,讲解各种各种分类以及面向过程的思想为主。本身我也没接触过Elixir,这次也权当开拓视野了。最后附加了一个英语单词的小解,当学习之余的做零头吧。
上次我介绍了一个基本版本的可追溯宏 deftraceable, 它允许我们编写可跟踪的函数. 这个宏的最终版本还有一些遗留的问题, 今天我们将解决其中一个 — 参数模式匹配.
Ruby 和 Ruby on Rails 可能并不需要过多的介绍,因为它们已经被广泛的应用在 Web 开发领域。
几年来,Web开发人员一直在积极讨论一种名为Elixir的新编程语言及其最受欢迎的Phoenix框架。 Elixir与Ruby和Phoenix vs. Rails是最受欢迎的主题之一,因为Elixir引起了Ruby开发者社区的最大兴趣。
选自automating the future 机器之心编译 参与:Jane W、吴攀 在这篇文章中,作者们使用 Elixir 编程语言创建一个标准的 3x3 深度学习神经网络。希望读者能通过阅读本文而对先进的遗传编程(genetic programming)和 Elixir 中新的人工智能技术有更深的理解。 开篇语 研究深度学习如从事巫术般疯狂。人们必须花费相当多的时间理解技术,同时在创造真正自动化的东西时考虑其优点和缺点,还要在半夜醒来时担心自动化将对我们的社会造成多大的颠覆。 创建你的第一个神经网络
今天,DailyDrip发布了五周的免费内容,向人们介绍Elixir编程语言,并准备使用Ecto和Phoenix构建Web应用程序。我们制作了25个短片(每个约5分钟),这将使你从“Elixir是什么
从上周四开始的周末(1/7-1/10),是 Tubi 一年一度的 OSS-a-thon。所谓 OSS-a-thon,是我们为了回馈开源社区举办的 hackathon,参与者需要做和开源项目有关的项目 — 可以是对已有的开源项目进行改进,提交 PR,或者做新的项目,但需要开源。
(今天我在旧金山参加了Erlang factory 2015大会,增长了很多见识。参会的总结我过两天再写,很多思想需要时间沉淀。) 前段时间写了篇「永恒不变的魅力」,介绍了immutability,很多读者表示喜欢这样的文章。这篇文章继续走标题党路线,给大家奉上的不是鸡汤,而是正儿八经的技术文章,讲的是Lazy evaluation。 在大家熟悉的编程语言中,调用一个函数,系统会老老实实返回调用的结果。这非常正常且直观 —— 计算机不就该这么运作么?如果你恰巧是个c语言开发者,objdump一下生成的目标文
存在着一种思维:它让我们形成意见、做出判断、做出决定、形成结论。同时,还存在着另一种思维——批判性思维:它批判前一种思维,让前述思考过程接受理性评估。批判性思维就是对思维展开的思维,进行批判性思维是为了考量我们自己(或者他人)的思维是否符合逻辑、是否符合好的标准。 批判性思维而言最重要的两点:
程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这种怪状,真要追究起来,怪不得程序员这个群体本身 —— 它是两个原因造成的: 我们所有的教育和培训都在强调怎么写代码,并没有教大家如何读代码 大多数工作场景都是一个萝卜一个坑,我们只需要了解一个系统的局部便能开展工作,读不相干的代码,似乎没用 我常常把写代码和写作进行类比 —— 二者有很多相通之处;但从培养写代码和写作的过程
Go 语言数组的长度是不可变的,也就无法数组中添加元素,Go 提供了另一种长度可变的数组,既切片(动态数组),切片可以进行追加元素,相比数组来说更加灵活。
这是宏系列文章的最后一篇. 在开始之前, 我想提一下 Björn Rochel, 他已经将他的 Apex 库中的 deftraceable 宏改进了. 因为他发现系列文章中 deftraceable 的版本不能正确处理默认参数(arg \ def_value), 于是实现了一个修复 fix.
Pete Corey的博客《Build your own code poster with Elixir》展示了如何通过Elixir实现一个类似Commits.io一样的功能,即可以将自己的代码融合到
Sindre Sorhus 是我一直 follow 并且仰慕的程序员。他的 github 日常是这个样子的:
作为 SET 和 SWE, 我们经常需要编写单元测试或集成测试用例来验证系统/应用的正确性, 但同时我们也常会质疑我们的测试是否充分了. 这时测试覆盖率是可以辅助用来衡量我们测试充分程度的一种手段, 增强发布成功率与信心, 同时给了我们更多可思考的视角. 值的注意的是代码覆盖率高不能说明代码质量高, 但是反过来看, 代码覆盖率低, 代码质量不会高到哪里去.
Jose Valim - Phoenix a web framework for the new web (Lambda Days 2016) 这是Elixir语言的设计者,Phoenix框架的主要贡献者Jose Valim对于Phoenix框架的介绍视频。 Elixir是一种运行于ErlangVM上具有元编程特性的动态语言。它拥有灵活的语法和强大的宏系统,还具备模式匹配、通过协议(类似Clojure的方式)支持多态等功能:继承了Erlang的优点,尤其适合开发并行、分布式,以及高容错应用。 Phoeni
这里是不是直接写“发红包”而不是“请求微信发红包”?业务序列图时,箭头表示A请求B, 分析序列图是否也有这个意思?
英文原文:Elixir concepts for Go developers 基于 Elixir 的 Web 框架 Phoenix 受到了 Meteor 和 Rails 社区的广泛关注,所以今天我们推荐这篇文章,让大家了解这一新兴语言! 这篇文章不是带你入门的,我只是把玩了一下这个编程语言,也不是什么专家,就把我写的当做一道开胃菜吧。我只是把我几个小时的调研结果汇总一下,以便能够帮助大家花几分钟读完之后再看 Elixir 是否吸引到了你。 本文内容目录如下: Elixir 是什么 弹性的不可变性 模式匹配
本文绝非标题党,而是基于大量数据和为期两周的深入探究,在18年初,对IT行业的现状、趋势以及预测进行客观观察,让大家对编程语言有一个更清晰的认识,以选择最值得花费时间和精力的职业方向,为大家走向码农事业巅峰助攻。
如果您了解用于通信的高流量应用程序、需要低延迟和良好容错能力的应用程序,您很可能已经遇到过 Elixir(作为一种编程语言)和 ScyllaDB(一种旨在低延迟的 NoSQL 数据库)的名称。两者的目标非常相似:处理通常需要更加关注稳定性的应用程序。
今个谈谈 erlang。 这些文章流于表面,更多是简单的介绍。这篇文章不同,因为 erlang 并不是一门新语言,简单介绍它的人不算少,我希望这篇文章能在深度上有所区别。写文章,雅俗共赏是件困难的事情:讲深了,初学者或者外行读着扫兴;说浅了,专家们会觉着浪费时间。所以,我会尽量做到深入浅出。 言归正传。erlang 是约三十年前上帝馈赠给人间的一份礼物。它是如此独特,在构建的过程中揉进了如此多的奇思妙想,在三十年前就试图解决三十年后我们才大规模遇见的问题,在编程语言史上可算是一个自成体系的标杆。要在一篇文章
在用户使用API发出请求之前,他们通常需要注册API密钥或学习其他方法来验证请求。
Redis 是我遇到过的最强大、最通用的技术之一。遗憾的是,大多数人都只是将其作为一个优秀的缓存解决方案来使用。
转眼已是七月。距我上次更新公众号,已经一月有余。离我加入 Arcblock,也有两月。如果把人看做一个运行的软件,那么这两个月我已经迭代好几轮,就像龙珠里在飞往那美克星的太空船里不懈修炼的悟空。
前两周上线了我们为 Cybermiles 提供的 supernode,因为 Cybermiles 主网使用了 Tendermint,于是上周便研究了一下 Tendermint,边学边写了个 slides 介绍 Tendermint。
上周四至今,我大概有 50-70% 的时间在造一个轮子,一个叫 merlin 的工具。 事情的起源是这样的 —— 我们内部的一个重要服务,要升级到 elixir 1.5。之前这个服务的 ansible 部署代码大概是这样的:在目标机器上 clone 代码,编译,生成一个符合 systemd 的 release,更新 systemd 配置,重启服务。那位说:如果一个 cluster 里有几十台机器,每台都这么 build,费时费力,中途出问题的几率也增大很多啊 —— 为什么不直接在 CI 工具,比如 trav
litellm 是一个使用 OpenAI 格式调用所有 LLM API 的工具。它支持 Bedrock、Azure、OpenAI、Cohere、Anthropic 等 100 多种 LLMs,提供企业级代理服务器和稳定版本 v1.30.2。主要功能和优势包括:
1. 积极大胆地谷歌。你得知道如何有效地组织搜索关键字,查阅别人写的代码,然后合理地用在代码里,从而解决问题。 2. 拥抱变化,坚持不懈。老手程序员在接触新技术时,能欣然接受像个初学者一样处处受挫,并总能在完成工作的同时自学成才。 3. 承认细节的重要性。例如变量和函数的命名、CSS 属性的命名、该用哈希还是用数组,以及其他看起来微不足道,但可能对项目有深远影响的事情。 4. 承认大多数的 “重要决定” 其实并没有那么重要。一般的开发者经常在技术选型等 “重大问题” 上陷入唇枪舌战,而程序员老鸟们会避免浪费
对现代开发者而言,即使是构建一个很简单的web应用,也要编写很多任务,比如压缩图片、最小化CSS和JavaScript文件、移除调试代码、运行单元测试以及处理很多其它不计其数的任务。当你将绝大部分精力放在业务主流程上,却还需要时刻盯着这些碎片化任务着实有点让人焦头烂额。 Laravel的宗旨是让PHP开发变得轻松愉悦,所以从Laravel 5开始,提供了一个新的被称作LaravelElixir的API。该API集成了Gulp,为编译Laravel项目中的Less、Sass、CoffeeScript以及处理许
Elixir 是一门非常强大的 函数式 编程语言,Elixir 社区构建了一个插件,该插件可以在 Jetbrains 的 IDE 上运行 Elixir 程序且是用于所有的 Jetbrains 产品。
在旧金山举行的 erlang/elixir 2017 大会上周结束。这次,我并未参加 —— 权衡再三,我选择了这周的 complete OTP 培训,毕竟大会的视频 youtube 上找得见,可以慢慢补,培训错过了就没了。 参加一次技术培训,代价往往不菲,像这样一个四天的培训,价格是两千多刀,你很难说出它有多值 —— 培训的主题有一半都是我已经了解或掌握的内容,在过去的一两个月,我还给我的 team 培训过;另一半,其实给我空出来四天的时间,我自己看书或者读 erlang 的文档,获取到的知识也未必比参加培
我们都想要自己的编程技能能上升到更高级别的水平,但往往不知道从何下手,本文,我将推荐6本书,无论是是什么程序员,这些书都可以让你的能力得到提升
链接:https://wei2624.github.io/MachineLearning/
昨天的文章删了,因为我的 vscode 把 markdown 里的 * 自动替换成了 _,导致一些公式的表述变得异常奇怪。另外,原创忘记打开了。
我投入了大量时间研究并测试各种提示词以寻求最佳效果。在这篇文章中,我将所有这些经验总结为了 10 个级别的提示词设计技巧。我们会从基础开始,一直深入到最近在新加坡提示词设计比赛中夺冠的专家技术。那我们开始吧。
这是讨论宏 (Macros) 微系列文章的第一篇. 我原本计划在我即将出版的《Elixir in Action》一书中讨论这个主题, 但最终决定不这么做, 因为这个主题不符合这本书的主题, 这本书更关注底层 VM 和 OTP 的关键部分.
在 DeepMind 首席研究科学家、伦敦大学学院计算机科学教授David Silver 看来,游戏是激发创造力的关键,尤其是对AI而言。
{ "private": true, "scripts": { "prod": "gulp --production", "dev": "gulp watch" }, "devDependencies": { "babel-core": "^6.20.0", "babel-loader": "^6.2.9", "css-loader": "^0.25.0", "element-ui": "^1.1.1", "gulp": "^3.9.1", "handsontable": "0.27.0", "laravel-elixir": "^6.0.0-15", "laravel-elixir-vue-2": "^0.2.0", "laravel-elixir-webpack-official": "^1.0.10", "style-loader": "^0.13.1", "vue": "^2.1.4", "vue-loader": "^10.0.0", "vue-resource": "^1.0.3", "vue-router": "^2.1.1", "vue-template-compiler": "^2.1.4", "axios": "^0.15.2", "bootstrap-sass": "^3.3.7", "jquery": "^3.1.0", "laravel-mix": "^0.5.0", "lodash": "^4.16.2" }, "dependencies": {} }
Code coverage is an effective means to assist software engineers in verifying code quality. The runtime environment’s ability to collect code coverage fully combines black and white box testing capabilities and greatly increases engineers’ confidence in software quality. This article introduces a solution for code coverage collection in the Elixir runtime environment, and provides an in-depth insight into its internal principles.
欢迎订阅我在墨问东西写的付费专栏《张汉东的 Rust 频道》,带你深度了解 Rust 语言、生态和商业领域应用相关的一切。本篇文章节选自其中。
前两天我们学习了内存相关,标记trait,今天我们来学习一下类型转换和操作符相关的常用trait。
于 2021 年 1 月 11 日 原文:https://vitalik.ca/general/2021/01/11/recovery.html
前文中提到,我做的第二个项目是个可视化的项目,名字叫 deneb。deneb 是天鹅座的一等星,也是夏季大三角和北十字两个星群的端点之一。deneb 是对 vega-lite 的封装,受 同样封装了 vega-ltie,深得我喜爱的 Python 的库 altair 的启发。嗯,deneb - vega - altair,聪明的你一定想到了我为什么起这样一个名字:
一个程序员说自己喝醉了,软件工程师已经当了10年,心里有好多话想说,我可能会后悔今天说了这些话。
Phoenix 作为一款高性能的 Web 开发框架受到广泛关注。可以遇见,在不就的将来,Elixir + Phoenix 的技术栈就会占据现有 Ruby + Rails 的半壁江山。Elixir 无论是在语言设计还是运行性能上都优于Ruby,可谓吸收了函数式编程和 Ruby 语言的精髓。Elixir 基于的 Erlang VM(BEAM)也是久经考验的虚拟机,其历史甚至超过了 JVM。 当然,Elixir 不仅仅可以用来做网站,它可以用来构建大规模分布式服务,编写高性能游戏服务器,编写高速交易系统,深度学
本文介绍了 Linux 内核中的 BPF,从最初的 BPF 指令集,到后续的扩展指令集,以及将 BPF 用于 Linux 内核的进程调度、网络协议、文件系统等场景。作者还介绍了 BCC,即 BCC 框架,该框架是对 Linux 内核的扩展,可以用 BCC 框架来开发高性能、现代化的内核模块。
领取专属 10元无门槛券
手把手带您无忧上云