我最近发现了Erlang,现在我正在通过几个教程。到现在为止,我很期待将某些东西作为一个爱好项目来实现。我对另一个聊天服务器并不感兴趣。我想编写更有趣的东西(是的,我知道这是一个相当模糊的术语),这也是可以管理的,所以我可以在业余时间完成它。
有什么建议吗?
编辑:项目最好突出显示Erlang的强项(并发,分布式)。
答案 0 :(得分:19)
构建一个分布式系统,实时搜索Twitter提要,并允许任何人从网络前端执行搜索。
构建分布式文件系统。实现分布式B *树或B +树作为此文件系统的基础。在erlang中做。
在步骤2中构建的分布式文件系统之上构建分布式键值存储。
在密钥值存储库之上构建分布式Web索引(由分布式Web搜索引擎使用)。
构建分布式链接器。高级构建自动化为distributed builds和/或分布式处理提供远程代理处理。
构建一个MMORPG后端,它依赖于游戏/玩家状态的分布式存储和用户请求的分布式处理。
答案 1 :(得分:14)
为了自己的东西,考虑编写一个简单的服务器;例如,服务日期/时间请求或者 - 有点发烧友 - 一种仅提供静态内容的HTTP守护进程。
Erlang的最佳部分是它处理并发的方式;实现这一点。
答案 2 :(得分:10)
Project Euler,当然。
答案 3 :(得分:10)
我丰富的待办事项列表中的一些内容既是良好的学习练习,又对整个erlang社区有帮助:
配置所有可用的键/值存储:
编写一个使用命名参数的新io_lib:format例程:
扩展erl -make(make.erl)
答案 4 :(得分:7)
这并不完全回答你的问题,但是如果你正在寻找一个用Erlang编写的有趣的免费开源项目,你一定要查看CouchDB。来自网站:
Apache CouchDB是一个分布式的, 容错和无架构 面向文档的数据库可访问 通过RESTful HTTP / JSON API。其中 其他功能,它提供强大, 增量复制 双向冲突检测和 分辨率,并且是可查询的 使用面向表的视图可索引 JavaScript充当引擎 默认视图定义语言。
CouchDB是用Erlang编写的,但可以 可以从任何地方轻松访问 提供手段的环境 发出HTTP请求。有一个 众多第三方客户 图书馆让这更容易 适用于各种编程语言 和环境。
CouchDB website有更多详情。快乐的编码!
答案 5 :(得分:4)
找到一些你不理解和喜欢的东西。我用etap做到了https://github.com/ngerakines/etap/现在,尼克接管了管理,并在EA游戏内部使用。制作和以前的海报一样真有趣,所以我学会了解决现实世界的问题。
答案 6 :(得分:3)
文件索引/搜索系统。这是由介绍项目,但我已切换到其他东西。
一旦你完成它的工作,你可以将索引移动到mnesia,然后将其从其他节点传播到具有整个网络索引。