Что делает Nim-разработчик?


Nim-разработчик — это универсальный инженер, способный воплощать идеи в эффективно работающие приложения различной направленности: асинхронные RESTFull API веб-приложения, обработка и анализ больших данных, системное программирование и многое другое.
Используя язык программирования Nim, вы можете проектировать и разрабатывать приложения на элегантном и лаконичном Python-подобном синтаксисе, с последующим преобразованием Вашего код в конечный продукт, не уступающий в быстродействии приложениям, разработанными на языках C/C++.
Курс охватывает все ключевые аспекты современного программирования: алгоритмы, ООП, базы данных, асинхронность, многопоточность, работу с сетью, анализ данных, контейнеризация и веб-технологии. Вас ждет практика с реальными кейсами: от генераторов и парсеров данных и до собственного асинхронного веб-сервера с поддержкой API.

Чему вы научитесь

Вы освоите весь стек технологий, которые требуются современному Backend-разработчику и системному программисту:

  • Основы программирования на языке Nim
  • Парадигмы программирования: функциональное / ООП
  • Работа с большими данными в различных форматах (JSON, CSV, XLSX, HTML и PCAP)
  • Работа с базами данных (SQLite, PostgreSQL), используя язык запросов SQL и ORM-подходы
  • Научитесь изменять и шифровать бинарное содержимое разрабатываемых приложений
  • Разберетесь в устройстве высоконагруженных сервисов и приложений, основанных на асинхронности, потоках, каналах и многопоточности
  • Основам сетевых технологий и разработке собственных Веб-приложений
  • Научитесь использовать Docker и Docker Compose
По итогам курса вы соберёте свой финальный проект: асинхронный HTTP сервер с поддержкой REST API и MVC архитектурой на основе фреймворка Jester на языке программирования Nim, упакованный в Docker и готовый к публикации на удалённый сервер.

 

Содержание программы


1Основы языка Nim
- Типы данных и синтаксис языка Nim
- Процедуры, функции, шаблоны
- Итерируемые типы: массивы, последовательности, множества
- Кортежи
- Документирование кода
- Введение в алгоритмы
2ООП
- ООП и методы
- Объекты и наследование
- Модель памяти Nim
- Передача параметров
- Обработка исключений
3Работа с файлами и базами данных
- Потоки ввода/вывода
- Файловая система и работа с файлами
- Обработка INI, CSV, JSON, XLSX
- Архивация
- Язык запросов SQL и Nim-коннекторы
- NimORM
4Углубленное программирование
- Ассоциативные контейнеры и JSON
- Макросы, работа с AST и защита кода
- Тестирование приложений
- Многопоточность
- Асинхронность
- Interop с C/C++
5Работа с сетью
- Сетевые модели OSI и TCP/IP
- Сокеты и HTTP-клиенты
- Анализ трафика и работа с PCAP
- Telegram Bot на Nim
- Веб-разработка
- Введение в Docker и Docker Compose
- Контейнеризация Nim и PostgreSQL
- Финальный проект

Подпишись на наш телеграм канал, чтобы не пропустить важные новости!

Команда программы

Остались вопросы? Пиши нам


Мы отвечаем в телеграме обычно в течение рабочего дня.

t.me/dc_bmstu_bot

По вопросам сотрудничества:

dc@bmstu.ru

Будь в курсе!
Подпишись на канал


В телеграм-канале мы публикуем новости Цифровой кафедры. Подпишись, чтобы быть в курсе событий

t.me/dc_bmstu