jokerconf Joker 2018 (19.10.2018)

Реактивный хардкор: как построить свой Publisher<?>

img

C появлением Reactive-Streams спецификации к нам пришли как замечательные возможности по стандартизации реактивных библиотек, так и более широкий спектр новых хардкорных проблем. Во время доклада мы рассмотрим шаги имплементации центрального интерфейса из RS — Publisher<?> в Java. Более того, основная цель этого доклада — осознание того, как же построить ПРАВИЛЬНУЮ имплементацию данного интерфейса, как это протестировать и убедиться, что оно также работает и в других аналогичных библиотеках, таких как Project Reactor!

Комментарий Программного комитета:

Комиттер в Reactor 3, активно продвигающий стек Spring и предлагающий публике различные реактивные решения на их основе. Автор книги «Reactive Programming with Spring 5» и просто известный спикер и практикующий инженер.

Разрабатываете свою библиотеку? Решили поддерживать Reactive-Streams specification? Хотите понять, что творится под капотом у RxJava 2 или Reactor 3? Либо же вы любитель хардкора? Тогда этот доклад для вас!

Во время доклада мы затронем причины создания спецификации Reactive-Streams и сложность в работе с ней. Как первый шаг — создадим наивную реализацию интерфейсов, посмотрим, где же напортачили, как протестить корректность. Шаг за шагом мы доберемся до правды и пройдем через все испытания в разработке операторов. В результате вынесем лучшие практики в реализации таких зверей, разберем, что, как и зачем, на пальцах и убедимся, что именно так всё и работает в модерных библиотеках, таких как RxJava 2 и Reactor 3.

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