Обновить
342.95

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

$220К в месяц на индексации сайтов для Google

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

Разбираю, как программист создал простой сервис для рендеринга JavaScript в HTML. Продвинул его бесплатным способом. И вывел на доход $220К в месяц.

Читать далее

Оптимизация выравнивания и заполнения структур в Go. В 2025 г. всё ещё экономим на спичках

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

Здравствуйте!

В большинстве своём мы не думаем о том, как Go размещает поля структуры в памяти. И правильно делаем, пока наши структуры не используются в миллионах экземпляров, не передаются в каналах или не сериализуются каждую миллисекунду.

Также неправильное выравнивание может негативно сказаться на кеш-памяти процессора и скорости доступа к данным. На 32-битных платформах некорректное выравнивание 64-битных атомарных переменных (например, int64 для sync/atomic) вообще способно привести к панике.

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

Читать далее

Современный CSS: что важно знать в 2025 году

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

Мы публиковали статью «Что нужно знать о современном CSS» в прошлом году (2024), и какое-то время я сомневался, хватит ли материала, чтобы сделать новую версию. Но время идет — и CSS развивается вместе с ним. И знаете что? В этом году новинок даже больше, чем в прошлом. Этот (пусть и немного субъективный) список можно рассматривать как подборку «возможностей, которые, по мнению Криса, стоит знать — будь то совсем новые или те, что недавно получили хорошую поддержку в браузерах».

Читать далее

Как мы запретили писать код с багами в локализации или «Без права на bug»

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

Привет, Хабр! Я работаю фронтенд-разработчиком в ЛАНИТ. В этой статье я поделюсь опытом изменения подхода к интернационализации и опытом внедрения автоматизированной проверки переводов, что позволяет снизить риски появления багов и ускорить релизы приложения.

Читать далее

Shadcn для Vue: норм или стрём?

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

Опыт использования shadcn-vue в продакшн проекте: что работает хорошо, а с чем придется помучиться. Честный обзор популярной UI библиотеки от практикующего разработчика.

Стек: Vue/Nuxt 3, Tailwindcss 3, Typescript, Telegram WebApp.

Читать далее

SolidJS для React-разработчиков: как реактивная библиотека устроена под капотом

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

Команда JavaScript for Devs подготовила перевод статьи о SolidJS — реактивной UI-библиотеке, которая выглядит знакомо для React-разработчиков, но работает совсем иначе. Автор разбирает ключевые отличия: почему в Solid нет виртуального DOM, как устроены сигналы, эффекты и прокси-хранилища, а также какие привычки из React ломают реактивность. Если вы давно хотели понять, как SolidJS работает под капотом, эта статья — отличный старт.

Читать далее

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

Практическое руководство по иконкам в веб-проектах — Часть 2

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

Иконочные шрифты — лучшие!

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

Читать далее

Angular signals 101

Уровень сложностиСложный
Время на прочтение40 мин
Количество просмотров5.5K

Angular Signals 101 Это не поверхностный обзор, а полное погружение в мир сигналов. Мы разберем всё: от публичного API до внутреннего устройства планировщика в Zoneless.

Начать полное погружение

React предпочитают по умолчанию — и это убивает инновации во фронтенде

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

React по умолчанию сопряжён со скрытыми издержками. Вот аргументы в пользу более осознанного выбора подходящего фреймворка для конкретной задачи.

React больше не побеждает за счёт своих технических достоинств. Сегодня его выбирают по умолчанию. И именно это «по умолчанию» теперь тормозит инновации во всей фронтенд-экосистеме.

Когда командам нужен новый фронтенд, разговор редко начинается с вопроса: «Каковы ограничения и какой инструмент лучше всего под них подходит?» Чаще всё звучит так: «Давайте возьмём React — его все знают». Такой рефлекс запускает самоподдерживающийся цикл, в котором архитектуру определяют сетевые эффекты, а не техническая уместность.

Читать далее

Сколько трафика выдержит сайт на Next.js: нагрузочные тесты, SSR и предрендеринг

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

Команда JavaScript for Devs подготовила перевод статьи о том, сколько трафика реально выдерживает сайт на Next.js. Автор провёл нагрузочные тесты, сравнил VPS и выделенный сервер, проверил разницу между предрендерингом и SSR и сделал вывод: для сайтов с потенциальными всплесками трафика предрендеринг — спасение, а SSR может стать бутылочным горлышком.

Читать далее

Без головы но с идеями: как Strapi оживляет Next.js (часть 2)

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

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

С вами снова Дмитрий. В первой части мы с головой окунулись в философию Headless CMS и разобрали, почему Strapi стал глотком свежего воздуха для разработчиков, уставших от рамок монолитных систем. Мы увидели, как контент освобождается от шаблонов, получая возможность жить на любых платформах и устройствах.

Но мощный и гибкий бэкенд - только половина уравнения. Без современного, умного и производительного фронтенда вся эта свобода рискует остаться просто красивой теорией. Где же тот самый «идеальный фронтенд», который раскроет потенциал Headless на все 100%?

Читать далее

Performance monitor и не только: продолжаем тестировать производительность в Chrome DevTools

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

Привет! Продолжаем разбирать малоизвестные, но крайне полезные фичи Chrome DevTools. Меня зовут Святослав Ященко, я тимлид QA-команды Platform V Kintsugi — это графическая консоль для сопровождения PostgreSQL и Postgres-like СУБД. Ранее я писал о том, как тестировать производительность через вкладку Performance. Материала набралось так много, что мне пришлось разбить его на две статьи. Сегодня мы поговорим об утилите Performance monitor, инструменте Chrome Task Manager и о том, как вывести FPS сайта на экран. Приглашаю под кат!

Читать далее

Вы встретили разработчика. Ваши действия?

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

Как схантить профи, или Гача-игры в найме

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

Читать далее

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