Обновить
512K+

JavaScript *

Прототипно-ориентированный язык программирования

282,14
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Если не использовать «React»

Время на прочтение2 мин
Охват и читатели13K

Коллеги со стороны бакэнда иногда любезно спрашивают: "а нафига вам тут реакт"? Будем честны и ответим, что без него можно написать довольно приличный код, отдать его на ревью коллеге-фулстеку и получить аппрув после 15 секунд (так быстро не потому, что коллега не беспокоится за качество кода, а просто код весьма компактен, cмотрите ниже). Если подумать чуть-чуть дольше (например, за время заварки чая, которое, как все знают, равно трем минутам), можно найти не менее шести ошибок, а может и больше. Любая ошибка, конечно, весьма субъективна, но я постараюсь объективно объяснить каждую из них.

Читать далее

Манипуляции с байт-кодом Java

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.8K
image

В этой статье мы разберём, как добавить к файлу класса публичный атрибут. Когда загрузчик классов завершит загрузку модифицированного файла класса, мы увидим то поле, которое добавили вручную.
Читать дальше →

Основы Websocket. Использование с react, redux, saga и RTK Query

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели67K

Основы Websocket. Использование с react, redux, saga и RTK Query.

Читать далее

Трудности маскирования текстового поля

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели17K

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

Хороший UI/UX помогает пользователю избежать большинства таких проблем. Инструментов контроля огромное количество, сегодня расскажу про один их них — создание маски для поля ввода силами Javascript.

Читать далее

Гугл таблица как БД для телеграм бота (запись в таблицу)

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели16K

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

Читать далее

«Интернет-магазин на диване». Разрабатываем веб-приложение в Telegram

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели32K

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

В рамках этой инструкции мы:

  1. научимся работать с тремя видами кнопок,
  2. реализуем интернет-магазин с корзиной,
  3. разработаем форму для сбора пользовательских данных,
  4. зальем интернет-магазин в облако.
Читать дальше →

Знакомьтесь, tRPC

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели30K


Hello, world!


В этом туториале мы разработаем простое типобезопасное (typesafe) клиент-серверное (fullstack) приложение с помощью tRPC, React и Express.


tRPC позволяет разрабатывать полностью безопасные с точки зрения типов API для клиент-серверных приложений (предпочтительной является архитектура монорепозитория). Это посредник между сервером и клиентом, позволяющий им использовать один маршрутизатор (роутер) для обработки запросов HTTP. Использование одного роутера, в свою очередь, обуславливает возможность автоматического вывода типов (type inference) входящих и исходящих данных (input/output), что особенно актуально для клиента и позволяет избежать дублирования типов или использования общих (shared) типов.


Руководство по tRPC находится в процессе подготовки — следите за обновлениями ?


Для тех, кого интересует только код, вот ссылка на соответствующий репозиторий.


Интересно? Тогда прошу под кат.

Читать дальше →

Менеджмент зависимостей в Javascript

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели25K

Для многих разработчиков процесс установки зависимостей представляет собой некую "магию", которая происходит при выполнении npm install. Понимание принципов работы этой "магии" может сильно помочь при возникновении ошибки во время установки очередной библиотеки. Нынешний NPM — результат многих лет проб и ошибок, поэтому для его детального понимания я предлагаю начать с самого начала.

Читать далее

Как мы разрабатывали браузерную игру: взгляд со стороны frontend-архитектора

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели6.8K

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

Я Антон, руководитель Архитектурного комитета SimbirSoft, и в этой статье я расскажу о полученном опыте с точки зрения технологических особенностей реализации frontend-части. Рассмотрим большое количество нестандартных элементов игрового интерфейса и общие требования и ограничения к frontеnd-части приложения (архитектура, model, service, store и т.д.). Поделюсь, как реализовали:

— набор визуальных элементов приложения;

— элементы пагинации;

— сложный компонент на примере кнопки;

— составной компонент на примере g-card-list;

— анимацию.

Читать далее

Pinia scoped store

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

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

Предлагаемое автором решение - узконаправленные, локальные сторы, привязанных к конкретному инстансу модуля или просто Pinia scoped store.

Читать далее

Как работает веб-браузер (с картинками)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели49K

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

Эта статья приоткроет завесу магии, скрывающуюся за кулисами веб-браузеров.

Давайте начнем!

Читать далее

Адаптивный и многоязычный компонент футера для Vue 3: создание и использование

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.8K

Вы занимаетесь блогингом или созданием контента на нескольких языках? Или у вас есть множество социальных медиа-аккаунтов, которыми вы хотите поделиться? Тогда вам понравится этот адаптивный и многоязычный компонент футера для Vue 3!

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

Читать далее

CSR, SSG, SSR — про рендеринг приложений на примерах

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели92K

Всем привет, меня зовут Хаджимурад, занимаюсь фронтенд разработкой уже 3,5 года и за это время успел поработать на многих проектах: интернет магазин, панели администрирования, проекты для университета. Сейчас работаю на проекте в банке и сегодня хочу поделится с вами своим опытом.

В статье на примере простого сайта, постараюсь описать три способа рендеринга приложений, раскрыть их плюсы и минусы, и на практических примерах провести сравнение производительности и размеров приложения. Материал больше подойдёт начинающим фронтенд-разработчикам, или тем, кто хочет познакомиться c CSR, SSG и SSR. Для лучшего понимания от вас потребуются начальные знания React, менеджеров пакетов npm или yarn.

Читать далее

Ближайшие события

Эффектно и эффективно. 6 инструментов для анимации в React Native

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.2K

Всем привет! Меня зовут Евгений Прокопьев, я мобильный разработчик в СберМаркете. Более пяти лет я работаю с React Native и моя любовь — это красивые анимации. В этой статье я хочу рассказать, с помощью каких инструментов можно добиваться качественных анимаций на React Native. Начну с Animated и Reanimated, посмотрим, как они работают внутри. Затем расскажу, что можно делать с библиотеками SVG, Lotte, OpenGL и Skia. Поехали!

Читать далее

Как контрибьютить в проект, о котором ничего не знаешь

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.7K

Bun


В последнее время мне очень нравится Bun. Это новая среда исполнения JavaScript / TypeScript, схожая с Deno / Node. Она имеет одно преимущество по сравнению с другими средами исполнения, которое очень важно для меня: очень быстрый запуск (по крайней мере, для JS). Когда я впервые запустил в ней небольшой кусок кода, то просто не мог поверить.

Когда я перешёл с Ruby на Node, меня оттолкнуло то, что тесты в Node выполняются о-о-очень медленно. Написание одной и той же бизнес-логики и её тестирование на этих языках — совершенно разный опыт. Неудивительно, что сообщество JS-разработчиков ненавидит юнит-тестирование, когда нужно думать, например, распределять ли тесты на несколько файлов, или нет.

Однако на то есть причина. Как бы вы ни оптимизировали инструменты для выполнения тестов наподобие Vitest, Jest или Ava, первый прогон теста (без watch) всегда будет выполняться чрезвычайно медленно в Node, потому что для запуска V8 и разрешения модулей требуется куча времени. Когда ты распределяешь работу на несколько процессов, чтобы использовать все ядра, это требует ещё больше ресурсов!
Читать дальше →

Гугл таблица как БД для телеграм бота (продолжение)

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.5K

Продолжение статьи про использование гугл таблиц в качестве бд.

Краткое предисловие: в предыдущем посте я привела пример, как забирать текст из ячеек таблицы и отправлять этот текст в виде отдельных сообщений в телеграм-чат с ботом.

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

Читать далее

Возможности JavaScript и TypeScript последних лет. Часть 2

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели16K


Hello, world!


Представляю вашему вниманию перевод второй части этой замечательной статьи, посвященной возможностям JS и TS последних трех лет, которые вы могли пропустить.


В первой части мы говорили о возможностях JS, во второй поговорим о возможностях TS.


Это вторая часть.


Вот ссылка на первую часть.


Обратите внимание: названия многих возможностей — это также ссылки на соответствующие разделы документации TypeScript.


Руководства, шпаргалки, вопросы и другие материалы по JavaScript, TypeScript, React, Next.js, Node.js, Express, Prisma, GraphQL, Docker и другим технологиям, а также Блог по веб-разработке.

Читать дальше →

Микрофронтенды на React и ExtJS

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели16K

Хочу представить решение по внедрению микрофронтендов в компании РТ МИС с помощью Custom Elements, чтобы связать приложения написанные на библиотеке ExtJS и React.

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

Читать далее

Как стать middle frontend-разработчиком бесплатно от Яндекс Практикум

Время на прочтение4 мин
Охват и читатели6.2K

С момента моей последней публикации не прошло и года, но мне уже есть чем поделиться. Эта статья будет продолжением и возможно не последней. Так уж получилось, что мне удалось бесплатно получить тикет на курс middle frontend-разработчик от Яндекс Практикума по программе Цифровые профессии 2022. Этим опытом я бы и хотел с Вами поделиться. Статья будет полезна тру верстальщикам, джунам фронтендерам и тем кто в поиске обучения

Кратко о моем стеке на начало курса: нативный JS, браузерные события, DOM API, AJAX, SCSS, GULP, адаптивная верстка, навыки работы с вектором и растровыми изображениями.

Чтобы попасть на курс, нужно было пройти предварительное тестирование и несколько этапов интервью. На сколько мне известно на курс попадают не все, критерии отбора мне не известны. Но будьте готовы к тому, что всё не просто так.

Читать далее

Почему шаблоны в $mol такие странные?

Время на прочтение8 мин
Охват и читатели7.4K

Здравствуйте, меня зовут Дмитрий Карловский и я.. дуб. Я пустил свои корни в адептов святого $mol, и выращиваю из них сверх‑людей, способных каждый год сбрасывать былые привычки и убеждения, но тут же пускать побеги свежих идей, базирующихся на прочном рациональном основании.

А в качестве примера, позвольте посеять и в вас зерно сомнения в правильности традиционных решений, и показать, почему синтаксис языка композиции компонент в $mol такой странный, и почему другие языки для этой задачи совсем не подходят.

Стать сверх-человеком за 5 мин