Backend разработчик на PHP

Современные инструменты и лучшие практики для глубокого понимания процесса разработки на PHP
Подойдет ли мне этот курс?

Длительность

5 месяцев

Начало

29 августа

Занятия

Чт 20:00, Пн 20:00

Общая стоимость

50 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

Хочу дешевле
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
В кредит: 50000 ₽
в месяц
Продолжительность
5 месяцев, 4 академических часа в неделю
Чт 20:00, Пн 20:00
Начало занятий
29 августа
Что даст вам этот курс


  • Глубокое знакомство с библиотеками PHP и особенностями языка

  • Навыки проектирования приложений, работы с базами и файлами, веб-фронтендом

  • Привычку к хорошему и чистому коду

  • Владение тактиками по созданию высоконагруженных систем

Для реализации больших и долгосрочных проектов современному PHP-разработчику необходимо заботиться об архитектуре кода, применять паттерны проектирования, писать код в соответствии с принципами SOLID и поддерживать высокий code coverage своих unit-тестов. Но профессия PHP Backend Developer требует знаний не только языка PHP, а ещё знаний инструментов, таких как базы данных, очереди, кеш-сервера, без которых немыслимо современное веб-приложение.


39 работодателей

Практический выпускной проект в команде или в одиночку

Множество практических домашних заданий, охватывающих полный набор тем

Авторская программа

Всё о курсе «Backend разработчик на PHP», 22 августа в 20:00
День Открытых Дверей — отличная возможность задать вопросы по PHP-разработке, узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. Также преподаватель расскажет о своём профессиональном опыте и ответит на вопросы участников. Поэтому если есть вопрос, запишитесь на онлайн-трансляцию и задайте его в прямом эфире!
Ведет
Александр
Пряхин
Предыдущий день открытых дверей
Преподаватели
Александр Пряхин
Игорь Саханков
Разработчик в Booking.com
Михаил Каморин
Никита Попов
Inspiritum
Василий Никонов
Профессиональный Партнёр

Технический директор E-Commerce проекта с бэкграундом разработки и технического обеспечения веб-приложений. В профессиональном программировании прошел долгий путь от Junior Developer до CTO.

Окончил факультет прикладной математики и физики МАИ (НИУ). Имеет преподавательский опыт в Московском Авиационном институте, а также на базе нескольких платформ дополнительного образования. Разработал различные обучающие курсы: от изучения языка PHP до построения масштабируемых систем и архитектур.



Навыки
Разработка Web-приложений
Кризис-менеджмент
Построение команд
Linux-based системы
PHP, Java, JS
Инженер-программист с более чем 6-летним опытом программирования.

Работал в крупных российских и заграничных компаниях. Являлся техническим руководителем и архитектором проекта для крупного банка.

Магистр по программе MSIT SE CMU Университета Иннополис. В настоящее время является разработчиком в Booking.com.
Закончил факультет вычислительной математики и кибернетики МГУ им. М. В. Ломоносова

Работаю team lead / senior PHP developer в ГК "Urban Intel". Разработал с командой движок поверх Laravel для RAD (rapid application development) на базе мета-программирования и кодогенерации, успешно применяем и расширяем его уже почти 3 года.

Программирую более 18 лет, 10 лет в B2B-разработке, опыт с PHP 7+ лет, с Laravel 3+ лет.
PHP-разработчик в компании в Inspiritum, занимается контейнеризацией сервисов, автоматизацией задач, фильтрацией мобильного трафика, подключением к международным операторам. Знаком с современными решениями и технологиями: docker, clickhouse, postgresql, redis, rabbitmq. Участвовал как в создании проектов с нуля, так и в реализации крупных проектов.

Ранее работал в GlobeXY и Drom.ru, создавал микросервисы, дорабатывал виджеты и логику на серверах, разрабатывал внутренние проекты компании в сотрудничестве с мобильным разработчиком.

Обучал студентов в качестве репетитора, преподавал высшую математику, MySQL, C++, C#. Окончил Национальный исследовательский Томский политехнический университет по специальности «Прикладная математика и информатика».
Заместитель начальника ИТ-отдела в компании «Профессиональный Партнёр»

Опытный PHP-разработчик и апологет системного подхода. Специализируется на автоматизации внутренних бизнес-процессов в финансовом секторе. Решает задачи формализации и описания процессов, а также проектирования, хранения и обработки данных.

Занимался PHP-разработкой в связке с PostgreSQL. Есть интересный опыт по обработке OpenData.

Одно из направлений профессиональной деятельности — офлайн- и онлайн-преподавание.
Александр
Пряхин
Игорь
Саханков
Михаил
Каморин
Никита
Попов
Василий
Никонов
Преподаватели
Александр Пряхин

Технический директор E-Commerce проекта с бэкграундом разработки и технического обеспечения веб-приложений. В профессиональном программировании прошел долгий путь от Junior Developer до CTO.

Окончил факультет прикладной математики и физики МАИ (НИУ). Имеет преподавательский опыт в Московском Авиационном институте, а также на базе нескольких платформ дополнительного образования. Разработал различные обучающие курсы: от изучения языка PHP до построения масштабируемых систем и архитектур.



Навыки
Разработка Web-приложений
Кризис-менеджмент
Построение команд
Linux-based системы
PHP, Java, JS
Игорь Саханков
Разработчик в Booking.com
Инженер-программист с более чем 6-летним опытом программирования.

Работал в крупных российских и заграничных компаниях. Являлся техническим руководителем и архитектором проекта для крупного банка.

Магистр по программе MSIT SE CMU Университета Иннополис. В настоящее время является разработчиком в Booking.com.
Михаил Каморин
Закончил факультет вычислительной математики и кибернетики МГУ им. М. В. Ломоносова

Работаю team lead / senior PHP developer в ГК "Urban Intel". Разработал с командой движок поверх Laravel для RAD (rapid application development) на базе мета-программирования и кодогенерации, успешно применяем и расширяем его уже почти 3 года.

Программирую более 18 лет, 10 лет в B2B-разработке, опыт с PHP 7+ лет, с Laravel 3+ лет.
Никита Попов
Inspiritum
PHP-разработчик в компании в Inspiritum, занимается контейнеризацией сервисов, автоматизацией задач, фильтрацией мобильного трафика, подключением к международным операторам. Знаком с современными решениями и технологиями: docker, clickhouse, postgresql, redis, rabbitmq. Участвовал как в создании проектов с нуля, так и в реализации крупных проектов.

Ранее работал в GlobeXY и Drom.ru, создавал микросервисы, дорабатывал виджеты и логику на серверах, разрабатывал внутренние проекты компании в сотрудничестве с мобильным разработчиком.

Обучал студентов в качестве репетитора, преподавал высшую математику, MySQL, C++, C#. Окончил Национальный исследовательский Томский политехнический университет по специальности «Прикладная математика и информатика».
Василий Никонов
Профессиональный Партнёр
Заместитель начальника ИТ-отдела в компании «Профессиональный Партнёр»

Опытный PHP-разработчик и апологет системного подхода. Специализируется на автоматизации внутренних бизнес-процессов в финансовом секторе. Решает задачи формализации и описания процессов, а также проектирования, хранения и обработки данных.

Занимался PHP-разработкой в связке с PostgreSQL. Есть интересный опыт по обработке OpenData.

Одно из направлений профессиональной деятельности — офлайн- и онлайн-преподавание.
Минимальные знания

- Опыт разработки на PHP от одного года или опыт разработки на другом языке от 3 лет (приветствуются любые языки ООП).
- Знание основных структур данных и алгоритмов, принципов ООП, опыт работы с базами данных и понимание основ веб-разработки облегчат прохождение курса для программиста, но не являются обязательными.
Процесс обучения
Продолжительность курса 5 месяцев, четыре из которых - обучение, а на пятом учащиеся разделятся на команды и будут реализовывать микросервис, используя гибкие методологии разработки.

Формат проведения занятий - 2 раза в неделю по 2 академических часа (1.5 астрономических часа) и 4 академических часа на домашнюю работу в неделю.
Программа обучения
Модуль 1
General Knowledge
Модуль 2
Databases
Модуль 3
Developing
Модуль 4
Architecture & HighLoad
Модуль 5
Проектный модуль
General Knowledge
Тема 1: Подготовка к курсу
познакомиться
29 августа, 20:00 — 21:30
Тема 2: Виртуализация, контейнеры и облачные вычисления
организация рабочего пространства
2 сентября, 20:00 — 21:30
Домашние задания: 2
1 Провести экономическое сравнение Приватного и Публичного облаков
Выберите в качестве примера свою текущую компанию (или компанию, в которой хотите работать), коротко опишите ее (количество сотрудников, сфера, приоритеты)

Сравните целесообразность разворачивания своей инфраструктуры или аренды публичного облака (можно выбрать любого провайдера)
2 Основы работы с Docker
* Установить Docker себе на машину
* С помощью Dockerfile настроить статический сайт (можно использовать nginx образ)
Тема 3: Linux
выровнять знания в области Linux-based серверов
5 сентября, 20:00 — 21:30
Домашние задания: 2
1 Консольная команда Sum
Написать консольное приложение (bash-скрипт), который принимает два числа и выводит их сумму в стандартный вывод.

Если предоставлены неверные аргументы (для проверки на число можно использовать регулярное выражение) вывести ошибку в консоль.
2 Анализ таблицы пользователей
Имеется таблица следующего вида:

id user city phone
1 test Moscow 1234123
2 test2 Saint-P 1232121
3 test3 Tver 4352124
4 test4 Milan 7990923
5 test5 Moscow 908213

Таблица хранится в текстовом файле.

Вывести на экран 3 наиболее популярных города среди пользователей системы, используя утилиты Линукса.

Подсказка: рекомендуется использовать утилиты uniq, awk, sort, head.
Тема 4: Основы PHP
выровнять знания языка PHP
9 сентября, 20:00 — 21:30
Домашние задания: 3
1 Установить расширение двумя способами
Необходимо установить любое расширение через pecl и через make.
- прислать скриншот команды pecl list, где должно значиться расширение + вывод функции `php -i | grep "ваше расширение"`
- прислать вывод команды make, т.е. `make > make_output.txt` + вывод функции `php -i | grep "ваше расширение"`
2 Создание собственного расширения
Необходимо создать расширение, и выложить в git и на packagist.org
- прислать команду для клонирования с гита
- прислать команду для установки через composer
3 Создать Docker-образ для работы
Необходимо создать образ, который будет включать:
- образ php, берем с https://hub.docker.com/_/php/
- необходимые утилиты (git, curl, wget, grep...)
- установленный composer
- установленные расширения redis, memcached, pecl_http, pdo_pgsql
Тема 5: PHP in CLI
научиться работать с консольным PHP
12 сентября, 20:00 — 21:30
Домашние задания: 2
1 Сокеты
Написать два PHP скрипта, который запускаются на одной машине и обмениваются сообщениями через unix-сокеты
2 Утилита для исправления опечаток
Существует утилита The fuck (https://github.com/nvbn/thefuck )

Написать аналог на php для одной команды ( например git commit)
Тема 6: PHP WebServers
выровнять знания о веб-серверах
16 сентября, 20:00 — 21:30
Домашние задания: 2
1 Простое веб-приложение в docker
Используя Docker, вы описали сборку двух контейнеров – один с nginx, второй – с php-fpm и вашим кодом.
Используя docker-compose вы запускаете оба контейнера.
Контейнер с nginx пробрасывает 80 порт на вашу хостовую машину и ожидает соединений.
Клиент соединяется, и шлёт следующий HTTP-запрос:

POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 48

string=(()()()()))((((()()()))(()()()(((()))))))

String - это POST-параметр, который можно проверять:
1. [ обязательно ] На длину и непустоту
2. [ по желанию ] На корректность кол-ва открытых и закрытых скобок

Все запросы с динамическим содержимым (*.php) nginx, используя директиву fastcgi_pass, проксирует в контейнер с php-fpm и вашим кодом.
Nginx должен обрабатывать запросы не обращая внимания на директиву Host. После обработки,
• если строка корректна, то пользователю возвращается ответ 200 OK, с информационным текстом, что всё хорошо;
• если строка некорректна, то пользователю возвращается ответ 400 Bad Request, с информационным текстом, что всё плохо.
2 Docker-окружение для Laravel
Цель: Развернуть на двухконтейнерном окружении (nginx+php-fpm) базовую установку Laravel. https://laravel.com/docs/5.8/installation
Тема 7: Сети, протоколы. Балансировка
обеспечить понимание сетевого взаимодействия и отказоустойчивости
19 сентября, 20:00 — 21:30
Домашние задания: 2
1 Приложение верификации email
Реализовать приложение (сервис/функцию) для верификации email.
Реализация будет в будущем встроена в более крупное решение.
Минимальный функционал - список строк, которые необходимо проверить на наличие валидных email.
Валидация по регулярным выражения и проверке DNS mx записи, без полноценной отправки письма-подтверждения.
2 Балансировка при помощи NGINX
Цель: Создать как минимум три машины/контейнера 1. Балансировщик nginx-upstream 2. Балансируемые бэкенды на nginx+php-fpm
Тема 8: Безопасность
обеспечение безопасности кода и приложения
23 сентября, 20:00 — 21:30
Домашние задания: 1
1 Сканер уязвимостей (OpenVAS)
Установить сканер уязвимостей OpenVAS (использовать готовые сборки или собрать самостоятельно).
Просканировать свои проекты.
Результат работы сканера в PDF в чат по ДЗ.
Если найдены уязвимости - внести исправления (код, настройки). Повторное сканирование, результат работы сканера в PDF в чат по ДЗ.
Рекомендуем использовать на регулярной основе.

Если своего проекта нет, то выбираем сайт (желательно что-то небольшое - там больше вероятность что-то найти), и строим отчёт с рекомендациями.
Тема 9: Командная разработка
научиться производить код коллективно
26 сентября, 20:00 — 21:30
Домашние задания: 1
1 Клиент для вашей библиотеки должен работать по протоколу HTTP.
Для этого, используя docker compose, вы создадите два контейнера, один с nginx, а второй с php-fpm и приложением, использующим библиотеку.
Databases
Тема 1: Основные понятия баз данных
выравниваем знания о БД
30 сентября, 20:00 — 21:30
Домашние задания: 1
1 Необходимо спроектировать схему базы данных для одного из предложенных проектов.
Спроектировать базу данных, для планировщика задач (каких угодно на ваш выбор).
Тема 2: PostgreSQL для администратора
углубляемся в аспекты работы с СУБД
3 октября, 20:00 — 21:30
Домашние задания: 1
1 Практическая отработка навыков с вебинаров
Тема 3: PostgreSQL для разработчика
научиться организовывать логику на уровне данных
7 октября, 20:00 — 21:30
Домашние задания: 1
1 Футбольная база данных
Вам предоставлена Футбольная база данных группого тура чемпионата Мира по футболу 2018 года.
Придумайте и сформулируйте 10 вопросов по этой базе данных и составьте SQL запросы для нахождения ответов.
Приложите ссылку на файл с вопросами и запросами. Работы будут проверяться с обратной связью.
Тема 4: Как устроен PostgreSQL
заглянуть под капот СУБД
10 октября, 20:00 — 21:30
Домашние задания: 1
1 Индексы, XML и PHP.
Создать большую базу данных из XML файлов.
Создать РНР скрипт для генерации данных.
Создать/удалить индексы, проверить время выполнения запросов
Тема 5: Другие SQL-решения
посмотреть на рынок хранилищ
14 октября, 20:00 — 21:30
Тема 6: MongoDB
углубляемся в NoSQL
17 октября, 20:00 — 21:30
Домашние задания: 1
1 Приложение для анализа каналов на Youtube
Создать приложение для анализа каналов на Youtube:
1. Создать структуру/структуры хранения информации о канале и видео канала в mongoDB, описать в виде JSON с указанием типов полей. Описать какие индексы понадобятся в данной структуре?
2. Создать необходимые модели для добавления и удаления данных из коллекций
3. Реализовать класс статистики, который может возвращать:
- Суммарное кол-во лайков и дизлайков для канала по всем его видео
- Топ N каналов с лучшим соотношением кол-во лайков/кол-во дизлайков
4*. Можно создать паука, который будет ходить по Youtube и наполнять базу данными
Тема 7: Redis
изучаем один из самых популярных инструментов кэширования в web
21 октября, 20:00 — 21:30
Домашние задания: 1
1 Система хранения событий для аналитики
Аналитик хочет иметь систему со следующими возможностями:
1) Система должна хранить события, которые в последующем будут отправляться сервису событий
2) События характеризуются важностью (аналитик готов выставлять важность в целых числах)
3) События характеризуются критериями возникновения. Событие возникает только если выполнены все критерии его возникновения. Для простоты все критерии заданы так: <критерий>=<значение>

Таким образом предположим, что аналитик заносит в систему следующие события:
{
priority: 1000,
conditions: {
param1 = 1
},
event: {
::event::
},
},
{
priority: 2000,
conditions: {
param1 = 2,
param2 = 2
},
event: {
::event::
},
},
{
priority: 3000,
conditions: {
param1 = 1,
param2 = 2
},
event: {
::event::
},
},

От пользователя приходит запрос:
{
params: {
param1 = 1,
param2 = 2
}
}

Под этот запрос подходят первая и третья запись, т.к. в них обеих выполнены все условия, но приоритетнее третья, так как имеет больший priority.

Написать систему, которая будет уметь:
1) добавлять новое событие в систему хранения событий
2) очищать все доступные события
3) отвечать на запрос пользователя наиболее подходящим событием
4) использовать для хранения событий redis
Тема 8: PHP и базы данных
объединяем код и данные
24 октября, 20:00 — 21:30
Домашние задания: 1
1 Реализация одного из паттернов работы с хранилищем данных
Необходимо реализовать один из паттернов: Table Data Gateway, Raw Data Gateway, Active Record, DataMapper для произвольной таблицы. Паттерн должен содержать метод массового получения информации из таблицы, результат которого возвращается в виде коллекции.
Дополнительно можно использовать паттерн Identity Map для устранения дублирования объектов, ссылающихся на одну строку в БД или Lazy Load для отложенной загрузки связанных записей в таблице или коллекции.
Developing
Тема 1: Парадигмы программирования
познакомиться с фундаментальными принципами построения приложений
28 октября, 20:00 — 21:30
Тема 2: Архитектура кода
знакомство с принципами построения взаимодействия сущностей в коде
31 октября, 20:00 — 21:30
Тема 3: Design patterns
узнать или улучшить понимание паттернов проектирования кода
4 ноября, 20:00 — 21:30
Тема 4: Практики хорошего кода
чуть ближе подойти к понятию "хорошего кода"
7 ноября, 20:00 — 21:30
Тема 5: Введение в тестирование
узнать, почему тестирование - залог крепкого сна команды разработки
11 ноября, 20:00 — 21:30
Домашние задания: 1
1 None
Разработанное ранее мини приложение необходимо покрыть unit-тестами, используя PHPUnit и добиться code coverage в минимум 70%
Тема 6: Unit-тестирование
чуть глубже рассмотрим один из аспектов автоматического тестирования
14 ноября, 20:00 — 21:30
Тема 7: Алгоритмы. Начало
получить фундаментальные знания о классических алгоритмах
18 ноября, 20:00 — 21:30
Домашние задания: 1
1 Необходимо реализовать один из предложенных алгоритмов на деревьях.
Тема 8: Алгоритмы. Продолжение
узнать о деревьях, графах и алгоритмах их обработки
21 ноября, 20:00 — 21:30
Architecture & HighLoad
Тема 1: Очереди
изучить основной инструмент работы асинхронных отказоустойчивых приложений - очереди
25 ноября, 20:00 — 21:30
Домашние задания: 1
1 None
Используя мини-приложение, разработанное в прошлом модуле, необходимо реализовать Rest API с использованием очередей. Ваши клиенты будут отправлять запросы на обработку, а вы будете складывать их в очередь и возвращать номер запроса. В фоновом режиме вы будете обрабатывать запросы, а ваши клиенты периодически, используя номер запроса, будут проверять статус его обработки.
Тема 2: Проектирование API
узнать, что такое API и зачем он нужен
28 ноября, 20:00 — 21:30
Тема 3: Профилирование и логирование
учимся анализировать работу приложения
2 декабря, 20:00 — 21:30
Тема 4: Репликация
изучить важный инструмент обеспечения отказоустойчивости БД
5 декабря, 20:00 — 21:30
Тема 5: Шардинг
усиливаем отказоустойчивость хранилищ
9 декабря, 20:00 — 21:30
Тема 6: Кеширование
усилить знания о кэшировании в Highload-системах
12 декабря, 20:00 — 21:30
Тема 7: Deploying
познакомиться с понятиями деплоя и сборок
16 декабря, 20:00 — 21:30
Домашние задания: 1
1 None
Используя выбранный инструмент автоматического деплоя, необходимо реализовать автоматическую выкатку написанного ранее мини-приложения на собственный виртуальный сервер.
Тема 8: Site Reliability Engineering
узнать о best practices обеспечения производительности и отказоустойчивости
19 декабря, 20:00 — 21:30
Проектный модуль
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Например:
1. Система для обучения работы на PHP (аналог CodeAcademy + HackerRank)
2. Bot в телеграмм, позволяющий найти перелеты/отели
3. Анализ GitHub на наличие интересных проектов (рост коммитов, звездочек). Как продолжение поиск лучших контрибьютеров
4. Создать масштабируемую новостную ленту с множеством интеграций
5. Свой проект
Тема 1: Консультация по проектам
Обсуждение тем проектов, вопросы и ответы
23 декабря, 20:00 — 21:30
Домашние задания: 1
1 Проект
Тема 2: Презентация проектов
Подведение итогов курса и презентация реализованных проектов
26 декабря, 20:00 — 21:30
Выпускной проект
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Например:
1. Система для обучения работы на PHP (аналог CodeAcademy + HackerRank)
2. Bot в телеграмм, позволяющий найти перелеты/отели
3. Анализ GitHub на наличие интересных проектов (рост коммитов, звездочек). Как продолжение поиск лучших контрибьютеров
4. Создать масштабируемую новостную ленту с множеством интеграций
5. Свой проект
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Окружение веб-приложений: виртуальные машины, контейнеры, облачные решения
Александр Пряхин
День открытых дверей
21 мая в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы
- получите полное представление о разработке больших и высоконагруженных веб-приложений
- получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов)
- существенно повысите свою компетенцию в сфере разработки на PHP
- научитесь разрабатывать коммерческие приложения самостоятельно и в команде
- получите сертификат об окончании курса
- получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе)
Дата выдачи сертификата: 4 марта 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Backend разработчик на PHP»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Backend разработчик на PHP»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
29 августа