Git Product home page Git Product logo

practical_erlang's Introduction

Курс "Эрланг на практике"

Курс рассчитан на программистов, имеющих опыт веб-разработки на любом языке программирования, но не знакомых или слабо знакомых с Erlang.

Цель курса -- дать практические навыки работы с Erlang/OTP и познакомить с инфраструктурой вокруг языка: инструментами и библиотеками.

Курс практический, это значит, что в нем много упражнений и небольших проектов, но нет цели дать всю теорию в исчерпывающем виде.

Темы курса

  1. Введение. Типы данных.
  2. Устройство списков. Рекурсивные функции с аккумуляторами.
  3. Функции высшего порядка. Свертка.
  4. Сопоставление с образцом, гарды.
  5. KV-структуры данных
  6. maps и ets таблицы
  7. io_list, binary, string, unicode
  8. Многопоточность в Erlang
  9. gen_server
  10. gen_server, продолжение
  11. link, monitor
  12. supervisor
  13. application
  14. Инфраструктура: OTP фреймворк, rebar, релизы
  15. Способы обработки ошибок. Let it crash.
  16. TCP и UDP сокеты.
  17. Веб-сервер Cowboy
  18. Работа с PostgreSQL

Что дальше?

Способы композиции функций в Erlang и Elixir

Учебный проект "Коты-путешественники"

practical_erlang's People

Contributors

cobr123 avatar dziaineka avatar miksby avatar sabahtalateh avatar yzh44yzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

practical_erlang's Issues

Вопросы по учебному материалу

Добрый день, Юрий!

  1. Скажите, строка 36 в файле:
    https://github.com/yzh44yzh/practical_erlang/blob/master/02_list_recursion/solution/task_1.erl
    лишняя, я правильно понимаю?
  2. https://github.com/yzh44yzh/practical_erlang/blob/master/04_pattern_matching/lesson_04.md
    area({rect, Width, Height}) -> Width * Height;
    area({square, Size}) -> Size * Size;
    area({circle, Radius}) -> math:pi() * Radius * Radius.
    Тут разве не точка после первого клоуза должна быть,
    area({rect, Width, Height}) -> Width * Height.
    учитывая, что функция с отличным числом аргументов?

Спасибо за труд!

07 chapter

Можно добавить про string:lowercase, который добавили в OTP20

Proposal: task #9

Hi

I am going to propose about making task #9 a little more complicated. Users can be repeated at room. What do you think about to make them unique? I will create a PR if the proposal is approved.

some function deprecated

short_link.erl:9: Warning: crypto:rand_bytes/1 is deprecated and will be removed in a future release; use crypto:strong_rand_bytes/1
short_link.erl:10: Warning: random:seed/1: the 'random' module is deprecated; use the 'rand' module instead

Планируется ли скринкаст?

Было бы здорово записать видео по всем урокам. На YouTube-е сейчас только 6 видосов. Я даже готов донатить :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.