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

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

UI Design

10 заповедей UI-дизайна

Этот список составлен на основе книги "101 UX-принцип" (101 UX Principles), написанной Уиллом Грантом (Will Grant). 1. Пустые состояния Пустые состояния должны представлять нечто большее, чем...
JavaScript

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

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

Тестирование производительности приложения в браузере Chrome

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

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

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

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

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

Запуск DBT в Azure Functions с помощью Snowflake

Практики DataOps очень быстро встают на вооружение в компаниях, работающих с данными, особенно в тех, которые переходят на Cloud Data Warehouses (облачные хранилища данных)....
Три функции JavaScript для освоения метода Reduce

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

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

Улучшите производительность с помощью веб-воркеров

Введение В этой статье мы рассмотрим, как использовать веб-воркеры для повышения производительности при запуске. Примеры будут в приложении Angular 8 — с ним проще начать работать с...
Design

Дизайнер и код

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

Эти JavaScript-методы всего за несколько минут прокачают ваши навыки

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

Как создать GraphQL-сервер с запросами, мутациями и подписками

Если вы ещё не знакомы с TypeScript — не беда. Продолжайте читать дальше: основные понятия и большую часть синтаксиса освоить будет несложно. Предполагается, что у вас...
JavaScript

Шаблон Медиатор в JavaScript

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

Эмпирический анализ схем GraphQL. Часть 2

Часть 1, Часть 2 Напомним, что в части 1 мы дали немного вводной информации о языке запросов GraphQL, о преимуществах GraphQL API в сравнении с...
React

Как скоро хуки вытеснят классы React?

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

Полное руководство по управлению JWT во фронтенд-клиентах (GraphQL)

JWT (JSON Web Token, произносится как 'jot' ) становится популярным способом управления аутентификацией. Эта статья ставит целью развенчать мифы о стандарте JWT, рассмотреть его...
CSS

Псевдоклассы CSS, на которые стоит обратить внимание

Согласно определению из "CSS: The Definitive Guide" Эрика Майера (Eric Meyer) и Эстеля Вейля (Estelle Weyl): С помощью (псевдо) селекторов можно назначать стили так называемым...
JavaScript

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

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

Введение в Веб-безопасность

Есть множество причин изучать веб-безопасность, например: Вы ответственный пользователь, который обеспокоен утечкой личных данных. Вы ответственный веб-разработчик, который заинтересован в повышении безопасности...
Web

Факты о веб-сайтах в 2018 году (и почему токенизация стала отличной идеей для этой...

Новый способ применения технологии блокчейна. И переход от слов к действиям с проектом uKit AI. Существование современной всемирной паутины началось почти 30 лет назад с...
React

Анализ возможностей React Native или 15 вариантов улучшить ваше приложение!

Фреймворк React Native радикально изменил процесс разработки мобильных приложений, особенно после создания таких гибридных мобильных приложений, как Phone-gap, Ionichas и т.д.  Однако набора компонентов React...
Kotlin

REST API для приложения со Spring Boot, Kotlin и Gradle

Я много раз пытался спроектировать API для своих приложений, и это всякий раз заканчивалось разочарованием по одной из этих причин: Недостаточное понимание языка или фреймворка.Неготовность...
JavaScript

Что значит this в JavaSсript?

Значение this — одна из самых запутанных составляющих JavaSсript. this может принимать различные значения в зависимости от того, где располагается. В этой статье мы рассмотрим, где используется...
JavaScript

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

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

Переиспользуем соединения OkHttp по-максимуму Журнал

Введение Мы на Booking.com знаем, как важна для наших пользователей производительность, в том числе сетевая. Недавно мы исследовали производительность сетевого стека нашего приложения для Android...
JavaScript

Var, Let, Const - в чем разница?

ES2015 (ES6) принес с собой много новых интересных фич. Теперь на дворе 2020 год, и можно предположить, что многие JavaScript-разработчики уже познакомились с этими...
React

Как загружать изображения в RAILS API и возвращать их обратно

Мне потребовалась неделя, чтобы написать back-end основу для Supagram при помощи Rails API. Supagram — это легкий браузерный клон Instagram, в котором есть те же посты,...
Web Development

Лучшие генераторы статических сайтов для React в 2019 году

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

Как создавать собственные хуки на React

Учимся использовать логику компонентов для создания многоразовых хуков Хуки React, впервые появившиеся в версии React v16.8, кардинально изменили подход к написанию кода. Из коробки React...
Angular

Веселимся с Angular и трансформаторами в TypeScript

Вам знакома проблема обработки подписок на RxJs вручную? Помните, как забыли одну? Или однажды подумали, что использование AsyncPipe в шаблоне будет безопасно, но...
Web Server

Веб-сервер с нуля в TypeScript и Node

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

9 UI-библиотек веб-компонентов, которые пригодятся в 2019 году

Пользовательские компоненты и виджеты, разработанные по стандартам веб-компонентов, работают в современных браузерах и используются в библиотеках или фреймворках JavaScript, работающих с HTML. В...
Component Library

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

Пример Прежде чем начать, рассмотрим пример того, что должно получиться в результате. Здесь можно найти библиотеку Semantic-UI-React. Этот репозиторий также доступен как пакет на NPM. С...
Web Development

Создание предметно-ориентированных микросервисов

Определение Приставка “микро” в термине микросервисы является не только показателем размера сервиса. При переходе на архитектуру микросервисов команды стремятся повысить свою подвижность, а именно получить...
Design

Элементы управления выбором в пользовательском интерфейсе

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

JavaScript Essentials: Типы и структура данных

В рубрике Essentials мы рассматриваем наиболее используемые и важные методы. Эта рубрика будет полезна разработчикам, которые уже знают другой язык или тем, кто хочет...
CORS

Как избежать CORS в одностраничных приложениях

За последнее десятилетие применение технологии одностраничных приложений стало обычным явлением при создании веб-приложений. Сегодня во фронтенд-разработке господствуют такие фреймворки, как Angular и Vue, и...
Что не так с новыми логотипами приложений Google

Что не так с новыми логотипами приложений Google

К этому моменту вы, скорее всего, уже видели новые логотипы приложений Google Workspace (ранее G Suite) для продуктивной работы, таких как Gmail, Google Drive...
Java Script

Функциональное программирование в JavaScript: руководство с практическими примерами

Функциональное программирование (ФП) — это стремительно набирающий популярность стиль написания кода. Есть много материалов о концепциях ФП, но мало — о том, как применять их на практике. На...
Почему стоит избегать динамических ссылок

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

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

Как написать красивый и информативный README.md

Многие программисты лихо управляются с кодом и знают мельчайшие подробности своих проектов. Но некоторым из них (в том числе и мне) недостаёт коммуникативных навыков. Удивительное...
JavaScript

Ваш REST  -  это не API. И вот почему!

Отдавать JSON не значит иметь API Прежде всего, нужно уточнить несколько вещей об API. Отдающий JSON бэкенд  —  это не обязательно API. Управление API в целом,...
Selenium

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

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

Как работает новый await верхнего уровня в JavaScript

Раньше, чтобы использовать await, код нужно было помещать в асинхронную функцию. Это означало, что вы не могли использовать его вне какого-либо обозначения функции. Await...
JavaScript

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

Зачем форматировать код? Правильное форматирование кода - это ключ к коммуникации. Читаемость важна не только для нас, но и для других читателей. Беспорядочный код невозможно...
JavaScript

50 вопросов, ответы на которые вы должны знать, прежде чем идти на собеседование по...

Собеседования c разработчиками напоминают Дикий Запад. Никто толком не понимает, чем занимается. Большинство технических рекрутеров не могут отличить Java от JavaScript. Тем не...
React

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

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

Управление состоянием: Jotai вместо Redux

Самая утомительное при реализации Redux  —  это написание того объёма шаблонного кода, который нужен для обработки потока данных между компонентами и хранилищем Redux. Сам...
Психология цвета в UX

Психология цвета в UX

Введение Считается, что цвет  —  это необходимый визуальный элемент, который легко запоминается. Каждый раз, когда мы открываем глаза, различные внешние факторы охватывают наше поле зрения....
Progressive Web Apps

Станут ли прогрессивные веб-приложения заменой нативным?

Когда Стив Джобс представил самый первый iPhone в 2007 году, он также высказал идею о том, что разработчики смогут создавать приложения для iPhone лишь...
JWT

JWT-аутентификация в Spring Boot Webflux

Spring Security всегда снижал мой интерес к собственным проектам. Как только возникала необходимость выяснить как аутентифицировать пользователей, я сразу начинал испытывать негодование или скуку...
Входящий веб-перехватчик в MS Teams

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

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

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

За время карантина у меня было много времени подумать о своих дизайнерских целях. Я точно осознал, что не хочу застыть на одном месте. Непрерывное...
Рандомизатор на чистом CSS

Рандомизатор на чистом CSS

Каждый раз когда мы нажимаем на одну из игральных карт, нам будет выпадать новая: иногда король червей, иногда пиковый туз, иногда бубновая девятка  — ...
Feature Branches

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

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

Конец эпохи виртуального DOM (React)

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

Современный COBOL: руководство по реализации микросервиса

Предварительные условия Вы знаете основные принципы, методы и стандарты COBOL. В этом руководстве мы используем GnuCOBOL — бесплатный компилятор COBOL, реализующий значительную часть стандартов COBOL 85, COBOL...
Timer

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

Рассмотрим пример создания компонента countdown timer в React с использованием Bit. В результате компоненты будут выглядеть следующим образом. Помимо этого, мы научимся обмениваться компонентами и использовать...
Java Script

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

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

Как исправить ошибки сертификатов в Node-приложениях при работе с SSL

Если вам уже доводилось писать приложения на Node/Express, то вы не понаслышке знаете, что такие приложения обычно устанавливаются с HTTPS и сертификатом сервера. Однако...
Node

Фильтруем баги. Как реализовать тестовое покрытие в TypeScript под Node.js с помощью Jest

Я обожаю писать программы. Да что уж там: я не могу представить себя, занимающимся чем-то другим. Шутки шутками, но есть у меня один страх,...
Git

Воссоздание графика вклада GitHub с помощью Flask и Google Sheets

Я помешана на продуктивности. Раньше я следила за выполнением своих задач каждый день с помощью ручки и бумаги. Затем, когда задачи стали более сложными,...
Продвинутые React Hooks: подробный разбор useEffect

Продвинутые React Hooks: подробный разбор useEffect

С выходом React 16.8 в 2019 году React Hooks наконец-то стали доступны для использования в пригодных для эксплуатации приложениях. Хуки позволяют React-разработчикам делать функциональные...
Node

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

Node очень универсальная платформа, однако именно создание сетевых процессов одно из основных её применений. В этой статье мы сосредоточимся на профилировании наиболее распространённого из...
CSS

Отзывчивость – это очень просто с CSS-переменными

Если вдруг до этого вы ни разу не слышали о CSS-переменных, то поясним, что это новая функция CSS, благодаря которой в таблице стилей вы...
Angular

Четыре сигнала нехватки концептуальных знаний в Angular

1. Злоупотребление setTimeout(() => { … }) setTimeout(() => { ... }), вероятно, является наиболее популярным хаком для решения некоторых распространенных проблем рендеринга в Angular,...
Биоинформатика? С R это легко!

Биоинформатика? С R это легко!

Введение  Эта статья предназначена для тех, кто находится в поиске “точки входа” в область биоинформатики и имеет опыта работы с R (в идеале с использованием...
JavaScript

Способы публикации библиотеки JavaScript: CDN, NPM, GitHub

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

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

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

Обнаружение компонентов с Bit ✨

Представляем обновленный способ обнаружения и обмена компонентами С момента первого релиза Bit в 2018 году, тысячи команд и разработчиков начали использовать его при создании приложений...
Java Script

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

Если вы не совсем в курсе современных тенденций JavaScript, то, по крайней мере, слышали о промисах ранее, но не знаете, где и как их...
Angular

Все, что вам нужно знать про Ivy, новый движок для Angular!

Около года назад команда Angular объявила на ng-conf (конференция по Angular), что она работает над Angular Ivy. Хотя он еще не на 100% готов...
10 источников вдохновения для дизайнера

10 источников вдохновения для дизайнера

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

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

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

Теория цвета для дизайнеров - краткий курс (с инфографикой)

Каждый профессиональный дизайнер знает, что цвета оказывают значительное влияние на цифровые продукты и пользователей. Однако как правильно использовать все потенциальные возможности цвета? Создание гармоничной цветовой...
Как перейти от Flask к FastAPI

Как перейти от Flask к FastAPI

Из этой статьи вы узнаете о фундаментальных концепциях FastAPI и научитесь переносить сервер с Flask целиком на FastAPI. FastAPI представляет собой современный, быстрый (высокопроизводительный) веб-фреймворк...
JavaScript

Создание тестового фреймворка JavaScript

Фреймворк модульного тестирования Суть модульного тестирования заключается в проверке небольших изолированных фрагментов кода. Если тест использует внешний ресурс, например сеть или базу данных, он уже...
SnowFlakeID

Что такое Snowflake ID?

Генерация уникальных ID — это задача, с которой всем программистам приходилось сталкиваться на определенном этапе цикла разработки приложения. Уникальные ID позволяют нам правильно идентифицировать объекты данных,...
Node

Как настроить мощный API на Nodejs, GraphQL, MongoDB, Hapi, и Swagger. Часть 1

В разделении фронтенда от бэкенда есть множество преимуществ: Самая значительная причина, почему API популярны, в том, что API позволяют получать данные из любого источника:...
Logging

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

Логи можно сравнить с уликами на месте преступления, а разработчиков — с криминалистами. Роль логов трудно переоценить, ведь когда необходимо найти баг или причину сбоя, сразу...
Аспектно-ориентированное программирование в JavaScript

Аспектно-ориентированное программирование в JavaScript

Кто из программистов JavaScript не знает об объектно-ориентированном (ООП) или функциональном программировании (ФП)?! Но вот слышали ли вы об аспектно-ориентированном (АОП)?  Что самое интересное, АОП...
Надоело работать во фронтенд с JavaScript? Используйте Python для браузера!

Надоело работать во фронтенд с JavaScript? Используйте Python для браузера!

“Как так?” —думаю, примерно такой будет реакция большинства на заголовок этой статьи. Что значит “Используйте Python для браузера?”. Ведь всем известно, что в браузерах...
JavaScript

JavaScript async/await: что хорошего, в чём опасность и как применять?

Механизм async/await , представленный ES7, является фантастическим улучшением асинхронного программирования с использованием JavaScript. Он предоставил возможность использовать код, написанный в синхронном стиле, для асинхронного доступа к...
Startup

Что я понял за год работы программистом в стартапе

Год назад я стал разработчиком в Foxintelligence, стартапе в Париже. До этого я работал в двух компаниях в качестве администратора проектов в отделах информационных...
Software Development

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

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

29 инструментов и сайтов для дизайнера, о которых вы никогда не слышали

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

Движок JavaScript: что внутри

Введение Чтобы разобраться в том, как работает механизм обработки кода (иначе говоря, движок JavaScript), надо понять, что происходит при выполнении кода. Такие знания помогают программистам...
Введение: 4 новейших операции JavaScript

Введение: 4 новейших операции JavaScript

Технический комитет 39 (TC39)  —  это группа экспертов по JavaScript, которые работают над стандартизацией ECMAScript. Рабочий процесс TC39 состоит из нескольких этапов: Этап 0 (Идея): прием...
JavaScript

Rust для разработчиков JS

Rust не вызвал у меня большого интереса, когда я впервые прочитал о нём. Это было около двух лет назад. Я работал веб-разработчиком, программировал в...
React

Запуск с нуля: как я создала сайт с нуля при помощи Netlify + Gatsby

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

Объяснение понятия «состояние» в JavaScript на примере приготовления простого блюда

Когда вы начинаете писать простые JavaScript программы, вам не нужно волноваться о количестве используемых вами переменных или о том, как работают разные функции и...
Как работает проверка доступности API в Swift

Как работает проверка доступности API в Swift

Мы постоянно применяем проверки на доступность API, чтобы обеспечить откаты ПО для пользователей, использующих старые версии iOS. А задавались ли вы вопросом, как эту...
Design

10 правил проектирования взаимодействия, которые нельзя нарушать

Есть в жизни правила, нарушать которые нельзя: нарушишь — дорого заплатишь. В UI-дизайне такие тоже есть, и они называются “эвристика”, или общие правила улучшения юзабилити пользовательских...
Создание многопользовательской игры с использованием Socket.io при помощи NodeJS и React

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

Важно начать проект с уникальной идеи, но куда важнее выбрать правильное направление. “Будущее принадлежит тем, кто осваивает больше навыков и совмещает их в потоке творчества”, — Роберт...
GraphQL

Введение в GraphQL: основные принципы использования

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

Как с нуля создать проект на React, используя Webpack 4 и Babel

Недавно я начал изучать React и для создания проектов я использовал create-react-app, чтобы быстро и без особых усилий добиться желаемого результата. Я подозреваю, что...
JavaScript

Краткое руководство по ООП в JS

В данной статье я постараюсь объяснить новые возможности ES6 JavaScript с точки зрения объектно-ориентированной парадигмы. Для начала, Что такое парадигма программирования? Парадигма — это пример или модель чего-то. То...
Micro Frontends

Связь между микро-фронтендами

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

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

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

JMeter-тестирование динамической нагрузки Restful API

Цель этой статьи — научить вас выполнять нагрузочное тестирование и измерение производительности Restful API при помощи JMeter до и после развёртывания, используя подход с конфигурированием. В...
Как увеличить производительность CSS-in-JS в 175 раз

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

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

Знакомьтесь, компонент Navigation в Android!

Что такое компонент Navigation?  Всем известно, что навигация между экранами является одним из фундаментальных принципов в приложениях Android. Как правило, мы осуществляем ее при помощи...
Golang

Шаблон Flyweight (Приспособленец) на Go

Определение: Приспособленец — это структурный шаблон проектирования, в котором объект, представляющий себя как уникальный экземпляр в разных местах программы, по факту не является таковым. Цель — оптимизация работы с...
Python

Утиная типизация в Python - 3 примера

Утиная типизация Опытным программистам концепция утиной типизации наверняка знакома. Для новичков же это словосочетание может звучать довольно странно: какое отношение имеют утки к программированию?  Эта концепция...
Непрерывная интеграция и развёртывание ПО: лучшие практики

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

Введение Непрерывная интеграция и развёртывание (CI/CD)  —  это гибкая методология, используемая многими организациями. Она помогает им эффективно и безопасно поставлять своё программное обеспечение. Согласно опросу GitLab...
Education

Как добиться большей зарплаты на собеседовании

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