Обновить
250.86

JavaScript *

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

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

Тестирование redux store middleware

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

Бывает ситуация, когда нам необходимо протестировать middleware, либо асинхронное событие, которые возникает в хранилище redux.

Цель этой статьи в том, чтобы показать как тестировать action в redux store.

Есть готовое решение, redux-mock-store, но оно не позволяет оперировать реальным хранилищем, через него мы можем только проверить был вызван тот или иной action, а данные которые сохраняем мы в store, не можем проверить.

Читать далее

Руководство по Convex. Часть 1

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


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


В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков.


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


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

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

Использование ChatGPT для автоматизации генерации кода в JS-проекте

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

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

Если коротко, то использование ChatGPT для автоматизации генерации кода эффективно при работе с шаблонами. Генерация однотипных фрагментов на основе шаблонов ускоряет процесс разработки и снижает количество рутинных задач. Чем точнее структура и наименования в шаблонах, тем легче модели корректно выполнять замены,

Для тех же, кто хочет более детально ознакомиться с процессом взаимодействия человека и ChatGPT при создании JavaScript-проекта - добро пожаловать под кат.

Читать далее

Maskito: то, что вы давно искали

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

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

Найти хорошее решение данной задачи — дело непростое. Часто библиотеки маскирования могут разочаровывать как разработчиков, так и пользователей. Общие проблемы включают скачущий курсор, трудности с добавленными символами, такими как дефисы или скобки, автозаполнение браузера, ошибки в серверной отрисовке и запутанный API.

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

Читать далее

Путь фронтенд-разработчика. От рождения до тимлида

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

Меня зовут Сергей Константинов. Я фронтенд-разработчик в Сбере и наставник на курсе «Фронтенд-разработчик». У меня весьма широкий круг общения: от студентов и выпускников Практикума до лидеров ведущих компаний, таких как Яндекс, VK, Сбер и другие. Благодаря этому я могу объективно рассказать о пути, который проходит фронтенд-разработчик на всех этапах карьеры.

Читать далее

Как запрашивать и принимать обратную связь от клиентов с помощью SMS API

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

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

Мы используем SMS API от Exolve, фреймворк Next.js без APP роутера и базу данных PostgreSQL. Для тестирования в локальной среде и приёма сообщений из интернета работаем с Ngrok.

Читать далее

Настройка VSCode для разработки в Tauri

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

Как настроить VSCode для удобной работы с проектом Tauri. Установим пару плагинов и настроим launch.json и tasks.json.

Настроить

Понимание спецификации ECMAScript, часть 4

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

Node.js-бот для Телеграм: CRUD-L через аргументы команд

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

Я продолжаю описывать собственное погружение в мир телеграм-ботов, начатое в предыдущей публикации. Тогда я создал простого бота на Node.js с тремя стандартными командами (/start, /help, /settings) с использованием библиотеки grammY, который мог работать в режимах long polling и webhook. В этот раз я разработал бота, который манипулирует данными в базе по шаблону CRUD + List (CRUDL) с помощью аргументов команд. Из-за своей простоты, граничащей с примитивностью, это решение не подходит для коммерческих проектов, но может быть полезным в персональных проектах.

Читать далее

Пишем одностраничное приложение с помощью htmx

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

JS-библиотеку htmx воспринимают как средство, которое спасает интернет от одностраничных приложений. Всё дело в том, что React поглотил разработчиков своей сложностью (так говорят), а htmx предлагает столь желанное спасение.
Читать дальше →

Попробуйте Tauri

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

Хочу рассказать про один из моих любимых Opensource проектов: Tauri. Это среда для создания десктопно-мобильных приложений на JavaScript, но быстрых и легковесных. С опциональными дополнениями на Rust, а через него и на всех других языках.

Читать далее

JavaScript для детей: ТОП-20 полезных ресурсов по программированию

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

В этом материале рассказываем, почему подросткам стоит выбрать JavaScript в качестве первого языка для обучения. И делимся полезными ресурсами: курсами, играми и книгами, которые помогут школьникам от 12 лет освоить азы программирования.

Освоить JavaScript – значит приблизиться к миру веб-разработки. Это перспективно: владение данным языком программирования – большой плюс, ведь с его помощью специалисты создают современные сайты, пишут расширения для браузеров и даже разрабатывают мобильные приложения. Спешим отметить: с легкостью освоить JS могут даже подростки 12 лет и старше, поэтому если у ребенка есть интерес к теме, то можно развивать его с ранних лет.

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

Читать далее

Когда нужен TypeScript: введение в мир надежного программирования

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

Поговорим про введение в TypeScript и то, как с помощью него мы можем сделать наше программирование и наш код на JavaScript более надежными и прогнозируемыми. 

Меня зовут Александр Чернов, я фронтенд-разработчик в Альфе, веду подкаст ТИНОИД, обожаю плавание и влюблён в веб- и фронтенд-разработку.

Читать далее

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

Контроль привычек на запястье: как Mi Smart Band 7 поможет не забывать важное

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

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

«Если это действительно важно, то отмечайте даты на упаковке, используйте таблетницу или заведите будильник на телефоне», — скажете вы. Да, это решение. Но у меня есть фитнес-браслет, который, как заявляется, следит за моим здоровьем. Почему бы не научить его отвечать на вопрос «Не забыл ли я “…”»?

В тексте я расскажу про тернистый путь разработки под Mi Smart Band 7 и объясню важные детали для быстрого старта. В результате получится циферблат, который позволяет считать количество наиболее важных рутинных действий за день. Бонусом расскажу о приложении для броска кубиков 1d20 и 2d20.
Читать дальше →

Новый оператор безопасного присваивания в JavaScript: ?=

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

Современная разработка на JavaScript часто сталкивается с задачами асинхронной работы и обработки ошибок. Как правило, для этих целей используются конструкции try-catch и async-await. Однако они могут утяжелять код и усложнять его восприятие. Чтобы решить эту проблему, был предложен новый оператор безопасного присваивания ?=, который значительно упрощает обработку ошибок и улучшает читаемость кода. В этой статье мы рассмотрим, как работает этот оператор, его особенности и преимущества для разработчиков.

Читать далее

Разработчики dzen.ru, что с вами не так?

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

Приветствую, Хабравчане!

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

Читать далее

Посмотрим на never с разных сторон?

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

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

Предложенная структура и содержимое заметки могут быть интересны как начинающим, так и опытным специалистам.

Хотите знать больше?

Content Security Policy (CSP) защитит от js-снифферов и утечек?

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

Довольно часто встречаю утверждение о том, что настроенная Content Security Policy (CSP) – достаточное и надежное средство защиты frontend-приложений от большинства существующих угроз.

Поговорим о задачах CSP и на практике проверим, защитит ли CSP от кражи данных с web-страницы js-сниффером.

Читать далее

Откройте для себя весь потенциал AbortController

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



В этой статье я расскажу об одном из стандартных API JavaScript, о котором, вы, возможно не слышали. Это AbortController.


❯ Что такое AbortController?


AbortController — это глобальный класс в JS, который можно использовать для прерывания любых асинхронных операций.


const controller = new AbortController()

controller.signal
controller.abort()
Читать дальше →

Что нас ждет в Next.js 15: обзор заявленных новинок

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

Привет, на связи Майя из Spectr. Сегодня я поделюсь обзором последней, пятнадцатой версии Next.js. В статье мы разберем интересные улучшения: React Compiler, улучшенные сообщения об ошибках гидрации в ‘use-client’, исправление поведения кэширования, Partial Prerendering (PPR), API next/after, обновленный дизайн create-next-app и оптимизацию бандлинга внешних пакетов.

Узнать о функциях Next.js 15