Обновить
355.6

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

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

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

Комплексная защита веб-приложений: обзор взаимодействия разных типов ИБ-решений

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

Привет, Хабр! Я Андрей Дугин, руководитель центра сервисов кибербезопасности RED Security. Про тему кибербезопасности веб-приложений уже, казалось бы, рассказали все, что можно: термины XSS, SQL-инъекции, DDoS знакомы каждому в мире ИБ.

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

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

Читать далее

Fluent CLI в PHP: Создаём консольные команды с __call и никаких танцев с бубном

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

PhpFluentConsole — библиотека для лаконичного выполнения системных команд в PHP, с поддержкой кодировок, обработкой вывода и гибкой архитектурой. В статье — примеры, код и реальные кейсы.

Читать далее

Новое поколение Open Source. На пути к «Основанию» Айзека Азимова

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

В далёком 1951 году был опубликован роман Айзека Азимова «Основание». Он рассказывает о событиях ещё более далёкого 19 997 года: человечество освоило межзвёздные перелёты, превратилось в Галактическую Цивилизацию, изобрело научные методы психоистории для точного предсказания будущего и в итоге пришло к осознанию необходимости создания Галактической Энциклопедии — базы знаний, накопленных человечеством за многие тысячи лет своего существования. Цель энциклопедии — быть не просто справочником по типу Википедии, а практическим руководством, которое позволяет даже изолированной человеческой популяции пройти путь развития от каменного века до межзвёздных перелётов всего за несколько столетий.

По мнению Айзека Азимова, подобная глобальная база знаний является необходимым условием для фактического бессмертия человеческой цивилизации. В этом я с ним полностью согласен. Но я так и не дочитал книгу до конца, потому что довольно быстро основное внимание автора перешло от интересной научно-фантастической идеи к довольно банальным политическим интригам. Меня в первую очередь интересует техническая сторона «Основания» — как может быть устроена информационная система Галактической Энциклопедии сегодня? Исходя из возможностей современных технологий, за 17 972 года до суда над Гэри Селдоном, изгнания Энциклопедистов с Трантора на Терминус и старта полномасштабной работы над глобальной базой знаний человечества во вселенной Айзека Азимова.

Вступить в Основание

Я разобрался с ELK в .NET, чтобы вам не пришлось

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

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

Читать далее

HTML Builder: визуальный конструктор HTML-структур на Vue 3

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

HTML Builder — визуальный конструктор HTML-структур с drag-and-drop интерфейсом для библиотеки @vue-dnd-kit/components!

🔹 HTML Builder позволяет создавать HTML-структуры без написания кода
🔹 Включает рабочую область, палитру компонентов, дерево элементов и панель настроек
🔹 Сейчас это ранняя бета с минимальным функционалом, но уже можно оценить концепцию
Идеально подходит для создания прототипов и визуальных редакторов CMS.

🔗 Демо: https://zizigy.github.io/html-builder/
🔗 GitHub: https://github.com/ZiZIGY/html-builder

Ищу обратную связь по UI/UX и функциональности. Какие фичи хотели бы видеть? Что можно улучшить в интерфейсе? И тд тп.

Читать далее

Подземелье и драконы: что общего между метро и разработкой

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

Привет, я Светлана Газизова, и, как несложно догадаться, я работаю в Positive Technologies. Занимаюсь я всяческим AppSec и всем, что к нему близко. Занимаюсь я этим серьезное количество времени — уже пятый год.

Сегодня хочу рассказать вам, насколько развитие AppSec и DevSecOps (да и вообще в целом практика безопасной разработки) похоже на то, как развивалось метро в Москве. Да‑да, именно метро!

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

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

Так что устраивайтесь поудобнее — сегодня у нас будет необычная экскурсия. С одной стороны — в мир безопасной разработки со всеми его AppSec'ами и DevSecOps'ами. С другой — в московское метро с его кольцами, диаметрами и постоянно растущей сетью станций. Готовы? Тогда поехали!

Читать далее

Наводим порядок в загрузке данных Angular с помощью резолверов

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

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

Часто в компонентах можно встретить такой код:

Читать далее

События vs сообщения. Понимаете ли вы разницу и почему это важно?

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

«Будем отправлять события в Rabbit!» Фраза, которая выдает мышление, рождающее код, полный боли. К сожалению, я ее часто слышу. Поэтому, уже много лет размышлял о написании этой статьи и безумно рад, что у меня, наконец, дошли до нее руки.

В статье я расскажу, как смешение понятий события, сообщения и транспорта рождает возгласы типа «Я ненавижу использовать Symfony Messenger, потому что был у меня проект на нем, и он не взлетел!»

Будут косвенно затронуты компоненты Symfony Messenger и Event Dispatcher. Несмотря на это, данный материал может оказаться полезным и для разработчиков, использующих другие фреймворки и даже другие языки.

Читать далее

Мой опыт обучения на курсе «Python-разработчик» от Яндекс.Практикум

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

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

Подробнее

О модальных формах в Obsidian

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

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

Читать далее

Как я масштабировал систему уведомлений трекера ошибок Хоук

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

Я — Web разработчик в команде CodeX @e11sy

Я работал над переписыванием системы уведомлений open-source трекера ошибок Хоук. Он отлавливает ошибки в ПО и присылает уведомления разработчикам. Исходная реализация была простой и не масштабируемой, что приводило к задержкам получения уведомлений.

Читать далее

Настройка Jest и React Testing Library: пошаговое руководство для React и Next.js проектов

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

В данной статье мы подробно рассмотрим процесс настройки среды unit-тестирования веб-приложений на базе React и Next.js с использованием Jest и React Testing Library. Мы расскажем об установке необходимых зависимостей, создании конфигурационных файлов, настройке Babel и TypeScript, подключении SCSS и SVG, а также организации структуры проекта. Особое внимание уделено специфике настройки Jest в среде Next.js. Материал будет полезен для frontend-разработчиков и команд разработки, которые работают с React или Next.js проектами и хотят внедрить качественное unit-тестирование. 

Читать далее

Headless и API-First: как ускорить e-commerce и не утонуть в монолите

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

Привет, хабровчане! Я Алиса, тимлид в e-commerce агентстве KISLOROD.

Сегодня расскажу, как мы вырвались из цепких лап монолита с помощью Headless и API-First архитектуры, ускорили разработку и дали бизнесу крылья. Это не просто про технологии, а про то, как не сойти с ума от бесконечных правок и при этом ускорить запуск фич. Мы все еще на PHP, под капотом Bitrix, но перестали латать шаблоны и начали строить настоящую платформу. Погнали разбираться: что это, зачем и как не облажаться.

Читать далее

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

От хаоса к порядку: Как Peakline превратился в профессиональный инструмент за неделю

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

Неделя назад мой проект был "швейцарским ножом в картонной коробке". Сегодня это настоящая платформа с PWA, AI-анализом по зонам, системой защиты от ботов, отслеживанием износа снаряжения, прогнозом погоды для маршрутов и детальной аналитикой клубов. Рассказываю, что изменилось под капотом и почему это важно.

Читать далее

Что ждет участников Ural Digital Weekend 2025? Раскрываем детали

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

Привет! На связи команда Spectr!

1-2 августа в Перми мы проведем уже традиционную конференцию про разработку и управление в IT-компаниях — Ural Digital Weekend 2025. Сейчас уже готова программа всех секций. Рассказываем, кто выступит в 2025 году.

Узнать подробности о программе

Создание Chessort: игра для сортировки шахматных головоломок

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

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

Читать далее

Официальное контейнерное окружение для Битрикс от вендора

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

Друзья! Мы долго и напряженно работали и теперь нам уже честно нравится то, что получилось. А получилось удобно, просто и понятно, для всех и везде. И мы выложили результат нашего труда в официальный git-репозиторий. Качайте, устанавливайте Битрикс любой редакции за пару минут (хоть самую "навороченную" редакцию "энтерпрайз") где хотите и наслаждайтесь работой системы в контейнерах!

Читать далее

Уроки Git-хаоса: форс-ресет, удалённые ветки и GitLab

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

Привет! Я старший fullstack-разработчик в крупной b2b-команде, где мы активно развиваем IT турпродукты и сопровождаем легаси-проекты. Недавно мне довелось временно заменить тимлида — он ушёл в отпуск, оставив напоследок фразу: «Ты не будешь деплоить».

Спойлер: деплоил. И не просто деплоил, а чуть не похоронил релиз из-за одного неосторожного git reset --hard. К счастью, всё закончилось хорошо — но пришлось восстановливать ветки из GitLab’а, бороться с удалённой историей и вручную черри-пикать задачи.

Рассказываю, как всё было, какие выводы сделал и чего теперь точно делать не буду. Надеюсь, кому-то это сэкономит пару нервных клеток.

Читать далее

10 непривычных моментов в Go для Java разработчика

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

Несколько лет назад я начал добавлять Go в свой арсенал языков (будучи на тот момент Java разработчиком). Мне было очень непривычно. Более того, я принял язык не с первой попытки. Причём пришлось принять его больше из-за сложившихся обстоятельств, чем по собственному желанию.

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

Уточню: статья ориентирована больше на тех, кто планирует перейти в Go, чем для опытных разработчиков.

Читать далее

Делаем автомобильный компьютер с нескучным функционалом

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

Привет, я собрал небольшой бортовой компьютер для авто, который умеет показывать температуру, время с момента включения и раздавать «Free Wi-Fi». В этой статье приведён код, список компонентов и всё остальное, чтобы собрать такой же. Назвал я его Kruk — от беларуского слова «Крук» (рус. «Крюк»).

Вот видео его работы на YouTube. Здесь его страница на GitHub.

Если вы уже посмотрели видео, то понимаете суть функции «Free Wi-Fi». Как только к Wi-Fi подключаются, система сразу переводит пользователя на captive portal, а сам компьютер начинает показывать, помимо температуры и времени, ещё два дополнительных окна с информацией о количестве пользователей, подключившихся к Wi-Fi, и о количестве пользователей, которые до сих пор к нему подключены (online).

Читать далее

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