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

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

Как создать простую функцию AWS Lambda с помощью TypeScript

Как создать простую функцию AWS Lambda с помощью TypeScript

Для написания функции Lambda обычно используется Node.js. Однако JavaScript вызывает сложности из-за отсутствия проверки типов и отладки кода. Чтобы их избежать, научимся писать функции AWS Lambda, применяя TypeScript.
Swift

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

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

Как создавать доступные веб-приложения для дальтоников с помощью Chrome DevTools

Хотя существует множество инструментов и техник, чтобы улучшить пользовательский опыт и сделать программы удобнее, о потребностях людей с дальтонизмом часто забывают. По данным сайта colourblindawareness.org...
Selenium

Нерассказанная история: исключение Stale Element Reference в Selenium

StaleElementReferenceException — одно из самых интригующих исключений, какое вы могли встретить, тестируя с помощью Selenium. Надеюсь, что этот пост поможет вам решить проблему с появлением данного...
Развертывание фронтенда и бэкенда приложения на Kubernetes

Развертывание фронтенда и бэкенда приложения на Kubernetes

Настроим полнофункциональное приложение Mongodb с доступом через браузер. Создадим с помощью внутренней службы под, сделав его доступным для другого компонента, и внешнюю службу для доступа к поду за пределами кластера или из внешних источников.
WebAssembly: секретное оружие в разработке высокооптимизированных и безопасных веб-приложений

WebAssembly: секретное оружие в разработке высокооптимизированных и безопасных веб-приложений

Многие эксперты связывают будущее эффективных и безопасных вычислений с WebAssembly. Узнайте, в чем заключаются достоинства этого секретного оружия веб-разработчика и почему оно заслуживает вашего внимания.
Паттерн "Шаблонный метод" и его реализация в JavaScript

Паттерн “Шаблонный метод” и его реализация в JavaScript

Обучающее руководство по работе с паттерном проектирования JavaScript "Шаблонный метод". Автор подробно рассматривает принцип действия шаблона, умело сочетая теорию, наглядность и практику.
GraphQL

Введение в GraphQL: сложные операции и переменные

GraphQL — это язык запросов для среды выполнения на стороне сервера и API для выполнения запросов с использованием системы типов для наших данных. Рассмотрим более сложные операции...
Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 2

Разработка веб-дэшбордов с использованием React, Material UI, Tailwind CSS и Nivo. Часть 2

В этой части серии статей создадим персонализированную цветовую схему и глобальные стили приложения. Будем использовать Tailwind CSS в качестве фреймворка для работы со стилями веб-приложения.
Знакомимся с основами Angular через создание простого приложения

Знакомимся с основами Angular через создание простого приложения

Готовы сегодня создать что-нибудь интересное? Я тоже! На данный момент я тружусь в роли Angular-разработчика, создавая для сотрудников нашей компании инструменты, которые помогают им более...
Python Django: контактная форма с автоматической отправкой Email

Python Django: контактная форма с автоматической отправкой Email

Адрес контактной электронной почты часто указан в самом нижнем колонтитуле на сайте. Пользователь должен не только отыскать адрес электронной почты, но еще и самостоятельно...
Автоматизация и масштабирование инфраструктуры приложений с Docker Swarm и AWS

Автоматизация и масштабирование инфраструктуры приложений с Docker Swarm и AWS

Выполним оркестрацию и развертывание высокодоступной, отказоустойчивой 3-уровневой архитектуры веб-приложения с Docker Swarm и тремя службами. Добавим четвертую службу и смоделируем сбой рабочего узла.
6 полезных библиотек JavaScript

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

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

7 полезных атрибутов HTML, о которых не все знают

Каждый веб-разработчик должен иметь навыки использования HTML. Без знания этого языка нельзя стать стать настоящим профессионалом. Любой сайт в интернете создан на основе HTML,...
6 шагов по созданию расширения Chrome, которое можно продать

6 шагов по созданию расширения Chrome, которое можно продать

Простой способ организации пассивного заработка без особых хлопот. Минимальный комплект необходимых инструкций прилагается.
Полиморфизм в TypeScript

Полиморфизм в TypeScript

Как правило, люди думают, что объектно-ориентированное программирование (ООП) и функциональное программирование (ФП) взаимно исключают друг друга. И это объяснимо: любая дискуссия о них довольно...
Добавление 3D-элементов на сайты с помощью Babylon.js и Vite

Добавление 3D-элементов на сайты с помощью Babylon.js и Vite

Хотите погрузиться в мир веб-разработки с 3D-элементами в 2024 году? Ознакомьтесь с актуальным решением по добавлению на сайты 3D-элементов, воспользовавшись пошаговым руководством по созданию базовой версии проекта Babylon.js + Vite.
Основы создания сайтов

Основы создания сайтов

Разбираемся в базовых аспектах разработки сайтов: как они работают и из чего состоят. Предлагаем краткую инструкцию для начинающих.
Angular

Прототипирование без API

Я из тех, кто обычно очень нетерпелив, когда менеджер раскрывает функции нового продукта. После спринта я задаю этот ужасающий, трепещущий вопрос: … API уже готов?.. И ответ...
Основы разработки приложений: уровень клиента

Основы разработки приложений: уровень клиента

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

Как компилировать ZXing C++ в Wasm, используя WASI SDK в Linux

WASI — это системный интерфейс, предназначенный для создания программных модулей .wasm не только для Node.js и веб-браузеров, но и для любой совместимой с WASI среды выполнения. Хотя...
Веб-скрейпинг с помощью Python и BeautifulSoup

Веб-скрейпинг с помощью Python и BeautifulSoup

Получение данных из Всемирной паутины может оказаться трудоемким и времязатратным процессом. Но подобные задачи можно легко автоматизировать с помощью технологии веб-скрейпинга. Поговорим о том, как извлекать данные с сайтов с помощью Python и библиотеки BeautifulSoup.
Советы по повышению производительности JavaScript

Советы по повышению производительности JavaScript

Используйте локальные переменные Когда мы объявляем глобальные переменные, они остаются в памяти на протяжении всего жизненного цикла. Однако, если мы объявляем переменные в локальном контексте,...
JavaScript

Var, let и const в JavaScript

Пока я разбирался что к чему в основах JavaScript, я наткнулся на три способа объявления переменных, а именно var, let и const. В данной...
UI & UX Design

10 способов улучшить выпадающие списки в дизайне UI и UX

Выпадающие списки являются одним из наиболее широко используемых и универсальных инструментов для дизайнеров UI и UX. С их помощью можно с легкостью сгруппировать множество...
Как оформить поле ввода: советы и техники

Как оформить поле ввода: советы и техники

Как быстро и легко разработать поле ввода? Ответим на этот и сопутствующие вопросы доступным языком.
JavaScript

Как это использовать: объявление функции и функциональные выражения

Первое отличие: название Если вы создаёте функцию с названием, то вам необходимо объявить функцию. В функциональных выражениях же название не обязательно. Объявление функции: function doStuff() {}; Функциональное выражение: const doStuff...
Доступная и масштабируемая 3-уровневая архитектура AWS

Доступная и масштабируемая 3-уровневая архитектура AWS

Построим структуру AWS, как трехуровневый торт: с уровнями веба, приложения и базы данных. Подготовим основу - виртуальное частное облако VPC, создадим подсети, шлюзы, маршрутную таблицу, шаблон запуска, группу автомасштабирования. Разберем значение и вклад каждого уровня.
Современный подход к разработке Angular

Современный подход к разработке Angular

Создавайте современные компонуемые приложения Angular с помощью Bit. Благодаря своим мощным возможностям, бесшовной интеграции с Angular и готовой поддержке Ripple CI, Bit - идеальное решение для разработчиков, стремящихся повысить свой профессиональный уровень и создавать качественные веб-приложения.
Как я самостоятельно освоила Tableau

Как я самостоятельно освоила Tableau

Tableau - это высококлассное программное обеспечение для анализа и визуализации данных. Хотите изучить этот полезный продукт? Профессиональный аналитик данных поделится с вами опытом освоения Tableau с нуля.
6 принципов создания производительных веб-приложений

6 принципов создания производительных веб-приложений

Какие преимущества у WebP-формата? Расскажем, как разработать наиболее успешные веб-приложения, а также рассмотрим такие понятия, как API-дизайн и асинхронные скрипты.
JavaScript

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

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

Продвинутые методы программирования на JavaScript: сравнение элементов двух массивов

Хотите писать более профессиональный код на JavaScript? Заметных успехов при сравнении двух массивов позволят добиться решения опытного разработчика.
Software Development

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

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

Получение доступа к ID элементов в DOM в качестве переменных window/global

Первое, что я узнал, начав заниматься веб-разработкой: как управлять элементами по ID из JS, со ссылкой на элементы по ID <div id="so_many">So many to think...
Feature Branches

Вам больше не нужны ветви для фич…

Что такое магистральная разработка? Магистральная разработка (Trunk Based Development - TBD) - процесс разработки ПО. Согласно trunkbaseddevelopment.com (отличный источник информации о TBD) он определяется как: Модель...
Web Development

От HTTP до HTTP 3  -  интернета будущего

HTTP расшифровывается как протокол передачи гипертекста. Это набор правил, используемых при доставке веб-страниц с серверов в ваш браузер. HTTPS означает, что тот же протокол...
Создание пользовательского HTML-элемента без фронтенд-фреймворка

Создание пользовательского HTML-элемента без фронтенд-фреймворка

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

Создание проекта Django для регистрации и входа/выхода из системы

Поэкспериментируем с Django и расширим знания о его системе аутентификации пользователя.
Как работает маршрутизация Express

Как работает маршрутизация Express

Как в приложении Node.js происходит обработка клиентских запросов? Какая функция помогает обрабатывать тот или иной запрос? Чтобы ответить на эти вопросы, заглянем в "закулисье" маршрутизации фреймворка Express.
JavaScript

Создание музыкального бота с помощью Discord.js

API discord предоставляет инструмент для создания и использования ботов. Рассмотрим пример создания базового музыкального бота и добавления его на сервер. Бот сможет проигрывать, пропускать...
RedwoodJS

Взгляд на RedwoodJS

Привносим фулстек в JAMstack Несколько дней назад я просматривал Hacker News и наткнулся на интересный пост под названием “Redwood: интегрированный фулстек JavaScript веб-фреймворк для JAMstack.” В...
CSS

Решение проблемы с CSS :hover

:hover — псевдокласс, определяющий стиль элемента при наведении на него указателя. Проблемы с псевдоклассом :hover начались еще с тех пор, как на сенсорных устройствах был установлен первый браузер....
4 совета Python Django разработчику

4 совета Python Django разработчику

Django  —  один из самых популярных во всем мире Python-фреймворков: на нем построены многие известные сайты, такие как Instagram, Pinterest, Mozilla. Хотя уже написано много...
F-строки и 3 эффективных способа их применения

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

Далеко в прошлом остались те времена, когда разработчики Python еще использовали оператор % для форматирования строк.  С момента появления Python 3.0 его постепенно заменили вызовом...
React 16

Почему React 16 — это благословение для React разработчиков

Практически каждый рад, когда выходит новая версия любимого мобильного приложения или OC. Разработчик тоже должен быть рад выходу свежего обновления для своего любимого фреймворка,...
Пишем асинхронный неблокирующий Rest API на Java

Пишем асинхронный неблокирующий Rest API на Java

Рассмотрим способ, как справляться с обработкой больших объемов трафика, а следовательно - повысить производительность вашего приложения и оперативность реагирования сервера на клиентские запросы.
Angular

Платформы Angular в деталях. Часть 1. Что такое платформы Angular?

Инфраструктура для разработки приложений Angular была задумана как платформенно-независимая технология (далее по тексту — фреймворк). Такой подход позволяет запускать приложения на Angular в разных средах: в...
Что нужно учить фронтенд-разработчику в 2021 году

Что нужно учить фронтенд-разработчику в 2021 году

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

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

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

Три функции JavaScript для освоения метода Reduce

Функции редьюсера просты, но их сложно освоить. Минималистичные решения, которые они реализуют, часто слишком абстрактны для начинающих разработчиков. Трудно представить почти безграничные возможности их...
Понятие о порталах в React с примерами использования

Понятие о порталах в React с примерами использования

Согласно официальной документации по React, порталы представляют собой первоклассный способ отображения дочерних компонентов в узел DOM вне DOM-иерархии родительского компонента, определяемой иерархией дерева компонентов....
Тренды UX/UI дизайна на 2024 год

Тренды UX/UI дизайна на 2024 год

Узнаем о новом тренде Bento UI. Познакомимся с трендами в пространственном дизайне, а также в сфере анимации и 3D. Рассмотрим инструменты с ИИ для дизайнеров. Узнаем о новых тенденциях и требованиях в сфере UX.
React

Что такое Редьюсеры: Как использовать их без Redux

Обработать состояние можно с помощью редьюсера в Class Components, используя функцию, преобразующую действия в изменения состояния. Благодаря этому централизируются все функции setStates. ? Что такое...
Разработка масштабируемых фронтендов с помощью Feature-Sliced Design

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

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

Фрагменты в React

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

Различия между псевдонимами типов и интерфейсами в TypeScript 4.6

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

Почему стоит избегать динамических ссылок

Превращаем динамичные ссылки в хорошо продвигаемые статические ссылки Так называемые “SEO-friendly” ссылки созданы для того, чтобы удовлетворить нужды поисковиков и пользователей. В мире, где правят...
Web

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

Изображения являются чуть ли не самым распространенным типом контента, что встречается в Интернете. Говорят, что одно изображение может заменить тысячу слов. Но, если вы...
Preact вместо ручной оптимизации React-приложения

Preact вместо ручной оптимизации React-приложения

Preact предлагает оптимизацию производительности по умолчанию. Благодаря сокращению объема библиотеки и увеличению скорости, Preact позволяет сосредоточиться на разработке функций, а не на ручной оптимизации, как React.
Node

Отладка Node.js с помощью Google Chrome

Отладка (debugging) — это процесс выявления и устранения ошибок в программных приложениях, который представляет собой нечто большее, чем просто просто вывод значений переменных. Задача этой статьи...
Web Development

Что такое Throttling и Debouncing?

Throttling и debouncing — это широко используемые техники для увеличения производительности кода, который выполняется повторно с некоторой периодичностью. Давайте разберёмся, как лучше их применять, чтобы ускорить работу...
Настройка современной среды разработки в Windows 10

Настройка современной среды разработки в Windows 10

Вступление С 90-х годов в качестве основной операционной системы я задействовал то Windows, то различные дистрибутивы Linux. И почти каждый раз использовал обе эти системы,...
Конфигурация файла PHP.INI

Конфигурация файла PHP.INI

Файл конфигурации php.ini является прямым методом влияния на функциональность PHP. Расскажем о его важных настройках, которые могут понадобиться для парсера PHP.
FrontEnd

11 главных фронтенд-трендов на 2020 год

1. Микрофронтенды Звучит иронично, но несмотря на то, что фронтенд-разработка обладает модульными преимуществами компонентов, она все еще более монолитна, чем бэкенд-микросервисы. Микрофронтенды предоставляют возможность разделения фронтенд-архитектуры...
7 бесплатных API для уникальных приложений

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

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

Поэтапное создание рабочей контактной формы в Next.js

Учимся создавать контактную форму для эффективного взаимодействия с пользователями. В этом важном деле нам помогут API-маршруты Next.js и API SendGrid.
Deno

Что такое Deno и заменит ли он NodeJS?

Для тех, кто не совсем в теме, Deno — это детище Райана Даля, ставшего известным благодаря созданию Node.js, который вам, наверняка, знаком. Значит ли это, что...
React

Краткое введение в функции высшего порядка в JavaScript

Функции высшего порядка Функция, принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата, называется функцией высшего порядка. С функциями в JavaScript вы можете: Хранить...
Vuejs

Переключение между табличным и списковым представлением в Vue.js

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

Создание компонента Timeline с React

При работе над новой страницей своего веб-сайта я решил добавить Timeline, чтобы показать свои профессиональные достижения за последние годы. С помощью временной шкалы можно...
3 совета, как стать мастером Йода по JavaScript

3 совета, как стать мастером Йода по JavaScript

Увидев в проекте на Angular или React устаревший код JavaScript, код-ревьюер сразу определит, что разработчик  —  новичок. Но если вы воспользуетесь 3 советами из...
TypeScript: продвинутые типы и их скрытые возможности

TypeScript: продвинутые типы и их скрытые возможности

Признанный во всем мире TypeScript поражает своими возможностями. Но все ли из них вам известны? Погрузитесь в систему TS, чтобы открыть для себя новые возможности использования свойств-аксессоров, условных типов, вывода и рекурсии типов.
Как создать аналитический сайт на Python с нуля

Как создать аналитический сайт на Python с нуля

Представляем обучающее руководство по разработке сайта на основе шаблона Flask. Сайт включает блог, приложения Dash и блокноты Jupyter.
Почему не стоит использовать localStorage

Почему не стоит использовать localStorage

Все еще используете localStorage? Тогда ознакомьтесь с IndexedDB - разумной альтернативой localStorage. IndexedDB - оптимальный инструмент для постоянного хранения данных - облегчит вам жизнь, особенно при использовании библиотеки-обертки.
5 тегов HTML, о которых вы могли не знать

5 тегов HTML, о которых вы могли не знать

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

Почему Lodash по-прежнему полезен?

С выпуском ES6 и более поздними версиями JavaScript появилось множество методов, расширяющих функциональность языка. Например, появились новые методы массивов и строк, а также такие...
10 хитрых приемов в JavaScript, о которых должен знать каждый разработчик

10 хитрых приемов в JavaScript, о которых должен знать каждый разработчик

Рыночная доля JavaScript за последние 5–10 лет поднялась на новый уровень, особенно с тех пор, как в июне 2015 года был запущен ES6. Обновление...
Введение в WebAssembly (WASM)

Введение в WebAssembly (WASM)

Хотите разрабатывать высокопроизводительные веб-приложения, выполняющие обработку видео, 3D-рендеринг, мультимедийные игры и криптографические вычисления? WebAssembly поможет легко справиться с этой задачей.
JavaScript - идеальный выбор при аналитической обработке данных

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

По поводу отказа от фото- и видеоаппаратуры в пользу мобильных телефонов, оснащенных камерами, фотограф и предприниматель Чейз Джарвис однажды пошутил: “Лучшая камера  —  это...
Redux

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

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

3D-формат в профессии дизайнера продукта

За время карантина у меня было много времени подумать о своих дизайнерских целях. Я точно осознал, что не хочу застыть на одном месте. Непрерывное...
Паттерн проектирования «Наблюдатель»: объект под прицелом

Паттерн проектирования «Наблюдатель»: объект под прицелом

В книге “Приемы объектно-ориентированного проектирования: паттерны проектирования” Эриха Гамма описываются 23 классических паттерна, которые предлагают решения часто встречающихся задач в разработке ПО.   В данной...
Что нового ожидать в ES2021

Что нового ожидать в ES2021

В июне 2021 года намечен выход ES2021 или ES12. Вот некоторые функции, которые предположительно внесет технический комитет 39 (TC39) в ESMAScript: · Метод String.prototype.replaceAll · Метод...
CSS

Объясняем Z-index: как позиционировать элементы с помощью CSS

CSS свойство под названием z-index всегда вызывало у меня страдания. На первый взгляд принцип его работы звучит просто: элементы с более высоким значением z-index отображаются поверх элементов...
Обзор текущего состояния Next.js Router

Обзор текущего состояния Next.js Router

Фреймворк Next.js динамично развивается, он сделал огромный скачок вперед, и поэтому многие предыдущие статьи о нем могли устареть. На момент написания этой статьи действует...
JavaScript

9 убийственных приемов для JavaScript разработчиков в 2019 году

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

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

В этой статье вы узнаете, как создать адаптивную галерею с помощью простенького JavaScript-фреймворка Stimulus для HTML-страницы вашего будущего интернет-магазина. Stimulus  —  это мощная альтернатива...
Как повысить производительность бэкенд-приложений

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

Предлагаем 10 рекомендаций по повышению производительности бэкенд-приложений с помощью таких техник, как кэширование, объединение запросов, многопоточность, сжатие и прочих.
Java Script

Увеличиваем производительность приложения React + Redux с библиотекой Reselect

Селекторы — это очень простой способ выбрать состояние из хранилища redux, которое содержит всю логику и данные приложения. Если вы создаёте приложение с помощью React и Redux,...
Ruby

Структура типизации в Ruby 3

Об авторе: Соутаро является ведущим разработчиком Ruby в Square, работающим над Steep и статической типизацией; вместе с Матцем и другими разработчиками ядра он работает...
Шпаргалка по основным командам Bash

Шпаргалка по основным командам Bash

Неважно кто вы, разработчик ПО, специалист по данным, менеджер ИТ-инфраструктуры или просто любитель компьютеров  —  вам нужно знать, как пользоваться терминалом в Linux и...
Git

Как сжимать коммиты в Git с помощью git squash

Для начала давайте разберемся: что же это вообще такое — git squash. Git squash — это прием, который помогает взять серию коммитов и уплотнить ее. Например, предположим: у вас...
Как увеличить производительность CSS-in-JS в 175 раз

Как увеличить производительность CSS-in-JS в 175 раз

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

React TypeScript: Основы и лучшие практики

Подготовка к работе create-react-app с TypeScript $ npx create-react-app your-app-name --template typescript Если вы предпочитаете Yarn, используйте следующую команду: $ yarn create react-app your-app-name --template typescript Обратите внимание, что...
4 типичные ошибки разработчиков Node.js

4 типичные ошибки разработчиков Node.js

Растущее комьюнити Node.js - свидетельство надежности и эффективности этого инструмента. Однако не всем удается извлечь из него максимальную выгоду. Рассмотрим самые распространенные ошибки разработчиков Node.js.
Angular

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

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

Плюсы и минусы React: виртуальная DOM, синтаксис JSX и другие аргументы для спора

Рассмотрим важные достоинства и недостатки React, чтобы с умом выбирать JavaScript-фреймворк и аргументированно отстаивать свой выбор.
React

Первые шаги в анимации React Native

Когда я только начал работать с React Native (RN), у меня никогда не доходили руки до изучения анимации. Многие вещи казались важнее, поэтому я...
25 полезных сокращений в JavaScript для веб-разработчиков

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

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

Микросервисы. Руководство для начинающих

Вы наверняка слышали подобные высказывания: «Наши сервисы состоят из множества масштабируемых микросервисов», «Мы планируем перейти на архитектуру микросервисов». Но что такое микросервисы? Я постараюсь...
Как создать простого командного бота в Python

Как создать простого командного бота в Python

Итак, как часто вы узнаете погоду или время у Siri, Алисы или Google? Сейчас на рынке существует несколько видов ботов. Некоторые из них более...
Как уменьшить размер компонента React: 3 профессиональных приема

Как уменьшить размер компонента React: 3 профессиональных приема

Одними из основополагающих элементов в React являются компоненты. Поэтому для разработчика очень важна оптимизация их размера. Рассмотрим, как это можно сделать.
PHP

Погружение в unserialize(): больше, чем RCE

Обход аутентификации и внедрение SQL-кода через unserialize() в PHP Сериализация в PHP через метод unserialize() приводит к появлению уязвимостей, открывающих через RCE (удаленное выполнение кода) доступ...
Career Change

Как я стал программистом в 40 лет

Вот, как я сменил свою прежнюю работу на front-end разработчика в 40 лет, не имея ни образования, ни опыта работы в этой сфере. Я...