Будни разработчика
14.4K subscribers
1.41K photos
406 videos
8 files
2.32K links
Блог Lead JS-разработчика
Автор: @bekharsky

По рекламе: https://telepost.pro/ch/id2415 или https://t.me/it_adv

Чат: https://t.me/htmlshitchat

№5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978
Download Telegram
#инструмент дня

Забайтил твиттер этим скриншотом с успехом аж на 55 тысяч просмотров. На скриншоте изображён стрим экрана моего iPhone в приложении Device Hub.

И чо?

А в то, что в Евросоюзе приложение iPhone Mirroring для управления телефоном с ноутбука отключено уже второй год.

И нюанс тут вот в чём: причина отсутствия Mirroring — не техническая. Apple упирается в DMA, а конкретно в требования к interoperability. Если Apple даёт своему Mac особый доступ к возможностям iOS, сторонние производители тоже могут потребовать сопоставимый доступ. Сама Apple прямо пишет, что пока не нашла безопасного способа открыть iPhone Mirroring для non-Apple devices, не подвергая риску данные на телефоне. Поэтому в ЕС функцию просто не выпускают.

А Device Hub — пожалуйста.

Это инструмент разработчика, поэтому он живёт совсем в другой плоскости. Подключаешь физический iPhone, получаешь его экран прямо на Mac и можешь тыкать мышкой, печатать с клавиатуры и гонять приложение на настоящем устройстве, почти не трогая сам телефон.

Для отладки это, кстати, более чем круто. Симулятор симулятором, но возможность держать реальный девайс прямо рядом с Xcode сильно приятнее.

Обычный iPhone Mirroring он, конечно, не заменяет. Нет всей системной интеграции, уведомлений и сценария «телефон валяется где-то в квартире, а я пользуюсь им с Mac».

Короче, стримить айфон нельзя, но если очень хочется — то можно.

#ios #iphone #apple #eu
❤2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня

На macOS пункт меню после клика не исчезает сразу. Сначала выбранный пункт коротко моргает: подсветка пропадает, возвращается — и только потом меню закрывается.

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

На CSS сам эффект делается просто:


.menu-item:target {
animation: blink 150ms linear;
}

.menu:has(.menu-item:target) {
animation: close 150ms step-end forwards;
}


То есть выбранный пункт моргает, а меню ждёт те же 150 мс перед скрытием.

Вот даже собрал кодпен с примером: https://codepen.io/editor/alinaki/pen/01a0f12b-8d69-7192-90d7-b8b7562ef482

Без JavaScript это можно собрать через :target и :has(): выбранный пункт хранится в URL fragment. Для демки подходит отлично, для обычного компонента я бы всё-таки оставил состояние и закрытие на JS, а blink — в CSS.

Apple отдельно описывает такую обратную связь в HIG:
https://developer.apple.com/design/human-interface-guidelines/feedback

Такая-то мелочь, а насколько сильно меняется восприятие!

#css #macos #hig
🔥5❤4👍1
Если хочется немного обновить свою Telegram-ленту, собрали папку RIA — Recommended Iconic Authors.

Внутри в основном авторские IT-каналы: разработка, инструменты, библиотеки, релизы, заметки из реальной работы и всё то, что обычно интереснее очередного пересказа документации.

Разумеется, без AI тоже никуда: чат-боты, агенты, вайбкодинг и прочие способы заставить компьютер работать вместо себя хотя бы несколько минут.

Есть QA, информационная безопасность и просто хорошие технические каналы, где авторы не только пишут посты, но и отвечают в комментариях и обсуждениях.

В общем, вот папка. Подписываться на всё подряд не обязательно — можно спокойно выбрать то, что действительно хочется читать.
🤡2
👨‍💻 Фронтенд с AI: что можно делегировать агентам

5 октября, стартует конференция Podlodka Frontend Crew — сезон о том, как применять AI во фронтенд-разработке на практике.

Участники конференции узнают:

• Как находить prompt injection и противостоять таким атакам;
• Какие подходы помогают повысить доверие к результатам агентской разработки;
• Как проводить ревью кода, созданного AI-агентами;
• Как AI помогает упростить починку багов.

В программе ещё много практических кейсов. Также нужно отметить, что у конференции очень удобный формат. Это пять дней Zoom-сессий по утрам и вечерам и закрытое Telegram-комьюнити, где можно обсудить новый опыт и узнать от единомышленников то, что не догадаешься спросить у своей LLM.

Приходите, чтобы разобраться, какие задачи уже можно делегировать AI, где важно сохранять контроль и как выстроить системную работу с AI в команде или проекте.

🔗 Программа и билеты: https://podlodka.io/fecrew
❤2🔥2🤡1
Котаны, вам ещё и скидка по промокоду htmlshit, налетайте!
❤2🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня

Каждому смотрящему сериалы известно, что один из самых лучших способов сделать текст субтитров видимым на практически любом фоне — это добавить инверсную обводку.

Белый контур для чёрного текста, чёрный — для белого (внезапно).

Есть ли что-то подобное в CSS? Ну, конечно, есть! Как минимум, можно бросить тень aka text-shadow. Правда, синтаксис не очень интуитивный да и выглядит иногда странненько.

Какие ещё варианты? SVG text, очевидно, но там свои нюансы с доступностью и стилями.

И есть ещё!

-webkit-text-stroke-color

Несмотря на префикс, Firefox тоже его поддерживает (спорное решение, но уж как есть).

Вот только как всегда есть нюанс. По-умолчанию, обводка будет нарисована перед слоем с текстом. Это очевидно, если понимать разницу между штрихом (stroke) и обводкой (outline), но всё же.

Поэтому paint-order: stroke нам в помощь! Таким образом, штрих будет отрисован первым, натуральным образом превратившись в обводку (при достаточной толщине, конечно же):


-webkit-text-stroke-color: white;
-webkit-text-stroke-width: var(--stroke);
paint-order: stroke;


#css #stroke #outline #бородач
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня

Давайте нормализуем выкладывание кода вместе с обучающим видео!

Немного раздражает, когда показывают красивый эффект, но оставляют только видео. Посмотреть можно, а понять, как повторить и что именно менять, — уже сложнее. Давайте исправлять: к ролику добавлять рабочий пример и короткий разбор.

Например, эффект с надписью PRO собран из нескольких простых приёмов SVG:

1. Буквы сведены к одному силуэту, поэтому фильтр обрабатывает их как цельную форму.
2. Размытие альфа-канала и композиция создают внутреннюю тень.
3. По буквам движется повторяющийся градиент — он задаёт светлые и тёмные участки.
4. feComponentTransfer переводит оттенки в цвет по таблицам RGB.
5. На финальном шаге контур возвращает буквам чёткость, а зерно добавляет фактуру. Цвет контура зависит от градиента и меняется вместе с ним.

Хороший пример показывает результат по этапам: включил шаг — увидел, что он добавил. Ещё полезно приложить минимальный запускаемый код, дать менять параметры и отметить, если часть значений пришлось восстановить приблизительно.

Собственно, вот вам хороший пример от меня: https://codepen.io/editor/alinaki/pen/01a0f735-901e-7978-a733-f7e89bd82597

Видео хорошо передаёт движение. Демо и код помогают разобраться, повторить и поэкспериментировать.

Хотелось бы, чтобы и публиковали их вместе.

#css #svg #effect #animation
❤6
⚡️ JavaScript, архитектура и ИИ: о чем будут говорить на юбилейной HolyJS 2026 Autumn

📆 23-24 октября в Санкт-Петербурге и онлайн пройдет юбилейная HolyJS 2026 Autumn — IT-конференция для всех, кто использует JavaScript-технологии для фронтенда и бэкенда. 

В этом году в программе остается все, за что любят HolyJS: JavaScript, браузер, React, архитектура, производительность и инструменты. Но все это теперь существует в мире, где ИИ становится частью разработки — от написания кода до проектирования и работы с production.

Поэтому в программе есть и фундаментальный JS-инжиниринг, и практические кейсы с ИИ, и доклады, после которых можно сразу что-то попробовать в работе. А еще — воркшопы, где про новые подходы можно не только послушать, но и «потрогать» их руками.

Полное расписание и подробности смотрите в карточках и на сайте.

🌟По промокоду htmlshit персональные билеты дешевле

Купить билет

Реклама. ООО «Джуг Ру Груп». ИНН 7801341446