LINUX.ORG.RU
ФорумTalks

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

 , , ,


0

1

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


Ответ на: комментарий от KivApple

Спорно, что этор проблемы IDE. SFC от редакторов требует совершенно нового режима: рассматривать каждую секцию компонента как отдельный файл соответствующим расширением. Тогда секция с typescript или pug будет обрабатываться уже существующими аддонами, словно это отдельный файл. И не понадобится городить новые инструменты навроде vetur. Может когда-нибудь это станет такой же обыденностью, как сейчас поддержка JSX.

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)
Ответ на: комментарий от makoven

Ну вообще то это не является для IDE чем-то новым. В HTML точно также встраиваются CSS и HTML и все нормальные IDE это отлично умеют.

KivApple ★★★★★
()

Реактивное программирование - это парадигма программирования, ориентированная на работу с асинхронными потоками данных.

Только и всего.

Не скажу за JS, а в Java я использую RxJava 2.

Вызываю из серверной части (реализации сервиса GWT).

Переводная книжка по RxJava устарела - там про версию 1.x.

https://www.litres.ru/ben-kristensen/reaktivnoe-programmirovanie-s-primenenie...

(Легально - вводная часть - https://dmkpress.com/files/PDF/978-5-97060-496-0.pdf)

-------

Посмотрите вот это.

https://www.youtube.com/watch?time_continue=2309&v=-MBPQ7NIL_Y

-------

Собственно, спросить интервьютор имеет право - количество вакансий меньше, чем количество соискателей - айтишников стало много, очень много...

Без корпоративного серьезного портфолио программисты мало где нужны.

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 2)
Ответ на: комментарий от makoven

В защиту Webstorm скажу, что поддержка Vue там на хорошем уровне, на сложных проектах есть затупки, но минимальные, в основном с малозначительными фичами, на простых проектах вообще шоколад. Также есть поддержка unit testирования jest (мы используем с Vue).

menangen ★★★★★
()
Ответ на: комментарий от KivApple

В HTML точно также встраиваются CSS и js

Вот только никто не торопится писать на нормальных css и js. Хипстерам подавай typescript, flow, next_cool_js_alternative прям внутри компонента. А вскоре они захотят новые секкции, например для JSON-schema. Кроме того, SFC это не только vue: на горизонте маячит svelte. Определенно нужна концепция секционного файла, и желательно не только в одной платной IDE. В общем, Vue задал сомнительный тренд

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

Тут, по-моему, вообще какой-то BEM для стилей: https://github.com/ElemeFE/element/blob/1ea66bdfe413c4c03dc4dce33858f156911fc...

все нормальные IDE

Каментами выше мы выяснили, что IDE только одна:) Насчет «отлично» - под вопросом. В vscode внутри html-файла автоформат работает только для html. js и css остаются нетронутые

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 4)
Ответ на: комментарий от makoven

Каментами выше мы выяснили, что IDE только одна )

Ну конкретно js/css внутри html поддерживает даже kwrite (синтаксис подсвечивает, больше ничего он не умеет в любом случае). И я думаю ещё много что.

Я просто хотел сказать, что концепция «внутрь исходника на одном языке разметки/программирования внедрён кусок на другом» не нова и ей уже много лет. Просто не все ещё понимают, что такое бывает не только с обычным HTML. Но раз поддержку последнего сделали, значит механизмы есть и много работы для поддержки делать не нужно.

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

концепция «внутрь исходника на одном языке разметки/программирования внедрён кусок на другом» не нова

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

За webstorm я рад, что он всё поддерживает

makoven ★★★★★
()
Ответ на: комментарий от Bioreactor

Реактивное программирование - это парадигма программирования, ориентированная на работу с асинхронными потоками данных.

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

bread
()
Ответ на: комментарий от bread

Я провожу собеседование.

И я прошу рассказать мне с диаграммой и примером кода про шаблон GoF Observer.

А также привести мне несложный пример кода с RxJava типа

import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;

// rxjava-2.1.14.jar
// reactive-streams-1.0.2.jar

public class TestRx {
    
    public static void main(String[] args) {
        
        Observable.fromArray(new String[] { "Lotor", "Cancrivorus", "Pygmaeus", "Minor" })
                  .subscribe(new Observer<String>() {
            
            @Override
            public void onSubscribe(Disposable disp) {
                System.out.println("Procyons, выпускаем (emit) вас по порядку:");
            }
            
            @Override
            public void onNext(String s) {
                System.out.printf(" %s\n", s);
            }
            
            @Override
            public void onComplete() {
                System.out.println("Молодцы, Raccoons.");
            }
            
            @Override
            public void onError(Throwable thrw) {
                System.err.println("Тыдыщь!!! \"Что-то пошло не так...\"(С)");
            }
        });
    }
}

Bioreactor ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.