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

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

Автоматизируйте код-ревью и ускорьте итерации

Автоматизируйте код-ревью и ускорьте итерации

Код-ревью играет важную роль в поддержании качества кода при разработке программного обеспечения.  Чтобы помочь тем, кто занимается поддержкой проекта,...
Маршрутизация 101 в Angular 9+

Маршрутизация 101 в Angular 9+

Чему мы научимся? Показывать и скрывать компоненты, используя вместо свойств input/output маршруты.Поддерживать взаимосвязь этих компонентов, передавая по маршруту...
Концепции разработки UI на примерах еды

Концепции разработки UI на примерах еды

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

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

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

ТОП-5 признаков качественного продуктового дизайна

Как отличить хороший дизайн от плохого? Хороший дизайн  —  это четкое понимание предпочтений пользователей. Один из самых выдающихся дизайнеров 20 века Дитер...
Тестирование производительности приложения в браузере Chrome

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

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

Креативное программирование: методы и инструменты для JavaScript, Python и других языков

Креативное программирование Задача этого вида программирования состоит в создании не функционального, а выразительного продукта. В этом процессе немаловажную...
8 советов, как стать лучше во фронтенд-разработке

8 советов, как стать лучше во фронтенд-разработке

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

Эскизы  -  почему они так необходимы в работе дизайнера?

Я всегда считала, что эскизы и наброски незаменимы во всей дизайнерской деятельности  —  от создания иллюстраций и анимации до работы над интерфейсами....
Сравнение производительности JS-фреймворков на RealWorld Demo

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

Во-первых, сразу вам сообщу, что в тестах производительности я полный неудачник. Поэтому я начал свой путь с написания реактивной UI-библиотеки на JavaScript,...
Улучшаем свои дизайнерские навыки: один «легкий» трюк

Улучшаем свои дизайнерские навыки: один «легкий» трюк

Главный совет: заниматься дизайном  —  единственное, что я советую всем новичкам. Как можно больше. А затем еще больше. Как...
Пользовательские структурные директивы в Angular

Пользовательские структурные директивы в Angular

Что такое структурные директивы? Структурные директивы в Angular отвечают за манипулирование элементами, их изменение и удаление внутри шаблона...
GitHub Codespaces: быстрая разработка на ходу с Flutter

GitHub Codespaces: быстрая разработка на ходу с Flutter

В прошлую пятницу мне на почту пришло приглашение попробовать бета-версию GitHub Codespaces! Я сразу же взял один из своих...
Точки останова CSS в Material UI

Точки останова CSS в Material UI

В мире веб-дизайна точки останова CSS помогают создавать более надежный, отзывчивый веб-сайт, определять, когда показывать или скрывать определенные элементы, изменяя размер компонентов...
Биоинформатика? С R это легко!

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

Введение  Эта статья предназначена для тех, кто находится в поиске “точки входа” в область биоинформатики и имеет опыта работы...
Kubernetes: сэкономьте до 50% с вытесняемыми объектами

Kubernetes: сэкономьте до 50% с вытесняемыми объектами

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

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

Поздравляем, вы создали свое первое full-stack веб-приложение и теперь хотите выложить его в Интернет, чтобы показать своим друзьям, семье и будущим работодателям....
ТОП 5 советов, как улучшить свои UI навыки

ТОП 5 советов, как улучшить свои UI навыки

Однажды у меня произошел нервный срыв из-за моих UI знаний. В то время я работал над множеством проектов  —  в основном над...
UX или UI  -  на что уделить внимание?

UX или UI  -  на что уделить внимание?

Дизайнеры со всего мира часто и сами затрудняются ответить, что важнее  —  UI- или UX-дизайн. Мало кто воспринимает эти интерфейсы по отдельности...
Продвинутая версия Hello World для A-Frame

Продвинутая версия Hello World для A-Frame

В прошлой статье я описал, с чего начинать разработку VR в браузере. Для этого мы взяли популярный пример “Hello World” для A-Frame...
Как проще всего выполнять запросы GraphQL в iOS

Как проще всего выполнять запросы GraphQL в iOS

Такие сторонние библиотеки, как Apollo iOS client и AWS AppSync нужны для связи с сервером GraphQL в iOS-приложении, но они также вводят...
Эффективное или частное хранение данных с помощью JavaScript WeakMaps

Эффективное или частное хранение данных с помощью JavaScript WeakMaps

Новая структура данных под названием WeakMaps была представлена с в новой спецификации ES6 наряду с Maps. Как и в...
Relay для Angular

Relay для Angular

Всем привет! Сегодня я представлю вашему вниманию relay-angular, молодую инновационную библиотеку, которая доказала свою стабильность в процессе создания библиотек react-relay-offline и relay-hooks.
Kubernetes: безопасное управление секретами с GitOps

Kubernetes: безопасное управление секретами с GitOps

GitOps  —  это модное словечко в последнее время на слуху. Обозначает оно, по сути, декларативное управление ресурсами для такого представления текущего состояния,...
Как перейти от Flask к FastAPI

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

Из этой статьи вы узнаете о фундаментальных концепциях FastAPI и научитесь переносить сервер с Flask целиком на FastAPI.
29 инструментов и сайтов для дизайнера, о которых вы никогда не слышали

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

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

Реализация VR-пространства в браузере

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

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

Внимание: нижеследующее руководство предназначено исключительно для обучающих целей. Выполняйте атаку только на компьютерах, которые принадлежат вам. UDP-флуд — это атака типа...
Функции Java 15: скрытые и запечатанные классы, сопоставление шаблонов и текстовые блоки

Функции Java 15: скрытые и запечатанные классы, сопоставление шаблонов и текстовые блоки

Java 15  —  это еще один функциональный релиз, таким будет и 16. Следующий LTS (релиз с долгосрочной поддержкой) запланирован как Java 17,...
Разработка и развёртывание приложения машинного обучения: полное руководство

Разработка и развёртывание приложения машинного обучения: полное руководство

Приложение для прогнозирования COVID-19: от и до Похоже, коронавирус не спешит уходить из нашей жизни. Но мы можем не...
Solid

Рефакторинг: от мусорного кода к SOLID-ному

Раз уж вы решили нажать на этот загадочный заголовок, то, полагаю, вы уже знакомы с принципами SOLID. Хотя бы с самим сокращением. 
Web Design

9 мифов об интерфейсах для людей с ограниченными возможностями

Большинство дизайнеров либо вообще не знают о доступности, либо неверно её понимают: к примеру, им может казаться, что ориентация на доступность подавляет...
Apache Spark

Об Apache Spark - интересно и со вкусом!

Возможно, многие из вас уже начинали изучать инженерию данных, но вскоре понимали, что осилить эту науку вам не под силу. То ли...
Web Development

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

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

Решаем проблему запроса N+1 в GraphQL с помощью Dataloader

Предыдущая часть: “Почему нельзя разрешать поля GraphQL как конечные точки REST” В предыдущей статье мы закончили на том, что...
NET

Построение горизонтально масштабируемых stateful-приложений с помощью ASP.NET Core

Круговорот технологий в tech-индустрии не прекращается. При помощи таких современных инструментов, как Docker Engine и Kubernetes масштабировать приложения стало проще, чем когда-либо....
JavaScript

Микрофронтенды  -  а почему бы и нет?

Фронтенд-разработка всегда занимала положение младшего ребенка в семействе веб-приложений. И пока фронтенд-разработчики расхаживали в своих модненьких шапочках, с аккуратными усиками, MacBook и...
CSS

Динамическое масштабирование элементов в CSS

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

Создавайте веб-приложения, которые умеют слушать! ?

У вашего веб-приложения тоже могут быть уши! Мир стоит на пороге настоящего бума голосовых технологий, которые имеют огромный потенциал...
API

AutoScraper и Flask: создание API для любого сайта менее чем за 5 минут

В этом руководстве мы создадим собственный поисковый API электронной коммерции с поддержкой как eBay, так и Etsy без использования каких-либо внешних API....
SQL

Развертывание Flask приложения на Heroku и подключение к БД MySQL  -  JawsDB

Проблемы развертывания Новички часто устанавливают все пакеты на системном уровне из-за отсутствия опыта (например, с помощью pip). Получение зависимостей...
GraphQL

Добавление отношений в схему GraphQL

Отправная точка Строить мы будем на базовом сервере GraphQL. Код можно скачать здесь или с помощью:
Git

Синхронизация Git-репозиториев в режиме реального времени

Работая с клиентами на таких платформах, как Github или Gitlab, мы в Gitstart часто сталкиваемся с необходимостью синхронизировать кодовые базы между удаленными...
Web Development

Удаленные вызовы процедур с запросом-ответом

За последние два года я много работал с удаленными вызовами процедур (RPC), применяя этот подход для взаимодействия между нашими микро-сервисами. В подобных...
Kubernetes

Практичные Canary-релизы в Kubernetes с Argo Rollouts

Основанная на микросервисах инфраструктура Soluto, совмещенная со всеми инструментами CI/CD, позволяет осуществлять по несколько релизов в день, предоставляя пользователям новые возможности и...
COBOL

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

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

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

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

Как создать полезную офлайн-страницу для веб-приложения

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

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

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

Дизайн для всех: подробное руководство по созданию интерфейсов для людей с ограниченными возможностями

Создание дизайн-решений, которые будут работать для каждого — сейчас разработчики сосредоточены на этой теме больше, чем когда-либо раньше. Всё чаще ведётся речь о том,...
Kotlin

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

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

Множества ES6 в JavaScript. Зачем?

Что такое множество? Это набор уникальных значений  —  ни одно из них не возникает дважды или более раз. Это...
Web Development

ТОП-5 проблем с доступностью, которые чаще всего игнорируют

Доступность стремительно становится одним из важнейших аспектов (если не самым важным) в использовании интернета. За 2017–2018 гг. в федеральном суде почти втрое...
Rust

Как спроектировать REST API для выполнения системных команд с помощью Actix Rust

Привет! Сегодня я расскажу, как создать REST API для выполнения системных команд на вашем сервере с помощью метода, которым пользуются известные компании. 
CSS

Ускорьте создание пиксельной графики в 10 раз ✨?

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

Избавляемся от рендеринга в Angular: только функциональность и никакого рендера

Я ежедневно работаю как с Angular, так и с React, а также большой поклонник Vue и Svelte и слежу за их развитием....
JavaScript

Три примера, когда не стоит использовать стрелочные функции JavaScript

Стрелочные функции ES6 Вы их знаете, любите и наверняка постоянно используете! Представленные в 2015 году как часть обновления ECMAScript 6...
Ruby

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

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

WebRTC: фреймворк ICE, STUN и сервера TURN

WebRTC (Web Real Time Communication) — это проект с открытым исходным кодом, позволяющий создавать одноранговые (P2P) аудио- и видеосвязи через JavaScript API.
Selenium

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

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

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

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

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

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

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

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

Proxy  -  сокровище JavaScript

Что такое прокси? Что именно он делает? Перед тем, как разобраться, посмотрим на пример из реальной жизни. У каждого из нас есть...
Git

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

Для начала давайте разберемся: что же это вообще такое — git squash. Git squash — это прием, который помогает взять серию коммитов и...
Cors

Безопасность наглядно: CORS

Каждый разработчик периодически сталкивается с огромной красной строкой в консоли — Access to fetched has been blocked by CORS policy. Да, это здорово расстраивает....
Telegram

Telegram-бот с помощью таблицы Google

Для создания собственного Telegram-бота потребуется минимум программирования. На самом деле вам даже не нужно иметь редактор кода, чтобы начать. К концу этого...
Git

Простой способ взлома сайта для получения его Git-данных

Внимание! Статья преследует чисто образовательные цели. Автор не одобряет и не поощряет хакерство, кроме его разрешённого этического применения (white hat).
Cross-Framework Components

Использование компонентов между фреймворками

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

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

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

Повышение дизайнерских навыков: советы и упражнения

Четыре года назад я бросила работу в детской поликлинике и начала свое путешествие в мире дизайна. Я читала книги по UX по...
JavaScript

Создайте собственный AdBlocker за 10 минут

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

Чего я не знал о CSS, а стоило бы

Делать сайты я учился по-старомодному: открывал исходный код и пытался повторить то, что видел. А по тому, чего не видел (PHP/MySQL), прочёл...
API

Откройте миру разрабатываемые вами API

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

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

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

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

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

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

Цель этой статьи — научить вас выполнять нагрузочное тестирование и измерение производительности Restful API при помощи JMeter до и после развёртывания, используя подход с...
Git

GitHub-репозитории, о которых должен знать каждый разработчик

Подборка репозиториев, которые помогут вам стать разноплановым разработчиком В данной статье мы поговорим о GitHub-репозиториях для разработчиков на любом...
JWT

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

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

Создаём расширение для Chrome

Написать расширение для Chrome непросто. Это не то же самое, что разработка веб-приложения: не хочется перегружать браузер оверхедом JS, ведь расширения работают...
Rust

Rust: работа с потоками

Жил я себе поживал раньше без забот и без хлопот в однопоточной счастливой стране JavaScript, где имел дело с потоками разве что...
SVG

Великолепная десятка библиотек SVG иконок

Как-то раз я провел опрос на Reddit и обратился к коллегам-разработчикам с простой просьбой: поделиться названиями любимых библиотек иконок. Идея нашла живой...
Angular

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

1. Злоупотребление setTimeout(() => { … }) setTimeout(() => { ... }), вероятно, является наиболее популярным хаком для решения...
React

Что такое Tailwind CSS и как внедрить его на сайт или в React-приложение?

CSS может стать вашим лучшим другом или злейшим врагом. Несмотря на то, что он невероятно гибкий, а результаты его применения порой кажутся...
Git

Пять алиасов Git, без которых мне не прожить

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

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

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

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

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

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

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

Сказание о шаблоне Стратегия и его реализации

Я, конечно же, не Майкл Фелпс, да и плавать больше предпочитаю в море, но мне очень нравится наблюдать за тренировками пловцов. Этот...
Design

Восемь быстрых советов по улучшению пользовательского интерфейса

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

Создавайте веб-приложения, которые умеют говорить! ?

Сегодня трудно себе представить жизнь без Интернета. Интернет даёт огромные возможности. Он позволяет поддерживать связь с миром, не вставая с дивана. Аудиосегмент...
JSON

Прекратите использовать конфигурационные файлы JSON

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

Лучшие практики и инструменты для микрофронтендов

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

10 распространенных ошибок UI-дизайнеров

Помните об этих ошибках при разработке своего следующего дизайна. 1. Пренебрежение всеми возможностями
JavaScript

5 простых советов для улучшенного написания стрелочных функций

В ECMAScript2015 была добавлена стрелочная функция. Она более лаконична, чем традиционная функция, и связывает this лексически. Правильное использование стрелочных...
Git

Прекращайте пользоваться Git CLI

Переходите на Git GUI, узнавайте больше о Git и забудьте о случайных отправках в master Если вы разработчик, то, должно...
Web Development

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

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

Что такое Snowflake ID?

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

3 фундаментальных постулата JS, приближающих вас к Pro-статусу

Постулаты — это то, на чём строится код. Они дают вам предпосылки того, как мыслить, как создавать и как лучше всего писать сам код....
Git

Использование хуков Git для улучшения процесса разработки

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

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

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

5 ключевых понятий Python и их магические методы

Введение Когда дело касается именования функций в Python, мы вольны использовать нижние подчеркивания, наряду с буквами и числами....
Kubernetes

Практичные Canary-релизы в Kubernetes с Argo Rollouts

Основанная на микросервисах инфраструктура Soluto, совмещенная со всеми инструментами CI/CD, позволяет осуществлять по несколько релизов в день, предоставляя пользователям новые возможности и...
JavaScript

Var, let и const в JavaScript

Пока я разбирался что к чему в основах JavaScript, я наткнулся на три способа объявления переменных, а именно var, let и const....
Interfaces

Программируем с интерфейсами: и у нас на это 5 причин

Начну с самого важного. ВСЕГДА используйте интерфейсы . Ну или хотя бы в большинстве случаев, когда пишете программу или создаёте проект. Чем больше,...