Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 487новых вакансий за сутки·92 551вакансия открыта сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 220
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 402 кандидата открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 105
  • Облачные технологии14 073
  • QA вакансии3 460
  • Backend вакансии2 098
  • Инженер данных1 805
  • Продакт-менеджер1 266

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии979
  • AI вакансии951
  • Frontend вакансии742
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 544
  • Node.js2 018
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP683
  • C++571

DevOps и инфраструктура

  • Kubernetes7 763
  • DevOps вакансии6 057
  • Linux-инфраструктура5 492
  • Terraform / IaC4 261
  • CI/CD3 240
  • Мониторинг и Observability1 783
  • SRE566
  • Кибербезопасность453

Аналитика и данные

  • Data Scientist1 140
  • Бизнес-аналитик930
  • Аналитик данных853
  • Системный аналитик154

Другие направления

  • Проджект-менеджер615
  • UI/UX дизайн146
  • Ручное тестирование14

По регионам

  • Вакансии в США43 685
  • Вакансии в Европе23 862
  • Вакансии в Канаде4 413
  • Работа в России3 909

По формату

  • Удалённые вакансии73 887
  • Релокация в США43 685
  • Гибридная работа12 392
  • Офисная работа7 088

По уровню

  • Senior вакансии42 236
  • Middle вакансии20 545
  • Junior вакансии6 653

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab138 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме AstroВсе вопросы
AstroMiddleТеория

Что такое адаптеры (adapters) в Astro и когда они нужны?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Адаптеры — это плагины, которые упаковывают Astro-приложение под конкретную серверную платформу (Node.js, Vercel, Cloudflare Workers и др.). Они нужны только в SSR-режиме (output: 'server' или 'hybrid').

Установка и настройка

Пример для Node.js:

npx astro add node

Это автоматически установит пакет и добавит его в astro.config.mjs:

import { defineConfig } from 'astro/config';
import node from '@astrojs/node';

export default defineConfig({
  output: 'server',
  adapter: node({
    mode: 'standalone', // или 'middleware'
  }),
});

Что такое адаптеры в Astro

Адаптер — это пакет, который знает, как запустить собранное Astro-приложение на конкретной серверной платформе. При статической сборке (output: 'static') сервер не нужен, поэтому адаптеры там не применяются. Как только вы включаете SSR (output: 'server') или гибридный режим (output: 'hybrid'), Astro требует адаптер, чтобы знать, как обернуть запросы и ответы для конкретной среды выполнения.

Официальные адаптеры

  • @astrojs/node — Node.js (Express, Fastify или standalone HTTP-сервер)
  • @astrojs/vercel — Vercel Edge/Serverless Functions
  • @astrojs/cloudflare — Cloudflare Workers / Pages
  • @astrojs/netlify — Netlify Edge Functions
  • @astrojs/deno — Deno Deploy

Режимы адаптера Node.js

  • standalone — Astro поднимает собственный HTTP-сервер; запуск: node ./dist/server/entry.mjs
  • middleware — экспортирует Express/Connect-совместимый middleware; вы встраиваете его в существующий сервер
// middleware-режим: server.mjs
import express from 'express';
import { handler as ssrHandler } from './dist/server/entry.mjs';

const app = express();
app.use('/static', express.static('./dist/client'));
app.use(ssrHandler);
app.listen(3000);

Адаптер Cloudflare

import { defineConfig } from 'astro/config';
import cloudflare from '@astrojs/cloudflare';

export default defineConfig({
  output: 'server',
  adapter: cloudflare({
    mode: 'directory', // или 'advanced'
    functionPerRoute: false,
  }),
});

После сборки (astro build) деплой выполняется командой wrangler pages deploy ./dist.

Написание собственного адаптера

Адаптер — это объект, реализующий интерфейс AstroAdapter:

export default function myAdapter() {
  return {
    name: 'my-adapter',
    serverEntrypoint: './my-server-entry.mjs',
    hooks: {
      'astro:config:done': ({ setAdapter }) => {
        setAdapter({
          name: 'my-adapter',
          serverEntrypoint: './my-server-entry.mjs',
          supportedAstroFeatures: {
            staticOutput: 'unsupported',
            serverOutput: 'stable',
          },
        });
      },
    },
  };
}

Подводные камни

  • Забыть указать output: 'server' — адаптер без этой настройки не активируется, и SSR-страницы компилируются как статические.
  • Node.js-адаптер в режиме standalone не раздаёт статические файлы из dist/client/ автоматически — нужно настроить nginx или express.static вручную.
  • Cloudflare Workers не поддерживает Node.js API (fs, crypto и др.) без флага nodejs_compat в wrangler.toml.
  • Разные адаптеры имеют разные ограничения на размер бандла, время выполнения и поддержку Web Streams — проверяйте документацию платформы.
  • В гибридном режиме (output: 'hybrid') страницы по умолчанию статические; чтобы сделать маршрут серверным, добавьте export const prerender = false.
  • Переменные окружения на Vercel/Cloudflare нужно добавлять через панель платформы, а не только через .env — локальный .env не читается в продакшне.
  • При использовании @astrojs/vercel в режиме Edge-функций нельзя использовать тяжёлые Node.js-зависимости — среда выполнения ограничена V8 isolates.

Частые вопросы на собеседовании

  • В чём разница между статическим режимом вывода (static output mode) и SSR (server) режимом в Astro?
  • Что такое Astro и какую проблему он решает? В чём его основная философия?
  • Что такое Islands Architecture? Как Astro её реализует?
  • Как Astro работает с контентом? Что такое Content Collections API?

Типичные ошибки

  • Запускать output: 'server' без подключённого адаптера.
  • Использовать в коде Node-only API при деплое на edge-рантайм.
  • Подключать сразу несколько адаптеров.

Что проверяет интервьюер

  • Объясняет роль адаптера и связь с output.
  • Различает Node, edge и serverless рантаймы.
  • Знает, как платформенный контекст пробрасывается в Astro.locals.

Как вы знаете этот вопрос?

Проверить себя по теме Astro →

Источники

  • https://docs.astro.build/en/guides/server-side-rendering/
  • https://docs.astro.build/en/guides/integrations-guide/#official-integrations
←Предыдущий вопросПроект на Astro вырос из небольшого интерфейса в большой продукт. Какие архитектурные проблемы вы ожидаете увидеть?Следующий вопрос→Что такое middleware в Astro и как его реализовать?

Связанные темы

Astroedge-runtimeplatform-integrationserverless-deployment