author: George Mantzouranis author_link: https://github.com/gemantzu categories: review date: 2018-11-14 layout: post title: Reviewing Elixircards excerpt: >

Elixircards show us how modern learning tools should work through their Elixir Decks.

Reviewing Elixircards

在本系列的下一部分,我们将对 Elixircards 的 6 张卡牌进行评测。

我与 Elixircards 的第一次接触是来自他们在 ElixirConf EU 2018 上赠送的一套演示卡组。

demo_image

我真的很喜欢这个想法,但卡组中只有少数几张卡,而且它们的质量不在那里。 不幸的是,演示并不是一个足够好的样本,无法真正激励我购买一套。

这次评测,Elixircards 很贴心的送了 6 张卡牌给我们评测和研究。我不得不说,ElixirConf EU 给我的印象是偏离了基础,我没有早点购买卡牌是错误的。

作者

Elixircards 是由 CleverBunny 的团队制作的,他们是充满激情的程序员,3 年多来一直对 Elixir 感到兴奋和支持。他们在生产中使用 Elixir 已经有 2 年了。Elixircards 是他们享受乐趣和回馈社区的方式。

目标

Elixircards 是伟大的,无论你是一个初学者刚刚找到你的脚,或一个经验丰富的专业人员寻找磨砺你的爪子。

闪卡是一种行之有效的策略,可用于识别和填补您的知识空白。基础知识 1 和 2 让您充分体验 Elixir,并涵盖基础知识。其他包,如 Enum 系列以模块为基础涵盖了 Elixir API,这可以让你强化你的知识并发现新的功能。使用闪卡的最好方法是与你的同伴玩游戏,因为它们经常引发有趣的讨论。

回顾

我们收到的评测卡牌有以下几种。

  1. Fundamentals 1
  2. Kernel 1
  3. Enum 1
  4. GenServer
  5. Agent
  6. Regex

除了这些还有 5 张卡牌可以购买。

  1. Fundamentals 2
  2. Kernel 2
  3. Kernel 3
  4. Enum 2
  5. Enum 3

我收到的 6 个卡牌的经验应该与其他卡牌相同,但每个卡牌略有不同。

包装

packaging image

卡牌装在一个非常坚固的小盒子里,里面还有一个小信封,上面写着我的名字。它包含了一些贴纸(YAAAAY!),一张感谢卡,一些他们其他项目的宣传卡和一个小游戏的想法小册子。

包装相当有效,包装盒完全没有损坏。

储物箱

tuck_box_image

储物盒是标准的卡牌储物盒,但是做得非常漂亮,四面都写着信息,颜色为 Elixirish 紫色。你需要小心翼翼的把卡牌拿出来,因为卡牌占据了储物盒 100% 的空间,所以你的钱是值得的。我不得不说,它们在不用的时候是一个非常好的书架装饰,所以点赞!

卡片

contents_image

卡片本身是一种设计上的享受。它们的纸张质量非常好,有很好的抓握感和手感。

正面有一个令人愉快的紫色背景,垂直和水平线的组合非常好,这有点让我想起电脑电路的方式。 线条是紫色的变化,让人觉得很有美感。 文字是白色的,每张牌的右下角都有牌组识别码(如 F1 代表基础知识 1),所以当你混搭牌组时,你可以随时识别出牌的来源。

背面也是类似的,只是反过来,背景是白色和紫色的文字。在右下角,每张牌都有一个数字,反映了它在牌组中的索引。

我非常满意的一个改进是,与我在 ElixirConf EU上 拿到的测试卡组相比,这些卡有一个哑光的表面,使它们更容易阅读。

卡牌分析

Fundamentals 1

这套牌包含了关于 Elixir 的介绍内容。它是一个很好的万能卡牌,卡牌中包含了 Kernel、List、String函数、条件等内容。这些卡片主要是对语言的初学者有帮助,有经验的用户除了复习之外,可能不会从这些卡片中得到什么。

Kernel 1

这副牌包含了 Kernel 函数、一些算术表达式、逻辑表达式和正则表达式的卡片。 所有这些卡片都可以在 iex 中轻松练习。它们在一些题目上有些重复,但这种重复是有回报的,因为它确实为我澄清了某些事情。

Enum 1

这是涵盖 Enum 模块系列中的第一套卡牌。这些卡组可能是你唯一应该作为一套购买的卡组,因为你不会只用一套就能获得完整的经验。第 1 副牌从两张关于 map/2 的卡片开始,然后继续按字母顺序讲解 Enum 函数;从 all?/2drop_every/2,另外还有几张关于 taketake_every 的卡片。我们并不完全清楚这背后的原因,是不一致,还是想在保持字母表的同时,抓住模块中最有用的一些函数。

这些集合中包含的信息是非常棒的,你会学到很多关于 Enum 和它所提供的函数集合的知识。 由于枚举在函数式编程中的重要性,这绝对是一个必须考虑的集合。

GenServer

我不知道这套卡组是否在某些时候应该是一个系列的一部分,因为我收到的卡组被标为 GenServer 1,但现在在网站上被简单地列为 GenServer。这套卡组非常华丽,就是这样。 它有很多关于 GenServers 的信息,从初始化开始,涵盖了诸如编写你自己的、终止、边缘情况、休眠等主题。你可能会发现有些卡牌有点重复,但由于这是生态系统中一个非常艰难但重要的组成部分,它们包含的重复和边缘案例可能是需要的。

如果你从来没有写过 GenServer,或者你只是想重新加强你的理解,这套卡组应该在你的列表中。

代理

说实话,我没期望能从不怎么喜欢的这套卡组中学到很多东西,因为我没怎么用过 agent。但是我错了!这套卡组让我大开眼界,帮助我了解了如何使用代理。 这套卡组让我大开眼界,帮助我了解如何使用代理。这是一套充满信息的卡组,如果你需要与 agent 合作,而你对他们的了解有限,这套卡组绝对会帮助你。

正则

我觉得这套卡组很有帮助,也学到了不少东西,但说实话,我不确定 Regex 是否重要到可以专门为它准备一套卡组。 更何况正则表达式的领域非常广泛,远远超出了 Elixir 的范畴。 虽然我觉得这套卡组很有用,但我觉得可以把精力放在 Elixir 其他更重要的领域。

结语

Elixircards 是个好主意。如果 “学习 2.0” 是一个东西,这些闪存卡会发现自己在那里。

我发现大部分的卡片都非常有用,而且价格也非常合理,可以帮助你在旅途中练习 Elixir 的知识。 考虑到 elixir 社区的创造力,我相信我们可以用 elixircards 想出一些很棒的游戏。

只要稍加加工和添加一些内容,elixircards 就会自成一派。 例如,我认为 Enum 应该用不同的方式来处理,这样就不需要一次购买所有的卡牌来获得最大的用途。 或许可以将三个独立的卡牌的难度和功能混合在一起?

我很希望看到 GenServer 卡牌像其他一些卡牌一样扩展,并专注于一般的 OTP,OTP 1 是基础知识,OTP 3 是更高级的主题。 增加关于任务和监督的内容也是一个受欢迎的补充。

最后但并非最不重要的是,我很想用这种闪卡式的学习方式来学习 Elixir 的其他方面的内容,比如Phoenix、Ecto、Nerves,以及最新加入的 Scenic。 鉴于这些卡牌是多么的优秀,我只能开始想象这些卡牌将是多么的有用和教育。