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

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

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

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

Российский новый университет подключился к «РосНавыку»

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

9 июля для ректората Российского нового университета (РосНОУ) при поддержке Университетского консорциума исследователей больших данных прошёл семинар сервиса «РосНавык». Этот мониторинговый сервис представила Дарья Олеговна Дунаева, менеджер проекта, ведущий аналитик научно-исследовательской лаборатории прикладного анализа больших данных Томского государственного университета.

Читать далее

Как я собеседовался в Ozon, Т-Банк, Mindbox и другие крупные компании

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

Всем привет. Я сеньор и тимлид на .NET (C#). До недавнего времени работал в Росатоме, пока там внезапно не сократили целую дирекцию по цифровизации. Так что пришлось срочно выходить на рынок, причём, впервые в моей жизни (до этого работа находила меня сама). По результатам нескольких циклов собеседований получился неплохой дневник, который я здесь привожу.

История длинная, но интересная

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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