Обновить
352.25

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

Мой список вопросов о CSS для собеседования в 2025 году

Время на прочтение7 мин
Количество просмотров15K

Хабр, привет!

Ко мне обращаются проверить знание CSS у разработчиков. Это может быть при найме или для составления плана обучения сотрудника.

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

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

Читать далее

В поисках идеального стека для Enterprise проектов: почему Java плюс MACH

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.1K

На протяжении многих лет команда Compo Soft успешно создавала eCommerce‑решения, клиентские порталы, PIM‑системы и другие решения малого и среднего бизнеса. Для этих задач было достаточно привычного стека на PHP и связанных с ним технологий. Когда в 2018 компания приняла стратегическое решение о выходе в сегмент Enterprise — встал вопрос о новом стеке. Им стала Java. В этой статье решили поделиться своим пониманием и опытом — почему сделан такой выбор, и почему PHP «не вывозит» Enterprise‑решения.

Читать далее

Что такое FHIR: основные концепции

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров678

Fast Healthcare Interoperability Resources (FHIR) - это прокотол для обмена медицинскими данными. Стандарт очень объемный, одних только ресурсов более полутора сотен, и цель данной статьи - дать стартовую точку для его изучения.

Это первый из запланированной серии постов посвященных FHIR технологиям, далее планирую добавить статьи с шагами регистрации и подключения к EPIC EHR, загрузки FHIR данных, их использования для формирования карты пациента и особенностями использования FHIR данных в AI чат-ботах.

Читать далее

Как использовать любой CSS-фреймворк в вашем проекте — Часть 1

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3K

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

В этой статье я покажу, как использовать исходный код Bootstrap (SCSS), настроить модульную структуру и подключить только те компоненты, которые действительно нужны. Результат — чистая архитектура стилей, меньший размер сборки и удобный фундамент для будущей дизайн-системы.

Читать далее

Обзор решений для домашних кинотеатров: Plex, Jellyfin и альтернативы

Время на прочтение8 мин
Количество просмотров12K

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

Есть разные решения для организации собственной медиатеки, и в этой статье мы подробно разберём самые популярные из них: Plex, Jellyfin, Emby и Kodi.

Читать далее

Создаем иммерсивную трехмерную визуализацию погоды с помощью React Three Fiber

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров1.5K

Пошаговое руководство по симуляции солнца, дождя, снега и грозы в интерактивном трехмерном приложении для прогноза погоды.

Демо

Код

Меня всегда интересовала визуализация данных с помощью Three.js / R3F и я подумал, что приложение для прогноза погоды будет отличным началом. Одна из моих любимых открытых библиотек, @react-three/drei, содержит множество прекрасных инструментов, вроде облаков, неба и звезд, которые отлично подходят для визуализации погоды в 3D.

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

Читать далее

Zip-бомбы против агрессивных ИИ-краулеров

Время на прочтение4 мин
Количество просмотров32K

Некоторые владельцы сайтов жалуются на большое количество ботов, которые создают нагрузку на серверы, особенно краулеры для LLM (ИИ). По информации аналитического отчёта Fastly, краулеры, скраперы и фетчеры иногда создают нагрузку на сайт до 39 тыс. запросов в минуту.

В 2025 году нагрузка от скраперов выросла на 87%, причём основной трафик идёт от RAG-скраперов, а не для первичного обучения моделей.

Читать далее

Автоматизация A/B-экспериментирования

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.9K

Я сейчас работаю над автоматизированной системой A/B-экспериментирования заголовков и/или обложек статей и новостей на одной медиа-платформе в одиночку. В статье рассказываю вам, как эта система работает и показываю некоторые технические нюансы.

Читать далее

25 блогов о веб-разработке и веб-дизайне, которые интересно читать, даже если у тебя нет сайта + бонус

Время на прочтение9 мин
Количество просмотров4.1K

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

Читать далее

Как 5 этапов ресёрча превращают идею в прибыльный продукт, которым хотят пользоваться

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.9K

За 8+ лет работы над маркетплейсами, криптобиржами и Web3 продуктами я убедился, что продукт с реальной ценностью начинается с правильных исследований. 

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

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

Читать далее

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

Время на прочтение3 мин
Количество просмотров208

При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей.

Как это сделать расскажет эта небольшая заметка.

Читать далее

Кеширование Lottie-анимаций с помощью Service Worker

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.5K

Всем привет!
Меня зовут Прокошкин Леонид, я Frontend-разработчик в компании DDPlanet.

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

В проекте было около 30 Lottie-анимаций, некоторые весили ~100 KB, и нам нужно было оптимизировать их загрузку.

Как снизить трафик и нагрузку? Правильно - кеширование. Мы выбрали кеширование на стороне Service Worker.

Читать далее

Книга: «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 7-е изд.»

Время на прочтение3 мин
Количество просмотров4.5K

Привет, Хаброжители! Владея лишь основами HTML, вы сможете научиться создавать интерактивные веб-сайты, управляемые данными, используя мощное сочетание веб-стандартов и технологий с открытым исходным кодом. В последнем издании этого популярного практического руководства вы освоите динамическое веб-программирование с использованием новейших версий современных технологий — PHP, MySQL, JavaScript, CSS, HTML, Node.js и мощной библиотеки React.

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

Читать далее

Ближайшие события

QR-код по запросу: знакомство с QRious

Время на прочтение4 мин
Количество просмотров3.9K

Недавно мне понадобилось реализовать автоматическую генерацию QR для личного проекта. Идея простая: пользователь нажимает на кнопку «Пригласить друга», а небольшая функция на JavaScript закидывает в буфер обмена реферальную ссылку.

Все было бы хорошо, но нужно было добавить попап с QR-кодом, который при сканировании перекидывает по ранее полученной ссылке. И так как писать собственное решение было сомнительной идеей, пришлось использовать библиотеку — QRious. В этой статье расскажу, как с ней работать.

Читать далее

Используем Рутокен ЭЦП для авторизации на сайте

Время на прочтение7 мин
Количество просмотров1.9K

В прошлый роз я писал про замечательный пакет opensc‑pkcs11, в котором есть программа pkcs11-tool, позволяющая работать с USB‑токенами, и в частности, с Rutoken (если скачать и установить нужную библиотеку‑модуль librtpkcs11ecp.so).
Можно использовать USB‑токен как аппаратное хранилище для паролей шифрования, защищенное пинкодом.

А сейчас — о том, как можно использовать USB‑токен в качестве средства авторизации пользователей при входе на сайты.
Но начнем с конца:

Вместе с pkcs11-tool есть в пакете и программа pkcs11-register.
Что она делает — она «учит» другие программы работать с PKCS#11, например, браузеры.

Читать далее

1С: Шина. Используем сервисную шину предприятия

Время на прочтение7 мин
Количество просмотров3.6K

Современные системы состоят из множества различных сервисов и одной из основных задач является обеспечение обмена данными между компонентами системы. Для обеспечения этой функциональности используются шины данных (Enterprise Service Bus, ESB), интегрирующие различные приложения и системы в единую информационную среду. Она выступает в роли «посредника», минимизируя прямые связи между отдельными системами и обеспечивая гибкость взаимодействия. Таким образом, основная цель внедрения ESB — оптимизировать и унифицировать взаимодействие внутри информационного ландшафта предприятия.

Подробнее о 1С:Шине

Наследие цифрового детства: как код, написанный студентом 5 лет назад, живёт в инфраструктуре сегодня

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров8.4K

Мы все сталкивались с этим: открываешь репозиторий, а там код, который вроде бы работает, но при ближайшем рассмотрении вызывает лёгкую дрожь в руках. В этой статье я хочу поговорить о том, как «студенческий» код, написанный в спешке или ради эксперимента, неожиданно становится частью продакшн-систем. Разберём примеры, посмотрим, как такие артефакты выживают, какие последствия это несёт, и что с этим можно сделать, чтобы не жить на пороховой бочке.

Читать далее

Грустная история о том как я Telegram Miniapp интегрировал

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.9K

История о создании Telegram Miniapp с нуля: боль, костыли и необычные решения.

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

Читать далее

Странные CSS-свойства, но, возможно, полезные

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров9K

Хабр, привет!

Я много лет рассказываю о CSS. Показываю, как применять его, чтобы не было больно. Рассказываю про лучшие практики. Забочусь о вас, чтобы вы не стреляли себе в ноги.

Только и у меня бывают непонятки с CSS. Сижу и задаю себе вопрос «А зачем это свойство нужно?». У меня даже подгорает на авторов спецификаций. Конечно, так не всегда, но всё же бывает.

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

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

В общем, начинаю свой «критический обзор» CSS. Давайте посмотрим, что я подготовил.

Читать далее

JavaScript, отдохни! Делаем интерактивные вещи на HTML и CSS

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров11K

Привет, Хабр!

А вы интересуетесь современными возможностями CSS и HTML? Может, некоторые из вас думают, что нового там ничего не появится или что свежие фишки не поддерживаются браузерами? Это мнение давно устарело. Современные HTML и CSS позволяют реализовывать интерактивные элементы, которые раньше были доступны только с помощью JavaScript. Можно сказать, что границы между разметкой, стилями и программированием постепенно стираются.

На написание этой статьи меня подтолкнуло большое количество новых возможностей в современных HTML и CSS, да и не только современных: некоторые приёмы, о которых знают немногие, поддерживались ещё со времён IE. Многие по привычке используют готовые UI-библиотеки или CSS-фреймворки, опасаясь изучать что-то новое.

Я собрал компиляцию полезных практик и оформил их в сокращённом текстовом виде.

Читать далее

Вклад авторов