Как стать автором
Поиск
Написать публикацию
Обновить
312.4

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

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

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

Массовая блокировка доменов .site, .online и .store! Что происходит и как себя защитить?

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

В последнее время владельцы доменов в популярных зонах site, .online и .store всё чаще сталкиваются с внезапными блокировками своих ресурсов. Администратор этих доменных зон — международная компания Radix, специализирующаяся на управлении новыми доменами верхнего уровня (TLD) .tech, .space, website, site, online, store и другие — объясняет происходящее усиленным мониторингом и выявлением так называемых “подозрительных шаблонов регистрации” (Suspicious Pattern). При этом владельцы сайтов редко получают объяснения причин блокировки. Интернет-магазины, блоги и корпоративные сайты массово теряют доступ к доменам - неожиданно и без предупреждения.

Разберёмся, что происходит и как можно защитить свои домены от блокировки.

Читать далее

Как использовать topic exchange в RabbitMQ для роутинга по шаблонам

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

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

Сегодня разберём один из самых гибких инструментов в RabbitMQ — topic exchange. Именно он позволяет не просто отправить сообщение «куда‑то», а превратить очередь в маршрутизатор уровня BGP, но только внутри твоей системы.

Читать далее

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

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

Наш кейс: в приложении есть русский (наш нативный) и английский языки. Надо быстро и просто добавлять другие (по запросам от клиентов). В файлах с переводами был хаос: дублирование строк, конкатенация вместо плейсхолдеров, разный порядок строк в файлах переводов для ru/en, висячие пробелы и многое другое.

Я решил написать вспомогательный инструмент, который помог решить все эти проблемы. Сейчас мы добавляем новый язык буквально за 40 минут и 2$. Все получилось настолько хорошо, что решил причесать и выложить в open-source

Главная фишка: перевод на новые языки делается сразу с 2х языков (в нашем случае с ru и en) что на практике делает его супер-качественным

Читать далее

Оптимизация формы оплаты на Stripe: анатомия успешного микроплатежа

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

Оптимизация формы оплаты на Stripe: анатомия успешного микроплатежа

Как мы снизили отклонения с ~5% до ~1% — без обхода системы, исключительно в рамках UX-улучшений.

Читать далее

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

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

Я починил плохой перевод силами ИИ, написав расширение при помощи ИИ. И я удивлён, что до сих пор такого не сделали.

Читать далее

Гайд: как не дать сайту упасть в сезон

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

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

Читать далее

Почему разработчики не делают «по уму», даже когда знают как

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

Почему даже сильные разработчики делают на авось?

Команда вроде опытная, но в проде — баги, архитектура — костыль на костыле, а фичи заливаются «на нервах»?

Читать далее

Безопасная разработка как игра в Dungeons & Dragons

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

Привет! 👋 Меня зовут Алина. Я маркетолог и давно работаю в ИТ, но с безопасной разработкой познакомилась только когда пришла в продуктовую студию по кибербезопасности Axel PRO. И знаете, эта область заинтересовала меня в процессе работы. А еще у меня есть интересное хобби — я люблю играть в Dungeons&Dragons, иначе говоря — ДНД 🎭. И вот что я заметила: процесс разработки ПО очень похож на эту игру. Сейчас расскажу, почему.

Представьте, что разработка ПО — это ваша игра в Dungeons&Dragons. Вы собрали отряд: разработчиков, тестировщиков, продакт‑менеджеров, выбрали для них роли и отправились в приключение — создавать крутой продукт 🚀.

Но вот загвоздка: пока вы исследуете подземелья (пишете код) 🏰, на каждом шагу вас поджидает разная нечисть — уязвимости‑ловушки 🕳️, баги‑драконы 🐉 и орки‑ошибки конфигурации 🪓. Если вы не взяли с собой защитные свитки с политиками и шаблонами безопасности 📜, зелья исправления уязвимостей 🧪 и доспехи из безопасных практик 🛡️ — ваша команда рискует быстро проиграть.

Собираем команду

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

⚔️ Бэкенд‑разработчик — это воин, который создает и защищает код, отражая атаки.

🧙‍♂️ Тестировщик — маг, исследующий систему с помощью «заклинаний» тестов, чтобы найти слабые места.

⛩️ Администратор инфраструктуры — жрец, поддерживающий стабильность и безопасность серверов и окружения

🎶 HR‑менеджеры и менеджеры проекта — подобно бардам, поддерживают коммуникацию и помогают команде достигать общих целей.

Читать далее

Тестирование упрощенного Личного кабинета банка (Postman, dBeaver, MySQL, DevTools)

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

Всем привет! Сегодня хочу рассказать, как можно протестировать Личный кабинет банка с помощью Postman, на примере простого Веб-приложения. Будет проверено: создание пользователя, авторизация, отображение продуктов клиента в Личном кабинете, подача заявки на потребительский кредит и отображение результатов ее рассмотрения в ЛК. Приступим

Было разработано небольшое Веб-приложение на Node.js. После запуска приложения и открытия его на локальной машине по адресу - http://localhost:5000/, на странице отображается форма входа в Личный кабинет.

Читать далее

Прощай, reCAPTCHA! Как я защитил формы входа с помощью бесплатной и невидимой CAPTCHA от Cloudflare

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

Привет, Хабр! На связи разработчик Peakline — аналитической платформы для Strava. Сегодня я хочу поделиться опытом внедрения Cloudflare Turnstile в веб-приложение на FastAPI.

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

Читать далее

Как мы подняли современный портал документации из россыпи .md файлов: пошаговое руководство по MkDocs + Material

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

От хаоса в Markdown-файлах до стильного, быстрого сайта с поиском, темами и мультиязычностью за один вечер.
В жизни почти каждого IT-проекта наступает момент, когда количество файлов README.md, GUIDE.md, docs.txt и заметок в Confluence достигает критической массы. Документация становится фрагментированной, поиск нужной информации превращается в квест, а новые члены команды тратят часы на то, чтобы просто понять, "что где лежит".

Читать далее

EngEasy.ru — моё приложение английского. Идея, процесс, технологии

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

Я родился и вырос в небогатой рабоче‑крестьянской семье, в неблагополучном районе города, в смутные времена. У меня был интерес и склонность к языкам, но я не мог его реализовать, упираясь в ограничения внешнего и внутреннего мира (застенчивость, необщительность, депрессивность).

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

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

Читать далее

Оживляем данные Strava: от парсинга GPX до интерактивной карты на Python и JS

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

Привет, Хабр! Меня зовут Александр, я разработчик и, как многие в IT, стараюсь уравновешивать сидячую работу спортом — в моем случае, это велосипед и бег. И, как многие спортсмены-любители, я пользуюсь Strava.

В этой статье я хочу провести вас «под капот» моего проекта и показать на реальных фрагментах кода, как с помощью Python, щепотки NumPy и капли JavaScript можно построить собственный мощный инструмент для анализа спортивных данных. Это история не только про код, но и про философию открытых данных и желание сделать профессиональные инструменты доступными для всех.

Читать далее

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

PHP и Laravel дайджест новостей за июнь 2025 года

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

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

Сергей Пантелеев и Данил Щуцкий собрали ключевые новости PHP и Laravel за июнь. Будьте в тренде — читайте обзор! 🚀

Читать далее

Скриншот-тестирование фронтенда: руководство по применению в 2025 году

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

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

Часто приходилось видеть тесты опосредовано проверяющие визуальное отображение html-элемента, что-то в стиле expect(elem.classList.contains("visible")).toBe(true). Говорить о надежности таких тестов конечно-же не приходится, так как изменив содержимое css-селектора стилизующий данный класс, данный тест все еще будет зелёным, несмотря на то что по факту элемент будет скрыт.

Результат от подобных тестов вполне ожидаемый. Обновили версию UI-библиотеки и на всем проекте поехала верстка? Тесты зелёные. Случайно переопределили CSS-переменную и теперь вместо приятной тщательно подобранной дизайнером гаммы цветов вы видите лишь кислотно-вырвиглазную солянку? “Бывает, надо было ручками протестировать” - скажет менеджер.

Решить данную проблему нам поможет добавление скриншот-тестирования на проект.

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

Читать далее

Законы простоты

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

В книге «Законы простоты » Джон Маэда (из MIT) предлагает десять законов для баланса простоты и сложности в бизнесе, технологиях и дизайне — руководящие принципы для того, чтобы нуждаться в меньшем и на самом деле получать больше.

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

Читать далее

gRPC, HTTP, Websocket — и все это один сервер

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

Однажды передо мной встала довольно интересная задача: обеспечить взаимодействие стороннего веб-приложения - и набора сервисов, имеющих gRPC интерфейс.
Нужно было проводить обработку данных от веб-приложения через конвейеры AI-агентов, собирать конечный результат, и отдавать его приложению. А также, что немаловажно, обеспечить наглядность мониторинга и управления всем хозяйством.
Мне потребовалось разработать собственный сервер на PHP, в котором поддержать три типа интерфейсов. Во-первых, RestAPI для веб-приложения. Во-вторых, gRPC-сервис для взаимодействия с AI-агентами. В-третьих, HTTP + Websocket для интерактивного мониторинга и управления.
Для этого пришлось создать новый продукт - который, возможно, кажется полезен и вам.

Читать далее

БЭМ + Tailwind: прагматичный гибрид для современного фронтенда

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

Устали от бесконечных споров о CSS-методологиях? В этой статье я рассказываю, как объединил БЭМ и Tailwind в мощный гибридный подход, который спас мой проект и нервную систему. Узнайте, как избавиться от мучительного нейминга, решить проблему с отступами и ускорить разработку в два раза.

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

Чекнуть габеллу.

Как я встраивал wysiwyg редактор в свой django проект

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

Разрабатывая сервис генерации AI курсов, я столкнулся с тем, что мне захотелось решить вопрос с удобным редактированием уроков.

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

Почитав разные статьи про то, какие есть редакторы, я остановился на TinyMCE.

Читать далее

РКН против использования Google Analytics, но если Вашему бизнесу очень нужно, есть легальный вариант

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

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

И это стремление мне абсолютно понятно: смысл оплачивать содержание площадки, которая никак не помогает вашему делу развиваться?

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

Узнать,как легально использовать Analytics

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