Vibecoding · 9-dars · 9-11 sinflar
Fan: IT / VibecodingПредмет: IT / VibecodingSubject: IT / Vibecoding Hafta: 2Неделя: 2Week: 2

Doimiy Xotira: LocalStorage va State

Saytni refresh (F5) qilganda barcha ma'lumotlar o'chib ketishidan charchadingizmi? Brauzer xotirasiga ma'lumot saqlashni o'rganamiz.

Amneziya Muammosi

Nega Veb-saytlar "Amneziya"ga uchraydi?

Brauzer har bir sahifa yangilanganda (F5 bosilganda) HTML, CSS va JS fayllarni boshidan qayta o'qiydi.

  • Amneziya: Siz tanlagan til (UZ), yoqqan tungi rejim (Dark mode) yoki hisoblagan valyutangiz o'chib ketadi!
  • Yechim: Foydalanuvchi kompyuterining qattiq diskidagi maxsus ombor — LocalStorage!
Mitti Ombor

LocalStorage nima?

LocalStorage — brauzer ichida har bir saytga beriladigan 5-10 Megabaytlik shaxsiy, doimiy xotiradir.

1. Doimiylik

Kompyuterni o'chirib yoqsangiz ham saqlangan ma'lumot o'chmaydi.

💾

2. Tezkorlik

Internet kerak emas! Barcha ma'lumot kompyuterning o'zida yashaydi.

⚡

3. Kalit-Qiymat

Xuddi JSON kabi: key -> value juftliklarida saqlanadi.

🔑
Sintaksis

LocalStorage ning 3 ta Sehrli Buyrug'i

JavaScript da xotira bilan ishlash uchun faqat 3 ta metodni bilish kifoya:

  • 1. Saqlash: localStorage.setItem("mavzu", "dark");
  • 2. O'qish: var rejim = localStorage.getItem("mavzu");
  • 3. O'chirish: localStorage.removeItem("mavzu");
Farqlar

LocalStorage vs Cookies vs SessionStorage

LocalStorage

Hajm: 5–10MB.
Umr: O'chirib tashlanmaguncha mangu yashaydi.
Qo'llanish: Mavzu, sozlamalar, kesh.

SessionStorage

Hajm: 5MB.
Umr: Vkladka yopilganda o'chib ketadi.
Qo'llanish: Bir martalik formalar.

Cookies

Hajm: 4KB (mitti).
Umr: Muddatli.
Qo'llanish: Server bilan sessiya va login tokenlari.

JSON Ko'prigi

Massivlarni Saqlash: stringify va parse

LocalStorage faqat oddiy Matn (String) tushunadi. Ro'yxat yoki Ob'ekt saqlash uchun nima qilamiz?

JSON.stringify(ro'yxat)

JavaScript ob'ektini yoki massivini matnga (string) aylantirib xotiraga yozadi.

JSON.parse(matn)

Xotiradan olingan matnni yana JavaScript massiviga aylantirib beradi.

Yangi Imkoniyat

Konverterga "Tarix" (History) Qo'shish

Valyuta konverterimizda har safar foydalanuvchi hisoblaganda, oxirgi 5 ta hisob-kitob saqlanib borsin:

📋 Oxirgi hisoblar:
• 100 USD = 1,285,000 UZS (10:15)
• 50 EUR = 705,000 UZS (10:12)
• 5,000 RUB = 700,000 UZS (09:50)

Foydalanuvchi ertaga qaytib kirsa ham, bu ro'yxat joyida turadi!

Taqiqlangan Hudud

LocalStorage ga NIMALARNI Saqlash Mumkin EMAS?

LocalStorage mutlaqo OCHIQ ombordir. Kompyuterdan foydalangan har qanday odam uni o'qiy oladi.

  • ❌ Parollar: Foydalanuvchilar parolini hech qachon LocalStorage ga yozmang!
  • ❌ Bank kartalari va CVV: Moliyaviy maxfiy ma'lumotlar qat'iyan taqiqlanadi!
  • ✅ Mumkin: Tungi rejim sozlamasi, tanlangan til, hisob-kitob tarixi, savatchadagi mahsulotlar (Cart).
Muhandis Ko'zi

DevTools: Xotirani Qayerda Ko'ramiz?

Haqiqiy dasturchilar xotiraning qanday to'layotganini o'z ko'zlari bilan ko'rishadi:

  • 1. Tugma: Brauzerda F12 yoki Ctrl + Shift + I tugmasini bosing.
  • 2. Bo'lim: Tepadagi menyulardan Application (Ilova) bo'limiga o'ting.
  • 3. Storage: Chap menyuda Local Storage -> saytingiz nomini tanlang. Barcha saqlangan kalitlar ro'yxati ko'rinadi!
Vibecoder Usuli

AI dan Xotira Qo'shishni So'rash

"Mavjud valyuta konverteri kodiga LocalStorage integratsiyasini qo'sh:
1. Foydalanuvchi oxirgi tanlagan valyutalarini (From/To) xotirada saqlab qol. Sahifa yangilanganda o'sha valyutalar tanlangan tursin.
2. Har safar hisoblanganda oxirgi 5 ta amaliyotni 'Tarix' ro'yxatiga yoz va LocalStorage da saqla.
3. 'Tarixni tozalash' tugmasini qo'sh, u bosilganda ro'yxat o'chsin."

Xotira Sinovi

Amaliy Vazifa: Amneziyani Davolash

  • 1. Valyuta konverteriga LocalStorage ulab, tanlangan valyutani saqlash
  • 2. Oxirgi hisoblangan 5 ta amalni "Tarix" panelida ko'rsatish
  • 3. Sahifani F5 qilib yangilanganda barcha ma'lumotlar saqlanib qolishi
10 ballik mezon
Valyuta konverteriga LocalStorage ulab, tanlangan valyutani saqlash3
Oxirgi hisoblangan 5 ta amalni "Tarix" panelida ko'rsatish4
Sahifani F5 qilib yangilanganda barcha ma'lumotlar saqlanib qolishi3
Jami10
Dars Yakuni

Dars Xulosasi: Foydalanuvchi Holati (State)

  • State (Holat): Ilovaning ayni paytdagi ko'rinishi va ma'lumotlari.
  • LocalStorage: Holatni foydalanuvchi kompyuterida doimiy saqlab qolish asbobi.
  • Keyingi darsda ilovamizni himoyalaymiz: Login/Parol va Xavfsizlik (.env)!
Target International SchoolTarget International School Kirish 0–2
1 / 14