Фронтендер от бога
3.39K subscribers
1.19K photos
19 videos
1.14K links
Божественные дайджесты по фронтенду и немного юмора.

По всем вопросам: @godinmedia
Download Telegram
Вебмастеры и реликтовый веб

#почитать

"Ты помнишь, как все начиналось,
Все было впервые и вновь..."
Перевернем подзорную трубу и взглянем на маленький интернет конца 1990-х - начала 2000-х годов, где не было регуляторов, не было слежки, не было мошенников, а все ограничения были только техническими.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Как я полюбил LESS и с его помощью избавился от копипасты в своём CSS-коде, а разметку сделал семантической

#почитать

В силу личной специфики (я чаще работаю не над веб-страницами, а над интерфейсами для десктопных и мобильных приложений, которые пишу на HTML/CSS), я долго избегал рабочие процессы сложнее, чем «отредактировал CSS-файл и сохранил его», и открыл для себя CSS-препроцессинг довольно поздно, но… В наши дни он, в общем-то, ничуть не устарел, и актуален не меньше, чем раньше. Так что, если вы пишете CSS (а не генерируете его) для чего угодно (SPA, приложения, лендинги, веб-аппы и т.д.), но до сих пор не пользуетесь LESS или SASS — приглашаю под кат, где я, стараясь не опускаться до уровня «очередной-пересказ-учебника», немного расскажу о принципах LESS, инструментах, его текущем состоянии и поделюсь своими техниками и приёмами (с примерами). А если вы не пишете CSS, но знакомы с традиционными языками программирования, всё равно добро пожаловать: я провожу параллели между ними и LESS, а заодно рассказываю об очень полезных принципах проектирования от Алана Кея.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Полное руководство по типу Number и объекту Math

#почитать

Числа — это основа многих программ, будь то расчёты в играх, обработка данных в формах или генерация случайных событий. В JavaScript числа представлены типом Number, который охватывает как целые, так и дробные значения. А для сложных математических операций есть встроенный объект Math, который предоставляет множество полезных методов. Если вы новичок в веб-разработке, понимание чисел и их возможностей в JavaScript — это ключ к созданию динамичных и функциональных приложений. В этой статье мы подробно разберём тип Number, объект Math, специальные значения вроде Infinity и NaN, а также покажем, как использовать их в реальных проектах.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
AsyncAPI — Swagger для асинхронного API

#почитать

Я Java разработчик в компании ИТ-холдинг Т1 с 15 летним опытом, из которых последние 5 лет работаю в финтехе. Мой любимый стек — Java Spring. Я хочу рассказать такое AsyncAPI, как работать со спецификациями, какие есть инструменты и поделюсь нашим опытом перехода на подход API First в наших системах.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Как избежать ошибок при использовании useEffect в React

#почитать

Почему дочерние эффекты выполняются раньше родительских? Как архитектура React Fiber влияет на порядок вызова хуков? Ответы на эти вопросы помогут лучше понять механизмы работы React и писать более предсказуемый код.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
HTML- и CSS-советы для джуниор фронтенд-разработчиков

#почитать

Я начинал изучать вёрстку в 2010 году. Я не знал английский, поэтому у меня был ограниченный набор материала. Кто помнит видеоуроки Попова?

Хорошо, что сейчас ситуация уже лучше. В целом можно найти очень классные статьи, видео и бесплатные курсы. Но и мне есть что сказать!

Я собрал несколько советов. По моей задумке, если вы обратите внимание на эти аспекты, то ваш код будет лучше.

Давайте посмотрим, что я вам подготовил.


⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Псевдоклассы валидации форм: делаем интерфейсы понятнее

#почитать

Когда вы создаёте веб-форму, важно, чтобы пользователь сразу понимал, правильно ли он заполнил поля. Здесь на помощь приходят псевдоклассы :valid и :invalid. Эти инструменты, доступные в браузерах с 2018 года (согласно Baseline, статус «Widely Available»), позволяют стилизовать элементы формы в зависимости от того, проходят ли они валидацию. Представьте: пользователь вводит email, а поле подсвечивается зелёным, если всё верно, или красным, если что-то пошло не так. Это не только удобно, но и делает интерфейс интуитивно понятным даже для новичков.

Кроме того, существуют псевдоклассы :required и :optional. Они помогают визуально выделить обязательные и необязательные поля. Например, можно добавить звёздочку или изменить цвет границы для обязательных полей, чтобы пользователь сразу знал, что их нужно заполнить.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
JavaScript: хочу свой HTMLElement

#почитать

Просто хочу строить свой DOM из своих кирпичей.
С преферансом и поэтессами...
И, если уж на то пошло, может быть что‑то типа: «раз пошла такая пъянка...»

Думаю некторые понимают, что так можно, но — повторение мать учения, и, то есть, никто не мешает и не мешал делать не так, как все привыкли, не брать чей‑то готовый код, и не оставаться в рамках ограничений, наложенных кем‑то на что‑то «просто потому что».


⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что такое инкрементальная гидратация в Angular

#почитать

Если вы когда-либо запускали SSR в Angular, вы наверняка сталкивались с этим парадоксом: страница вроде бы загружается молниеносно, но ощущается медленной. Контент есть, кнопки на месте — а кликаешь по ним, и в ответ тишина. Почему? Потому что браузер всё ещё «оживляет» интерфейс — запускает JavaScript, подключает обработчики, восстанавливает состояние. Это и есть гидратация, и в классическом исполнении она не так уж и быстра.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что новенького есть в CSS в 2025 году

#почитать

Мне всегда было интересно наблюдать, как развивается CSS. Держу себя в форме, чтобы не пропустить что-то важное. А недавно подумал: «Почему бы не поделиться ими с подписчиками?». И я тут.

Составил список новинок, которые мне кажутся важными и интересными. Есть несколько новых возможностей, которые очень сильно изменят CSS. Думаю, лучше готовиться к ним заранее.

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


⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Резервные значения пользовательских свойств CSS

#почитать

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

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В чём разница между <p> и <br>

#почитать

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

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Мощь Intl API: подробное руководство по встроенной в браузер интернационализации

#почитать

В двух словах: интернационализация — это не только перевод текста. Она включает в себя форматирование дат, правильное образование множественного числа, сортировку имен и многое другое с учетом конкретных локалей. Вместо тяжелых сторонних библиотек современный JavaScript предлагает Intl API — мощный встроенный инструмент для работы с i18n. Еще одно напоминание о том, что веб действительно глобален.

Существует распространенное заблуждение, что интернационализация (i18n) сводится лишь к переводу интерфейса. Перевод, конечно, важен, но это лишь одна из частей. Настоящая сложность — в адаптации информации под культурные особенности.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Всё самое важное о псевдоклассе :default

#почитать

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

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Как скачать JSON на JavaScript: метод fetch()

#почитать

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

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
<details name>: эксклюзивные аккордеоны на чистом HTML (+ стили через :has())

#почитать

За последний год HTML получил деталь, которая меняет привычные «аккордеоны». У <details> появился атрибут name, и этим всё сказано: теперь эксклюзивные аккордеоны можно сделать без строчек JavaScript, а стили и поведение дочистить через :has(). Поддержка стала широкой, а старые практики на дивчиках и ролях можно оставить для случаев, когда действительно нужна сложная логика.

В HTML у нас давно есть пара <details>/<summary>. Браузер сам рисует disclosure-виджет, умеет разворачивать содержимое, бережно обращается с фокусом и клавиатурой. Сейчас поверх этого добавился name, который превращает набор из нескольких <details> в группу, открываешь одно и закрываются остальные из той же группы. Если в группе вы отметили несколько элементов open в исходнике, браузер оставит открытым первый по порядку.

⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
▫️Как умение продавать помогает разработчику

#посмотреть

В жизни каждого разработчика наступает тот самый момент "X"...
... когда его зовут на встречу с клиентом, заказчиком, партнером или просто с соседней командой.

⏱Смотреть на YouTube ⏱️50 минут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1👌1
Максимально простое объяснение устройства микрофронтендов

#почитать

Что такое микрофронтенды простыми словами. Объясняем на примерах, что это такое и как используется.


⏱Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1👌1
Большие веб-приложения: остаемся эффективными с ростом команды и кодовой базы

#посмотреть

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


⏱Смотреть на YouTube ⏱️50 минут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
🪐 Новые вакансии фронтендеров

🚀 Frontend-разработчик (Vanilla JS) в NDA (хайлоад-проект), 200 000 - 300 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/frontend-razrabotchik-vanilla-js-high-load-nda-hajload-proekt-11c5f387

🚀 Frontend Developer в NDA (проект iGaming), 320 000 - 400 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/frontend-developer-nda-proekt-igaming-ff48b78e

🚀 Frontend Developer в Олдис, 50 000 - 80 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/frontend-developer-oldis-c4225f3f

🚀 React Frontend разработчик в NDA (SaaS-сервисы), 60 000 - 130 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/react-frontend-razrabotchik-nda-saas-servisy-e79628d4

🚀 Frontend разработчик (react) в NDA (Криптокошелек), 280 000 - 400 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/frontend-razrabotchik-react-nda-kriptokoshelek-1bc75b7a

🚀 Fullstack Engineer в NDA (MVP разработка), oт 300 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/fullstack-engineer-nda-mvp-razrabotka-b0ddbed3

🚀 React разработчик в NDA (ИТ-проекты), 50 000 - 90 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/react-razrabotchik-nda-it-proekty-60da4a53

🚀 Senior Frontend (React JS / Next JS) в Sprut Gaming, oт 200 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/senior-frontend-react-js-next-js-sprut-gaming-7293ee8e

🚀 FullStack-разработчик в INTOP, 120 000 - 180 000 ₽
Подробнее ➡️
https://jobrocket.ru/ru/job/fullstack-razrabotchik-intop-3d72702b

Больше вакансий фронтендеров здесь ⤵️
https://jobrocket.ru/ru?page=1&categories=frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿5👍2🔥1