Logo
TGCATALOG
Catalog Collections Blog
Будни разработчика: блог лид JS

Будни разработчика: блог лид JS

Блог ведущего JS-разработчика о повседневной работе.

No ratings
344
10.09.2026
344
10.09.2026
No ratings
344
10.09.2026
Safe redirect via bot
О канале

Блог ведущего JS-разработчика о повседневной работе.

Подписчиков 14,494
Тематика IT
Язык English
Ссылка t.me/htmlshit
Description

Личный блог Lead JS-разработчика. Публикации о буднях в IT, полезных практиках, инструментах и опыте. Инсайты для frontend и fullstack разработчиков, желающих развиваться в JavaScript экосистеме.

Latest posts

Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#фишка дня В CSS есть ключевое слово safe, которое используется вместе со значениями выравнивания и не даёт контенту «вылезать» за границы контейнера. Если элемент не помещается при обычном выравнивании, браузер автоматически смещает его так, чтобы он оставался видимым. Это удобно в адаптивных интерфейсах, где размеры могут меняться и важно не терять доступ к содержимому. safe работает с flexbox, grid и свойствами вроде align-items, justify-content и другими. Простой пример: .container { display: flex; justify-content: safe center; } Здесь элементы будут центрироваться, но если не помещаются, выравнивание изменится так, чтобы их не обрезало. Подробнее читать тут: Ссылка скрыта #css #flex #safe #бородач
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#заметка дня В конце прошлого года в Chrome появилась небольшая, но полезная оптимизация CSS-анимаций. Браузер перестал считать любое упоминание width или height безусловной причиной выполнять анимацию на в основном потоке. Раньше даже такой код лишал opacity возможности анимироваться на compositor: @keyframes fade { from { width: 200px; opacity: 0; } to { width: 200px; opacity: 1; } } Ширина здесь вообще не меняется, но одного присутствия width в keyframes было достаточно, чтобы Chrome счёл всю анимацию non-composited. В Chrome 144 это исправили. Blink теперь проверяет, действительно ли layout-зависимое свойство меняется между кадрами. Если значения одинаковые, width или height больше не мешают opacity и transform работать на compositor. Особенно заметна эта оптимизация во View Transitions. Chrome сам генерирует для них анимации с width и height, даже когда геометрия элемента остаётся прежней. До исправления такие переходы могли без необходимости фоллбека в основной поток. В первой реализации, правда, нашлась проблема с округлением: 97.984px 97.9844px Формально значения разные, хотя визуально это один и тот же размер. Вскоре сравнение сделали нечётким, так что небольшая погрешность вычислений больше не отключает оптимизацию. Но чудес не произошло. Если размер действительно меняется: @keyframes expand { from { width: 100px; } to { width: 300px; } } браузеру всё ещё приходится пересчитывать layout на каждом кадре. Такая анимация остаётся в основном потоке. Chrome не превращает её автоматически в transform: scale(). Для подобных случаев в CSSWG обсуждают отдельный механизм, условный size-animation, но к июлю 2026 года это всё ещё только предложение без готовой спецификации и реализации. Так что старое правило остаётся в силе: реально меняющиеся width и height лучше без необходимости не анимировать. Chrome лишь убрал случай, когда неизменяющийся размер мешал нормальной compositor-анимации. #performance
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#заметка дня Вчера сайт 35mmc уронил Chrome на моём iPhone. Я просто читал статью про Olympus XA. Подключил телефон к Web Inspector, записал таймлайн. За двенадцать секунд страница разогналась до 627 МБ памяти. Процессор жрал до 160%. Safari несколько раз запускал полный сборщик мусора, память немного проседала — и тут же начинала расти снова. Потом вкладка умерла. Буквально Web Page Crashed. Вы же в курсе, что все браузеры на iPhone — это Safari? Но вот отработка нештатных ситуаций ведёт себя по разному. Chrome просто падает, а Safari — перезагрузит страницу несколько раз, на что-то надеясь. Кстати, такая тактика даже лучше. Самое смешное, что перед этим сайт предлагает купить ad-free experience. Я не против рекламы и не против подписок. Маленькому изданию надо как-то зарабатывать. Но в данном случае выглядит издевательски: «заплатите, чтобы убрать рекламу, пока браузер не упал». Погонял страницу ещё через Chrome с сетевыми трейсами и heap snapshots. Там не один неудачный баннер, а вполне себе рекламный комбайн: Flashtalking с креативами Adobe, Google SafeFrames, куча bidder’ов и измерителей, плюс Primis video player. А у видео внутри HLS, Google IMA, OMID, video Prebid и ещё свой трекинг. В прогонах, где включался этот видеостек, память за короткую загрузку и прокрутку прибавляла 8–12 МБ. В других прогонах почти не росла. То есть один читатель получит просто перегруженную страницу, а другому случайно выпадет набор рекламы, который положит вкладку. Не буду делать вид, что по одному таймлайну можно назвать виновника каждого байта. Но когда GC работает, память всё равно растёт, а Safari убивает процесс — пользователю всё равно, как это правильно назвать: memory leak, allocation pressure или «interplay независимых рекламных систем». Он просто не дочитает статью. #performance
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
⚡️⚡️⚡️⚡️⚡️ Нашли доступный способ платить за ChatGPT, серверы и AI-инструменты ▫️ Mirocard — виртуальные карты, которые пополняются криптой и работают как настоящие зарубежные Visa/Mastercard. Ей вы можете оплачивать: ✔️AWS, GCP, Hetzner, Vultr и другие infra-платформы — без проблем ✔️ChatGPT, Claude, Cursor, Anthropic, OpenRouter — всё оплачивается И сотни других сервисов! А еще: 🤑Пополнение всеми популярными монетами с минимальными комиссиями (и совсем скоро запустится СБП🤫) *️⃣Никакого ежемесячного обслуживания; *️⃣Реквизиты как у обычной карты — просто вставляешь и платишь; *️⃣Возможность подключения ежемесячной автооплаты. ⚡ Ребята дали промокод на бесплатный выпуск карты: HTML Пользуйтесь в удовольствие 💎 ОТКРЫТЬ КАРТУ
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#статья дня Леа Веру написала большой текст в защиту полифиллов. Поводом стало мнение одного из ключевых редакторов WHATWG: полифиллы якобы вредят веб-платформе, потому что слишком рано занимают имена и форму будущих API. Проблема действительно существует. Кто-то реализует ещё не утверждённый API, библиотека становится популярной, сайты начинают от неё зависеть. После этого изменить название или поведение уже сложно: старые страницы сломаются. Браузерам приходится либо повторять чужую реализацию вместе с её ошибками, либо искать для стандарта менее удачную форму. В качестве более безопасной альтернативы часто предлагают ponyfills. Полифилл добавляет отсутствующий API туда, где он должен находиться: if (!RegExp.escape) { RegExp.escape = value => /* реализация */; } После этого приложение всегда вызывает RegExp.escape(). В новом браузере работает нативная версия, в старом — подставленная. Ponyfill глобальные объекты не меняет. Это обычная импортируемая функция: import { regexpEscape } from "./regexp-escape.js"; На первый взгляд подход аккуратнее: ponyfill не занимает имя будущего API и не вмешивается в платформу. Но Веру считает, что полноценной заменой полифиллам он быть не может. Главное преимущество полифилла — код сразу пишется под стандартный API. Когда браузер добавляет нативную реализацию, приложение автоматически начинает использовать её, а полифилл постепенно превращается в пустышку. Ponyfill остаётся в коде. Даже когда браузеры давно поддерживают нужный API, проект продолжает использовать импортированную функцию. Для перехода на нативную реализацию придётся менять импорты и вызовы. Можно заставить ponyfill внутри проверять наличие нативного API, но тогда получается, по выражению Веру, «разобранный полифилл»: стандартная реализация уже используется, однако нестандартный интерфейс и отдельная зависимость всё равно остаются. Ponyfills полезны, пока API только проектируется: на них можно проверить идею, не занимая заранее имя в платформе. Но для уже сформировавшегося API полифилл даёт более естественный путь — стандартный интерфейс сегодня и автоматический переход на браузерную реализацию завтра. Веру также считает, что полифиллы несправедливо делают виноватыми в проблемах совместимости. Даже без них останутся проверки возможностей, @supports, условные импорты и самописные обёртки, которые точно так же могут закрепить раннюю форму API. Зато полифиллы позволяют использовать новую возможность после появления первой браузерной реализации, не дожидаясь всех остальных. Разработчики получают работающий API, а другие браузеры — реальный спрос и причину быстрее добавить поддержку. Поэтому популярный полифилл — не только риск, но и сигнал: функция разработчикам уже нужна, а стандартизация и браузеры за ней не успевают. Ponyfills хороши для экспериментов, но не заменяют главного свойства полифилла — способности со временем стать ненужным. #javascript
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#инструмент дня Скриншоты для App Store добавляются заметно сложнее, чем должны. Сначала нужно запустить приложение в симуляторе с подходящим устройством. Потом разобраться, какие размеры Apple принимает для iPhone и iPad и какие изображения можно получить масштабированием из одного набора. Порядок неочевидный: если снять не в том разрешении, часть скриншотов придётся делать заново. Дальше — App Store Connect. Интерфейс медленный, требования к изображениям разбросаны по разным экранам, порядок скриншотов легко перепутать, а загрузка нескольких локализаций быстро превращается в монотонную ручную работу. Заметка на будущее для разработчиков: проще делать на айфонах/симуляторах Pro Max. Кстати, весь сыр-бор случился просто потому что на тот момент (февраль 2026) AppStore для экрана 6.9“ нужен был скриншот только с iPhone 14 Pro Max и никак иначе. А ещё, если ты забыл снять совместимость с iPad — конечно же модератор будет на iPad и не дай бог твоему интерфейсу расползтись. AppScreen позволяет собрать оформление прямо в браузере: загрузить кадры, выбрать устройство, добавить фон, текст и рамку, настроить каждый экран отдельно и выгрузить готовые изображения архивом. Готовая версия работает на GitHub Pages, а исходники лежат на GitHub. При желании проект можно запустить локально. А для полноценного промышленного инструмента ему, конечно же, не хватает загрузки CSV с локализацией. Надо кстати поискать плагины для Figma, решающие ту же проблему… #apple #ios #appstore
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#молния дня Не планировал выпускать ещё один пост сегодня, но тут прям надо. Есть автор такой, Дэн Холлик. Вы можете его знать по веб-сайту makingsoftware.com, где он буквально дотошно расписывает как работают современные (и не очень) компьютерные технологии. Прям буквально про все: как работает экран, сеть, ИИ, GPU, шейдеры, сеть. Это потрясающая серия статей, которые он объединяет в книгу. И вот как раз книжные части самые сочные. Но он их хранит, сюрприз, для книги и иногда открывает на пару-тройку дней. Не люблю такое, но что делать. А книгу буду покупать. Так вот, он сегодня на пару дней выкатил статью «Как сделать шрифт». И это, как всегда, просто пушка. Дотошно и красиво, именно про основы: формирование координат и кривых. Рекомендую: Ссылка скрыта #font #book
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
#библиотека дня Crashcat — новый физический движок для JavaScript. Его можно использовать с Three.js, Babylon.js, PlayCanvas или собственным рендерером. Внутри есть столкновения, трение, шарниры, пружины, моторы, ragdoll, character controller и continuous collision detection. Исходники лежат на GitHub. Но лучше всего возможности движка показывают примеры на сайте. Там можно покатать машину, побегать персонажем, собрать ragdoll, запустить конвейер, подвесить объекты на шарнирах или навалить сотни тел в одну кучу. Каждый пример небольшой и показывает одну конкретную механику без лишней обвязки. Сейчас такой набор уже не выглядит чем-то экзотическим: берёшь рендерер, подключаешь физику, добавляешь готовые модели — и через несколько часов у тебя что-то ездит, падает и сталкивается. Но примеры заодно хорошо показывают разницу между «движок умеет» и «игра работает». Готовый character controller ещё нужно нормально связать с камерой и управлением, машину — настроить под нужное поведение, а физические объекты — встроить в правила игры. Пришло время пилить все те дурацкие игры, в которые любит позалипать дочка. Но хотя бы без рекламы и попапов. #game #engine
Будни разработчика: блог лид JS
Будни разработчика: блог лид JS
🔒Открыть пост
и посмотреть медиа
🔥 Три разных человека. Три разных проекта. Один и тот же подход. — Юра взял «скучную» нишу с готовым спросом → сначала печальные $100/мес, через год уже ~$10K/мес — Денис сделал Telegram-игру в одиночку на основе AI → ~ $1500 за 1,5 месяца после запуска — Аня без кода запустила AI-бота для изучения английского → первые ~$200 уже в 1 месяц Разные результаты. Разный масштаб. Но общие правила: 1. не придумывать «гениальную идею», а брать существующий спрос 2. делать простой MVP и быстро запускаться 3. докручивать монетизацию и продукт по факту использования Ребята сделали всё без команды, без инвестиций, а самое главное — без ожидания «идеального момента». Да, не у всех получается сразу. И не у всех выходит на $10K. Но если системно идти по схеме выше — появляется первый доход с продукта, а дальше уже есть что масштабировать. В комьюнити разбираем такие кейсы регулярно: @its_capitan. Что сработало, что нет, и почему. Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2VtzqvJnGen
Будни разработчика: блог лид JS
Subscriber dynamics
+-0.1% last 30 days
Current
14,494
Month ago
14,506
Average growth
+0 / day
Updated
41 minutes ago

Reviews for channel Будни разработчика: блог лид JS

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Cloud storage for easy storage and access to files Telegram.

Channel

Reviews of crypto-launchpads:Bybit.Binance.airdropsandlaunchpoolsfor early alpha.

Channel

Simplified payment for services and games is cheap.

Bot
Switch to Light Theme
Home Catalog Collections Blog Login