← Stopnja 4 – Data pro

Lekcija 1 od 6 ⏱ 20 minut Brezplačen predogled

Zakaj podatki izginejo ob ponovnem zagonu

Ugotovi, zakaj knjiga obiskovalcev pozabi sporočila, ko strežnik ustavi – in kaj bomo naredili.

Kaj se dogaja pod pokrovom

V ravni 3 smo sporočila shranjevali v polje v pomnilniku:

const vzkazy = [
  { jmeno: "Martin", text: "First message!" },
];

To odlično deluje – dokler strežnik teče. Ko ga ustaviš (Ctrl+C) in znova zaženeš, je polje prazno. Sporočila so izginila. Zakaj?

Ker je RAM (pomnilnik računalnika) kot tabla v učilnici: ko greš, jo nekdo pobriše. Za trajno shranjevanje potrebuješ disk – datoteko ali bazo podatkov.

💡

Disk proti pomnilniku: datoteka na disku preživi ponovni zagon. Polje v server.js ne. Zato velike strani uporabljajo baze podatkov – MySQL, PostgreSQL, SQLite. Začeli bomo s SQLite: baza v eni datoteki, brez dodatnega strežnika.

Pokažem ti: kaj se zgodi po ponovnem zagonu

  1. Zaženi strežnik iz lekcije o knjigi obiskovalcev (node server.js).
  2. Pošlji novo sporočilo prek Reacta.
  3. Ustavi strežnik (Ctrl+C) in ga znova zaženi.
  4. Osveži stran v brskalniku – sporočilo je izginilo.

To ni napaka v kodi. To je lastnost pomnilnika. In zdaj veš, zakaj obstajajo baze podatkov.

Zdaj si na vrsti 💪

  1. Zgoraj opisan poskus ponovi in zapiši (morda v opombah projekta), kaj se je zgodilo.
  2. Odpri server.js in poišči vrstico z const vzkazy = [...]. Dodaj komentar: // WARNING: this disappears after a server restart!
  3. Razmisli o svojem projektu: kaj ne bi smelo izginiti na šolski/klubski/dnevniški strani? (urnik? fotografije? sporočila?) – naštej 2–3 stvari.

Preveri se: Razumeš razliko med pomnilnikom (začasno) in diskom (trajno). V naslednji lekciji se naučiš Gita – za varnostno kopijo kode na disku in na spletu. Nato SQLite – za trajno knjigo obiskovalcev.

Kaj si vzameš iz te lekcije