A Beginners   Guide to Erlang
About me‣   John-Paul Bader‣   http://twitter.com/hukl‣   http://github.com/hukl‣   http://smyck.net
http://www.slideshare.net/wooga/presentations
Books‣   Programming Erlang‣   Erlang Programming‣   OTP in Action‣   Learn you some Erlang for great Good
Books‣   Programming Erlang‣   Erlang Programming‣   OTP in Action‣   Learn you some Erlang for great Good
USE REBAR!‣   Build Tool for Erlang‣   Dependency Management‣   https://github.com/basho/rebar
OTP RELEASES
OTP RELEASES‣   Skip if you own / operate the    infrastructure where the app is running‣   Skip if you deploy frequently‣...
TESTS‣   eunit‣   common test‣   etest    etest_http
ETEST-module(my_api_test).-compile(export_all).-include_lib("etest/include/etest.hrl").-include_lib("etest_http/include/et...
http://vimeo.com/hukl/10-minutes-erlang
SingleResponsibility  Processes
STRINGS & TIME‣   Text Manipulation: Do it somewhere else‣   Time Operations: Gregorian / Half-Baked
STRINGS & TIME(Time.now - 3600).sunday?=> true> 3.months.ago.end_of_week.midnight=> Sun, 18 Nov 2012 00:00:00 CET +01:00"H...
SYNTAX …
SYNTAX …‣   Not as bad as you initially think‣   Do not blindly follow emacs mode    dogma‣   Do not hide more than necess...
Questions?
A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013
A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013
A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013
A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013
Upcoming SlideShare
Loading in...5
×

A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013

4,387

Published on

At Wooga, John-Paul had the chance to rewrite an old PHP game server to Erlang with very little experience. Now the project is finished and we learned a lot about Erlang which he'd like to talk about. The common beginner mistakes, oddities and other slow downs and how to avoid them.

Talk objectives:
The goal is to show beginners how fast they can get started with Erlang projects if they avoid some of the common beginner mistakes and slow downs. On the other side I hope I can stir up some discussions about Erlang itself and making it a little bit more approachable.

Target audience:
Beginners and experienced Erlang developers, interested in improving the Erlang world itself.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,387
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
25
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013

  1. 1. A Beginners Guide to Erlang
  2. 2. About me‣ John-Paul Bader‣ http://twitter.com/hukl‣ http://github.com/hukl‣ http://smyck.net
  3. 3. http://www.slideshare.net/wooga/presentations
  4. 4. Books‣ Programming Erlang‣ Erlang Programming‣ OTP in Action‣ Learn you some Erlang for great Good
  5. 5. Books‣ Programming Erlang‣ Erlang Programming‣ OTP in Action‣ Learn you some Erlang for great Good
  6. 6. USE REBAR!‣ Build Tool for Erlang‣ Dependency Management‣ https://github.com/basho/rebar
  7. 7. OTP RELEASES
  8. 8. OTP RELEASES‣ Skip if you own / operate the infrastructure where the app is running‣ Skip if you deploy frequently‣ Use if your customer owns / operates the infrastructure‣ Use if you ship the app to the customer and updates are rare and huge
  9. 9. TESTS‣ eunit‣ common test‣ etest etest_http
  10. 10. ETEST-module(my_api_test).-compile(export_all).-include_lib("etest/include/etest.hrl").-include_lib("etest_http/include/etest_http.hrl").before_suite() -> application_start(my_api).after_suite() -> application_stop(my_api).test_hello_world() -> Response = ?perform_get("http://localhost:3000/hello"), ?assert_status(200, Response), ?assert_body_contains("Hello", Response), ?assert_body("Hello World", Response).
  11. 11. http://vimeo.com/hukl/10-minutes-erlang
  12. 12. SingleResponsibility Processes
  13. 13. STRINGS & TIME‣ Text Manipulation: Do it somewhere else‣ Time Operations: Gregorian / Half-Baked
  14. 14. STRINGS & TIME(Time.now - 3600).sunday?=> true> 3.months.ago.end_of_week.midnight=> Sun, 18 Nov 2012 00:00:00 CET +01:00"Hello World is overrated".gsub(/o/) do |match| match += "ooo"end=> "Helloooo Woooorld is ooooverrated"
  15. 15. SYNTAX …
  16. 16. SYNTAX …‣ Not as bad as you initially think‣ Do not blindly follow emacs mode dogma‣ Do not hide more than necessary‣ Try to structure your code in the most readable way
  17. 17. Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×