SlideShare a Scribd company logo
1 of 62
Download to read offline
Чем хорош Erlang вообще и для
веб-разработки в частности?

Юра Жлоба aka yzh44yzh
Сегодня я расскажу:
Что такое Erlang
Архитектура веб-серверов
Преимущества Erlang для веб
Примеры использования: компании и продукты
Место Erlang в вебе сейчас и в будущем
Клевая картинка
Без чего не может
обойтись никакая
презентация.
Да, картинка не в тему.
Но это не важно. Жанр
презентации обязывает,
чтобы клевые картинки
были. А вот что б
картинки были в тему, к
этому не обязывает :)
Кратенько про Erlang

Многопоточность
Распределенность
Устойчивость к ошибкам
Горячее обновление кода
Два слова об истории

Середина 80х – начало 90х
90-е – середина 2000х
Вторая половина 2000х

разработка языка
жизнь в узкой нише
рост популярности
Многопоточность
Легкие потоки
Эффективные планировщики
Изолированные области памяти
Изолированные сборщики мусора
Обмен сообщениями
Распределенность

Решение высокого уровня
Сетевая прозрачность
Просто посылаем сообщение процессу в другой
ноде так же, как и процессу в своей ноде
Устойчивость к ошибкам

3 уровня защиты:
Изоляция потоков
Супервайзеры
Распределенность
Подробнее о процессах

Что такое процесс?
Процессы бывают разные...
Подробнее о процессах

Мы начнем с такого процесса,
который в unix-подобных ОС
создается системным вызовом
fork()
Подробнее о процессах
Процесс имеет ресурсы:
несколько областей в оперативной памяти, для
хранения кода, данных и стека;
область в оперативной памяти для хранения
метаинформации о самом процессе
(обработчики сигналов, файловые дескрипторы,
информация для планировщика и т.д.)
Подробнее о процессах

ОС имеет таблицу процессов, а там:
PID, родительский PID, UID пользователя, GID
группы, состояние (зомби, да :)
Подробнее о процессах

Один такой процесс потребляет прилично памяти
fork() работает относительно медленно
переключение между процессами
тож не супер быстое
Подробнее о процессах

700-800 процессов, вот что может дать нам ОС
Это много или мало? Пойдем дальше и увидим.
Подробнее о процессах
Ок, эти процессы тяжелые, а бывают ли легкие?
Конечно
Нити (threads)
Легковесные процессы, работающие внутри
процесса ОС, и разделяющие его ресурсы.
Подробнее о процессах

С нитями дела обстоят получше,
ОС может нам дать десятки тысяч нитей.
Но...
Подробнее о процессах

Не каждому ЯП они доступны
Подробнее о процессах

Виртуальная машина Erlang
Кроссплатформенные нити для большинства
популярных ОС
Доступные из ЯП куда более простого
и удобного, чем C/C++
Подробнее о процессах

Причем процессы Erlang еще легче,
чем даже нити.
И их можно создать на порядок больше:
сотни тысяч.
Архитектура веб-серверов

1. Принятие запросов и роутинг
2. Бизнес-логика
3. Хранение данных
Архитектура веб-серверов

1. Nginx
2. Ruby On Rails
3. Memcached/PostreSQL
Архитектура веб-серверов

1. Х/з, как это работает.
2. Тут-то мы все большие спецы
3. Ну ж MongoDB от Redis отличаем, небось :)
Архитектура веб-серверов

1-й уровень нам не интересен.
Он просто работает и все.
И пофиг, что там происходит.
Пока...
Архитектура веб-серверов
Пока мы обслуживаем
500-800 запросов в секунду.
Но случается такое, что нам нужно обслужить
1000 запросов в секунду.
5К, 10К, 100К
И тогда 1й уровень становится очень важным.
Архитектура веб-серверов

Ну так что там, на 1-м уровне?
Архитектура веб-серверов

Если мы возьмем какой-нибудь
не очень свежий веб-сервер:
Старичок Apache
Архитектура веб-серверов
Пул из 100 (допустим) процессов ОС.
Процесс выделяется из пула
для обслуживания запроса,
вызвает бизнес-логику,
возвращает клиенту ответ
И возвращается в пул.
Архитектура веб-серверов

Важно быстро обрабатывать запрос
и возвращать процесс в пул.
Если процессы будут заняты долго,
а запросов будет много,
то сервер не сможет их все обслужить.
Архитектура веб-серверов

Важно быстро обрабатывать запрос
и возвращать процесс в пул.
Если процессы будут заняты долго,
а запросов будет много,
то сервер не сможет их все обслужить.
Архитектура веб-серверов

Поэтому nginx использует нити
и имеет большой пул
и легко его наращивает при необходимости.
И поэтому он так крут :)
Преимущества Erlang для веб

Erlang хорош на всех 3х уровнях.
Преимущества Erlang для веб

Он вполне конкурирует с nginx на 1-м уровне.
Вполне удобен для написания
бизнес-логики на 2-м уровне.
Годится и для хранения данных.
(это ежели в памяти,
хранение на диске лучше все-таки доверить БД)
Преимущества Erlang для веб

Есть еще и 4-й уровень.
Это задачи, требующие длительного времени,
и выполняющиеся отложено.
Обрезка закачанных картинок, перекодировка
видео, сбор и анализ логов и т.д.
Преимущества Erlang для веб

Вы для выполнения таких задач
используете что-нибудь типа
RabbitMQ
Преимущества Erlang для веб

На Erlang можно реализовать
все 4 уровня вашей системы,
на одной технологии,
в одной кодовой базе.
Преимущества Erlang для веб

На том же серверном железе
вы обсужите больше клиентов,
больше запросов.
Преимущества Erlang для веб

На порядок, а то и на два порядка больше :)
Я, не будучи Erlang-гуру, написал сервер,
который обслуживает 5-8К запросов в секунду
на одной машине.
Код Erlang-гуру сможет обслужить и 50К, и 100К.
Преимущества Erlang для веб

Но это мы говорим об одном сервере.
А Erlang изначально предназначен
для построения распределенных систем.
Так что если речь идет о кластере,
то в таком проекте для Erlang самое место.
Преимущества Erlang для веб

Разрабатывать распределенные системы
в принципе сложно.
Сама предметная область таит
в себе много проблем.
Erlang делает эту разработку простой
насколько это вообще возможно.
Недостатки Erlang

Малое количество разработчиков (и компаний)
Плохая работа со строками
Поддержка unicode не супер
Библиотеки третьих сторон
не production ready
Примеры использования

Поговорим о компаниях и продуктах.
Учитывая аудиторию,
первой компанией в этом списке будет...
Примеры использования

37signals
Примеры использования

37signals
Campfire, групповой веб-чат
для общения команды.
Примеры использования
37signals, Campfire

Строк кода
R/s
Задержка
Процессов ОС
Расширяемость

Ruby
127
250-350
20ms
да

C
397
1800
2-3ms
80
нет

Mark Imbriaco, Erlang Factory London 2009
Campfire Loves Erlang

Erlang
273
1800
2-3ms
1
да
Примеры использования

heroku
Примеры использования

heroku
Облачная PAAS платформа
Примеры использования
heroku
Балансировщик нагрузки
HTTP Routing Mesh
Архитектурный клей
Logplex система сбора логов
Примеры использования
heroku
Perl: Making easy things easy and hard things possible!
Ruby: Making easy things trivial and hard things fun!
Erlang: Making easy things possible
and impossible things trivial!
Примеры использования
heroku
Blake Mizerany и Orion Henry
на Erlang Factory London 2009:
How the Cloud Got Its Groove Back
Jacob Vorreuter на Erlang Factory London 2011:
Utilizing Redis in distributed Erlang systems
Geoff Cant
на Erlang Factory SF Bay Area 2013 про Logplex:
High Throughput Erlang
Примеры использования
heroku
Fred Hebert
Автор книги
Learn You Some Erlang for Great Good!
на NYC Erlang Factory Lite 2013
Why Heroku (still) uses Erlang
Примеры использования

GitHub
Примеры использования

GitHub
https://github.com/erlang/otp
Примеры использования

GitHub
Erlectricity
GitHub pages
Примеры использования
GitHub
Tom Preston-Werner
на Erlang Factory SF Bay Area 2009
Mixing Erlang and Ruby with Erlectricity
Jesse Newland
на Erlang Factory SF Bay Area 2012:
Rewriting GitHub Pages with
Riak Core, Riak KV, and Webmachine
Примеры использования

Facebook
Серверная часть чата
Данные 2011 года:
1 миллиард сообщений в сутки
10 миллионов активных пользователей на пике
100 серверов
Примеры использования

Amazone
SimpleDB распределенная база данных
часть Amazone Web Services
Примеры использования

Yahoo!
Yogish Baliga
на Erlang Factory SF Bay Area 2010
Deploying Erlang into a Large Organization
Примеры использования
DemonWare
Malcolm Dowse
Erlang and First-Person Shooters in online games
Wooga
Knut Nesheim
Designing online games for scale with Erlang
WhatsApp
Rick Reed
Scaling to Millions of Simultaneous Connections
Примеры использования
Riak
Распределенная Key-Value БД
CouchDB
Распределенная документ-ориентированная БД
RabbitMQ
Брокер сообщений, одна из реализаций AMPQ
Ejabberd
Jabber сервер
Место Эрланг в вебе сейчас и в будущем

Cloud Platforms
Messaging
Games
Databases
Место Эрланг в вебе сейчас и в будущем

Веб-сокеты
SPDY и HTTP 2.0
Интернет вещей
Вопросы? :)

More Related Content

What's hot

Опыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игрыОпыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игрыYuri Zhloba
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1Max Lapshin
 
Erlang, который мы потеряли
Erlang, который мы потерялиErlang, который мы потеряли
Erlang, который мы потерялиIvan Grishaev
 
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4rit2011
 
Максим Лапшин. Erlang production
Максим Лапшин. Erlang productionМаксим Лапшин. Erlang production
Максим Лапшин. Erlang productionAlina Dolgikh
 
Там, где Rails не справляются
Там, где Rails не справляютсяТам, где Rails не справляются
Там, где Rails не справляютсяMax Lapshin
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON
 
Как устроен мониторинг в Badoo
Как устроен мониторинг в BadooКак устроен мониторинг в Badoo
Как устроен мониторинг в BadooUptime Community
 
Алексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHPАлексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHPOleg Poludnenko
 
SECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Васильков Василий, Серверное программирование сегодняSECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Васильков Василий, Серверное программирование сегодняSECON
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Oleg Poludnenko
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхBadoo Development
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Max Lapshin
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей КалинецFwdays
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Ontico
 

What's hot (19)

Опыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игрыОпыт использования Erlang в разработке многопользовательской игры
Опыт использования Erlang в разработке многопользовательской игры
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1
 
Erlang, который мы потеряли
Erlang, который мы потерялиErlang, который мы потеряли
Erlang, который мы потеряли
 
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
 
Максим Лапшин. Erlang production
Максим Лапшин. Erlang productionМаксим Лапшин. Erlang production
Максим Лапшин. Erlang production
 
Там, где Rails не справляются
Там, где Rails не справляютсяТам, где Rails не справляются
Там, где Rails не справляются
 
Sivko
SivkoSivko
Sivko
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
 
Как устроен мониторинг в Badoo
Как устроен мониторинг в BadooКак устроен мониторинг в Badoo
Как устроен мониторинг в Badoo
 
Алексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHPАлексей Иванкин: Highload + PHP
Алексей Иванкин: Highload + PHP
 
SECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Васильков Василий, Серверное программирование сегодняSECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Васильков Василий, Серверное программирование сегодня
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
 
мир без Jsp. thymeleaf 2.0
мир без Jsp. thymeleaf 2.0мир без Jsp. thymeleaf 2.0
мир без Jsp. thymeleaf 2.0
 

Viewers also liked

Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиRuby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиMedia Gorod
 
введение в Ror олег андреев
введение в Ror   олег андрееввведение в Ror   олег андреев
введение в Ror олег андреевMedia Gorod
 
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...CodeFest
 
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"railsclub
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Pavel Tsukanov
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRailsPavel Gabriel
 
Разрушаем негативные мифы Ruby, Rails.
Разрушаем негативные мифы Ruby, Rails.Разрушаем негативные мифы Ruby, Rails.
Разрушаем негативные мифы Ruby, Rails.Ravil Bayramgalin
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyAlex Chistyakov
 
Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!Constantin Kichinsky
 
Ruby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивыйRuby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивыйAlex Mikitenko
 

Viewers also liked (11)

Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиRuby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
 
введение в Ror олег андреев
введение в Ror   олег андрееввведение в Ror   олег андреев
введение в Ror олег андреев
 
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
 
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?
 
Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRails
 
Разрушаем негативные мифы Ruby, Rails.
Разрушаем негативные мифы Ruby, Rails.Разрушаем негативные мифы Ruby, Rails.
Разрушаем негативные мифы Ruby, Rails.
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
 
Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!
 
Ruby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивыйRuby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивый
 

Similar to Erlang ruby

Erlang and OCaml Experience at Echo
Erlang and OCaml Experience at EchoErlang and OCaml Experience at Echo
Erlang and OCaml Experience at EchoLev Walkin
 
Масштабирование и отказоустойчивость с Nginx
Масштабирование и отказоустойчивость с NginxМасштабирование и отказоустойчивость с Nginx
Масштабирование и отказоустойчивость с NginxGetDev.NET
 
Distributed erlang
Distributed erlangDistributed erlang
Distributed erlangYuri Zhloba
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийMedia Gorod
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin
 
Presentation for students about Laravel.pptx
Presentation for students about Laravel.pptxPresentation for students about Laravel.pptx
Presentation for students about Laravel.pptxGetOverHere
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаendeveit
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 
Headless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactHeadless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactDrupalSPB
 
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализСценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализpcweek_ua
 
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.IT Share
 
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван МоскалёвYandex
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1guest092df8
 

Similar to Erlang ruby (20)

Erlang and OCaml Experience at Echo
Erlang and OCaml Experience at EchoErlang and OCaml Experience at Echo
Erlang and OCaml Experience at Echo
 
Масштабирование и отказоустойчивость с Nginx
Масштабирование и отказоустойчивость с NginxМасштабирование и отказоустойчивость с Nginx
Масштабирование и отказоустойчивость с Nginx
 
Distributed erlang
Distributed erlangDistributed erlang
Distributed erlang
 
Migrate!
Migrate!Migrate!
Migrate!
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)
 
Invisible
InvisibleInvisible
Invisible
 
Presentation for students about Laravel.pptx
Presentation for students about Laravel.pptxPresentation for students about Laravel.pptx
Presentation for students about Laravel.pptx
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Rails for dummies
Rails for dummiesRails for dummies
Rails for dummies
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 
Headless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactHeadless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и React
 
0. hello java world
0. hello java world0. hello java world
0. hello java world
 
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализСценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализ
 
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.Юрий Жлоба -  Опыт использования Erlang в разработке многопользовательской игры.
Юрий Жлоба - Опыт использования Erlang в разработке многопользовательской игры.
 
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1Max Lapshin Erlyvideo V1
Max Lapshin Erlyvideo V1
 

Erlang ruby