SHAREWOOD

Редактор
- Регистрация
- 25/11/2019
- Сообщения
- 145.725
- Репутация
- 92.258
Последние темы автора:
Разработчик программного обеспечения на Python (backend разработчик) [2024]
ИПАП (Институт прикладной автоматизации и программирования)
Новый курс профессиональной переподготовки для начинающих Python-разработчиков рассчитан на получение фундаментальных знаний и практических навыков разработки. Подойдет тем, у кого совсем нет опыта в программировании или знания не систематизированы.
Опытные преподаватели помогут пройти путь от основ программирования и базовых принципов, инструментов командной работы, основ изучения языка запросов SQL к освоению синтаксиса языка Python и стандартов написания кода, работе с базами данных, чтению чужого кода и совместной разработке.
На курсе вы научитесь:
1. Разрабатывать веб-приложения и оптимизировать их;
2. Работать с базами данных и Git;
3. Разворачивать приложения в Docker-контейнерах;
4. Освоите linux для разработчиков;
5. Получите навык работы с фреймворками Django и SQLAlchemy;
6. По окончании обучения подготовите проект для портфолио и сможете рассматривать вакансии junior разработчика.
Спойлер: Модуль 1 - Основы программирования
Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.
Навыки, приобретаемые по окончании курса:
1. Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
2. Кодирование на языках высокого уровня;
3. Преобразование чисел в различных системах счисления;
4. Проектирование простых реляционных баз данных.
Модуль 1 - Базовые понятия и определения
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
Спойлер: Модуль 3 - Программирование на языке Python. Базовый уровень
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Модуль 1 - Введение
Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.
Навыки, приобретаемые по окончании курса:
1. Установка ОС Linux;
2. Базово настраивать сервер рабочей станции;
3. Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
4. Использовать систему docker для организации и поставки ПО.
Модуль 1 - Обзор и установка ОС Linux
На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.
Навыки, приобретаемые по окончании курса:
1. Разработка нормализованной структуры реляционной базы данных;
2. Выбор подходящих типов данных при создании таблиц;
3. Задание декларативных ограничений целостности данных;
4. Выборка и модификация данных в таблицах;
5. Разработка и создание представлений, скалярных и табличных функций, триггеров;
6. Управление транзакциями.
7. Определение стратегии индексирования для повышения производительности.
Модуль 1 - Введение в реляционные базы данных
На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком 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 технологии
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Модуль 1 - Работа с базами данных
По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.
Модуль 1 - Анализ рынка труда IT-специалистов
Продажник
ИПАП (Институт прикладной автоматизации и программирования)
Новый курс профессиональной переподготовки для начинающих Python-разработчиков рассчитан на получение фундаментальных знаний и практических навыков разработки. Подойдет тем, у кого совсем нет опыта в программировании или знания не систематизированы.
Опытные преподаватели помогут пройти путь от основ программирования и базовых принципов, инструментов командной работы, основ изучения языка запросов SQL к освоению синтаксиса языка Python и стандартов написания кода, работе с базами данных, чтению чужого кода и совместной разработке.
На курсе вы научитесь:
1. Разрабатывать веб-приложения и оптимизировать их;
2. Работать с базами данных и Git;
3. Разворачивать приложения в Docker-контейнерах;
4. Освоите linux для разработчиков;
5. Получите навык работы с фреймворками Django и SQLAlchemy;
6. По окончании обучения подготовите проект для портфолио и сможете рассматривать вакансии junior разработчика.
Спойлер: Модуль 1 - Основы программирования
Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.
Навыки, приобретаемые по окончании курса:
1. Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
2. Кодирование на языках высокого уровня;
3. Преобразование чисел в различных системах счисления;
4. Проектирование простых реляционных баз данных.
Модуль 1 - Базовые понятия и определения
- Задача. Решение задачи;
- Алгоритм. Свойства алгоритмов;
- Программа. Программное обеспечение;
- Информатика. Информация. Информационная технология;
- Данные. Числа в арифметике;
- Выражения. Операнды. Знаки операций. Идентификаторы. Константы;
- Алгоритмические структуры;
- Примеры алгоритмического решения математических задач.
- Основы алгебры логики;
- Системы счисления;
- Связи между системами счисления;
- Двоичная и шестнадцатеричная системы счисления;
- Единицы измерения ёмкости запоминающих устройств;
- Представление целых и вещественных чисел в памяти ЭВМ;
- Диапазоны представления чисел в двоичной системе счисления;
- Представление символьной информации. Кодовые таблицы;
- Понятие типа данных.
- Базовые структуры данных – массивы и записи;
- Основные операции над структурами данных;
- Динамические структуры данных. Списки. Стеки. Деревья;
- Практическая задача с использованием массивов и записей;
- Анализ производительности алгоритмов.
- Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования;
- Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях);
- Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование);
- Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм);
- Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач
- Файловая система с точки зрения программы;
- Бинарные и текстовые файлы, язык 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
Спойлер: Модуль 3 - Программирование на языке Python. Базовый уровень
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Модуль 1 - Введение
- Основные среды и интерпретаторы Python;
- Обзор интерпретатора;
- Основные понятия.
- Линтеры;
- Средства среды разработки;
- Магические клавиши Pycharm.
- Создаем репозиторий на Guthub;
- Подключаем репозиторий к среде разработки;
- Коммиты;
- Пишем README.
- Типизация в Python;
- Условия;
- Циклы;
- Ввод и вывод.
- Создание функций;
- Фактические и формальные параметры;
- Вызов функций.
- Списки;
- Словарь;
- Кортеж;
- Последовательность;
- Что и для чего использовать.
- Собственный модуль;
- Пакеты;
- Обзор дополнительных модулей Python;
- Установка стороннего модуля.
- Создание и редактирование файлов;
- Создание каталогов;
- Чтение из файла;
- Запись в файл.
- Общие понятия;
- Обработка исключений;
- Выброс исключений;
- Исключения из сторонних библиотек;
- Место обработки;
- Стандартные исключения Python.
- Регулярные выражения;
- Лямбда функция;
- Декораторы.
- Синтаксис регулярных выражений;
- Применение регулярных выражений.
Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.
Навыки, приобретаемые по окончании курса:
1. Установка ОС Linux;
2. Базово настраивать сервер рабочей станции;
3. Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
4. Использовать систему docker для организации и поставки ПО.
Модуль 1 - Обзор и установка ОС Linux
- Red Hat подобные дистрибутивы;
- Debian подобные дистрибутивы;
- Обновление системы;
- Подготовка к работе.
- Рабочая станция разработчика:
- Установка среды разработки;
- Установка дополнительных библиотек;
- Установка вспомогательного ПО.
- Настройка сети. Работа с сетью;
- Поиск и устранение ошибок и неисправностей.
- Базовая настройка сервера. Задачи по расписанию;
- Сервер баз данных;
- Сервер очередей сообщений;
- Сервер Radius.
- Установка docker и зависимостей;
- Запуск и поставка собственного приложения в контейнер docker.
На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.
Навыки, приобретаемые по окончании курса:
1. Разработка нормализованной структуры реляционной базы данных;
2. Выбор подходящих типов данных при создании таблиц;
3. Задание декларативных ограничений целостности данных;
4. Выборка и модификация данных в таблицах;
5. Разработка и создание представлений, скалярных и табличных функций, триггеров;
6. Управление транзакциями.
7. Определение стратегии индексирования для повышения производительности.
Модуль 1 - Введение в реляционные базы данных
- Клиент-серверная архитектура. Требования к СУБД.
- Инфологический, даталогический и физический аспекты проектирования БД.
- Реляционная модель. Нормализация БД. Назначение, состав SQL.
- Типы данных для полей таблицы. Декларативные ограничения целостности.
- Связи между таблицами. Первичные и внешние ключи.
- Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver.
- Понятие схемы данных, визуальное создание связей между таблицами.
- Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE.
- Особенности изменения и пересоздания существующих таблиц.
- Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы.
- Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация.
- Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата.
- Декартово произведение. Внутреннее соединение. Внешнее соединение.
- Группировка строк по одному или нескольким полям.
- Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов.
- Вложенные запросы SELECT.
- Объединение, вычитание, пересечение результатов нескольких запросов SELECT.
- Обобщенные табличные выражения.
- Понятие представления, преимущества использования.
- Создание представлений при помощи запросов SELECT.
- Ограничения на синтаксис запроса.
- Использование представлений для выборки данных.
- Инструкция INSERT INTO. Отличия от запроса SELECT… INTO.
- Модификация данных при помощи инструкции UPDATE. Удаление данных.
- Инструкции DELETE FROM и TRUNCATE.
- Преимущества функций.
- Создание функций, реализующих логику добавления и удаления данных.
- Использование переменных. Перехват и обработка ошибок.
- Табличные функции.
- Серверные и клиентские курсоры.
- Задачи, решаемые при помощи простых и вложенных курсоров.
- Недостатки императивного подхода.
- Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций.
- Применение транзакций при создании функций.
- Понятие триггера DML. Типы триггеров в стандарте.
- Создание триггеров и триггерных функций. Преимущества и недостатки триггеров.
- Использование триггеров для аудита.
- Алгоритмическая сложность различных запросов. План выполнения запроса.
- Понятие индекса. Индексы по нескольким полям. Типы данных и индексы.
- Кластеризованный индекс.
- Повышение производительности при помощи некластеризованных индексов.
На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком 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 вычислений.
- MongoDB - документно-ориентированная система управления базами данных.
- ClickHouse - колоночная аналитическая СУБД.
- RabbitMQ - программный брокер сообщений на основе стандарта AMQP;
- Apache Kafka - распределённый программный брокер сообщений.
- Python FastAPI framework;
- Python requests;
- Сurl.
- Обзор решений высокой доступности;
- Обзор решений балансировки;
- Обзор Nginx;
- Настройка Haproxy.
- Понимание логирования;
- Разработка подсистемы логирования для приложения;
- Разбор и фильтрация логов;
- Kibana/osd.
- Обзор решения;
- Запуск контейнеров;
- Интерфейс управления – Portainer;
- Запуск своего приложения в Docker;
- Публикация проекта на Dockerhub.
Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.
Модуль 1 - Работа с базами данных
- Обзор БД;
- Серверные БД;
- Установка движка БД;
- Баз серверные БД;
- Хранение данных приложения в БД;
- Mysql, pgsql, reddis.
- Библиотека requests;
- Формат данных JSON;
- headers, payload;
- Работа с API web сервиса получения погоды.
- Создание бота;
- Создание канала;
- Отправка сообщений в канал;
- Отправка документов в канал;
- Получение данных из канала;
- Создание канала с информацией о погоде (курсе валют, последних новостях...).
- Бот для автоматической публикации постов;
- Работа с командной строкой, написание планировщика.
- Проведение ревью кода;
- Написание замечаний;
- Исправление замечаний (правильные коммиты)
- Изучение чужого кода;
- Написание README по чужому коду;
- Ревью и оптимизация.
- Создание ТЗ;
- Распределение задач;
- Создание веток на Github;
- Реализация проекта;
- Понятие чистых функций;
- Слияние веток.
- Запуск простого веб сервиса;
- Прием отправка данных;
- Работа с Jinja;
- Чтение данных из xls файла.
- Установка Django;
- Основы Django;
- Основы верстки;
- Основы CSS;
- Создание шаблонов;
- Вызов внешних скриптов.
- Создание базового портфолио;
- Ревью портфолио слушателей.
По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.
Модуль 1 - Анализ рынка труда IT-специалистов
- Актуальные требования предъявляемые к IT-специалистам;
- Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО
- Как меняется зарплата специалиста в зависимости от навыков.
- На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках);
- Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе.
Продажник
Материал «Разработчик программного обеспечения на Python (backend разработчик) [2024] [ИПАП]», возможно, скоро появится на SHAREWOOD.
Воспользуйтесь поиском, может быть, он уже опубликован.