СПбГУ1 February 2022 - 31 December 2024 г.Program started

Расширенный Full-stack. От идеи до MVP. Графы на практике

Подсевалов Иван Алексеевичopenedu

Записаться на курс
Данная программа состоит из двух курсов:  Курс 1. Расширенный Full-stack. От идеи до MVP Основная цель, которую мы закладываем в первый курс - демонстрация всего пути разработки от установки инструментария, библиотек и прочих зависимостей до загрузки минимально жизнеспособного продукта в облако. Мы не будем акцентировать внимание на теоретической части, сделаем упор в практическую составляющую процесса. Большая часть времени - написание кода или работа с интерфейсами сервисов. В ходе курса мы покажем своё видение на процесс разработки. Будут даны самые начальные теоретические сведения о React и Flutter; обсудим и покажем как управлять состоянием клиентского приложения с помощью паттернов Redux и BLoС. Подчеркнем, это не начальный курс по всем используемым технологиям, это курс-интегратор определенного набора сведений воедино в целях получения готового программного продукта. Безусловно, такой подход потребует от слушателя, еще не прошедшего подобного пути, максимальной концентрации внимания и желания самостоятельно углубиться в дивный мир современных технологий. Можно рассматривать данный курс как шаблон для создания ПО на начальных этапах работы разработчика. Действующая web-версия разрабатываемого ПО расположена по адресу: https://nomref.xyz   Курс 2. Расширенный Full-stack. Графы на практике Данный курс посвящён основам теории графов и применению их на практике. Отметим, что мы не задаёмся целью реализовать конечный программный продукт или дать исчерпывающее введение в теорию графов. Вместо этого мы на реальных примерах постараемся показать, что знание хотя бы некоторых основ теории графов может оказаться очень полезным. Нам предстоит сделать определенные шаги в сторону понимания того, как использовать теорию на практике, преимущественно мы будем писать фрагменты кода, которые пригодятся в дальнейшем.  Современная разработка ПО предполагает освоение множества технологий и постоянное обновление знаний вслед за стремительно меняющимся набором популярных программ и языков. Этот процесс освоения технологий крайне энергозатратен и отнимает большое количество времени, поэтому становится актуальным применение принципа Learning-by-doing. Мы используем актуальные в 2021 году версии программного обеспечения.  Для успешного освоения материала потребуется начальное знание JavaScript и основ функционирования Nodejs, HTML, CSS, понимание основ сети интернет, а также операционных систем. Отсутствие минимально необходимого количества знаний можно компенсировать Вашим желанием и упорством.  Практическая часть будет реализована на популярном языке программирования JavaScript с использованием среды исполнения Nodejs. Использование именно этого языка обусловлено весьма широким вовлечением теории графов в современное пользовательское программное обеспечение. Стремительный темп развития социальных сетей привел к созданию множества инструментов и спецификаций, например, GraphQL. Развитие технической базы привело к внедрению в повседневную жизнь картографических сервисов, работа которых во многом основана на применении знаний в области теории графов. Сегодня существует большое количество независимых решений по оптимизации поиска на сложных графах, и поиск продолжается в разных направлениях. В данной сфере ещё очень много работы, мы же в этом курсе сделаем первый маленький шаг в изучении такой многообещающей области математики. Действующая web-версия разрабатываемого ПО расположена по адресу: https://graphs101.xyz/
По результатам освоения курса слушатель будет знать: 1. Клиент-серверную архитектуру; 2. Основы HTTP, RESTful API; 3. Паттерны управления состоянием клиентского приложения Redux, BLoC; 4. Основы теории графов; 5. Принцип организации клиент-серверной архитектуры для GraphQL с использованием пакета Apollo; 6. Принципы построения прообраза картографического сервиса на базе React, React-Leaflet и Open Street Map.   По результатам освоения курса слушатель будет владеть: 1. Основами языков программирования JavaScript и Dart; 2. Фреймворками React и Flutter; 3. Инструментом Postman; 4. Начальными навыками написания клиентского приложения; 5. Начальными навыками написания серверного приложения; 6. Навыками размещения приложения на сервисе Heroku.   По результатам освоения курса слушатель будет уметь: 1. Реализовывать клиентские приложения для браузера и мобильных устройств Android и iOS; 2. Реализовывать серверные приложения, разворачивать их в облаке; 3. Настраивать удаленную базу данных и работать с ней; 4. Строить графы из исходных картографических данных; 5. Составлять программы поиска маршрутов в соответствии с базовыми алгоритмами для графов; 6. Составлять схемы данных GraphQL для базовых графов.