Сова пишет… – Telegram
Сова пишет…
3.13K subscribers
345 photos
37 videos
5 files
416 links
Frontend Senior Fullstack Backend Lead и прочие слова.
Изучаю самые современные технологии.
Обучаю разработчиков как стать сильнее — https://frontend.vision.

По коллаборациям и сотрудничеству пишите в сообщения канала!
Download Telegram
Default Exports in JavaScript Modules Are Terrible

Ещё одна статья, в которой рассказывается, почему не стоит использовать export default.

В кратце:
- Автокомплит не подсказывает, что у модуля есть export default, если вы начали делать импорт через { }
- То, что экспортируется через export default может быть импортировано под любым именем. Это создает сразу несколько проблем: возможность криво назвать, то что импортируется; возможность назвать по-разному одну и ту же сущность в разных файлах; возможность неконсистентного именования при импортах из пакетов

Если вам нужен аргумент против использования export default в своих проектах - посмотрите эту статью.

В целом у export default есть боле мене адекватные места для применения. Например, библиотеки. import React from 'react' - это как раз случай, когда export default не делает хуже. Хотя и с именоваными экспортами было бы нормально.

Лично я предпочитаю забанить export default в проектах на уровне линтера. Отсутствие адекватного автокомплита и возможность накосячить с именованием слишком сильно бьют по DX в проекте

https://www.lloydatkinson.net/posts/2022/default-exports-in-javanoscript-modules-are-terrible/

#development #javanoscript #modules
👍27👎5
Спасибо Amazon
👏13💩12😁3🤨1
Forwarded from Apple Media
This media is not supported in your browser
VIEW IN TELEGRAM
Блогер MyOwnClone портировал шутер 1996 года Quake 1 на Apple Watch Series 5 и поделился результатом на своём YouTube-канале.

Энтузиаст объяснил, что собрал игру поверх существующих портов для iOS и Mac со множеством настроек, чтобы заставить её работать на watchOS. Quake работает на часах со скоростью 60 кадров в секунду с разрешением 640x480.

Порт Quake для Apple Watch можно скачать на Github, а дополнительная информация о процессе установки доступна на YouTube-канале MyOwnClone. 

Стоит отметить, что для запуска игры на Apple Watch потребуется компиляция кода с помощью Mac, Xcode и файлов Quake.
👍51
Пишу статью про Fork API:
Да, что это такое

Copilot продолжает:
Да, что это такое Fork API? Это API, которое позволяет вам создавать копии вашего приложения, которые могут быть использованы для тестирования или для создания серверного рендеринга. Это очень полезно, но есть еще один способ использования Fork API, который я хотел бы поделиться с вами.
😁17👍10
Для чего еще полезно fork API в effector

Когда заходит разговор о применении fork API, обычно вспоминают серверный рендеринг и тестирование логики. В этой статье спешу рассказать и показать более широкий спектр возможных применений этого API.

https://sova.dev/ru/unusual-use-of-fork-api/
🔥13👍3
Сова пишет… pinned «Для чего еще полезно fork API в effector Когда заходит разговор о применении fork API, обычно вспоминают серверный рендеринг и тестирование логики. В этой статье спешу рассказать и показать более широкий спектр возможных применений этого API. https://so…»
Подкаст про архитектуру фронтенда

https://podlodka.io/286
🔥24🤔2🍾1🖕1😈1
Если вдруг вы переживаете, что Adobe купил Figma и теперь все накроется обязательной подпиской.

То можете перейти на свободную альтернативу — https://penpot.app/
😁6🤔6👍5
Идеальная форма регистрации
😁27👍19💩4❤‍🔥22
О, а я как раз в запасе…
😢36👍6😐6😱5🕊5
Forwarded from Atomic Router
В крупном апдейте 0.7.1 для Atomic Router появилось два новых метода - createRouterControls и querySync

Поскольку роутер создаётся на уровне инициализации приложения (в случае с FSD - app), то ранее необходимость вызвать router.back/forward приводила к появлению кросс-импортов.

createRouterControls создаёт внешний стор $query и события back/forward, которые можно опционально прокинуть в роутер и использовать в приложении без нарушений.

Бонусом к этому идёт оператор querySync, который позволяет удобно синхронизировать query c другими сторами.
- Оператор может работать как глобально, так и для конкретного роута
- Также можно указать clock, чтобы обновлять query по определённому событию
- А с помощью параметра cleanup можно настроить удаление пустых/нерелевантных параметров

Более подробно можно ознакомиться в документации методов createRouterControls и querySync, а так же на странице примера Query Params Sync
🔥9👍4
Уже через 4 дня у меня день рождения.
Как вообще можно праздновать в такое время?
А с другой стороны я не отмечал ДР уже года 3.
25👍2🔥2
Уже неделю собираю новую версию sova.dev на статическом генераторе сайтов https://astro.build/

Хочу сказать, что это лучший генератор, который я когда-либо видел. До этого, по гибкости был GatsbyJS. Но к сожалению он довольно часто ломается.

Собрать наипростейший блог, визитку или даже статическую CMS на Astro — это затея для нескольких неспешных вечеров. На удивление, я даже не использую React и ему подобные библиотеки/фреймворки.
🔥21👍21
Forwarded from pub ThisWeekInRust {}
Crate of the week: humansize

This week's crate is humansize, a size formatting crate. Now in version 2.0, with an updated API.
В экосистеме JS есть нормальный форматтер?
Я нашел только странноватый pretty-bytes, которые не позволяет выбрать kibibyte или kilobyte, всегда печатает в 10-base
Мне наконец-то приехал еще один набор свичей для Keychron K3.
Дам ей еще один шанс
🔥3👍1
Если в гости пришел он, что делать?) как правильно приветствовать?
🤯13😁3😱3🔥2