Как стать автором
Обновить

Акторы как частный случай dataflow

Время на прочтение 1 мин
Количество просмотров 1.3K
Программирование *
Тема акторов в последние годы набирает популярность и некоторым авторам представляется как хит
сезона, хотя само понятие уходит корнями в 70 годы. Особенно усердствуют эрланговцы — одни
заголовки чего стоят — На передовой дизайна виртуальных машин, прямо-таки вспоминаются заголовки советских газет.
Читать дальше →
Всего голосов 14: ↑2 и ↓12 -10
Комментарии 4

Пишем на JS в функционально-декларативном стиле

Время на прочтение 9 мин
Количество просмотров 21K
Разработка веб-сайтов *JavaScript *Программирование *Erlang/OTP *Функциональное программирование *
Туториал


Введение


Я люблю функциональные языки за их простоту, ясность и предсказуемость. Пишу в основном на Elixir / Erlang / OTP, пробовал другие языки, но Erlang с его акторами пока мне гораздо ближе чем например Lisp или Haskell. Как известно Erlang == web, а у чего-либо написанного для веба порой бывает клиентский веб-интерфейс: html, css, js — содержимое. Увы js это стандарт современного веба, для него есть библиотеки почти под любую задачу почти на все случаи жизни, да и это более-менее единственное доступное средство что-то выполнить в браузере на стороне клиента. Поэтому нам всё-таки нужен js. Сперва мне подумалось «Лямбды и функции высшего порядка есть, значит писать на js будет просто. Выучу синтаксис и буду писать так же как пишу в Erlang/Lisp/Haskell». Как же я ошибался.
Читать дальше →
Всего голосов 32: ↑22 и ↓10 +12
Комментарии 31

Akka, акторы и реактивное программирование

Время на прочтение 10 мин
Количество просмотров 61K
Блог компании Издательский дом «Питер» Программирование *Java *Параллельное программирование *
Перевод
Здравствуйте, уважаемые читатели.

Сегодня мы хотели поговорить с вами на тему «все новое — это хорошо забытое старое» и вспомнить об акторах, описанных Карлом Хьюиттом еще в начале 70-х. А все дело в том, что недавно вышла вот такая книга:



Она довольно объемная — в переводе должна получиться более 500 страниц.

Несмотря на подчеркнутую элитарность книги (Akka и Scala), ее автор Вон Вернон (крупнейший специалист по DDD) уверен, что архитектурные паттерны, описанные в этой работе, вполне реализуемы на .NET и C#, о чем рассказывает в приложении. Мы же размещаем под катом перевод статьи, автор которой допускает перенос акторной парадигмы на язык Java. Поскольку рейтинг книги на Amazon стабильно высок, а тема универсальна, просим поделиться вашими мнениями как о ней, так и об акторной архитектуре в принципе.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 23

Конкурентность: Кооперативность

Время на прочтение 6 мин
Количество просмотров 20K
Параллельное программирование *

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


В прошлой статье мы посмотрели на абстракцию потоков, позволяющую делать вид, что код функций выполняется одновременно и непрерывно.


В этой мы посмотрим на ещё две модели, одна из которых не делает такого вида, а вторая смотрит на конкурентные вычисления с более абстрактной стороны.


Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 10

Comedy. Акторы в Node.JS для гибкого масштабирования

Время на прочтение 14 мин
Количество просмотров 16K
Node.JS *

Привет, хабравчане! В этой статье я познакомлю вас с фреймворком Comedy — реализацией акторов в Node.JS. Акторы позволяют масштабировать отдельные модули вашего Node.JS приложения без изменения кода.

Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 36

Как я осознал, что такое распределенные системы

Время на прочтение 12 мин
Количество просмотров 13K
Блог компании Издательский дом «Питер» Java *Scala *Профессиональная литература *Распределённые системы *
Перевод
Привет, Хабр!

В скором времени у нас выходит изысканная новинка для разработчиков высшего класса — "Реактивные шаблоны проектирования".

Автор книги Роланд Кун — звезда первой величины в области распределенных систем, один из разработчиков Akka. Под катом предлагаем перевод его программной статьи о распределенных системах и акторной модели, размещенной на сайте GitHub
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 7

Опыт использования библиотеки Puniverse Quasar для акторов

Время на прочтение 7 мин
Количество просмотров 3.1K
Блог компании ИНФОРИОН Программирование *Kotlin *
В прошедшем, 2017 году, был небольшой проект, который почти идеально ложился на идеологию акторов, решили поэкспериментировать и попробовать использовать их реализацию от Parallel Universe. От самих акторов особо много не требовалось — знай себе храни состояние да общайся с другими, иногда изменяйся по таймеру и не падай.

Библиотека вроде достаточно зрелая, почти 3 тысячи звезд на гитхабе, больше 300 форков, пара рекомендаций на Хабре… Почему бы и нет? Наш проект стартовал в феврале 2017, писали на Kotlin.


Казалось бы, что могло пойти не так?
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 12

Введение в реактивное программирование

Время на прочтение 11 мин
Количество просмотров 45K
Блог компании Arcadia JavaScript *Программирование *.NET *
Здравствуйте. В этой статье я пробегусь галопом по Европам, а именно — расскажу, что понимают под реактивным программированием, познакомлю с акторами, реактивными потоками, и наконец, при помощи реактивных потоков мы сделаем распознавание мышиных жестов, как в старой Opera и её духовном наследнике — Vivaldi.

Цель — познакомить с основными концепциями реактивного программирования и показать, что не всё так сложно и страшно, как может показаться на первый взгляд.

image
Источник
Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 20

В поисках серебрянной пули: акторы+FRP в Реакте

Время на прочтение 17 мин
Количество просмотров 1.9K
JavaScript *

Сейчас уже мало кто пишет на Perl'е, но известная максима Ларри Уолла "Keep simple things easy and hard thing possible" стала общепринятой формулой эффективной технологии. Ее можно трактовать в аспекте не только сложности задач, но и подхода: идеальная технология должна, с одной стороны, позволять быструю разработку средних и малых приложений(в т.ч. "write-only"), с другой — предоставлять инструменты для вдумчивого девелопмента сложных приложений, где на первое место ставиться надежность, поддерживаемость и структурированность. Или даже, переводя в человеческую плоскость: быть доступной для джунов, и в то же время удовлетворять запросы синьйоров.


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


"Вы будто бы храните все столы в одной комнате, а стулья — в другой"
— Юха Паананен, творец библиотеки Bacon.js, о Редаксе

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

Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 5

Если проект «Театр», используй акторов…

Время на прочтение 14 мин
Количество просмотров 3.8K
C++ *Промышленное программирование *Разработка под Linux *

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

Заглянуть за кулисы...
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 3

ReactJs + Redux: бизнес логика в Акторах

Время на прочтение 6 мин
Количество просмотров 7.7K
Разработка веб-сайтов *ReactJS *

Где же держать бизнес логику приложения?

 "Та че уж там парится - прямо в компонентах." - скажут некоторые. И в некоторых ситуациях это правильное и удобное решение.

Но что если мы все-таки хотим чего-то большего? Например, масштабируемости, несколько юзер интерфейсов, лёгкой смены дизайна. Тогда логично разделить приложение на два слоя. Слой бизнес логики и слой представления. 

Как написано на сайте reactjs.org, React - это библиотека для создания UI. 

А для модели и бизнес логики написано несколько других замечательных библиотек.

Так уж получилось, что проекты, на которых я работал, использовали redux. Поэтому дальше речь про него. А конкретней - про то, как построить бизнес логику в большом react/redux приложении, чтобы потом не закрывать рукой глаза при виде того огромного количества редюсеров, экшенов и так далее и тому подобное.

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Комментарии 38

Акторы Swift под капотом

Время на прочтение 10 мин
Количество просмотров 9.2K
Блог компании OTUS Разработка под iOS *Swift *
Перевод

Акторы (Actors) — это фича, являющаяся частью структурированного параллелизма (Structured Concurrency) Swift, которая предлагает совершенно новый формат для написания и обработки асинхронного кода. Хотя они и являются чем-то инновационным для языка Swift, сама технология новой не является. Многие языки успели обзавестись поддержкой акторов и async/await раньше, чем Swift, но что интересно, так то, что везде они реализованы одинаково. Только-только получив этот функционал в Swift, мы уже можем многому научиться на опыте разработчиков, использовавших их в других языках.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 3

AppCode 2021.3: акторы, редактор plist-файлов, улучшенная поддержка документации и многое другое

Время на прочтение 2 мин
Количество просмотров 2.5K
Блог компании JetBrains Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *

Всем привет! 

Вышел AppCode 2021.3, а значит, пора о нем рассказать. 

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 14