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

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

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

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

Как добавить свой повторяемый элемент интерфейса в класс HTMLHelper Joomla 4+

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

В API Joomla есть полезный инструмент - класс HTMLHelper. Он выводит HTML-элементы интерфейса с нужными параметрами: модальные окна, аккордеоны, табы, изображения и т.д. Для рендера мы передаём все нужные данные: заголовки окон, содержимое табов, атрибуты изображений.

Плюс использования HTMLHelper в Joomla - это его универсальность, оторванность от контекста, возможность использования логики при рендере в зависимости от вводных данных, его можно использовать везде. Но что если нам нужно создать свой собственный класс?..

Читать далее

style.setProperty vs setAttribute

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

На днях столкнулся с интересным вопросом. Что быстрее element.style.setProperty(свойство, значение)или element.setAttribute('style', 'свойство: значение')? На первый взгляд ответ кажется очевидным. Логика говорит нам, что setProperty должен устанавливать значение сразу в CSSOM, тогда как setAttributeвыставляет сначала атрибут style и уже потом значение атрибута будет разобрано в CSSOM. Таким образом, setProperty должен быть быстрее. Но действительно ли всё так однозначно? Давайте разбираться.

Начнем с того, что немного освежим мат. часть. Мы знаем, что стили описываются с помощью языка CSS. Получив строковое описание стилей на языке CSS, браузер разбирает его и составляет объект CSSOM. Интерфейс этого объекта представлен спецификацией https://www.w3.org/TR/cssom-1. Он следует принципам каскадности и наследования, изложенным в https://www.w3.org/TR/css-cascade-4.

Из выше указанных спецификаций мы знаем, что основной единицей CSS является "свойство". Свойству присваивается значение, характерное конкретно этому свойству. Если значение не задано явным образом, оно наследуется от выше стоящего стиля или, если нет вышестоящего, будет установлено initial value.

Набор свойств для элемента собирается в правила CSSRule. Правила бывают разных типов. Наиболее популярный тип - CSSStyleRule, определяющий свойства элемента. Такое правило начинается с указания одного из валидных селекторов и последующих фигурных скобок с набором свойств и значений <selector>: { ... }Имеются и другие типы правил, например CSSFontFaceRule, описывающий параметры подключаемого шрифта @font-face { ... }, CSSMediaRule - @media { ... } и др. Полный список в спецификации https://www.w3.org/TR/cssom-1/#css-rules.

Читать далее

Создание RESTful API с помощью Django и Django REST Framework

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

В современном мире веб-разработки API (Application Programming Interface) обеспечивает взаимодействия между различными приложениями и сервисами.
REST API, стали стандартом для создания веб-сервисов благодаря их простоте и гибкости.

Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 2)

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

Это перевод статьи от Philipp Acsany

В этой второй части серии вы узнаете, как:
- Использовать SQL-инструкции в Python
- Настраивать базу данных SQLite для вашего проекта Flask
- Использовать SQLAlchemy для хранения объектов Python в базе данных
- Работать с базой данных через REST API
- Сериализовывать и десериализовывать JSON в объекты Python через Marshmallow

Читать далее

Истории

Создаём современные npm-пакеты и преодолеваем трудности совместимости ESM и CJS

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

Привет! Меня зовут Никита, и я тружусь в команде фронтенда платформы в Ozon. Платформа поставляет инструменты для создания и поддержки JS-проектов. В компании в настоящее время более 500 таких проектов. Мы прилагаем максимум усилий, чтобы разработчикам всех проектов было одинаково приятно работать с нашими инструментами.

Также мы предоставляем инструменты для создания JS-библиотек. И в этой статье я расскажу о том, как мы советуем создавать npm-пакеты. Отмечу, что это не касается UIKit-пакетов, — для них требуется довольно специфичный инструментарий, который заслуживает отдельной статьи.

Недавно у нас проходила актуализация инструментов, которая включала обновление версий Node, TypeScript и прочего. И мы обнаружили, что сейчас правильно упаковать библиотеку ой как нелегко, особенно с началом активной фазы по отказу от CommonJS. В идеале очень хочется иметь инструмент, который бы просто работал. В open-source есть парочка вариантов (unbuild, pkgroll, dnt), но выбрать подходящий мы пока не смогли. А написать свой — довольно трудоёмкая задача. В будущем мы обязательно обзаведёмся таким инструментом, а пока просто погрузились в тему и подготовили для наших разработчиков рекомендованные сетапы, которыми сейчас поделимся и с вами.

Читать далее

Правильные ли у вас микрофронты?

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

Как избежать типичные ошибки при внедрении микрофронтов и какие инструменты упрощают жизнь разработчикам.

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

Читать далее

Дайджест новостей по Symfony за октябрь'2024 с Кириллом Несмеяновым

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

Обзор новостей по Symfony за октябрь. В этом обзоре Кирилл Несмеянов разберет нововведения: от полезных правил валидации Week и WordCount до именованных сериализаторов и улучшений в компоненте Messenger. Узнаете про обновления в системе переводов, работе с контейнером и Expression Language. А еще - про возможность отправлять уведомления прямо на рабочий стол. Самое время узнать, какие инструменты добавились в арсенал Symfony-разработчика!

Читать далее

Понимание Common Expression Language (CEL): Руководство для начинающих

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

Common Expression Language (CEL) - это специализированный язык выражений, разработанный Google для безопасного, эффективного и простого выполнения различных проверок и вычислений в приложениях. Проще говоря, CEL - это мощный инструмент для создания логических правил и условий, которые легко интегрируются в приложение и позволяют гибко управлять его поведением без необходимости изменения основного кода.

Читать далее

Что нового в Strapi 5. Спойлер: стало лучше

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

Всем привет! Меня зовут Александр, я фронтенд‑разработчик в KTS.

Не так давно я уже рассказывал про Strapi — одно из ведущих опенсорсных headless CMS‑решений, которое на протяжении долгого времени пользуется большой популярностью у разработчиков. Чуть больше месяца назад разработчики системы представили обновленную версию, и в этой статье я расскажу о фишках, которые появились в Strapi 5.

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

Читать далее

Совершенный код: 10 книг по веб-разработке для начинающих

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

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

Читать далее

Как проводить опросы удовлетворенности среди клиентов: опыт Selectel

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

Привет! Меня зовут Саша Старикова, я младший исследователь пользовательского опыта в Selectel. Мой отдел собирает обратную связь от клиентов и доносит ее в виде идей и выводов до заинтересованных команд.

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

Более сложные исследования проводим мы сами. Недавно рассказали о таком в статье. Такие проекты направлены на получение более комплексных знаний о наших пользователях. Ярким примером подобного исследования стал опрос удовлетворенности клиентов CSAT. В статье поделюсь первым опытом запуска и расскажу, что из этого получилось.
Читать дальше →

О чем плачет Frontend-developer

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

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

Сборник фронтендерских болей.

Читать далее

От живых гайдлайнов к Documentation as Code. Как изменилась документация во фронтенд-разработке

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

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

Читать далее

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

27 марта
Deckhouse Conf 2025
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Разработка Telegram Mini App с помощью React

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

Telegram Mini App — это веб-приложения, которые открываются внутри мессенджера Telegram. Эти приложения создаются с использованием стандартных веб-технологий, таких как HTML, CSS и JavaScript, и выглядят как обыкновенные сайты.

Более подробно о том, что такое Telegram Mini App, мы рассказали в предыдущей статье, а сегодня рассмотрим, как создать собственный Mini App, используя React.

Читать далее

Как учить разработке на Битрикс: наши 20 лет опыта

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

С 2003 года CMS «1С-Битрикс: Управление сайтом» активно представлена на рынке, а в 2012 к ней присоединилась CRM «Битрикс24». Эти продукты быстро завоевали популярность, и сегодня у компании-разработчика более 20 тысяч партнеров. Несмотря на неоднозначное восприятие «1С-Битрикс» среди программистов, спрос на эту платформу продолжает расти, и многие разработчики успешно создают на ней проекты.

Для нашей компании «1С-Битрикс» является основной технологией. Мы используем Bitrix Framework (BF) для разработки сервисов, сотрудничая с крупными корпорациями и государственными организациями. Для этого мы активно ищем квалифицированных специалистов по «Битрикс», хотя в Волгоградской области их найти непросто.

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

Расскажем подробнее о том как выращиваем компетентных разработчиков на Битрикс.

Читать далее

Как создать архитектуру фронтенд-приложения, если ее нет от слова «совсем»

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

Всем привет! На связи Вадим Королев, архитектор на Web HiFi-стриминга Звук. Сегодня я хочу поделиться своим опытом и рассказать, как создать архитектуру фронтенд-приложения, если ее еще нет в вашей компании.

Каждый разработчик рано или поздно приходит к той степени зрелости, когда его начинают интересовать вопросы архитектуры на своем проекте. При детальном изучении темы оказывается, что все примеры в основном рассматривают что-то на бэкенде, вследствие чего встает вопрос: «А как готовить архитектуру для фронтенда?». Если в вашей команде больше одного человека, стоит с самого начала (независимо от размера проекта) озаботиться этим вопросом.

Читать далее

Разворачиваем приложение Next.js с базой данных PostgreSQL и задачей Cron на облачном сервере Ubuntu Linux

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


Привет, друзья!


Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно.


Основные элементы нашей системы:


  • приложение, демонстрирующее несколько мощных возможностей Next.js 15
  • база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении
  • задача Cron для удаления из БД всех задач каждые 10 мин
  • приложение, БД и задача Cron функционируют в контейнерах Docker
  • контейнеры запускаются с помощью Docker Compose на облачном сервере Ubuntu
  • сервер Nginx для перенаправления запросов HTTP (обратного проксирования)
  • домен, привязанный к серверу
  • Certbot для получения сертификата SSL из Let's Encrypt и его установки для домена

Демо приложения.


Интересно? Тогда прошу под кат.

Читать дальше →

Ошибки при работе с tailwindcss

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

Рассмотрим распространенные ошибки которые допускают разработчики при работе с tailwind и пути их решения.

Читать далее

Turbo-Pascal 5.5 (и другие) в браузере — с загрузкой программ по ссылке

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

"Эх вот в школе я такую программулину написал, на Паскале" - бывают такие мысли, особенно у тех кто учился, скажем, в 90е. И даже находятся порой эти старые программы на старом диске. Но если запустить их ещё в DosBox у себя на машине можно - то как показать-похвастаться другим, в интернете?

Возьмём эмулятор js-dos (им старые игры в браузере запускают) - и поколдуем над ним, чтобы можно было своими паскальными-бейсиковыми программулинами делиться всем на радость.

Пользоваться этой поделкой вы сможете не вникая в подробности! Там есть страничка для подготовки "ссылок с программами" - хоть сразу делитесь в комментариях :) А для тех кому захочется по аналогии и другие компиляторы-интерпретаторы подключить - будет немножко пояснений что и как там сделано - чтобы форкнув код на гитхабе вы могли быстро внести нужные изменения.

Вспомним молодость :)

Семантический веб: краткий обзор технологий и инструментов

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

В статье "Семантический веб: краткий обзор технологий и инструментов" вы найдете доступное объяснение основ семантического веба и его ключевых компонентов. Мы рассмотрим что такое семантический веб, как он помогает сделать данные более доступными и понятными для машинной обработки. В статье обсуждаются технологии, лежащие в его основе: RDF (Resource Description Framework) для моделирования данных, OWL (Web Ontology Language) для создания онтологий, SPARQL — язык запросов для RDF и другие. Кроме того, мы рассмотрим популярные инструменты, такие как Apache Jena, OWLAPI, которые используются для создания и работы с семантическими данными.

Читать далее

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