Как стать автором
Обновить
133.41

Разработка веб-сайтов *

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

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

Создание плагинов с учётом новой структуры Joomla 4

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 337
CMS *Разработка веб-сайтов *Open source *PHP *Joomla *
Туториал

С момента выхода Joomla 4 прошло уже почти 2 года, поэтому слово "новой" будем понимать в контексте сравнения с Joomla 3. В Joomla 4 "под капотом" произошло немало изменений. Кодовая база движка постепенно отбрасывает legacy (старый код), встретившись с которым мы могли бы как на машине времени вернуться в середину 2000-х или начало 2010-х 😀

В данной статье собран необходимый минимум для того, чтобы обновить старый плагин до структуры Joomla 4. Ну, или написать с нуля новый.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

Новости

Обеспечение безопасности Frontend приложений

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 4.6K
Веб-дизайн *Информационная безопасность *Разработка веб-сайтов *JavaScript *
Из песочницы

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

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

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 6

Рендеринг на сервере и HTMX — это будущее

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 14K
Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *HTML *ReactJS *
Аналитика
Перевод

Современная ситуация с разработкой веб-приложений


Сегодня пользователи ожидают от веб-приложений плавной работы без перезагрузок страниц. К сожалению, эти ожидания обычно реализуются в виде одностраничных приложений (single-page application, SPA), использующих библиотеки и фреймворки наподобие React и Angular. Эти фреймворки очень специализированы и с ними может быть трудно работать.

Новый подход заключается в том, чтобы вернуть возможность реализации этого UX в руки инженеров, разрабатывавших веб-сайты до возникновения безумия SPA, используя готовые наборы инструментов и знания. HTMX — лучший пример такого подхода из тех, что я видел.
Читать дальше →
Всего голосов 71: ↑63 и ↓8 +55
Комментарии 95

Особенности асинхронности в Python

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 2.6K
Блог компании Росбанк Разработка веб-сайтов *Python *Django *Flask *
Туториал

Привет, Хабр! Меня зовут Николай Нагорный, я работаю в Росбанке над платформой Advisors’ Axiom. В этом посте я подробно расскажу о важной фиче, которая появилась в Python 3.5 — асинхронности. Затрону основные концепции и инструменты, приведу примеры кода. Пост будет полезен новичкам для понимания основ асинхронности и, может, даже опытным разработчикам в поиске новых идей и подходов.

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 11

Истории

Детокс для i18n

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 2.5K
Разработка веб-сайтов *JavaScript *ReactJS *Локализация продуктов *VueJS *
Туториал

NPM библиотека для интернационализации и локализации i18n очень популярна, однако за последние годы она сильно располнела. В ней много возможностей для локализации дат, чисел, установки нужных склонений, поддержки RTL языков, загрузки локалей с сервера и кучи еще чего. На сайте i18next она называется уже даже "интернационализационным фреймворком".

В то же время часто для локализации сайта нужны очень простые вещи, занимающие всего пару процентов от всего функционала тяжеловеса i18n. Ниже будет описана несложная процедура избавления от i18next-ной зависимости в данном случае.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 11

Хорошая замена Celery для IO-bound задач

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 2.4K
Разработка веб-сайтов *Python *Программирование *Распределённые системы *
Кейс

Речь пойдет о библиотеки для работы с AMPQ - aio-pika. Она имеет всего в районе 1К звёзд на GitHub (по сравнению с 20К+ у Celery). Я рассмотрел абсолютно все популярные (500+ звёзд) решения и остановился именно на этом из-за активной (на текущий момент) разработке и соответствии всем моим требованиям.

Стек, который вы увидите в статье: FastAPI, RabbitMQ, aio_pika и docker. Статья будет полезна тем кто использует Celery в своих проектах, а так же тем, кто только слышал о том, что такое очереди и RabbitMQ.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 11

Чистая архитектура на практике

Уровень сложности Сложный
Время на прочтение 7 мин
Количество просмотров 8.9K
Разработка веб-сайтов *PHP *Symfony *Проектирование и рефакторинг *Разработка под e-commerce *
Аналитика

Для начала хотелось бы затронуть так называемую «микросервисную архитектуру», которая стала довольно популярной. Но называть её архитектурой не совсем корректно, как заметил Роберт Мартин в своей книге «Чистая архитектура». Микросервис — это один из способов представления компонента общего приложения. Но архитектура, взаимодействие между компонентами, при этом может остаться такой же. Под компонентом понимается наименьшая единица развёртывания — пакет, библиотека или отдельное приложение, сервис, микросервис. В книге критикуется данная «микросервисная архитектура», а точнее, неправильное и неуместное её применение, которое есть во многих случаях и влечёт за собой негативные или крайне негативные последствия для проекта, и происходит «благодаря» низкой компетентности разработчиков или управляющих, которые хотят найти несуществующую здесь «серебряную пулю».

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

Читать далее
Всего голосов 20: ↑2 и ↓18 -16
Комментарии 50

Микрофронтенды на Module Federation — наш опыт. Часть 2

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 2.1K
Блог компании QIWI Разработка веб-сайтов *Микросервисы *

Всем привет! Меня зовут Женя, я разработчик из QIWI, занимаюсь созданием внутренних сервисов. Совсем недавно мы провели эксперимент по использованию микрофронтендов, и я хочу поделиться с вами опытом использования. Это вторая часть серии статей про наш опыт микрофронтов.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 6

Микрофронтенды на Module Federation — наш опыт. Часть 1

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 1.8K
Блог компании QIWI Разработка веб-сайтов *Микросервисы *
Туториал

Всем привет! Меня зовут Женя, я разработчик из QIWI, занимаюсь созданием внутренних сервисов. Совсем недавно мы провели эксперимент по использованию микрофронтендов, и я хочу поделиться с вами опытом использования. В качестве основы для построения системы мы выбрали фичу Webpack - Module Federation.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 0

Делаем кастомное модальное окно для React

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 1.6K
Разработка веб-сайтов *JavaScript *Тестирование веб-сервисов *ReactJS *TypeScript *
Туториал

Пишем typescript кастомное модальное окно для React приложения.

А также запилим удобный портал, кратко обсудим смысловое отличие модалки от других видов всплывающих окон и конечно же покроем всё тестами на Jest.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 4

Ural Digital Weekend 2023 — конференция про разработку и управление в Digital

Время на прочтение 4 мин
Количество просмотров 528
Блог компании Spectr Разработка веб-сайтов *Управление продуктом *Карьера в IT-индустрии Конференции

Привет! На связи Spectr.

4-5 августа в Перми пройдет большая конференция про разработку и управление бизнесом в Digital — Ural Digital Weekend. В статье рассказываем, что вас ждет и вспоминаем UDW прошлого года. 

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Как заставить бэкендера писать фронтенд

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 9.6K
Блог компании Яндекс Разработка веб-сайтов *Python *Программирование *VueJS *

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

Для начала давайте вспомним, что же это за панели. Панель администрирования (или админка) — это приложение, которое используется для управления и настройки приложения. То есть это такой продукт для продукта. Панели администрирования нужны для различных целей, например, для создания и редактирования контента, настройки параметров продукта или управления пользователями.

Но иногда в проектах важна скорость и ресурсов на создание админки с привлечением команды фронтенда откровенно не хватает. И тогда бэкендеру приходится брать процесс в свои руки.

А теперь вы готовы погрузиться в эту кроличью нору.

Читать далее
Всего голосов 27: ↑24 и ↓3 +21
Комментарии 68

Redux-saga: обзорная экскурсия

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 901
Блог компании Usetech Разработка веб-сайтов *JavaScript *ReactJS *
Обзор

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

В статье используются специализированные термины, поэтому предполагается, что вы имеете общее представление о React, Redux, генераторах и итераторах из ES6.

Из официальной документации следует, что redux-saga — это библиотека, которая ориентирована на упрощение и улучшение работы с сайд-эффектами (side-effects, любыми взаимодействиями с внешней средой, например, запрос на сервер) и облегчение их тестирования. В redux сага — это middleware (слой, работающий с момента диспатча (dispatch) экшена (action) и до обработки его редьюсером (reducer)), который может запускаться, останавливаться и отменяться из основного приложения с помощью обычных действий redux. Библиотека использует такое понятие ES6 как генераторы (Generators), и благодаря этому наши асинхронные потоки выглядят как обычный синхронный код.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

15 качеств, которые понадобятся разработчику веб-приложений

Время на прочтение 9 мин
Количество просмотров 2.1K
Блог компании Skillbox Разработка веб-сайтов *Учебный процесс в IT

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

Читать далее
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 5

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1

Время на прочтение 7 мин
Количество просмотров 5.3K
Блог компании Selectel Разработка веб-сайтов *Python *Django *
Туториал

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

В Proglib собрали небольшой шаблон, на базе которого можно создать свой блог на Django, а после — задеплоить на виртуальный сервер. Материал будет полезен новичкам, которые знакомы с базовыми концепциями фреймворка и хотят закрепить знания. Подробности под катом!
Читать дальше →
Всего голосов 49: ↑46 и ↓3 +43
Комментарии 1

Делаем кастомный RadioGroup в 99 строк для React

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 588
Разработка веб-сайтов *ReactJS *TypeScript *
Туториал

Пишем минималистичный кастомный RadioGroup компонент для React приложения и парочку unit тестов на Jest.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Ты не видишь капчу, а она есть: как мы разрабатывали сервис Yandex SmartCaptcha для людей и бизнеса

Время на прочтение 8 мин
Количество просмотров 10K
Блог компании Yandex Cloud & Yandex Infrastructure Спам и антиспам Информационная безопасность *Разработка веб-сайтов *

Меня зовут Алексей Тощаков, я руковожу службой антифрода в Яндексе. Моя команда использует алгоритмы и данные для защиты наших сервисов и пользователей от фрода. Один из сервисов, которые мы разрабатываем — SmartCaptcha в Yandex Cloud.

В 2021 году мы уже рассказывали на Хабре про то, как изменялась и совершенствовалась наша внутренняя капча. После публикации статьи к нам стали обращаться владельцы сайтов с вопросами о том, как можно наш инструмент использовать у них. Это стало для нас сигналом, что пора взяться за разработку сервиса Yandex SmartCaptcha для внешних клиентов. Казалось бы, весь код уже написан, так что нужно только оформить лендинг и подключить биллинг. В реальности вышло сложнее — нам пришлось провести рефакторинг кода и многое изменить. Сейчас расскажу подробнее о том, что получилось в итоге.

Читать дальше
Всего голосов 57: ↑46 и ↓11 +35
Комментарии 94

Кастомный select для React

Уровень сложности Простой
Время на прочтение 16 мин
Количество просмотров 1.9K
Разработка веб-сайтов *JavaScript *Тестирование веб-сервисов *ReactJS *TypeScript *
Туториал

Пишем минималистичный кастомный select компонент для React приложения. Покрываем всё тестами на Jest.

Читать далее
Рейтинг 0
Комментарии 9

Простота Subject’ов, удобство NGRX: что такое компонентный стор и с чем его едят

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 1.6K
Блог компании TINKOFF Разработка веб-сайтов *Angular *
Туториал

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

Поговорим о том, как наша команда пришла к такому подходу, какие плюсы принесло это решение и почему, если вы пишете на Angular, вам стоит хотя бы взглянуть на @ngrx/component-store.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 5

Делаем пагинацию в React приложении

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 3.6K
Разработка веб-сайтов *ReactJS *TypeScript *
Туториал

Пишем на typescript простой, переиспользуемый пагинатор для React приложения. Покрываем его тестам на Jest.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 5

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