Tema
/
Interneto svetainių serverio dalies kūrimas GO
📖 Teorija

Namų darbas — įrodyk laikinumą, sulaužyk sargybą

Išleisk savo. Įdiek savo programą (ar savo SignFlow šaką) į Railway, arba pereik šiuos su nuorodos diegimu.

  1. Įrodyk, kad laikinumas tikras. Servise be Volume (ar su UPLOAD_DIR, rodančiu į konteinerio diską), įkelk failą, perdiek ir bandyk atsisiųsti. Jo nebėra. Tada prijunk Volume, pakartok ir stebėk, kaip išlieka. Parašyk du sakinius, kodėl storage.Store sąsaja padarė tai konfigūracijos sprendimu, ne kodo pakeitimu.

  2. Perskaityk atvaizdą. Paleisk docker build -t signflow . vietoje, tada docker history signflow (ar patikrink atvaizdo dydį). Pastebėk, kaip mažai yra galutiniame sluoksnyje. Paaiškink, ką CGO_ENABLED=0 ir distroless bazė kiekvienas prisideda, ir kodėl migracijų įterpimas svarbus pačiai-migruojančiam diegimui.

  3. Sulaužyk sargybą, stebėk, kaip atsisako. Įdiek su APP_ENV=prod, bet praleisk BASE_URL. Programa nepasileis. Perskaityk tikslią klaidą. Dabar nustatyk APP_ENV=dev su tuo pačiu trūkstamu kintamuoju — ji pasileidžia (su localhost numatytuoju). Paaiškink, kodėl atsisakymas prod, bet numatytoji reikšmė dev — teisingas padalijimas.

  4. Suplanuok objektų saugyklos apkeitimą. Neįgyvendinsi, bet nubrėžk: kuris vienas failas keičiasi, kad pridėtum S3Store, įgyvendinantį storage.Store, kas lieka nepaliesta (kiekvienas valdiklis), ir kodėl Volume buvo teisingas pirmas pasirinkimas, bet objektų saugykla — tai, ko siektum prie kelių egzempliorių. Tai 8 pamokos sąsaja, atsiperkanti.

Kita pamoka — viso kurso atpildas: dabar pastatei autentifikaciją dviem visiškai skirtingais būdais — JWT Pica, sesijos slapukas čia — ir pagaliau gali pajusti, kodėl atsakymas skiriasi.