Б
Будни разработчика
17.07.2026 13:18 · 👁 548
#заметка дня
В рассылке ядра Linux снова спорят об ИИ. То есть люди, способные неделями обсуждать правильный подсчёт байт, спустились на землю.
Поводом стал Sashiko — LLM-инструмент для проверки патчей. Laurent Pinchart предложил сначала прогонять его вывод через человека и сослался на рекомендации Software Freedom Conservancy, где поддерживают право проектов вообще запрещать AI-generated contributions.
Roman Gushchin резонно заметил: если мейнтейнер обязан перепроверить каждое замечание, инструмент экономит ему время примерно никак.
Тут вмешался Линус.
Письмо прекрасное: Linux не anti-AI-проект. Не нравится — форкайте или уходите.
По его мнению, спор о пользе ИИ уже закончился. Он полезен, находит реальные ошибки и иногда ставит людей в неловкое положение, потому что замечает то, что они пропустили. Если инструмент заваливает мейнтейнеров мусором, надо чинить инструмент, а не изображать, будто LLM не существует.
Сам Линус уже навайбкодил с Google Antigravity Python-визуализатор для своего проекта AudioNoise. DSP на C написал сам, а разбираться ради вспомогательной утилиты в Python не стал. Раньше собирал бы её по чужим примерам, теперь просто убрал из цепочки себя.
Другие проекты осторожнее. QEMU не принимает AI-generated code из-за проблем с происхождением и лицензиями. Похожие ограничения есть у NetBSD, Gentoo, Zig и отдельных проектов GNOME.
Разница простая. Они сначала видят юридическую и ревьюерскую головную боль. Линус сначала смотрит, работает ли штука.
ИИ — инструмент. А запрещать инструмент целиком потому, что им удобно производить говно, — довольно странная инженерная политика.
#ai
Б
Будни разработчика
16.07.2026 15:03 · 👁 873
Ingress-nginx уходит в прошлое. С марта 2026 поддержка прекратилась. А что вместо него? Предлагаем посмотреть на Gateway API, новый стандарт Kubernetes SIG.
23 июля в 17:00 старший SRE-инженер MWS Cloud Евгений Макеев на практике покажет:
⚫️ чем маршрутизация Gateway API отличается от Ingress
⚫️ как выбрать контроллер
⚫️ как установить Gateway API в Managed Kubernetes
⚫️ как настроить безопасное подключение через TLS-сертификат
Будет полезно для DevOps, платформенным инженерам и разработчикам.
Регистрируйтесь по ссылке
Б
Будни разработчика
16.07.2026 13:15 · 👁 852
#фишка дня
В CSS есть ключевое слово safe, которое используется вместе со значениями выравнивания и не даёт контенту «вылезать» за границы контейнера. Если элемент не помещается при обычном выравнивании, браузер автоматически смещает его так, чтобы он оставался видимым.
Это удобно в адаптивных интерфейсах, где размеры могут меняться и важно не терять доступ к содержимому. safe работает с flexbox, grid и свойствами вроде align-items, justify-content и другими.
Простой пример:
.container {
display: flex;
justify-content: safe center;
}
Здесь элементы будут центрироваться, но если не помещаются, выравнивание изменится так, чтобы их не обрезало.
Подробнее читать тут: https://iprodan.dev/l/safe-alignment/
#css #flex #safe #бородач
Б
Будни разработчика
16.07.2026 09:16 · 👁 760
#заметка дня
В конце прошлого года в 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
Б
Будни разработчика
16.07.2026 07:01 · 👁 862
Ищем новичков во фронтенд-разработке и вёрстке сайтов.
Поможем добавить в портфолио проект стоимостью 50 000 рублей и получить опыт работы с опытными разработчиками.
А именно:
- Сверстать веб-сайт на HTML + CSS;
- Реализовать функционал на JavaScript;
- Пощупать фронтенд-фреймворк Angular;
- Подключить Backend и загрузить сайт на хостинг.
Чтобы в итоге ты своими руками разработал качественный сайт, который не стыдно добавить в портфолио или продать.
Такой опыт можно получить на бесплатном практикуме уже завтра с поддержкой от опытных кураторов на каждом этапе.
👉 Приходи на бесплатное обучение
🔥 Набор идёт до 21.07.
Б
Будни разработчика
15.07.2026 19:01 · 👁 934
#заметка дня
Вчера сайт 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
Б
Будни разработчика
15.07.2026 15:02 · 👁 936
⚡️⚡️⚡️⚡️⚡️
Нашли доступный способ платить за ChatGPT, серверы и AI-инструменты ▫️
Mirocard — виртуальные карты, которые пополняются криптой и работают как настоящие зарубежные Visa/Mastercard.
Ей вы можете оплачивать:
✔️AWS, GCP, Hetzner, Vultr и другие infra-платформы — без проблем
✔️ChatGPT, Claude, Cursor, Anthropic, OpenRouter — всё оплачивается
И сотни других сервисов!
А еще:
🤑Пополнение всеми популярными монетами с минимальными комиссиями (и совсем скоро запустится СБП🤫)
*️⃣Никакого ежемесячного обслуживания;
*️⃣Реквизиты как у обычной карты — просто вставляешь и платишь;
*️⃣Возможность подключения ежемесячной автооплаты.
⚡ Ребята дали промокод на бесплатный выпуск карты: HTML
Пользуйтесь в удовольствие 💎
ОТКРЫТЬ КАРТУ
Б
Будни разработчика
15.07.2026 12:04 · 👁 840
#статья дня
Леа Веру написала большой текст в защиту полифиллов. Поводом стало мнение одного из ключевых редакторов 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
Б
Будни разработчика
15.07.2026 05:41 · 👁 1K
#инструмент дня
Скриншоты для 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
Б
Будни разработчика
14.07.2026 13:13 · 👁 1.1K
#молния дня
Не планировал выпускать ещё один пост сегодня, но тут прям надо.
Есть автор такой, Дэн Холлик. Вы можете его знать по веб-сайту makingsoftware.com, где он буквально дотошно расписывает как работают современные (и не очень) компьютерные технологии.
Прям буквально про все: как работает экран, сеть, ИИ, GPU, шейдеры, сеть. Это потрясающая серия статей, которые он объединяет в книгу.
И вот как раз книжные части самые сочные. Но он их хранит, сюрприз, для книги и иногда открывает на пару-тройку дней. Не люблю такое, но что делать. А книгу буду покупать.
Так вот, он сегодня на пару дней выкатил статью «Как сделать шрифт». И это, как всегда, просто пушка. Дотошно и красиво, именно про основы: формирование координат и кривых.
Рекомендую: https://www.makingsoftware.com/chapters/how-to-make-a-font
#font #book