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

+1 074новые вакансии за сутки·91 191вакансия открыта сейчас·Новое:Talanto осенью: фильтры с числами, отклик по шагам и каталог компаний

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python17 172
  • Облачные технологии14 136
  • QA вакансии3 451
  • Backend вакансии2 051
  • Инженер данных1 762
  • Продакт-менеджер1 226

Разработка

  • Android1 854
  • iOS1 694
  • Fullstack вакансии978
  • AI вакансии944
  • Frontend вакансии735
  • Mobile вакансии43

По стеку

  • Go8 740
  • Java6 589
  • Node.js2 029
  • .NET1 734
  • Kotlin1 615
  • Rust1 473
  • C#715
  • PHP692
  • C++581

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

  • Kubernetes7 760
  • DevOps вакансии6 073
  • Linux-инфраструктура5 498
  • Terraform / IaC4 270
  • CI/CD3 273
  • Мониторинг и Observability1 791
  • SRE553
  • Кибербезопасность444

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

  • Data Scientist1 115
  • Бизнес-аналитик916
  • Аналитик данных832
  • Системный аналитик153

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

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

По регионам

  • Вакансии в США42 450
  • Вакансии в Европе23 519
  • Вакансии в Канаде4 333
  • Работа в России3 786

По формату

  • Удалённые вакансии72 089
  • Релокация в США42 450
  • Гибридная работа12 458
  • Офисная работа7 066

По уровню

  • Senior вакансии41 491
  • Middle вакансии20 265
  • Junior вакансии6 499

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

Все компании
  • Rakuten189 вакансий
  • Wise189 вакансий
  • ASML166 вакансий
  • Grab137 вакансий
  • Celonis38 вакансий
  • Spotify37 вакансий
  • Adyen28 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace17 вакансий

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

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

Что такое Phoenix generators и как они ускоряют разработку?

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

Phoenix generators — mix-задачи (phx.gen.schema, phx.gen.context, phx.gen.html, phx.gen.json, phx.gen.live, phx.gen.auth), которые генерируют Ecto-схемы, миграции, контроллеры, шаблоны и тесты одной командой, устраняя ручной boilerplate.

mix phx.gen.schema

Создаёт только Ecto-схему и миграцию без HTTP-слоя.

mix phx.gen.schema Blog.Post posts title:string body:text published:boolean views:integer

Генерирует: lib/my_app/blog/post.ex и priv/repo/migrations/TIMESTAMP_create_posts.exs.

Phoenix generators: что это и зачем нужны

Phoenix generators — это mix-задачи, которые генерируют шаблонный код по одной команде. Они создают модели, миграции, контроллеры, шаблоны, тесты и роуты, избавляя от ручного написания boilerplate. Код генерируется один раз и сразу становится вашим — его можно редактировать без ограничений.

Основные генераторы

mix phx.gen.context

Создаёт схему, миграцию и контекст-модуль с CRUD-функциями.

mix phx.gen.context Blog Post posts title:string body:text user_id:references:users

Генерирует модуль MyApp.Blog с функциями list_posts/0, get_post!/1, create_post/1, update_post/2, delete_post/1, change_post/1.

mix phx.gen.html

Генерирует полный стек: контекст + HTML-контроллер + HEEx-шаблоны + тесты.

mix phx.gen.html Blog Post posts title:string body:text

Создаёт: контроллер, шаблоны index/show/new/edit/form, тесты, и подсказывает добавить роут в router.ex: resources "/posts", PostController.

mix phx.gen.json

То же самое, но для JSON API без шаблонов — создаёт view-модули и fallback контроллер.

mix phx.gen.json Accounts User users name:string email:string:unique

mix phx.gen.live

Генерирует LiveView-стек: контекст + LiveView-модули + компоненты.

mix phx.gen.live Blog Post posts title:string body:text

Создаёт PostLive.Index, PostLive.Show, PostLive.FormComponent и соответствующие HEEx-шаблоны.

mix phx.gen.auth

Генерирует полную систему аутентификации: регистрация, вход, сброс пароля, сессии, токены.

mix phx.gen.auth Accounts User users

Создаёт ~25 файлов: контроллеры, LiveView-формы, Ecto-схему с хешированием пароля через bcrypt, миграции, тесты. Это наиболее ценный генератор — заменяет недели работы.

mix phx.gen.channel

mix phx.gen.channel Room

Генерирует WebSocket-канал RoomChannel с заглушками для join/3, handle_in/3 и тест.

Типы полей в генераторах

  • string, text, integer, float, boolean, map, array
  • references:table_name — внешний ключ
  • Модификаторы: :unique, :null, :size:255
mix phx.gen.schema Order orders \
  user_id:references:users \
  total:decimal \
  status:string \
  meta:map

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

  • Генераторы создают отправную точку, а не production-ready код — валидации, индексы и бизнес-логику нужно добавлять вручную.
  • phx.gen.auth добавляет bcrypt — не забудьте добавить bcrypt_elixir в зависимости до запуска генератора.
  • Роуты не добавляются автоматически — генератор только показывает, что добавить в router.ex.
  • При повторном запуске генератор перезаписывает файлы без предупреждения (с флагом --force).
  • mix phx.gen.html создаёт тесты с реальными HTTP-запросами к БД — нужна тестовая БД.
  • Схема и контекст создаются отдельно, но gen.html создаёт оба — это может дублировать файлы.
  • Модификатор :unique добавляет уникальный индекс в миграцию, но не валидацию в changeset — она нужна отдельно.
  • Генераторы не поддерживают полиморфные ассоциации — их нужно реализовывать вручную.

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

  • Как планировать zero-downtime deploy Phoenix-приложения с Ecto migrations и rolling releases?
  • Что такое Plugs в Phoenix и как работает plug-конвейер?
  • Чем Phoenix отличается от Rails или Django по архитектуре?
  • В чём разница между Phoenix templates (.heex) и традиционными EEx-шаблонами?

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

  • Сводить generators к названию метода без lifecycle и failure path.
  • Игнорировать модель runtime: Phoenix 1.8 работает поверх Plug, Endpoint, Router, Controllers/LiveViews, PubSub и OTP supervision.
  • Не отделять validation, authorization, transaction boundary и business logic.

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

  • Объясняет generators через конкретную точку lifecycle в Phoenix (Elixir).
  • Приводит корректный минимальный пример без вымышленных методов или callbacks.
  • Называет edge cases: пустые значения, ошибки, транзакции, безопасность или concurrency.

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

Проверить себя по теме Phoenix (Elixir) →

Источники

  • https://hexdocs.pm/phoenix/Mix.Tasks.Phx.Gen.Html.html
  • https://hexdocs.pm/phoenix/

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

Phoenix (Elixir)Backend-Engineeringphoenix-ecosystem