htmlshit | Unsorted

Telegram-канал htmlshit - Будни разработчика

14544

Блог Lead JS-разработчика из Хельсинки Автор: @bekharsky По рекламе: https://telega.in/channels/htmlshit/card?r=GLOiHluU или https://t.me/it_adv Чат: https://t.me/htmlshitchat

Subscribe to a channel

Будни разработчика

#инструмент дня

Я сегодня решил написать пост, не отходя из кассы.

Итак, преамбула: проект развивается 10 лет, с 2014 года. Стек: Google AppsScript, JavaScript, TypeScript, jQuery, React, RSPack.

Когда я пришёл в 2019 году в компанию, основной JS-файл представлял из себя монстра на 40 000 строк. Да-да, монолитный файл, в котором люди ворочали селекторы с помощью jQuery!

И это только фронтенд-часть.

Сказать, что я офигел, устроившись на работу, это ничего не сказать. Но что делать.

Дождался Рождества, когда все разъеъхались и не мешали, а мне толком некуда было, и распилил монолит. Потом начали переводить какие-то части на React, собирать и рендерить их по-отдельности, внедрять feature-флаги для разделения пользователей, экспериментировать... весёлый хаос.

С последним редизайном проект окончательно перешёл на React в смысле рендера (не бизнес-логики и контроля, но это поправимо).

Поскольку, переход произошёл довольно таки радикально, с созданием новой точки входа (entrypoint), естественно, образовалась куча мёртвых экспортов, от которых даже WebStorm-у немного стало плохо.

И сегодня я, наконец, разрулил эту проблему инструментом Knip: https://knip.dev/

Отображает все мёртвые (неиспользуемые) файлы, мёртвые экспорты, зависимости. Легко конфигурируется, хотя прекрасно работает и без этого (конфигурация заключается в настройке точек входа, если у вас дефолтные — не парьтесь).

Итог — минус 10000 строк и 30 неиспользуемых файлов. Считаю, отличный результат. Стало легче ориентироваться.

Ну и по пути нашёл файл, который так-то стоило бы вернуть в оборот... 🫠

В общем, естественно, рекомендую, котаны!

#js #ts #cleanup #unused

Читать полностью…

Будни разработчика

#инструмент дня

Как часто вы произносите “ой”, работая с Git? Или, того хуже, “упс”? Не говорю уж про “бля”…

Не та ветка, не туда закоммитили, не те файлы, случайно грохнули ветку, зря запушили, не то сообщение, забыли вернуть работу из stash…

Так вот, если Git это бесконечный undo для ваших проектов, то ugit — это undo для Git!

Ссылка: https://github.com/Bhupesh-V/ugit

КДПВ говорит сама за себя.

#git #бородач

Читать полностью…

Будни разработчика

Платные курсы больше не нужны

Вот каналы, чтобы освоить Frontend разработку с нуля 👇

📌Senior Frontend - JS, HTML и CSS

📌Frontend Interview - как проходить собеседования

📌Frontender Libs - библиотеки для фронтендеров

📌Web Craft - только Web-разработка


С таким набором легко зайдешь в IT💪

Читать полностью…

Будни разработчика

#библиотека дня

Мне очень нравится концепция командного интерфейса. Я даже не говорю сейчас о консоли (командной строке), я говорю о панели команд Sublime Text, VS Code и macOS Spotlight.

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

Почему нравится? Потому что поиск происходит в fuzzy-манере, мне не нужно помнить точное название пункта меню и/или команды. Я просто ввожу что примерно хочу сделать. Очень уютно.

Так вот, некоторые веб-приложения становятся настолько огромны, что было бы неплохо иметь подобный командный интерфейс. И вот сегодняшняя библиотека предназначена как раз для этого: https://github.com/albingroen/react-cmdk

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

#command #lib #ui #ux #бородач

Читать полностью…

Будни разработчика

#тип дня

Что делать если вам нужно создать тип, параметры которого служат для передачи в библиотечную функцию? Aka тип аргументов не торчит наружу?

Не делайте это ручками, используйте служебный тип Parameters!


const createPerson = ({
firstName,
lastName
}: {
firstName: string,
lastName: string
}) => ({
firstName,
lastName
})

type CreatePersonParams = Parameters<typeof createPerson>[0];

const params: CreatePersonParams = {
firstName: 'John',
lastName: 'Doe'
};


Песочница

#typescript #utility

Читать полностью…

Будни разработчика

IT-гиганты набирают начинающих разработчиков.

В 2024 компаниям важен не просто опыт, а подготовленный специалист, который сможет закрыть задачу. Начинающие разработчики уже устраиваются в Сбербанк, Тинькофф, Яндекс и Вконтакте.

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

Об этом, а также о том, какие ключевые hard и soft skills качать в первую очередь, как искать лучшие вакансии в IT, сделать портфолио идеальным для работодателя и получить желанный оффер от 100 000 рублей, узнаете на онлайн-эфире от FAANG School.

Мастер-класс
проведет разработчик из BigTech-компании с многолетним опытом.

Переходите, полезные подарки уже ждут:
- Подробный гайд «Как найти работу в IT»
- Пошаговый Roadmap по Java
- Шпаргалка «Hotkey JetBrains IDE»
- Шпаргалка по Rest API

Читать полностью…

Будни разработчика

#фишка дня

Многие (к сожалению, не все) кто хоть раз разрабатывал формы, сталкивались с элементом label (лейбл, ярлык, как вам угодно). И знают, что при правильном его использовании пользователю не приходится целиться мышью в галочку или радиокнопку.

Кто-то добавит при этом, что скринридеры могут ассоциировать лейбл с элементом ввода и пользователи с нарушением зрения могут легко сориентироваться в вашей форме.

Но не все знают, что лейбл можно повесить и на элемент button: https://codepen.io/alinaki/pen/XWjLedQ

Да, возможно, кнопке свой ярлык не нужен и даже MDN сообщает нам об этом, но!

Но в лейбл можно добавить дополнительную информацию, которая будет однозначно и семантично связана с кнопкой и поможет, например, скринридерам или при создании тултипа.

Лейблом можно продублировать кнопку без внесения лишней когнитивной нагрузки (но не стоит, фокус он не примет). Пожалуй, для каких-нибудь игровых интерфейсов вполне может быть приемлемо.

А вот если вы не используете кнопки и балуетесь role=“button” на div-ах (в лучшем случае) — этой возможности вы лишены в принципе.

#html #button #label #бородач

Читать полностью…

Будни разработчика

#codepen дня

Не думаю, что вы помните это изображение. Но оно — с одной из презентаций Apple. Кажется, iPhone 13. Список сотовых операторов-партнёров яблочной конторы.

Так вот.

Прелесть этой сетки логотипов в том, что она весьма сбалансирована.

Недостаточно просто взять и сделать все изображения одной ширины или одной высоты. Тут думать надо.

И вот один из вариантов попытки автоматизации подобного: https://codepen.io/jaredstanley/pen/VwYPvJO

Есть некий коэффициент scaleFactor. 0 — к единому значению приводится ширина, 1 — высота. Ну а baseSize — к чему в итоге приводить. А дальше — подбирай порядок и нужные параметры, чтоб неплохо смотрелось.

Кто-нибудь находил нечто подобное в виде плагина для Figma?

Где-то в закладках у меня лежала информация о подготовке изображений для такой сетки... завтра найду и закину.

#js #grid #img #бородач

Читать полностью…

Будни разработчика

🔲 Посмотрите, как выглядит стол промышленного дизайнера. Авенир Бабин работает в команде Яндекс Маркета и создаёт дизайн для бренда аксессуаров Commo: наушников, пауэрбанков, чехлов и зарядных устройств.

Commo — это один из собственных брендов Яндекс Маркета. Помимо него, маркетплейс также развивает, например, бренды велосипедов Raskat, мебели и товаров для дома Pragma, компьютерной техники Lunnen и другие.

Подписывайтесь @yandex

Читать полностью…

Будни разработчика

#библиотека дня

Скажи мне, узнаёшь ли стиль на картинке, и я скажу, сколько тебе лет.

Ну или что ты учился в пост-советской школе, ха-ха.

Так или иначе, TuiCSS. Буквально — Turbo Vision UI CSS: https://github.com/vinibiavatti1/TuiCss

Не знаю, зачем оно. Но мало ли, приступ ностальгии или вечеринка в стиле.

Мне больше по душе NES.css, его для ретро-игр использовать милое дело: https://nostalgic-css.github.io/NES.css/ 😍

#ui #css

Читать полностью…

Будни разработчика

#статья дня

Тот случай, когда статья девятилетней почти давности не потеряла ни капли актуальности. Превращаем GIF в SVG и анимируем с помощью CSS: https://cssanimation.rocks/buffer/

1. Как векторизовать изображение (трейсинг).
2. Как разбить анимацию на составляющие (метод таймлайна).
3. И как, собственно, реализовать на ключевых кадрах.

Вечнозеленая, я бы сказал, статья.

#css #svg #gif #animation

Читать полностью…

Будни разработчика

#ссылка дня

Подробное руководство по выгоранию входу во фронтенд в 2024 году.

Прекрасно оформленное и проиллюстрированое.

От базы сетей до популярных фреймворков и подготовки резюме. Все баззворды и их пояснение в одном месте.

Пользуемся:
https://frontendmasters.com/guides/front-end-handbook/2024/

#guide #frontend

Читать полностью…

Будни разработчика

#статья дня

Вы (да и я) могли раньше не обращать внимания, но animation-timing-function применяется к каждому ключевому кадру, описанному в блоке keyframes.

Т. е. имея такую анимацию:

box-animation {
from, 5% {
left: 10px ;
}
25%, 40% {
left: 30% ;
}
60%, 75% {
left: 70% ;
}
95%, to {
left: calc( 100% - 90px ) ;
}
}

и animation-timing-function равный cubic-bezier(.55, -0.64, .42, 1.63) мы получим результат, изображённый на иллюстрации. Т. е. функция анимации будет применена на каждый временной отрезок, а не на всё время проигрывания. Думайте об этом как о color-stop в градиентах.

Такое поведение описал Бен Нэйдл (Ben Nadel) в своей статье https://www.bennadel.com/blog/3885-animation-timing-functions-get-applied-per-keyframe-in-css.htm

#css #animation #keyframes

Читать полностью…

Будни разработчика

Программирование сейчас - один из немногих социальных лифтов, доступных всем!

Лучший способ начать свой путь в IT - изучать Python. Этот язык не такой сложный для изучения, однако на нем создают сайты, чат-боты и даже искусственный интеллект. Например, Netflix, YouTube и Google написаны на этом языке.

С нуля стать опытным разработчиком со средней зарплатой в 180 000 рублей можно в онлайн-школе Product Star на курсе “Профессия: Python-разработчик”. Курс создан специалистами из топовых компаний с реальным опытом в индустрии, благодаря чему в процессе обучения вы будете погружаться в реальные кейсы.

После обучения ваше портфолио пополнится проектами, которые будет не стыдно показать любому работодателю. И самое главное: Product Star гарантируют трудоустройство, а если в процессе поймете, что специальность не для вас, вам вернут деньги.

Станьте Python-разработчиком вместе с ProductStar. Скидка до 57% и техническое собеседование с топовым разработчиком в подарок - https://tglink.io/021390a35303

Реклама. ООО "ТРИВИУМ". ИНН 7806297293.

Читать полностью…

Будни разработчика

#video дня

Видео с прошедщего ReactConf ещё только предостоит посмотреть, не получилось сделить за лайвом, но плюс-минус параллельно с ReactConf шёл же ещё Google I/O 2024! Меня, правда, там больше интересовала ситуация с Flutter, но тем не менее, новинки веба тоже были.

И одна из них — плавные/анимированные переходы скоро будут (да и уже) возможны не только между экранами одного приложения, но и между разными страницами и даже доменами! Т. н. Cross-document view transitions.

Видео с анонсом: https://www.youtube.com/watch?v=eY6C_-aDdTo
Документация: https://developer.chrome.com/docs/web-platform/view-transitions

Пример: https://view-transitions.netlify.app/stack-navigator/mpa-prerender/ (Chrome Canary)

Как всегда, в выигрыше разработчики ПО для киосков :) Им-то обновить движок легче всего.

#css #view #transition

Читать полностью…

Будни разработчика

Хотите стать ассистентом преподавателя?

Участвуйте в конкурсе Яндекс Образования и попробуйте себя в новой роли. Ассистент — правая рука преподавателя: он готовит материалы к занятиям, помогает во время сессии, отвечает на вопросы студентов и даёт им развёрнутый фидбек.

Если вы хотите познакомиться с лучшими практиками преподавания IT-дисциплин, стать сильным ментором и изучить основы педагогики, подайте заявку до 31 мая 2024 года.

Участвовать в конкурсе могут студенты и аспиранты IT-специальностей. Победители конкурса пройдут обучение и получат финансовую поддержку, а ещё доступ к сервисам и обучающим материалам Yandex Cloud.

[Узнать детали]

Читать полностью…

Будни разработчика

#статья дня

Даже не одна статья, а целая серия из пяти. Автор — Артём Сапегин.

И серия статей эта — о тестировании в React. От лучших практик и ответа на вопрос, зачем тестировать вообще (кстати, зачем?), до описания работы с Jest, Enzyme, React Testing Library (ныне уже стандартный способ), Cypress и Playwright.

Ссылка на первую статью цикла: https://sapegin.me/blog/react-testing-1-best-practices/

Надо отметить, что начало цикла — это 2020 год (камень в огород Артёма: это было весьма сложно вычислить, нужны даты), но каждая из статей была не раз обновлена.

Ну и с тех пор Enzyme практически перестали использовать, во всяком случае в моём кругу. Если у вас иная информация — поделитесь.

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

#react #testing

Читать полностью…

Будни разработчика

#фишка дня

Кому ещё не надоели споры, что быстрее, # или ., * или :has — те будут рады новой фишке Chrome DevTools в Chrome 125 — Selector Stats!

Кстати, её сделали разработчики Edge, они много внимания уделяют развитию DevTools вообще. Ну что же, у каждого свой PR :)

Впрочем, тем, кому эти споры надоели, можно лишний раз напомнить: CSS вряд ли станет бутылочным горлышком. Ну разве что новые селекторы, has, is, not и злое использование .foo > * и то это надо постараться.

#devtools #chrome #performance

Читать полностью…

Будни разработчика

Бесплатный практический вебинар для всех возрастов: Профессия «Frontend-разработчик».

⏰ Когда: уже 23 мая в 19:00 по мск.

Вы узнаете о типичных рабочих задачах программиста и напишете мини-игру, которая работает прямо в браузере. Под капотом немного HTML+CSS и базовые конструкции JS.

Расскажем, что ждут работодатели от джунов, какие есть грейды во фронтенд-разработке и на какую зарплату рассчитывать в перспективе. Какие JS фреймворки учить: Vue, React, а может, Angular?

🎁 Всем, кто зарегистрировался — Карта компетенций начинающего Frontend-разработчика, а каждому участнику — Гайд «Как заговорить на сленге IT-специалистов».

Читать полностью…

Будни разработчика

#заметка дня

Сегодня у моего коллеги случился aha moment. Ближайший перевод на русский... кто-то говорит "Эврика", но это не совсем то.

Короче, до него наконец-то дошло, почему я просил его не включать элементы-обёртки в компоненты. Аж "спасибо" написал и пожаловался на коллег в новой команде, куда его временно перевели.

Под элементами-обёртками я имею в виду, например, различные виды карточек.

Тут могла бы быть ссылка на компонент Card из Chakra UI, но это не совсем то.

В общем, карточка, Card, в неком UI представляет из себя контейнер, который имеет заголовок, границу и поля. Всё, что внутри — тело компонента, полезная нагрузка.

Что делают разработчики? Правильно, делают Card частью компонента, упихивая и полезную нагрузку и обёртку в одно целое.

Что делают разработчики когда им требуется использовать полезную нагрузку в другом месте?

Правильно, переопределяют стили Card! Кто кастомным классом, кто через css-проперти.

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

Тем более, стандартная обёртка из UI-кита.

Тем более, если эта обёртка каким-то образом влияет на положение элемента в пространстве: внешние отступы, позиционирование, прилепляемость.

И пример, конечно, вот так вот — не надо:


const CustomField = () => (
<Box mb={2}>
<input />
</Box>

<CustomField />


Надо вот так:

const CustomField = () => <input />

<Box mb={2}>
<CustomField />
</Box>


Сегодня у вас тут коробка, а завтра — sticky-коробка, а послезавтра — компонент участвует в вертикальном списке. Будете набрасывать стили на коробку? Конечно же нет. Используйте композицию.

Читать полностью…

Будни разработчика

#статья дня

Если кто-то из вас ещё не знаком с комик-стрипами xkcd, я настоятельно рекомендую проникнуться.

Ещё можно пойти и проникнуться классическим Flash-мемом из 2005 года Blue Ball Machine (осторожно, звук).

А теперь к делу. Народу из xkcd показалось забавным на 1 апреля 2024 года выпустить нечто подобное, но помасштабней.

Виральности проекта хватило на то, чтобы буквально просто интегрировать интерактивную сумасшедшую машину в стандартную сетку комиксов: The Machine.

Так вот, авторы выпустили статью, описывающую создание машины начиная от прототипа и базовых решений до отладки: https://chromakode.com/post/xkcd-machine/

Естественно, уже никакого Flash :) Всем заправляет физический движок Rapier, написанный на Rust и собранный в WASM. Данные из движка транслируются в контекст React и, как можно догадаться, всё остальное приложение написано на React.

Да, всё, что вы можете увидеть в машине — это элементы DOM!

Им просто хотелось понять лимиты DOM. Не нащупали.

И самое крутое — проект открытый, можно посмотреть исходники, почерпнуть полезности и собрать: https://github.com/xkcd/incredible

В общем, моё почтение.

#machine #xkcd #react #rust

Читать полностью…

Будни разработчика

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

На курсе мы поможем вам:

— освоить новые навыки и извлекать больше пользы из своих софт-скилов;
— углубить знания в алгоритмах, DevOps, бэкенд‑разработке и смежных сферах;
— сделать с нуля 2 проекта — до работающих приложений.

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

→ Начать курс бесплатно

Читать полностью…

Будни разработчика

#ссылка дня

Хотите флагов? Их есть у меня!

https://flagpack.xyz/

Больше 250 флагов в комплекте с исходниками в Figma и Sketch. Ну и, понятное дело, компоненты для React, Vue и Svelte. PNG и SVG.

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

Лицензированы по MIT.

#flags #icons #design

Читать полностью…

Будни разработчика

#заметка дня

Как часто вы используете отладчик браузера для поиска проблемных мест в своих скриптах?

А надо чаще!

Но одна из проблем отладки современных веб-приложений — огромное количество сторонних скриптов. Начиная от пакетов node_modules, заканчивая средствами аналитики и журналирования.

В какой-то момент глубина погружения начинает раздражать. Мы же при разработке исходим из того, что сторонние скрипты протестированы, отлажены и, говоря об аналитике и журналировании, не влияют на окружение. Чистые в общем. Что же делать?

Очень просто! Смотрим иллюстрацию. У вас есть три варианта:
• Add directory to ignore list: для пропуска node_modules, если у вас, конечно, карта кода подключена.
• Add script to ignore list: для пропуска конкретного скрипта
• Add all third-party scripts to ignore list: игнорировать все сторонние скрипты разом (Chrome 112).

Подробнее, как обычно, нужно читать в блоге разработчиков Chrome.

Рекомендую туда почаще заглядывать, котаны.

#devtools #ignore #sourcemaps #бородач

Читать полностью…

Будни разработчика

🚀 Регистрация на хакатон «Ясная Система: сделай сложное понятным» от МТС стартовала! У тебя будет неделя, чтобы попрактиковаться в машинном обучении и сделать финтех инклюзивнее.

Призовой фонд – 375 000 рублей. Оставляй заявку до 24 мая и участвуй в соревновании онлайн из любого города России: https://cnrlink.com/mtshacktomskbudnyrazrab

🤖 Задача – создать сервис, который сможет перевести сложные банковские тексты из датасета в ясные формулировки, подходящие для людей с ментальными особенностями, пожилых людей и иностранцев, плохо владеющих русским языком.

Церемония открытия соревнования пройдет 25 мая на фестивале «Система Fest» в Томском государственном университете. Посетители смогут поучаствовать в насыщенной программе мероприятия.

Для онлайн-участников МТС проведет два митапа с экспертами. 2 июня авторы 10 лучших проектов выступят с питчингами на церемонии награждения победителей.

➡️ Регистрируйся прямо сейчас, чтобы ничего не пропустить: https://cnrlink.com/mtshacktomskbudnyrazrab

Реклама. ПАО "МТС". erid:LjN8KAMwL

Читать полностью…

Будни разработчика

#фишка дня

Если вам не пофиг на удобство пользования формами и сайтами вообще, то вы хоть раз, но задумывались о порядке перехода клавишей Tab по полям, ссылкам и кнопкам. Сидели, расставляли tabindex, что-то игнорировали, где-то ставили ловушки фокуса... Потом сидишь, как дурак, табаешь. Так вот.

И в Chrome, и в Firefox можно включить отображение порядка tabindex! Причём, в Firefox проще: DevTools — Accessibility — Show Tabbing Order. Осторожно, на больших сайтах рендер занимает время!

А вот в Chrome называется и работает похожая опция иначе: Show source order. Почему не Tabbing? Потому что суть у неё малость иная.

В то время, как Tabbing order показывает порядок следования по всем интерактивным элементам, Source order показывает порядок следования узлов в выбранном родителе. Но свои задачи решает хорошо.

А так ещё можно воспользоваться расширениями вроде Polypane или Taba11y.

#a11y #firefox #chrome #бородач

Читать полностью…

Будни разработчика

Давно работаете стажером и никак не можете найти постоянное место работы?

Устали от тысячи собеседований, где десяток человек пытается пробиться на ЗП в 50 тысяч.

Надоело что от джунов требуют 10-летний опыт и навыки сеньора?

Вы всегда можете быстро стать разработчиком 1С. Приходите на вебинар 29 мая в 19:00 и мы расскажем об этой профессии.

Почему именно 1С?

🔸Большинство компаний в РФ “сидят” на 1С. А благодаря новым законам еще больше компаний переходит на 1С сейчас

🔸1С ежегодно обновляет свою продукцию, поэтому у разработчиков всегда есть работа.

На вебинаре 29 мая в 19:00 мы расскажем:

- Чем отличается встроенный язык 1С от остальных языков программирования?
- Какие знания из других языков программирования вам понадобятся на старте?
- Как быстро переквалифицироваться в 1С разработчика и начать получать заказы?
А еще мы разберем вакансии и посмотрим тестовые задания для разработчиков 1С, обсудим карьерный путь и ЗП.

Записывайтесь на вебинар сейчас и приходите в среду в 19:00.

P.S.
Всем, кто зарегистрируется мы вышлем словарь 1С разработчика для ознакомления.

Читать полностью…

Будни разработчика

#фишка дня

Вне зависимости от модных поветрий, отсутствие тёмной темы на ресурсах начинает иногда раздражать.

Давайте сделаем свою. Для любого сайта.

Секунд за пять.

1. Инвертируем всё к чертям.
2. Поворачиваем колесо hue (тон) на 180 градусов чтобы получить более приятные глазу цвета.
3. Отменяем эти фильтры на картинках.
4. …
5. PROFIT!!11

Ну и быстрый пример, основанный на уже известном вам газетном макете: https://codepen.io/alinaki/pen/jOBvzdW

Предупреждение от автора способа: «Важно отметить, что такой хак форсирует вынос блока в отдельный слой рендеринга. Так что если внутри используется абсолютное позиционирование с огромными координатами, то такой слой может не влезть лимиты по памяти, и, как следствие, не дорендериться до конца».

Впрочем, он же пишет, что повторить подобное поведение ему не удалось.

Я у себя включил этот сниппет в браузерное расширение, позволяющее применить любой CSS к любому сайту. И иногда включаю, по настроению.

#css #darktheme #filter #бородач

Читать полностью…

Будни разработчика

#такое дня

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

Первый раз — часовые пояса, ок. Договорились, переназначили. И снова не пришёл.

Ну, думаю, нам не очень нужен кандидат, не умеющий в часовые пояса.

К слову, если ты считаешь себя лид-фронтом или добротным фуллстеком — нам очень надо 🙂

Читать полностью…

Будни разработчика

#баг дня

Один браузер для всех это же так прекрасно, не правда ли?

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

Например, этот: https://bugs.chromium.org/p/chromium/issues/detail?id=914451

TL;DR: такое количество боли в комментариях мало где найти можно. Причина? С 2014 года игнорируется атрибут autocomplete="off" на формах.

К чему это приводит? К сломанным виджетам выбора с автоподстановкой (autocomplete, combo-box), сломанным интерфейсам выбора даты, к ошибочным заказам в интернет-магазинах... Да просто почитайте поток ненависти 🙂

Зачем это было сделано? Ну им нужно было продвигать свои фичи для логина, управления паролями, адресной книги.

Количество предложенных хаков для исправления огромно, от contenteditable вместо полей ввода до рандомных строк в autocomplete.

Дискуссия ещё и перегибает палку там, и очень часто. Потрясающее чтение, рекомендую.

#chrome #google #evil #бородач

Читать полностью…
Subscribe to a channel