Глава 4 - REST API, Pydantic, FastAPI
Сегодня в 18:00 онлайн будет 4 лекции по нашу курсу! Чуть-чуть затронем что такое rest-api, разберем сериализацию через Pydantic и перейдем к FastAPI.
Скорее всего успеем написать маленький проект, который на дом нужно будет улучшить!
Сегодня в 18:00 онлайн будет 4 лекции по нашу курсу! Чуть-чуть затронем что такое rest-api, разберем сериализацию через Pydantic и перейдем к FastAPI.
Скорее всего успеем написать маленький проект, который на дом нужно будет улучшить!
Media is too big
VIEW IN TELEGRAM
Глава 4 - REST API, Pydantic, FastAPI
Лекция: https://github.com/itatmisis/python-course/tree/master/chapter-4
Обратная связь: https://forms.yandex.ru/cloud/66fae8413e9d083e6899abd2/
В этой лекции мы начали делать небольшой проект-шаблон, на основе которого будут делаться следующие лекции и домашки.
Также в этой лекции дается первая домашка!
Лекция: https://github.com/itatmisis/python-course/tree/master/chapter-4
Обратная связь: https://forms.yandex.ru/cloud/66fae8413e9d083e6899abd2/
В этой лекции мы начали делать небольшой проект-шаблон, на основе которого будут делаться следующие лекции и домашки.
Также в этой лекции дается первая домашка!
Regexp
Регепсы (регулярные выражения), это способ представления некоего паттерна, который можно найти в тексте или проверить, что текст ему соответствует.
В питоне есть встроенная библиотека для работы с регулярками:
Регулярные выражения часто бывают очень сложными (например, регулярка для валидации имейлов: https://pdw.ex-parrot.com/Mail-RFC822-Address.html), поэтому очень удобно использовать сайты по типу https://regex101.com/, в которых подробно рассписывается какой точен выражения что делает
Регепсы (регулярные выражения), это способ представления некоего паттерна, который можно найти в тексте или проверить, что текст ему соответствует.
В питоне есть встроенная библиотека для работы с регулярками:
import re
# match(pattern, string). Данная регулярка проверяет, что текст содержит только латинцу
re.match(r'^\w+$', 'vk') is not None # True
re.match(r'^\w+$', 'vk.com') is not None # False
Регулярные выражения часто бывают очень сложными (например, регулярка для валидации имейлов: https://pdw.ex-parrot.com/Mail-RFC822-Address.html), поэтому очень удобно использовать сайты по типу https://regex101.com/, в которых подробно рассписывается какой точен выражения что делает
Занятий 14 и 16 октября НЕ будет
По техническим причинам* занятий в указанные даты не будет.
Вместо них рекомендуем самостоятельно пройти 5 лекцию: https://github.com/itatmisis/python-course/tree/master/chapter-5. Если не пройдете её, то не переживайте, это скорее полезное дополнение, чем необходимая информация.
Следующее занятие будет 21 октября, понедельник. Скорее всего будет про Docker, Docker-compose и вот это всю страшность
* - лектор впервые за 2 года вышел в отпуск
P.S. следующая лекция будет не про Докер, а про СУБД
По техническим причинам* занятий в указанные даты не будет.
Вместо них рекомендуем самостоятельно пройти 5 лекцию: https://github.com/itatmisis/python-course/tree/master/chapter-5. Если не пройдете её, то не переживайте, это скорее полезное дополнение, чем необходимая информация.
Следующее занятие будет 21 октября, понедельник. Скорее всего будет про Docker, Docker-compose и вот это всю страшность
* - лектор впервые за 2 года вышел в отпуск
P.S. следующая лекция будет не про Докер, а про СУБД
Всем привет!
Напоминаю, занятий завтра не будет
Также напоминаю, что в середине ноября мы будем делать проекты.
Проекты будут командные, в команде будет 3+ человек: бекендер, фронтендер, дизайнер. Работа над проектами займет, скорее всего, 3-4 недели и будет разбита на несколько этапов.
Темы для проектов мы почти придумали, но если у вас есть какие-то предложения, то пишите сюда. Темой может быть что угодно: магазин смешных стикеров, сервис генерации QR кодов и тд, но учитывайте, что в его разработке должны принимать участие как бекендеры, так и фронтендеры с дизайнерами.
Напоминаю, занятий завтра не будет
Также напоминаю, что в середине ноября мы будем делать проекты.
Проекты будут командные, в команде будет 3+ человек: бекендер, фронтендер, дизайнер. Работа над проектами займет, скорее всего, 3-4 недели и будет разбита на несколько этапов.
Темы для проектов мы почти придумали, но если у вас есть какие-то предложения, то пишите сюда. Темой может быть что угодно: магазин смешных стикеров, сервис генерации QR кодов и тд, но учитывайте, что в его разработке должны принимать участие как бекендеры, так и фронтендеры с дизайнерами.
#интересное
Как работают импорты? Чтобы не получать постоянно ошибку "Module not found", давайте разберем процесс поиска модулей со стороны интепретатора питона.
Предположим, мы находим в папке
В ней у нас есть 2 файла
и
Когда мы пишем
Когда мы запускаем питон, интерпретатор находит фразу
- В руте проекта, то есть в папке, из которой запускается код. В данном случае это
> Внимание, если вы куда-то перейдете, переместите файл и тд, то все может сломаться, потому что питон ищет код относительно места запуска интерпретатора, а не относительно файла из которого идет импорт
- В 3-rd party зависимостях
- В встроенных библиотеках
Иными словами, если вы хотите запускать main.py, то вы должны его запускать из папки ~/projects. Аналогичная ситуация с shor-linker, что мы делали на прошлом уроке, для запуска нашего проекта мы должны перейти в
import
Как работают импорты? Чтобы не получать постоянно ошибку "Module not found", давайте разберем процесс поиска модулей со стороны интепретатора питона.
Предположим, мы находим в папке
project
cd ~/project
pwd
> ~/project/
В ней у нас есть 2 файла
add.py
>
def add(a: int, b: int) -> int:
return a + b
и
from add import add
def main():
print(add(1, 2))
if __name__ == "__main__":
main()
Когда мы пишем
python3 main.py
питон корректно подключает модуль add и выводит текст. Почему? Когда мы запускаем питон, интерпретатор находит фразу
from add import add
, по которой ему нужно найти модуль add. Этот модуль он ищем:- В руте проекта, то есть в папке, из которой запускается код. В данном случае это
~/project
. > Внимание, если вы куда-то перейдете, переместите файл и тд, то все может сломаться, потому что питон ищет код относительно места запуска интерпретатора, а не относительно файла из которого идет импорт
- В 3-rd party зависимостях
- В встроенных библиотеках
Иными словами, если вы хотите запускать main.py, то вы должны его запускать из папки ~/projects. Аналогичная ситуация с shor-linker, что мы делали на прошлом уроке, для запуска нашего проекта мы должны перейти в
cd python-cource/chapter-4/project
и оттуда вызвать python3 main.py
Глава 6 - БД: Что такое БД, какие бывают, когда какие нужны
Завтра, понедельник 21 октября, в 18:00 будет очная лекция про базы данных! Расскажем о том, какие есть и начнем проходить SQL
Приходите!
Завтра, понедельник 21 октября, в 18:00 будет очная лекция про базы данных! Расскажем о том, какие есть и начнем проходить SQL
Приходите!
Media is too big
VIEW IN TELEGRAM
Запись 6 лекции!
Глава 6 - БД: Что такое БД, какие бывают, когда какие нужны
Текст: https://github.com/itatmisis/python-course/tree/master/chapter-6
Глава 6 - БД: Что такое БД, какие бывают, когда какие нужны
Текст: https://github.com/itatmisis/python-course/tree/master/chapter-6
Понравилась лекция?
Anonymous Poll
42%
❤️❤️❤️❤️❤️ (очень)
9%
❤️❤️❤️❤️
1%
❤️❤️❤️
1%
❤️❤️
0%
❤️ (нет)
47%
🐈
Напоминаю, что через 5 минут будет лекция онлайн
Глава 7 - БД: SQLAlchemy
Глава 7 - БД: SQLAlchemy
Ух е, забыл спросить
Как лекция?
Как лекция?
Anonymous Poll
39%
🟩🟩🟩🟩🟩 (супер)
4%
🟩🟩🟩🟩
3%
🟩🟩🟩
0%
🟩🟩
1%
🟩 (ужас)
53%
💸 (мяу)
Сегодня, в 18:00 в Б4 будет 8 лекция!
Глава 8 - Deploy: Линукс, Яндекс Клауд и как развернуть наш код на настоящем сервере.
Развернем наш проект на настоящем сервере и сыграем в русскую рулетку с финскими операционными системами
Глава 8 - Deploy: Линукс, Яндекс Клауд и как развернуть наш код на настоящем сервере.
Развернем наш проект на настоящем сервере и сыграем в русскую рулетку с финскими операционными системами