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

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

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python17 129
  • Облачные технологии14 088
  • QA вакансии3 457
  • Backend вакансии2 115
  • Инженер данных1 805
  • Продакт-менеджер1 262

Разработка

  • Android1 865
  • iOS1 698
  • Fullstack вакансии989
  • AI вакансии949
  • Frontend вакансии744
  • Mobile вакансии44

По стеку

  • Go8 660
  • Java6 550
  • Node.js2 020
  • .NET1 722
  • Kotlin1 619
  • Rust1 455
  • C#711
  • PHP683
  • C++572

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

  • Kubernetes7 769
  • DevOps вакансии6 056
  • Linux-инфраструктура5 493
  • Terraform / IaC4 266
  • CI/CD3 250
  • Мониторинг и Observability1 788
  • SRE567
  • Кибербезопасность453

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

  • Data Scientist1 141
  • Бизнес-аналитик927
  • Аналитик данных854
  • Системный аналитик153

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

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

По регионам

  • Вакансии в США44 281
  • Вакансии в Европе23 875
  • Вакансии в Канаде4 475
  • Работа в России3 922

По формату

  • Удалённые вакансии75 035
  • Релокация в США44 281
  • Гибридная работа12 401
  • Офисная работа7 079

По уровню

  • Senior вакансии42 679
  • Middle вакансии20 894
  • Junior вакансии6 722

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

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab137 вакансий
  • Celonis39 вакансий
  • Spotify37 вакансий
  • Adyen28 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

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

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

Как Astro работает с переменными окружения? Что такое import.meta.env?

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

import.meta.env — объект с переменными окружения в Astro. Серверные переменные доступны только во frontmatter, клиентские (с префиксом PUBLIC_) — и в клиентском JS тоже.

Серверные и клиентские переменные

Переменные без префикса доступны только на сервере (frontmatter, SSR, эндпоинты). Переменные с префиксом PUBLIC_ встраиваются в клиентский бандл и доступны везде.

# .env
DATABASE_URL=postgresql://user:pass@localhost/db   # только сервер
PUBLIC_API_URL=https://api.example.com             # сервер + клиент
PUBLIC_ANALYTICS_ID=UA-12345678                    # сервер + клиент

Переменные окружения в Astro

Astro использует Vite под капотом, поэтому переменные окружения работают аналогично Vite-проектам. Файлы .env, .env.local, .env.production, .env.development автоматически подгружаются в соответствии с текущим режимом.

Объект import.meta.env

Все переменные окружения доступны через import.meta.env. Astro добавляет несколько встроенных:

  • import.meta.env.MODE — текущий режим: 'development' или 'production'
  • import.meta.env.PROD — true в продакшне
  • import.meta.env.DEV — true в разработке
  • import.meta.env.BASE_URL — базовый URL приложения (из конфига base)
  • import.meta.env.SITE — значение site из astro.config.mjs

Использование во frontmatter

---
// src/pages/index.astro
const dbUrl = import.meta.env.DATABASE_URL;       // OK — только сервер
const apiUrl = import.meta.env.PUBLIC_API_URL;    // OK — доступно везде

const data = await fetch(`${apiUrl}/posts`).then(r => r.json());
---

<p>API: {apiUrl}</p>

Использование в клиентском скрипте

---
// frontmatter (сервер)
---

<script>
  // Этот код выполняется в браузере
  const apiUrl = import.meta.env.PUBLIC_API_URL; // OK
  // import.meta.env.DATABASE_URL — undefined в браузере!

  const res = await fetch(`${apiUrl}/posts`);
</script>

TypeScript-типизация переменных

Добавьте типы в src/env.d.ts:

/// <reference types="astro/client" />

interface ImportMetaEnv {
  readonly DATABASE_URL: string;
  readonly PUBLIC_API_URL: string;
  readonly PUBLIC_ANALYTICS_ID: string;
}

interface ImportMeta {
  readonly env: ImportMetaEnv;
}

Переменные по режимам

# .env.development
PUBLIC_API_URL=http://localhost:3001

# .env.production
PUBLIC_API_URL=https://api.example.com

Запуск в конкретном режиме: astro build --mode staging загрузит .env.staging.

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

  • Переменные без префикса PUBLIC_ в клиентских скриптах (<script>) будут undefined — не надеяться на них в браузере.
  • .env.local игнорируется в CI-средах по умолчанию — добавляйте переменные напрямую в CI-конфиг (GitHub Secrets, Vercel env vars).
  • Переменные встраиваются в бандл на этапе сборки статически — изменение PUBLIC_-переменной требует пересборки.
  • Не помещайте реальные секреты (API-ключи, пароли) в PUBLIC_-переменные — они видны в исходном коде браузера.
  • Порядок загрузки: .env.{mode}.local > .env.local > .env.{mode} > .env — более специфичные файлы перезаписывают общие.
  • В Node.js-адаптере переменные из process.env доступны отдельно от import.meta.env — убедитесь, что не смешиваете их.

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

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

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

  • Дать секрету префикс PUBLIC_ и слить его в клиент.
  • Полагаться на process.env в edge-рантайме.
  • Хранить продакшен .env в репозитории.

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

  • Знает правило про префикс PUBLIC_.
  • Помнит про astro:env и его секции client/server.
  • Понимает специфику Cloudflare runtime.

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

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

Источники

  • https://docs.astro.build/en/guides/environment-variables/
  • https://docs.astro.build/en/reference/configuration-reference/#env
←Предыдущий вопросКак реализовать i18n в Astro?

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

Astroenv-managementruntime-configsecret-handling