Обновить
226.67

JavaScript *

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

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

Краткая история WWW от фронтенд-разработчика

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

Всемирная паутина (WWW) — это не просто набор веб‑страниц, это революция, изменившая наше восприятие информации и общения. С момента своего появления в начале 1990-х годов WWW кардинально трансформировала мир, открыв новые горизонты для бизнеса, образования и повседневной жизни. История веб пестрит взлетами, падениями и уходами в крайности, но здесь мы пройдемся только по самым ярким моментам! Следить за эволюцией технологии, которая навсегда изменила наше общество, мы будем глазами фронтенд‑разработчика.

Читать далее

React useCallback() — полное руководство

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

Всем привет! На связи Spectr и рубрика «Что читают наши разработчики». Сегодня разберем оптимизацию функциональных компонентов за счет мемоизации функций обратного вызова с помощью useCallback().

Независимо от того, начинающий вы разработчик React или хотите углубить свои знания, это руководство предоставит вам полезную информацию о useCallback(), включая его синтаксис, применение, распространенные случаи использования и лучшие практики. Мы также сравним его с другим хуком — useMemo()

Разобраться с useCallback() полностью

Фронт без бэка: как мы сумели собрать тысячу форм в одну систему и не потерять рассудок

Время на прочтение9 мин
Охват и читатели4.9K
Когда три года назад в июле к нам пришли с просьбой сделать фронтенд для маленькой системы документооборота, мы оценили задачу в полгода… ТЗ принесли на создание более 1000 разных форм. Обещанные нами полгода перестали казаться спокойными.

Через пару недель к задаче добавились две крупные системы на 1С и ещё несколько в разработке, с бэкендами на С++ и Java. Объём работы стал выглядеть неподъёмно. Плюс основное требование — всё должно быть в едином интерфейсе. Так мы поняли, что нужно браться за универсальное решение, которое «скушает» любой бэкенд.

image
Импортозамещённый JSON

Эта история о том, как команда из 16 человек разработала Атом.Форму — продукт, который уже работает для шести крупных систем в «Росатоме», и их количество постоянно растёт. А срок создания фронта теперь занимает 2–3 недели для маленьких и несколько месяцев для развесистых систем.
Читать дальше →

Бенчмарки JavaScript — это полный хаос

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

Я ненавижу код бенчмаркинга, как и любой другой человек. Гораздо веселее притвориться, что твоё кэширование значения увеличило производительность на 1000%, чем проверять это тестами. Увы, бенчмаркинг JavaScript по-прежнему необходим, особенно потому, что JavaScript используется (когда не должен?) во всё более чувствительных к производительности приложениях. К сожалению, из-за множества базовых архитектурных решений языка, JavaScript никак не упрощает выполнение бенчмаркинга.

Читать далее

Создаем Hamster Kombat почти с нуля. Практика по Vue 3 и Telegram Mini Apps

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

Привет, Хабр! В этой статье-инструкции вы узнаете, как с нуля сделать свою собственную Telegram-тапалку на современном стеке. Важный дисклеймер: тапалка, кликер и прочее — это всего лишь форма. Цель статьи — дать всеобъемлющий практикум по современному стеку и деплою проектов в облако.

Внутри статьи — полноценный Serverless-подход, разработка бота на Node и полный цикл создания FE-приложения. А еще комментарии по архитектурным и тактическим решениям, чтобы вы прокачали уровень программирования и насмотренности. Подробности под катом!
Читать дальше →

Как работать с потоками в JavaScript: оптимизация асинхронных запросов

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

Асинхронное программирование — это тема, которая часто вызывает трудности у новичков JS. Неопытные разработчики сталкиваются со множеством вопросов, связанных с обработкой параллельных операций, управлением потоками данных и «адом коллбэков». Тем не менее, понимание и освоение асинхронности является важным шагом на пути к эффективной разработке современных веб-приложений. В этой статье разберем основные инструменты, такие как промисы и async/await, и покажем, как они могут облегчить обработку данных в фоновом режиме и повысить читаемость кода.

Привет, Хабр! Меня зовут Олег Волков, я ведущий frontend-разработчик IBS. В этой статье я хочу поделиться выжимкой из книги Кайла Симпсона «Вы не знаете JS. Асинхронная обработка & оптимизация». Лично мне она открыла глаза. Уверен, что другие JS-специалисты найдут ее не менее полезной!

Читать далее

Заставляем работать демонстрационный пример из официальной документации npm пакета csrf-csrf

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

Ничто так не бесит при изучении новых пакетов/библиотек, как неработающие примеры из официальной документации. До последнего не веришь, что авторы библиотеки так лоханулись с исходниками примеров. Считаешь, что программисты потратили кучу своего времени на разработку, тестирование и продвижение пакета. И что они не могли выложить неработающие примеры. А если примеры не работают, то значит что-то не так у тебя. То ли VPN новый глючит, то ли антивирус душит библиотеку, то ли устаревшие версии какого-то ПО/драйверов/библиотек конфликтуют. В данной статье рассказывается о моем опыте делания рабочим примера npm пакета 'csrf-csrf' из официальной документации.

Кому нужно срочно - вот github с исходниками: https://github.com/korvintaG/csrf-csrf_demo. Важно - обращайте внимание на комментарии, особенно те, в которых много звездочек.

Читать далее

Как отправлять SMS из NodeMCU (ESP8266)

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

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.

В этом гайде пользователь на простом примере рассматривает, как с помощью микроконтроллера NodeMCU (ESP8266) и кнопки отправлять SMS через HTTP POST-запросы. Это полезно для создания различных IoT-устройств — мониторинга и умных домов.

Читать далее

WeakMap и WeakSet в JavaScript

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

Привет, Хабр!

Когда дело доходит до коллекций данных в JavaScript, большинство разработчиков сразу вспоминают про массивы, объекты, Map или Set. Но есть и другие, менее известные структуры данных, которые можно назвать «инструментами для особых случаев» — это WeakMap и WeakSet.

WeakMap и WeakSet — это структуры, которые созданы для работы с объектами. Их основная фичи — слабые ссылки, благодаря которым можно избежать утечек памяти. Эти структуры подчищают за собой автоматически, когда объект, используемый в них, становится недостижимым.

Однако их область применения не ограничивается только управлением памятью.

Читать далее

JavaScript: структуры данных и алгоритмы. Часть 7

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


Привет, друзья!


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


Сегодня мы поговорим об алгоритмах для работы со строками и поиска.


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


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

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

JavaScript: Удобство или Угроза? Размышления о Приватности и Вебе

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

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

Сложно переоценить пользу JS, который делает сайты интерактивными, удобными и современными. В то же время опасность, которая в нем таится, обычно ускользает от внимания. Эта статья — попытка заглянуть монстру в глаза.

Читать

Парольная защита статичной HTML-страницы на JS

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


Обычно парольная защита производится через веб-сервер, который проверяет пароль и выдаёт контент. Стандартный способ: .htaccess и htpasswd. Но что, если нужно выложить зашифрованную веб-страницу и файлы на публичном хостинге, где у нас нет контроля над сервером? Эту проблему решают инструменты StatiCrypt и Portable Secret.

Для шифрования HTML перед публикацией StatiCrypt использует AES-256 и WebCrypto, а расшифровка происходит с помощью ввода пароля в браузере на стороне клиента, как показано в демо (пароль test).

StatiCrypt генерирует статическую страницу, которую можно безопасно заливать на любой хостинг, в том числе бесплатный сторонний хостинг, такой как GitHub Pages.
Читать дальше →

Как Ultimatum помогает бороться со слежкой в сети

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

image


Добрый день! Меня зовут Тимур и я программист.


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

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

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

Чистая архитектура фронтенд приложений. Часть первая

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

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

Читать

Интернационализация (i18n) бэкенда в Express с использованием Intlayer

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

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

Читать далее

Переводим 50 приложений на Module Federation и ничего не ломаем

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

Привет, меня зовут Степан, я главный frontend-разработчик в Альфа-Банке. Проектом, о котором пойдёт речь, занимается наша команда. Только фронтенд-разработчиков в ней 60. Множество команд поддерживают более 50 приложений, приносящих прибыль бизнесу.

У нас ранее были микрофронты, но они были построены не на WMF. Не вдаваясь в документацию, давайте покажу, как всё было устроено, чтобы описать причины переезда. Думаю, будет интересно, учитывая, что проект большой.

Я расскажу о микрофронтендах и сопутствующей концепции Model Federation на примере большого проекта.

Читать далее

Vite 6.0: Новые возможности и будущее веб-разработки

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

26 ноября 2024 года вышла новая мажорная версия инструмента для сборки приложений Vite. Это событие особенно примечательно тем, что это первый релиз после анонса VoidZero, где Even You представил грядущее направление развития основных продуктов.

Далее мы рассмотрим ключевые моменты этого обновления.

Читать далее

Моя боль в JavaScript: когда this и переменные становятся головоломкой

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

Не спорю и не критикую учебные подходы. Просто делюсь своей болью: как тавтология в примерах наследования (this.name = name) вгоняла в ступор на старте.

Читать далее

FSD 2.1 или как «pages first» подход может ухудшить структуру ваших Frontend приложений

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

Всем привет! 13 ноября, в официальном Telegram канале Feature Sliced Design состоялся релиз новой версии архитектурной методологии. Он принёс в себе несколько важных, фундаментальных изменений, о которых мы сегодня и поговорим.

Читать далее

Как мы превратили рутинную работу в удовольствие: история создания плагина для Р7-Офиса

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

Многие компании продолжают активно использовать Excel и язык макросов VBA для обработки и анализа данных. Однако с переходом на отечественные офисные решения (например, Р7-Офис) появилась необходимость в разработке новых инструментов обработки данных на JavaScript. 

В ЛАНИТ мы помогаем клиентам осуществить переход на Р7-Офис и создаем макросы, которые ранее использовались в Excel. Во время этого процесса наши разработчики внимательно анализировали запросы пользователей и выявили несколько общих трендов, на основе которых и был разработан наш плагин Аналитика.

Читать далее

Вклад авторов