Šioje knygoje jūs pereisite nuo pagrindinių principų studijavimo iki praktinio pilnaverčių serverių programų įgyvendinimo Python kalba: nuo žemosios lygio socket'ų ir protokolų iki architektūros ir produkcijos paleidimo. Knyga išsiskiria tuo, kad siūlo ne vieną «teisingą» kelią, o palygina tris subrendusius stekus — Flask, Django ir FastAPI — realiuose projektuose, rodydama, kur tinka paprastumas, kur reikalinga visiškumas iš dėžutės, o kur kritiška greitis ir asynchroniškumas.
Knygos struktūra yra nuosekli: nuo serverių programavimo pagrindų (klient-server architektūra, HTTP, HTTPS ir WebSocket duomenų perdavimo protokolai, žemosios lygio darbas su socket'ais Python) iki kelių realių projektų kūrimo, įskaitant CRM sistemą Django, telegram bot'ą su pilnaverte serverio logika, REST API mobiliajai programai ir interaktyvų pokalbį su WebSocket.
Išnagrinėsime pagrindinius aspektus dirbant su duomenų bazėmis serverių programose: tinkamo saugyklos tipo pasirinkimas pagal apkrovų profilį ir duomenų struktūrą; triukai, kaip dirbti su trimis populiariausiomis ORM; aiškus schemos keitimo procesas be sustojimo; paruošti šablonai prijungimui prie PostgreSQL/MySQL/SQLite/MongoDB ir dar daugiau.
Ištirsime pagrindinius serverių programų mastelio didinimo ir optimizavimo principus: jūs išmoksite naudoti apkrovos balansavimo sistemas su Nginx ir Gunicorn, taikyti efektyvias talpyklų strategijas su Redis ir Memcached, vykdyti fonines užduotis su Celery ir RabbitMQ, taip pat diegti konteinerius naudojant Docker ir Kubernetes. Ypač dėmesys skiriamas saugumo klausimams ir įvairioms duomenų ir programų apsaugos metodikoms: TLS/SSL naudojimas duomenų šifravimui, JWT tokenų ir OAuth 2.0 diegimas vartotojų autentifikavimui, apsauga nuo dažniausiai pasitaikančių atakų (SQL injekcijų, tarpiniam skriptavimui (XSS) ir tarpinius užklausas (CSRF)).
Taip pat mes apsvarstysime šiuolaikinius programas drąsti, nagrinėdami serverinės infrastruktūros nustatymą AWS, Heroku, DigitalOcean, taip pat Nginx interneto serverio ir Gunicorn proceso valdymo serverio konfigūraciją gamybai.