Latest posts

Frontender's notes [ru]
23 Sept, 17:07
Переведённые сабы в Chrome-расширении: звук вкладки на MV3 и один поток вместо двух сервисовРасширение тащит субтитры с переводом поверх созвона прямо в браузере. Бот в звонок при этом не лезет.Дальше автор раскладывает три места, где времени утекло больше всего: захват звука вкладки в Manifest V3; переезд с пары сервисов на единый поток, где и транскрибация, и перевод; и косяк в счётчике минут — время списывалось, пока в эфире стояла тишина.Читать разбор на Habr👉 Frontender's notes
Frontender's notes [ru]
23 Sept, 13:07
React 19.3 подъехал в npm.View Transitions и Fragment Refs в прошлом году числились экспериментальными API. Теперь им выписали стабильный статус — и всё это уже в 19.3.А в переводе статьи копают, как работают оба API, и попутно разбирают остальные заметные изменения релиза.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/UFc-Xrw7E04OjcD1uDapI7XtsGbebmgt4KcrdqgjXDGAl9U48llapeZ1EGvk3UuKKtX29p7CFfJUQAK9uoXcQH2s2qyOYyOCI_I-WFjAdxecfPg2IEBE4gQebTpDEKRvjFY_u9-Jv-cRZrliVYLuDEqEVPuj6Ss0xB2M_d-5dy7MRkoPcC_0_dtB0dF6xIy1HoloRVuAWYAD-mOUFAw0ZepcsvAK2zjCQDfYSsdUbbln5tNB4P26cl1SK-KJRL_NazPrx8rhD-Sh9A_BDEnvNDrxriF9XlRLOg1ngWcHibqMu1zPPfVNMh__CPPdvQ_3SoNjMM7oYr2BCsp8uQLSBA.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/tHB6_62sokI2p1zABnMFdoVS_lVr1N8vKv4u_4UYZD2LkRgYzAcghUD27taUeCizx4XQeeQDkWL4TNuKN58RwsVeY1ZlXvdJZGCneLVtay4THipgw9s2SmcZHjRdvLQ0O2kFbSugYmGyDPQxrodRjo0Rfhd5_CMct800qc5Gn-IexR9tlMxdzDcvJsldmLdyr8tP7oPep57oYkbaAbn5HGtJp_HjR1T0d1Y3FEp9wR8MNJ7SfRTSP1j6ODcviuEzZ8RBiqpmQO3Fvd0iokE9UTdbJAep-WWw1lUij4reo5h-s4HtpsowNYzZWRspED1XXi1qbTluiwWtiATvUMewaQ.jpg)

Frontender's notes [ru]
23 Sept, 09:07
Как вообще родилась npm-библиотека morphing-scrollАвтор тут расписывает свою npm-штуку morphing-scroll. На момент написания статьи это его второй проект в npm — и самый замороченный. В код он при этом не полез: весь материал не про реализацию, а про то, как библиотека появилась и что автора на это толкнуло.Читать далее: Habr👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/MhPIrTnAaZ5NVoj8jEu0BFNv22j8gBtLmUJIyYFGhftgyTNIbNQUAAQOIyZh99eQsud6tVznVZR7vQ-TqrD4jmYONrYwRwXI9Ni1z9gnrhEfK3RAZF6GJraXPf7e7RLIQ-Aznxy2q7pCdqUXgofLP4kqgE1t7WMPyKkDPJop7HBbBY0dzCPREHus3nki5AiCse3lm373ranqciLx2MhSVqFrOZuM4l1bYAAFXK1a_LC-FCw4vUe5m3Eh_GuWprsnqwyYanFp-vnYxDK5b88IMtl9jttpF-kFG3POxhCyfGOUGzTIcijBauCTJIFrCz0PH-q79pTb7ezgBX2SwafrYA.jpg)
1,540Open in Telegram
Frontender's notes [ru]
22 Sept, 17:07
Китайцы за пару дней выкатили сразу две модели — видимо, сбавлять обороты в ИИ-гонке они не планируют.Qwen3.8-LiveTranslate — это про синхронный перевод на лету. Держит 60 языков, различает нескольких собеседников и в переводе сохраняет их настоящие голоса. Средняя задержка просела с 2,8 до 2,3 секунды.Qwen-Image-2.1 — свежая облегчённая модель для генерации картинок, и она обходит Nano Banana 2.0. Рисует нативно в 2K, умеет прозрачный фон, тянет сразу 10 референсов и правит точечно те области, что ты отметил. Уже на HF.👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/fbTTKKZKApeqt6C6IDx75619eflYqbfcW4ColQG_N5CTIFRp73-vSoq5SwjNmGqzHYsknpt5FWsZoi2qF1kQDGNXFAdUvi-2y38bciH47vCz_vYoBlLZefjn72_Ha6y_QdnssmeWgzsmuA1khcEBL-QShSaCgafZnJqUhcHZ8Io3U7AMI08K9YWkNPvM-17-lFrHsxJTPegXvYkjuGdMxYYxooMlmPkj_toYdtY0mCU13rsXvShssjBV2riE_DvluNudEzPj-XvUW7CZOGOtyS2a8j6VPnfqMDOgeit2or0YOKM6Qv8Dx4loB39gAsJW8PrxN56TOQzVKotH7UP3_g.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/riVYnLqr12uJYGrH9hpdtoEoKm6jtsn0Dr640m0e7S1YeTl7KhLQLNTr2yDrZRQcDNFyZzYVOx8j_p2n_FT6DuluhRnQ2XJ1dtj_tjru01o_E2TQ7zMt3qPtYSg59Tli92dtl5VmLIkdgdgO1o0Scv6nuIZ_w0sGS7dklYk05qNPUgn1oWOidbnkJMhlRvgxOYlQGgMtjD5CfFZIX0fQK3JgYripC3sCVvPaKEgCMCtVW3fb50tO9R1R5XAA-ENXTFw6OKtkl5C8nqsd_yShYJmtm8G7ikv1s_KoqFRFwYavzRcBdPDnpRi_zdizqed2O3xy-3EPFVZpQ04T3meWhQ.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/stuoX3u-PDdAyywW9GRY49h_e1PwhWi1g1CuCVL9H2x9RWKHh8aXQgYs3HTG8JuJftoW_rFiVYvA_QFleK7RZiNmOhhfSq9NKMiIwXCULVNkWgc2odIXJ8GIwUcGX3qFpJOahCfdtnCcrujKNjX1AEHXNLaOJTYhJurRO3ksDiG8a7YU3d31MxRokSUMjmJVjG5JaQR453cuogP186_dVdX18bNAoXwBGQuWxCxyxcDg0vBM6UK4NxsNE6SqvgCXTBzVvD1zAuwR8PudtnG9TyL8vQARRnCzNiN1vHrXj8FF6u4Dj1jDK7s8eCARUKRGJsU8E6Ye2I-e8PiCjM7dNA.jpg)

Frontender's notes [ru]
22 Sept, 13:07
Похоже, у Jev нарисовался открытый локальный соперник — LayaLaya — это открытая локальная модель для принятия решений, 421 млн параметров. Заточена под структурные задачки: быстрое да/нет, оценка, выбор из вариантов. Памяти жрёт меньше 1 ГБ, лежит бесплатно на Hugging Face и заводится на ноуте, а то и на телефоне. Код — на GitHub.Дальше — тест. Laya выставили против облачного Jev: обе гоняли одну и ту же змейку, с одинаковым форматом решений, 30 секунд. У Laya — счёт 46, длина 52, 86,5 решений в секунду, P50 около 9 мс. У Jev — счёт 1, длина 7, 3,2 решения в секунду, а весь цикл запроса к API — 317 мс. На M5 Pro медиана получилась 15,3 мс у локальной Laya против 298,1 мс у облачного Jev — в этом тесте разница почти 20-кратная. Вся соль в том, что Laya решает на месте, а Jev на каждом шаге виснет и дожидается ответа от облачного API.Но есть и два ограничения, и о них говорят в лоб:
Frontender's notes [ru]
22 Sept, 09:07
Четверо в одной транзакции: кейс-батлы, PgBouncer под Prisma и реплика, которая отдаёт пустой инвентарьОба прошлых текста про сайт с кейсами CS2 автор добивал перечислением того, чего там нет: платежей, депозита шмоток, кейс-баттлов, рефералки, KYC. Теперь этот список можно вычеркнуть целиком. И почти вся жесть из него ужалась до одного вопроса: что будет, если несколько человек разом начнут двигать одни и те же деньги.В разборе: батл на четверых внутри одной транзакции, порядок блокировок, который не даёт словить дедлок, PgBouncer с Prisma и правило чтения с реплики, которое типом не опишешь.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/hOVFMRV890gsjowCYA9iGDXFoBB9q8nYHpxt851_vkeSgJrgftxtmKrt29wjwDWgEHZTENsSjal4L112GQwYPuYEOTy2etLmBaiUGkQZk3g1Ma436cTpV37Zz_ooDaGl3YFWcbxnfhP4QnQk0YiycmeEv1pOQ9kKY419S4TXD6Ow8CVKqbSCP4k-t_sC62GnvpgwWSte3v47Vh5W1OXJJZ91A1ham4RfOATqkX8RzqurNIsgqhypgni0ok9O3THmzSyUki9lYeBciCGFZ4XuccrBBTyAmaUdTczxX2TgiBEMNXVK2D7PpKv0PpnnlXp3Gh_6K8gspMFCojc5Rr8OEw.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)

Frontender's notes [ru]
22 Sept, 07:07
Промты, AI- сервисы, IT- решения и всё, что реально облегчает работу ⠀Сохрани себе эту ПОДБОРКУ, если не хочешь тратить часы на поиск нормальных каналов про ИИ и технологии. ⠀Мы собрали в одной ПАПКЕ каналы, которые помогают лучше работать и находить свежие идеи.▪️ Стратегия, AI и организационный дизайн ▪️Цена внедрения | Михаил Омельченко ▪️ Ebout Data Science | Дима Савелко ⠀ ▪️ BestPromptAI ⠀ ▪️Все про 1С:УНФ и не только (Айтон) ▪️ ИИ что дальше ⠀ ▪️ Корпоративный ИИ — рынок корпоративного ИИ глазами системного интегратора: новости, кейсы и аналитика через призму реального опыта. ⠀🎁бонусный канал с промтами, которые помогут развить блог за 30 дней→ автоматизировать 80% процессов → сегментировать аудиторию глубже, чем «женщины 30+» → упаковать продукт ⠀TelegramIT&AIАнна Гладкова invites you to add the folder “IT&AI”, which includes 42 chats.1,560Open in Telegram
Frontender's notes [ru]
22 Sept, 05:20
1,350Open in Telegram
Frontender's notes [ru]
21 Sept, 17:07
Diablo II, стратегии про Рим и Prince of Persia: чему фронтенду не стыдно поучиться у геймдеваВ Diablo II вся математика по скиллам лежит в простых текстовых файлах. Захотел покрутить баланс — пересобирать игру не надо, открыл файл и правь. В Prince of Persia 1989 года персонаж живёт по состояниям и переходам между ними. А в градостроительных стратегиях сборщик налогов сам решает, что делать дальше, просто по набору правил. Автор напоминает: геймдев уже закрыл кучу задач, над которыми фронтенд до сих пор чешет репу.В статье разбирают, какие инженерные приёмы из игр реально утащить в веб и что ты с этого получишь на практике. Там про контракты и моки, конечные автоматы, событийную модель, pattern matching и деревья поведения.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/tZ2DjYYBXWua697LQ8Vp2996TfiCY6kg__LlZxfzBDs6_p3fWYeWkq1exu6q0LToZNvnytRk-8LeE5p8F2fR1mFc6MnXpSuRIeWSyHqqLc3PjuUaYED5dZrqkKo53nBJm-GU-RZ9i34cliSZtlMxauwnXVKepbrK2hWELe3wRuagwH5bvmOGBlRF4PwUQKU1nj1eJ4BIsapcpVXRHT0nHQX3h9nVgWIHodbRFLl6d0t0VaplvuGBJl7ip8jaD2kTtdMss_7MOy7PMNgLWgcJGNK9A5nEnscQAyxK5YkQo0GmKpDHVuxAY6YQFd-WrYkQ5bElijbmaB0iqKAYoMmjdw.jpg)

Frontender's notes [ru]
21 Sept, 15:27

Frontender's notes [ru]
21 Sept, 13:07
Уже 5 лет я делаю библиотеки на профессиональном уровнеСемь лет назад в npm улетела его первая либа — custom-border-mixin. Ради неё человек выпал из реальности на целую неделю: просто чтобы в своё удовольствие накатать SCSS-миксин.Любопытно, что там вообще может быть весёлого, в этом SCSS? Гляньте на хелпер. Или всё-таки поменял?Читать на Habr👉 Frontender's notes
Frontender's notes [ru]
21 Sept, 09:07
Telegram Serverless: бота теперь можно крутить вообще без собственного сервераВ BotFather всплыло сообщение про ранний доступ к Telegram Serverless. Смысл такой: код бота гоняется на инфраструктуре самого Telegram — отдельный VPS не нужен, Docker с nginx тоже мимо, да и внешняя база данных не обязательна.Автор покопался и разобрался, что конкретно они там сделали, как выглядит разработка и реально ли теперь собрать Telegram-бота, у которого своего сервера нет в принципе. Оговорка: доступ пока early access, ограничений хватает, а привычный Python + aiogram туда по-быстрому не перетащишь.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/FLcR6yHQhAOcxz7SO0Fne3QNeSSR5bjYDQuU7TANfR0_6nfCOhkagF2dC65i6-aJRBnFWORI4Tcl0t_JfYqLpaIQug0lCLvLqW-ZR0YlNUQw5nOZO8lS7119Rs2GUmbj1WmC40ZRj0HmgKDgqC1oG7DQu76au7aKP0KCzo9amL343Eco_iwXwNcY1-fKuNMNXFaeXdfqJQv4y5zlQ7lSHpLcgxIRgjRH8TvKv1pfqpaHu75zBTtlT9GZoncraw6v65_n9ZDOVCBEYZgVY-hLjWVVWpwZQ_hysIrL8K2bI-xSmWPraEO8KMaBAVmCfp_ZqvLnNmj6KtjNs9wEG0xwOg.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)

Frontender's notes [ru]
21 Sept, 05:14
1,750Open in Telegram
Frontender's notes [ru]
20 Sept, 17:07
Форма, которая слишком много на себе тащит: как правила СХД уложить в состояние UIВ блоге компании Aerodisk на Habr вышла история про разработку навороченной формы для систем хранения данных. Авторы показывают: правила предметной области надо класть в состояние интерфейса, а не распихивать по обработчикам.Главная боль, о которой там речь: сценариев работы три, а интерфейс под них один. Команда делится опытом, как в таком раскладе не развести дубли в состоянии и не устроить содом в обработчиках.Зайдёт тем, кто проектирует большие формы и ломает голову, где вообще должны жить бизнес-правила.Читать на Habr👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/Z4gLIbkaM2JSpMBnzDwg_AFqW9LGr77Xhu_C-6cKDJ0j3Xlfsnh3HBmWtDyll-Db4F9QbWcDrpryzKicj3gnxvyuVBFypdzp7UuhDUYpnQevcAcZGObAHXJxWl2TDX_hzWCefrPYcWnumzZqdefjuWVMsFaPEI1Kn_VitXkE8J0WGZj4PhngmuDx-ej9_SyrAodAhdFmlrHAzaa87hzq5LIAsv5u1xOJqLmn_-_36t_UiQ7e3TWY1uhG3TC5SrbS1ORL_nnkw5uTmRTX5nGqr37pUonbeu0ig0VKsG5FMBcnI0SS-uScaB26diaHU7k1e9g5mDHB7lnfuvxz11fc2w.jpg)
1,770Open in Telegram
Frontender's notes [ru]
20 Sept, 13:07
Юзер тапнул — а в ответ тишина: как не профукать его действие и не наплодить дублейЧеловек жмёт кнопку, сеть отваливается — и браузер понятия не имеет, добрался ли запрос до сервера. Дёрнешь повторно — рискуешь схлопотать дубль. Не дёрнешь — профукаешь само действие.В статье раскопана схема, которая закрывает оба этих геморроя: API без toggle, ключ идемпотентности в PostgreSQL, очередь на IndexedDB, Service Worker и проверка офлайна в Playwright. Автор сразу оговаривается: это не полноценный offline-first, а лишь щит для действий в момент, когда связь рвётся.Разгрести повторы👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/SoLkomWqGo-9Y4rizaYgQXRFEwnAOxoJ4QaRGn6OSoo9I5LLEKxiaP8oN5wypUkFFmU6U7BmOeY3ok8tHouBRX-p6OqMhQ6xyBRdukCCKgOPodQFHkaXKmvqRvzTplAO2-_4X35t2_UVNczGQwoydfD2xAi-k9-S3ts5Ho_H6gWxVbZMTG1hYOQGXQpqTQOihcQ0EpPdq06Lrr-OnNcBUUBFIMpUBTJFNkuGPMUB_rWj3usVbFarY6ALCbkyXCc5CYbYEx6bfJe4ZU4hjfsV-RmDUPL8AmiP4pyWVLYQ2xc5HfU9jPgIPVdFtQvcRsyVSLcIovidnKNfwvS46vwSvw.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)

Frontender's notes [ru]
20 Sept, 09:07
[Перевод] Протез для силы воли или харнесс для думскроллингаАвтор подмечает: на мобилке тебе давно завезли удобные тулзы, которые считают экранное время по любому приложению. А на десктопе всё это приходится ковырять руками, по запчастям, и результат всё равно так себе. Расширения против думскроллинга он щупал — и у всех одна и та же болячка: блок обходится на раз-два. Причём сил на обход уходит заметно меньше, чем нужно, чтобы просто полениться и не лезть.Дальше он вспомнил свою же статью про харнесс и подход Atomic Habits к вредным привычкам — в том числе банальное «убрать с глаз долой» — и решил собрать себе такую же структурную штуку. Ей стал Curfew: расширение для браузера, которое следит за дневными лимитами на «вредные» сайты и режет их.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/s4QNtOLhHoC9zJqlgGb0K_BisAFc5MwInncTSkLCIGj2RsjpttHd5tMeWN71VCth8j0s6zTrrnzOKW2RFRtni7M-K0LQSiOWzVZLYgHAE4Mg6qusdxme2kklez7NmMnO5yxwPJKCf8L-xa8pQdOyqOzHi-F3NL4HrtP5ZZ5eFuLp4fqP10guh2iM4AWf6Iex4AE33WIr3T17N_2kRd-RD6IPAwCaViD61I-z8TKEM2m-h8m6XmVZb0sXKF5_HHWMR1Nvl3b0RkVpk5YXVYS8kPsJrfFVoYtxuOyZBPn1hpLNM8f7kIIVYpPoTRlvTE2hN91mO4dtfspjBNtgSctOgg.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)

Frontender's notes [ru]
19 Sept, 18:07
Next.js, внешний API, Zod, нормализация и controlled fallbackЧужой API живёт по своим правилам: имена полей, вложенность, картинки, цены, пагинация — всё это добро принадлежит провайдеру. А UI у тебя крутится вокруг другой модели. И стоит компоненту полезть напрямую в event._embedded.venues[0].city.name — как структура внешнего ответа расползается по всему интерфейсу. Провайдер дёрнул API — и привет: карточки, detail page, search, metadata и тесты дружно поехали.В App Router внешний запрос можно унести на сервер: Server Components спокойно работают с fetch, серверный код в клиентский bundle не протекает, а API key остаётся вне браузера. Server-side data fetching для App Router описан в документации Next.js.В учебном проекте EventMap события из внешнего источника ходят не напрямую, а через server API слой.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/MI4lzpzgyIg5WxzDluhgT9m2-fM0X7ZrgGbCsKuFn04dggMjLjVidCfxsj2Sw5L-th-gt9lr6JXMLu4FYg3u5e9NE4FqsRkLAOArNkq_-_vpmjzrHqcjs7NCvu4epTHZLUJ_y6FbEvV8hBodeKvvNRUKuCV7C37zpdMjkR5doaBTboXfCuwX18sgagRHvDJGm6Tj-1EMtKdSQh41eJjp8PfU536xN_J7oX5w1cDl8hD3CPB1g8yQ48ukjabu4ARJWG9YwE-NAZoTSdGQnYzQy39ZRFTzYjxrqdQDT5T6_nMVr6-g8BugV_Z6neaKjG2zDuHRr36AlnTHVum69wr7iw.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)

Frontender's notes [ru]
19 Sept, 13:07
Инженер Lovable сваял дев-сервер на Rust, который понимает ViteLovable поднимает порядка миллиона Vite-дев-серверов в день. Так что появление своего варианта — вопрос времени. Автор — Рафаэль Аморим, инженер компании, а решение зовётся OJ.Внутри Rust. OJ подхватывает уже существующий vite.config.ts и крутит Vite-плагины, но целится в другое: меньше памяти на процесс и шустрый холодный старт. Репа открытая, правда статус у проекта экспериментальный.React Status #491👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/jMi61CD7SpvJ4TRl2igdMgAWw7aAth6fuby6X70xuZxv6zOgN8h9rbnneeoc7AOeLifsLrNxB4hY9f-YWa4e5OAOrC0-YpqL0VtAEF9fgMlAzP6tBQmO-8rjdGX_klqRvqfkVJrITwgL0u5HaRmLoA1B-KAmQQ4f_nLPPuS0f1YRJwAsaoDaCo1hspbTF0fUCYelQ6QziiULEtRjTm3XqsXvznRSC8clHPIlTJ4IRA_X4aFkTE53nsxEOBCvKeKRMSXln4STUQtjLFGZOinwjWPbg9llwfngdU1vfD9nFdXwXVhkaHKNHSoQC-Sf_goXnlZYwUH2xcoZlCd7pzUs2Q.jpg)
![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/smWkfEv2Qpx0uDLA4dKZzSH5QcrXQh9jcqmbMbwuvRirZj5u_F1aBNOYwe0UQNwgpXHBWjogn9UZJio7apyDDgkSeZbzMJ4MkHvra03foogsgdIvxmO5b3mY8p6YJvqfy_hyT6B7nvxbZf_dnrs1pxv9DaguVv8A3ZMfXHvpL9_8ywDfBorxy0KU385_vhAyxiHbTIkjtK-dGpdkTCV0n52qahnfnAHT8_MBtQt6LM8ZC8xe3dTpFEfGvpWaWG5tZVzne-QFCQz5-d9nGq3djJRsZ1FUp_k5FhCAvDvP0nYzUwNGsP4QuwKVmJnivI2iBe-XqARVSxNnwxwAbYhvaw.jpg)

Frontender's notes [ru]
18 Sept, 17:07
Steam под капотом: авторизация на OpenID родом из 2007-го, звёздочка в нике ножа и цена, приехавшая строкой на чужом языке«Добавим вход через Steam и цены с маркета» — вот так это обычно и выглядит в бэклоге. А по факту логин висит на OpenID 2.0 из 2007-го, а не на OAuth.Дальше начинается весёлое: звезда ★ в названии ножа означает, что одно и то же имя приходится готовить под два соседних эндпоинта прямо противоположными способами. Цена же прилетает строкой в чужой локали. И вся эта радость лежит в одном месте.Читать далее: Habr👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/k1G3b54IxghBhBFJbpjLeYnPu11FpLkddLX4NgCeqo4cWEIj8Pj7tG-KG7ZV1pzvN01SOIi0Ya58APRPp3YwAvbbxS7f8Bf9yFBdrt2AMx2YsMAHyJjItKrHseFLJrFqcvXuCRxDOqfenpuqWsDr5ecf-k5O-X9RX5QDrUgVIkyEEKqV1arrO7P3Aw9YRtNbxxw5HzKec2XJ8fv32ls9_z7uHIOxefFQQIFqiMwtIBLMOJr5_nWj8tcbeR32x8X8QLGPZQWrXUL7_FXYrr2jjtRi1JLSGsFW5nPySpQ7V5JqeGUNiBJGWYmc2BKaWBaM7mZMcAShix1KXMCGLg_FGw.jpg)
2,040Open in Telegram
Frontender's notes [ru]
18 Sept, 13:07
«Обратная змейка», часть 2: читаю комментарии, чиню баги и добавляю боссаВыкатывая первую часть, автор ждал скромного десятка лайков и мёртвой тишины в комментах. Облом: народу привалило будь здоров, и добрая половина отзывов — не «милота, годно», а полноценный разбор косяков.Читатели вылавливали баги, тыкали носом в несправедливый спавн змей прямо под боком у игрока, а саму игру кидали то в сравнение с Pac-Man, то с Asteroids. Автор не отпирается: с технической стороны всё крутилось, но местами это было не на сто процентов его задумкой. Так что он пошёл по всему списку претензий, а не отделался смайликом в ответ.Читать далее👉 Frontender's notes![Image from a post by Frontender's notes [ru]](https://cdn4.telesco.pe/file/Bmr4hoN6VFEaJpR2OPKxWFAD9z5mp8ks2jw0glt0gYCk7qTVBK5vZyTSjTfywknWhJ7qw5a0Lew1rN98269R8sOfRJAMkb6BLKAE4_pm6rHyST0CWSjROob6asr6pBWbmLFEAb_UwkORdUsoLCvA4oUVxVOEnWeZlxork16O-l2YD9_QweiLgnonZ3_V3jQOnfheFRSvGu3zlqiVgaNcMC_yGApPBHnffuYZiZgXq7RGT-Gt0Ud4qIG0c7agzcqfMZQDgljT_C9tT2juxUV3B_RIHTddQjT-I_4h3lhTQI8BLhGgSMD2MA1V2rLVd-OqvRZJl-FBMbpiZzv9zp29DA.jpg)
1,890Open in Telegram
Related Channels
Other channels in the same section of the catalogue.
![Frontender's notes [ru] channel avatar](/userpics/frontendnoteschannel_ru.jpg)