5 ведущих шаблонов проектирования распределенных систем
Распределенные приложения — неотъемлемая часть современной индустрии разработки ПО. Они играют важную роль в сфере облачных услуг и обеспечивают реактивность крупномасштабных веб-приложений. При создании...
Как очистить код с помощью SASS
Итак, давайте знакомиться с SASS
SASS (Syntactically Awesome StyleSheets — Синтаксически потрясающие таблицы стилей) является препроцессорным скрипт-языком, код которого компилируется в CSS, чтобы быть понятым браузерам. У SASS...
PHP: введение и настройка среды
PHP является одним из наиболее широко используемых языков в Интернете. Он используется для управления динамическим контентом, базами данных, отслеживания сеансов и даже создания целых сайтов электронной коммерции. Изучите данное руководство и узнайте о нем больше.
Объясняем Z-index: как позиционировать элементы с помощью CSS
CSS свойство под названием z-index всегда вызывало у меня страдания.
На первый взгляд принцип его работы звучит просто: элементы с более высоким значением z-index отображаются поверх элементов...
4 типичные ошибки разработчиков Node.js
Растущее комьюнити Node.js - свидетельство надежности и эффективности этого инструмента. Однако не всем удается извлечь из него максимальную выгоду. Рассмотрим самые распространенные ошибки разработчиков Node.js.
Увеличиваем производительность приложения React + Redux с библиотекой Reselect
Селекторы — это очень простой способ выбрать состояние из хранилища redux, которое содержит всю логику и данные приложения.
Если вы создаёте приложение с помощью React и Redux,...
Лучшие практики и инструменты для микрофронтендов
Сегодня микрофронтенды больше не являются доказательством концепции. В интернете можно найти множество примеров их использования. Кроме того, большинство этих веб-приложений уже работает, что демонстрирует...
Сравниваем REST, GraphQL и gRPC
Как лучше организовать обмен сообщениями между сервером и клиентом в приложении? Проведем детальное сравнение 3 наиболее популярных технологий разработки API.
Geist UI: Утонченная эстетика UI в React
Знакомимся с библиотекой Geist UI и ее чудо-возможностями, благодаря которым вы сможете легко менять темы и создавать эстетичные интерфейсы для своих веб-приложений.
Как ускорить сайт с помощью Varnish HTTP Cache и Docker
Полная инструкция с наглядным описанием методики, необходимой конфигурации и настроек, а также бенчмарками.
Как выбрать подходящую версию Node.js?
Node.js - популярный инструмент для разработки различных проектов. Поговорим о различиях между версиями LTS и Current в Node.js и о том, как выбрать подходящий вариант.
Эффективное использование ESLint
Когда мы взаимодействуем в каком-либо проекте, то лучше всего придерживаться некоего общего стиля написания кода. Это облегчит коллегам его чтение и сократит временные затраты....
SonarQube: за качество кода отвечаем
Сразу оговорюсь, что в настоящее время основное внимание я уделяю разработкам на JavaScript и, в частности, React, в связи с чем в статье будет...
История создания одного бессерверного приложения рассылки с открытым ПО
Когда не удается найти готовое решение - следует его создать. К такому выводу пришел автор статьи, и самостоятельно разработал бессерверное приложение для информационной рассылки со всеми необходимыми функциональностями. Расскажем, все как было!
UX или UI - на что уделить внимание?
Дизайнеры со всего мира часто и сами затрудняются ответить, что важнее — UI- или UX-дизайн. Мало кто воспринимает эти интерфейсы по отдельности и мало...
Реализация Redux на Rust
Создадим веб-приложение на Rust с помощью Yew и Redux, разберем его базовую структуру и то, как создаются действия и функция редьюсера. Рассмотрим также реализацию с макросом и перечислениями.
Создание компонентной дизайн-системы UI
Создание и обслуживание согласованного UI и UX (опыт взаимодействия пользователя с приложением) во всех частях вашего продукта помогает пользователям интуитивно перемещаться и успешно взаимодействовать...
Создание приложения Flask на Python для визуализации мест путешествий
Воспоминания о местах путешествий можно хранить не только в сердце, но и на пользовательской карте HERE с прикрепленными на ней фотографиями. Для ее создания воспользуемся Python, API HERE maps, Flask и Heroku.
React: плюсы и минусы популярной библиотеки JavaScript
React - широко используемая и мощная библиотека JavaScript для создания пользовательских интерфейсов. Рассмотрим преимущества и недостатки этой библиотеки, которые стоит учитывать, прежде чем внедрять ее в проект.
Next.js и React.js: что выбрать для проекта
Какой фреймворк - React.js или Next.js - стоит использовать в проекте, чтобы получить максимальную выгоду? Разберем оба фреймворка и определим, какие преимущества дает каждый из них.
Шаблоны проектирования в React
React - библиотека JavaScript, которая отличается гибкой архитектурой и функциональностью и, пожалуй, чаще других используется при создании пользовательских интерфейсов. Еще сильнее упрощают процесс разработки на React шаблоны проектирования.
Как создать аналитический сайт на Python с нуля
Представляем обучающее руководство по разработке сайта на основе шаблона Flask. Сайт включает блог, приложения Dash и блокноты Jupyter.
Очистка операторов импорта TypeScript с помощью псевдонимов путей
В мире программирования особенно ценятся кодовые базы, которые легко поддаются чтению. "Незасоренные" операторы импорта во многом способствуют этой цели. Сегодня поговорим о том, как сделать их чище с помощью псевдонимов путей.
Все, что вам нужно знать про Ivy, новый движок для Angular!
Около года назад команда Angular объявила на ng-conf (конференция по Angular), что она работает над Angular Ivy. Хотя он еще не на 100% готов...
Тренды UX/UI дизайна на 2024 год
Узнаем о новом тренде Bento UI. Познакомимся с трендами в пространственном дизайне, а также в сфере анимации и 3D. Рассмотрим инструменты с ИИ для дизайнеров. Узнаем о новых тенденциях и требованиях в сфере UX.
Элементы архитектуры веб-приложений
Кратко пробежимся по всем составляющим веб-архитектуры, закрепим основные понятия и выведем базовые принципы, которыми следует руководствоваться, проектируя веб-приложение.
PHP: типы переменных
Основным способом хранения информации внутри PHP-программы является использование переменных. Рассмотрим типы данных для их создания.
Rust для разработчиков JS
Rust не вызвал у меня большого интереса, когда я впервые прочитал о нём. Это было около двух лет назад. Я работал веб-разработчиком, программировал в...
Web Speech API в JavaScript: от текста к речи
Практическое руководство по работе с Web Speech API в JavaScript. Рассказываем, как создать веб-страницу, реализующую преобразование текста в речь.
Руководство для начинающих по созданию с нуля сайта онлайн-курсов или e-коммерции
Востребованность онлайн-бизнеса, как мы знаем, привела к повышению спроса на сайты и приложения. Это отлично понимают Google и Facebook — главные конкуренты на интернет-рынке.
Именно...
Экспорт данных в Excel с React
В React есть два способа реализации функции экспорта: с помощью любой сторонней библиотеки или с помощью создания компонента. Рассмотрим оба способа ниже.
Пример проекта
Возьмем простое...
4 ошибки при использовании useState в React, которых стоит избегать
Если вы стремитесь разрабатывать эффективные приложения с помощью React, стоит внимательно использовать хук useState. Рассмотрим наиболее распространенные ошибки, связанные с его некорректным применением, и методы их исправления.
6 полезных приемов для создания интерфейсов
Фронтенд-разработка сегодня весьма востребована. Программисты, выполняющие подобные проекты, постоянно сталкиваются со множеством новых задач.
Для их решения приходится создавать код с использованием HTML, CSS и...
Рефакторинг: от мусорного кода к SOLID-ному
Раз уж вы решили нажать на этот загадочный заголовок, то, полагаю, вы уже знакомы с принципами SOLID. Хотя бы с самим сокращением.
Здесь я покажу,...
Руководство для начинающих по Git: что такое журнал изменений и как его создать
Допустим, вы разработчик и на одном из ваших проектов используете Git. Вы хотите поделиться сделанными вами изменениями с другими пользователями, но не знаете, как....
Как улучшить код на TypeScript: 5 рекомендаций
Чем опасен тип any и почему константные перечисления лучше обычных? Применим на Typescript новейший функционал JavaScript, освоим расширенные вспомогательные типы для преобразования почти всех основных типов.
Ключевое слово this и контекст в JavaScript
К освоению JavaScript лежит долгий путь, на котором вам может встретиться такое выражение, как this. Первый раз я встретил его в процессе работы с...
Что такое Deno и заменит ли он NodeJS?
Для тех, кто не совсем в теме, Deno — это детище Райана Даля, ставшего известным благодаря созданию Node.js, который вам, наверняка, знаком. Значит ли это, что...
Kubernetes: безопасное управление секретами с GitOps
GitOps — это модное словечко в последнее время на слуху. Обозначает оно, по сути, декларативное управление ресурсами для такого представления текущего состояния, чтобы в...
Прототипирование без API
Я из тех, кто обычно очень нетерпелив, когда менеджер раскрывает функции нового продукта. После спринта я задаю этот ужасающий, трепещущий вопрос:
… API уже готов?..
И ответ...
Создаем расширение Chrome на Mint
В последней статье я рассказывал о том, почему мне понравилось использовать Mint для создании небольшого веб-приложения, а именно расширения Chrome.
Разработка расширения с помощью Mint,...
Движки JavaScript. Часть 2: генерация кода и базовые оптимизации
В этой части продолжим разговор о том, как работают движки JavaScript. Поговорим о компиляторах, этапах создания кода и основных оптимизациях.
Развертывание фронтенда и бэкенда приложения на Kubernetes
Настроим полнофункциональное приложение Mongodb с доступом через браузер. Создадим с помощью внутренней службы под, сделав его доступным для другого компонента, и внешнюю службу для доступа к поду за пределами кластера или из внешних источников.
Лучшие генераторы статических сайтов для React в 2019 году
До того, как CMS захватили интернет, на его просторах господствовали статические сайты, и казалось, что они остались в прошлом. Но сегодня статические сайты переживают...
Создание готового к производству приложения React с помощью Next.js и Dokku
Хотите создать и запустить живое приложение React с минимальным бюджетом и возможностью масштабировать его в будущем? Воспользуйтесь руководством опытного разработчика ПО, успешно реализовавшего эту задачу.
Стоит ли писать код Dart на стороне сервера?
Как настроить сервер при создании приложения на Flutter? Задействуем фреймворк gRPC и разберем преимущества и недостатки Dart.
Ускорьте создание пиксельной графики в 10 раз ✨?
Эта статья будет кратка и проста, чтобы вы могли сразу взять на вооружение эту технику и начать рисовать изумительную пиксельную графику. До знакомства с...
Современный подход к разработке Angular
Создавайте современные компонуемые приложения Angular с помощью Bit. Благодаря своим мощным возможностям, бесшовной интеграции с Angular и готовой поддержке Ripple CI, Bit - идеальное решение для разработчиков, стремящихся повысить свой профессиональный уровень и создавать качественные веб-приложения.
10 лайфхаков JavaScript, которые сделают из вас профессионала
Опытные JavaScript-программисты владеют приемами, которые неизвестны новичкам. Познакомьтесь с 10 из них: они сделают код качественнее, а вас - более профессиональным программистом.
Как написать хороший HTML & CSS код с помощью Webflow
Недавно я воспользовался Webflow, чтобы сгенерировать большую часть HTML и CSS кода, предназначенного для главной страницы. Закончив, я понял, что с помощью данного инструмента...
Основы дизайна, которые должен знать каждый креативщик
Обычный поиск в Google по запросу “образовательные онлайн-ресурсы по дизайну” даёт миллионы результатов — вовсе неудивительно, что понимание того, с чего начинать изучение, может показаться дизайнеру-новичку...
Повышение дизайнерских навыков: советы и упражнения
Четыре года назад я бросила работу в детской поликлинике и начала свое путешествие в мире дизайна. Я читала книги по UX по дороге на...
Как профессионально использовать сопоставимые типы TypeScript
Хотите освоить сопоставимые типы TypeScript и понять, как работают встроенные в TypeScript типы утилит? Этот краткий обзор, подкрепленный анимационными вставками, поможет разобраться во всем этом.
Подробный разбор методов Ruby
Вы когда-нибудь задумывались о том, что происходит при написании кода на самом деле? Я много думаю об этом. И, будучи разработчиком Ruby, часто использую...
Факты о веб-сайтах в 2018 году (и почему токенизация стала отличной идеей для этой...
Новый способ применения технологии блокчейна. И переход от слов к действиям с проектом uKit AI.
Существование современной всемирной паутины началось почти 30 лет назад с...
5 проектов по программированию для начинающих
Забавные и полезные идеи для проектов
Проект 1: автоматический генератор ASCII-графики
ASCII-графика — это вид изобразительного искусства, где при создании картинок используются составленные вместе символы ASCII. Вот...
Создание эффектов при прокрутке
В этом руководстве мы поговорим о том, как создать эффект открывающегося блока при прокрутке. Эффект состоит из сплошного цветного блока, который уменьшается в размере,...
Ваш REST - это не API. И вот почему!
Отдавать JSON не значит иметь API
Прежде всего, нужно уточнить несколько вещей об API. Отдающий JSON бэкенд — это не обязательно API. Управление API в целом,...
Потоки Kafka: как обрабатывать CSV-файлы для выполнения вычислений
Обработаем большой файл с данными о погоде и рассчитаем результаты, которые потом можно будет переиспользовать в другом проекте.
Архитектура ПО: создайте свое приложение с AWS
В настоящее время облачные вычисления стали центральной частью любой технологической компании. Таковыми считаются все организации, т.к. большинство из них подпадает под категорию «программное обеспечение...
Как создать Chrome-расширение для приложения с прогнозом погоды
Хотите создать простое веб-приложение, чтобы быстро узнавать прогноз погоды? Воспользуйтесь доступным руководством по разработке Chrome-расширения для приложения с прогнозом погоды (с полным исходным кодом).
Стриминг видео и чат в учебном приложении
Платформа Mux обеспечивает высококачественный стриминг, управляемый удобным API, так что вы можете сфокусироваться на создании своего продукта. Он чрезвычайно гибок и предлагает функции для...
3 чудо-приема JavaScript для ускорения разработки
Обзор трех эффективных приемов для JavaScript: создание асинхронного контекста, работа с именованными параметрами и обертывание блоков try/catch.
Дуэт Markdown и JavaScript (mdjs) - залог отличной документации
Каждому совместно используемому коду следует прописывать документацию, чтобы отразить его идею и назначение. Пользователи должны отчетливо понимать, что они используют, для чего и как.
В...
Как создавать собственные хуки на React
Учимся использовать логику компонентов для создания многоразовых хуков
Хуки React, впервые появившиеся в версии React v16.8, кардинально изменили подход к написанию кода. Из коробки React...
Самые популярные фреймворки React
React-фреймворки значительно упрощают жизнь разработчика. Разберем лучшие их образцы и посмотрим, сможем ли мы выбрать оптимальный вариант.
Мы снова написали самый быстрый JS-фреймворк UI
Я выработал четкий алгоритм, который применяю практически ко всем видам возникающих передо мной задач.
Шаг 1. Определить задачу.
Этот этап нередко оказывается самым длительным, потому что...
Почему стоит использовать обратные вызовы и асинхронный код на NodeJS
Предлагаем вариант сценария, в котором повышение производительности приложения было достигнуто благодаря использованию событийного цикла в NodeJS.
Погружение в unserialize(): больше, чем RCE
Обход аутентификации и внедрение SQL-кода через unserialize() в PHP
Сериализация в PHP через метод unserialize() приводит к появлению уязвимостей, открывающих через RCE (удаленное выполнение кода) доступ...
Конфигурация файла PHP.INI
Файл конфигурации php.ini является прямым методом влияния на функциональность PHP. Расскажем о его важных настройках, которые могут понадобиться для парсера PHP.
Сравниваем различные способы выполнения HTTP-запросов в JavaScript
Недавно мне нужно было выбрать, какую технологию для выполнения вызовов ajax использовать в большом JavaScript проекте. В JavaScript есть различные способы выполнения запросов.
Ранее существовавшие...
5 актуальных рекомендаций по оптимизации отладки
Ох, уж эти ошибки! Их появление в коде ничего, кроме досады, не вызывает. Лично мне они точно портят настроение. Только представьте: вы создаете продукт,...
20 скрытых особенностей JavaScript
Представленные ниже 20 хитростей JavaScript были указаны пользователями Stack Overflow.
1. Работа с аргументами функций
Вам не нужно определять параметры для функции — можете просто использовать...
Цветовые схемы в дизайне
Цвет — один из важнейших элементов дизайнерских проектов, а не просто визуальная составляющая, приятная глазу. Он влияет на восприятие пользователя и на то, какие...
Обновления в Nuxt JS 2.8.0
Nuxt JS
Nuxt — это фреймворк для создания одностраничных, статических и универсальных приложений Vue. С его помощью можно с легкостью создавать приложения на стороне сервера, поскольку в...
Как отследить событие закрытия браузера и вкладки с помощью JavaScript
Вам нужно отследить событие закрытия браузера или вкладки, чтобы предупредить пользователя о любых несохраненных изменениях на веб-странице? Предлагаем пошаговый алгоритм этой операции.
Перевод любого приложения Vue.js за час
Это не типичное руководство по vue-i18n
Вас ждет не просто рассказ о том “как”, здесь речь пойдет об отточенном рабочем потоке, выработанном на многих проектах по...
Сайты с модальными диалоговыми окнами без JavaScript
Сайты, которые используют JavaScript для большей части таких элементов, как модальные диалоговые окна, выпадающее меню, мобильные меню-«гамбургеры», зачастую демонстрируют полный провал в плане удобства...
Почему я больше не пользуюсь D3.js
Когда я работаю над проектами с визуализацией, мои менеджеры обычно ужасаются, когда я говорю, что не использую D3. Почему они так переживают? Почему я...
10 особенностей создания компонентов Vue.js
1. Глобальная и локальная загрузка компонентов
Vue.js предоставляет два способа загрузки компонентов: глобально на экземпляре Vue и на уровне компонентов. Каждый метод обладает своими преимуществами.
При...
Любовь к программированию начинается с расширений VS Code
Идея написать эту статью родилась у меня много месяцев назад, но всегда что-то мешало воплотить ее в жизнь: то реального кода в ней нет,...
Даты-заглушки в модульных тестах на JavaSсript
Тестирование наших приложений может быть утомительным и трудоемким делом. Вот почему мы пишем автоматизированные тесты: ради того, чтобы убедиться, что наш код работает, и...
Осторожно! Angular крадет ваше время
Angular может все — ну или почти все. Но иногда это «почти» заставляет вас тратить время на написание обходных решений или на попытки понять,...
Хроники нового текстового редактора - от замысла до реализации
Стандартный Apple Notes, более продвинутый Google Docs, Microsoft Word и Medium — всё это редакторы, которые позволяют фиксировать наши важные мысли и информацию, тем самым помогая...
Минималистичная конфигурация терминала с возможностью тонкой настройки
Мой терминал настроен очень минималистично. Это просто черный ящик, который сообщает мне полезную информацию. Основное удобство в том, что каждый его аспект имеет собственный...
Функции-генераторы в JavaScript для оптимизации памяти
Управление памятью: обычные функции JavaScript против функций-генераторов
Едва ли не каждый программист сталкивается с проблемой перебора большого количества элементов (коллекции статей, изображения, записи в базе...
Добро пожаловать в ад…зависимостей JavaScript
Начало любого JavaScript проекта сопровождается амбициозным намерением— использовать как можно меньше npm пакетов в процессе разработки. Но сколько бы усилий мы не предпринимали, рано...
Топ-5 новых функций JavaScript ES12, которые облегчат вам жизнь
Узнайте об удивительных возможностях, предлагаемых обновленным ECMAScript 2021. В 12-м выпуске спецификаций добавились новые фичи, которые сделают вашу жизнь проще, а код - короче и читабельнее.
5 функций CSS, которые пригодятся при разработке сайтов
Вступление
В последние годы язык программирования CSS был значительно усовершенствован. Появились новые возможности, способные порой удивить веб-разработчиков. При творческом подходе подобные функции позволяют создавать много...
Чистая архитектура фронтенда
Концепции и практики, такие как SOLID, KISS, DRY и DDD, помогут создавать более чистые архитектуры фронтенда. А правила создания компонентов с учетом развития бизнес-логики позволят коду оставаться ожидаемо поддерживаемым.
Концепции разработки UI на примерах еды
Многие концепции программирования существуют за пределами библиотек, в состав которых они были внедрены изначально, и иногда такой подход может сбивать с толку. Иногда мне...
Маршрутизация 101 в Angular 9+
Чему мы научимся?
Показывать и скрывать компоненты, используя вместо свойств input/output маршруты.Поддерживать взаимосвязь этих компонентов, передавая по маршруту данные.Настраивать маршруты в модуле маршрутизации.Использовать routerLink для...
Как оптимизировать настройку приложений React Native
Собственный CLI делает настройку приложений React Native быстрее и удобнее. Узнайте о том, как создать интерфейс командной строки с помощью Node.js, а также упаковать проект и опубликовать его на npm.
Сравниваем WebGL-фреймворки Three.js и Babylon.js
Возможно, вы уже изучили информацию на Slack и Github, сравнивая длинный список плюсов и минусов, но все еще не можете определить, какой же из...
Плохие практики Angular
Загрязнение ngOnInit
ngOnInit - один из самых важных хуков жизненного цикла в компонентах Angular. Он используется для инициализации данных, настройки слушателей, создания соединений и т.д....
Полиморфизм в TypeScript
Как правило, люди думают, что объектно-ориентированное программирование (ООП) и функциональное программирование (ФП) взаимно исключают друг друга. И это объяснимо: любая дискуссия о них довольно...
Руководство по применению паттерна Event Bus в архитектуре React
Подробно разберем паттерн проектирования Event Bus, попрактикуемся в создании и задействуем его в React.
Топ-10 библиотек React для создания высокопроизводительных веб-приложений в 2023 году
Не все решения React предоставляются в готовом виде "из коробки". Поэтому приходится обращаться к дополнительным инструментам. Чтобы не тратить время на поиски подходящего фреймворка, воспользуйтесь обзором лучших библиотек React, помогающих эффективно решать различные проблемы.
Шпаргалка по основным командам Bash
Неважно кто вы, разработчик ПО, специалист по данным, менеджер ИТ-инфраструктуры или просто любитель компьютеров — вам нужно знать, как пользоваться терминалом в Linux и...
Изучаем функции высшего порядка в JavaScript
Вы узнаете, что такое функции высшего порядка и как их применять в JavaScript.
Если вы изучаете JavaScript, то наверняка сталкивались с термином ― «Функции высшего...
Выполнение AES/GCM в Android
Столкнувшись с рядом проблем, связанных с выполнением шифрования и расшифровки AES в Android, я решил поделиться своим опытом.
TL;DR: здесь можно найти готовое решение. Если...
Как с нуля создать проект на React, используя Webpack 4 и Babel
Недавно я начал изучать React и для создания проектов я использовал create-react-app, чтобы быстро и без особых усилий добиться желаемого результата. Я подозреваю, что...
Управление состоянием в React: обзор
Разберемся, какие проблемы решаются управлением состояния, а также нужна ли продвинутая библиотека для структурирования кода или инструментов React достаточно для комфортной работы.
Как правильно объявлять API устаревшими и не сломать пользователям код
Как сделать переход плавным для вас и ваших пользователей, чтобы он ни для кого не стал неожиданностью, а внедрение нового функционала можно было спланировать? Рассмотрим критические изменения и техники их безопасного распространения.
Пять продвинутых Git-команд, благодаря которым вы будете выглядеть как профи
Расскажем о пяти передовых концепций Git: git bisect, git cherry-pick, git rebase, git add -p, git commit –amend - все они могут сэкономить много времени, которое вы тратите на чтение StackOverflow, когда возникают сложности с управлением версиями.