Mitä tapahtuu konepellin alla
Tasolla 3 tallensimme viestit taulukkoon muistissa:
const vzkazy = [
{ jmeno: "Martin", text: "First message!" },
];
Se toimii loistavasti – niin kauan kuin palvelin pyörii. Mutta kun pysäytät sen (Ctrl+C) ja käynnistät uudelleen, taulukko on tyhjä. Viestit ovat poissa. Miksi?
Koska RAM (tietokoneen muisti) on kuin valkotaulu luokassa: kun lähdet, joku pyyhkii sen puhtaaksi. Pysyvään tallennukseen tarvitset levyn – tiedoston tai tietokannan.
Levy vs. muisti: tiedosto levylle selviää uudelleenkäynnistyksestä. Taulukko server.js:ssä ei. Siksi isot verkkosivut käyttävät tietokantoja – MySQL, PostgreSQL, SQLite. Aloitamme SQLite:lla: tietokanta yhdessä tiedostossa, ei erillistä palvelinta tarvita.
Näytän sinulle: mitä tapahtuu uudelleenkäynnistyksen jälkeen
- Käynnistä palvelin vieraskirja-oppitunnilta (
node server.js). - Lähetä uusi viesti Reactin kautta.
- Pysäytä palvelin (Ctrl+C) ja käynnistä uudelleen.
- Päivitä sivu selaimessa – viesti on poissa.
Tämä ei ole bugi koodissa. Se on muistin ominaisuus. Ja nyt tiedät miksi tietokannat ovat olemassa.
Nyt sinun vuorosi 💪
- Toista koe yllä ja kirjoita muistiin (ehkä projektisi muistiinpanoihin) tarkalleen mitä tapahtui.
- Avaa
server.jsja etsi riviconst vzkazy = [...]. Lisää kommentti:// WARNING: this disappears after a server restart! - Mieti omaa projektiasi: mikä ei saisi kadota koulu-/seura-/matkakirja-sivullasi? (lukujärjestys? kuvat? viestit?) – listaa 2–3 asiaa.
Tarkista: Ymmärrät eron muistin (väliaikainen) ja levyn (pysyvä) välillä. Seuraavassa oppitunnissa opit Gitin – koodin varmuuskopiointiin levylle ja verkkoon. Sitten SQLite – viestien tallentamiseen ikuisesti.
Mitä opit tästä oppitunnista
- Data taulukossa
server.js:ssä elää vain palvelimen uudelleenkäynnistykseen asti. - Pysyvä tallennus = tiedosto tai tietokanta levylle.
- Taso 4 johdattaa sinut Gitiin (koodin varmuuskopiot) ja SQLiteen (pysyvä vieraskirja).
© 2026 Ing. Martin Polak / AlgoRhino · Sisällön käyttöehdot