Объясняем Z-index: как позиционировать элементы с помощью CSS
CSS свойство под названием z-index всегда вызывало у меня страдания.
На первый взгляд принцип его работы звучит просто: элементы с более высоким значением z-index отображаются поверх элементов...
Kubernetes избавляется от Docker
Как многие уже знают, Kubernetes с версии v1.20 прекращает использование Docker в качестве среды выполнения. Выбор сделан в пользу тех сред, что задействуют Container...
5 инструментов Chrome DevTools, упрощающих разработку
Большинство из нас владеет основами Chrome (например, принципами исследования элементов на странице), но не все знают о дополнительных функциях, значительно упрощающих задачи разработчика.
Как я самостоятельно освоила Tableau
Tableau - это высококлассное программное обеспечение для анализа и визуализации данных. Хотите изучить этот полезный продукт? Профессиональный аналитик данных поделится с вами опытом освоения Tableau с нуля.
TypeScript: от нулевого до продвинутого уровня. Часть 2
Продолжаем изучать руководство по TypeScript, чтобы пройти путь от новичка до профессионала! 2-я часть ознакомит вас с такими понятиями TypeScript, как вывод и утверждение типов, интерфейсы и их расширение, операторы typeof и as const, дженерики и классы. В конце статьи вас ждет шпаргалка по всему изученному материалу.
WebSocket для получения автоматически обновляющихся криптографических данных
WebSocket - крайне важный инструмент для получения постоянно обновляющихся данных. Знакомство с ним пригодится тем, кому нужна самая свежая информация, будь то текущие ставки, цены на акции, курсы криптовалют или обмен сообщениями в режиме реального времени.
80+ команд для разработчика React Native
Предлагаем полный список команд React Native, iOS, Android, Expo с примерами кода и пояснениями. Настоятельно рекомендуем каждому разработчику React Native, независимо от опыта работы и уровня образования, взять на заметку эти полезные команды и релевантно использовать их при необходимости.
Добавление отношений в схему GraphQL
Отправная точка
Строить мы будем на базовом сервере GraphQL. Код можно скачать здесь или с помощью:
git clone --branch setup https://github.com/bjdixon/graphql-server.git
При клонировании/загрузке нужно создать экземпляр MongoDB...
Совместное использование состояний между окнами без задействования сервера
Как разделить состояние между несколькими окнами, чтобы создать иллюзию целостной картинки? Поговорим о приемах, с помощью которых можно реализовать такую задумку.
Анализ JavaScript и методы Burp Suite, которые действительно работают
Это пошаговое руководство научит вас эффективно сочетать сетевую разведку, анализ JavaScript-кода и действительно работающие методы Burp Suite. В результате вы станете высококлассным багхантером, умеющим превращать сырые JavaScript-файлы в отчеты о реальных уязвимостях.
Telegram-бот с помощью таблицы Google
Для создания собственного Telegram-бота потребуется минимум программирования. На самом деле вам даже не нужно иметь редактор кода, чтобы начать. К концу этого поста вы...
7 приложений и сайтов, которые облегчат работу UX/UI дизайнера
Рассмотрим 7 приложений и сайтов для UX/UI дизайнера и подробно изучим основные функции, особенности и области использования каждого из них.
Будущее CSS: новейшие возможности языка декорирования в 2023 году
CSS - популярный инструмент стилизации и декорирования. В этом году в него вводятся улучшения, которые помогут улучшить опыт разработчика. О них и поговорим.
Как преобразовать функции JavaScript в генераторы, эффективно использующие память
Ключевое слово yield используется в JavaScript для приостановки выполнения функций. При повторном вызове функции ее выполнение продолжается с последнего оператора yield.
Функция, возвращающая (yields) значения,...
Первые шаги в JavaScript: создание калькулятора
Начинаете осваивать JavaScript? Создание простого калькулятора позволит вам оценить его возможности. Вы получите базовое представление о синтаксисе JavaScript и о том, как использовать его для создания интерактивных веб-приложений.
10 концепций бэкенда, незнание которых выдает слабого сеньор-разработчика
Сертификаты, годы опыта и знание модных фреймворков — все это ничего не значит, если вы не понимаете основ. Рассказываем о 10 фундаментальных концепциях бэкенда, овладение которыми делает из инженера настоящего сеньора.
Почему каркасы бесполезны?
Мы никогда не были большими фанатами каркасов, поэтому распрощаться с ними не было для нас проблемой. Мы избавились от них раз и навсегда, когда...
Javascript и функциональное программирование. Часть 2: полноправные функции
Предыдущие части: Часть 1
Добро пожаловать в параллельный мир
Вам необходимо кое-что узнать прежде, чем мы начнем... Если вы когда-либо программировали в JS, вы, вероятно, раньше использовали...
Ваш JavaScript-бандлер слишком раздут
Дело не только в скорости, но и в удобстве использования приложения, показателях SEO, проценте отказов и в том, задерживаются ли ваши посетители на сайте достаточно долго, чтобы увидеть предлагаемый вами контент. Выполнив ряд оптимизаций, вы избавитесь от проблем с вовлеченностью пользователей и конверсией.
StreamForge: настраиваемый дашборд мониторинга метрик Kafka
Разберем принцип работы и функционал мощного и универсального приложения с открытым кодом. Настроим и подключим, следуя четким пошаговым инструкциям.
Шаблон “Декоратор” в разработке на TypeScript
Овладейте полезным инструментом TS-разработчика - шаблоном проектирования "Декоратор". Он позволяет динамически расширять функциональность объектов, не усложняя читаемость кода.
Refs в React: от доступа к DOM до императивного API
React достаточно удобный инструмент для создания веб-приложений. Еще больше его возможности расширяют рефы (Ref или Reference), действующие как ссылки на элементы кода React и упрощающие решение нестандартных задач.
Как в два счета сделать сайт редактируемым извне с помощью данных Google Sheets
Как-то раз заказчики спросили меня, можно ли сделать так, чтобы события и ярмарки на их сайте мгновенно обновлялись. Сегодня я могу сказать: «Да, и...
Реализация Redux на Rust
Создадим веб-приложение на Rust с помощью Yew и Redux, разберем его базовую структуру и то, как создаются действия и функция редьюсера. Рассмотрим также реализацию с макросом и перечислениями.
Множества ES6 в JavaScript. Зачем?
Что такое множество?
Это набор уникальных значений — ни одно из них не возникает дважды или более раз. Это единственное ограничение, которое делает множество значений...
Минималистичная конфигурация терминала с возможностью тонкой настройки
Мой терминал настроен очень минималистично. Это просто черный ящик, который сообщает мне полезную информацию. Основное удобство в том, что каждый его аспект имеет собственный...
Практики фронтенд-разработки, которые помогут избежать неудач
Упростите и ускорьте разработку фронтенда с помощью нескольких эффективных решений. Узнайте, как сократить технический долг, написать надежный код и создать расширяемую архитектуру для проекта.
Создание кольцевой диаграммы на JavaScript
Предлагаем пошаговое руководство по созданию и настройке на JavaScript интерактивной кольцевой диаграммы. Следуя ему, вы приобретете навыки и знания, которые позволят создавать персонализированные кольцевые диаграммы.
Как улучшить производительность сайта с помощью мониторинга реальных пользователей
Время — деньги. Независимо от того, каковы ваши взгляды на этот счет, медленная загрузка — это плохо. Исследования показывают: коэффициент конверсии снижается прямо пропорционально с каждой проходящей секундой....
Отложенная загрузка изображений с помощью Intersection Observer API
Изображения составляют огромный процент содержания веб-страниц. Однако чем больше изображений, тем медленнее загружается страница.
Большое количество изображений на сайте значительно влияет на его производительность. Отложенная...
Интерфейсы с вкладками без JavaScript
Все больше и больше хитрых интерфейсных функций опираются на JavaScript, из-за чего создают проблемы доступности. Даже с учетом того, что на сегодняшний день JS...
Перевод любого приложения Vue.js за час
Инструкция по полной автоматизации процесса перевода приложений на любое количество языков с помощью vue-i18n. Настраиваем инструменты, организуем их взаимодействие и получаем возможность мгновенного перевода через Google Translate.
15 общедоступных проектов, которые каждый разработчик должен добавить в закладки
Эта коллекция из 15 проектов с открытым исходным кодом, включающая инструменты упрощенного Agile-управления, автоматизации рабочих процессов, обеспечения безопасности API, создания платформы сообщества, - жизненно важный ресурс для любого разработчика. Они упростят вашу работу, помогут повысить производительность и избавят от неоправданных затрат.
Как сделать приложение с дополненной реальностью, используя React Native
Введение
Возможно, вас в последнее время тоже, как и меня, заинтересовала постоянно растущая сфера дополненной реальности. В том или ином виде или форме эта технология...
Из финансов в разработку: как стать инженером-программистом
Переход из финансов в веб-разработку - рисковое путешествие. Эти советы от того, кто уже преодолел этот путь, могут пригодиться.
Мониторинг сайта: просто, но эффективно
На тему мониторинга приложения уже написано немало литературы. Одно время я работал консультантом по программному обеспечению на предприятии, где под нашим бдительным оком находилось...
Жизненный цикл разработки на примере сайта
Рассмотрим процесс создания сайта с точки зрения жизненного цикла разработки ПО и подробно изучим каждый из 6 его этапов.
Дашбордное решение Apache Superset
Подробно опишем процесс установки: запуск дополнительных контейнеров в поде и развертываниях, аннотации, метки, настройка ресурсов, конфигурации, ограничения топологии и компонентов. Дополнительно подключим к Superset все источники данных, установив отдельные коннекторы баз данных.
Как не лажать с JavaScript. Часть 1
Часть 1, Часть 2
JavaScript самый распространенный язык программирования в мире и с его силой нужно считаться. Благодаря своей простоте и обилию учебных материалов его...
Что такое Open Graph и как применять его для веб-сайта?
На то, чтобы наполнять сайт контентом и поддерживать его, уходит много времени. Как удостовериться в том, что контент отображается правильно, когда им делятся в...
Как Signal управляет состоянием приложения
Signal - мощный инструмент для фронтенд-разработки. Раскройте для себя механизм его работы, чтобы понимать, как происходит сохранение, обновление и вычисление состояния приложения. Вы также узнаете, как осуществляется мемоизация тяжелых вычислений, избавляющая от многократного пересчета.
Создание UI-компонентов React на продвинутом уровне
Хотите создавать компоненты пользовательского интерфейса, как старший React-разработчик? Воспользуйтесь руководством по эффективному созданию компонента button. Усвоив его принципы, вы сможете разработать любой другой компонент без особых проблем.
4 принципа качественного рефакторинга функций
Каждый проект в программировании так или иначе связан с данными, в управлении которыми важную роль играют функции, подготавливающие эти данные для представления в числовом...
Python Django: как изменить страницу ошибки 404?
Настройка страницы ошибки 404 “Страница не найдена” — одна из самых любопытных практик в разработке проекта на Django: сейчас же давайте узнаем, как обработать...
7 лучших библиотек для создания эффективных приложений ReactJS
Библиотека ReactJS выделяется своей производительностью. Но теперь у нас появилась возможность еще больше ее усовершенствовать. Сообщество пользователей React создало несколько дополнительных весьма эффективных библиотек.
Рассмотрим...
10 ключевых команд Docker в арсенал фронтенд-разработчиков
Мастерское владение Docker гарантирует фронтенд-разработчику массу выгодных преимуществ. Начнем с освоения 10 важнейших команд Docker и откроем новые горизонты профессии.
Вам больше не нужны ветви для фич…
Что такое магистральная разработка?
Магистральная разработка (Trunk Based Development - TBD) - процесс разработки ПО. Согласно trunkbaseddevelopment.com (отличный источник информации о TBD) он определяется как:
Модель...
Как выбрать подходящую версию Node.js?
Node.js - популярный инструмент для разработки различных проектов. Поговорим о различиях между версиями LTS и Current в Node.js и о том, как выбрать подходящий вариант.
Зачем нужен Strict Mode в JavaScript?
Строгий режим — это важная часть современного JavaScript. Он позволяет использовать ограниченный синтаксис JavaScript.
Семантика строгого режима отличается от старого “неаккуратного режима” JavaScript с его слабым синтаксисом...
Сбор мусора в JavaScript
Удаление ненужных объектов в JavaScript - важный процесс, который поддерживает бесперебойную работу приложений. Заглянем "под капот" уборки мусора и рассмотрим ее основные алгоритмы.
Тестирование производительности приложения в браузере Chrome
Введение
В процессе разработки часто возникает потребность протестировать в браузере производительность приложения. Такое тестирование способствует обнаружению потенциальных ошибок, замедляющих его работу. В данной статье вашему...
Google OAuth для реализации на Ruby
Будем реализовывать единый вход Google OAuth для веб-сайта. Библиотека google-api-client устарела (о чем упоминается в Google Identity Document). Правда, есть еще одна подходящая для...
Как это использовать: объявление функции и функциональные выражения
Первое отличие: название
Если вы создаёте функцию с названием, то вам необходимо объявить функцию. В функциональных выражениях же название не обязательно.
Объявление функции:
function doStuff() {};
Функциональное выражение:
const doStuff...
Прощай, Ramda
Несмотря на свои сильные стороны, Ramda не всегда подходит для написания эффективного и понятного кода. Рассмотрим случаи, когда стоит придерживаться современного нативного JavaScript и Lodash.
Объяснение понятия «состояние» в JavaScript на примере приготовления простого блюда
Когда вы начинаете писать простые JavaScript программы, вам не нужно волноваться о количестве используемых вами переменных или о том, как работают разные функции и...
Введение в Webpack для новичков
Что такое Webpack?
Webpack — это инструмент, позволяющий скомпилировать, например, JavaScript модули в единый JS-файл. Webpack также известен как сборщик модулей.
При большом количестве файлов он создает один объемный файл...
Прощайте, useState и useEffect: революция в React
Несмотря на свою эффективность, useState и useEffect - не универсальные решения. Представляем набор приемов, которые прокачают ваши навыки и позволят эффективнее справляться с получением и загрузкой данных.
Смертоносные интерфейсы
Это непопулярное мнение, но в ООП языках интерфейсами мы можем принести больше вреда, чем пользы.
Введение
Во-первых, устраним неоднозначность: когда я говорю здесь об интерфейсах, я имею...
Не используйте for при переборе массивов
Циклы for имеют для меня особое значение. Довольно продолжительное время я активно их использовал, пытаясь уйти от циклов while. При этом неизбежно забываешь об...
Возможности автозаполнения для веб-разработчиков
Разберем понятия автозаполнения/автодополнения и узнаем, как браузеры автоматически заполняют стандартные поля, кредитные карты, адреса и пароли на примере Chrome.
Стоит ли писать код Dart на стороне сервера?
Как настроить сервер при создании приложения на Flutter? Задействуем фреймворк gRPC и разберем преимущества и недостатки Dart.
Как создать самообновляющийся заголовок Twitter с динамическим контентом
Представьте, что заголовок вашего профиля в Twitter сам отображает свежие статьи блога или недавних подписчиков, а вам это не стоит ни копейки. Заманчиво? Уже не терпится все рассказать!
Погружение в unserialize(): больше, чем RCE
Обход аутентификации и внедрение SQL-кода через unserialize() в PHP
Сериализация в PHP через метод unserialize() приводит к появлению уязвимостей, открывающих через RCE (удаленное выполнение кода) доступ...
3 важных рекомендации Django-программистам
Django — это очень интересный фреймворк, который позволяет создавать веб-приложения с использованием Python для бэкенда. При этом он также может обрабатывать большинство функций базы...
Обзор техник кэширования в React
Получение данных в React — это один процесс, а вот их хранение и кэширование — совсем другой. Возможности кажутся безграничными, а отличия зачастую настолько...
Библиотека Ethers.js: новичкам на заметку
Познакомимся с библиотекой ethers.js и узнаем, как именно она обеспечивает взаимодействие с виртуальной машиной Ethereum в Remix.
1 Кодовая база - 3 платформы
Все, что нужно знать для успешного развертывания кроссплатформенного приложения в 2021 году.
Представим простую ситуацию:
Вы соло-разработчик. У вас появилась идея. Вы делитесь ей со своими друзьями....
Создание базовых 3D-сцен с помощью Three.js
Продуманная 3D-графика радует глаз и вдохновляет на новые креативные разработки. Сегодня мы попробуем создать 3D-сцену, используя библиотеку Three.js.
API, WebSocket или WebHook: что выбрать?
В любом приложении нужен надежный механизм взаимодействия между его компонентами.
Например, в веб-приложениях необходимо взаимодействие между браузером и сервером. Иногда серверу нужно отправить сообщения обратно...
Node.js быстрее, чем Go
…когда пишешь плохой код. О том, как применять пул соединений, а не просто копипастить найденный в интернете код.
7 факторов, которые помогут улучшить UX-дизайн
Чтобы улучшить UX, нужно знать «слабые места» интерфейса. Есть типичные «проблемные зоны», на которые дизайнеру следует обращать особое внимание. Обычно именно здесь кроются причины...
Обзор текущего состояния Next.js Router
Фреймворк Next.js динамично развивается, он сделал огромный скачок вперед, и поэтому многие предыдущие статьи о нем могли устареть. На момент написания этой статьи действует...
Создание надежной библиотеки JavaScript: пошаговое руководство
Освоим процесс создания и сопровождения собственной, хорошо документированной библиотеки JS, которую легко использовать и развивать. Сделаем библиотеку служебных функций для упрощения работы с массивами.
Нововведения в Apache Airflow 2.0: смогут ли они удовлетворить текущие потребности инженерии данных
Преимущества Airflow 2.0 по сравнению с предыдущими версиями
Пользовательский интерфейс
Интерфейс Airflow 2.0 выглядит свежим и современным по сравнению с предыдущими версиями. Его основное преимущество заключается...
Применение Let’s Encrypt для автоматизации HTTPS в кластерах Kubernetes на Raspberry Pi
Автоматическая генерация сертификатов — на первый взгляд, нечто прямиком из мира крупных корпораций, и потому вне досягаемости обычного разработчика, который размещает контент в кластере...
Свойства CSS, которые вы должны начать использовать прямо сейчас
Мы хотим поделиться с вами несколькими удивительными советами и приемами касательно CSS, которые вы должны знать.
1. content-visibility:auto
Эта функция работает подобно отложенной загрузке данных. Мы...
Компоненты высшего порядка в React
Что такое компоненты и функции высшего порядка и в чем заключаются их преимущества? Представляем вам комплексное руководство по компонентам высшего порядка в React.
Полезные глобальные функции языка Swift
Глобальные функции (их можно вызвать отовсюду без привязки к области действия определённого типа) — это довольно старая концепция, которая была популярна в таких языках, как С...
10 UX-трендов для мобильных приложений в 2021 году
В этой статье мы бы хотели рассказать про 10 трендов в UX-дизайне мобильных приложений, которые будут преобладать в 2021 году.
1. Суперприложения
Одно приложение, одна цель...
Принципы SOLID в React: так ли все с ними гладко?
Принципы SOLID принято описывать только в положительном свете. Поэтому многие нюансы часто упускаются из виду. Сегодня поговорим о том, применимы ли вообще принципы SOLID в React-приложении и какими ключевыми особенностями обладает каждый из них.
Простой способ взлома сайта для получения его Git-данных
Внимание! Статья преследует чисто образовательные цели. Автор не одобряет и не поощряет хакерство, кроме его разрешённого этического применения (white hat).
Большинство разработчиков по всему миру...
Nexus — новый визуализатор дерева компонентов для Next.js
Познакомимся с мощным фреймворком для разработки полного цикла от лица его создателей. Выясним его основные характеристики, принцип работы с кодовой базой и многое другое, а также узнаем, какой функционал планируется реализовать в будущем.
5 ведущих веб-фреймворков 2023 года
Предлагаем обзор фреймворков, которые формируют ландшафт веб-разработки в 2023 году. С их помощью можно создавать захватывающие и отзывчивые веб-приложения.
Lego-build: новое решение старой проблемы
Lego-build - новый гибкий инструмент для фронтенд-разработчиков. Какую проблему он решает и чем превосходит существующие решения? Рассказывает один из его создателей.
Типы данных JavaScript: передача по значению и ссылке
Хотите глубже погрузиться в работу JavaScript с данными? Изучите примитивные и непримитивные типы. Понимание их различия позволит вам избежать непредвиденных побочных эффектов при работе с переменными и объектами в JavaScript.
Почему Lodash по-прежнему полезен?
С выпуском ES6 и более поздними версиями JavaScript появилось множество методов, расширяющих функциональность языка. Например, появились новые методы массивов и строк, а также такие...
10 полезных методик во фронтенд-разработке React
Рассмотрим практики и методики, которые упрощают создание приложений в React, делают код более эффективным и читабельным, упрощают его обслуживание.
Веб-сервер с нуля в TypeScript и Node
Сокеты и TCP
С помощью сокетов процессы на компьютере взаимодействуют друг с другом через файловую систему. Сокеты представляют собой особый тип файлов, предоставляющий процессам информацию...
7 инструментов для создания дизайн-систем в 2020 году
Легенда гласит, что первая дизайн-система была представлена НАСА в 1976 году. С тех пор дизайн-системы превратились в широко распространенную практику, используемую для стандартизации проектирования...
Прекратите использовать конфигурационные файлы JSON
История о том, почему мы не должны использовать инструменты для того, что можно сделать с помощью простого JavaScript.
Каждый важный инструмент в мире JavaScript позволяет...
Применение методов Bind(), Call(), and Apply() в JavaScript
Традиционно в JavaScript предоставляются объекты, обладающие собственными свойствами и методами. Например, object1 не может воспользоваться методами object2 и наоборот.
Однако есть способ обойти это ограничение.
Вы...
UI/UX дизайн прайс-листа и таблицы тарифных планов
10 лучших советов по оформлению тарифной сетки: согласованность цен с характеристиками, легкость визуального сканирования и другие практики.
Создание интерактивных аналоговых часов с помощью Vue3
Разработка крутых виджетов доступна каждому при овладении базовым специальным инструментарием. Этот гайд поможет создать привлекательные интерактивные часы, используя потенциал Vue3.
9 плагинов в Figma, которые были популярны в 2024 году
Рассмотрим 9 плагинов в Figma, их особенности и способы интеграции в рабочий процесс.
Почему NestJS — лучший фреймворк Node.js для микросервисов
JavaScript является одним из самых популярных языков программирования, поэтому в качестве бэкенда часто выбирают Node.js. Сегодня поговорим о том, какой из фреймворков Node.js оптимален для микросервисов.
10 CSS-однострочников для преобразования веб-приложения
Эти 10 CSS-однострочников позволят изменить внешний вид и поведение веб-приложения всего за несколько минут! Они помогут справиться с такими задачами, как повышение адаптивности изображений, отмена float-элементов, создание пользовательских стилей флажков и многими другими.
Условия в CSS: что делать, если они нужны уже сейчас?
Рабочая группа CSS решила добавить if(). Какие варианты у нас есть? Ведь до нее еще далеко: два года, если все пройдет очень гладко, а если нет, то больше. Итак, что же делать, если условные выражения нужны прямо сейчас?
Основы синтаксиса PHP
Язык PHP предельно прост и подойдет даже тем, кто только постигает науку программирования. В его синтаксисе легко разобраться, однако нужно учитывать некоторые нюансы. Рассмотрим основы синтаксиса PHP.
5 проектов по программированию для начинающих
Забавные и полезные идеи для проектов
Проект 1: автоматический генератор ASCII-графики
ASCII-графика — это вид изобразительного искусства, где при создании картинок используются составленные вместе символы ASCII. Вот...
JavaScript async/await: что хорошего, в чём опасность и как применять?
Механизм async/await , представленный ES7, является фантастическим улучшением асинхронного программирования с использованием JavaScript. Он предоставил возможность использовать код, написанный в синхронном стиле, для асинхронного доступа к...
Изучение нового языка для работы с данными
В постоянно меняющейся экосистеме инструментов для анализа данных вам придется часто изучать все новые и новые языки, чтобы идти в ногу со временем и...
Как работает искусственный интеллект
Предлагаем совершенно нетехническое объяснение принципа работы больших языковых моделей. На самом деле создать мыслящую машину не так уж и сложно. Достаточно иметь несколько математических понятий, кучу обучающих данных и кое-что еще.
Области видимости в Android и Hilt
Определение области видимости объекта A в объекте B означает, что на протяжении всего жизненного цикла объект B всегда будет иметь один и тот же...
Чистый код JavaScript: 8 простых приемов
Чистый код - результат нелегкого труда. Однако отладка грязного кода требует вдвое больше усилий, чем создание чистого. Поэтому каждому программисту стоит овладеть хотя бы элементарными приемами написания чистого кода.
Программирование- это искусство и никак иначе!
Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...








































































































