Обновить
223.72

JavaScript *

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

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

Телеграм-бот на Node.js/grammY: Диалоги

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

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

Читать далее

Управление проектами и задачами в Obsidian

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

Используя Obsidian более двух лет, я привык организовывать в нём все свои заметки по проектам. Хотя Obsidian предлагает широкий набор сторонних плагинов для расширения своего функционала, мне так и не удалось найти идеальный инструмент для управления проектами и задачами. Это подтолкнуло меня к созданию нескольких автоматизаций, о которых пойдет речь дальше.

Читать далее

База, которую нужно знать про JSON Schema

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

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

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

Читать далее

Как ускорить создание компонентов с помощью Plop-генератора или автоматизация рутинных задач в React

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

Что имеем?

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

Однако, несмотря на наличие единой системы, мы сталкивались с рядом проблем — делюсь тем, как мы их решали...

Ну ка расскажи

RxJS Interop в Angular 18: основные изменения и преимущества

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

✏️ 🔥 Я написал новую статью об одной из интересных функций в Angular 18: RxJS Interop. В статье рассматривается, как RxJS Interop эволюционировал с Angular 16 до 18, какие новые возможности он приносит и как его можно использовать в вашем коде.

🚀 Если вы разработчик Angular и хотите улучшить свои реактивные паттерны, эта статья для вас!

✨ Основные моменты:

- 🔄 Бесшовная конвертация между Signals и Observables.

- 📉 Оптимизированная производительность для управления реактивным состоянием.

- 💡 Использование операторов RxJS напрямую с Signals для упрощения и улучшения читаемости кода.

- 🔥 Упрощение интеграции с Firestore с помощью Signals для синхронной реактивности и более простого управления состоянием.

Читать далее

Понимание принципа построения функциональности карт с Яндекс.Картами API v3

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

Когда первый раз открываешь документацию Яндекс.Карт, то совершенно ничего не понятно. Ты смотришь быстрый старт, введение, руководство разработчика, общие сведения, подключение карты... ну да, окей, мы взяли такие, всё подключили, видим карту с населенными пунктами... а дальше-то что делать?

Читать далее

Lorem ipsum dolor sit amet, consectetur adipiscing elit

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

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam erat leo, tempus at malesuada sed, dapibus vitae ipsum. Morbi vitae dignissim lectus. Nulla lectus nisl, pretium sit amet viverra vitae, feugiat quis nunc. In semper justo orci. Praesent ultrices risus eu odio ornare suscipit. Pellentesque dapibus mauris magna. Sed congue, quam ut pharetra euismod, justo augue cursus ex, congue volutpat orci metus non enim. Suspendisse orci justo, vehicula et rhoncus eu, eleifend ut massa. Morbi sodales mauris felis, id tincidunt nulla congue quis.

Читать далее

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

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

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

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

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

Читать далее

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

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


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


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


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


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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Настроить

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

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

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

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

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

Читать далее

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

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

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

Попробуйте Tauri

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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