Чего я не знал о CSS, а стоило бы
Делать сайты я учился по-старомодному: открывал исходный код и пытался повторить то, что видел. А по тому, чего не видел (PHP/MySQL), прочёл какую-то случайно...
Пять шаблонов проектирования, которые необходимо знать каждому разработчику
Сложность процесса разработки ПО можно контролировать, только отслеживая с самого начала. Поэтому перед стартом разработки необходим этап проектирования.
Как архитектор, вы проектируете в настоящем, с...
Пожалуйста, отложите TypeScript ненадолго
Сперва позвольте уточнить: типизированный JavaScript — это фантастика. Я использовал Flow и продолжу использовать TypeScript в будущем, ведь это мощнейший быстро растущий инструмент.
Но какова цена этой...
9 инструментов CSS, которые пригодятся в 2022 году
Хотите повысить свою производительность? Освойте несколько классных инструментов и ресурсов CSS. Они значительно упростят вашу работу и сэкономят массу времени!
5 ведущих веб-фреймворков 2023 года
Предлагаем обзор фреймворков, которые формируют ландшафт веб-разработки в 2023 году. С их помощью можно создавать захватывающие и отзывчивые веб-приложения.
Удачные решения UX-дизайна на примере Big Sur
У новой операционной системы macOS Big Sur от компании Apple есть определённые проблемы, но я предлагаю рассмотреть решения UX-дизайна, которые оказались удачными — и...
8 советов работы с JavaScript, которые повысят ценность вашего кода
Хотите, чтобы ваш код был понятен всем? Возьмите на вооружение 8 полезных советов, описанных в статье.
10 полезных методик во фронтенд-разработке React
Рассмотрим практики и методики, которые упрощают создание приложений в React, делают код более эффективным и читабельным, упрощают его обслуживание.
5 инструментов Chrome DevTools, упрощающих разработку
Большинство из нас владеет основами Chrome (например, принципами исследования элементов на странице), но не все знают о дополнительных функциях, значительно упрощающих задачи разработчика.
Создание надежной библиотеки JavaScript: пошаговое руководство
Освоим процесс создания и сопровождения собственной, хорошо документированной библиотеки JS, которую легко использовать и развивать. Сделаем библиотеку служебных функций для упрощения работы с массивами.
Создание пользовательских уведомлений с помощью AWS WebSockets
Четвертая часть серии статей по WebSocket. Здесь мы узнаем, какие бывают типы пользовательских уведомлений и реализуем их в своем проекте.
Как спроектировать REST API для выполнения системных команд с помощью Actix Rust
Привет! Сегодня я расскажу, как создать REST API для выполнения системных команд на вашем сервере с помощью метода, которым пользуются известные компании.
Представьте, что вы...
Путешествие строки скомпилированного кода
На высоком уровне мы рассмотрим вывод каждой стадии компиляции простой программы C++ при использовании Clang. При этом мы также проследим код в дизассемблированном виде...
Создаём расширение для Chrome
Написать расширение для Chrome непросто. Это не то же самое, что разработка веб-приложения: не хочется перегружать браузер оверхедом JS, ведь расширения работают одновременно с...
Визуальная иерархия в дизайне
Что такое визуальная иерархия, и почему она так важна? Подробно опишем способы ее создания и поделимся советами.
Как написать тест-раннер в 80 строк кода на JavaScript/TypeScript
Сделаем простой тест-раннер на nodejs с включением всех основных требований и почти без зависимостей. Разберем также самую интересную часть реализации - API на JavaScript из SWC.
Как добавить аутентификацию Supabase к приложению на Vue
Supabase - достаточно популярный аналог Firebase, который становится все более востребованным. Разберем по шагам настройку аутентификации в веб-приложении c использованием этого серверного инструмента.
Прощайте, useState и useEffect: революция в React
Несмотря на свою эффективность, useState и useEffect - не универсальные решения. Представляем набор приемов, которые прокачают ваши навыки и позволят эффективнее справляться с получением и загрузкой данных.
Поверхностное и глубокое копирование в JavaScript
Копирование переменных в JavaScript таит в себе немало подводных камней, особенно для начинающих программистов. Разбираемся, как использовать поверхностное и глубокое копирование, чтобы избежать досадных ошибок.
Как в два счета сделать сайт редактируемым извне с помощью данных Google Sheets
Как-то раз заказчики спросили меня, можно ли сделать так, чтобы события и ярмарки на их сайте мгновенно обновлялись. Сегодня я могу сказать: «Да, и...
API, WebSocket или WebHook: что выбрать?
В любом приложении нужен надежный механизм взаимодействия между его компонентами.
Например, в веб-приложениях необходимо взаимодействие между браузером и сервером. Иногда серверу нужно отправить сообщения обратно...
Как профессионально использовать сопоставимые типы TypeScript
Хотите освоить сопоставимые типы TypeScript и понять, как работают встроенные в TypeScript типы утилит? Этот краткий обзор, подкрепленный анимационными вставками, поможет разобраться во всем этом.
Как создать GraphQL-сервер с запросами, мутациями и подписками
Если вы ещё не знакомы с TypeScript — не беда. Продолжайте читать дальше: основные понятия и большую часть синтаксиса освоить будет несложно.
Предполагается, что у вас...
7 расширений VS Code, которые стоит знать разработчику React
Работаете с React? Используйте эти 7 расширений, чтобы повысить свою продуктивность.
Javascript и функциональное программирование. Часть 4: каррирование
Предыдущие статьи: Часть 1, Часть 2, Часть 3
Каррированием называется метод, при котором мы вызываем функцию с меньшим количеством аргументов. Но функция эта возвращает значения...
Диспетчер загрузки на Swift
В этой статье будет показано, как легко загрузить аудио- или любой другой медиафайл из URL-адреса и сохранить его в локальной базе данных.
Возьмем в качестве...
AWS WebSocket: написание документации с помощью Async API Spec
Третья статья из серии AWS WebSocket. В ней мы напишем познакомимся с удобным написанием необходимой документации для нашего WebSocket.
19 лучших инструментов прототипирования для дизайнеров UX/UI
Прототипирование выполняет роль чертежа и позволяет разработчикам просмотреть полный обзор сайта или приложения до начала его создания.
Это необходимый шаг в дизайнерском процессе, поскольку он...
Обработка ошибок API в веб-приложении, используя Axios
Когда вы делаете вызов к бэкенд API с axios, вы должны рассмотреть, что делать с блоком .catch() вашего промиса. Теперь вам может показаться, что ваш...
10 лучших фреймворков Node.js
Node.js приобрел большую популярность среди разработчиков, которые предпочитают использовать JavaScript для разработки приложений.
Возможность управления клиентскими и серверными сценариями одним и тем же языком привела...
Лучший способ для привязки обработчиков событий в React
Благодаря JavaScript привязка обработчиков событий в React может быть достаточно сложным занятием. Для тех, кто знаком с историей Perl или Python, аббревиатуры TMTOWTDI (There’s...
Создание интерактивных аналоговых часов с помощью Vue3
Разработка крутых виджетов доступна каждому при овладении базовым специальным инструментарием. Этот гайд поможет создать привлекательные интерактивные часы, используя потенциал Vue3.
10 инструментов, которые упростят жизнь веб-разработчика
Как разработчик, я считаю, что расширения для браузера — отличный способ повысить свою продуктивность. За время работы я составил список инструментов в Chrome, которые...
Как сделать темную тему с помощью CSS
На днях я баловался с темной версией в новой версии MacOS Mojave. Мои глаза не на 100% рады, но это особенно полезно, когда залипаешь...
Топ-5 новых функций JavaScript ES12, которые облегчат вам жизнь
Узнайте об удивительных возможностях, предлагаемых обновленным ECMAScript 2021. В 12-м выпуске спецификаций добавились новые фичи, которые сделают вашу жизнь проще, а код - короче и читабельнее.
Переключатель темного режима в веб-приложении
Краткая инструкция по добавлению в приложение функции подстройки под цветовую схему системы, а также переключателя для изменения этой схемы внутри самого приложения.
Ember.js или Vue.js: какой фреймворк выбрать?
Изначально JavaScript создавался для работы с веб-приложениями, однако теперь он используется для создания мобильных приложений. Фреймворки на основе JavaScript популярны среди разработчиков, поскольку они...
Почему стоит задуматься о разработке статических сайтов
Каждый создатель сайта стремится сократить время загрузки веб-страниц, повысить показатель конверсии, вовремя отловить ошибки рендеринга, избежать проблем, связанных с обслуживанием сайтов. Если все перечисленное - ваша головная боль, стоит задуматься о разработке статических сайтов.
Первые шаги в JavaScript: создание калькулятора
Начинаете осваивать JavaScript? Создание простого калькулятора позволит вам оценить его возможности. Вы получите базовое представление о синтаксисе JavaScript и о том, как использовать его для создания интерактивных веб-приложений.
Какие нововведения для веб-разработки представит Vue 3.0?
В ноябре прошлого года создатель Vue, Эван Ю, продемонстрировал ключевые обновления на Vue 3.0, благодаря которым Vue станет более эффективным, модульным и простым в...
Профессиональная обработка ошибок в TypeScript
Обработка ошибок - важнейшая часть программирования на Type/JavaScript. Приложение может столкнуться с большими проблемами в будущем, если вы не уделите должного внимания выявлению и регистрации ошибок. Посмотрите, как это делают профи.
Создание простого веб-сервера с помощью Node.js и Express
Node.js с Express — это популярный дуэт, используемый многими приложениями во всем мире. Данный урок познакомит вас с функциональностью этих инструментов на примере сборки...
Как создать простую браузерную игру с помощью Phaser 3 и TypeScript
Большую часть своего времени я занимаюсь backend-разработкой, поэтому я не могу похвастаться большим опытом во frontend. Какое-то время назад у меня возникло желание создать...
Реализация слайдера изображений и текста на React.js с вариантами оптимизации
Предлагаем возможность проверить свои знания и потренироваться на скорость в реализации слайдера изображений на React.js с разными вариантами оптимизации. Отсчет пошел!
Функциональное программирование в JavaScript: руководство с практическими примерами
Функциональное программирование (ФП) — это стремительно набирающий популярность стиль написания кода. Есть много материалов о концепциях ФП, но мало — о том, как применять их на практике. На...
Креативное программирование: методы и инструменты для JavaScript, Python и других языков
Креативное программирование
Задача этого вида программирования состоит в создании не функционального, а выразительного продукта. В этом процессе немаловажную роль играет эстетика, и именно поэтому он...
Создание простого веб-скрейпера на Ruby
Введение
Один из лучших способов доступа к данным сайта — через его API (интерфейс прикладного программирования). Но что, если у сайта нет API? Тогда стоит...
TypeScript: разница между типами any и unknown
Чем тип any отличается от unknown? Рассмотрим нюансы их использования в описании неизвестного значения и утверждении типа.
Автоматизация создания стикеров с помощью веб-скрейпинга и обработки изображений в Python
Познакомьтесь с автоматизированным способом создания стикеров для мессенджеров. Краткая пошаговая инструкция поможет вам быстро сгенерировать стикерпак в Telegram.
Запуск Puppeteer в Akka.js
Мечтаете создать многопоточное приложение для командной игры? Читайте о том, как использовать для этого модель акторов и правильно запустить Puppeteer в Akka.js.
Переход с Webpack на Rspack
Подумываете о переходе с Webpack на Rspack? Настоятельно рекомендуем попробовать! Только сначала изучите опыт тех, кто это уже сделал. Вас впечатлит как повышение производительности разработки, так и удобство сопровождения проекта при переходе на Rspack.
Самый уродливый шаблон React
Как обновлять состояние при изменении свойства? Что предпочтительнее: рекомендованный шаблон из новой документации или хуки?
Как не лажать с JavaScript. Часть 2
Часть 1, Часть 2
Значение рефакторинга
Рефакторинг — это контролируемый процесс улучшения кода без написания новой функциональности. При правильном применении рефакторинг может стать мощным оружием против монстра под...
3 чудо-приема JavaScript для ускорения разработки
Обзор трех эффективных приемов для JavaScript: создание асинхронного контекста, работа с именованными параметрами и обертывание блоков try/catch.
Введение в фронтэнд и бэкэнд – основы веб-разработки
Хотите создать веб-сайт?
Здорово! Создание веб-сайта - плодотворный творческий проект, увлекательный и полезный как для приобретения востребованных навыков, так и отличный способ попробовать себя в новом...
10 API консольных утилит Chrome
1. monitor
Используется для мониторинга функции:
function traceFunc (arg) { }
monitor(traceFunc)
Функция traceFunc передается в качестве аргумента в monitor. Теперь при каждом вызове traceFunc на мониторе будет...
Разбираемся с Render Props и HOC в React
Детальное представление Render Props и компонентов высшего порядка в React
Для чего нужны эти паттерны?
React предлагает Компоненты, представляющие собой простой способ повторного использования кода. Компонент инкапсулирует множество вещей...
Как создавать доступные веб-приложения для дальтоников с помощью Chrome DevTools
Хотя существует множество инструментов и техник, чтобы улучшить пользовательский опыт и сделать программы удобнее, о потребностях людей с дальтонизмом часто забывают.
По данным сайта colourblindawareness.org...
10 высокотехнологичных ресурсов для веб-разработчиков
Ознакомьтесь с 10 малоизвестными сайтами, предназначенными для веб-разработки. Передовые технологии, используемые этими ресурсами, - от потрясающих возможностей UI/UX до молниеносных бэкенд-решений - поднимут ваши проекты на новый уровень.
Понятие о порталах в React с примерами использования
Что такое порталы в React? Узнаем, для чего, когда и как они применяются, а также какие нюансы надо при этом учитывать. Ознакомимся с реальным примером порталов в React.
Дуэт Markdown и JavaScript (mdjs) - залог отличной документации
Каждому совместно используемому коду следует прописывать документацию, чтобы отразить его идею и назначение. Пользователи должны отчетливо понимать, что они используют, для чего и как.
В...
AutoScraper и Flask: создание API для любого сайта менее чем за 5 минут
В этом руководстве мы создадим собственный поисковый API электронной коммерции с поддержкой как eBay, так и Etsy без использования каких-либо внешних API. С помощью AutoScraper и Flask мы можем достичь этой цели менее чем за 20 строк Python кода для каждого сайта.
Зачем использовать HttpClientFactory вместо HttpClient в .NET
Как показала практика, использование стандартного HttpClient чревато подводными камнями. Обойти их и получить весомые преимущества позволяет HttpClientFactory. Убедитесь в этом, отправившись в увлекательное приключение с примерами использования HttpClientFactory.
Что не так с новыми логотипами приложений Google
К этому моменту вы, скорее всего, уже видели новые логотипы приложений Google Workspace (ранее G Suite) для продуктивной работы, таких как Gmail, Google Drive...
Шпаргалка по основным командам Bash
Неважно кто вы, разработчик ПО, специалист по данным, менеджер ИТ-инфраструктуры или просто любитель компьютеров — вам нужно знать, как пользоваться терминалом в Linux и...
Краткое руководство по ООП в JS
В данной статье я постараюсь объяснить новые возможности ES6 JavaScript с точки зрения объектно-ориентированной парадигмы.
Для начала,
Что такое парадигма программирования?
Парадигма — это пример или модель чего-то. То...
Как создать эффективную систему логирования с использованием Aspect и Spring Cloud Sleuth
Логирование крайне важно для оперативного отслеживания ошибок в приложении и установления причины этих ошибок. Разберемся, как без особых усилий настроить фреймворк для логирования в приложении Spring Boot.
Стриминг видео и чат в учебном приложении
Платформа Mux обеспечивает высококачественный стриминг, управляемый удобным API, так что вы можете сфокусироваться на создании своего продукта. Он чрезвычайно гибок и предлагает функции для...
Программирование будущего: беспилотный автомобиль, управляемый JavaScript и ИИ
Пытаетесь разгадать магию беспилотных автомобилей? Присоединяйтесь к программистам, увлекающимся автоматизированными транспортными средствами. Они помогут написать код, превращающий автомобиль в самоуправляемое чудо техники.
Введение: 4 новейших операции JavaScript
Технический комитет 39 (TC39) — это группа экспертов по JavaScript, которые работают над стандартизацией ECMAScript.
Рабочий процесс TC39 состоит из нескольких этапов:
Этап 0 (Идея): прием...
Погружение в unserialize(): больше, чем RCE
Обход аутентификации и внедрение SQL-кода через unserialize() в PHP
Сериализация в PHP через метод unserialize() приводит к появлению уязвимостей, открывающих через RCE (удаленное выполнение кода) доступ...
8 пунктов по стилю React + TypeScript
Ценность этих рекомендаций в их практическом значении. Добавьте их в собственное руководство по стилю React + TypeScript, и ваш код станет чище и понятнее.
Когда не стоит использовать метод find() в JavaScript
Немногие знают истинную ценность Map. Между тем, применение этой структуры данных позволяет повысить производительность и улучшить пользовательский опыт. Особенно она полезна при работе со сложными структурами данных или при необходимости получить быстрый доступ к данным.
Понятие о горячей замене модулей в Webpack
В разработке приложения на JavaScript есть одна особенность: каждый раз при сохранении изменений кода для обновления пользовательского интерфейса приходится перезагружать браузер.
Для отслеживания изменений в...
6 актуальных советов по созданию чистого кода React
Создание чистого кода — одна из важнейших задач при разработке любого программного обеспечения. Большинство крупных компаний стараются создавать ПО с наиболее чистым и производительным...
PHP 8.1 уже обещает стать одним из лучших релизов
Распаковка массива со строковыми ключами
До версии PHP 8.1 эта простая операция не была доступна. Не будем много говорить о возможностях, которые она теперь открывает....
Как сократить время начальной загрузки веб-приложения
Время начальной загрузки сильно влияет на первое впечатление пользователя о веб-приложении. Предлагаем руководство по оптимизации этого показателя.
Развертывание Flask приложения на Heroku и подключение к БД MySQL - JawsDB
Проблемы развертывания
Новички часто устанавливают все пакеты на системном уровне из-за отсутствия опыта (например, с помощью pip). Получение зависимостей из requirements.txt для каждого проекта создаёт...
Сравнение методов require() и import() в JavaScript
Методы require() и import() используются для включения модулей. У них есть несколько важных особенностей, о которых должен знать каждый разработчик.
Разделение пользовательского интерфейса и логики в React: чистый код с безголовыми компонентами
Ознакомьтесь с headless-подходом в React-разработке. Он позволит создавать более удобный для сопровождения и многократного использования код, сокращая его избыточность и потенциальные ошибки.
Событийно-ориентированная разработка на основе браузерного расширения
В событийно-ориентированном программировании иногда приходится решать задачи, которые на первый взгляд кажутся трудновыполнимыми. Тем не менее с ними легко справиться, зная определенные лайфхаки. Сегодня поговорим о создании механизма обработки событий, который поддерживает инициирование событий на основе поведения пользователя.
Как не лажать с JavaScript. Часть 1
Часть 1, Часть 2
JavaScript самый распространенный язык программирования в мире и с его силой нужно считаться. Благодаря своей простоте и обилию учебных материалов его...
5 полезных советов для загрузки HTML-файлов
Введение
Загрузка файлов на различных платформах — это типичная повседневная задача. Без неё трудно представить себе жизнь в современном мире, ведь все мы обмениваемся фотографиями...
Wasp — DSL-язык для современных веб-приложений
Получив специальный доступ к альфа-версии незнакомого языка, любопытный программист сразу же начнет его тестировать. Вот что рассказывает один из разработчиков, опробовавших функционал нового языка Wasp.
Обновления в Nuxt JS 2.8.0
Nuxt JS
Nuxt — это фреймворк для создания одностраничных, статических и универсальных приложений Vue. С его помощью можно с легкостью создавать приложения на стороне сервера, поскольку в...
9 мифов об интерфейсах для людей с ограниченными возможностями
Большинство дизайнеров либо вообще не знают о доступности, либо неверно её понимают: к примеру, им может казаться, что ориентация на доступность подавляет их креативность...
Паттерн проектирования «Наблюдатель»: объект под прицелом
В книге “Приемы объектно-ориентированного проектирования: паттерны проектирования” Эриха Гамма описываются 23 классических паттерна, которые предлагают решения часто встречающихся задач в разработке ПО.
В данной...
Основы JavaScript: управление DOM элементами (часть 4)
Часть 1, Часть 2, Часть 3, Часть 4
Изменения в DOM
Давайте теперь рассмотрим, как добавлять, изменять, заменять и удалять узлы из DOM. В частности рассмотрим методы...
Что такое Recover в Golang?
Разберем случаи применения recover, проиллюстрируем примерами. Напишем универсальную функцию для обработки всех неперехваченных паник и ошибок времени выполнения, сбора трассировок стека для них.
Простой способ взлома сайта для получения его Git-данных
Внимание! Статья преследует чисто образовательные цели. Автор не одобряет и не поощряет хакерство, кроме его разрешённого этического применения (white hat).
Большинство разработчиков по всему миру...
Введение в прототипы JavaScript
Представляем вашему вниманию наглядное введение в концепцию прототипов JavaScript для новичков.
Построение горизонтально масштабируемых stateful-приложений с помощью ASP.NET Core
В чем особенности горизонтального масштабирования и какие ему сопутствуют сложности? Как при этом решить проблему обмена данными между экземплярами, защитить cookie и настроить централизованное хранилище состояний? Ответы в теории и примерах кода.
Делаем Node.js быстрым: инструменты, техники и советы для создания эффективных серверов на Node.js Часть...
Node очень универсальная платформа, однако именно создание сетевых процессов одно из основных её применений. В этой статье мы сосредоточимся на профилировании наиболее распространённого из...
Тест-драйв Solara для разработки веб-приложений на Python
Протестируем возможности фреймворка Solara в процессе создания приложения-планировщика на Python. Выявим его достоинства и недостатки и сравним со Streamlit.
Отмена действий в Git
Мы всегда готовы подчеркивать бесчисленные возможности, которые предлагает Git, и эта статья не станет исключением. Git известен своей потрясающей способностью отменять практически любые действия!...
Динамическое масштабирование элементов в CSS
Сегодня я поделюсь с вами одним трюком, с которым я столкнулся, работая с CSS. С его помощью можно динамически масштабировать любой HTML-элемент, а заодно...
Bun или Node: бенчмаркинг бессерверных сред выполнения на AWS Lambda
В начале сентября был анонсирован Bun - новый конкурент Node. Судя по анонсу, Bun - это модернизированная альтернатива Node с улучшенным опытом разработки JS-приложений и более высокой производительностью. Выяснить, так ли это, помогут результаты тестирования Bun и Node.
Как предотвратить состояние гонки с помощью React Context API
В сервисной команде Stream мы с удовольствием работаем с различными клиентами и ежедневно решаем захватывающие задачи.
Эта статья посвящена одному из таких решений. В ней...
Создание готового к производству приложения React с помощью Next.js и Dokku
Хотите создать и запустить живое приложение React с минимальным бюджетом и возможностью масштабировать его в будущем? Воспользуйтесь руководством опытного разработчика ПО, успешно реализовавшего эту задачу.
Ваш REST - это не API. И вот почему!
Отдавать JSON не значит иметь API
Прежде всего, нужно уточнить несколько вещей об API. Отдающий JSON бэкенд — это не обязательно API. Управление API в целом,...
Как вино может быть слегка острым и резким?
Как можно о вине сказать, что оно острое, резкое, яркое или плотное? Описания вин (особенно те, которые делают сомелье) часто состоят из как будто...
Как написать красивый и информативный README.md
Многие программисты лихо управляются с кодом и знают мельчайшие подробности своих проектов. Но некоторым из них (в том числе и мне) недостаёт коммуникативных навыков.
Удивительное...
BabyAGI — автономный ИИ-агент для оптимизации задач
Изучите 10 примеров задач, выполняемых автономным ИИ-агентом BabyAGI. Способность логически рассуждать, принимать сложные решения и контролировать параметры делает BabyAGI бесценным помощником в автоматизации управления задачами.
ИИ-технологии на службе у инфлюенс-маркетинга
Нам доступна не вся информация. Мы склонны следовать за лидерами мнений, так как это прямой путь к получению знаний, которых нам недостает. Приобщение к...
Разработка приложения на основе генеративного ИИ в React IDE
Создание приложений сопряжено с проблемами, способными замедлить процесс разработки и затруднить совместную работу. Codux - бесплатная визуальная среда разработки для приложений React + TypeScript - сделает этот процесс намного проще и эффективнее.