Управление состоянием в React: обзор
Разберемся, какие проблемы решаются управлением состояния, а также нужна ли продвинутая библиотека для структурирования кода или инструментов React достаточно для комфортной работы.
Kubernetes: безопасное управление секретами с GitOps
GitOps — это модное словечко в последнее время на слуху. Обозначает оно, по сути, декларативное управление ресурсами для такого представления текущего состояния, чтобы в...
Уменьшаем размер образа Docker для приложения Next.js
Как избавиться от ненужных файлов в образе докера? Выполним контейнеризацию приложения и простую оптимизацию размеров образа Docker.
Раскройте возможности генераторов PHP
Как в PHP с версии 5.5 устраняется ошибка нехватки памяти? Пошагово рассмотрим применение генераторов, обратную отправку данных и возвращение значений. Приведем примеры практического использования.
Зачем использовать HttpClientFactory вместо HttpClient в .NET
Как показала практика, использование стандартного HttpClient чревато подводными камнями. Обойти их и получить весомые преимущества позволяет HttpClientFactory. Убедитесь в этом, отправившись в увлекательное приключение с примерами использования HttpClientFactory.
Ключевые понятия JavaScript, которые должен знать каждый разработчик — часть 1
Предлагаем 32 ключевых понятия JavaScript, собранные из 50+ руководств. Они помогут усвоить премудрости JavaScript, чтобы создавать оптимизированный код и избегать ошибок. В этой части будут раскрыты первые 11 понятий, включая стек вызовов, примитивные типы, типы-значения, ссылочные типы, системы типизации, операторы равенства и др.
5 типичных ошибок веб-разработчиков
Учиться лучше на чужих ошибках. Изучите подборку из 5 частых ошибок разработчиков - это лучший способ избежать их в собственной практике.
Меняем Async/Await на Promises.allSettled() для ускорения API-вызовов в Node.JS
Узнаем, откуда берется замедление при одновременном изменении более 50 записей и как в 10 раз ускорить операцию массового редактирования записей. Используем promise, чтобы не ждать возвращения каждого запроса на изменение, прежде чем делать следующий, и сэкономить много времени.
10 высокотехнологичных ресурсов для веб-разработчиков
Ознакомьтесь с 10 малоизвестными сайтами, предназначенными для веб-разработки. Передовые технологии, используемые этими ресурсами, - от потрясающих возможностей UI/UX до молниеносных бэкенд-решений - поднимут ваши проекты на новый уровень.
Как анимировать 3D-модель с помощью PyWeb3D
Погрузимся в мир анимации и создадим анимированный клип с 3D-моделью с помощью pyWeb3D.
Laravel: неизвестный, но эффективный способ реализации фильтров в Eloquent
Фильтровочный конвейер: как его задействовать для построения запроса пользователей в Eloquent с применением фильтрации? Научимся реализовывать простой и выполнимый процесс фильтрации с конвейером.
Нововведения в Apache Airflow 2.0: смогут ли они удовлетворить текущие потребности инженерии данных
Преимущества Airflow 2.0 по сравнению с предыдущими версиями
Пользовательский интерфейс
Интерфейс Airflow 2.0 выглядит свежим и современным по сравнению с предыдущими версиями. Его основное преимущество заключается...
Аутентификация и авторизация пользователей в Angular 16 с помощью JWT
Предлагаем руководство по созданию надежной системы аутентификации и авторизации пользователей в Angular 16 с использованием JWT. Интегрировав несколько компонентов в маршрутизацию и конфигурацию модулей приложения, вы обеспечите его пользователям повышенную безопасность и комфортные условия работы.
Создание кастомного навигационного представления в SwiftUI
Зададим собственное навигационное представление с помощью двух generic-типов. Первый тип — Content, который применяется для передачи представлений внутри кастомного навигационного представления. Второй тип — ...
Автоматическая караоке-система на основе React и Vercel
Подробное пошаговое руководство по созданию бессерверного приложения для того, чтобы повеселиться в хорошей компании.
Пишем кастомные React-хуки для GraphQL
Примечание: на данный момент хуки в React являются экспериментальными
Недавно на React Conf 2018 был представлен выпуск новых API для React, что повлекло за собой...
Дизайн-система: иконки
В данной статье автор делится своим опытом разработки дизайн-системы и предлагает идеи для автоматизации различных процессов проектирования. Особое внимание будет уделено простой, но очень...
Как с With() улучшить написание кода на Swift
Все мы писали код, в котором какая-то функция создавала и возвращала сконфигурированный объект.
func makeButton(_ title: String?) -> UIButton {
let button...
ТОП-5 проблем с доступностью, которые чаще всего игнорируют
Доступность стремительно становится одним из важнейших аспектов (если не самым важным) в использовании интернета. За 2017–2018 гг. в федеральном суде почти втрое увеличилось число...
Переиспользуем соединения OkHttp по-максимуму Журнал
Введение
Мы на Booking.com знаем, как важна для наших пользователей производительность, в том числе сетевая. Недавно мы исследовали производительность сетевого стека нашего приложения для Android...
WebAssembly с Go: вывод веб-приложений на новый уровень
Развернем интеграцию WebAssembly с Go в браузерах, настроим среду Go, преобразуем код Go в WebAssembly и выполним его в веб-контексте. В итоге получим интерактивную платформу с конкретными, мощными возможностями.
PHP: типы операторов
Предыдущая часть: “PHP: типы констант”
PHP поддерживает следующие типы операторов:
арифметические операторы;операторы сравнения;логические (или реляционные) операторы;операторы присваивания;условные (или тернарные) операторы.
Посмотрим, что делает каждый тип.
Арифметические операторы
Предположим, что переменная...
Управление Node.js 19 и NPM 9 с помощью NVM
Обучающее практическое руководство по работе с менеджером версий Node.js - NVM.
Как создать сетевой API с помощью Express.js, Bun и MongoDB
С появлением Bun - среды выполнения JavaScript, заменившей Node.js, - создавать высокопроизводительные API стало гораздо проще. Предлагаем пошаговое руководство по разработке сетевого API с помощью Express.js, MongoDB и Bun.
Разбор методов Ruby
В Ruby много методов, которые применяются не очень часто, и о тех случаях, в которых они задействуются, многие просто не знают, потому что никогда...
Плюсы и минусы Deno
Краткий обзор достоинств и недостатков новой среды выполнения Deno, а также ее сравнение со всем известной и привычной средой Node.
Как проще всего выполнять запросы GraphQL в iOS
Такие сторонние библиотеки, как Apollo iOS client и AWS AppSync нужны для связи с сервером GraphQL в iOS-приложении, но они также вводят в ваш...
Как правильно обрабатывать события
Немного поэкспериментируем. Возьмем простой дочерний компонент в двух вариантах (генерация события и использование функции в качестве входного параметра) и сравним их по ключевым показателям.
PurePWA — радикальный поворот в веб-разработке
Все еще находитесь в плену у выбранного раз и навсегда фреймворка? Пересмотрите свой подход и почувствуйте первозданную силу чистых веб-стандартов.
Добавление 3D-элементов на сайты с помощью Babylon.js и Vite
Хотите погрузиться в мир веб-разработки с 3D-элементами в 2024 году? Ознакомьтесь с актуальным решением по добавлению на сайты 3D-элементов, воспользовавшись пошаговым руководством по созданию базовой версии проекта Babylon.js + Vite.
5 популярных пакетов и фреймворков Node.js
Трудно представить современного разработчика приложений, который никогда не слышал о Node.js. Сегодня рассмотрим наиболее популярные пакеты и фреймворки Node.js, которые помогают специалистам создавать проекты.
Знакомство с наблюдателями Vue JS
Vue JS создан Эваном Ю и 234+ любителями в сообществе. Это прогрессивный фреймворк для создания пользовательских интерфейсов. Он состоит из простой базовой библиотеки, которая...
Как это использовать: объявление функции и функциональные выражения
Первое отличие: название
Если вы создаёте функцию с названием, то вам необходимо объявить функцию. В функциональных выражениях же название не обязательно.
Объявление функции:
function doStuff() {};
Функциональное выражение:
const doStuff...
Интеграция Django с материализованными представлениями PostgreSQL
Предлагаем пошаговое руководство по интеграции Django с материализованными представлениями PostgreSQL. Вы узнаете, как настроить ORM Django на полную поддержку материализованных представлений с возможностью создавать и обновлять материализованные представления с помощью системы миграции Django.
Как тренды визуального дизайна развивались со временем
Пользовательский интерфейс действует по принципу шутки: если её приходится объяснять, то она не удалась. Интуитивность — одна из основных концепций в области продуктового дизайна....
Как создать Meetup+Slack приложение с помощью Standard Library и Node.js
Meetup — это популярный веб-сайт, на котором люди со схожими интересами объединяются в группы для организации тематических мероприятий в своих городах. После того, как мы успешно...
Как масштабировать Angular без ограничений
Ограничения мешают успешному развитию продукта. Освободите свой разум от тормозящих стереотипов и приступайте к масштабированию проектов на Angular!
Звучащий UI: роль звуков в интерфейсе
Ежедневно для сбора информации и взаимодействия с окружающим миром мы используем комбинацию зрения и слуха. Однако в веб-интерфейсах эта комбинация всё ещё не отражена — большинство...
Эффективное ведение журнала для приложений Spring Boot
Предусмотренные в Spring Boot стандартные методы ведения журнала далеко не всегда эффективны. Рассмотрим практическую реализацию эффективных вариантов регистрации ошибок и служебных данных в веб-приложениях.
Улучшение производительности .NET Core API
Google предоставляет такую статистику посещаемости веб-страниц:
53% посетителей мобильных сайтов покидают страницу, если она загружается более трёх секунд.https://www.thinkwithgoogle.com/marketing-resources/data-measurement/mobile-page-speed-new-industry-benchmarks/
Это значит, что очень важно сделать ваш сайт...
Кэширование с помощью Redis и Node.js
Redis - идеальный выбор как для хранения структур данных типа "ключ-значение", так и для кэширования. Из этого простого руководства вы узнаете, как выполнить подключение бэкенда Node.js к Redis и кэшировать данные.
Шаблоны рендеринга Next JS: полное руководство
Изучите механизм выполнения, назначение, особенности использования, преимущества и ограничения каждого из основных шаблонов рендеринга. Овладение этими знаниями позволит решить многие проблемы, связанные со скоростью загрузки, поддержкой состояний, интерактивностью, обновлением данных и SEO-рейтингом страниц приложения.
Почему разрабатывать веб-интерфейсы так сложно?
Предлагаем разбор ключевых проблем разработки веб-интерфейсов. Их осмысление - ключ к эффективным решениям в области фронтенда, позволяющим создавать визуально привлекательные, надежные, безопасные и удобные для пользователя веб-интерфейсы.
Работа с WebAssembly в Golang
WebAssembly - это удобный стандарт для компилирования приложений, который отличается быстротой и производительностью. Сегодня попытаемся создать проект, применив потенциал языка Go и технологии WebAssembly.
8 приложений и сайтов, за которые стоит заплатить: UX/UI edition
Предлагаем список полезных платных приложений и сайтов для UX/UI дизайнера и подробно рассматриваем их преимущества и особенности.
Поиск и использование компонентов с bit.dev для создания приложений
Bit упрощает использование компонентов из библиотек и приложений. Bit’s hub (bit.dev) облегчает поиск и взаимодействие с этими компонентами.
В этой статье мы узнаем, как найти...
Как создать опрос удовлетворенности сотрудников с Angular и сохранить его результаты в коллекции MongoDB
Представляем вашему вниманию пошаговое руководство по созданию опроса удовлетворенности сотрудников с помощью Angular и SurveyJS - бесплатной библиотеки опросов с открытым исходным кодом.
Создание RESTful API-интерфейсов на C++
Разберем ключевые компоненты RESTful API и преимущества C++ на примере приложения с базовыми CRUD-операциями. Научимся настройке сервера, обработке HTTP-запросов и парсингу JSON при помощи Boost.Beast и nlohmann/json.
Компоненты Wrapper в Vue 2.6 и Vue 3.0
Поговорим о компонентах дизайн-системы, в особенности о компонентах wrapper. Как создать мощную структуру компонента wrapper? В примере будем использовать поле ввода и...
Быстрый веб-скрейпинг с библиотекой Polars
Рассказываем, как с помощью Polars выполнить простой и быстрый веб-скрейпинг с превращением таблиц с HTML-страниц в датафреймы Polars.
Создание готового к производству приложения React с помощью Next.js и Dokku
Хотите создать и запустить живое приложение React с минимальным бюджетом и возможностью масштабировать его в будущем? Воспользуйтесь руководством опытного разработчика ПО, успешно реализовавшего эту задачу.
Что такое Recover в Golang?
Разберем случаи применения recover, проиллюстрируем примерами. Напишем универсальную функцию для обработки всех неперехваченных паник и ошибок времени выполнения, сбора трассировок стека для них.
Психологические принципы для продуктового дизайнера
Ни для кого не секрет, что основная часть создания успешного пользовательского опыта заключается в понимании желаний и потребностей аудитории.
Таким образом, психология становится ключевым элементом...
Bun или Node: бенчмаркинг бессерверных сред выполнения на AWS Lambda
В начале сентября был анонсирован Bun - новый конкурент Node. Судя по анонсу, Bun - это модернизированная альтернатива Node с улучшенным опытом разработки JS-приложений и более высокой производительностью. Выяснить, так ли это, помогут результаты тестирования Bun и Node.
Построение бесконечного списка с помощью SwiftUI и Combine
С момента представления SwiftUI на WWDC2019 его популярность резко возросла. В течение последних двух лет отдел разработки Apple внес в этот UI-фреймворк много улучшений....
Технологический стек для создания веб-приложений
Возможно, предлагаемый стек не идеален, но он доказал свою эффективность и надежность, ускоряя разработку современных веб-приложений. Ознакомьтесь с инструментами, используемыми в каждой части стека, и узнайте их преимущества.
Нужны ли нам веб-компоненты?
Возможности веб-компонентов, в частности повторно используемый код, значительно упрощают веб-разработку. Но могут ли они полностью вытеснить другие технологии, такие как React и Vue? Глубокий обзор веб-компонентов позволит честно ответить на этот вопрос.
Проблемы при использовании отзывчивого веб-дизайна
Новый подход к решению старых проблем
Отзывчивый веб-дизайн
Поскольку прошло уже несколько лет с тех пор, как отзывчивый веб-дизайн был на слуху, вспомним, что это такое.
Отзывчивый веб-дизайн...
Какие нововведения для веб-разработки представит Vue 3.0?
В ноябре прошлого года создатель Vue, Эван Ю, продемонстрировал ключевые обновления на Vue 3.0, благодаря которым Vue станет более эффективным, модульным и простым в...
PHP: типы констант
Константа - это идентификатор (имя) для простого значения. Как следует из названия, их значение не может измениться в ходе выполнения скрипта, кроме магических констант, которые на самом деле не являются константами.
Как инженеру-программисту Reactjs перейти на Swift и SwiftUI
Узнаем, как плавно перейти с ReactJS на Swift и SwiftUI. Для этого сопоставим их наиболее распространенные шаблоны проектирования.
PHP: массивы
Массив - это структура данных, которая хранит одно или несколько значений схожего типа в одном значении. Например, если вы хотите хранить 100 чисел, то вместо того, чтобы определять 100 переменных, можно определить массив длиной 100.
Интеграция Rust в Next.js: практическое руководство для разработчика
Как добавить Rust в свой инструментарий и проекты? Рассмотрим различные варианты развертывания кода Rust на Vercel с написанием конечных точек API, общие закономерности разработки API, проблемы применения Rust в продакшене. Весь код и примеры ― в шаблоне.
Почему стоит задуматься о разработке статических сайтов
Каждый создатель сайта стремится сократить время загрузки веб-страниц, повысить показатель конверсии, вовремя отловить ошибки рендеринга, избежать проблем, связанных с обслуживанием сайтов. Если все перечисленное - ваша головная боль, стоит задуматься о разработке статических сайтов.
Как с помощью Sentry реализовать захват исключений фронтенда
Как вовремя осуществить захват исключений? Как определить точное местоположение исключений и ошибок? Как своевременно получить уведомление после обнаружения аномалии? Все эти проблемы поможет решить Sentry - продвинутый инструмент отслеживания ошибок с открытым исходным кодом.
Путешествие в мир анимации с Lottie-React-Native
Вы создаете умопомрачительную анимацию с помощью After Effects и намереваетесь явить ее миру. Один из способов воплотить задуманное — использовать ее в качестве экрана-заставки...
Платформы Аngular в деталях. Часть 3. Визуализация Angular-приложений в терминале
Часть 1, Часть 2, Часть 3
В этой статье мы с вами приступим к процессу создания пользовательской платформы. Но прежде, пожалуйста, просмотрите ещё раз...
Создаем голосовое приложения для Alexa и Google Home
Голосовые приложения полностью изменили наше общение с цифровым миром. Голос добавляет во взаимодействие человека и компьютера новое измерение, которое разработчики только начинают исследовать.
В этой...
3 альтернативы репозитория в Laravel
Рассмотрим преимущества и недостатки шаблона «Репозиторий». Изучим три альтернативы абстрагирования управления данными: заготовки Eloquent, пользовательские запросы и классы action.
Платформы Аngular в деталях. Часть 4. Визуализация Angular-приложений в терминале
Часть 1, Часть 2, Часть 3, Часть 4
В этой статье, последней из серии статей «Платформы Angular в деталях», мы с вами завершим процесс создания...
Aurora UI - новый визуальный тренд в 2021 году
UI-дизайн, особенно его художественная, визуальная сторона постоянно развивается. В то время как большинство современных продуктов повторяют одни и те же, проверенные и хорошо известные...
Запуск DBT в Azure Functions с помощью Snowflake
Практики DataOps очень быстро встают на вооружение в компаниях, работающих с данными, особенно в тех, которые переходят на Cloud Data Warehouses (облачные хранилища данных)....
Как работает проверка доступности API в Swift
Мы постоянно применяем проверки на доступность API, чтобы обеспечить откаты ПО для пользователей, использующих старые версии iOS. А задавались ли вы вопросом, как эту...
Анализ работы Guess.js в приложении Angular
Познакомимся с библиотекой Guess.js и посмотрим, насколько качественно она выполняет предварительную загрузку страниц в приложении Angular.
Прощай, Adobe
Впервые я познакомилась с программами от компании Adobe примерно десять лет назад, когда, будучи подростком, открыла для себя Photoshop и магические свойства Clone Tool.
Затем...
10 ключевых функций массивов JavaScript
Умение эффективно работать массивами в JavaScript - одно из отличий профессионала от новичка. Изучите 10 основных методов массивов, чтобы подняться на новый уровень веб-разработки: создавать более понятный, эффективный и гибкий код, который позволит работать с данными без особых усилий.
Парсинг HTML из строки на Ruby On Rails
На одном из этапов моего проекта в школе программирования Flatiron Bootcamp мне пришлось столкнулся с проблемой, совершенно отличающейся от того, что я видел раньше....
Осваиваем NestJS: построение эффективного бэкенда REST API
Среда NestJS - популярное решение для разработки эффективных приложений. Познакомимся с пошаговым гайдом по построению надежного бэкенда REST API с помощью этого фреймворка.
Конфигурация файла PHP.INI
Файл конфигурации php.ini является прямым методом влияния на функциональность PHP. Расскажем о его важных настройках, которые могут понадобиться для парсера PHP.
Solibee: совершенно новая коллекция UI-компонентов для SolidJS
Набор UI-компонентов, созданный командой Solibee, предлагает совершенно новый подход к веб-разработке SolidJS. С ним вы сможете просто и быстро создавать легкие приложения, экономя массу времени и сил. Но для начала узнайте, в чем отличие инновационного проекта от традиционных библиотек компонентов.
Доступная и масштабируемая 3-уровневая архитектура AWS
Построим структуру AWS, как трехуровневый торт: с уровнями веба, приложения и базы данных. Подготовим основу - виртуальное частное облако VPC, создадим подсети, шлюзы, маршрутную таблицу, шаблон запуска, группу автомасштабирования. Разберем значение и вклад каждого уровня.
3D-формат в профессии дизайнера продукта
За время карантина у меня было много времени подумать о своих дизайнерских целях. Я точно осознал, что не хочу застыть на одном месте. Непрерывное...
Событийно-ориентированная разработка на основе браузерного расширения
В событийно-ориентированном программировании иногда приходится решать задачи, которые на первый взгляд кажутся трудновыполнимыми. Тем не менее с ними легко справиться, зная определенные лайфхаки. Сегодня поговорим о создании механизма обработки событий, который поддерживает инициирование событий на основе поведения пользователя.
Получение доступа к ID элементов в DOM в качестве переменных window/global
Первое, что я узнал, начав заниматься веб-разработкой: как управлять элементами по ID из JS, со ссылкой на элементы по ID
<div id="so_many">So many to think...
Состояние гонки в Node.js: практическое руководство
Специалисты, имеющие отношение к параллельному проектированию, иногда сталкиваются с так называемым состоянием гонок. Сегодня поговорим о том, чем чревато такое явление, что его вызывает и как с ним бороться.
Protractor мертв, да здравствует Cypress!
24 апреля платформа Angular объявила об отказе от своего инструмента сквозного тестирования (E2E) Protractor. Остается неясным, готовит ли Angular преемника Protractor или поручит это...
Отложенная загрузка на уровне шаблонов в Angular
Знакомьтесь с новой фичей Angular 17 — Deferrable Views. Этот API для отложенной загрузки зависимостей шаблонов обеспечит беспрецедентный уровень эргономики. Чтобы оценить его преимущества, предлагаем сравнить новый и традиционный подходы к отложенной загрузке шаблонов.
Входящий веб-перехватчик в MS Teams
Microsoft Teams с нами уже больше четырёх лет. Этот инструмент призван заменить программу-клиент «Skype для бизнеса» и был разработан в Microsoft как конкурент других...
Диспетчер загрузки на Swift
В этой статье будет показано, как легко загрузить аудио- или любой другой медиафайл из URL-адреса и сохранить его в локальной базе данных.
Возьмем в качестве...
Добавление личного домена в AWS WebSocket
Заключительная статья серии по WebSocket, в которой мы создадим собственный домен и организуем прямой доступ к WebSocket по его имени.
Подстановка учетных данных 2.0: использование прокси-серверов и GUI-инструментов, обход CAPTCHA и системы безопасности Cloudflare
Приготовьтесь к путешествию в темный мир высокотехнологичного хакерства. Вы узнаете о новейших видах подстановки учетных данных, украденных киберпреступниками: использовании прокси-серверов и GUI-инструментов, обходе CAPTCHA и системы безопасности Cloudflare.
Почему стоит использовать обратные вызовы и асинхронный код на NodeJS
Предлагаем вариант сценария, в котором повышение производительности приложения было достигнуто благодаря использованию событийного цикла в NodeJS.
PHP: поймай меня, если сможешь
Рассмотрим механизмы управления ошибками и исключениями в коде: блоки try, catch, finally, типы-объединения. Изучим продвинутые техники для создания более надежных и сопровождаемых PHP-приложений.
Прощай, Ramda
Несмотря на свои сильные стороны, Ramda не всегда подходит для написания эффективного и понятного кода. Рассмотрим случаи, когда стоит придерживаться современного нативного JavaScript и Lodash.
Практичные Canary-релизы в Kubernetes с Argo Rollouts
Основанная на микросервисах инфраструктура Soluto, совмещенная со всеми инструментами CI/CD, позволяет осуществлять по несколько релизов в день, предоставляя пользователям новые возможности и внося исправления.
При...
Как добавить темную тему для сайта
Один сайт — две разные темы
В прошлом году я решил провести полный редизайн своего сайта. Так как это был сайт-портфолио, то я захотел сделать что-то простое и...
PHP: строки
Строки представляют собой последовательности символов, например "PHP supports string operations". Строки с одинарными кавычками обрабатываются почти буквально. Строки с двойными кавычками заменяют переменные на их значения, а также особым образом интерпретируют определенные последовательности символов.
Как создавать доступные веб-приложения для дальтоников с помощью Chrome DevTools
Хотя существует множество инструментов и техник, чтобы улучшить пользовательский опыт и сделать программы удобнее, о потребностях людей с дальтонизмом часто забывают.
По данным сайта colourblindawareness.org...
Использование Angular Elements с расширением Chrome
Познакомьтесь с Angular Elements
Angular Elements все еще широко не используется, хотя является мощным инструментом для создания независимых и автономных компонентов. Его можно использовать на любом...
Подробный разбор методов Ruby
Вы когда-нибудь задумывались о том, что происходит при написании кода на самом деле? Я много думаю об этом. И, будучи разработчиком Ruby, часто использую...
Объяснение понятий вероятности: оценка максимального правдоподобия
Как оценить неизвестный параметр? Представляем вашему вниманию оценку максимального правдоподобия - действенный способ, используемый в современной математической статистике.
11 ключевых принципов эргономики в UI-дизайне
Сегодня эргономичность пользовательского интерфейса - один из критериев его качества. Поэтому каждому разработчику, особенно начинающему, следует освоить основные принципы эргономики в UI-дизайне.
8 полезных команд NPM для фронтенд-инженера
После ознакомления с этими техниками вам останется жалеть лишь об одном - о том, что не освоили их раньше. Одни из них помогут сэкономить много времени и сил, а другие просто поднимут настроение.
Рецензирование кода Flutter: лучшие практики
Рецензирование кода делает его чистым, эффективным и легко сопровождаемым, способным выдержать испытание временем. Поговорим о том, какие изменения необходимы при этом, а какие не имеют смысла.
Освоение функциональных возможностей Kotlin
Ознакомьтесь с основными функциями Kotlin. Их эффективное использование позволит создавать более упорядоченный, чистый, удобочитаемый и многократно используемый код.