16
Fayllar bilan ishlash
Kitobga muqova rasmini qanday yuklaymiz? Bugun FastAPI da fayl qabul qilish, tekshirish va yuklab olishni o'rganamiz.
Haftada 3 ta dars. Slaydlarni oching va darsning o'quvchi sahifasida qo'shimcha ma'lumot hamda topshiriqlarni toping.
Kitobga muqova rasmini qanday yuklaymiz? Bugun FastAPI da fayl qabul qilish, tekshirish va yuklab olishni o'rganamiz.
Loyiha ishlaydi, lekin tayyormi? Bugun uni tartibga solamiz: sozlamalar, xato formati, CORS, testlar va migratsiya.
Loyiha tayyor, endi uni boshqa kompyuter va serverga qanday olib chiqamiz? Bugun Docker bilan «bir marta yasa, hamma joyda ishlat» tamoyilini o'rganamiz.
Fan: Advanced Python Back-end
Sinf: 10-sinf
Hafta: 6-hafta
Topshirish muddati: Keyingi darsga qadar (7-hafta, 1-dars)
POST /books/{id}/cover ni yozing: JPEG/PNG, 2 MB, uuid4 nomi; Swagger da sinab, skrinshot oling.GET /files/{name} ni path traversal dan himoyalab yozing va ../ bilan so'rov yuborib 404 ni tekshiring.Settings va .env/.env.example yarating; .env .gitignore da ekanini tekshiring.alembic upgrade head va pytest -q natijalarini skrinshot qiling; README ga ishga tushirish bo'limini qo'shing.Dockerfile va .dockerignore yozing; docker build va docker run natijasini skrinshot qiling.docker-compose.yml (api + db + volume) yozing; docker compose up -d --build va /docs ning skrinshotini oling.localhost va db host farqini 3 jumlada tushuntiring.| Mezon | Ball |
|---|---|
| 16-dars: Fayl yuklash va yuklab olish | 3 |
| 17-dars: Loyihani yakunlash | 3 |
| 18-dars: Dockerfile va docker-compose | 2 |
| Toza, o'z vaqtida va mustaqil bajarilgan | 2 |
| Jami | 10 |
| Bonus: bonus darajadagi topshiriq | +2 |