Обновить
469.4

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

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

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

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

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

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

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

Читать далее

Как программисты делали куличи

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

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

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

Чтобы процесс пошёл быстрее, всю работу, конечно же, разбили на задачи и определили, кто и чем будет заниматься. Вован, Лёньчик и Гриша будут заниматься замесом теста. Александр и Олександр — изготовлением верхних украшений. Решили, что сверху куличи украсят белково-заварной помадкой по классике, но поверх добавят цветки из мастики и желатинового единорога, покрытого белым шоколадом. Маргарита, Вика и Октавия будут заниматься финальной сборкой, ну а курировать процесс будет Семён.

Читать далее

Бумер, джуниор и нейросеть

Время на прочтение3 мин
Охват и читатели2.8K

Настало время... интересных историй. Про то, как я заказал сайт и что из этого вышло. Спойлер — человек не справился, а нейросетка — да

Читать далее

Поведенческие факторы в поисковой системе Яндекс: влияние, стратегия и возможности оптимизации

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

SEO — это не просто механическое следование алгоритмам поисковых систем, а настоящая игра на грани аналитики, психологии пользователей и технического мастерства. Одним из ключевых факторов успешного продвижения в Яндексе являются поведенческие факторы (ПФ), определяющие, насколько сайт удовлетворяет запросам пользователей.

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

Читать далее

Рулим CDN с клиента

Время на прочтение19 мин
Охват и читатели1.8K

Привет! На связи Ольга Попова, и вместе с Алексеем Гусевым @MAD_GooZe мы работаем в Yandex Infrastructure — это команда, которая создаёт и предоставляет внутреннюю инфраструктуру Яндекса — фундамент из продуктов и технологий, которые помогают разрабатывать, деплоить и эксплуатировать все основные сервисы компании. Наша команда носит название «Видеоплатформа» и занимается созданием инфраструктуры для показа видеоконтента на таких платформах, как Кинопоиск, Яндекс Музыка, Станция, Маркет и других.

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

Читать далее

Знакомство с Web Locks API

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели2K

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

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

Долгое время разработчики обходились кустарными решениями — флагами в localStorage, хитрыми setInterval и т.д. Но с появлением Web Locks API у нас наконец появился стандартный способ расставить приоритеты в этом хаосе.

Web Lock API — это механизм, позволяющий скриптам, находящимся в рамках одного orign, блокировать доступ к ресурсу, удерживать блокировку пока выполняется необходимый код, а затем разблокировать ресурс, чтобы другие части программы могли получить к нему доступ.

Читать далее

Люблю я http, и вот как я его готовлю

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели3.3K

Я старый фуллстек-разработчик и не знаю слов любви, но около полугода назад при очередной итерации сервера почувствовал себя утомленным путником, который узрел нежную красоту wr-обработчика нативного net/http! Вот раньше всё было ужасно - а теперь красиво, приятно читать и интересно показать! За несколько месяцев я переделал свои сотни обработчиков на новый стиль - и всё еще доволен! Почистил авгиевы конюшни слоев логики - теперь там царит запах фиалок! Также у меня была возможность посмотреть как пилят http профессионалы бэкенда - далеко не как фуллстеки, о чем тоже хочется рассказать!
Для ленивых читать - пора вернуть логику в обработчики! Но я расскажу подробно о той красоте, которая скрывается за этими многими восклицательными знаками, и о том, как её можно испортить. Структура такова:
- сначала чем фуллстек отличается от нативного бэкенда,
- потом пройдемся по API-стилю а-ля РЕСТ,
- прочтем оду нативному http-модулю, расковыряем пару болячек фреймворков,
- почитаем мои слова, почему wr-обработчик хорош сразу из коробки,
- и посмотрим пример того, как превратить обработчик в простой вид "задача-дано-решение-ответ".

Внимание, это мнение. В статье поднимаю холиварные темы, при этом я могу быть не прав, но буду настаивать! И фотка из личного фотоархива на тему "Люблю лето!", потому что уже надоели сгенерированные картинки.

Читать далее

LitestarCatsCV. Тренируемся на кошках. Расширяем возможности и готовимся к продакшену. Часть 3

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели718

Привет, котики и котолюбы! В первой части нашего кошачьего приключения мы выбрали инструменты (Litestar вместо FastAPI, Granian вместо Gunicorn, KeyDB вместо Redis), настроили uv и заложили фундамент проекта. Во второй части мы построили полноценное CRUD API для резюме котиков (или людей, если вам так ближе), подружили его с PostgreSQL через SQLAlchemy, настроили миграции с Alembic и написали тесты с Pytest. У нас уже есть стены и фундамент, но пора ставить крышу и готовиться к продакшену! 🏠

Сегодня мы сделаем наш API ещё круче: вынесем конфиги в отдельный модуль с помощью msgspec, добавим аутентификацию через встроенный JWT в Litestar, ускорим API с KeyDB, проверим покрытие тестами с coverage, упакуем всё в Docker и нарисуем резюме котиков с помощью Jinja. К концу статьи наш кошачий проект будет готов к реальной жизни — поехали! 🚀

Читать далее

Разрабатываем PWA. Полная инструкция по работе с Web App Manifest и Service Worker

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

Привет! Меня зовут Сергей Васильев, я фронтенд-разработчик в AGIMA. Наша команда часто работает с PWA — прогрессивными веб-приложениями. Они стали особо популярны в последние три года, когда из-за санкций некоторым корпорациям пришлось отказаться от мобильных приложений. Но и раньше многие компании с интересом смотрели на это решение.

Ниже расскажу, как сделать из обычного веб-приложения прогрессивное: вместе настроим Web App Manifest и Service Worker. Если вам еще не доводилось работать с PWA — текст точно для вас.

Читать далее

Пробуем Codex CLI от OpenAI для доработки ХрюХрюКара

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

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

За два дня ко мне обратилось несколько сторонников с просьбой добавить их города. Но вот незадача: у меня была возможность через админ-панель Django править данные в базе, но об этом кеш сервера не узнает (основной бекэнд на Go). В результате приходилось добавлять данные и перезагружать контейнеры с go-бекэндом вручную.

Основные серверы ХХК уже имели сторы, которые получают и обрабатывают апдейты, прилетающие через redis.

По сути, оставалось внести правки в часть django-бэкенда, чтобы обрабатывать сигналы pre_save и pre_delete, сериализовать данные и отправлять их в нужный канал редиса.

Решил поручить эту задачу Codex CLI, которую вчера OpenAI представили нам с вами. 

Читать далее

Книга: «Создание фронтенд-фреймворка с нуля»

Время на прочтение3 мин
Охват и читатели3.5K
Привет, Хаброжители!

Мы используем фронтенд-фреймворки каждый день. А понимаем ли мы, что происходит там, под капотом? Книга Анхеля Солы Орбайсеты «Создание фронтенд-фреймворка с нуля» предлагает уникальный подход к изучению этой темы — через практическое создание собственного фреймворка. Автор убежден, что лучший способ понять принципы работы фреймворков — самостоятельно реализовать их ключевые механизмы.
Читать дальше →

Вкалывают роботы, а не человек: как мы разработали ТГ-бота, который в 4 раза ускорил проведение маркетинговых акций

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели1.4K

Привет, хабровчане! Я Алиса — тимлид в e-commerce агентстве KISLOROD. Хочу рассказать об интересном кейсе по разработке ТГ-бота, который мы интегрировали с сайтом на 1С-Битрикс.

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

Читать далее

Динозаврик по имени Джун

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

Еще совсем недавно джуны очень ценились. Можно было вырастить преданного сотрудника, гораздо медленнее поднимать ему зарплату, и в итоге получался отличный боец, который знает все правила взаимодействия в компании и плавно перерастает в мидла. Вакансий на рынке было много. Если говорить о веб-разработке, то залететь верстальщиком было вообще плевое дело — пару недель почитать книжки по HTML/CSS, попрактиковаться с табличной версткой (да, бывалые динозавры еще помнят, когда такой подход был мейнстримом), потом перейти к блочной — и можно отправляться на собеседования. Неделя — и вы уже в руках какой-нибудь веб-студии, а там, при желании, через полгода станете полноценным фронтендером или переквалифицируетесь в бэкенд-разработчика. Хорошие времена: можно не особо напрягаясь было заработать на хлеб, клацая по клавиатуре.

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели925

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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