Обновить
512K+

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

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

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

Открытая трансляция Главного зала Saint HighLoad++ 2022

Время на прочтение7 мин
Охват и читатели2K

Через 2 дня начнется главное событие для разработчиков высоконагруженных систем. 22 и 23 сентября мы снова будем делиться опытом построения веб-сервисов для решения задач сотен тысяч пользователей по всему миру. Если у вас не получилось попасть в Санкт-Петербург на DESIGN DISTRICT DAA in SPB, подключайтесь к открытой трансляции Главного зала конференции.

Не забывайте про расписание докладов. 22 сентября трансляция докладов продлится с 10:00 до 19:00 часов. А на второй день 23 сентября с 10:30 до 19:00 часов. Теперь давайте подробнее познакомимся с докладчиками открытой трансляции.

Читать далее

Списковые включения в Python мощнее, чем можно подумать

Время на прочтение7 мин
Охват и читатели48K

В Python списковые включения (и генераторы списков) —  замечательные механизмы, способные серьёзно упрощать программный код. Правда, чаще всего их используют в форме, предусматривающей наличие единственного цикла for и, возможно, одного условия if. И это всё. Но если попытаться немного вникнуть в эту тему, то окажется, что у списковых включений Python имеется гораздо больше возможностей, чем можно подумать, возможностей, разобравшись с которыми, можно, по меньшей мере, кое-чему научиться.

Читать далее

React: разрабатываем кастомный useEffect

Время на прочтение10 мин
Охват и читатели8K


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


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


Предполагается, что вы хорошо знакомы с тем, как работает хук useEffect, а также с тем, когда и почему происходит повторный рендеринг React-компонентов. Если нет, вот парочка ссылок:



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


Код проекта, с которым мы будем работать, можно найти здесь.


Начнем с примера.

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

Системный шрифт как проприетарные куки. Необычный метод пометки вашего устройства

Время на прочтение8 мин
Охват и читатели8.5K
Предположим, перед разработчиком поставлен такой вопрос — как со стороны веб-сайта определить, что у пользователя установлено конкретное приложение? Вопрос интересный. На него есть несколько способов ответа. Как вам такой вариант — поставить в систему уникальный шрифт при инсталляции программы? Ведь браузер всегда отдаёт по запросу список системных шрифтов. Значит, проблема решена.

Так делают различные программы, хотя это не назовёшь образцом правильного программирования. У метода свои преимущества и недостатки.
Читать дальше →

Frontend в условиях полной редактируемости

Время на прочтение4 мин
Охват и читатели7.9K

В этой статье мы расскажем подробно про систему поблочной сборки и подводные “камни” реализации подобной системы под «1С-Битрикс» для frontend-разработчиков.

Блочная редактируемость

Нам требовалось разработать сайт на базе CMS «1С-Битрикс: Управление сайтом» и при этом предоставить контент-менеджерам полную власть над страницами и их содержимым. Контент-менеджеры \читай не разработчики\ должны иметь возможность собирать страницы из заранее созданных блоков, определять порядок этих блоков на странице, управлять настройками дополнительного визуального оформления для каждого из блоков и редактировать контент в рамках поддерживаемых типов данных. И всё это управляется через визуальный редактор Битрикса без необходимости вручную создавать новый инфоблок для каждого блока на странице. Такую систему можно назвать “Блочная редактируемость”.

Читать далее

PowerShell: распознавание БЭМ-сущностей на HTML-странице

Время на прочтение5 мин
Охват и читатели2.6K

Распознавание типов БЭМ-сущностей (блок, элемент, разные виды модификаторов) в скрипте на языке PowerShell с помощью простых регулярных выражений.

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

Читать далее

On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

Время на прочтение4 мин
Охват и читатели7.5K

В этой статье я расскажу, как и для чего, на одном из своих проектов, мы прикрутили новую возможность Next.js – On-Demand ISR (инкрементная статическая регенерация по запросу).

Читать далее

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

Время на прочтение13 мин
Охват и читатели10K

Joomla 4 "под капотом" претерпела немало изменений относительно предыдущих версий. Её кодовую базу сообщество разработчиков регулярно подтягивают до современных реалий, вводя актуальные технологии в ядро CMS. Так, например, если раньше загрузка классов была вариациями на тему include, то в Joomla 4 появился лоадер, приведённый к PSR-4. Ядро CMS переводится на концепцию сервис-провайдеров, внедрены DI-контейнеры. Эти изменения влекут за собой изменения в структуре компонентов, модулей и плагинов.

В данной статье пойдёт речь о том, как создать модуль для Joomla 4 с новой структурой файлов и классов. Как создать новый (или апгрейдить старый) модуль так, чтобы он ещё долго прослужил на Joomla 4 и Joomla 5? Читаем далее...

Читать далее

Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy

Время на прочтение9 мин
Охват и читатели15K

Как мы решаем проблемы со склонением для задач SEO-оптимизации с помощью phpMorphy.

Делимся решением!

Читать далее

Кто и как разработал технологию Википедии

Время на прочтение18 мин
Охват и читатели12K

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

Наша статья — о тех, кто разработал технологию Википедии, и о том, как они работали.

Читать далее

Архитектура для пользователей

Время на прочтение23 мин
Охват и читатели21K

Когда говорят о выборе архитектуры IT-системы, почти всегда упускают один ма-а-аленький нюанс: мы делаем продукты для пользователей, не для себя. А пользователям совершенно неважно, какая у сервиса архитектура. Никто в отзывах не ставит звёздочки за event-driven подход или классную реализацию service mesh — разве что в редких случаях, когда речь о продуктах для разработчиков. 

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

Читать далее

Превью сайта с разметкой Open Graph: как автоматически рендерить картинку

Время на прочтение4 мин
Охват и читатели9.4K

Всем привет! Меня зовут Николай Каменев, я фронтенд-разработчик в Почтатехе. Мы разрабатываем UI для порталов и приложений Почты России.

Я хочу поделиться коротким гайдом, как автоматически рендерить og:image-изображения для превью сайтов.

Читать далее

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

Разработка Angular-приложений и построение их архитектуры

Время на прочтение12 мин
Охват и читатели22K

Привет! Меня зовут Самат, я frontend-специалист компании SimbirSoft.

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

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

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

Читать далее

Как повысить скорость разработки с помощью общедоступных функций JavaScript

Время на прочтение10 мин
Охват и читатели11K

Практическое руководство по написанию лаконичного кода и повторному использованию вспомогательных функций JS в проектах.

Читать далее

TypeScript в деталях. Часть 2

Время на прочтение11 мин
Охват и читатели18K

Синтаксический сахар в Redux: Type to reducer и Redux toolkit для самых маленьких

Время на прочтение5 мин
Охват и читатели5.4K

Сегодня рассказ пойдет о двух удобных способах сократить рутину в Redux, которые мы используем в разных частях собственного проекта. Речь пойдет о малоизвестной библиотеке Type to reducer и довольно функциональном Redux toolkit. Почему нам было трудно жить с чистым Redux, зачем нужны вспомогательные инструменты и как они облегчают жизнь, читайте под катом.

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

Читать далее

Продвинутые хуки в React: всё о UseEffect

Время на прочтение5 мин
Охват и читатели89K

В этой статье рассмотрим советы и приёмы, которые помогут более профессионально написать код на React.

Читать далее

Как опубликовать свой плагин в репозиторий WordPress.org

Время на прочтение12 мин
Охват и читатели6.8K

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

Читать далее

Как мы зарелизили новую корзину и победили проблему разваливающихся заказов

Время на прочтение6 мин
Охват и читатели5.6K

Привет! Меня зовут Катя Антипова, я старший продакт в М.Видео-Эльдорадо. Сегодня я расскажу вам о том, как мы обновляли корзину в мобильном приложении и на сайте М.Видео и решали одну их сильных «головных болей» наших клиентов.

Читать далее