Spec-Zone.ru › Deno 2
Перейти к основному содержимому
Среда выполненияСправочник APIПримерыDeno Deploy
⌘K
↑↓Перемещение вверх или внизперейти↵Нажмите Enter, чтобывыбратьESCНажмите Escape, чтобызакрыть

Основы

  • Встроенная поддержка TypeScript
  • Проверка глубокого равенства двух значений
  • Исполняемые скрипты
  • Создание документации с помощью deno doc
  • Привет, мир
  • Импорт и экспорт функций
  • Инициализация проекта
  • Запуск скрипта
  • Предоставление доступа к локальному серверу через туннель
  • Простой сервер API
  • Простой файловый сервер
  • Приостановка и задержка выполнения
  • await на верхнем уровне
  • Переход с CommonJS на ESM

Модули и управление пакетами

  • Добавление и удаление зависимостей
  • Настройка монорепозитория с рабочими пространствами
  • Импорт модулей из npm
  • Фиксация зависимостей с помощью deno.lock
  • Метаданные модуля
  • Изменение путей импорта
  • Запуск Deno в GitHub Actions
  • Запуск скриптов жизненного цикла npm
  • Использование Deno в существующем проекте Node.js
  • Использование локальных и неопубликованных пакетов
  • Использование встроенных модулей Node.js
  • Использование приватных реестров npm

Сеть

  • Аутентификация с Auth.js
  • Создание чата с помощью WebSockets
  • Обмен данными по QUIC
  • Подключение двух узлов с помощью WebTransport
  • Создание и проверка JWT
  • Загрузка файла с отображением прогресса
  • Аутентификация по электронной почте и паролю с Better Auth
  • Выполнение fetch через Unix-сокет
  • Маршрутизация на основе файлов
  • Поиск свободного порта
  • Создание RSS-ленты
  • Создание sitemap.xml и robots.txt
  • HTTP-сервер Hono
  • HTTP-запросы
  • HTTP-сервер: базовая аутентификация
  • HTTP-сервер: заголовки кеширования
  • HTTP-сервер: файлы cookie
  • HTTP-сервер: CORS
  • HTTP-сервер: CRUD с SQLite3
  • HTTP-сервер: корректное завершение работы
  • HTTP-сервер: проверки работоспособности
  • HTTP-сервер: привет, мир
  • HTTP-сервер: горячая перезагрузка
  • HTTP-сервер: потоки Node.js
  • HTTP-сервер: разбиение результатов на страницы
  • HTTP-сервер: ограничение частоты запросов
  • HTTP-сервер: тайм-ауты запросов
  • HTTP-сервер: маршрутизация
  • HTTP-сервер: масштабирование на несколько ядер процессора
  • HTTP-сервер: события, отправляемые сервером
  • HTTP-сервер: раздача файлов
  • HTTP-сервер: сеансы
  • HTTP-сервер: потоковая передача
  • HTTP-сервер: TLS
  • HTTP-сервер: проверка подписей вебхуков
  • HTTP-сервер: WebSockets
  • Исходящие соединения WebSockets
  • Передача потоков через конвейер
  • Защита маршрутов с помощью JWT в Hono
  • Проксирование HTTP-запросов
  • Направление запросов fetch через HTTP-прокси
  • Выполнение DNS-запросов
  • Вход через GitHub (OAuth)
  • TCP-коннектор: Ping
  • TCP-сервер эха
  • TCP-слушатель: Ping
  • TCP/TLS-коннектор: Ping
  • TCP/TLS-слушатель: Ping
  • Двусторонняя потоковая передача с WebSocketStream
  • UDP-коннектор: Ping
  • UDP-слушатель: Ping
  • Обновление TCP-соединения до TLS (STARTTLS)
  • Сервер WebSocket: широковещательная рассылка сообщений
  • Сервер WebSocket: состояние для каждого сокета

Файловая система

  • Проверка существования каталога
  • Проверка существования файла
  • Преобразование между URL файлов и путями
  • Копирование файла
  • Создание и распаковка tar-архивов
  • Создание жёстких ссылок
  • Создание и удаление каталогов
  • Создание и разрешение символических ссылок
  • Удаление файлов
  • События файловой системы
  • Поиск файлов с помощью шаблонов glob
  • Получение MIME-типа файла
  • Блокировка файлов между процессами
  • Перемещение и переименование файлов
  • Операции с путями
  • Чтение и изменение метаданных файла
  • Чтение файлов
  • Потоковая обработка файловых операций
  • Временные файлы и каталоги
  • Усечение файла
  • Команда Unix cat
  • Обход каталогов
  • Отслеживание файловой системы
  • Пошаговая запись в файл
  • Запись файлов

Система

  • Вызов функций C с помощью FFI
  • Сбор вывода подпроцессов
  • Обмен данными с дочерним процессом через IPC
  • Создание подпроцесса
  • Обнаружение TTY и получение размера терминала
  • Переменные окружения
  • Поиск исполняемого файла в PATH
  • Получение сведений об операционной системе
  • Обработка сигналов ОС
  • Список сетевых интерфейсов
  • Прослушивание сигналов ОС
  • Передача данных в подпроцесс через канал
  • Сведения о процессе
  • Чтение из stdin
  • Построчное чтение ввода с помощью node:readline
  • Чтение системных показателей
  • Запуск подпроцесса с пользовательскими env и cwd
  • Установка и чтение кодов завершения процесса
  • Установка часового пояса
  • Подпроцессы: запуск
  • Использование EventEmitter из node:events
  • Использование worker_threads в Deno
  • Запись в stdout

Стандартные веб-API

  • Удобная отладка с помощью API консоли
  • Создание и отправка форм с помощью FormData
  • Кэширование HTTP-ответов с помощью Web Cache API
  • Отмена асинхронных задач с помощью AbortController
  • Обмен данными между воркерами с помощью BroadcastChannel
  • Создание и отправка пользовательских событий
  • Глубокое клонирование объектов с помощью structuredClone
  • Распределение задач между воркерами в пуле
  • Экранирование HTML-строки
  • Извлечение ссылок и метаданных из HTML
  • Получение данных и потоковая передача
  • Форматирование дат для любой локали
  • Форматирование чисел и валют
  • Форматирование относительного времени
  • Цветное журналирование
  • Изменение и разбор URL
  • Сопоставление URL с помощью URLPattern
  • Измерение производительности с помощью меток и измерений
  • Разбор и форматирование дат
  • Формы множественного числа и форматирование списков
  • Запуск вычислительного шейдера с помощью WebGPU
  • Установка тайм-аута для fetch
  • Установка тайм-аутов и интервалов
  • Разбиение текста на слова, предложения и графемы
  • API Temporal
  • Преобразование данных с помощью TransformStream
  • WebAssembly
  • Веб-воркеры

Стандартная библиотека

  • Добавление тайм-аута к любому промису
  • Изменение регистра строки
  • Добавление задержки вызова функции
  • Экранирование текста для регулярных выражений
  • Экспоненциальная задержка между повторами
  • Удобное для человека форматирование байтов и длительностей
  • Генерация случайных чисел с заданным начальным значением
  • Мемоизация ресурсоёмкой функции
  • Разбор и сравнение версий semver
  • Запуск асинхронных задач с ограничением параллелизма
  • Структурированное журналирование
  • Обработка пользовательских данных с помощью коллекций Deno

Кодирование

  • Сжатие и распаковка данных
  • Сжатие данных с помощью node:zlib
  • Преобразование Blob
  • Преобразование Buffer (node:buffer)
  • Преобразование потока Readable в Node.js
  • Преобразование ReadableStream
  • Преобразование строки в байты и обратно
  • Преобразование Uint8Array
  • Преобразование ArrayBuffer
  • Кодирование и декодирование CBOR
  • Кодирование и декодирование MessagePack
  • Извлечение метаданных front matter из Markdown
  • Шестнадцатеричное кодирование и base64
  • Импорт байтов
  • Импорт JSON
  • Импорт текста
  • Работа с массивами байтов
  • Разбор и создание XML
  • Разбор больших CSV-файлов как потоков
  • Разбор и сериализация CSV
  • Разбор и сериализация INI
  • Разбор и сериализация JSON
  • Разбор и сериализация TOML
  • Разбор и сериализация YAML
  • Разбор JSONC
  • Потоковая передача данных JSON Lines

Интерфейс командной строки

  • Создание CLI с подкомандами
  • Сборка кода с помощью Deno.bundle
  • Аргументы командной строки
  • Компиляция скрипта в исполняемый файл
  • Управление терминалом с помощью управляющих последовательностей ANSI
  • Отладка с помощью Chrome DevTools
  • Поиск и обновление устаревших зависимостей
  • Получение версии Deno
  • Запросы ввода
  • Проверка памяти с помощью снимков кучи
  • Управление разрешениями
  • Расширенный вывод в блокнотах Jupyter
  • Отображение индикаторов выполнения и загрузки
  • Написание тестов производительности с помощью Deno.bench

Криптография

  • Шифрование и расшифрование AES
  • Сравнение секретов за постоянное время
  • Получение ключей шифрования из паролей
  • Генерация безопасных случайных значений
  • Генерация и проверка UUID
  • Хеширование и подпись с помощью node:crypto
  • Хеширование больших файлов с помощью потоков
  • Хеширование
  • Хеширование и проверка паролей
  • Генерация и проверка HMAC
  • Подпись RSASSA-PKCS1-v1_5 и проверка подписи
  • Разделение секрета по схеме Шамира
  • Подпись и проверка данных с помощью ECDSA
  • ULID

Тестирование

  • Основы тестирования
  • Тестирование BDD
  • Фильтрация и управление запусками тестов
  • Моки и тестовые дублёры
  • Пропуск и фокусировка тестов
  • Тестирование с помощью снимков
  • Функции-шпионы
  • Тестирование веб-приложений
  • Использование Testing Library с Deno
  • Написание тестов

Веб-фреймворки и библиотеки

  • Приём платежей с помощью Stripe Checkout
  • Создание приложения Fresh
  • Создание приложения Next.js
  • Создание приложения Nuxt с Deno
  • Создание приложения Qwik с Deno
  • Создание приложения React
  • Создание приложения SolidJS
  • Создание приложения Svelte
  • Создание приложения Tanstack
  • Создание типобезопасного API с tRPC и Deno
  • Создание приложения Vue
  • Создание приложения для поиска слов
  • Создание сайта Astro с Deno
  • Создание PDF
  • Создание QR-кода
  • Как использовать Apollo с Deno
  • Загрузка файлов на HTTP-сервер
  • Рендеринг HTML-шаблонов с помощью Eta
  • Преобразование Markdown в HTML
  • Изменение размера и преобразование изображений
  • Отправка электронной почты с помощью Resend
  • Отправка электронной почты с помощью SendGrid
  • Загрузка файлов в хранилище, совместимое с S3
  • Использование Express с Deno
  • Использование Vite с Deno

Базы данных

  • Drizzle
  • DuckDB
  • Как использовать Redis с Deno
  • MongoDB
  • Mongoose
  • MySQL
  • Обзор
  • PlanetScale
  • Postgres
  • Prisma
  • Быстрый старт с Redis
  • SQLite
  • Supabase

Deno KV и планирование задач

  • Атомарные транзакции в Deno KV
  • Deno Cron
  • Наблюдение за Deno KV
  • Deno KV: база данных «ключ — значение»
  • Очереди Deno

ИИ

  • Создание агента с вызовом функций OpenAI
  • Создание агента с использованием инструментов
  • Создание сервера MCP
  • Подключение клиента к серверу MCP
  • Подключение к Claude (API Anthropic)
  • Подключение к OpenAI — генерация ответов в чате
  • Получение структурированного вывода JSON от Claude
  • Получение структурированного вывода JSON от OpenAI
  • Чат-приложение на основе LLM
  • RAG: обоснование ответа OpenAI вашими документами
  • RAG: обоснование ответа Claude вашими документами
  • Передача ответа чата от OpenAI в потоковом режиме
  • Передача ответа Claude в браузер в потоковом режиме
  • Передача ответа OpenAI в браузер в потоковом режиме

Развёртывание проектов Deno

  • AWS ECS Fargate
  • AWS Lambda
  • AWS Lightsail
  • Воркеры Cloudflare
  • Воркеры Cloudflare с Wrangler
  • Подключение к базе данных локально и в Deno Deploy
  • Развёртывание с помощью Deno Deploy
  • Развёртывание с помощью команды deploy
  • Digital Ocean
  • Google Cloud Run
  • Kinsta
  • Перенос пользовательского домена в Deno Deploy
  • Использование Deno в Docker

OpenTelemetry

  • Базовая настройка OpenTelemetry
  • Экспорт телеметрии в Grafana
  • Экспорт телеметрии в Honeycomb
  • Экспорт телеметрии в Hyperdx
  • OpenTelemetry с Deno Deploy
  • Распространение спанов
  • Просмотр данных телеметрии локального приложения

Deno Sandbox

  • Добавление томов с доступом на чтение и запись в песочницу
  • Запуск среды Python с помощью снимков
  • Мгновенный запуск с помощью снимков
  • Отмена команды
  • Настройка памяти песочницы
  • Управление временем ожидания песочницы
  • Обработка ошибок
  • Выполнение JavaScript
  • Интерактивная REPL JavaScript
  • Предоставление экземпляра VSCode в песочнице
  • Предоставление доступа по SSH к песочнице
  • Запуск кода, сгенерированного ИИ
  • Запуск веб-фреймворка
  • Установка и получение переменных среды
  • Запуск дочернего процесса
  • Потоковая передача вывода в локальный файл
  • Потоковый доступ к строковому и двоичному выводу
  • Загрузка файлов и каталогов в песочницу
  • Использование шаблонных строк с подстановкой переменных

Примеры

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

Deno Examples
Не нашли то, что искали? Запросить новое руководство

Ваш запрос будет опубликован как задача в репозитории denoland/docs на GitHub.

Рекомендуем

HTTP-сервер: Привет, мирЗапустите веб-сервер с помощью Deno.serve всего в несколько строк. Написание тестовИспользуйте встроенный запускатель тестов — зависимости не нужны. Создание приложения Next.jsЗапустите полнофункциональный фреймворк React в Deno. Подключение к базам данныхPostgres, MySQL, MongoDB, SQLite и другие. Развертывание с помощью Deno DeployРазверните приложение на периферии сети за считаные минуты. Встроенная поддержка TypeScriptЗапускайте TypeScript напрямую, без настройки.

Фильтр по типу:

Всего: 328 материалов
ОсновыМодули и управление пакетамиСетьФайловая системаСистемаСтандартные веб-APIСтандартная библиотекаКодированиеИнтерфейс командной строкиКриптографияТестированиеВеб-фреймворки и библиотекиБазы данныхDeno KV и планирование задачИИРазвертывание проектов DenoOpenTelemetryDeno Sandbox

Основы

  • Встроенная поддержка TypeScriptDeno изначально понимает код TypeScript, и для этого не нужно настраивать компилятор.
  • Проверка глубокой эквивалентности двух значенийДва объекта с одинаковым содержимым не равны при сравнении оператором ===, который сравнивает ссылки.
  • Исполняемые скриптыРуководство по созданию исполняемых скриптов с помощью Deno.
  • Создание документации с помощью deno docУзнайте, как создавать профессиональную документацию для проектов Deno с помощью встроенной команды deno doc.
  • Привет, мирЕдинственная строка в этой программе выводит в консоль «Hello, World!».
  • Импорт и экспорт функцийДля создания компонуемых программ необходимо иметь возможность импортировать и экспортировать функции из других модулей.
  • Инициализация проектаРуководство по созданию и организации новых проектов Deno.
  • Запуск скриптаРуководство по созданию и запуску простых скриптов с помощью Deno.
  • Предоставление доступа к локальному серверу через туннельМгновенно предоставьте доступ по общедоступному URL с помощью параметра --tunnel
  • Простой API-серверСоздайте простой API для сокращения ссылок с помощью Deno KV и стандартных веб-примитивов, а затем разверните его в Deno Deploy.
  • Простой файловый серверРуководство по созданию файлового сервера с помощью Deno.
  • Ожидание и задержка выполненияСкриптам часто приходится ждать: между повторами попыток, во время опроса или для регулирования частоты запросов.
  • await на верхнем уровнеПример использования await на верхнем уровне по умолчанию в Deno.
  • Переход с CommonJS на ESMПошаговое руководство по переносу проектов Node.js с модулей CommonJS на ESM.

Модули и управление пакетами

  • Добавление и удаление зависимостейУправляйте зависимостями проекта с помощью deno add и deno remove: пакеты npm и JSR, фиксация версий, зависимости для разработки и псевдонимы пакетов в карте импортов.
  • Настройка монорепозитория с рабочими пространствамиНастройте рабочее пространство Deno с несколькими пакетами: имена участников и экспорты, шаблоны glob, параметры только для корневого пакета, общие импорты и централизованные версии зависимостей с помощью каталогов.
  • Импорт модулей из npmИспользуйте JavaScript-модули из npm в программах Deno, указывая в импортах спецификатор "npm:".
  • Фиксация зависимостей с помощью deno.lockИспользуйте deno.lock для воспроизводимой установки: какие сведения записывает lock-файл, как проверять его изменения, замороженные lock-файлы для CI с флагом --frozen и командой deno ci, а также пересоздание или перемещение lock-файла.
  • Метаданные модуляРуководство по работе с метаданными модулей в Deno.
  • Переназначение путей импортаИспользуйте поле imports в deno.json как карту импортов: псевдонимы путей, например @/ для src/, короткие имена локальных модулей и переопределения для транзитивных импортов.
  • Запуск Deno в GitHub ActionsНастройте рабочий процесс GitHub Actions для проекта Deno: установите Deno с помощью setup-deno, кэшируйте зависимости, запускайте fmt, lint и test, выполняйте установку с замороженным lock-файлом и тестируйте проект в разных версиях Deno.
  • Запуск скриптов жизненного цикла npmРазрешите выполнение postinstall и других скриптов жизненного цикла npm в Deno с помощью deno approve-scripts и сохраните разрешения в поле allowScripts файла deno.json.
  • Использование Deno в существующем проекте Node.jsЗапускайте существующий проект Node.js с помощью Deno без переписывания: устанавливайте зависимости из package.json, запускайте npm-скрипты с помощью deno task, используйте встроенные модули node: и постепенно переходите на встроенные инструменты Deno.
  • Использование локальных и неопубликованных пакетовРаботайте с кодом, которого нет в реестре: подключайте локальную копию пакета с помощью поля links, импортируйте напрямую по HTTPS-URL, включая приватные репозитории GitHub, и узнавайте, какие спецификаторы Deno не поддерживает.
  • Использование встроенных модулей Node.jsDeno изначально поддерживает большинство встроенных модулей Node.js — их можно подключать в коде, указывая в импортах спецификаторы "node:".
  • Использование приватных реестров npmНастройте Deno для установки пакетов npm из приватных реестров: реестры и токены аутентификации с областями действия в .npmrc, переопределение NPM_CONFIG_REGISTRY, DENO_AUTH_TOKENS и примеры настройки Azure Artifacts и JFrog Artifactory.

Сеть

  • Аутентификация с Auth.jsAuth.js — самая широко используемая библиотека аутентификации для JavaScript.
  • Создание чата с помощью WebSocketsРуководство по созданию чата с обменом сообщениями в реальном времени с использованием WebSockets в Deno.
  • Обмен данными по QUICQUIC — транспортный протокол, лежащий в основе HTTP/3.
  • Соединение двух узлов с помощью WebTransportWebTransport — это API веб-платформы для низколатентного мультиплексированного обмена данными по HTTP/3.
  • Создание и проверка JWTВ этом примере показано, как создать и проверить JSON Web Token (JWT) с помощью библиотеки `jose` в Deno.
  • Загрузка файла с отображением прогрессаПотоковая запись загружаемого файла прямо на диск позволяет сохранять постоянный объём используемой памяти независимо от размера файла.
  • Аутентификация по электронной почте и паролю с Better AuthBetter Auth — независимая от фреймворков библиотека аутентификации, ориентированная на TypeScript.
  • Запросы через Unix-сокетЛокальные службы, например демон Docker, предоставляют доступ к HTTP через доменный сокет Unix, а не через порт TCP.
  • Маршрутизация на основе файловРуководство по реализации маршрутизации на основе файлов в Deno.
  • Поиск свободного портаТестовые серверы и вспомогательные процессы не должны конфликтовать из-за жёстко заданных портов.
  • Создание RSS-лентыRSS-лента — это небольшой XML-документ, который позволяет читателям подписываться на обновления сайта.
  • Создание sitemap.xml и robots.txtПоисковые системы находят страницы с помощью карты сайта, а правила сканирования считывают из robots.txt.
  • HTTP-сервер HonoПример HTTP-сервера, использующего фреймворк Hono.
  • HTTP-запросыВ этом примере показано, как отправить HTTP-запрос серверу.
  • HTTP-сервер: базовая аутентификацияПри базовой аутентификации имя пользователя и пароль отправляются в кодировке Base64 в заголовке авторизации.
  • HTTP-сервер: заголовки кэшированияЗаголовки кэширования позволяют клиентам не загружать повторно уже имеющиеся у них данные.
  • HTTP-сервер: файлы cookieФайлы cookie передают состояние между запросами с помощью заголовков cookie и set-cookie.
  • HTTP-сервер: CORSБраузеры блокируют междоменные запросы, если сервер не разрешает их с помощью заголовков CORS.
  • HTTP-сервер: CRUD с SQLite3Пример HTTP-сервера с маршрутами CRUD на основе middleware-фреймворка oak и базы данных SQLite3.
  • HTTP-сервер: корректное завершение работыПринудительное завершение работы сервера во время обработки запроса приводит к разрыву соединений и потере данных.
  • HTTP-сервер: проверки работоспособностиКонечные точки проверки работоспособности помогают балансировщикам нагрузки и оркестраторам принимать решения о дальнейшей работе процесса.
  • HTTP-сервер: привет, мирПример HTTP-сервера, который отправляет сообщение «Привет, мир».
  • HTTP-сервер: горячая перезагрузкаПерезапускать сервер вручную после каждого изменения быстро надоедает.
  • HTTP-сервер: потоки Node.jsКод, перенесённый из Node.js, часто использует потоки Node.js: файловые потоки, курсоры баз данных, генераторы архивов.
  • HTTP-сервер: разбиение результатов на страницыAPI, возвращающим списки, нужна пагинация, чтобы каждый ответ оставался небольшим.
  • HTTP-сервер: ограничение частоты запросовОграничитель частоты запросов защищает сервер от клиентов, отправляющих слишком много запросов.
  • HTTP-сервер: тайм-ауты запросовОбработчик, зависящий от медленного внешнего сервиса, может бесконечно удерживать соединение открытым.
  • HTTP-сервер: маршрутизацияПример HTTP-сервера, который обрабатывает запросы и отправляет разные ответы в зависимости от URL запроса.
  • HTTP-сервер: масштабирование на несколько ядер CPUОдин процесс обрабатывает запросы на одном ядре.
  • HTTP-сервер: события, отправляемые серверомСобытия, отправляемые сервером, передают обновления от сервера браузеру через один долгоживущий HTTP-ответ; API EventSource обеспечивает автоматическое переподключение.
  • HTTP-сервер: раздача файловПример HTTP-сервера, который раздаёт файлы.
  • HTTP-сервер: сеансыСеанс позволяет пользователю оставаться в системе между запросами.
  • HTTP-сервер: потоковая передачаПример HTTP-сервера, который передаёт ответ клиенту в потоковом режиме.
  • HTTP-сервер: TLSDeno.serve работает по HTTPS, если ему передать сертификат и закрытый ключ.
  • HTTP-сервер: проверка подписей вебхуковОтправители вебхуков подписывают каждую доставку, чтобы получатели могли убедиться, что данные отправлены именно ими и не были изменены при передаче.
  • HTTP-сервер: WebSocketПример HTTP-сервера, обрабатывающего запросы WebSocket.
  • Исходящие подключения WebSocketОткрыть WebSocket-соединение для двустороннего обмена данными с Deno в реальном времени очень просто.
  • Передача потоковВ Deno реализованы соответствующие веб-стандартам потоки, которые дают множество преимуществ.
  • Защита маршрутов с помощью JWT в HonoРаспространённый способ аутентификации — выдавать JSON Web Token при входе и требовать его для доступа к защищённым маршрутам.
  • Проксирование HTTP-запросовОбратный прокси-сервер принимает запросы и пересылает их другому серверу.
  • Направление fetch через HTTP-проксиПо умолчанию Deno учитывает переменные окружения HTTP_PROXY, HTTPS_PROXY и NO_PROXY как при загрузке модулей, так и при вызове fetch — без изменений кода.
  • Выполнение DNS-запросовВ некоторых случаях полезно выполнять DNS-запросы.
  • Вход через GitHub (OAuth)Поток авторизации OAuth с кодом позволяет пользователям входить с помощью существующей учётной записи.
  • TCP-клиент: PingПример подключения к TCP-серверу на localhost и отправки ему сообщения «ping».
  • TCP-сервер эхоЭхо-сервер — это простое сетевое приложение, которое ожидает входящие подключения и запросы, а затем отправляет клиентам обратно полученные данные.
  • TCP-слушатель: PingПример TCP-слушателя на localhost: он записывает полученное сообщение и закрывает соединение при подключении.
  • TCP/TLS-клиент: PingПример подключения к TCP-серверу на localhost с использованием TLS и отправки ему сообщения «ping».
  • TCP/TLS-слушатель: PingПример TCP-слушателя на localhost с использованием TLS: он записывает полученное сообщение и закрывает соединение при подключении.
  • Двусторонняя потоковая передача с WebSocketStreamWebSocketStream — основанная на промисах альтернатива событийного API WebSocket.
  • UDP-клиент: PingПример отправки сообщения «ping» UDP-серверу на localhost.
  • UDP-слушатель: PingПример UDP-слушателя на localhost: он записывает полученное сообщение и закрывает соединение при подключении.
  • Обновление TCP-соединения до TLS (STARTTLS)Некоторые протоколы начинают работу в открытом виде и согласовывают шифрование уже во время соединения, вместо того чтобы сразу подключаться через TLS.
  • WebSocket-сервер: широковещательная рассылка сообщенийЧатам, интерактивным панелям и многопользовательским играм нужно одно и то же: доставлять сообщение от одного клиента всем остальным.
  • WebSocket-сервер: состояние для каждого сокетаБольшинству WebSocket-серверов нужно знать, кому принадлежит каждый сокет: имя пользователя, комната, сеанс.

Файловая система

  • Проверка существования каталогаПеред созданием каталога полезно сначала убедиться, что такой каталог ещё не существует.
  • Проверка существования файлаПеред созданием файла полезно сначала убедиться, что такой файл ещё не существует.
  • Преобразование URL файлов в пути и обратноВ Deno модули идентифицируются по URL, а API файловой системы используют пути.
  • Копирование файлаДля копирования файла в Deno достаточно одного вызова.
  • Создание и распаковка tar-архивовВ tar-архив можно объединить множество файлов и каталогов в один файл, обычно сжимая его с помощью gzip и получая знакомый формат .tar.gz.
  • Создание жёстких ссылокЖёсткая ссылка — это второе имя того же файла.
  • Создание и удаление каталоговСоздание и удаление каталогов — распространённая задача.
  • Создание и разрешение символических ссылокСоздание и разрешение символических ссылок — распространённая задача.
  • Удаление файловУдаление файлов и каталогов — распространённая задача.
  • События файловой системыРуководство по отслеживанию изменений файловой системы с помощью Deno.
  • Поиск файлов по шаблонам globШаблоны glob описывают наборы путей к файлам в одной компактной строке: * соответствует внутри сегмента пути, а ** — в разных каталогах.
  • Определение MIME-типа файлаДля передачи файла по HTTP требуется заголовок типа содержимого.
  • Блокировка файлов для разных процессовЕсли два процесса одновременно записывают данные в один файл, результат будет беспорядочным.
  • Перемещение и переименование файловПример перемещения и переименования файлов и каталогов в Deno.
  • Операции с путямиМногим приложениям требуется так или иначе работать с путями к файлам.
  • Чтение и изменение метаданных файловУ каждого файла есть метаданные помимо его содержимого: размер, временные метки, тип и разрешения.
  • Чтение файловМногим приложениям требуется читать файлы с диска.
  • Потоковые операции с файламиИногда требуется более детально управлять операциями с файлами.
  • Временные файлы и каталогиВременные файлы и каталоги используются для хранения данных, которые не должны сохраняться постоянно.
  • Усечение файлаУсечение задаёт файлу точную длину, не перезаписывая его содержимое.
  • Команда Unix catВ Unix команда `cat` — это утилита, которая читает файлы и выводит их в стандартный поток вывода.
  • Обход каталоговПри решении таких задач, как маршрутизация по файловой системе, полезно уметь обходить каталог и посещать файлы.
  • Отслеживание файловой системыПри создании фреймворков или инструментов командной строки часто необходимо отслеживать изменения файловой системы.
  • Пошаговая запись в файлЗаписать файл целиком за один раз удобно, пока объём данных невелик или данные не поступают частями, как при загрузке или записи в журнал.
  • Запись файловМногим приложениям требуется записывать файлы на диск.

Система

  • Вызов функций C с помощью FFIForeign Function Interface позволяет Deno напрямую вызывать функции из нативных динамических библиотек без связующего кода и этапа сборки.
  • Сбор вывода подпроцессовМы нечасто пишем программы в изоляции.
  • Обмен данными с дочерним процессом через IPCКаналы передают байты, но для взаимодействия с рабочим процессом удобнее использовать структурированные сообщения.
  • Создание подпроцессаРуководство по работе с подпроцессами в Deno.
  • Определение TTY и получение размера терминалаПрограмма может проверить, взаимодействует ли она с настоящим терминалом или с каналом.
  • Переменные средыПеременные среды можно использовать для настройки поведения программы или передачи данных между программами.
  • Поиск исполняемого файла в PATHПеред запуском такой программы, как git или ffmpeg, полезно узнать, установлена ли она и где находится.
  • Получение сведений об операционной системеСкриптам часто нужно знать, в какой системе они выполняются, например, чтобы выбрать двоичный файл для конкретной платформы или включить сведения о хосте в журналы.
  • Обработка сигналов ОСРуководство по обработке сигналов операционной системы в Deno.
  • Список сетевых интерфейсовDeno.networkInterfaces перечисляет все сетевые адреса компьютера.
  • Прослушивание сигналов ОСПрослушивать сигналы ОС можно с помощью функции `Deno.addSignalListener`.
  • Передача данных в подпроцесс через каналМногие инструменты командной строки считывают входные данные из stdin.
  • Сведения о процессеПример получения идентификатора текущего процесса и идентификатора родительского процесса.
  • Чтение из stdinИнструменты командной строки, работающие в конвейерах, считывают входные данные из stdin.
  • Построчное чтение ввода с помощью node:readlineМодуль node:readline считывает поток построчно независимо от того, на какие части разбиты байты; он также обеспечивает работу интерактивных запросов во многих программах Node.js.
  • Чтение системных метрикВ этом примере показано, как использовать встроенные методы Deno для чтения системных метрик, таких как сведения о памяти, средняя загрузка и использование памяти.
  • Запуск подпроцесса с пользовательскими env и cwdПодпроцесс обычно наследует переменные среды и рабочий каталог родительского процесса.
  • Установка и чтение кодов завершения процессаКод завершения сообщает оболочке об успехе или ошибке программы: ноль означает успех, любое другое значение — ошибку.
  • Настройка часового поясаDate, Intl и Temporal форматируют время в часовом поясе процесса, который по умолчанию соответствует настройке операционной системы.
  • Подпроцессы: запускВ более сложных случаях нам нужен не просто вывод какой-либо команды.
  • Использование EventEmitter из node:eventsEventEmitter — классический строительный блок Node.js для объектов, генерирующих именованные события; многие пакеты npm предоставляют такие объекты.
  • Использование worker_threads в DenoDeno поддерживает модуль node:worker_threads для переноса задач из основного потока.
  • Запись в stdoutconsole.log подходит для отладки, но инструментам командной строки часто нужен точный контроль над стандартным выводом: без принудительного перевода строки, с необработанными байтами или передачей всего потока по каналу.

Стандартные веб-API

  • Улучшенная отладка с помощью API consoleПодробное руководство по расширенной отладке в консоли Deno.
  • Создание и отправка форм с помощью FormDataFormData собирает пары ключ-значение, включая файлы, а fetch умеет отправлять их в виде multipart-запроса.
  • Кэширование HTTP-ответов с помощью Web Cache APIВ Deno реализован Web Cache API из сервис-воркеров.
  • Отмена асинхронной работы с помощью AbortControllerAbortController создаёт AbortSignal, который может отменять запросы fetch, удалять обработчики событий и останавливать любой код, проверяющий сигнал.
  • Обмен данными между воркерами с помощью BroadcastChannelBroadcastChannel — это именованная шина.
  • Создание и отправка пользовательских событийEventTarget — это система событий, лежащая в основе DOM; её можно использовать как базовый класс для собственных типов.
  • Глубокое клонирование объектов с помощью structuredClonestructuredClone создаёт глубокую копию значения, поэтому изменения в копии никогда не затрагивают оригинал.
  • Распределение задач между воркерами пулаОдин веб-воркер переносит ресурсоёмкие вычисления из основного потока, а пул воркеров задействует все ядра процессора.
  • Экранирование HTML-строкиПодстановка пользовательского ввода в HTML без экранирования открывает путь для межсайтового скриптинга.
  • Извлечение ссылок и метаданных из HTMLПарсеры, проверка ссылок и карточки предварительного просмотра начинаются одинаково: загрузите страницу и извлеките данные из её HTML.
  • Загрузка и потоковая передача данныхРуководство по работе с сетевыми запросами в Deno.
  • Форматирование дат для любой локалиIntl.DateTimeFormat преобразует объект Date в текст с учётом любой локали и часового пояса.
  • Форматирование чисел и валютIntl.NumberFormat форматирует числа с учётом любой локали и стиля.
  • Форматирование относительного времениIntl.RelativeTimeFormat создаёт фразы вроде «3 дня назад» или «через 2 месяца» для любой локали.
  • Цветное логированиеБольшинство современных терминалов умеют отображать журналы программ в цвете и с оформлением текста.
  • Обработка и разбор URLURL — стандартный веб-интерфейс для разбора и обработки URL.
  • Сопоставление URL с помощью URLPatternURLPattern сопоставляет URL с шаблонами маршрутов и извлекает динамические части.
  • Измерение производительности с помощью меток и измеренийAPI производительности измеряет прошедшее время с точностью до миллисекунды.
  • Разбор и форматирование датПовседневная работа с датами включает разбор значения, форматирование для пользователей и выполнение арифметических операций.
  • Образование форм множественного числа и форматирование списковСамодельное образование множественного числа, например добавление s, перестаёт работать, как только вы выходите за пределы английского языка.
  • Запуск вычислительного шейдера с помощью WebGPUWebGPU предоставляет JavaScript прямой доступ к GPU и, в отличие от WebGL, не ограничивается графикой: вычислительные шейдеры выполняют произвольные параллельные вычисления.
  • Установка тайм-аута для fetchУ fetch нет параметра тайм-аута, но он принимает AbortSignal, а AbortSignal.timeout создаёт сигнал, который срабатывает по истечении заданного количества миллисекунд.
  • Установка тайм-аутов и интерваловТаймеры используются для планирования выполнения функций в будущем.
  • Разбиение текста на слова, предложения и графемыРазбиение текста с помощью split или slice по знакам препинания, эмодзи и языкам, в которых не используются пробелы, работает некорректно.
  • API TemporalПример использования API Temporal для работы с датами, временем и временными метками.
  • Преобразование данных с помощью TransformStreamTransformStream находится в середине конвейера потоков и преобразует фрагменты данных по мере их прохождения.
  • WebAssemblyWebAssembly — это бинарный формат для описания данных и инструкций программы.
  • Веб-воркерыВоркеры — единственный способ выполнять JavaScript вне основного потока.

Стандартная библиотека

  • Добавление тайм-аута к любому промисуУ промиса нет встроенного ограничения по времени, поэтому зависший запрос может навсегда остановить программу.
  • Преобразование регистра строкиДля идентификаторов, имён файлов, CSS-классов и столбцов баз данных используются разные соглашения о регистре.
  • Ограничение частоты вызова функцииФункция с ограничением частоты вызова ждёт, пока вызовы прекратятся, и только после этого выполняется.
  • Экранирование текста для регулярных выраженийСоздавать RegExp из пользовательского ввода опасно: такие символы, как скобки и точки, имеют в шаблонах особое значение.
  • Экспоненциальная задержкаЭкспоненциальная задержка — это метод, используемый в компьютерных системах для повторных попыток и предотвращения чрезмерной нагрузки на сервисы.
  • Удобное для восприятия форматирование байтов и длительностиНеобработанные числа, например 1536 байт или 97000 миллисекунд, трудно воспринимать в журналах и пользовательских интерфейсах.
  • Генерация случайных чисел с заданным начальным значениемMath.random не позволяет задать начальное значение, поэтому его нельзя использовать в тестах и симуляциях, которым нужны воспроизводимые случайные числа.
  • Мемоизация ресурсоёмкой функцииМемоизация кэширует результат вызова функции, поэтому повторные вызовы с теми же аргументами выполняются мгновенно.
  • Разбор и сравнение версий semverСтроки версий нельзя сравнивать как обычный текст: при алфавитной сортировке «1.10.0» оказывается перед «1.2.0».
  • Выполнение асинхронных задач с ограничением параллелизмаОдновременная отправка сотен запросов может перегрузить сервер или привести к превышению ограничений частоты запросов.
  • Структурированное журналированиеПакет @std/log направляет записи журнала обработчикам с настраиваемыми уровнями важности.
  • Обработка пользовательских данных с помощью Deno CollectionsПример использования библиотеки Deno @std/collections для обработки пользовательских данных.

Кодирование

  • Сжатие и распаковка данныхСжатие данных перед их хранением или отправкой экономит место и пропускную способность.
  • Сжатие данных с помощью node:zlibМодуль node:zlib встроен в Deno и предлагает больше кодеков и параметров, чем стандартные потоки веб-платформы, включая brotli и синхронные вспомогательные функции для однократного сжатия.
  • Преобразование BlobОбъекты Blob встречаются при работе с файлами или данными multipart-форм, поскольку загруженный файл File тоже является Blob.
  • Преобразование Buffer (node:buffer)API Node.js и многие пакеты npm создают объекты Buffer.
  • Преобразование Node.js ReadableAPI Node.js и пакеты npm часто возвращают Node.js Readable вместо веб-потока ReadableStream.
  • Преобразование ReadableStreamСетевые ответы, файловые дескрипторы и вывод подпроцессов предоставляют ReadableStream.
  • Преобразование строки в байты и обратноДля хеширования, записи файлов и сетевых протоколов нужны байты, а не строки.
  • Преобразование Uint8ArrayUint8Array — основной бинарный тип в Deno: при чтении файлов, получении сетевых данных и вычислении хешей он используется для создания или обработки данных.
  • Преобразование ArrayBufferArrayBuffer — это блок необработанной памяти без собственного интерфейса чтения или записи.
  • Кодирование и декодирование CBORCBOR — двоичный формат сериализации, стандартизированный в RFC 8949.
  • Кодирование и декодирование MessagePackMessagePack — двоичный формат сериализации с той же моделью данных, что и у JSON.
  • Извлечение front matter из MarkdownFront matter — это блок метаданных в начале файла Markdown, ограниченный строками --- и обычно записанный в YAML.
  • Шестнадцатеричное кодирование и base64Бинарные данные часто нужно передавать в текстовом виде — в URL, JSON или HTTP-заголовках.
  • Импорт байтовБинарные файлы можно импортировать в файлы JS и TS с помощью ключевого слова `import`.
  • Импорт JSONФайлы JSON можно импортировать в файлы JS и TS с помощью ключевого слова `import`.
  • Импорт текстаТекстовые файлы можно импортировать в файлы JS и TS с помощью ключевого слова `import`.
  • Работа с массивами байтовПри работе с данными низкого уровня мы часто используем массивы байтов в виде Uint8Array.
  • Разбор и создание XMLПакет @libs/xml на JSR преобразует XML в обоих направлениях: из текста XML в обычные объекты JavaScript и обратно.
  • Разбор больших CSV-файлов в виде потоковЧтение всего CSV-файла в память становится невозможным, когда его размер достигает гигабайтов.
  • Разбор и сериализация CSVCSV — формат сериализации данных, разработанный для обеспечения переносимости в приложениях с табличными данными.
  • Разбор и сериализация INIINI — текстовый формат конфигурации, основанный на парах ключ-значение, которые можно группировать по разделам.
  • Разбор и сериализация JSONJSON — широко используемый формат обмена данными.
  • Разбор и сериализация TOMLTOML — широко используемый язык конфигурации, разработанный так, чтобы быть функциональным и удобным для написания.
  • Разбор и сериализация YAMLYAML — широко используемый язык сериализации данных, разработанный так, чтобы его было легко читать и записывать человеку.
  • Разбор JSONCJSONC — это JSON с комментариями и завершающими запятыми, что делает его более удобным форматом для конфигурационных файлов, редактируемых людьми.
  • Потоковая обработка данных JSON LinesJSON Lines, также называемый NDJSON, хранит одно значение JSON в каждой строке.

CLI

  • Создание CLI с подкомандамиТакие инструменты, как git и сам deno, сначала принимают подкоманду, а затем флаги.
  • Сборка кода с помощью Deno.bundleDeno.bundle компилирует граф модулей в один файл JavaScript, разрешая и встраивая все импорты, включая пакеты jsr: и npm:.
  • Аргументы командной строкиАргументы командной строки часто используются для передачи программе параметров конфигурации.
  • Компиляция скрипта в исполняемый файлПодкоманда deno compile объединяет скрипт и все его зависимости в один автономный бинарный файл.
  • Управление терминалом с помощью escape-кодов ANSIТерминалы интерпретируют специальные последовательности байтов, называемые escape-кодами ANSI, как команды: изменить цвет текста, стереть строку, переместить или скрыть курсор.
  • Отладка с помощью Chrome DevTools
  • Поиск и обновление устаревших зависимостейЗависимости, зафиксированные несколько месяцев назад, незаметно устаревают.
  • Как узнать версию DenoКак проверить используемую версию Deno.
  • Запросы вводаЗапросы используются, чтобы попросить пользователя ввести данные или сообщить о действиях.
  • Анализ памяти с помощью снимков кучиЕсли потребление памяти постоянно растёт, снимок кучи покажет, что её удерживает: полный дамп всех живых объектов, который можно исследовать в Chrome DevTools.
  • Управление разрешениямиИногда в зависимости от разрешений, предоставленных процессу, нужно выполнять разные действия.
  • Расширенный вывод в блокнотах JupyterDeno поставляется с ядром Jupyter, поэтому блокноты могут выполнять TypeScript с полным доступом к API Deno и веб-платформы.
  • Отображение индикаторов выполнения и спиннеровИнструменты командной строки, которые долго выполняются и ничего не выводят, кажутся неисправными.
  • Написание тестов производительности с помощью Deno.benchВ Deno встроен инструмент для запуска тестов производительности.

Криптография

  • Шифрование и расшифрование AESВ этом примере показано шифрование и расшифрование AES с помощью встроенного API SubtleCrypto в Deno.
  • Сравнение секретов за постоянное времяОбычное сравнение, например a === b, завершается сразу после обнаружения первого отличающегося байта, поэтому отклонение значения с правильным первым байтом занимает измеримо больше времени, чем с неправильным.
  • Создание ключей шифрования на основе паролейПароль — это не ключ шифрования: он короткий, обладает низкой энтропией и имеет неподходящий размер для AES.
  • Генерация криптографически стойких случайных значенийТокены сеансов, ссылки для сброса пароля и ключи API должны быть невозможны для угадывания.
  • Генерация и проверка UUIDUUID (универсальный уникальный идентификатор) можно использовать для уникальной идентификации объектов или данных.
  • Хеширование и подпись с помощью node:cryptoDeno поддерживает модуль node:crypto, поэтому зависящие от него пакеты npm работают сразу после установки.
  • Хеширование больших файлов с помощью потоковФункция digest Web Crypto принимает один буфер, поэтому для хеширования файла его сначала нужно целиком загрузить в память.
  • ХешированиеХеширование данных — распространённая операция, которую упрощает поддержка Deno для API Web Crypto.
  • Хеширование и проверка паролейПароли нельзя хранить в открытом виде, а простой хеш, например SHA-256, вычисляется слишком быстро, чтобы противостоять перебору.
  • Создание и проверка HMACВ этом примере показано создание и проверка HMAC (кода аутентификации сообщения на основе хеша) с помощью встроенного API SubtleCrypto в Deno и хеш-функции SHA-256.
  • Подпись и проверка RSASSA-PKCS1-v1_5В этом примере показаны создание и проверка подписи RSA с помощью встроенного API SubtleCrypto в Deno.
  • Разделение секрета ШамираВ этом примере показано разделение секрета Шамира: секрет разбивается на доли, и восстановить его можно, только объединив достаточное количество долей.
  • Подпись и проверка данных с помощью ECDSAЦифровая подпись подтверждает, что сообщение создано владельцем закрытого ключа и не было изменено при передаче.
  • ULIDРаспределённым системам часто требуются идентификаторы.

Тестирование

  • Основы тестированияИзучите ключевые понятия: настройку и структуру тестов, проверки, асинхронное тестирование, имитации, тестовые фикстуры и покрытие кода
  • BDD-тестированиеРеализация разработки через поведение с помощью модуля BDD из стандартной библиотеки Deno.
  • Фильтрация и управление запусками тестовСредство запуска тестов предлагает параметры для повседневной работы: запуск теста по имени, остановка при первой ошибке, повторный запуск при сохранении и распределение файлов тестов по ядрам процессора.
  • Имитации и тестовые двойники
  • Пропуск и выборочное выполнение тестовИногда тест не следует запускать: он ещё не завершён, не работает на одной из платформ или вы хотите сосредоточиться на одном сбойном сценарии.
  • Тестирование снимков
  • Функции-шпионыШпион-функция позволяет проверить, что функция была вызвана с правильными аргументами и заданное число раз.
  • Тестирование веб-приложенийПодробное руководство по тестированию веб-приложений с Deno
  • Использование Testing Library с DenoПроверяйте поведение DOM с помощью @testing-library/dom и happy-dom в deno test: поиск по роли и тексту, имитация событий и необходимые разрешения.
  • Написание тестовОдна из самых распространённых задач при разработке программного обеспечения — написание тестов для существующего кода.

Веб-фреймворки и библиотеки

  • Принимайте платежи с помощью Stripe CheckoutStripe Checkout размещает страницу оплаты для вас.
  • Создайте приложение на FreshПолное руководство по созданию полнофункциональных приложений с Fresh и Deno.
  • Создайте приложение на Next.jsПошаговое руководство по созданию приложения Next.js с Deno.
  • Создайте приложение Nuxt с DenoПошаговое руководство по созданию приложений Nuxt с Deno.
  • Создайте приложение Qwik с DenoПошаговое руководство по созданию приложений Qwik с Deno.
  • Создайте приложение ReactПолное руководство по созданию приложений React с Deno и Vite.
  • Создайте приложение SolidJSСоздайте приложение SolidJS с Deno.
  • Создайте приложение SvelteРуководство по созданию приложений SvelteKit с Deno.
  • Создайте приложение TanstackПолное руководство по созданию приложений с Tanstack и Deno.
  • Создайте типобезопасный API с tRPC и DenoРуководство по созданию типобезопасных API с tRPC и Deno.
  • Создайте приложение VueРуководство по созданию приложений Vue.js с Deno.
  • Создайте приложение для поиска словРуководство по созданию приложения для поиска слов с Deno.
  • Создайте сайт Astro с DenoПошаговое руководство по созданию веб-приложений с Astro и Deno.
  • Создание PDFПакет pdf-lib создает и редактирует документы PDF на чистом JavaScript, поэтому работает везде, где работает Deno, включая Deno Deploy.
  • Создание QR-кодаQR-код содержит короткий текст, обычно URL-адрес, в виде изображения, которое можно отсканировать.
  • Как использовать Apollo с DenoПошаговое руководство по интеграции Apollo GraphQL с Deno.
  • Загрузка файлов на HTTP-серверПример HTTP-сервера, позволяющего отправлять и получать загруженные файлы.
  • Рендеринг HTML-шаблонов с EtaКогда JSX избыточен, строковый шаблонизатор создает HTML из обычных шаблонов и данных.
  • Преобразование Markdown в HTMLМодуль @deno/gfm преобразует GitHub Flavored Markdown в HTML с теми же таблицами, списками задач и подсветкой синтаксиса, что и на GitHub.
  • Изменение размера и преобразование изображенийsharp — стандартная высокопроизводительная библиотека для обработки изображений; она работает в Deno через npm.
  • Отправка электронной почты с ResendТранзакционные письма, например подтверждения регистрации и чеки, часто необходимы.
  • Отправка электронной почты с SendGridSendGrid — широко используемый сервис транзакционной электронной почты.
  • Загрузка файлов в хранилище, совместимое с S3AWS SDK работает с любым хранилищем, совместимым с S3, включая Amazon S3 и Cloudflare R2.
  • Использование Express с DenoПошаговое руководство по использованию Express.js с Deno.
  • Использование Vite с DenoПошаговое руководство по созданию фронтенд-приложения с Vite и Deno.

Базы данных

  • DrizzleПошаговое руководство по созданию приложений для работы с базами данных с помощью Drizzle ORM и Deno.
  • DuckDBС помощью Deno и DuckDB можно подключиться к базе данных в памяти или к постоянной базе данных, указав имя файла.
  • Как использовать Redis с DenoПошаговое руководство по использованию Redis с Deno.
  • MongoDBС помощью официального драйвера MongoDB можно подключиться к базе данных MongoDB, работающей где угодно.
  • MongooseПошаговое руководство по использованию Mongoose с Deno.
  • MySQLПошаговое руководство по использованию MySQL2 с Deno.
  • ОбзорРуководство по подключению к базам данных в Deno.
  • PlanetScaleПошаговое руководство по использованию PlanetScale с Deno.
  • PostgresС помощью клиента Postgres для npm можно подключиться к базе данных Postgres, работающей где угодно.
  • PrismaРуководство по созданию RESTful API с помощью Prisma и Oak в Deno.
  • Быстрый старт с RedisС помощью модуля npm:redis (node-redis) можно подключиться к базе данных Redis, работающей где угодно.
  • SQLiteС помощью модуля `node:sqlite` можно подключиться к локальной базе данных SQLite3 и выполнять основные операции с базой данных.
  • SupabaseПодключение к базе данных Supabase с помощью библиотеки supabase-js.

Deno KV и планирование задач

  • Атомарные транзакции в Deno KVТранзакции Deno KV объединяют операции чтения и записи: либо выполняются все, либо ни одна. При оптимистичном управлении параллелизмом транзакция фиксируется, только если прочитанные ею значения за это время не изменились.
  • Deno CronDeno Cron — встроенный в среду выполнения Deno планировщик задач cron. В Deno Deploy он работает без дополнительной настройки.
  • Отслеживание изменений Deno KVОтслеживание изменений Deno KV позволяет обнаруживать изменения в базе данных KV и упрощает создание приложений реального времени, новостных лент, чатов и других решений.
  • Deno KV: база данных «ключ — значение»Deno KV — встроенная в среду выполнения Deno база данных «ключ — значение», которая работает в Deno Deploy без дополнительной настройки.
  • Очереди DenoОчереди Deno, построенные на основе Deno KV, позволяют передавать выполнение отдельных частей приложения в фоновый режим или планировать асинхронный запуск задач на будущее.

ИИ

  • Создание агента с вызовом функций OpenAIВызов функций позволяет модели вызывать определённые вами функции и действовать на основе полученных результатов.
  • Создание агента с использованием инструментовИспользование инструментов позволяет Claude вызывать определённые вами функции и действовать на основе полученных результатов.
  • Создание сервера MCPModel Context Protocol (MCP) — это стандартный способ предоставления инструментов и данных ИИ-ассистентам, таким как Claude.
  • Подключение клиента к серверу MCPДругая сторона Model Context Protocol: клиент подключается к серверу, обнаруживает предоставляемые им инструменты и вызывает их.
  • Подключение к Claude (API Anthropic)Официальный SDK Anthropic работает в Deno напрямую из npm.
  • Подключение к OpenAI — генерация ответа в чатеВ этом примере показано, как взаимодействовать с API генерации ответов в чате OpenAI с помощью Deno: мы отправляем запрос пользователя и получаем ответ от модели GPT-4.
  • Получение структурированного вывода JSON от ClaudeЕсли вам нужен машиночитаемый вывод, ограничьте ответ Claude схемой JSON с помощью output_config.format.
  • Получение структурированного вывода JSON от OpenAIЕсли вам нужен машиночитаемый вывод, ограничьте ответ схемой JSON с помощью response_format.
  • Чат-приложение с LLMУзнайте, как интегрировать большие языковые модели (LLM) с Deno для создания интерактивного чат-приложения для ролевых игр с ИИ-персонажами с помощью API OpenAI или Anthropic.
  • RAG: обоснование ответа OpenAI вашими документамиГенерация с дополненной выборкой основывает ответ на ваших собственных данных.
  • RAG: обоснование ответа Claude вашими документамиГенерация с дополненной выборкой основывает ответ на ваших собственных данных.
  • Потоковая передача ответа чата от OpenAIОфициальный SDK OpenAI работает в Deno напрямую из npm.
  • Потоковая передача ответа Claude в браузерВ интерфейсе чата токены должны появляться по мере их генерации моделью.
  • Потоковая передача ответа OpenAI в браузерВ интерфейсе чата токены должны появляться по мере их генерации моделью.

Развёртывание проектов Deno

  • AWS ECS FargateПошаговое руководство по развёртыванию приложения Deno в AWS ECS Fargate.
  • AWS LambdaПошаговое руководство по развёртыванию приложений Deno в AWS Lambda.
  • AWS LightsailПошаговое руководство по развёртыванию приложений Deno в AWS Lightsail.
  • Workers CloudflareПошаговое руководство по развёртыванию функций Deno в Cloudflare Workers.
  • Workers Cloudflare с WranglerУзнайте, как создавать и развёртывать приложение Deno в Cloudflare Workers с помощью Wrangler
  • Подключение к базе данных локально и в Deno DeployПодключите базу данных Postgres к локальному серверу разработки с помощью Deno Deploy и функции туннелирования Deno
  • Развёртывание с помощью Deno DeployПошаговое руководство по развёртыванию вашего первого приложения Deno в Deno Deploy.
  • Развёртывание с помощью команды deployПошаговое руководство по использованию команды CLI deno deploy для создания и развёртывания вашего первого приложения в Deno Deploy.
  • DigitalOceanПошаговое руководство по развёртыванию приложений Deno в DigitalOcean.
  • Google Cloud RunПошаговое руководство по развёртыванию приложений Deno в Google Cloud Run.
  • KinstaПошаговое руководство по развёртыванию приложений Deno в Kinsta.
  • Перенос собственного домена в Deno DeployУзнайте, как перенести собственный домен с Deploy Classic в Deno Deploy
  • Использование Deno в Docker

OpenTelemetry

  • Базовая настройка OpenTelemetryНастройте базовую инструментацию OpenTelemetry в приложении Deno.
  • Экспорт телеметрии в GrafanaПолное руководство по экспорту данных телеметрии с помощью OpenTelemetry и Grafana.
  • Экспорт телеметрии в HoneycombПолное руководство по экспорту данных телеметрии с помощью OpenTelemetry и Honeycomb.io.
  • Экспорт телеметрии в HyperdxПолное руководство по экспорту данных телеметрии с помощью OpenTelemetry и HyperDX.
  • OpenTelemetry с Deno DeployПошаговое руководство по добавлению пользовательской инструментации OpenTelemetry в приложение Deno Deploy.
  • Распространение спановРеализуйте сквозную распределённую трассировку с автоматической передачей контекста в приложениях Deno.
  • Просмотр данных телеметрии локального приложенияОтправляйте телеметрию с локального сервера разработки с помощью функции туннелирования Deno

Deno Sandbox

  • Добавление томов с правами на чтение и запись в SandboxДобавьте блочное хранилище с правами на чтение и запись в песочницу Deno.
  • Запуск среды Python с помощью снимковСоздайте песочницу, предварительно загрузите Python и научные пакеты, сохраните снимок и запускайте песочницы без настройки, в которых работает исследователь множества Мандельброта.
  • Мгновенный запуск с помощью снимковИспользуйте образы только для чтения, чтобы создавать изолированные и воспроизводимые среды.
  • Отмена командыУзнайте, как отменять команды в песочнице.
  • Настройка памяти песочницыУзнайте, как настроить объём памяти, выделяемой песочнице
  • Управление временем ожидания песочницыУзнайте, как управлять временем работы песочницы с помощью параметра timeout.
  • Обработка ошибокУзнайте, как обрабатывать ошибки в песочнице.
  • Выполнение JavaScriptВыполнять код JavaScript в песочнице можно с помощью функции `eval`.
  • Интерактивная REPL JavaScriptУзнайте, как предоставить интерактивную REPL Deno в песочнице.
  • Предоставление экземпляра VSCode в песочницеУзнайте, как предоставить экземпляр VSCode в песочнице.
  • Предоставление доступа к песочнице по SSHУзнайте, как предоставить доступ к песочнице по SSH.
  • Запуск кода, сгенерированного ИИAPI Sandbox в Deno Deploy позволяет создавать защищённые микроВМ для безопасного запуска недоверенного кода.
  • Запуск веб-фреймворкаСоздайте package.json, установите зависимости, запустите веб-фреймворк (Express) и предоставьте к нему публичный доступ из песочницы
  • Установка и получение переменных средыУзнайте, как устанавливать и получать переменные среды в песочнице.
  • Запуск дочернего процессаУзнайте, как запускать дочерний процесс и получать буферизованный вывод в песочнице.
  • Передача вывода в локальный файл потокомУзнайте, как передавать вывод потоком в локальный файл в песочнице.
  • Потоковый доступ к строковому и двоичному выводуУзнайте, как получать строковый и двоичный вывод команд в песочнице потоком.
  • Загрузка файлов и каталогов в песочницуУзнайте, как загружать файлы и каталоги в песочницу.
  • Использование шаблонных строк с интерполяцией переменныхУзнайте, как использовать команды с шаблонными строками и интерполяцией переменных в песочнице.

Ой! Вы отфильтровали всё

Попробуйте убрать фильтр, чтобы увидеть примеры.

sad Deno with a grad cap

Документация Deno

  • Среда выполнения Deno
  • Примеры
  • Стандартная библиотека
  • Справочник по API Deno

Документация сервисов

  • Deno Deploy
  • Deno Deploy Classic
  • Deno Subhosting

Сообщество

  • Discord
  • GitHub
  • YouTube
  • Bluesky
  • Mastodon
  • Twitter
  • Рассылка

Помощь и обратная связь

  • Поддержка сообщества
  • Статус системы Deploy
  • Отзывы о Deploy
  • Сообщить о проблеме

Компания

  • Сайт Deno
  • Блог
  • Политика конфиденциальности
  • LLMs

Авторские права © 2026, авторы Deno.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/tutorials

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API