Що нового?

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

Інформація про покупку
Тип покупки: Складчина
Ціна: 42280 ГРН
Учасників: 0 з 42
Організатор: Відсутній
Статус: Набір учасників
Внесок: 1046.9 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Разработчик программного обеспечения на Python (backend разработчик), 2024
ИПАП (Институт прикладной автоматизации и программирования)

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

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

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

Спойлер: Программа
Модуль 1 - Основы программирования
Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.

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

1 Базовые понятия и определения
Задача. Решение задачи;
Алгоритм. Свойства алгоритмов;
Программа. Программное обеспечение;
Информатика. Информация. Информационная технология;
Данные. Числа в арифметике;
Выражения. Операнды. Знаки операций. Идентификаторы. Константы;
Алгоритмические структуры;
Примеры алгоритмического решения математических задач.

2 Логика. Представление данных
Основы алгебры логики;
Системы счисления;
Связи между системами счисления;
Двоичная и шестнадцатеричная системы счисления;
Единицы измерения ёмкости запоминающих устройств;
Представление целых и вещественных чисел в памяти ЭВМ;
Диапазоны представления чисел в двоичной системе счисления;
Представление символьной информации. Кодовые таблицы;
Понятие типа данных.

3 Структуры данных
Базовые структуры данных – массивы и записи;
Основные операции над структурами данных;
Динамические структуры данных. Списки. Стеки. Деревья;
Практическая задача с использованием массивов и записей;
Анализ производительности алгоритмов.

4 Методологии и языки программирования
Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования;
Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях);
Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование);
Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм);
Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач

5 Хранение и передача информации
Файловая система с точки зрения программы;
Бинарные и текстовые файлы, язык XML. Кэширование данных;
Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования;
Базы данных и информационные системы;
Требования пользователей к базам данных;
Схемы обмена данными при работе с БД клиент-серверного типа;
Инфологический аспект проектирования. Модель "сущность-связь";
Даталогический аспект проектирования;
Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки;
Реляционные базы данных. Нормализация.

Модуль 2 - Система контроля версий Git
Git - распределенная система управления версиями (VCS). Это универсальный, свободный и удобный инструмент для командной работы программистов над проектами любого уровня. Git - это система, которая позволяет сразу нескольким разработчикам сохранять и отслеживать изменения в файлах вашего проекта. Курс будет полезен не только начинающим, но и опытным разработчикам, желающим ликвидировать пробелы в навыках использования Git.

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

01 Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия
02 Репозитории, сервисы совместной разработки
03 Создание учётной записи на GitHub
04 Установка Gitlab
05 Использование клиента системы контроля версий GitHub desktop
06 Использование клиента системы контроля версий в среде разработки на примере PyCharm
07 Создание локального репозитория
08 Создание описания проекта
09 Синтаксис markdown
10 Первые commit
11 Файл .gitignore
12 Правильное описание коммита
13 Что и когда коммитить
14 Откат на прошлую версию
15 Отправка локальных коммитов в реестр
16 Обновление локального репозитория
17 Разрешение конфликтов
18 Создание веток, разработка в ветке, слияние веток
19 Форк проекта, доработка проекта, запрос слияния
20 Публикация готового проекта на GitHub

Модуль 3 - Программирование на языке Python. Базовый уровень
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

01 Введение
Основные среды и интерпретаторы Python;
Обзор интерпретатора;
Основные понятия.

02 Стандарт написания кода на Python PEP8;
Линтеры;
Средства среды разработки;
Магические клавиши Pycharm.

03 Начинаем работать с Git
Создаем репозиторий на Guthub;
Подключаем репозиторий к среде разработки;
Коммиты;
Пишем README.

04 Типы данных и конструкции языка
Типизация в Python;
Условия;
Циклы;
Ввод и вывод.

05 Функции
Создание функций;
Фактические и формальные параметры;
Вызов функций.

06 Коллекции
Списки;
Словарь;
Кортеж;
Последовательность;
Что и для чего использовать.

07 Модули
Собственный модуль;
Пакеты;
Обзор дополнительных модулей Python;
Установка стороннего модуля.

08 Файловая система
Создание и редактирование файлов;
Создание каталогов;
Чтение из файла;
Запись в файл.

09 Исключения
Общие понятия;
Обработка исключений;
Выброс исключений;
Исключения из сторонних библиотек;
Место обработки;
Стандартные исключения Python.

10 Синтаксический сахар
Регулярные выражения;
Лямбда функция;
Декораторы.

11 Регулярные выражения
Синтаксис регулярных выражений;
Применение регулярных выражений.

Модуль 4 - Linux для разработчиков
Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.

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

1 Обзор и установка ОС Linux
Red Hat подобные дистрибутивы;
Debian подобные дистрибутивы;
Обновление системы;
Подготовка к работе.

2 Методы установки ПО
Рабочая станция разработчика:
Установка среды разработки;
Установка дополнительных библиотек;
Установка вспомогательного ПО.
Настройка сети. Работа с сетью;
Поиск и устранение ошибок и неисправностей.

3 Сервер для запуска ПО
Базовая настройка сервера. Задачи по расписанию;
Сервер баз данных;
Сервер очередей сообщений;
Сервер Radius.

4 Новый подход к поставке ПО
Установка docker и зависимостей;
Запуск и поставка собственного приложения в контейнер docker.

Модуль 5 - Разработка реляционных баз данных в PostgreSQL. Язык запросов SQL и PL/pgSQL
На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.

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

01 Введение в реляционные базы данных
Клиент-серверная архитектура. Требования к СУБД.
Инфологический, даталогический и физический аспекты проектирования БД.
Реляционная модель. Нормализация БД. Назначение, состав SQL.

02 Создание таблиц
Типы данных для полей таблицы. Декларативные ограничения целостности.
Связи между таблицами. Первичные и внешние ключи.
Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver.
Понятие схемы данных, визуальное создание связей между таблицами.
Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE.
Особенности изменения и пересоздания существующих таблиц.

03 Основы выборки данных
Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы.
Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация.
Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата.

04 Соединение таблиц в запросе
Декартово произведение. Внутреннее соединение. Внешнее соединение.

05 Расширенные возможности выборки данных
Группировка строк по одному или нескольким полям.
Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов.
Вложенные запросы SELECT.
Объединение, вычитание, пересечение результатов нескольких запросов SELECT.
Обобщенные табличные выражения.

06 Представления
Понятие представления, преимущества использования.
Создание представлений при помощи запросов SELECT.
Ограничения на синтаксис запроса.
Использование представлений для выборки данных.

07 Манипулирование строками таблиц
Инструкция INSERT INTO. Отличия от запроса SELECT… INTO.
Модификация данных при помощи инструкции UPDATE. Удаление данных.
Инструкции DELETE FROM и TRUNCATE.

08 Функции и язык PL/pgSQL
Преимущества функций.
Создание функций, реализующих логику добавления и удаления данных.
Использование переменных. Перехват и обработка ошибок.
Табличные функции.

09 Курсоры
Серверные и клиентские курсоры.
Задачи, решаемые при помощи простых и вложенных курсоров.
Недостатки императивного подхода.

10 Транзакции
Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций.
Применение транзакций при создании функций.

11 Триггеры
Понятие триггера DML. Типы триггеров в стандарте.
Создание триггеров и триггерных функций. Преимущества и недостатки триггеров.
Использование триггеров для аудита.

12 Индексы и производительность
Алгоритмическая сложность различных запросов. План выполнения запроса.
Понятие индекса. Индексы по нескольким полям. Типы данных и индексы.
Кластеризованный индекс.
Повышение производительности при помощи некластеризованных индексов.

Модуль 6 - Python ORM
На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком SQLAlchemy для работы с реляционными базами данных.

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

1 Настройка Django ORM
2 Основные концепции ORM
3 Обзор Django ORM
4 Запрос данных из базы
5 Связи
6 Аннотирование и агрегация
7 Транзакции
8 Эффективное использование ORM
9 Работа с SQLAlchemy

Модуль 7 - Инфраструктурные решения для программиста
Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов "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.

Модуль 8 - Программирование на языке Python. Продвинутый уровень
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

01 Работа с базами данных
Обзор БД;
Серверные БД;
Установка движка БД;
Баз серверные БД;
Хранение данных приложения в БД;
Mysql, pgsql, reddis.

02 Работа с API внешних сервисов
Библиотека requests;
Формат данных JSON;
headers, payload;
Работа с API web сервиса получения погоды.

03 Работаем с API Telegram
Создание бота;
Создание канала;
Отправка сообщений в канал;
Отправка документов в канал;
Получение данных из канала;
Создание канала с информацией о погоде (курсе валют, последних новостях...).

04 Работаем с API VK
Бот для автоматической публикации постов;
Работа с командной строкой, написание планировщика.

05 Код ревью
Проведение ревью кода;
Написание замечаний;
Исправление замечаний (правильные коммиты)

06 Чтение чужого кода
Изучение чужого кода;
Написание README по чужому коду;
Ревью и оптимизация.

07 Совместная разработка
Создание ТЗ;
Распределение задач;
Создание веток на Github;
Реализация проекта;
Понятие чистых функций;
Слияние веток.

08 Совместная разработка веб сервиса на Python
Запуск простого веб сервиса;
Прием отправка данных;
Работа с Jinja;
Чтение данных из xls файла.

09 Совместная разработка веб сервиса на Python (Django)
Установка Django;
Основы Django;
Основы верстки;
Основы CSS;
Создание шаблонов;
Вызов внешних скриптов.

10 Рекомендации по оформлению портфолио на Github
Создание базового портфолио;
Ревью портфолио слушателей.

Модуль 9 - Анализ рынка труда. Подготовка к собеседованиям
По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.

1 Анализ рынка труда IT-специалистов
  • Актуальные требования предъявляемые к IT-специалистам;
  • Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО
  • Как меняется зарплата специалиста в зависимости от навыков.
2 Работа над резюме. Подготовка к собеседованию
  • На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках);
  • Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе.
https://privatelink.de/?https://ipap.ru/461-razrabotchik-programmnogo-obespecheniya-na-python
 
Угорі