Летняя смена НОУ Поиск 2023
Планы на смену
Еду этим августом в НОУ Поиск в ИТ смену. Буду рассказывать про бекенд разработку 2 недели. Может быть сделаю запись видео и потом выложу у себя на ютубе.
Концепция — Получить понимаение как вот оно работает в интернетах ваших.
Накидал план для Гигачадов.
-
Как работает интернет. Из каких частей он состоит. Накидываем всё высокоуровнево, чтобы понять, что нужно изучить. Разбираем, какие науки и предметы используются в интернете(типа физика математика и тд).
-
Как общаются устройства в сети. Понятие сокета. Понятие http. Пытаемся открыть голый сокет и отправить запрос полностью вручную на сервер и получить ответ.
-
Делаем сервер на чистом сокете. Узнаем что такое "слушать порт". Пытаемся отдать html вручную по сокету. Потом пишем простой чат по сети (без бд, без ничего. Типа 50 строк кода, я надеюсь)
-
Понимаем, что голые сокеты — это жесть. Приходим к пониманию, зачем нужны uvicorn (asgi server), starlette (toolkit), fastapi (framework). Изучаем роутинг, виды запросов и куки/сессии.
-
Ой, а как хранить данные? Знакомимся с СУБД. Небольшой экскурс в БД: базовые операции SQL. Делаем запросы в БД postgresql в консоли.
-
А как делать запросы из приложения? Подключаемся напрямую по сокету в постгрес, отправляем запросы и получаем ответы. Понимаем, что это жесть и берем драйвер БД (psycopg3, asyncpg).
-
Понимаем, что драйвер БД это жесть и берем ORM- либо Алхимия либо Tortoise. Учимся ими пользоваться и радуемся, как всё стало просто. Разбираем достоинства и недостатки ORM.
Результаты
- Вспомнили Python и изучили декораторы, аннотации типов, дата-классы, генераторы, асинхронность (async/await).
- Изучили основы работы интернета: tcp/ip, OSI, socket, port, http.
- Написали чат на чистых tcp сокетах. Изучили curses.
- Написали чат на websockets с помощью FastAPI.
- Использовали sqlite и sqlalchemy.
Презентация проекта команды pdf.
Ночная лекция
Прочитал лекцию про нейросети: "Как стать кошкодевочкой"