Обзор Ruby Actor (RActor) | Ruby 3.0

Как и обещал, новое видео посвящено весьма интересной фиче, появившейся в Ruby 3 - она называется RActor и позволяет гораздо более удобно писать приложения с параллельно выполняющимися задачами.
Хотя данный функционал и является экспериментальным, это серьёзный шаг вперёд, и я надеюсь, что скоро RActor доведут до ума и он будет активно использоваться в самых разных проектах Ruby.
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам: / @ilyabodrovkrukowski
Аккаунт Ethereum (ETH): 0x719C2d2bcC155c85190f20E1Cc3710F90FAFDa16
Boosty: boosty.to/bodrovis
Patreon: / bodrovis
DonationAlerts: www.donationalerts.com/r/bodr...
Документация и примеры: docs.ruby-lang.org/en/3.0.0/d...
Мой сайт: bodrovis.tech

Пікірлер: 39

  • @middaysan
    @middaysan3 жыл бұрын

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

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Благодарю, такие отзывы очень важны для понимания того, о чём вообще было бы интересно послушать! На днях будет новое видео про метапрограммирование

  • @Prohor21
    @Prohor21 Жыл бұрын

    👏🏻👏🏻👏🏻

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    Жыл бұрын

  • @andreik9268
    @andreik92683 жыл бұрын

    Супер ! Спасибо большое, подписался на канал !

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Благодарю за отзыв и постараюсь радовать контентом почаще!

  • @soulcode9941
    @soulcode99413 жыл бұрын

    Спасибо, главное не бросайте делать видосы, очень хорошо получается) Порой сложно найти хоть что-то, а тут еще и такая подача классная.

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Спасибо, новое видео по Ruby будет на днях :)

  • @TimeToRush
    @TimeToRush3 жыл бұрын

    Спасибо огромное за видео !! Хотелось бы увидеть видео по темам: RSpec & Circle CI (настройка, подключение, фишки), Rack, Actioncable, и как можно больше по метапрограммированию c часто встречающимися ситуациями... и много много много всего чего угодно по руби и рельсах в вашем авторстве !!!! Спасибо Вам за ваш труд !!!!!!

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Рад, что понравилось! Да, постараюсь рассказать эти темы, идея хорошая :)

  • @PatreevIgor
    @PatreevIgor2 жыл бұрын

    Подписка без разбору

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    :D

  • @yaroshchenko_creative
    @yaroshchenko_creative3 жыл бұрын

    Ruby!!!!!) Подписка однозначно, буду следить за вашим каналом.

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Большое спасибо! Ну, у меня и про другие технологии будет, конечно. :)

  • @user-ei7ip6nw6s
    @user-ei7ip6nw6s2 жыл бұрын

    Спасибо. все доступно.

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    На здоровье!

  • @fanystason
    @fanystason2 жыл бұрын

    Больше руби! Подхватывайте упавшее знамя!

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    Партия говорит надо - мы отвечаем есть!

  • @wotok7
    @wotok73 жыл бұрын

    класс. не ожидал на русском увидеть видосик по ractor :)

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Спасибо, подсказали вот подписчики идейку ;)

  • @user-dv1vu1om6o
    @user-dv1vu1om6o2 жыл бұрын

    отлично объяснили!

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    Спасибо!

  • @miklblitz
    @miklblitz2 жыл бұрын

    годный видос, не останавливайся

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    Ок, по Ruby ещё много чего на канале имеется ;)

  • @TheBedelbaev
    @TheBedelbaev Жыл бұрын

    К примеру, если мы ввели 12 чисел разом скажем, и создалось 12 ракторов и они обрабатываются (увеличили sleep на 5 мин), и в этот момент введем 13 число, получается 13 рактор не создастся или упадет с ошибкой? Что пройдет? Спасибо

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    Жыл бұрын

    Он должен создаться, тк всё равно ракторы совсем параллельно работать не могут, насколько я помню

  • @EdritKolotit
    @EdritKolotit2 жыл бұрын

    В пайтон есть asyncio и синтаксис async-await для сознания корутин. А что предлагает руби для асинхронности?

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    Ну, что-то типа github.com/socketry/async

  • @ongrustit
    @ongrustit3 жыл бұрын

    Это как в Go гоурутины?

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Да, в принципе. Насколько технически они похожи, правда, не скажу, так как специалистом Go себя не считаю, но, судя по документации, суть та же

  • @ongrustit

    @ongrustit

    3 жыл бұрын

    @@IlyaBodrovKrukowski извините за наглость а вы можете привести простой пример как можно сделать совместную работу ractor и методы? К приму один метод выполняет свою работу первый а второй через 3 секунды? Буду благодарен вам за пример.

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Как раз суть в том, чтобы код выполнялся параллельно. Например, есть метод, который принимает как аргумент адрес web-страницы, с которой нужно скачать картинки. Можно создать три рактора и запустить в них этот метод, передав три разных адреса web-страниц. Так три рактора будут выполняться параллельно, то и картинки с трёх страниц должны качаться параллельно. Ну, или есть метод, который читает и обрабатывает файл, и другой метод, который читает и обрабатывает web-страницу. Запускаем их в двух разных ракторах и выполняем обе задачи параллельно, а не одну за другой. Потом уже где-то дальше есть точка синхронизации, которая ждёт завершения этих задач, после чего мы что-то делаем с обработанными данными. Хотя скажу честно - работает рактор не идеально, мягко говоря. Я хотел пример с загрузкой изображений добавить в видео, но там стали вылезать весьма странные баги, поэтому пришлось отказаться. Этот функционал сырой, но, надеюсь, его доведут до ума :)

  • @ongrustit

    @ongrustit

    3 жыл бұрын

    @@IlyaBodrovKrukowski жаль что вы не привели простой пример ((( а я так хотел увидеть (((

  • @glexx9094

    @glexx9094

    10 ай бұрын

    @@IlyaBodrovKrukowski , за 2.5 года изменений нет, не следите? Тема очень интересная, а на практике пока широко не используется?

  • @vinogradova82
    @vinogradova823 жыл бұрын

    Если ракторов больше, чем ядер? Процессы плюсуются по уже готовым потокам?

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    3 жыл бұрын

    Если больше, то тогда они должны вставать в очередь на выполнение (выполняться последовательно)

  • @needforcraft
    @needforcraft2 жыл бұрын

    чем это отличается от ruby-thread? require 'thread/pool' pool = Thread.pool(4) 10.times { pool.process { sleep 2 puts 'lol' } } pool.shutdown

  • @IlyaBodrovKrukowski

    @IlyaBodrovKrukowski

    2 жыл бұрын

    В теории это должно дать большую гибкость, изолированность процессов, плюс процессы более лёгкие. Пока, однако, это только альфа-версия, которую ещё дорабатывать и дорабатывать

Келесі