Знакомство с фабричным методом
Фабричный метод упрощает процесс создания объектов, делает код более удобным в обслуживании и обеспечивает ряд других преимуществ. Разберем принцип его работы на реальном примере создания игровых персонажей.
Как усилить электронные таблицы Google возможностями ChatGPT
Предлагаем улучшить электронные таблицы Google с помощью ChatGPT и начать работать с ними по-новому: более качественно, продуктивно и творчески.
Как стать инженером Python в 2023 году
Предлагаем подробное руководство по овладению основными навыками работы с Python, которые требуются начинающим программистам в 2023 году. Это руководство, составленное с учетом последних тенденций и технологий IT-индустрии, поможет сосредоточиться на самом главном.
Как избежать повторных обновлений представлений SwiftUI
Рассмотрим методы оптимизации: 1) применение оберток свойств с соответствием протоколу «DynamicProperty»; 2) стратегия сравнения экземпляров типов представлений, выбор параметров построения; 3) замыкания. Освоим заложенные в этих методах принципы, сформулируем рекомендации.
Рост производительности машинного обучения с Rust
Сделаем с нуля небольшой ML-фреймворк на Rust для создания нейросетевых моделей. За счет чего скорость обучения здесь в 5,5 раза выше, чем с Python и PyTorch?
Создание оркестратора для событийно-ориентированного приложения с Golang и RabbitMQ
Реализуем простое решение маршрутизации для отправки сообщений со стабильным потоком запросов, обработкой ошибок и соответственных действий. Это конвейер передачи запросов для системы бронирования гостиницы - резервирование, проверка, зачисление средств, бронь номеров - со всеми преимуществами архитектуры микросервисов и очередью недоставленных сообщений.
Как объединить мобильные сервисы Google и Huawei в одной кодовой базе
Хотите работать с мобильными сервисами Google и Huawei в одной кодовой базе? Это руководство позволит без особых усилий объединить сервисы Google и Huawei в приложении и выборочно их использовать по мере необходимости.
5 удивительных скрытых возможностей Python. Часть 2
Python - эффективный и надежный язык программирования, пользующийся авторитетом в сообществе благодаря своей универсальности и динамике. Рассмотрим 5 недооцененных функций Python, которые сделают вас еще более грамотным разработчиком.
Логирование — корень всех проблем отладки
Логирование играет важную роль в получении информации о поведении системы, помощи в отладке и эффективном решении проблем. Следуя лучшим практикам и используя инструменты анализа логов, такие как ELK Stack, вы получите более глубокое представление о своих системах и сможете создавать более надежные и производительные приложения.
Почему ИИ не лишит работы программистов
Искусственный интеллект - мощный инструмент, который уверенно набирает популярность в современном мире. Но сможет ли он в ближайшем будущем заменить человека? Оказывается, не все так просто. Сегодня поговорим о том, почему рано списывать программистов со счетов.
Разветвление вселенной UI
В 2023 году нам предстоит увидеть новые версии пользовательского опыта. Ознакомьтесь с некоторыми из них, а заодно поразмышляйте над тем, нужно ли нам отказаться от пользовательского интерфейса вообще или стоит переосмыслить его в пользу более естественных, минималистичных и осязаемых вариантов?
Лучшие практики написания кода в Spring Boot
Фреймворк Spring Boot позволяет быстро создавать и легко запускать высокопроизводительные Spring-приложения корпоративного уровня. Рекомендации опытного специалиста помогут максимально упростить разработку такого приложения.
Сетевое программирование в Go
Предлагаем пошаговый гайд по созданию надежного TCP-сервера с использованием Go. Такой сервер обеспечивает регистрируемую и контролируемую доставку потока одновременных соединений.
5 удивительных скрытых возможностей Python. Часть 1
Хотите повысить уровень своих навыков написания кода? Возьмите на заметку 5 скрытых возможностей Python. Они помогут сократить время разработки, улучшить читаемость кода и повысить его эффективность.
Как компьютер выполняет математические вычисления
Что позволяет вашему ПК, ноутбуку или смартфону быть легким, быстрым и относительно недорогим девайсом? Что делает компьютер эффективным, сокращая энергопотребление и тепловыделение? Поищем ответы на эти вопросы "под капотом" вычислительной машины.
Как использовать GPT-3 для поиска и рекомендаций текстового контента
Общий обзор по генерации векторов GPT-3 для анализа сходства документов. Научимся вычислять косинусное сходство и на его основе определять максимально похожие документы.
Переход на PgCat — прокси-сервер Postgres следующего поколения
Сравним функционал PgCat по временно́й задержке и корректности. Рассмотрим особенности балансировки нагрузки и отработки отказа реплики, клиентов с плохим поведением и поддержку сегментированных БД.
Создание приложения ChatGPT в SwiftUI
Предлагаем руководство по разработке в SwiftUI приложения ИИ, подобного ChatGPT. Настроив поведение своего чат-бота с помощью системных сообщений, вы сможете создать нечто оригинальное.
Как развернуть 2-уровневую архитектуру с AWS и Terraform Cloud
Создадим конфигурационные файлы, развернем инфраструктуру с подробным разбором кода и протестируем все созданные ресурсы.
Как создать локальное средство генерации кода с open source моделями и библиотекой Guidance от...
Научимся писать подсказки для генерации кода. «Вручную» воссоздадим строку документации для большой языковой модели в VSCode.
5 востребованных методов программирования на Bash
Рассмотрим 5 популярных приемов работы с кодом интерпретатора команд Bash. Они помогают писать более производительные и легко читаемые скрипты командной оболочки.
Управление зависимостями в Python: файл pyproject.toml
Познакомимся с файлом pyproject.toml, рассмотрим его практическое применение и возможности в управлении зависимостями в проектах Python.
Почему стоит упрощать проекты МО
Аргументируем, почему не стоит тратить время и силы на сложную модель МО, а лучше в интересах бизнес-клиентов заняться созданием работоспособного MVP.
Как развернуть GitLab с помощью Docker за 5 секунд
GitLab - это веб-инструмент управления репозиториями Git, который помогает командам совместно работать над кодом. Расскажем, как быстро развернуть экземпляр GitLab.
Переход с Pandas на Polars: 7 простых шагов
Хотите молниеносно выполнять привычные Pandas-операции? Сделайте 7 простых шагов для перехода на Polars! Достоинства этой библиотеки, в числе которых не только скорость, убедят вас в том, что пора попрощаться с Pandas.
Загрузочные представления в SwiftUI
Загрузочные представления являются одним из типичных компонентов приложения, и в этой статье вы научитесь грамотно их создавать и использовать с возможностью кастомизации.
Как перевести код R в Python с помощью ChatGPT
Научимся переводить код с языка программирования R на Python и наоборот. Для этой цели воспользуемся возможностями ChatGPT и на примерах рассмотрим принцип действия.
Рефакторинг кода Go для тестопригодности: возможности интерфейсов
Раскроем возможности модульных тестов для раннего обнаружения багов. Продемонстрируем на конкретном примере, как сделать приложение на Go более тестопригодным.
Как автоматизировать удаление ненужных файлов с помощью Python
Пошаговое руководство по автоматизации удаления ненужных файлов. Поработаем с Python и планировщиком задач cron.
Представление концепций ООП с реальными сценариями
Что общего между разработчиком и архитектором, которому поручено спроектировать дом? Подробно разберем понятия ООП для применения в реальных проектах.
Как писать промпты для ChatGPT
Чтобы научиться писать промпты для ChatGPT, требуется время и практика. Эти рекомендации помогут создавать качественные промпты, с которыми ChatGPT будет генерировать точные и релевантные ответы.
Разработка продвинутого GUI на Python
Хотите, чтобы графические интерфейсы ваших приложений выглядели более привлекательно и улучшали взаимодействие пользователя с компьютером? Воспользуйтесь практическим руководством по разработке двух версий продвинутого GUI на Python.
SQL — язык программирования? 10 аргументов “за” и “против”
Некоторые не считают SQL языком программирования, но и не меньше людей имеют противоположное мнение. Рассмотрим аргументы обоих сторон.
Использование SwiftUI в UIKit
Наглядная демонстрация совмещения представлений SwiftUi с представлениями UIKit и реализации передачи данных между этими компонентами.
Пакет Lambda-слоев AWS для Python
Lambda-слои AWS упрощают управление функцией и ее обновление, позволяют уменьшить размер пакета развертывания и облегчают обмен кодом между командами. Узнайте о том, как заархивировать пакет Lambda-слоя и загрузить его в AWS.
Как зарабатывать с помощью Python в 2023 году
Извлечь выгоду из навыков программирования можно разными способами. Представляем список навыков Python, которые принесут доход в условиях конкуренции.
Топ-6 инструментов и фреймворков для искусственного интеллекта
Инженеру искусственного интеллекта требуется множество навыков. Один из них - знание инструментов и фреймворков, используемых в области ИИ. Предлагаем ознакомиться с самыми популярными и значимыми из них.
Простой прием для молниеносных запросов LIKE и ILIKE
Как ускорить запросы в немаленьких приложениях? Доработаем производительность поиска в PostgreSQL триграммными индексами.
Стратегии Async/Await и MainActor
Разберемся, где и как обновлять основной поток. Изучим код SIL, генерируемый разными механизмами, их эффективность, размер кода и связанные с этим последствия. Какой подход проще, эффективнее, где меньше кода и побочных эффектов?
Кэширование Redis для максимальной производительности в Spring Boot и Java
Кэширование помогает повысить производительность приложений за счет снижения нагрузки на такие ресурсы, как базы данных и удаленные сервисы. Рассмотрим, как применять Redis в качестве кэша в приложении Spring Boot для достижения максимальной эффективности.
Написание консольных скриптов: Bash против Python
Для создания скриптов командной строки часто используют такие инструменты, как Bash и Python. Сравним их возможности в современных задачах автоматизации рутинных операций программирования.
9 странностей Python и их объяснение
Python - элегантный, но далеко не идеальный язык. Некоторые необычные функции могут сбивать с толку даже опытных разработчиков. Рассмотрим такие фрагменты в Python и постараемся дать им точное объяснение.
Как правильно объявлять API устаревшими и не сломать пользователям код
Как сделать переход плавным для вас и ваших пользователей, чтобы он ни для кого не стал неожиданностью, а внедрение нового функционала можно было спланировать? Рассмотрим критические изменения и техники их безопасного распространения.
Как создать чат-бот ChatGPT с пользовательской базой знаний
Предлагаем пошаговое руководство по созданию собственного ChatGPT с пользовательскими источниками данных. Такой чат-бот справится с выполнением многих реальных бизнес-кейсов, включая поддержку клиентов и классификацию спама.
Использование Kubernetes для развертывания 3-уровневой инфраструктуры контейнерных приложений
Рассмотрим основные различия Kubernetes и Docker Swarm. Создадим среду и deployment, настроим кластер для развертывания фронтенда, бэкенда и базы данных приложения.
Практическое применение KSP
Kotlin Annotation Processing Tool - ценный инструмент, который позволяет автоматизировать утомительные задачи, повысить качество кода, сделать его менее подверженным ошибкам и сократить время разработки. Рассказываем на примерах, как использовать KSP.
Самые полезные библиотеки Go
Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
Как создать API-шлюз в Rust посредством библиотеки Hyper
Научимся создавать эффективный API-шлюз в Rust, задействуя библиотеку Hyper и YAML-файлы конфигурации. Кроме того, напишем модульные тесты для тестирования логики авторизации и проверим корректную работу API-шлюза.
4 способа улучшить навыки написания кода
Чтобы достичь карьерных высот в сфере программирования, нужно постоянно работать над мастерством написания кода. Воспользуйтесь советами опытного программиста, которые помогут стать профессионалом.
Плохие модели машинного обучения? Но их можно откалибровать
Для правильного расчета вероятностей оракул не нужен. В чем разница между хорошими калибровкой и производительностью, и когда одна предпочтительнее другой?
Контейнеры Docker и их связывание в сети
Создадим три файла Dockerfile с прямым подключением каждого к своему репозиторию GitHub, сделаем из них три пользовательских образа Docker, а из каждого образа - по одному контейнеру. Один изолируем в сети Development, два поместим в Production и проверим их взаимодействие.
Как овладеть наукой о геопространственных данных в 2023 году
Предлагаем пошаговое руководство по овладению наукой о геопространственных данных с помощью Python с нуля. Имея в своем распоряжении указанные здесь навыки и ресурсы, каждый сможет стать профессионалом в области анализа геопространственных данных.
Реактивное программирование с Combine
Увидим фреймворк в действии, шаг за шагом пройдя процесс настройки конвейера связываемых в цепочку операторов обработки значений, выдаваемых издателями для подписчиков. Подробно разберем пример и попробуем реализовать в проекте.
Как создать чат-бот на основе данных CSV с LangChain и OpenAI
Хотите пообщаться с чат-ботом, основанном на вашем собственном файле CSV? Не стоит отказываться от такого интересного опыта. При создании чат-бота поработаем с Langchain и OpenAI.
Python и Java: комплексное сравнение двух популярных языков программирования
Python или Java? Какой язык выбрать для создания успешных проектов? Однозначного ответа на эти вопросы нет, поскольку и Python, и Java обладают как достоинствами, так и недостатками. Сегодня поговорим о сильных и слабых сторонах двух популярных языков программирования.
10 практических примеров использования функций высшего порядка при разработке Android
Функции высшего порядка могут значительно повысить качество и удобство сопровождения кода. Рассмотрим 10 полезных примеров того, как их можно использовать.
12 декораторов Python, которые улучшают код
Хотите выполнять больше задач с меньшим количеством кода без ущерба для качества? Декораторы Python помогут сделать код чище, использовать его многократно и облегчить его сопровождение.
8 инструментов для предпринимателей, похожих на ChatGPT
ChatGPT - не единственный на рынке инструмент искусственного интеллекта. Рассмотрим 8 альтернатив, которые также могут пригодиться.
SQL: загадки на сообразительность
Насколько хорошо вы владеете языком SQL? Всегда ли добиваетесь ожидаемых результатов? Попробуйте решить три головоломки по SQL, которые включают временную метку, зависимые и независимые фильтры, а также неправильно действующие левые объединения. Верные ответы прилагаются!
Создание лаконичных модульных тестов во Flutter
Модульное тестирование - важная часть разработки ПО, особенно когда код обслуживают десятки тысяч человек. Предлагаем простой гайд по написанию четкого и лаконичного кода модульного теста для проверки класса User.
Как сделать интеллектуальное приложение вопросов и ответов базы знаний с GPT-3 и Ruby
Подготовим базу знаний с двумя скриптами для GPT-3 вопросов и обучим модель ответам по содержимому сайта. Поэтапно создадим ИИ вопросов и ответов, разберем отладку ответов и два способа доработки модели.
Почему гейм-дизайнеру нужно программирование
Программисту не обязательно быть гейм-дизайнером, но каждый гейм-дизайнер должен быть программистом. Узнайте о том, почему навык написания кода жизненно важен в разработке игр и как им овладеть.
Как преобразовать сгенерированные ИИ изображения в полигональные сетки
Поделимся практическим опытом создания полигональных сеток из сгенерированных ИИ изображений с помощью современных методов машинного обучения.
Как освоить API-интерфейсы Metal с UIView и SwiftUI
Раскроем возможности программирования графических процессоров с Metal для создания сложной 3D-графики, обработки изображений и других задач. Предоставим фрагменты кода и рекомендации для применения Metal в собственном приложении iOS или macOS.
Не заблудитесь при работе с кластерами Kafka — возьмите компас
Представляем инструмент мониторинга кластеров KafkaCompass. Рассмотрим функционал этого приложения - со слов его разработчиков.
Как использовать управляемые Gradle устройства с собственными девайсами
Реализуем абстракцию Device с устройствами и эмуляторами. Используем собственную ферму устройств для удаленного запуска тестов и распараллеливания выполнения на нескольких устройствах.
Лучшие практики разработки на Python
Хотите создать профессиональный Git-репозиторий для версионирования и обмена кодом Python? Предлагаем доступный гайд с перечнем инструментов, которые помогают организовывать код Python и поддерживать его в хорошем состоянии в соответствии с профессиональными стандартами.
13 чит-кодов к жизни программиста
Соревнуйтесь с самим собой, а не с другими программистами - это одно из правил, о котором многие узнают слишком поздно. Чтобы с вами этого не случилось, возьмите на вооружение 13 чит-кодов от опытного программиста.
Лень писать игру на Rust одному? Позовите на помощь ChatGPT
На что способен ChatGPT? Заменит ли он в итоге программистов? Разберем его возможности на примере написания игры Pong и подумаем, не пора ли искать другую работу.
Как подключить визуальный отладчик к задачам МО в Kubernetes
С ростом размеров и сложности моделей МО все более востребованными становятся облачные ресурсы для их обучения. В связи с этим особую актуальность приобретает вопрос отладки. В статье рассмотрим способ подключения визуального отладчика VSCode к удаленной среде глубокого обучения, что позволит оптимизировать и повысить эффективность отладки.
Создание среды AWS Boto3 на Python с Docker Compose
Развернем всего из одного файла среду Boto3 с изолированными контейнерами разработки и продакшена. Рассмотрим типичные команды Dockerfile для сборки образов, организуем и автоматизируем ее с помощью Docker Compose.
8 лучших техник программирования в Kotlin
Как известно, Kotlin предлагает много эффективных функциональностей, способствующих написанию чистого, лаконичного и производительного кода. Рассмотрим самые наилучшие из них и приведем примеры.
Фреймворк Google Wire: автоматическое внедрение зависимостей в Go
Познакомимся с концепцией внедрения зависимостей и поработаем с фреймворком Google Wire, облегчающим определение и настройку зависимостей. Вперед, навстречу гибким и удобным в сопровождении приложениям Go!
Язык R: прокачайте свои навыки до следующего уровня
Узнайте, как анализировать и ускорить код на R. Напишите эффективный код в своем следующем проекте, следуя этим рекомендациям.
Как создавать диаграммы с помощью ChatGPT
Узнаем, как ChatGPT создает диаграммы на основе скриптов Mermaid. Проиллюстрируем весь процесс наглядными примерами и обойдемся без глубоких знаний Mermaid.
Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana
Как определять производительность и поведение контейнеров и хост-систем? С помощью метрик. Поэтапно пройдем весь процесс: установка серверов, настройка Prometheus, запуск брандмауэра и экспортера Docker для извлечения метрик, создание дашборда в Grafana.
ClickHouse: оконные функции с нуля
Узнаем, как в ClickHouse упрощаются анализ и агрегирование сложных данных, компактно и эффективно внутри запроса вычисляются нарастающие итоги, ранжирование, процентили. Разберем синтаксис оконных функций, приведем примеры из реальных сценариев.
Обработка файлов на C
Какие функции используются для открытия, редактирования и закрытия файлов? Рассмотрим особенности их применения с текстовыми и двоичными файлами.
Основы Android-разработки в Revolut
Хотите заглянуть за кулисы онлайн-банка Revolut? Сотрудники компании рассказали о том, как устроены ее команды и рабочие процессы.
5 приемов Python, которые отличают профессионалов от новичков
Чем отличается senior- от junior-программиста? Ответить на этот вопрос поможет Advent of Code. Этот обучающий сервис для программистов отлично иллюстрирует различия в подходах к решению задач специалистами разного уровня.
Kotlin: вложенный и внутренний классы
Чем отличаются вложенные классы от внутренних? Как в Kotlin одни классы объявляются внутри других?
Комбинации команд Unix/Linux, которые должен знать каждый разработчик
Экономьте свое время, используя комбинации команд в терминале и скриптах. Они полезны во многих ситуациях, в том числе при повторном выполнении команд, мгновенном переходе в только что созданный каталог и определении статуса долго выполняемой команды.
Фича-флаги времени компиляции в Rust: зачем, как и когда используются
Что из себя представляют фича-флаги, зачем они нужны и как их правильно использовать?
Как Scalene с ИИ-рекомендациями оптимизирует код Python
Изучим характеристики и принцип работы профилировщика Scalene, который помогает ускорять код и сокращать потребление памяти. Дополнительно рассмотрим преимущества его совместной работы с OpenAI.
Откажитесь от SQLite в пользу DuckDB
Все еще пользуетесь SQLite? Пришло время забыть об этой библиотеке, поскольку теперь у нас есть DuckDB! Узнайте, что представляет собой DuckDB, почему и когда стоит использовать эту систему, а также о том, как интегрировать DuckDB в Python.
Раскройте потенциал VS Code для программирования на Ruby
Рассмотрим расширения и библиотеки для повышения продуктивности при работе с кодом на Ruby. Настроим альтернативную RubyMine, бесплатную среду разработки.
Как улучшить навыки работы с Python в 2023 году
Хотите узнать, как повысить эффективность вашего кода с точки зрения времени выполнения и сохранения памяти? Воспользуйтесь советами, которые помогут перейти на новый уровень написания кода Python.
K8s: топология подов
Как равномерно распределять поды по кластеру для эффективного использования его ресурсов и высокой доступности? Изучим мультиузловое/-зональное/-региональное распределение подов в его топологии.
Реализация масштабируемого и гибкого пользовательского экрана с несколькими переключателями на Swift
Посмотрим, как обрабатывать переключение между разными опциями в меню: пройдем путь от сравнительно простого решения к более универсальному и поддерживаемому, через рефакторинг.
Утилитные классы в Kotlin с точки зрения Java-разработчика
Разобравшись, в чем заключаются различия в реализации утилитных классов в Kotlin и Java, вы сделаете важный шаг в освоении языка Kotlin. Будь вы опытный Java-разработчик, желающий расширить спектр своих навыков, или новичок в программировании, уделите внимание этому аспекту.
5 способов упростить повседневные задачи с помощью ChatGPT
ИИ-бот ChatGPT может стать хорошим помощником для разработчиков ПО. Рассмотрим основные возможности этого инструмента при создании и комментировании кода, анализе и сравнении библиотек.
Подключение Kafka в Spring Boot
Подробно разберем код для подключения Apache Kafka в Spring Boot. Подготовим приложение к отправке сообщений на сервер Kafka и их потреблению.
Объекты данных в Kotlin
Рассмотрим новый функционал Kotlin, который улучшает строковое представление object. Он особенно актуален, когда имеются иерархии запечатанных классов с другими классами данных, которые нужно занести в журнал или распечатать для отладки или аналитики.
Класс данных в Kotlin
Что такое «класс данных» и чем он отличается от обычного класса? Какие проблемы решаются в Kotlin с помощью классов данных? Рассмотрим классы данных и разберемся, почему их используют вместо обычных классов.
Как использовать инструменты статического анализа в коде Python
Научимся работать с такими инструментами статического анализа, как MyPy, Bandit и Radon. Они предоставляют мгновенную обратную связь об уязвимостях и ошибках в коде, а также снабжают разработчика полезными метриками.
Программируем с ChatGPT: 10 советов
Хотите извлечь максимальную пользу из ChatGPT? Эти советы помогут ускорить работу, внедрив в нее ChatGPT, но при этом не допустить критических ошибок.
Доступно об API-вызове во Flutter: лучшие практики с демонстрацией кода
Рассказываем, как во Flutter использовать методы API-вызова HTTP, POST, GET и как создавать модели для представления данных, получаемых с сервера. Следуя этим практикам, вы будете писать более надежный и эффективный код.
Альтернатива Java 8: что умеет VAVR
Обзор на крайне полезную Java-библиотеку: вкратце рассмотрим примеры ее функциональных возможностей и сравним с тем, что предоставляет Java 8 по умолчанию.
3 интерактивных инструмента для управления командами в Linux
Эти инструменты позволят находить и отфильтровывать нужные команды, добавлять их в избранное для мгновенного выполнения и предоставят множество других полезных возможностей.
9 встроенных декораторов Python, которые помогут оптимизировать код
Делайте больше меньшими средствами: используйте возможности декораторов. Они помогут сэкономить время на написание кода и откроют новые функциональные возможности Python.
Методы лингвистического моделирования с использованием Python
Лингвистическое моделирование как способ адекватной интерпретации текста, выявления и предупреждения в нем ошибок - один из конкурентных инструментов Python. Научитесь владеть этим инструментом и станьте грамотным программистом.
8 пунктов по стилю React + TypeScript
Ценность этих рекомендаций в их практическом значении. Добавьте их в собственное руководство по стилю React + TypeScript, и ваш код станет чище и понятнее.
Зачем переходить с Gitbook на Readme
Легче сказать "запустить документацию", чем сделать это. Не так-то просто выбрать платформу для размещения документации, да и предоставляемые инструменты сильно различаются. Опыт компании Budibase поможет вам сделать обоснованный выбор.
Разделение окон в Vim
Рассмотрим возможности редактора Vim в плане организации рабочего пространства: разделение окон, взаиморасположение вкладок и окон, сравнение с другими редакторами.
Как создать библиотеку компонентов React
Рассмотрим этапы создания библиотеки компонентов React и подготовим модульный проект, в котором каждый компонент будет управляться исходным кодом отдельно и публиковаться независимо от других.