Web-разработка

Все что касается web-разработки: Front end, Back end, Full stack; HTML, CSS, JavaScript, фреймворки, технологии, безопасность и многое другое!

Как интегрировать Cypress в Angular: полное руководство

Как интегрировать Cypress в Angular: полное руководство

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

Почему нельзя прерывать цикл forEach в JavaScript

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

Как сделать сайт в 25 раз быстрее с помощью нескольких строк кода

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

Обработка ошибок в React Hooks

Обработка ошибок в Hooks довольно проста. В этой статье мы продемонстрируем, как в React Hooks происходит обработка ошибок. Для этого нам нужно создать такой...
Кэширование с помощью Redis и Node.js

Кэширование с помощью Redis и Node.js

Redis - идеальный выбор как для хранения структур данных типа "ключ-значение", так и для кэширования. Из этого простого руководства вы узнаете, как выполнить подключение бэкенда Node.js к Redis и кэшировать данные.
Как развернуть веб-приложение Streamlit в сети: три простых способа

Как развернуть веб-приложение Streamlit в сети: три простых способа

Рассмотрим несколько вариантов развертывания веб-приложений Streamlit в облаке, которые позволяют легко, быстро, а также бесплатно делиться проектами с другими пользователями.
6 продвинутых способов создать чистый код на TypeScript

6 продвинутых способов создать чистый код на TypeScript

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

Предложение по стандартизации сигналов для TC39

Энтузиасты JavaScript-сообщества разработали предложение по стандартизации сигналов для рассмотрения в TC39. Каждый из вас может не только ознакомиться с этим предложением, но и внести свой вклад в стандарт сигналов, тем самым расширив возможности JS-разработки.
Sniper-CSS: как избавиться от неиспользуемых стилей

Sniper-CSS: как избавиться от неиспользуемых стилей 

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

Поиск и использование компонентов с bit.dev для создания приложений

Bit упрощает использование компонентов из библиотек и приложений. Bit’s hub (bit.dev) облегчает поиск и взаимодействие с этими компонентами. В этой статье мы узнаем, как найти...
Построение бесконечного списка с помощью SwiftUI и Combine

Построение бесконечного списка с помощью SwiftUI и Combine

С момента представления SwiftUI на WWDC2019 его популярность резко возросла. В течение последних двух лет отдел разработки Apple внес в этот UI-фреймворк много улучшений....
Профессиональная обработка ошибок в TypeScript

Профессиональная обработка ошибок в TypeScript

Обработка ошибок - важнейшая часть программирования на Type/JavaScript. Приложение может столкнуться с большими проблемами в будущем, если вы не уделите должного внимания выявлению и регистрации ошибок. Посмотрите, как это делают профи.
8 паттернов реактивности в современном JavaScript

8 паттернов реактивности в современном JavaScript

Пришло время изучить ключевой инструмент JavaScript-разработчика  -  паттерны реактивности. Использование этих 8 паттернов, независимо от применяемого фреймворка, позволит значительно сократить объем кода и повысить производительность веб-приложений.
PHP 8.1 уже обещает стать одним из лучших релизов

PHP 8.1 уже обещает стать одним из лучших релизов

Распаковка массива со строковыми ключами До версии PHP 8.1 эта простая операция не была доступна. Не будем много говорить о возможностях, которые она теперь открывает....
Как ускорить full-stack разработку, не создавая API

Как ускорить full-stack разработку, не создавая API

Разберемся, как повысить продуктивность за счет автоматизации всех взаимодействий между клиентом и сервером. Большая история проб, ошибок и поисков правильного решения в одной маленькой статье.
NodeJS

10 лучших фреймворков Node.js

Node.js приобрел большую популярность среди разработчиков, которые предпочитают использовать JavaScript для разработки приложений. Возможность управления клиентскими и серверными сценариями одним и тем же языком привела...
Введение в прототипы JavaScript

Введение в прототипы JavaScript

Представляем вашему вниманию наглядное введение в концепцию прототипов JavaScript для новичков.
Добавление личного домена в AWS WebSocket

Добавление личного домена в AWS WebSocket

Заключительная статья серии по WebSocket, в которой мы создадим собственный домен и организуем прямой доступ к WebSocket по его имени.
Библиотека Ethers.js: новичкам на заметку

Библиотека Ethers.js: новичкам на заметку

Познакомимся с библиотекой ethers.js и узнаем, как именно она обеспечивает взаимодействие с виртуальной машиной Ethereum в Remix.
8 неэффективных практик JavaScript, которых лучше избегать

8 неэффективных практик JavaScript, которых лучше избегать

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

Цикл For…of в JavaScript

В JavaScript много операторов цикла: оператор whileоператор do...whileоператор forоператор for...inоператор for...of Их основная функция: повторять действия до тех пор, пока не будет выполнено определенное условие. В этой статье мы узнаем, как работает...
Обзор функциональностей CSS, которые появились в 2022 году

Обзор функциональностей CSS, которые появились в 2022 году

Познакомимся с новыми функциональностями CSS 2022 года. Они отражают современные тенденции в развитии языка и нацелены на улучшение стилизации веб-страниц.
Как создать библиотеку компонентов React

Как создать библиотеку компонентов React

Рассмотрим этапы создания библиотеки компонентов React и подготовим модульный проект, в котором каждый компонент будет управляться исходным кодом отдельно и публиковаться независимо от других.
PHP: создание и публикация пакета composer

PHP: создание и публикация пакета composer

Научимся публиковать пакет официально. Пройдем все пошагово: от его подготовки до размещения на GitHub и регистрации в Packagist.
5 инструментов Chrome DevTools, упрощающих разработку

5 инструментов Chrome DevTools, упрощающих разработку

Большинство из нас владеет основами Chrome (например, принципами исследования элементов на странице), но не все знают о дополнительных функциях, значительно упрощающих задачи разработчика.
JavaScript

6 лучших JS-библиотек для визуализации данных и создания отчетов

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

Введение в веб-скрэпинг с помощью Node.js

Автоматически или вручную? Раньше, когда у меня возникало желание поупражняться в создании веб-сайтов, я просто заходил на веб-страницу, открывал консоль и пытался извлечь нужный мне...
Создаем темный режим, используя React и Styled Components

Создаем темный режим, используя React и Styled Components

React упрощает реализацию функции темного режима, которая порой необходима при просмотре сайтов. Рассмотрим, как ее можно реализовать.
Как создавать надежные SSL-сертификаты для локальной разработки

Как создавать надежные SSL-сертификаты для локальной разработки

Случалось ли так, что вы понимали  —  необходимо добавить HTTPS в приложение, запущенное на локальном хостинге или каком-нибудь еще местном домене вроде local.my-app.com? Есть некоторые...
Создание многопользовательской игры с использованием Socket.io при помощи NodeJS и React

Создание многопользовательской игры с использованием Socket.io при помощи NodeJS и React

Кратко знакомимся с Socket.io, а затем пошагово рассматриваем создание проекта, начиная с архитектуры сервера и структуры каталогов, заканчивая настройкой каналов и подключений.
JavaScript

Пять причин поместить функции в класс

Не все функции созданы одинаковыми. Класс — это набор каким-то образом связанных друг с другом функций. Они могут принадлежать одной категории и иметь что-то общее в...
Как легко управлять зависимостями в монорепозитории JS

Как легко управлять зависимостями в монорепозитории JS

Уделим внимание одной из самых наболевших проблем монорепозитория - управлению зависимостями. Посмотрим, как с помощью инструментов с открытым исходным кодом - рабочие среды Pnpm/Yarn и Bit - можно элегантно решить эту задачу и значительно упростить работу с зависимостями.
Redux

Секретные материалы: тайная сторона Redux становится явной ?

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

Как сымитировать UDP-флуд у себя на компьютере

Внимание: нижеследующее руководство предназначено исключительно для обучающих целей. Выполняйте атаку только на компьютерах, которые принадлежат вам. UDP-флуд — это атака типа “отказ в обслуживании” (Denial of service,...
VSCode

Настройте удалённую разработку с VS Code в браузере

В этом руководстве я расскажу о настройке VS Code Server с DigitalOcean и попутно поведаю о приёмах, которые использовал для создания простого и чистого...
GraphQL

Почему нельзя разрешать поля GraphQL как конечные точки REST

GraphQL сулит огромные преимущества. Вот некоторые из них: Один и тот же API может использоваться несколькими клиентами, поскольку есть возможность запрашивать необходимые данные из API...
5 недооцененных возможностей JavaScript

5 недооцененных возможностей JavaScript

Скорее всего, вы не используете эти 5 методов работы с JavaScript. Их можно отнести к одним из самых недооцененных возможностей TypeScript. Впрочем, у вас есть шанс восполнить этот пробел.
Swift

Полезные глобальные функции языка Swift

Глобальные функции (их можно вызвать отовсюду без привязки к области действия определённого типа) — это довольно старая концепция, которая была популярна в таких языках, как С...
JavaScript

Чистый код на JavaScript: вертикальное форматирование

Форматирование кода в легко читаемый во многом определяет его итоговую чистоту. Не отформатированный как следует код требует больше умственных усилий для понимания.  В этой статье...
Сравнение архитектурных стилей API: SOAP vs REST vs GraphQL vs RPC

Сравнение архитектурных стилей API: SOAP vs REST vs GraphQL vs RPC

Два отдельных приложения нуждаются в посреднике, чтобы общаться друг с другом. Поэтому разработчики часто строят мосты  — программные интерфейсы приложений, они же API,  —  чтобы...
React

Сможет ли Vue.js превзойти React в 2020 году?

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

Почему разрабатывать веб-интерфейсы так сложно?

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

Сравнение производительности JS-фреймворков на RealWorld Demo

Во-первых, сразу вам сообщу, что в тестах производительности я полный неудачник. Поэтому я начал свой путь с написания реактивной UI-библиотеки на JavaScript, чтобы хоть...
Сравниваем WebGL-фреймворки Three.js и Babylon.js

Сравниваем WebGL-фреймворки Three.js и Babylon.js

В чем их основное отличие, какой их этих инструментов легче в освоении, а какой более лаконичен и понятен в коде? Знакомимся с обоими на примерах.
25 полезных сокращений в JavaScript для веб-разработчиков

25 полезных сокращений в JavaScript для веб-разработчиков

Сегодня вы узнаете о множестве сокращений в JavaScript, которые можно использовать, чтобы сделать код более читабельным, лаконичным и профессиональным.
JavaScript

Условный JavaScript для экспертов

Осваиваем условные выражения для написания более чистого кода Условные выражения являются очень важным аспектом в синтаксисе любого языка программирования. Если вы уже некоторое время программируете на...
Обрабатываем ошибки в React: полное руководство

Обрабатываем ошибки в React: полное руководство

Независимо от уровня внимательности и количества написанных тестов всегда что-то может пойти не так. Рассмотрим обработку ошибок в React: что делать при их появлении, как их выявить и устранить.
Мы забываем основы фронтенд-разработки

Мы забываем основы фронтенд-разработки

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

Что следует учитывать при разработке дизайна для людей с дислексией?

Рассмотрим термин дислексия. Изучим стратегии, которые помогают сделать дизайн более доступным для пользователей с дислексией. Узнаем о плагине Stark.
11 новых возможностей JavaScript в ES13

11 новых возможностей JavaScript в ES13

Представляем новейшие возможности JavaScript в ES13. Используйте их, чтобы повысить свою производительность и писать более чистый код с высокой степенью лаконичности и ясности.
Балансировка нагрузки и последовательное хеширование

Балансировка нагрузки и последовательное хеширование

Рассмотрим, как работает хеширование запросов при наличии в системе двух и более серверов и как его можно усовершенствовать для балансировки нагрузки.
Java Script

Как не лажать с JavaScript. Часть 3

Часть 1, Часть 2, Часть 3 Изменяемое состояние Что такое состояние? Говоря простым языком, состояние — это любые временные данные, хранящиеся в памяти. Например, это могут быть переменные...
Почему лучше использовать const, а не let в TypeScript

Почему лучше использовать const, а не let в TypeScript

Чем больше проект, тем сложнее разобраться в его коде. Как же сохранить чистоту кода, если одна переменная многократно перезаписывается? Используйте проверенную практику, выбирая const вместо let в TypeScript.
7 полезных методов объектов JavaScript

7 полезных методов объектов JavaScript

Предлагаем список важнейших методов объектов, которыми необходимо владеть при программировании на JavaScript. Эти методы значительно облегчат вашу работу с объектами.
6 полезных библиотек JavaScript

6 полезных библиотек JavaScript

Рассмотрим несколько полезных для разработчика библиотек JavaScript: GSAP, Underscore, Chart.js, D3.js, Lodash и fullPage.js. Они упростят и ускорят создание различных проектов.
А вы знали, что для HTML Чак Норрис - это цвет?

А вы знали, что для HTML Чак Норрис - это цвет?

Все знают, что Чак Норрис может дышать вакуумом, способен выжать апельсиновый сок из лимона или захлопнуть вращающуюся дверь. Но знали ли вы о скрытом в его имени цвете? Если нет, то пришло время узнать.
Разработка масштабируемых фронтендов с помощью Feature-Sliced Design

Разработка масштабируемых фронтендов с помощью Feature-Sliced Design

Предлагаем пошаговое руководство по созданию современных фронтендов с помощью Feature-Sliced Design и Bit. Использование этого подхода позволит организовать приложение в четко структурированном виде, быстро ориентироваться в нем и лучше понимать его специфику.
Java

Топ - 9 фреймворков Java в 2020 году

Язык Java в настоящее временя участвует в функционировании 134 861 сайта, включая ESPN, SnapDeal, Alibaba и т.д. За всю историю существования этот язык доказал...
Web

Как оптимизация изображений снизила “вес” главной страницы на моем веб-сайте на 62%

Изображения являются чуть ли не самым распространенным типом контента, что встречается в Интернете. Говорят, что одно изображение может заменить тысячу слов. Но, если вы...
15 расширений VSCode, необходимых программистам в 2021 году

15 расширений VSCode, необходимых программистам в 2021 году

Почему VSCode столь популярен? Visual Studio Code быстро завоевал популярность среди разработчиков. Он оказался наиболее распространенной средой разработки по результатам опроса Stack Overflow 2019 года....
JavaScript

Прототипирование с веб-компонентами: создание RSS Reader

Приготовьтесь отправиться в путешествие по изучению прототипирования приложения с помощью веб-компонентов, модулей es6, event target, bit cli и т. д. Вместе мы узнаем, как...
Руководство бэкенд-разработчика по тестированию компонентов на Vue.js

Руководство бэкенд-разработчика по тестированию компонентов на Vue.js

Мне как бэкенд-разработчику, использующему Vue, быстро стало понятно: модульное тестирование сыграет решающую роль в успехе продукта. Разработка пользовательского интерфейса казалась похожей на игру “поймай...
Как создать Chrome-расширение для приложения с прогнозом погоды

Как создать Chrome-расширение для приложения с прогнозом погоды

Хотите создать простое веб-приложение, чтобы быстро узнавать прогноз погоды? Воспользуйтесь доступным руководством по разработке Chrome-расширения для приложения с прогнозом погоды (с полным исходным кодом).
CSS & JavaScript

Советы по анимации с CSS и JavaScript

Основы “плавности” Анимации - важная часть создания привлекательных веб-приложений и сайтов. Пользователи ожидают высокую отзывчивость и интерактивность. В классической анимации движение, скорость которого в начале низкая,...
Итераторы и генераторы в JavaScript

Итераторы и генераторы в JavaScript

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

5 основных рекурсивных задач на собеседованиях по программированию

В информатике и математике рекурсия является эффективной базовой концепцией. В математике она применяется в таких разделах, как числовые последовательности и функции. При решении задач...
Запускаем ваш первый веб-сайт на Rails + React

Запускаем ваш первый веб-сайт на Rails + React

Поздравляем, вы создали свое первое full-stack веб-приложение и теперь хотите выложить его в Интернет, чтобы показать своим друзьям, семье и будущим работодателям. С помощью...
Как реализуется пользовательское взаимодействие на страницах JavaScript?

Как реализуется пользовательское взаимодействие на страницах JavaScript?

Рассмотрим процесс регистрации на интернет-странице изнутри: что происходит при нажатии на кнопку регистрации, появлении формы, ее заполнении и отправке пользователем, а также при перенаправлении на страницу авторизации и получении полного доступа к странице. Узнаем, куда поступает эта информация и как страница распознает пользователя, когда он снова на нее заходит.
Почему в React важен порядок вызова хуков?

Почему в React важен порядок вызова хуков?

Следование правилам использования хуков в React позволит оптимизировать процесс разработки и повысить эффективность React-приложений. Но прежде стоит выяснить, почему так важен порядок вызова хуков в React.
7 бесплатных API для уникальных приложений

7 бесплатных API для уникальных приложений

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

Добро пожаловать в ад…зависимостей JavaScript

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

Платформы Angular в деталях. Часть 2. Процесс начальной загрузки приложения

Часть 1, Часть 2 Фреймворк Angular был задуман платформенно-независимым. Такой подход позволяет запускать Angular-приложения в разных средах: в браузере, сервере, веб-воркере и даже на мобильных...
Быстрый веб-скрейпинг с библиотекой Polars

Быстрый веб-скрейпинг с библиотекой Polars

Рассказываем, как с помощью Polars выполнить простой и быстрый веб-скрейпинг с превращением таблиц с HTML-страниц в датафреймы Polars.
F-строки и 3 эффективных способа их применения

F-строки и 3 эффективных способа их применения

Далеко в прошлом остались те времена, когда разработчики Python еще использовали оператор % для форматирования строк.  С момента появления Python 3.0 его постепенно заменили вызовом...
Входящий веб-перехватчик в MS Teams

Входящий веб-перехватчик в MS Teams

Microsoft Teams с нами уже больше четырёх лет. Этот инструмент призван заменить программу-клиент «Skype для бизнеса» и был разработан в Microsoft как конкурент других...
Руководство по созданию настольного приложения в Electron

Руководство по созданию настольного приложения в Electron

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

Создание приложения для распознавания лиц с помощью Tensorflow.js

Распознавание лиц - передовая технология, используемая сегодня практически повсеместно. Рассмотрим поэтапный процесс создания приложения, способного обнаруживать лицо человека.
Непрерывная интеграция и развёртывание ПО: лучшие практики

Непрерывная интеграция и развёртывание ПО: лучшие практики

Непрерывная интеграция и развёртывание (CI/CD)  —  это гибкая методология, используемая многими организациями. Она помогает им эффективно и безопасно поставлять своё программное обеспечение.
12 ошибок начинающих веб-разработчиков

12 ошибок начинающих веб-разработчиков

Никто из начинающих программистов не застрахован от ошибок, которые, в свою очередь, помогают обучаться. Проанализируем основные промахи начинающих программистов и убедимся в своем профессионализме....
Electron

Создаём «ToDo» приложение с помощью Electron

Мы будем создавать приложение ToDo с помощью библиотеки Electron. Мы затронем следующие темы: хранение данных, использование нескольких окон, взаимодействие между браузерами. Что необходимо для этого Я...
React

React hooks: никакой магии, только массивы

Я большой фанат новых API хуков. Но знаете, у них есть странные ограничения по применению. Для тех, кто жаждет понять причины появления этих правил,...
React Colorful: минималистичная и быстрая альтернатива для React Color

React Colorful: минималистичная и быстрая альтернатива для React Color

Вы создаёте приложение, связанное с рисованием и выбором цветов с помощью React? Если так, то наверняка вам знакома React Color, коллекция компонентов с цветовой...
Как написать тест-раннер в 80 строк кода на JavaScript/TypeScript

Как написать тест-раннер в 80 строк кода на JavaScript/TypeScript

Сделаем простой тест-раннер на nodejs с включением всех основных требований и почти без зависимостей. Разберем также самую интересную часть реализации - API на JavaScript из SWC.
Node

Делаем Node.js быстрым: инструменты, техники и советы для создания эффективных серверов на Node.js Часть...

Предыдущие части: Часть 1, Часть 2 Оптимизируем Теперь, когда мы обнаружили проблемные области, давайте посмотрим, можем ли мы сделать сервер быстрее. Лёгкий и быстрый способ Давайте вернем код слушателя server.on (вместо...
Почему React негативно повлиял на веб-разработку

Почему React негативно повлиял на веб-разработку

Недавно я представлял нашу компанию на конференции разработчиков .debug. Целью моего посещения было привлечение специалистов к обмену мнениями. Идея состояла в том, чтобы создать своего...
13 трендов в типографике в 2021 году

13 трендов в типографике в 2021 году

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

Сбросы базовых CSS-стилей для применения в любом приложении

Устали переписывать снова и снова базовые CSS-стили? Предлагаем код со сбросами, который можно вставить в корневой CSS-набор любого проекта.
Познай прокси-объект JavaScript как самого себя

Познай прокси-объект JavaScript как самого себя

Первым делом ознакомимся с официальным определением Proxy на сайте веб-документации MDN, которое гласит:  “Объект Proxy позволяет создавать прокси для другого объекта, обладая способностью перехватывать и...
Web Development

Руководство разработчика по оптимизации скорости работы веб-сайтов

Я много размышляю о том, как можно оптимизировать сайты, чтобы они работали быстрее. Ценность времени всё больше возрастает, и никому не нравится ждать, пока...
Java Script

Лучшие практики JavaScript: объекты

Как любой другой язык программирования, JavaScript имеет свой собственный список лучших практик, которые помогают создавать программы проще для понимания и дальнейшей поддержки. Этот язык...
Как сделать приложение с дополненной реальностью, используя React Native

Как сделать приложение с дополненной реальностью, используя React Native

Введение Возможно, вас в последнее время тоже, как и меня, заинтересовала постоянно растущая сфера дополненной реальности. В том или ином виде или форме эта технология...
Иконки в веб-дизайне

Иконки в веб-дизайне

Некоторые иконки отталкивают аудиторию. Некрасивый дизайн или непонятный рисунок  —  причины могут быть разные. Очень часто пользователи и сами не понимают, что именно им...
Software Development

Новый взгляд на старые истины: принцип «Не повторяйся!» (DRY)

Первый принцип, с которым вы знакомитесь, начиная свой путь в мир разработок ПО и записывая первые строки кода, — это постулат DRY (“Не повторяйся”). А как...
JavaScript

12 UI Grid-систем и библиотек для React актуальных в 2019 году

Я провёл исследование и сделал обзор на 12 библиотек и компонентов для React (без рейтинга). Часть из них автономные, а некоторые входят в состав...
Загрузка файлов в хранилище Cloudflare R2: простое руководство

Загрузка файлов в хранилище Cloudflare R2: простое руководство

Разберемся с процессом загрузки файлов Go в Cloudflare R2. Пройдем его поэтапно, снабжая фрагменты кода пояснениями, весь код  -  в конце.
Scrum на грани вымирания?

Scrum на грани вымирания?

Какое будущее ждет фреймворк Scrum, учитывая довольно противоречивый опыт его реализации? Предлагаем проанализировать причины претерпеваемого им кризиса и поразмышлять на тему дальнейших перспектив его развития.
Управление памятью JavaScript: как избежать утечек памяти и повысить производительность

Управление памятью JavaScript: как избежать утечек памяти и повысить производительность

Если вы разрабатывали приложения, то могли сталкиваться с такой проблемой, как утечка памяти. В сегодняшней статье мы расскажем об управлении памятью в JS и о том, как не допустить ее утечек.
Logging

Профессиональный подход к ведению логов

Логи можно сравнить с уликами на месте преступления, а разработчиков — с криминалистами. Роль логов трудно переоценить, ведь когда необходимо найти баг или причину сбоя, сразу...
Прощайте, useState и useEffect: революция в React

Прощайте, useState и useEffect: революция в React

Несмотря на свою эффективность, useState и useEffect - не универсальные решения. Представляем набор приемов, которые прокачают ваши навыки и позволят эффективнее справляться с получением и загрузкой данных.
Глубокое погружение в замыкания JavaScript 

Глубокое погружение в замыкания JavaScript 

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

Программное обеспечение без конструкции if-else

Не откладывая в долгий ящик скажу: зачастую конструкция if-else —  плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг. Тем не...
Обнаружение вредоносного ПО с помощью алгоритмов МО на облачной платформе Google

Обнаружение вредоносного ПО с помощью алгоритмов МО на облачной платформе Google

Обнаружение вредоносного ПО: вирусов, червей, троянов, программ-вымогателей, рекламного и шпионского софта - волнует многих пользователей и предпринимателей. Предлагаем рассмотреть методы идентификации вредоносных программ с помощью алгоритмов машинного обучения. Материалом для исследования стал массив данных от Майкрософт объемом в 200 ГБ.
Code Review

Как писать понятный код

Вы пишите код для разработчиков или только для себя?   Обзоры кода во имя добра Я люблю обзоры кода ― разбирать чужой код и отдавать на обзор свой....
Golang

Конкурентность и параллелизм в Golang. Горутины.

Конкурентность в Golang Прежде чем приступать к раскрытию темы нашей статьи, неплохо бы прояснить, что же такое параллелизм и конкурентность и в чём разница между ними....
Новая библиотека превосходит Pandas по производительности

Новая библиотека превосходит Pandas по производительности

Выпуск pandas датируется 2008 годом, и написана она была на Python, Cython и Си. Сегодня мы сравниваем производительность этой всем известной библиотеки с новой...