И здесь shallowCompare вторым аргументом уже не работает.
Это в редаксе+реакте, на самом деле жутко раздражает. Нужна мемоизация либо внутри селектора, либо мемоизировать циклы рендера. Тогда как mobx этой проблемы не имеет вовсе.
Вот действительно, читал-читал статью, а потом такое.
Декораторы — это вообще синтаксический сахар, а не функционал.
А Proxy..., ну еще один инструмент языка.
Видимо, это из той же серии, что с "Мы, в Реакт, переходим на фунциональные компоненты, потому что классы — это слишком сложно".
In addition to making code reuse and code organization more difficult, we’ve found that classes can be a large barrier to learning React. You have to understand how this works in JavaScript, which is very different from how it works in most languages.
А кто знает как отключить всплывающие уведомления (как Хамелеон) на Билайне?
Причем они появляются только на Андроиде (Samsung S7), тогда как айфон их игнорирует.
Я уже случайно (машинально, нативное окно появилось сразу после сигнала от мозга к пальцу) нажал "ок" на всплывающем баннере, который мне тут же подписал на какую-то левую подписку. Благо, отключить ее я смог тут же.
Имеется ввиду, что новичку будут копипастить. И поэтому лучше в образовательных статьях писать либо дисклеймер (код без useCallback, того, сего, для читаемости), либо писать более-менее продакшн код.
Про useCallback, например, ситуация не всегда однозначная. Но если речь про переиспользуемые компоненты, то, наверное, всегда его надо пихать.
Я улыбаюсь на заявления людей, что с какой-то "прибамбасиной" или тюнингом у них быстрее набирается код пишется программа.
Можно ли считать Hot Module Replacement во фронтенде "прибамбасиной"? Я думаю да.
Однако с ней код пишется гораздо быстрее, ввиду мгновенной проверки небольших гипотез (в том числе и тех, которые увидишь только глазами: например, анимация).
Конечно, можно "сначала думать", но тогда есть риск, что на решение пары задач уйдет довольно много времени, как на очередном беспощадном интервью в Яндекс
Статья хорошая в ресерче, однако вредная в выводах.
Еще хуже то, что автор оперируя пикселями на самом деле оперирует такими же фиктивными единицами измерения, как и остальные пункты.
Современные системы умеют и в метрическую систему тоже.
А еще, размер шрифта в браузере по умолчанию привязан к размеру шрифта ОС. Который в свою очередь также настраивается (например, режим 125% в виндоус).
В общем, тема запутанная, а статья запутывает еще больше.
Я перепробовал разные системы, в том числе self-hosted как Strapi.
Например, сервис Contentful не вызывает вопросов с точки зрения выдачи прав доступа для менеджеров по контенту.
Представим интернет-магазин, не будут же менеджеры по контенту устанавливать Nodejs и писать команды в терминале)
Сотрудникам необходимо выдать URL и логин/пароль на худой конец.
Вот и хочется понять, как вы решили (решали ли) эти проблемы)
Например, если подразумевается, что в бакете могут храниться некоторые приватные данные, показывать или нет которые решает уже сервер. У самого сервера полные права на бакет. Или же, делаем приватный бакет и публичный бакет (или пермишшены раздаем определенным директориям, если возможно).
А как выглядит процесс добавления новой записи и/или изображения в Strapi? И применение (деплой) изменений?
Нужно поднять локально Strapi и подключить к бакету, или же Strapi поднимается на том же бакете, но как тогда обстоят дела с авторизацией?
Конечно же в Strapi есть готовый Rest API для записи файлов в Media Library.
А как используется это на практике из бакета Яндекс-Облака? Как выглядит URL?
Можно ли сделать так, чтобы бакет не был доступен публично, только определенному серверу?
Правильно ли я понимаю, что админка Strapi может быть открыта публично или же бакет используется исключительно как бекап, а вся работа подразумевает запуск локально?
В современном мире, даже минифицированные js-файлы для крупных проектов будут отличаться по своему содержанию. Наличием полифиллов или альтернативных решений.
А еще можно поддерживать React Native, скажем. Там свои нюансы и возможности.
Так что, своим комментарием сами же себя и опровергли
Вот пример, где селектор возвращает простую, но структурированную информацию о пользователе:
И здесь
shallowCompare
вторым аргументом уже не работает.Это в редаксе+реакте, на самом деле жутко раздражает. Нужна мемоизация либо внутри селектора, либо мемоизировать циклы рендера. Тогда как mobx этой проблемы не имеет вовсе.
Вот действительно, читал-читал статью, а потом такое.
Декораторы — это вообще синтаксический сахар, а не функционал.
А Proxy..., ну еще один инструмент языка.
Видимо, это из той же серии, что с "Мы, в Реакт, переходим на фунциональные компоненты, потому что классы — это слишком сложно".
А кто знает как отключить всплывающие уведомления (как Хамелеон) на Билайне?
Причем они появляются только на Андроиде (Samsung S7), тогда как айфон их игнорирует.
Я уже случайно (машинально, нативное окно появилось сразу после сигнала от мозга к пальцу) нажал "ок" на всплывающем баннере, который мне тут же подписал на какую-то левую подписку. Благо, отключить ее я смог тут же.
Здесь хуки как раз хорошо работают. Когда идет речь про переиспользуемость логики, а не представления.
render-props
здесь делает ровно то же самое.Разный "синтаксис" для решения той же самой проблемы.
Имеется ввиду, что новичку будут копипастить. И поэтому лучше в образовательных статьях писать либо дисклеймер (код без useCallback, того, сего, для читаемости), либо писать более-менее продакшн код.
Про
useCallback
, например, ситуация не всегда однозначная. Но если речь про переиспользуемые компоненты, то, наверное, всегда его надо пихать.Осторожнее с такими заголовками, как бы плашку НЛО не пришлось бы добавлять. (упс, уже поздно).
На самом деле, мощь CSS Grid в текущем состоянии не раскрыта и не распробована многими разработчиками. Побольше бы таких статей.
Ну, скажем так, со стороны наблюдателя ваши тезисы ничем не подкреплены, в отличие от статьи.
Пишете опровержение, подкрепляйте источниками.
Ну, скажем так, такой код в реальных приложениях никогда не встречается. Разве что в библиотеках или каких-то сервисных слоях.
Неужели вам нравятся надоедливые попапы "установите наше приложение" вместо обычного просмотра сайта? Или обрезанная мобильная версия, и обязательная процедура открыть гуглплей/аппстор, установить, заново залогиниться, и так делее?
А все почему никто не делает только PWA, потому бизнесу важны функционал и интеграция, а эпплу важен аппстор, где можно % брать, а с PWA не возьмешь.
Можно ли считать Hot Module Replacement во фронтенде "прибамбасиной"? Я думаю да.
Однако с ней код пишется гораздо быстрее, ввиду мгновенной проверки небольших гипотез (в том числе и тех, которые увидишь только глазами: например, анимация).
Конечно, можно "сначала думать", но тогда есть риск, что на решение пары задач уйдет довольно много времени, как на очередном беспощадном интервью в Яндекс
Хм… а вы чертовски правы!
Статья хорошая в ресерче, однако вредная в выводах.
Еще хуже то, что автор оперируя пикселями на самом деле оперирует такими же фиктивными единицами измерения, как и остальные пункты.
Современные системы умеют и в метрическую систему тоже.
А еще, размер шрифта в браузере по умолчанию привязан к размеру шрифта ОС. Который в свою очередь также настраивается (например, режим 125% в виндоус).
В общем, тема запутанная, а статья запутывает еще больше.
Спасибо большое за комментарий)
Я перепробовал разные системы, в том числе self-hosted как Strapi.
Например, сервис Contentful не вызывает вопросов с точки зрения выдачи прав доступа для менеджеров по контенту.
Представим интернет-магазин, не будут же менеджеры по контенту устанавливать Nodejs и писать команды в терминале)
Сотрудникам необходимо выдать URL и логин/пароль на худой конец.
Вот и хочется понять, как вы решили (решали ли) эти проблемы)
Например, если подразумевается, что в бакете могут храниться некоторые приватные данные, показывать или нет которые решает уже сервер. У самого сервера полные права на бакет. Или же, делаем приватный бакет и публичный бакет (или пермишшены раздаем определенным директориям, если возможно).
А как выглядит процесс добавления новой записи и/или изображения в Strapi? И применение (деплой) изменений?
Нужно поднять локально Strapi и подключить к бакету, или же Strapi поднимается на том же бакете, но как тогда обстоят дела с авторизацией?
Спасибо!
А, точно. Я вначале подумал, что это название шаблона для
npx
команды. Проглядел)А как используется это на практике из бакета Яндекс-Облака? Как выглядит URL?
Можно ли сделать так, чтобы бакет не был доступен публично, только определенному серверу?
Правильно ли я понимаю, что админка Strapi может быть открыта публично или же бакет используется исключительно как бекап, а вся работа подразумевает запуск локально?
Спасибо большое за статью!
А вы являетесь maintainer'ом
strapi-yandex-cloud
?Кстати, раз вы пользуетесь Headless CMS, возможно, у вас JamStack? Как вы сервируете его на Yandex Cloud?
Оказалось, что сверху указано, что это — перевод с английского.
Очень правильная, важная и отрезвляющая статья.
А у вас нет перевода на английский?
В современном мире, даже минифицированные js-файлы для крупных проектов будут отличаться по своему содержанию. Наличием полифиллов или альтернативных решений.
А еще можно поддерживать React Native, скажем. Там свои нюансы и возможности.
Так что, своим комментарием сами же себя и опровергли