zoukankan      html  css  js  c++  java
  • erlang工作前新手学习指引路线

    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的知识,凭借着数据结构和算法的底子也找到了几家公司,如今呆的这家公司的威神大哥在网上认识的,人挺不错,冲着这点别的单位都不去了,后面也证实自己的选择没有错,感谢

  • 相关阅读:
    07 总结ProgressDialog 异步任务
    1. vim 的安装及配置
    debian 源设置 ( apt-get 不能安装)
    在Debian中安装VNC Server
    让BB-Black通过usb0上网
    常用的一些 linux 指令
    Linux下同一目录内文件和目录为什么不能同名?
    beaglebone black 与电脑互传文件(夹)
    永久修改 putty字体大小
    Beaglebone Black的引脚分配
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4316652.html
Copyright © 2011-2022 走看看