Erlang学习总结,新手指引

要具体的写erlang入门技术网上有非常多,我写的肯定没有那些大牛写的好,自己也实习了快一个月,也做一个总结,给后erlang初学兴趣者提供些拙见吧

第一步搭建学习环境

还没进公司前,我搭建的是erlang17+ Eclipse + erlide 网上教程非常多,不细说搭建流程

第二步基本的语法知识

认真看erlang程序设计的前5章,新出第二版也是大同小异,然后写一些题目,做一些润年和斐波那契数列之类的题目了,熟悉lists函数库的使用方法后,可以水一些HduOj的11页语法题,练练语法,这一步的要求是可以熟练使用tuple(含record)和list的基本使用方法

第三步熟悉主要的otp

认真看erlang程序设计的7、8、9章,了解进程的基本工作的原理,进程之间发消息和建立link等。

附习题三道

1、用进程实现,初始有[{'a@localhost', 0}, {'b@localhost', 0}, {'c@localhost', 0}],当中a@localhost,b@localhost,c@localhost是三个erlang节点,相应的当前各种server节点人数是0,0,0,之后每次发送消息{update, Node},相应的Node人数就添加1,然后再提供一个,发送消息get_node_list,返回这三个节点在线情况,比方[{'a@localhost', 12}, {'b@localhost',
10}, {'c@localhost', 23}]。

2、创建一个网络进程,注冊名是player_socket,同一时候在player_socket进程创建一个玩家进程,注冊名是player,接着,1、假设player进程crash了,那么要通知player_socket进程,同一时候要关闭player_socket进程;2、假设player_socket进程挂了,那么要通知player,可是不关闭player进程。

3、有8个Jobs分给4个进程去处理。比方fun(Id) -> io:format("~p~n", [Id]) end,Id就是第几个Job,那么就是[1-8]8个数字打印,分给四个进程去打印。

注意:能解决以上题目,otp入门差点儿相同了,每道题目都要解决,无论花多久时间

第四步工作搭建好开发环境

首先要会一些主要的Linux命令操作,没玩过Linux或非常久没玩的少年须要花时间熟悉它,公司的实际开发环境是linux+erlang17.0+emacs编辑器+rebar编译,代码管理和版本号控制git。资料在网上也有非常多关于rebar编译和git,这里我也写不出的一二三。只是emacs的使用方法着实让人非常是蛋疼,看文档的话也不一定会用那些快捷键,这个要不断的失败尝试

第五步gen_server  application  supervisor

认真看书16、18章这里開始才是真正的接触erlang,要求初步了解这三者的使用方法,然后结合第四步一起学习,这里假设对gen_tcp不了解的话,要求去学习下

第六步项目框架基础

有了前五步的积累,这里推荐otpserver框架经典博客一篇

http://www.blogjava.net/yongboy/archive/2012/10/24/390185.html我们公司的项目框架是以博客中的第二个框架为基础扩展

序:以上六步花了10天的时间熟悉,我到底有多弱,第十一天最终開始给公司贡献最水的代码了,进公司前,有两个多月没拍代码,近四个月没看过erlang,曾经看的差点儿相同都忘了,面试的几家游戏公司也没有问关于erlang的知识,凭借着数据结构和算法的底子也找到了几家公司,如今呆的这家公司的威神大哥在网上认识的,人挺不错,冲着这点别的单位都不去了,后面也证实自己的选择没有错,感谢

erlang工作前新手学习指引路线的更多相关文章

  1. 新手学习java路线

    关于新手学习java的路线 笔者也是根据这个路线学习的,希望对你们有所帮助. 首先你要确定你是学习java 并且能够踏踏实实的走下去.一定要多学习,我也可以一直陪你走下去的. 笔者一年工作经验,科班毕 ...

  2. 一篇文章一张思维导图看懂Android学习最佳路线

    一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...

  3. Android Studio新手全然指引

    Android Studio新手全然指引 @author ASCE1885的 Github 简书 微博 CSDN Android Studio的下载及安装 假设你的电脑能够FQ,那么请直接到Andro ...

  4. (转)新手学习System Verilog & UVM指南

    从刚接触System Verilog以及后来的VMM,OVM,UVM已经有很多年了,随着电子工业的逐步发展,国内对验证人才的需求也会急剧增加,这从各大招聘网站贴出的职位上也可以看出来,不少朋友可能想尽 ...

  5. Linux运维工程师学习成长路线

    不过大家的留言都很精彩,希望大家也可以去留言区逛一逛~~ 好在这不是最后一期送书,之前已经有了好多活动,小编一定继续为大家多送些福利. 希望大家可以一如既往的关注脚本之家,支持爱你们的小编,共同进步! ...

  6. 新手学习web遇到的一些乱码问题

    在新手学习web网站学习的时候经常会遇到?????这种乱码,对于刚起步的菜鸟来说真的很头痛,很容易打击继续学的信心当然了对于菜鸟的我最近也遇到过乱码问题,沉浸其中不能自拔,爱的深啊!!!!!我所遇到的 ...

  7. ReactNative新手学习之路07ListView_ renderHeader使用StaticContainer

    react native新手学习之路07ListView_ renderHeader使用StaticContainer 1.某些特殊场景需要用ScrollView滚动和ListView配合但是不幸运的 ...

  8. 零基础新手学习Java必须知道的市场行情

    Java如今的市场不如从前,竞争很大,工资非常高,标准非常高,想要胜任一份高薪的工作不是那么容易,只有掌握最新的行情才能更好的了解Java,才能更好的在这个领取发展,让新手小白了解Java市场行情如下 ...

  9. Linux 运维工程师学习成长路线上要经历哪四个阶段?

    之前曾看到一篇新闻,Linux之父建议大家找一份基于Linux和开源环境的工作.今天就来聊一聊我的想法,本人8年Linux运维一线经验,呆过很多互联网公司,从一线运维做到运维架构师一职,也见证了中国运 ...

随机推荐

  1. [React Intl] Render Content with Placeholders using react-intl FormattedMessage

    Learn how to use react-intl to set dynamic values into your language messages. We’ll also learn how ...

  2. Linux下的lds链接脚本简介(四)

    十一. 表达式 lds中表达式的文法与C语言的表达式文法一致,表达式的值都是整型,如果ld的运行主机和生成文件的目标机都是32位,则表达式是32位数据,否则是64位数据. 以下是一些常用的表达式: _ ...

  3. 巴什博奕小结 HDU2188 HDU1846 HDU2149

    摘自百度百科: 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以, ...

  4. OC学习篇之—写类别(类的扩展)

    首先我们来看一下场景,如果我们现在想对一个类进行功能的扩充,我们该怎么做? 对于面向对象编程的话,首先会想到继承,但是继承有两个问题: 第一个问题:继承的前提是这个类可以被继承,因为在Java中有些类 ...

  5. MCI

    MCI(Media Control Interface)媒体控件接口是Mircrosoft提供的一组多媒体和文件的标准接口.它的好处是可以方便地控制绝大多数多媒体设备 包括音频,视频,影碟,录像等多媒 ...

  6. 【例题3-4 UVA - 340】Master-Mind Hints

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 这里出现了没有在相同位置的只能唯一配对. 就是说 3322 2234 这种情况. 只有3个weak pair. 即key[1]=a[ ...

  7. Maven项目中mvn clean后找不到測试类问题

    在Maven项目中进行单元測试,但mvn clean后又一次mvn install项目,再次进行单元測试.会有下面的错误. <span style="font-family:KaiTi ...

  8. JVM调优2

    原文地址:https://blog.csdn.net/sun1021873926/article/details/78002118 一.什么是JVM  JVM是Java Virtual Machine ...

  9. [CSS] Easily Reset Styles With a Single CSS value

    There are times where you need to reset a an element’s styles. Instead of overwriting it with even m ...

  10. RMAN之一:快速入门 分类: H2_ORACLE 2014-02-17 16:11 689人阅读 评论(0) 收藏

    1.数据导出基础 (1)创建datapump导出文件的目录对象并为相应用户授予权限. 出于安全考虑,不允许oracle用户直接在OS上进行文件的操作,而应通过directory对象指定. SQL> ...