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

Namų darbas — tipų sauga ir /about puslapis

Padaryk savą.

  1. Pajusk tipų saugą. home.templ pakeisk @Layout("Home") į @Layout(42). Paleisk templ generate — jis net nesugeneruos; gausi Go tipo klaidą cannot use 42 (int) as string toje eilutėje. Šablono klaida, pagauta build metu. Grąžink atgal.

  2. Sukelk pasenusio šablono spąstus tyčia. Pakeisk <h1> tekstą home.templ, perkrauk nepaleidęs templ generate — sena antraštė vis dar ten. Dabar paleisk templ generate, perkrauk — pakeitimas atsiranda. Pajusk ciklą: keiti → generuoji → perkrauni.

  3. Paversk savo /about maršrutą (iš 1 pamokos) tikru puslapiu. Parašyk About templ komponentą, naudojantį @Layout("About"), ir pakeisk About apdorotoją į render(w, r, http.StatusOK, web.About()). Dabar tai stilizuotas puslapis su ta pačia antrašte ir poraštė — štai kam reikalingas maketas.

Kur einam toliau. Tavo Home() atvaizduoja, bet neturi ką tikro pasakyti — „Skeleton status" kortelė įrašyta kietai. 3 pamoka prijungia Postgres: users lentelė per goose migraciją, užklausiama su sqlc, o Home(userCount int64) rodys gyvą registruotų vartotojų skaičių iš duomenų bazės. Ir sutiksi gražiausią faktą visame šitame — sqlc skaito savo schemą tiesiai iš migracijų, tad generuotas užklausų kodas niekada negali prasilenkti su tikra lentele.