All streams
Search
Write a publication
Pull to refresh
11
0
Артем Березин @KhodeN

Веб-разработчик

Send message

Кажется, вы боретесь с проблемой, которой нет. Собрать бандл на любом фреймворке (React, Preact, Vue, Svelte) и интегрировать его в любой сайт нет никакой сложности.


На реакте вполне можно писать без JSX, и не нужно будет тащить babel в рантайм.


Рекомендую приглядется к Svelte, он для написание разных виджетов и частей страниц очень неплохо подходит (за счет почти отсутствия рантайма)

Пожалуй, VS Code, одно из немногих, если не единственное, хорошо написанное на электроне, быстрое приложение.
Я думаю, тут сравнивают, скорее, с idea, который все еще остаётся весьма прожорливым.

Я перебежчик из мира ng, некоторые концепции крепко засели в голове.

Я не силён в rx, но может вот так сработает?

Хороший вариант.

dismounted это Subject из RxJs, при закрытии которого произойдет автоматическая отписка. А закрывается он внутри кастомного хука useDismounted автоматически при размонтировании компонента.


Приемущество моего подхода с useDismounted в том, что он позволит отписаться от всех Observables разом, не отписываясь отдельно от каждого.

Да, rxjs удобен, позволяет делать куда больше и гибче, чем промисы или async-await. По крайней мере на мой взгляд)
Например — отменять запросы.

Хм, да, тогда у меня будет что-то типа (это, кстати, приводит к отмене запроса через AbortController):


const dismounted = useDismounted();
const loadRef = useRef();

useEffect(() => {
   if (loadRef.current) {
      loadRef.current.unsubscribe();
   }
   loadRef.current = entitiesApi.getById(entityId)
      .pipe(takeUntil(dismounted))
      .subscribe(setData);
}, [entityId])

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

Декораторы еще даже не JS, это экспериментальный синтаксис, хоть и с большой перспективой войти в стандарт. И да, примеры все-таки на чистом React.

Тут все-таки иллюстрируется другая проблема. Зачем усложнять код в примере?


В боевом коде будет что-то типа:


const dismounted = useDismounted();

useEffect(() => {
  entitiesApi.getById(entityId)
    .pipe(takeUntil(dismounted))
    .subscribe(setData, toasts.handleApiError('Entity load'));
}, [entityId])
Скажите, пожалуйста, как происходит подготовка GCODE для резака: какой-нибудь плагин к Inkscape или внешняя программа?
Начните со встроенной в Chrome вкладки Audits (там Google Lighthouse)
Можно попросить «Алиса, включи bluetooth». А затем подключиться, как к обычной колонке с телефона или еще чего-нибудь. У меня она выступает в качестве колонки для приставки от xiaomi + монитор.
Государство в лице Сбербанка хотело выкупить долю Воложа.

Просто слухи, которые не были подтверждены ни одной из сторон.

Яндекс потерял в цене 1 млрд. долларов

И… ничего не изменилось. Курс акций сейчас восстановился с лихвой.

Акции Воложа вкупе с акциями Сбера позволят быть владельцем контрольного пакета акций.

Насколько мне известно, Сбер владеет значительным числом акций Яндекс.Денег, а не основного Яндекса.

С чего бы еще Яндексу сотрудничать со Сбербанком

Сбербанк был выбран в качестве держателя «золотой акции» как прогосударственная стабильная компания никак не конкурирующая с Яндексом. И это было очень давно, перед выходом на IPO. Сбербанк неплохо так вкладывается деньгами в совместные проекты, почему бы и не поучаствовать?
Когда это Яндекс стал государственным? Если речь о «золотой акции» у Сбербанка, то это распространенная практика. Она лишь накладывает право вето на любые сделки, в результате которых контрольный пакет сменит владельца.
Вместо описание весьма спорных, не входящих в стандарт, возможностей языка, я бы чуть больше рассказал о хуках. Вот где действительно «современный» React.

nympy это не python, а библиотека. Напишите на чистом python, и сравните с реализацией на js. Алгоритмически выйдет одно и то же.
Ну и вообще, 100% есть какая-нибудь либа на js для этого)
Ну, сам язык ни разу ни асинхронный. На нём вполне можно писать синхронно.

Просто для тех задач, где он используется (UI, обработка веб-запросов в Node.js) асинхронность — это необходимость.
Тогда Вас, пожалуй, заинтересуют и такие шахматы в 1кБ на JS: js1k.com/2010-first/details/750

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity