Открыто

Разработчик программного обеспечения на Python (backend разработчик) [2024] [ИПАП]

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 14 янв 2024.

Цена: 115000р.-89%
Взнос: 12540р.

Основной список: 10 участников

Резервный список: 1 участников

  1. 14 янв 2024
    #1
    Toxich
    Toxich ЧКЧлен клуба
    Разработчик программного обеспечения на Python (backend разработчик) [2024]
    ИПАП (Институт прикладной автоматизации и программирования)


    Новый курс профессиональной переподготовки для начинающих Python-разработчиков рассчитан на получение фундаментальных знаний и практических навыков разработки. Подойдет тем, у кого совсем нет опыта в программировании или знания не систематизированы.

    Опытные преподаватели помогут пройти путь от основ программирования и базовых принципов, инструментов командной работы, основ изучения языка запросов SQL к освоению синтаксиса языка Python и стандартов написания кода, работе с базами данных, чтению чужого кода и совместной разработке.

    На курсе вы научитесь:
    1. Разрабатывать веб-приложения и оптимизировать их;
    2. Работать с базами данных и Git;
    3. Разворачивать приложения в Docker-контейнерах;
    4. Освоите linux для разработчиков;
    5. Получите навык работы с фреймворками Django и SQLAlchemy;
    6. По окончании обучения подготовите проект для портфолио и сможете рассматривать вакансии junior разработчика.

    Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.

    Навыки, приобретаемые по окончании курса:
    1. Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
    2. Кодирование на языках высокого уровня;
    3. Преобразование чисел в различных системах счисления;
    4. Проектирование простых реляционных баз данных.

    Модуль 1 - Базовые понятия и определения
    • Задача. Решение задачи;
    • Алгоритм. Свойства алгоритмов;
    • Программа. Программное обеспечение;
    • Информатика. Информация. Информационная технология;
    • Данные. Числа в арифметике;
    • Выражения. Операнды. Знаки операций. Идентификаторы. Константы;
    • Алгоритмические структуры;
    • Примеры алгоритмического решения математических задач.
    Модуль 2 - Логика. Представление данных
    • Основы алгебры логики;
    • Системы счисления;
    • Связи между системами счисления;
    • Двоичная и шестнадцатеричная системы счисления;
    • Единицы измерения ёмкости запоминающих устройств;
    • Представление целых и вещественных чисел в памяти ЭВМ;
    • Диапазоны представления чисел в двоичной системе счисления;
    • Представление символьной информации. Кодовые таблицы;
    • Понятие типа данных.
    Модуль 3 - Структуры данных
    • Базовые структуры данных – массивы и записи;
    • Основные операции над структурами данных;
    • Динамические структуры данных. Списки. Стеки. Деревья;
    • Практическая задача с использованием массивов и записей;
    • Анализ производительности алгоритмов.
    Модуль 4 - Методологии и языки программирования
    • Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования;
    • Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях);
    • Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование);
    • Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм);
    • Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач
    Модуль 5 - Хранение и передача информации
    • Файловая система с точки зрения программы;
    • Бинарные и текстовые файлы, язык XML. Кэширование данных;
    • Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования;
    • Базы данных и информационные системы;
    • Требования пользователей к базам данных;
    • Схемы обмена данными при работе с БД клиент-серверного типа;
    • Инфологический аспект проектирования. Модель «сущность-связь»;
    • Даталогический аспект проектирования;
    • Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки;
    • Реляционные базы данных. Нормализация.
    Git - распределенная система управления версиями (VCS). Это универсальный, свободный и удобный инструмент для командной работы программистов над проектами любого уровня. Git - это система, которая позволяет сразу нескольким разработчикам сохранять и отслеживать изменения в файлах вашего проекта. Курс будет полезен не только начинающим, но и опытным разработчикам, желающим ликвидировать пробелы в навыках использования Git.

    Навыки, приобретаемые по окончании курса:
    1. Устанавливать и настраивать систему;
    2. Создавать ветви, производить их слияние и устранять конфликты версий в коде.

    1. Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия
    2. Репозитории, сервисы совместной разработки
    3. Создание учётной записи на GitHub
    4. Установка Gitlab
    5. Использование клиента системы контроля версий GitHub desktop
    6. Использование клиента системы контроля версий в среде разработки на примере PyCharm
    7. Создание локального репозитория
    8. Создание описания проекта
    9. Синтаксис markdown
    10. Первые commit
    11. Файл .gitignore
    12. Правильное описание коммита
    13. Что и когда коммитить
    14. Откат на прошлую версию
    15. Отправка локальных коммитов в реестр
    16. Обновление локального репозитория
    17. Разрешение конфликтов
    18. Создание веток, разработка в ветке, слияние веток
    19. Форк проекта, доработка проекта, запрос слияния
    20. Публикация готового проекта на GitHub
    Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

    Модуль 1 - Введение
    • Основные среды и интерпретаторы Python;
    • Обзор интерпретатора;
    • Основные понятия.
    Модуль 2 - Стандарт написания кода на Python PEP8;
    • Линтеры;
    • Средства среды разработки;
    • Магические клавиши Pycharm.
    Модуль 3 - Начинаем работать с Git
    • Создаем репозиторий на Guthub;
    • Подключаем репозиторий к среде разработки;
    • Коммиты;
    • Пишем README.
    Модуль 4 - Типы данных и конструкции языка
    • Типизация в Python;
    • Условия;
    • Циклы;
    • Ввод и вывод.
    Модуль 5 - Функции
    • Создание функций;
    • Фактические и формальные параметры;
    • Вызов функций.
    Модуль 6 - Коллекции
    • Списки;
    • Словарь;
    • Кортеж;
    • Последовательность;
    • Что и для чего использовать.
    Модуль 7 - Модули
    • Собственный модуль;
    • Пакеты;
    • Обзор дополнительных модулей Python;
    • Установка стороннего модуля.
    Модуль 8 - Файловая система
    • Создание и редактирование файлов;
    • Создание каталогов;
    • Чтение из файла;
    • Запись в файл.
    Модуль 9 - Исключения
    • Общие понятия;
    • Обработка исключений;
    • Выброс исключений;
    • Исключения из сторонних библиотек;
    • Место обработки;
    • Стандартные исключения Python.
    Модуль 10 - Синтаксический сахар
    • Регулярные выражения;
    • Лямбда функция;
    • Декораторы.
    Модуль 11 - Регулярные выражения
    • Синтаксис регулярных выражений;
    • Применение регулярных выражений.
    Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.

    Навыки, приобретаемые по окончании курса:
    1. Установка ОС Linux;
    2. Базово настраивать сервер рабочей станции;
    3. Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
    4. Использовать систему docker для организации и поставки ПО.

    Модуль 1 - Обзор и установка ОС Linux
    • Red Hat подобные дистрибутивы;
    • Debian подобные дистрибутивы;
    • Обновление системы;
    • Подготовка к работе.
    Модуль 2 - Методы установки ПО
    • Рабочая станция разработчика:
      • Установка среды разработки;
      • Установка дополнительных библиотек;
      • Установка вспомогательного ПО.
    • Настройка сети. Работа с сетью;
    • Поиск и устранение ошибок и неисправностей.
    Модуль 3 - Сервер для запуска ПО
    • Базовая настройка сервера. Задачи по расписанию;
    • Сервер баз данных;
    • Сервер очередей сообщений;
    • Сервер Radius.
    Модуль 4 - Новый подход к поставке ПО
    • Установка docker и зависимостей;
    • Запуск и поставка собственного приложения в контейнер docker.
    На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.

    Навыки, приобретаемые по окончании курса:
    1. Разработка нормализованной структуры реляционной базы данных;
    2. Выбор подходящих типов данных при создании таблиц;
    3. Задание декларативных ограничений целостности данных;
    4. Выборка и модификация данных в таблицах;
    5. Разработка и создание представлений, скалярных и табличных функций, триггеров;
    6. Управление транзакциями.
    7. Определение стратегии индексирования для повышения производительности.

    Модуль 1 - Введение в реляционные базы данных
    • Клиент-серверная архитектура. Требования к СУБД.
    • Инфологический, даталогический и физический аспекты проектирования БД.
    • Реляционная модель. Нормализация БД. Назначение, состав SQL.
    Модуль 2 - Создание таблиц
    • Типы данных для полей таблицы. Декларативные ограничения целостности.
    • Связи между таблицами. Первичные и внешние ключи.
    • Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver.
    • Понятие схемы данных, визуальное создание связей между таблицами.
    • Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE.
    • Особенности изменения и пересоздания существующих таблиц.
    Модуль 3 - Основы выборки данных
    • Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы.
    • Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация.
    • Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата.
    Модуль 4 - Соединение таблиц в запросе
    • Декартово произведение. Внутреннее соединение. Внешнее соединение.
    Модуль 5 - Расширенные возможности выборки данных
    • Группировка строк по одному или нескольким полям.
    • Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов.
    • Вложенные запросы SELECT.
    • Объединение, вычитание, пересечение результатов нескольких запросов SELECT.
    • Обобщенные табличные выражения.
    Модуль 6 - Представления
    • Понятие представления, преимущества использования.
    • Создание представлений при помощи запросов SELECT.
    • Ограничения на синтаксис запроса.
    • Использование представлений для выборки данных.
    Модуль 7 - Манипулирование строками таблиц
    • Инструкция INSERT INTO. Отличия от запроса SELECT… INTO.
    • Модификация данных при помощи инструкции UPDATE. Удаление данных.
    • Инструкции DELETE FROM и TRUNCATE.
    Модуль 8 - Функции и язык PL/pgSQL
    • Преимущества функций.
    • Создание функций, реализующих логику добавления и удаления данных.
    • Использование переменных. Перехват и обработка ошибок.
    • Табличные функции.
    Модуль 9 - Курсоры
    • Серверные и клиентские курсоры.
    • Задачи, решаемые при помощи простых и вложенных курсоров.
    • Недостатки императивного подхода.
    Модуль 10 - Транзакции
    • Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций.
    • Применение транзакций при создании функций.
    Модуль 11 - Триггеры
    • Понятие триггера DML. Типы триггеров в стандарте.
    • Создание триггеров и триггерных функций. Преимущества и недостатки триггеров.
    • Использование триггеров для аудита.
    Модуль 12 - Индексы и производительность
    • Алгоритмическая сложность различных запросов. План выполнения запроса.
    • Понятие индекса. Индексы по нескольким полям. Типы данных и индексы.
    • Кластеризованный индекс.
    • Повышение производительности при помощи некластеризованных индексов.
    На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком SQLAlchemy для работы с реляционными базами данных.

    Навыки, приобретаемые по окончании курса:
    1. Строить запросы;
    2. Анализировать эффективность использования ORM;
    3. Работать с SQLAlchemy.

    1. Настройка Django ORM
    2. Основные концепции ORM
    3. Обзор Django ORM
    4. Запрос данных из базы
    5. Связи
    6. Аннотирование и агрегация
    7. Транзакции
    8. Эффективное использование ORM
    9. Работа с SQLAlchemy
    Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «hello world» работающих на одной пользовательской рабочей станции в мир большого продакшена с определенными требованиями к доступности, производительности, отказоустойчивости и безопасности.

    Все технологии будут рассмотрены с примерами кода на языке python, все сервисы будут развернуты на клоне самого крупного коммерческого линукс дистрибутива Red Hat Enterprise Linux — RockyLinux.

    Слушателю будут предоставлены виртуальные машины с установленным ПО.

    Модуль 1 - In-memory технологии
    • Redis - резидентная система управления базами данных класса NoSQL;
    • Tarantool - платформа in-memory вычислений.
    Модуль 2 - Документно-ориентированная СУБД
    • MongoDB - документно-ориентированная система управления базами данных.
    Модуль 3 - Колоночная аналитическая СУБД
    • ClickHouse - колоночная аналитическая СУБД.
    Модуль 4 - Работа с очередями сообщений, распараллеливание выполнения
    • RabbitMQ - программный брокер сообщений на основе стандарта AMQP;
    • Apache Kafka - распределённый программный брокер сообщений.
    Модуль 5 - Работа с REST API
    • Python FastAPI framework;
    • Python requests;
    • Сurl.
    Модуль 6 - Кластерные решения, балансировка нагрузки, высокая доступность
    • Обзор решений высокой доступности;
    • Обзор решений балансировки;
    • Обзор Nginx;
    • Настройка Haproxy.
    Модуль 7 - Логирование работы приложений
    • Понимание логирования;
    • Разработка подсистемы логирования для приложения;
    • Разбор и фильтрация логов;
    • Kibana/osd.
    Модуль 8 - Docker платформа для разработки, доставки и эксплуатации приложений
    • Обзор решения;
    • Запуск контейнеров;
    • Интерфейс управления – Portainer;
    • Запуск своего приложения в Docker;
    • Публикация проекта на Dockerhub.
    Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

    Модуль 1 - Работа с базами данных
    • Обзор БД;
    • Серверные БД;
    • Установка движка БД;
    • Баз серверные БД;
    • Хранение данных приложения в БД;
    • Mysql, pgsql, reddis.
    Модуль 2 - Работа с API внешних сервисов
    • Библиотека requests;
    • Формат данных JSON;
    • headers, payload;
    • Работа с API web сервиса получения погоды.
    Модуль 3 - Работаем с API Telegram
    • Создание бота;
    • Создание канала;
    • Отправка сообщений в канал;
    • Отправка документов в канал;
    • Получение данных из канала;
    • Создание канала с информацией о погоде (курсе валют, последних новостях...).
    Модуль 4 - Работаем с API VK
    • Бот для автоматической публикации постов;
    • Работа с командной строкой, написание планировщика.
    Модуль 5 - Код ревью
    • Проведение ревью кода;
    • Написание замечаний;
    • Исправление замечаний (правильные коммиты)
    Модуль 6 - Чтение чужого кода
    • Изучение чужого кода;
    • Написание README по чужому коду;
    • Ревью и оптимизация.
    Модуль 7 - Совместная разработка
    • Создание ТЗ;
    • Распределение задач;
    • Создание веток на Github;
    • Реализация проекта;
    • Понятие чистых функций;
    • Слияние веток.
    Модуль 8 - Совместная разработка веб сервиса на Python
    • Запуск простого веб сервиса;
    • Прием отправка данных;
    • Работа с Jinja;
    • Чтение данных из xls файла.
    Модуль 9 - Совместная разработка веб сервиса на Python (Django)
    • Установка Django;
    • Основы Django;
    • Основы верстки;
    • Основы CSS;
    • Создание шаблонов;
    • Вызов внешних скриптов.
    Модуль 10 - Рекомендации по оформлению портфолио на Github
    • Создание базового портфолио;
    • Ревью портфолио слушателей.
    По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.

    Модуль 1 - Анализ рынка труда IT-специалистов
    • Актуальные требования предъявляемые к IT-специалистам;
    • Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО
    • Как меняется зарплата специалиста в зависимости от навыков.
    Модуль 2 - Работа над резюме. Подготовка к собеседованию
    • На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках);
    • Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе.

    Продажник
     
  2. Последние события

    1. skladchik.com
      В складчине участвует 10 человек(а).
      8 апр 2024
    2. perabogatyr
      perabogatyr участвует.
      3 фев 2024
    3. lxcphotogweb
      lxcphotogweb участвует.
      21 янв 2024
    4. Ant098
      Ant098 участвует.
      19 янв 2024

Поделиться этой страницей