Изучай Erlang во имя добра!
Здесь можно купить книгу "Изучай Erlang во имя добра! " в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-97060-571-4
Страниц: 689
Артикул: 94899
Возрастная маркировка: 16+
Краткая аннотация книги "Изучай Erlang во имя добра!"
Усеянная беспечными иллюстрациями и смесью развлекательных и практических примеров программ, книга «Изучай Erlang во имя добра!» является отличным пунктом отправления в иногда безумный, но всегда восхитительный мир Erlang.
Вероятно, вас привело к Erlang обещание конкурентности или параллелизма. Возможно, это аспект языка, касающийся распределённых вычислений, а может быть, необычный подход к устойчивости против сбоев.
Одним из величайших препятствий на пути изучения Erlang является не столько то, что идеям его свойственна сложность, но и то, что они сильно отличаются от идей большинства других языков, которые вам встречались. Переменные в Erlang не переменны. Вам не следует программировать в ожидании ошибки. Процессы действительно очень дёшевы, и вы можете иметь тысячи их одновременно, даже миллионы, если вам так захочется. Ох, и потом этот странный синтаксис. Erlang совершенно не похож на Java; нет ни методов, ни классов, ни объектов. И, обождите... знак равенства вовсе не означает «равно»...
Издание предназначено как для начинающих изучать Erlang, так и для более опытных разработчиков. Даже в том случае, если читатель очень хорошо знаком с Erlang, книга сможет стать справочником и даже научить чему-то новому.
Содержание книги "Изучай Erlang во имя добра! "
Об авторе
Предисловие от Джо Армстронга, одного из создателей языка
Предисловие
Благодарности
Вступление
Об этом уроке
Что такое Erlang?
Что вам потребуется, чтобы начать
Где получить помощь
1. Давайте начнём
Интерактивная консоль
Некоторые основы Erlang
2. Модули
Что такое модули?
Объявление модуля
Компилируем код
Параметры компилятора
Макросы
Больше о модулях
Циклические зависимости
3. Cинтаксис функций
Сопоставление с образцом
Переменные в связке
Охрана! Охрана!
Что за Если?
В случае... если (case ...of)
4. Типы (вернее, их отсутствие)
Типизация сильная, как динамит
Преобразование типов
Охрана типов данных
Для типозависимых
5 Привет, рекурсия
Длина списка
Длина хвостовой рекурсии
Больше рекурсивных функций
Быстро! Сортируй!
Думаем рекурсивно
6. Функции высшего порядка
Становимся функциональными
Анонимные функции
Область видимости функции и замыкания
Отображения, фильтры, свёртки и так далее
7. Ошибки и исключения
Коллекция ошибок
Создание исключений
Обработка исключений
Обождите, это ещё не всё!
Попробуйте try в дереве
8. Функциональный подход к решению проблем
Калькулятор в обратной польской записи
Тестируем код
Из Хитроу в Лондон
Запуск программы без интерпретатора Erlang
9. Короткий экскурс в структуры данных
Записи
Хранилища данных ключ/значение
Множество множеств
Ориентированные графы
Очереди
Конец недолгой прогулки
10. Автостопом по параллельным вычислениям
Не паникуйте
Концепции конкурентности
Не совсем непохоже на линейный рост
Всего хорошего, и спасибо за рыбу!
11. Ещё о параллельной обработке
Утверждайте ваше состояние
Мы обожаем сообщения, но держим их в секрете
Тайм-аут
Избирательное получение
12. Ошибки и процессы
Связи
Мониторы
Именование процессов
13. Проектирование параллельного приложения
Понимание проблемы
Определяем протокол
Построим фундамент
Модуль событий
Сервер событий
Пробный запуск
Добавляем надзор
Пространства имён (вернее, их отсутствие)
14. Представляем OTP
Общий вид процесса, абстрактно
Простейший сервер
Конкретная реализация против обобщения
Обратный вызов в будущее
.BEAM Me Up, Scotty!
15. Ярость против конечных автоматов
Что такое конечный автомат?
Обобщённые конечные автоматы
Спецификация торговой системы
Игровой обмен между двумя игроками
Функции обратного вызова gen_fsm
Это было что-то
Готовы к реальному миру?
16. Обработчики событий
Справься-ка с этим! *перезаряжает ружьё*
Обобщённые обработчики событий
Пришло время кёрлинга!
17. Кто присмотрит за наблюдателями?
Принципы работы наблюдателей
Использование наблюдателей
Репетиция музыкальной группы
Динамические процессы-наблюдатели
18. Строим приложение
Пул процессов
Реализация наблюдателей
Работаем с работниками
Пишем рабочий процесс
Беги, пул, беги
Чистим бассейн
19. Строим приложение в стиле OTP
Пул — мой второй автомобиль
Файл ресурсов приложения
Преображение пула
Поведение приложения
Из хаоса к приложению
Библиотечные приложения
20. Счетовод для приложений
От OTP-приложения к настоящему
Беги, программа, беги
Вложенные приложения
Сложные завершения работы
21. Релиз — наше слово
Чиним текущие трубы
Релизы с помощью Systools
Релизы с помощью Reltool
Рецепты для Reltool
Отпустите меня, релизы
22. Квест по прокачке процессов
Проблемы обновления приложений и релизов
Девятый круг Erl
Process Quest
Делаем Process Quest лучше
23. Ведро сокетов
Списки ввода-вывода
UDP и TCP: бро-токолы
Больше контроля с помощью inet
Возвращаемся к Sockserv
Куда дальше?
24. Совет Организации модульных наций
EUnit — а что такое EUnit
Генераторы тестов
Заготовки окружения тестов
Тестируем приложение regis
Тот, кто вяжет EUnit’ы
25. Медведи, ETS и корешки: noSQL-база данных в памяти забесплатно
Почему ETS
Концепция в основе ETS
Операции над ETS
Встретить свою половинку
Вас выбрали!
DETS
A Little Less Conversation, a Little More Action, Please
26. Распреденомикон
Это моя громовая палка
Заблуждения о распределённых вычислениях
Жив, или Живой мертвец
Моя вторая кепка — теорема CAP
Выжившие среди зомби и CAP
Настройка Erlang-кластера
Печеньки (куки)
Консоль на удалённом узле
Скрытые узлы
Стены сделаны из огня, а очки не работают
Зов из запределья
Закапывая распреденомикон
27. Распределённые приложения OTP
Добавляем больше к OTP
Аварийное переключение и возврат управления
Волшебный восьмой шар
28. Common Test для необычных тестов
Что такое Common Test?
Структура Common Test
Создаём простую коллекцию тестов
Тестирование с состоянием
Группы тестов
Возвращение коллекций тестов
Спецификации тестов
Тестирование в больших масштабах
Интеграция EUnit внутри Common Test
Есть ещё?
29. Mnesia и искусство помнить
Что такое Mnesia?
Что хранит хранилище?
От записи к таблице
О схемах и таблицах Mnesia
Создание таблиц
Доступ и контекст
Чтение, запись и даже больше
Реализуем первые запросы
Встреча с боссом
Удаление записей, наглядно
Запросы с генераторами списков
Помните Mnesia
30. Спецификации типов и Dialyzer
PLT — это лучший бутерброд
Успешная типизация
Выведение типов и несовпадения
Типа про типы типов
Типизируем функции
Практикуемся в типизации
Экспортирование типов
Типизированные поведения
Полиморфические типы
Ты — мой тип
31. Карты
Об этой главе
EEP, EEP!
Какими будут карты
Коротенькие ножки для ранних релизов
Мексиканское противостояние
Как бы я исправил эту книгу для добавления карт
Вот и всё, ребята
Послесловие
Другие применения Erlang
Библиотеки при участии сообщества
Ваши идеи меня заинтриговали...
Это конец?
Приложение: синтаксис Erlang
Шаблон
Предложение на английском языке
И, Или, Готово
В качестве вывода
Все отзывы о книге Изучай Erlang во имя добра!
С книгой "Изучай Erlang во имя добра!" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "Изучай Erlang во имя добра! (автор Фред Хеберт)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку