Базовая интеграция с redux-devtools есть в этом пакете. Правда в большинстве случаев хватает обычного логгера, который вместо [Proxy, Proxy] полноценно форматирует объекты. Такая функция в пакете выше тоже есть.
Второй момент - в опциях для makeAutoObservable/makeObservable, которые вторым параметром, нельзя упоминать то, что в классе помечено как private/protected.
Можно если передать в дженерик поля, которых не видно: makeAutoObservable<'a' | 'b'>(this, { a: false, b: false })
Это какие-то устаревшие представления. Без декораторов и классов Mobx можно было использовать ещё в 2020-м: https://michel.codes/blogs/mobx6
2 стора подружить проще простого если они синглтоны - просто импортируйте один стор внутри другого. Если нельзя синглтоны из-за SSR, то решается через общий контекст. Делается 1 раз за время жизни проекта, не вижу сложностей.
Этих библиотек для исправления реакта написали уже тысячи, они стабильно устаревают и через пару лет вы получите легаси написанный на некогда модных технологиях. Это уже множество раз проходили с recompose, immutable.js и redux-ducks. Не надо гнаться за всем новым и непроверенным, у библиотеки 134 загрузки в неделю.
А что мешает добавлять слова с примерами предложений в словарь? Есть многозначность - добавляем несколько примеров предложений или несколько переводов. Слова в виде карточек потом можно повторять с помощью интервального повторения. Я, наверное как и большинство людей, не могу запомнить слово с одного раза, а потом вспомнить через несколько лет в самом неожиданном месте. Зато когда внедрил интервальное повторение слов на постоянной основе - сразу стал встречать их же в сериалах на английском, книгах и песнях.
Верно, Anki - самый популярный способ для интервального повторения, рекомендую каждому попробовать. Примечательно, что автор статьи по ссылке столкнулся с теми же проблемами что и я: - Много нужного функционала доступна только через плагины. Плагины работают только на десктопе - Перегруженный интерфейс (Например, 4 кнопки вместо 2-х "знаю", "не знаю")
Есть цель сделать импорт колод из Anki, там внутри SQLite БД. У меня самого множество колод осталось там и нужен способ их оттуда перенести. Главное - при импорте учесть уровень знания карточек, чтобы не пришлось проходить колоду заново.
Верно. В рамках данного бота эта проблема пока не решена, но в будущем возможны такие улучшения: - большая коллекция проверенных колод на выбор - возможность быстро добавлять карточки через браузерное расширение - подключить словари, например Oxford English Dictionary, либо API Google Translate - подключить ChatGPT, чтобы просить его "Сгенерируй 100 карточек на неправильные глаголы" или "Сгенерируй колоду с числами на турецком"
Я пробовал разные варианты: - localtunnel. Не подошёл, так как даёт нестабильные доменные имена и периодически показывает сообщение о том, что это страница использует localtunnel: https://github.com/localtunnel/localtunnel/issues/366 - serveo.net. Не подошёл, так как даёт нестабильные доменные имена - ngrok. Отлично подошёл. После регистрации даёт 1 бесплатное стабильное доменное имя, которого достаточно чтобы выставлять апи и фронтенд наружу. Тут пришлось чуть схитрить - настроить прокси сервер на стороне сборщика фронта чтобы https://ngrok-domain.com вёл на фронтенд, а https://ngrok-domain.com/api вёл на локально развёрнутое апи. В противном случае нужны были бы 2 домена ngrok, а бесплатный только 1.
В результате для разработки достаточно запустить апи и фронтенд локально и через отдельный бот их тестировать. Этот бот всегда смотрит на стабильный URL, предоставленный ngrok'ом.
Например Nginx умеет как генерировать gzip налету, так и отдавать уже сжатые файлы, что предотвращает лишнюю работу по сжатию. Для этого нужно придерживаться конвенции index.js -> index.js.gz и использовать директиву gzip_static on внутри конфига Nginx: https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html
На серверах в версии Nginx для Ubuntu этот модуль обычно уже включён.
У нас например используется Mobx, но из-за библиотеки выше ещё устанавливается и Redux. Таких проектов может быт много. Более того, количество установок != количеству пользователей. Одна и та же библиотека может устанавливаться на CI сотни раз в день в зависимости от размера контрибьюторов в проект, настроен ли кеш.
Проблема конспирологических теорий в том, что их сложно либо невозможно опровергнуть. Вот вы утверждаете, что если продукт бесплатный, то продукт это пользователь. Но в телеграме есть реклама в каналах, а также предложения оплатить премиум. Однако тут можно пойти ещё дальше и сказать, что они специально добавили рекламу для создания видимость прибыли, а на самом деле сливают данные. И это никак не опровергнуть! Потому что это догадка. Так же как и другие догадки из статьи вроде "больше количество обновлений - больше шансов разработчикам добавить бекдор" и "если государство не смогло полностью заблокировать мессенджер - оно тем самым специально загоняет туда людей".
Вы предлагаете банить людей за их политическую позицию?
Телега ещё почти не банит рекламу крипты и разного рода NSFW. Говорю как админ IT-чата с 500+ человек, даже встроенный агрессивный антиспам не помогает. А кремлеботов можно натравить на любой мессенджер. Так что пока всё на уровне догадок и домыслов.
То есть я правильно понял последовательность статьи - сначала генерим дизайн через Midjourney (cмотрите какие картинки!), генерим текст через ChatGPT (смотрите как всё за нас написали!), а дальше ничего, всё равно идём пользоваться конструкторами? Потому что нельзя объяснить ChatGPT "сделай вёрстку по этой картинке-шаблону". Ну и сайты бывают разные - в статье затронуты только лендинги. А как же интерактивные порталы, хотя бы с базой данных?
$mol навсегда останется маргинальной технологией, код-стайл которого заставляет ужасаться любого JS-разработчика, ранее не имевшего дела с таким способом написания кода. А "@ $mol_action" вообще выглядит как способ заглушать ошибки в PHP: https://www.php.net/manual/en/language.operators.errorcontrol.php
Конечно в случае если разработчики фреймворка не перестанут упрямствовать и не перейдут на общепринятый в экосистеме код стайл.
Не проще PHPStan настроить построже чтобы он заставлял обрабатывать nullable значения? Это предотвратит исключения и не повысит порог входа надуманными абстракциями.
Те пользователи твиттера, что указаны в посте, выглядят как раздуватели инфоповодов. После новостей вида "ИИ cгенерировал сайт" хочется сразу узнать, а что за сайт, сайт функционирует, доступен для использования или только исходные коды доступны? Это как в шутке - по новостям передают, что какой-то алкоголик убил половину деревни. Однако в той деревне жили всего два человека, и он убил своего собутыльника.
Базовая интеграция с redux-devtools есть в этом пакете. Правда в большинстве случаев хватает обычного логгера, который вместо [Proxy, Proxy] полноценно форматирует объекты. Такая функция в пакете выше тоже есть.
Можно если передать в дженерик поля, которых не видно: makeAutoObservable<'a' | 'b'>(this, { a: false, b: false })
Это какие-то устаревшие представления. Без декораторов и классов Mobx можно было использовать ещё в 2020-м: https://michel.codes/blogs/mobx6
2 стора подружить проще простого если они синглтоны - просто импортируйте один стор внутри другого. Если нельзя синглтоны из-за SSR, то решается через общий контекст. Делается 1 раз за время жизни проекта, не вижу сложностей.
autorun/reaction вообще рекомендуется избегать: https://mobx.js.org/reactions.html#use-reactions-sparingly
Этих библиотек для исправления реакта написали уже тысячи, они стабильно устаревают и через пару лет вы получите легаси написанный на некогда модных технологиях. Это уже множество раз проходили с recompose, immutable.js и redux-ducks. Не надо гнаться за всем новым и непроверенным, у библиотеки 134 загрузки в неделю.
А что мешает добавлять слова с примерами предложений в словарь? Есть многозначность - добавляем несколько примеров предложений или несколько переводов. Слова в виде карточек потом можно повторять с помощью интервального повторения. Я, наверное как и большинство людей, не могу запомнить слово с одного раза, а потом вспомнить через несколько лет в самом неожиданном месте. Зато когда внедрил интервальное повторение слов на постоянной основе - сразу стал встречать их же в сериалах на английском, книгах и песнях.
Благодарю! Да, можно использовать контактную информацию или ЛС хабра.
Верно, Anki - самый популярный способ для интервального повторения, рекомендую каждому попробовать. Примечательно, что автор статьи по ссылке столкнулся с теми же проблемами что и я:
- Много нужного функционала доступна только через плагины. Плагины работают только на десктопе
- Перегруженный интерфейс (Например, 4 кнопки вместо 2-х "знаю", "не знаю")
И даже в какой-то момент он написал своё решение: https://habr.com/ru/articles/570504/
Есть цель сделать импорт колод из Anki, там внутри SQLite БД. У меня самого множество колод осталось там и нужен способ их оттуда перенести. Главное - при импорте учесть уровень знания карточек, чтобы не пришлось проходить колоду заново.
Верно. В рамках данного бота эта проблема пока не решена, но в будущем возможны такие улучшения:
- большая коллекция проверенных колод на выбор
- возможность быстро добавлять карточки через браузерное расширение
- подключить словари, например Oxford English Dictionary, либо API Google Translate
- подключить ChatGPT, чтобы просить его "Сгенерируй 100 карточек на неправильные глаголы" или "Сгенерируй колоду с числами на турецком"
Спасибо!
Я пробовал разные варианты:
- localtunnel. Не подошёл, так как даёт нестабильные доменные имена и периодически показывает сообщение о том, что это страница использует localtunnel: https://github.com/localtunnel/localtunnel/issues/366
- serveo.net. Не подошёл, так как даёт нестабильные доменные имена
- ngrok. Отлично подошёл. После регистрации даёт 1 бесплатное стабильное доменное имя, которого достаточно чтобы выставлять апи и фронтенд наружу. Тут пришлось чуть схитрить - настроить прокси сервер на стороне сборщика фронта чтобы
https://ngrok-domain.com
вёл на фронтенд, аhttps://ngrok-domain.com/api
вёл на локально развёрнутое апи. В противном случае нужны были бы 2 домена ngrok, а бесплатный только 1.В результате для разработки достаточно запустить апи и фронтенд локально и через отдельный бот их тестировать. Этот бот всегда смотрит на стабильный URL, предоставленный ngrok'ом.
Например Nginx умеет как генерировать gzip налету, так и отдавать уже сжатые файлы, что предотвращает лишнюю работу по сжатию. Для этого нужно придерживаться конвенции
index.js
->index.js.gz
и использовать директивуgzip_static on
внутри конфига Nginx: https://nginx.org/en/docs/http/ngx_http_gzip_static_module.htmlНа серверах в версии Nginx для Ubuntu этот модуль обычно уже включён.
Из этих 7 000 000 людей в неделю как минимум полтора миллиона приходится на библиотеку react-beautiful-dnd: https://www.npmjs.com/package/react-beautiful-dnd
У нас например используется Mobx, но из-за библиотеки выше ещё устанавливается и Redux. Таких проектов может быт много. Более того, количество установок != количеству пользователей. Одна и та же библиотека может устанавливаться на CI сотни раз в день в зависимости от размера контрибьюторов в проект, настроен ли кеш.
Проблема конспирологических теорий в том, что их сложно либо невозможно опровергнуть. Вот вы утверждаете, что если продукт бесплатный, то продукт это пользователь. Но в телеграме есть реклама в каналах, а также предложения оплатить премиум. Однако тут можно пойти ещё дальше и сказать, что они специально добавили рекламу для создания видимость прибыли, а на самом деле сливают данные. И это никак не опровергнуть! Потому что это догадка. Так же как и другие догадки из статьи вроде "больше количество обновлений - больше шансов разработчикам добавить бекдор" и "если государство не смогло полностью заблокировать мессенджер - оно тем самым специально загоняет туда людей".
Вы предлагаете банить людей за их политическую позицию?
Телега ещё почти не банит рекламу крипты и разного рода NSFW. Говорю как админ IT-чата с 500+ человек, даже встроенный агрессивный антиспам не помогает. А кремлеботов можно натравить на любой мессенджер. Так что пока всё на уровне догадок и домыслов.
Вы нашли серьёзную уязвимость. Однако эта уязвимость в веб-клиенте, который разрабатывает 1 человек: https://github.com/Ajaxy/telegram-tt/commit/a8d025395bc0032d964c2afc8c4fb5d2fa631a44
Думаю поэтому вознаграждение оказалось ниже ожидаемого. Надеюсь эта ситуация подтолкнёт команду Телеграм тщательнее проверять их код на уязвимости.
То есть я правильно понял последовательность статьи - сначала генерим дизайн через Midjourney (cмотрите какие картинки!), генерим текст через ChatGPT (смотрите как всё за нас написали!), а дальше ничего, всё равно идём пользоваться конструкторами? Потому что нельзя объяснить ChatGPT "сделай вёрстку по этой картинке-шаблону". Ну и сайты бывают разные - в статье затронуты только лендинги. А как же интерактивные порталы, хотя бы с базой данных?
$mol навсегда останется маргинальной технологией, код-стайл которого заставляет ужасаться любого JS-разработчика, ранее не имевшего дела с таким способом написания кода. А "@ $mol_action" вообще выглядит как способ заглушать ошибки в PHP: https://www.php.net/manual/en/language.operators.errorcontrol.php
Конечно в случае если разработчики фреймворка не перестанут упрямствовать и не перейдут на общепринятый в экосистеме код стайл.
Не проще PHPStan настроить построже чтобы он заставлял обрабатывать nullable значения? Это предотвратит исключения и не повысит порог входа надуманными абстракциями.
Те пользователи твиттера, что указаны в посте, выглядят как раздуватели инфоповодов.
После новостей вида "ИИ cгенерировал сайт" хочется сразу узнать, а что за сайт, сайт функционирует, доступен для использования или только исходные коды доступны? Это как в шутке - по новостям передают, что какой-то алкоголик убил половину деревни. Однако в той деревне жили всего два человека, и он убил своего собутыльника.
Эта инструкция (особенно последний сниппет) выглядит похоже на инструкцию "Как рисовать сову".