Обновить
367.98

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

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

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

Игра по своим правилам: хак лидерборда в Telegram MiniApp

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

Игра по своим правилам. Рассказываю, как с помощью DevTools и нестандартных методов можно выйти на первое место в Telegram MiniApp.

Читать далее

Как рассказать о сайте поисковой системе 2

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

Доброго времени суток. В этой статье я хочу дополнить первую часть рассказа о том как же донести поисковику информацию о своём сайте. Здесь будут рассмотрены такие темы как IndexNow, security.txt, schema.org.

Читать далее

BEM vs Atomic CSS или картинка по номерам

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

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

Для начала предлагаю разобраться, о чем статья. В данной статье я попытался свести все свои знания касающиеся использования CSS и подходов (методологий) организации CSS-кода (селекторов) и нюансов использования того или иного подхода, а также провести сравнительный анализ. Как говорил Юрий Гагарин - Поехали!

Читать далее

Как мобильное приложение для ВодоходЪ вырастило средний чек на 15%

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

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

Читать далее

Telegram Web App: Интеграция с Flutter

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

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

Теперь рассмотрим, как создать Telegram Web App с использованием Flutter, фреймворка для разработки кроссплатформенных приложений.

Читать далее

Заменил жену на ИИ. Мой опыт

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

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

Читать далее

ХрюХрюКар v.2 или как я использую Go для защиты своего двора

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

Почти год назад я писал про ХрюХрюКар. Это экспериментальный проект, который проработал 7 месяцев в городе Балаково Саратовской области. За это время мы «поймали» около тысячи автомобилистов, разместивших свои авто на зеленых зонах, детских/спортивных площадках и тротуарах.

В этой статье я расскажу про совершенно новую версию ХХК, которую я написал на Go. Ну и отдам сообществу все исходники проекта.

Припарковаться правильно

Наши 象: что я узнал про китайцев и китайский веб-дизайн, пока создавал сайт для мясокомбината

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

Самое мясо китайского веб-дизайна, или Как не стать лосем в Поднебесной. Путеводитель по провинциям визуального хаоса.

Читать далее

GPT‑4.1 глазами веб‑разработчика: возможности, интеграция и примеры

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

В апреле 2025 года OpenAI представила серию моделей GPT‑4.1 — сразу три версии: GPT‑4.1 (полноразмерная), GPT‑4.1 mini и GPT‑4.1 nano​. Все они значительно превосходят предшественников (GPT‑4.0, также называемый GPT‑4o, и GPT‑4o mini) по качеству кодирования, следованию инструкциям и работе с длинным контекстом​. Главная сенсация — поддержка контекста до 1 000 000 токенов​o. Это примерно 8 полных копий кода фреймворка React, которые теперь можно подать модели за один раз​! Для сравнения, у предыдущих GPT-4 максимальный контекст был 128 тысяч токенов. Обновился и «горизонт знаний» — GPT‑4.1 обучен на данных вплоть до июня 2024 года, что уменьшает количество ответов «не знаю» на современные вопросы.

GPT‑4.1 (основная модель) — флагман с максимальными возможностями. Она улучшила результаты на множестве бенчмарков: например, решает ~54.6% задач на SWE‑bench Verified (стандартный тест по разработке ПО), тогда как оригинальный GPT‑4o справлялся лишь с 33.2%​. Это рекордный показатель для моделей GPT и на 21% превышает результат GPT‑4o. Модель стала лучше генерировать код без лишних правок (доля «лишнего» кода снизилась с 9% до 2%​) и более строго придерживается форматов (например, может вносить правки в виде diff‑патчей, а не переписывать файл целиком​).

GPT‑4.1 mini — облегчённая модель, которая жертвует лишь небольшой долей качества ради скорости и цены. По многим заданиям mini догоняет или даже превосходит оригинальный GPT‑4.0. В тестах OpenAI «мини» не уступает GPT‑4o по интеллекту, но при этом выдаёт ответ почти вдвое быстрее и на 83% дешевле обходится по стоимости вызова​ (то есть стоимость снижена до ~17% от GPT‑4.0). Для разработчиков это означает, что многие задачи теперь можно решать «бюджетной» версией модели без ощутимой потери качества. GPT‑4.1 nano — новейшая и самая лёгкая модель в семействе, первый «нано»‑уровень от OpenAI. Nano — рекордсмен по скорости и цене: как отмечает OpenAI, это «самая быстрая и дешёвая модель за всю историю компании»​. Например, nano возвращает первый токен ответа менее чем за 5 секунд даже если запрос содержит 128k токенов контекста​. Она также поддерживает 1М контекста и показывает неплохой уровень интеллекта: ~80.1% на знаниевом тесте MMLU и 50.3% на задачах GPQA​. Хотя nano уступает «старшим братьям» в сложных размышлениях, она отлично подходит для простых и массовых задач — классификация, автодополнение кода, чат‑боты с короткими ответами​. В целом, появление mini и nano даёт веб‑разработчикам гибкость: можно выбрать мощную GPT‑4.1 для сложной логики или обработки гигантского документа, а для быстрых откликов или фоновых задач — задействовать nano с минимальными затратами.

Читать далее

Интеграция виджета обратного звонка МТС Exolve в документацию на MkDocs

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

Привет, Хабр! Это Екатерина Саяпина, Product Owner платформы МТС Exolve. Сегодня покажу, как быстро добавить виджет обратного звонка на страницу, созданную с помощью MkDocs — статического генератора сайтов с уклоном в техническую документацию. Такое размещение виджета бывает нужно в справочных разделах сложных продуктов, где клиентам может потребоваться консультация или разъяснение каких-то технических моментов.

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

Читать далее

Firefox против гигантов: битва за интернет

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

Когда Firefox только появился на рынке, монополия Internet Explorer казалась непоколебимой. IE был браузером по умолчанию для миллионов пользователей Windows. Гиганты вроде Netscape Navigator и AOL Browser пали под его натиском. Появление Firefox сначала воспринималось как попытка бунтаря бросить вызов устоявшемуся порядку. Однако этот браузер быстро завоевал доверие веб-разработчиков и пользователей. Кульминацией его успеха стал Download Day 17 июня 2008 года, когда за 24 часа было установлено 8 002 530 копий Firefox 3. Так браузер попал в Книгу рекордов Гиннесса. В этой статье мы погрузимся в историю Mozilla и расскажем, как Firefox смог изменить правила игры в мире веб-браузеров.

Читать далее

Это под силу даже веб-разработчику! Размышляю, как создать драйверы на JavaScript с API WebUSB

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

Привет! Я Игорь Кечайкин, руководитель группы разработки во Frontend-команде Flocktory. Недавно, решая задачу, связанную с API WebUSB для Fingerprint-атрибуции пользователя, задался совершенно не связанным теоретическим вопросом: а как создать с этим API  драйверы на JavaScript?

Чтобы разобраться, изучил спецификацию API WebUSB, а теперь принёс на Хабр выжимку самых важных элементов. В статье я расскажу о принципах работы решения и том, что с ним делать веб-разработчику, который хочет напрямую реализовать на сайт функцию, например, 3D-принтинга с пользовательских девайсов. А также вы узнаете, насколько это безопасно — для сайта, внедряющего API, и для девайсов юзера.

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

Читать далее

Обнаружение изменения положения DOM элемента с помощью IntersectionObserver

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

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

Читать далее

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

Отзывчивый дизайн для веб-приложений: как обеспечить доступность на всех устройствах? Принципы отзывчивого дизайна

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

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

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

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

Читать далее

Атаки через новый OAuth flow, authorization code injection, и помогут ли HttpOnly, PKCE и BFF

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

В статье детально рассмотрим интересный вектор атаки на приложения, использующие OAuth/OIDC, разберем, какие предусловия для этого нужны, и увидим, что они не так недостижимы, как может показаться на первый взгляд. Узнаем, что такое «прерывание OAuth flow» и как его применять, затронем использование паттерна Backend‑for‑Frontend и способы реализации PKCE для confidential clients, попутно проверив, помогают ли они защититься от рассматриваемой атаки. Взглянем и на другие существующие рекомендации и предлагаемые лучшие практики, а также подумаем над прочими мерами защиты, которые действительно могут помочь. Все это с примерами, схемами и даже видео.

Материал будет интересен как для занимающихся разработкой приложений, так и для представляющих атакующую сторону.

Читать далее

Как заставить TS работать на вас

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

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

Читать далее

Биткоин — начало новой эры финансов или глобальный скам?

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

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

Расслабьтесь: я не собираюсь грузить вас сложными терминами или вдаваться в подробности алгоритмов криптографии. И уж точно не стану рассказывать очередные байки про “убийцу” Uber или про новую эпоху Web3, которую нам обещают уже который год. Нет.

Я просто хочу поделиться с вами своими мыслями — как разработчик, который непосредственно имеет дело блокчейном. Как человек, который не только разрабатывает смарт-контракты, но и занимается проектированием и математическим обоснованием экономических моделей. Хочу вместе с вами порассуждать на тему: 

Перед нами действительно технология будущего — или всё это масштабный скам, который затянул в себя весь мир?

Вряд ли кто-то ещё расскажет вам простым и понятным языком те вещи, которые остаются неочевидными даже для многих “опытных” участников криптосообщества, но я постараюсь это сделать.

Пыль в глаза.

Для начала давайте разберёмся — чем сегодня заполнено информационное пространство в криптосекторе? Чем мы вообще подпитываем свои познания в этой сфере? Что мы смотрим, читаем, на кого ориентируемся?

Если вы хоть немного интересуетесь этой темой, то наверняка заметили: полезной технической информации в сети действительно немало. Но чаще всего она либо не объективна, либо напрямую завязана на какие-нибудь конкретные проекты.

Читать далее

Тонкости работы с логгированием в Python: краткий гайд для разработчиков

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

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

В статье рассмотрен де-факто стандарт логирования — модуль logging в Python. Я дам общие рекомендации по его настройке и опишу практики применения модуля, подходящие для большинства случаев.

Читать далее

ConfKeeper — хранение конфигов и паролей Ваших проектов

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

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

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

Читать далее

Как создать веб-приложение со своей картой: подключение API v3 Яндекс Карт

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

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

Если вам тоже пришлось «вшить» в свое веб-приложение карты, запаситесь терпением. В инструкции рассказываем, как это сделать и настроить тестовое окружение с IDE в облаке. Подробности под катом!
Читать дальше →

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