Горящий фронтендер


Гео и язык канала: не указан, не указан
Категория: не указана


Погромист переднего края. Нихуя не работает! Фронтенд проклят! Мы все умрем!
Бложик: https://dskr.dev
Tg: @dskrylnikov
Канал с фоточками: @dskr_pic
Тви: https://twitter.com/dskr_dev

Связанные каналы

Гео и язык канала
не указан, не указан
Категория
не указана
Статистика
Фильтр публикаций


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

npm warn deprecated mobx-react-lite@4.0.1: Broken with React 18.2 + Strict Mode, please stick to 3.*

UPD: судя по чейнджлогу оно вроде бы уже пофикшено, но у меня всё риавно не работает, ладно, обновлю как-нибудь в другой раз, а пока останусь на предыдущем мажоре

UPD v2: нашел настоящую причину! Версия не оч важна, просто почему-то в проклятом mobx сломался makeAutoObservable. Мне даже название этой штуки не нравится. Но если руками декораторы навесить, то всё отлично работает. Но лезть в древний код и навешивать декораторы лениво, да ещё и точно где-нибудь накосячу и что-нибудь отвалится(


Просто совет. При реализации ретраев, делайте экспоненциально увеличивающийся таймаут. Чтоб не попадать в ситуацию когда твои же ретраи начинают тебя же ddos`ить

https://habr.com/ru/companies/yandex/articles/861538/


Пора выкинуть Docker Desktop*

Почему?
Он медленный, потребляет много ресурсов. В нём куча ненужных фичей и нет нужных

И что с этим делать?
Взять orbstack.dev

Зачем?
Он быстрый, мало весит, в нём есть крутые и полезные фичи

Что за фичи?
- Динамическое выделение памяти
- Модная и быстрая файловая система (VirtioFS)
- Автоматические домены в зоне *.local для всех контейнеров
- HTTPS для этих доменов (да, SSL-сертификат самоподписный, но он хранится в keychain для большей безопасности)
- Быстрый сетевой стек
- Умеет поднимать линуксовые виртуальные машины

Минусы?
Бесплатно для некомерческого использования. В любых других случаях $8 в месяц

* Всё вышесказанное относится исключительно к MacOS. Ибо всем известно, что других OS подходящих для разработчиков не существует.


Test

387 0 3 22 20

Node.js 22 вышла! Пока что в статусе current, осенью перейдет в статус LTS.

Это эпохальное событие, ровно 5 лет назад впервые появилась поддержка ESM модулей в ноде, и только теперь их можно использовать без боли. Да, из esm теперь можно просто сделать require старых cjs модулей! Кроме этого завезли WebSocket клиент и вытащили из-за флага watch режим.

https://openjsf.org/blog/nodejs-22-available


Всех с Новым годом 🎉

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


Написал небольшую статью о там как правильно установить Node.JS, pnpm и yarn.

Спойлер, fnm и corepack решает большую часть проблем

https://dskr.dev/blog/how-to-install-node/


В vs code добавили port forwarding.
Теперь в три клика можно пошарить в интернет что-нибудь запущенное локально. Пригодится чтоб поделится наработками с коллегой/потестировать webhooks.
По умолчанию поднимается приватный тонель в который можно попасть только после авторизации через GitHub, но можно открыть и совсем публичный тонелль.
Вообщем получилась удобная и безопасная альтернатива для ngrok


У Astro.build вчера вышла третья версия. Изменений не очень много, добавили оптимизацию картинок(кстати, через sharp про который я рассказывал в посте про photo lib), добавили поддержку модного serverless для ssr, улучшили hmr, ускорили сборку.
И да, добавили прикольную фичу ViewTransitions. Это браузерная апи для создания анимаций при переходе с одной страницы на другую, ну или просто анимаций когда элемент появляется/исчезает. Апи пока что поддерживается только в хроме, для других браузеров используется фолбэк(можно настроить какой). Посмотреть как это работает можно у меня в блоге dskr.dev

P.S. Если вам вдруг надо запилить сайт в котором большая часть контента статические, пожалуйста не берите реакт, Astro или любой другой статический генератор справится лучше)


у и небольшая программисткая задачка. Попросил описать функцию и написать на неё тест.

GPT-3.5 описала очень кратко, тест написала, без моков, поверила три кейса. Поржал с "функция грациозно обрабатывает несуществующую директорию"

GPT-4 выдала оч клёвое описание с указанием всех особенностей. Тест написала с моками и сбросом состояия между тестами, но описала только один кейс

YaGPT описание так себе, не написала что возващает функция, пропустила что функция скипает скрытые файлы. Тест без моков, и и только два кейса

GigaChat описаие клёвое, но модель не правильно поняла функцию, посчитав что та возвращает файлы и директории. Тест без моков, опять два кейса

В целом что сберовская, что яндексовая модель могут неплохо генерить текста, местами хуже, местами лучше chatgpt-3.5, но до cahtgpt-4 им всем ещё далеко(


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


Яндекс тут выкатил суммаризатор статей на основе своего YandexGPT — https://300.ya.ru/
И у него даже почти апи есть. Правда через него можно конвертировать ссылку которая в итоге будет вести на суммаризатор. А я решил всё это дело в бота завернуть. К счастью Яндекс использует sveltekit и соответственно ssr, поэтому чтоб получить данные, нужно просто в html найти скрипт с json.
Вот собственно сам @summary_ya_bot. Кстати бота можно не только в личке использовать, но и в чат добавить




Ладно, проблему с d.ts я смог решить просто отказавшись от них. Потратил ещё пару часов, но завести клиент без реакта так и не вышло. Очень сильно горит. Какого-то хера падает ошибка. И есть подозрение что дело в версии. У клиента последняя версия 0.4.х, у всего остального 0.5.х. Ну его нахер кароч. Пойду с tRPC разбираться


Выбирал тут между Garph и tRPC. Конечно же хотелось попробовать GraphQL. Начал писать код. Я использую монорепу чтоб можно было удобо реюзать код между несколькими приложньками. Логично было бы вынести описание сехмы в отдельный пакет, чтоб использовать его и на фронтен и в ноде. Но, неожиданно это не работает! Типы схем у Garph слишком сложные и их невозможно скомпилировать в d.ts. В целом конечно можно и некомпилированный код использовать, но это не совсем правильно. Пойду пробовать tRPC


Это porkbun. Впервые вижу в проде passkeys. И да, это не второй фактор, а именно что логин по ключу. При логине с нового девайса можно просто оставлять пустой пароль)

Из косяков, хром и всё хромоподобное на маке имеет своё хранилище ключей из которого экспортировать ключь незя. Поэтому при регитсрации лучше кроме добавления текущего девайса(на самом деле инстанса хромиума), лучше добавить мобильное устройство. В случае эплодейвайсов, ключ будет хранится в ICloud Keychain.




На первом скриншоте вторая строка заметно шире чем надо.
На втором скриншоте текущая версия. Все строки одинаковой ширины.


Выпустил сегодня новую версию библиотеки photo-flex-layout
Это реализация лайута из google photos. Его фишка в том чтоб при любом количестве фотографий с разным соотношением сторон выстроить красивую сетку. Для решения задачи используется упрощенный алгоритм для отображения текста. Сам бы я алгоритм не осилил, поэтому подсмотрел его реализацию в одной из опенсорсных реализаций гуглофото.
В предыдущей версии было два бага, если фоток слишком мало и они не занимают целую строку, то высота строки выставлялась в полтора раза больше целевой и это выглядело не прикольно. Теперь выставляю целевую высоту.
Второй баг был интереснее, он стрелял если ширина была нечётным число. Тогда некоторые строки становились немного шире чем должны из-за чего они вываливались из контейнера. Проблема была в том что после подсчёта оптимальной высоты для строки, она округлялась. Из-за чего со временем накапливалась ошибка округления и некоторые строки ехали. Решилась проблема тем что высоту теперь я округляю в самом конце. Ширина кстати тоже округляется, но не до целого а 2 знаков после запятой. Если посмотреть на тесты, работает это не всегда идеально, но в результате при отображении всё работает как надо.


Леджер: наш Secure Element чип защитит вашу сид фразу, единственный раз когда вы можете её увидеть, это при создании кошелька. Дальше не при каких обстоятельствах она не может покинуть девайс
Также леджер: мы тут апдейт выпустили, теперь вы свой сид можете пошарить трем независимым компаниям чтоб не потерять свои монеты!

https://www.ledger.com/academy/what-is-ledger-recover

Показано 20 последних публикаций.

87

подписчиков
Статистика канала