Программа курса
Бонусный курсБесплатный курс «Учись учиться»
Каждому студенту мы открываем доступ этому курсу, для того, чтобы обучение не прошло впустую. Проблема — люди не получают результат от обучения. Есть три основные причины:
Нет четких целей. И даже те, кто понимает важность целей, всё равно этого не делает. Хочу поменять работу и стать крутым сммщиком — не цель, а желание. С такой постановкой результат будет соответствующим.
Забрасывание обучения на полпути. Многие находят мотивацию на первую неделю. А вот дойти до конца не получается. Так как мозг не любит учиться регулярно.
Отсутствие системности. Достаточно распространённое явление, когда мы хватаемся за любую информацию по выбранной теме, двигаемся бессистемно, и как следствие, безрезультатно.
Почему мы выделили именно эти три причины? Потому что занимаемся обучением уже 11 лет и видим обратную связь от учеников. На курсе рассказываем, как все эти ценные знания применять в жизни.
1 блок Основы Python
- Настройка IDE
- Базовый синтаксис
- Переменные, операторы, типы переменных
- Условные конструкции, циклы
- Ввод — вывод, файловый ввод вывод
- Встроенные структуры данных
- Стандартные функции
- Свои функции
- Система контроля версий. Git
2 блок ООП
- Базовые понятия, предпосылки и история
- Класс, экземпляр класса, атрибуты, поведение
- Наследование
- Полиморфизм
- Инкапсуляция
- Абстракция
- Интерфейсы и абстрактные классы
3 блок Структуры данных. Алгоритмы
- Алгоритмы поиска на графах (в ширину, в глубину)
- Деревья, списки и пр. (графы)
- Простые и сложные алгоритмы
- Временная сложность
4 блок Обработка исключений. Паттерны проектирования
- Понятие исключения
- Исключительные ситуации, ошибки
- Выброс и перехват исключения
- Стандартные исключения
- Паттерны проектирования в Python — общие понятия
- Фабрика, Синглтон, Декоратор, Адаптер
5 блок Процессы и потоки
- Общие понятия
- Введение в многопоточное и мультипроцессорное программирование
- Модули threading и multiprocessing
- GIL
- Примитивы синхронизации (Мьютекс, Семафор, Критическая секция)
- Асинхронный код в Python
6 блок Сети. Передача данных
- Сериализация, десериализация
Pickle
- JSON, JSON-RPC
- YAML
- Введение в компьютерные сети
- Виды сетей
- Стек сетевых протоколов: Ethernet, IP, TCP, UDP, HTTP
- Основы архитектуры клиент-сервер
- Написание простейшего клиент-серверного приложения
- Понимание архитектуры REST, SOAP
7 блок Фреймворк Django
- Основы работы с Django
- Концепция MVC
- Создание скелета веб-сайта
- Работа со страницами, обработчиками и ссылками
- Работа с моделями
- Django admin веб-сайта
- Отображение данных на сайте
- Создание главной страницы
- Оформление сайта с bootstrap
- Работа с формами
- Авторизация и права пользователей
- Добавление статических файлов
- Добавление дополнительных приложений
- Тестирование
- Деплой
8 блок Базы данных. SQL
- Введение в базы данных: необходимость, принципы работы
- Основы работы с базами данных на декларативном языке SQL
- Альтернативные виды баз данных и их различия
- Современные возможности баз данных
- Использование баз данных в Python приложениях
- Django + SQL, Django - модели
- Django-view
9 блок Регулярные выражения
- Понятие регулярного выражения
- Синтаксис регулярных выражений в Python
- Использование регулярных выражений в Python
- Практическая работа
10 блок Unit-тестирование. Pytest
- Значение и структура тестов
- Библиотека Pytest
11 блокПроцесс разработки ПО
- Scrum, Agile, Kanban
- Примеры использования в разных проектах
- Командная работа. Роли
- Построение работы с продуктами с процессами внутри организации
Первый проект для портфолио Проект #1. Создание интернет-магазина
Подробно про проект можно прочитать тут — Проект #1
Компания «Твой орех» решила расширяться и продавать орехи по всей стране, для этого им нужен интернет-магазин для удобных заказов, оплаты и доставки.
Исправно работающая система авторизации и приема заказов
Необходимо создать полноценный сайт интернет магазина:
На сайте должны отображаться различные типы товаров;
У каждого товара должна быть собственная страница;
Также необходимо создать модель пользователей, у которых будет возможность добавлять; товары в корзину и просматривать историю покупок в личном кабинете;
Администраторы сайта должны уметь добавлять и редактировать товары.
Пользователи. Есть администраторы и покупатели. Покупатели могут регистрироваться. Обязательные поля: логин, пароль, почта, телефон, имя, фамилия
Товары. Обязательные поля: название, описание, цена
Заказы. Должны отражать список товаров, выбранных пользователем
Второй проект для портфолиоПроект #2. Блог
Подробно про проект можно прочитать тут — Проект #2
На случай блокировки твитера в РФ, компания «Твитком» решила создать свой аналог. Хотят завоевать пользователей простым и удобным интерфейсом.
Необходимо создать полноценный сайт для размещения блогов пользователей.
У новых пользователей должна быть возможность зарегистрироваться;
У существующих пользователей должна быть возможность войти в свой аккаунт;
Пользователем должна быть доступна лента с постами, на которой реализован поиск по тегам и содержанию;
У каждого поста должна быть отдельная страница, на которой его можно комментировать;
У пользователя должна быть доступна страница просмотра своих постов. На ней должна быть возможность редактировать посты и добавлять новые.
Пользователи. Обязательные поля: логин, пароль, почта, телефон, имя, фамилия.
Посты. Обязательные поля: название, текст, список тегов, автор.
Комментарии. Должны включать в себя текст, автора и привязку к посту.
Теги. Их можно добавлять к постам.
Третий проект для портфолиоПроект #3. Telegram-бот
Подробно про проект можно прочитать тут — Проект #3
С появлением тренда на запоминание слов, компания «Кусэрама» решила запустить бота который мог бы и запоминать слова и переводить их в режиме live. Это помогает не хранить много приложений на телефоне.
Бот для изучения иностранного языка с двумя функциями: переводчик и хранение изученных слов
- Задача
- Функции бота: регистрация пользователя, хранение слов, перевод слов, добавление слов, проверка изученных слов
При начале диалога с ботом необходимо зарегистрировать пользователя, то есть записать в базу данных.
Далее для этого пользователя мы будем хранить список слов, которые он изучил и их перевод.
Бот должен уметь переводить слова и сообщения. Для этого можно использовать любой переводчик с открытым API.
Пользователь может добавить слово и его перевод в список слов, которые он сейчас изучает.
Пользователь должен иметь возможность в любой момент проверить свои знания, то есть то, как он помнит слова из добавленных. Для этого должен быть реализован функционал диалога, в котором бот спрашивает перевод случайно выбранных слов из списка.
pyTelegramBotAPI — для работы с телеграмм, работает поверх стандартного API;
sqlite3 — позволяет создать и взаимодействовать с базой данных sqlite;
tranlateapi — для работы с API для переводчика;
random — для получения случайных значений.
Бонусный курсБесплатный курс «Учись учиться»
Каждому студенту мы открываем доступ этому курсу, для того, чтобы обучение не прошло впустую. Проблема — люди не получают результат от обучения. Есть три основные причины:
- Нет четких целей. И даже те, кто понимает важность целей, всё равно этого не делает. Хочу поменять работу и стать крутым сммщиком — не цель, а желание. С такой постановкой результат будет соответствующим.
- Забрасывание обучения на полпути. Многие находят мотивацию на первую неделю. А вот дойти до конца не получается. Так как мозг не любит учиться регулярно.
- Отсутствие системности. Достаточно распространённое явление, когда мы хватаемся за любую информацию по выбранной теме, двигаемся бессистемно, и как следствие, безрезультатно.
Почему мы выделили именно эти три причины? Потому что занимаемся обучением уже 11 лет и видим обратную связь от учеников. На курсе рассказываем, как все эти ценные знания применять в жизни.