A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

A Beginners Guide to Erlang_Erlang Factory Lite_Munich 2013

  • 4,511 views
Uploaded 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. ...

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,511
On Slideshare
2,410
From Embeds
2,101
Number of Embeds
10

Actions

Shares
Downloads
24
Comments
0
Likes
4

Embeds 2,101

http://www.wooga.com 2,044
https://twitter.com 34
http://translate.googleusercontent.com 7
http://www.twylah.com 5
http://www.linkedin.com 3
http://instacurate.com 2
http://131.253.14.66 2
http://131.253.14.98 2
http://feeds.feedburner.com 1
http://webcache.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. A Beginners Guide to Erlang
  • 2. About me‣ John-Paul Bader‣ http://twitter.com/hukl‣ http://github.com/hukl‣ http://smyck.net
  • 3. http://www.slideshare.net/wooga/presentations
  • 4. Books‣ Programming Erlang‣ Erlang Programming‣ OTP in Action‣ Learn you some Erlang for great Good
  • 5. Books‣ Programming Erlang‣ Erlang Programming‣ OTP in Action‣ Learn you some Erlang for great Good
  • 6. USE REBAR!‣ Build Tool for Erlang‣ Dependency Management‣ https://github.com/basho/rebar
  • 7. OTP RELEASES
  • 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. TESTS‣ eunit‣ common test‣ etest etest_http
  • 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. http://vimeo.com/hukl/10-minutes-erlang
  • 12. SingleResponsibility Processes
  • 13. STRINGS & TIME‣ Text Manipulation: Do it somewhere else‣ Time Operations: Gregorian / Half-Baked
  • 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. SYNTAX …
  • 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. Questions?