Получи случайную криптовалюту за регистрацию!

null NaN undefined

Логотип телеграм канала @wtfnullnanundefined — null NaN undefined N
Логотип телеграм канала @wtfnullnanundefined — null NaN undefined
Адрес канала: @wtfnullnanundefined
Категории: Технологии
Язык: Русский
Количество подписчиков: 80
Описание канала:

Про технологии, новости, а самое главное штаны!
Чат канала: @nullNaNundefinedChat
Библиотека всех постов за все время https://github.com/lFandoriNl/posts

Рейтинги и Отзывы

1.50

2 отзыва

Оценить канал wtfnullnanundefined и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

1


Последние сообщения

2021-04-14 22:05:13 Куда нас ведут React server components

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

Что будет, когда нам нужно будет передать наше серверное состояние в стм на клиенте? Как теперь они будут интегрироваться с нашим привычным потоком данных?

Представим ситуацию
У нас есть серверный компонент Parent, в котором идет обращение к источнику данных, эти данные после получения клиентом нужно сохранить в стм, что бы проводить над ними манипуляции

Что мне приходит на ум так это в нашем Parent рендерить клиентский компонент Child и передавать ему пропсом наши данные. Когда Child прилетит на клиент он засетит в useEffect данные в стм

Звучит рабочим вариантом, но уже чувствуется оверхед, а теперь подумаем, что нам еще надо будет как то триггерить серверный Parent, что бы обновить данные

На это можно сказать, что не нужно микроскопом забивать гвозди, но в продакшене именно так и происходит

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

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

Для наших же реалий, когда новый проект за год если не меньше превращается в дремучие легаси, страшно представить во что это может выйти.  Разрабы не хотят думать, многие велосипедят себе здесь и сейчас не думаю о будущем
Если реакт тима не предоставит решения для разных задач то нам прийдется туго, вот увидите
737 viewsedited  19:05
Открыть/Комментировать
2021-04-06 13:10:22
Расчехляйте ваши свитчи
629 views10:10
Открыть/Комментировать
2021-04-05 10:01:10 Как это быть новичком?

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

Мол да ты уже знаешь что такое переменные с функциями но из-за вредных привычек в js ты можешь дольше переучиваться на c++  (подставить любой язык)

Я не буду спорить и доказывать что какой-то из вариантов более верный. Я хочу донести о том что мы программисты с опытом уже просто не понимаем «как это быть новичком», из-за этого не понимания следуют вредные советы и некоторое недопонимания между людьми с разным опытом

Начну с того что я подразумевают в данном случае под «новичок»? Это человек у которого нету опыта, вообще нету опыта. Это очень важно понять, нужно самому стать на место такого новичка

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

И вот ты хочешь начать программировать, да еще и деньги за это получать, с чего обычно все начинают? Гуглят попадая на видео с ютуба, курсы или книги

Ну окей вот ты наткнулся на какой-то видео курс «программирования для чайников», где тебе показывают и раскатывают что мол вот смотри это переменная, а это if с циклом

Ты посмотришь на это и у тебя мысли в голове «Что это такое черт подери?». Что такое переменная? Это какая-то коробка? Что это за коробка? Где она хранится? Цикл? А это что еще такое? Повторить что-то несколько раз? Это как?

Это может показаться глупым и смешным но это все чертовски сложные вещи. Человек может смотреть на этот for и не понимать ничего две недели, а потом у него щелкнет в голове и у него сразу все стает на свои места

Код это не обычная для нашего мозга вещь, нужно сломать свое прежнее мышление что бы начать думать в стиле «Так вот тут мы объявляем переменную, вот у нас цикл, а тут мы вызываем функцию»

У кого-то этот переломный период, я бы сказал самый важный период в карьере разработчика может длиться день, неделю, две, месяц. Все мы разные люди с разным усвоением чего-то не привычно нового для нас и разными мыслями

Самое важное это понять концепцию программирования и вот это вот все, а чем дальше в лес тем больше сучков тебе уже кажутся знакомыми. Потом в новых вещах ты уже будешь понимать что ага вот это тут так пишется условие, а тут цикл. Ты уже не думаешь «Что это такое»

Каждый раз когда к вам обращается новичок не стоит пытаться дать ему наиболее правильное определение чего либо. Дайте ему это так что бы он понял
554 views07:01
Открыть/Комментировать
2021-04-01 10:01:16 У меня есть одни слова от автора @ZeroBias эффектора на тему почему появился effector и какие его плюсы.

Децентрализованность, декларативность, эффективность. Требовался инструмент, позволяющий управлять данными в сложных приложениях без опасности раздуть монолитный центральный стор, с явным control flow, нормальной типизацией и емким апи.

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

Сторы должны свободно совмещаться — идея в том, что данные, которые потребуются приложению, можно распределить статически, заранее показав как данные будут преобразоваться во время работы приложения.

Принцип работы должен by design исключать необходимость в reselect, оповещая об изменениях только тех, кому они необходимы. Это позволяет не задумываться о том, что у тебя будет триггериться всё приложение если ты захочешь вынести стейт модалки из реакта. По совместительству это означает что приложения избавлены от проблем с перфомансом, возникшим у react-redux при переходе на контекст.

Возможность, место, и способ вынести любую требуемую бизнес-логику из view, максимально упрощая компоненты.

Независимость от спорных концепций — никаких декораторов, никаких зависимостей от реакта/rxjs либо необходимости юзать классы или прокси — ничего из этого не требуется для управления состоянием приложения и поэтому api библиотеки использует только функции и простые js объекты.

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

Приложение строится из комбинации базовых элементов и возможности строить новые.
Нет никакого смысла стремиться выдать всё за стрим, за редьюсер или за обсервабл, в приложении требуются они все, и библиотека предлагает решение чтобы управлять структурой данных, а не скрывать её.
1.4K views07:01
Открыть/Комментировать
2021-03-29 19:46:23
Хочу сделать постепенное погружение в эффектор. На простых искусственных примерах не хочу делать. Нужен какой-то пет проект где будет плотная работа со стором. Как вам такая идея? Если вы за то можете накидать свои варианты идеи для проекта в комментарии
Anonymous Poll
67%
Давай
16%
Редакс превыше жизни
16%
Что такое эффектор?
49 voters379 views16:46
Открыть/Комментировать
2021-03-25 10:01:20 Продолжение поста о Lockable event
В этот раз разберем на примере когда нужно игнорировать все последующие запросы пока не выполнился предыдущий

https://github.com/lFandoriNl/posts/blob/master/effector/lockable-event-usage.md
580 viewsedited  07:01
Открыть/Комментировать
2021-03-20 12:58:31 Lockable event

event - в рамках Effector это какое-то событие в системе, например нажатие кнопки пользователем

lockable это своя самописная обертка которая принимает переданное ей событие и возвращает два события lock и unlock, а так же событие target на которое можно подписаться для получения не проигнорированных событий

-------------------------

Пример использования:

const trigger = createEvent();

const [lock, unlock, target] = lockable(trigger);

target.watch(console.log);

trigger("A"); // => "A"

lock();
trigger("B"); // nothing happens
unlock();

trigger("C"); // => "C"


-------------------------

Разберем по строчно
// создаем событие trigger, которое может быть вызвано нами или юзером
const trigger = createEvent();

// передаем наше событие в обертку которая возвращает
// нам два события lock и unlock, а так же target
const [lock, unlock, target] = lockable(trigger);

// подписываемся на уведомления от target
// и вызываем наше событие попутно дергая lock или unlock

target.watch(console.log);
trigger("A"); // => "A"

lock();
trigger("B"); // nothing happens
unlock();

trigger("C"); // => "С"


-------------------------

Реализация lockable

function lockable(event) {
const lock = createEvent();
const unlock = createEvent();

const $unlocked = createStore(true)
.on(lock, () => false)
.on(unlock, () => true);

const target = guard(event, {
filter: $unlocked,
});

return [lock, unlock, target];
}


-------------------------

Разбор
1. Создаем два события для локов
2. Создаем стор который отвечает за состояние лока - $unlocked (примечание: в effector для сторов принято приписывать префикс $ чтобы стразу было понятно что мы работаем со стором)
3. Через on мы навешиваем наши события и во втором параметре функции редюсере мы обрабатываем то как наши события изменяют стор, в нашем случае мы просто меняем флаг состояния лока
4. получения именно тех событий которые прошли фильтр

В следующем посте я хочу показать как мы можешь работать с этим на практическом примере в реакте и то как мы можешь комбинировать наше полученное апи lockable с остальным апи effector

Весь код можно потыкать в репле, если что-то не совсем понятно то велком в коментарии
https://share.effector.dev/hZ40ElwJ
1.1K viewsedited  09:58
Открыть/Комментировать
2021-03-20 12:57:24 Хочу поведать о Effector
Это фреймворк агностик решение для менеджмента состояния.
Для тех кто не может сползти с иглы редакса если говорить за реакт, то вам будет очень кстати
Я буду периодически писать о красивых решениях, а главное простых решениях которые он позволяет описывать
Кратко ознакомиться можно с примерами на гитхабе
https://github.com/effector/effector
365 views09:57
Открыть/Комментировать
2021-03-20 12:06:20 Вот оно канал!
Что тут будет?
- душнина новыми технологиями
- обсуждения штанов из твиттера
- заметки о том как подгорела с чего-то жепа
310 views09:06
Открыть/Комментировать
2021-03-20 11:08:02 Channel photo updated
08:08
Открыть/Комментировать