Saytni internetga joylash va keyingi qadamlar
Hozircha saytingiz faqat sizning kompyuteringizda yashaydi — uni do'stingizga ko'rsatib bo'lmaydi. Bu darsda uni bepul internetga joylab, havolasini istalgan odamga yuborish mumkin bo'ladigan holga keltiramiz. Oxirida esa veb-dasturlashda keyin nimani o'rganish kerakligi haqida gaplashamiz.
Bu darsda
- Hosting va domen nima
- Saytni bir daqiqada joylash: Netlify Drop
- GitHub Pages: qadamma-qadam, rasmlar bilan
- Joylashdan oldingi tekshiruv ro'yxati
- Keyingi qadamlar: Git, API, freymvorklar, backend
- Bepul o'quv manbalari va loyiha g'oyalari
Hosting va domen
1-darsdan eslang: brauzer sahifani serverdan so'raydi. Demak, saytingizni hamma ko'rishi uchun uning fayllari kun-u tun yoqiq turadigan serverda turishi kerak.
- Hosting — saytingiz fayllari uchun serverdagi joy. Xuddi do'kon uchun ijaraga olingan bino kabi.
- Domen — saytning nomi, ya'ni manzili:
mening-saytim.uz. Bu — do'kon peshtaxtasidagi yozuv va manzil.
Bizning saytimiz faqat HTML, CSS va JavaScript fayllaridan iborat — bunday saytlar statik sayt deyiladi. Statik saytlar uchun ko'plab xizmatlar bepul hosting va bepul manzil beradi:
| Xizmat | Qanday ishlaydi | Bepul manzil |
|---|---|---|
| GitHub Pages | Fayllarni GitHub'ga yuklaysiz, u saytga aylanadi. Dasturchilar orasida eng mashhuri. | ism.github.io/loyiha |
| Netlify | Papkani brauzerga sudrab tashlaysiz — tamom. | nom.netlify.app |
| Vercel, Cloudflare Pages | GitHub bilan bog'lanadi, har o'zgarishda o'zi yangilanadi. | nom.vercel.app, nom.pages.dev |
O'z domeningizni (masalan, .uz bilan tugaydigan) domen sotuvchi kompaniyalardan yillik to'lov evaziga sotib olib, keyin shu xizmatlarga ulash mumkin. Boshlanishiga bepul manzil bemalol yetadi.
Siz joylagan sayt butun dunyoga ochiq bo'ladi. Sahifalarda telefon raqamingiz, uy manzilingiz, parollar yoki boshqa shaxsiy ma'lumotlar qolmaganini tekshiring.
1-usul. Netlify Drop — eng tezi
Agar saytni tezda kimgadir ko'rsatish kerak bo'lsa:
- Brauzerda app.netlify.com/drop sahifasini oching.
- Kompyuteringizdagi sayt papkasini (ichida
index.htmlbor papkani) sichqoncha bilan shu sahifadagi maydonga sudrab tashlang. - Bir necha soniyada
https://tasodifiy-nom.netlify.appkabi havola paydo bo'ladi. Uni ochib ko'ring va do'stlaringizga yuboring.
Ro'yxatdan o'tmasangiz, bunday sayt vaqtinchalik bo'ladi. Uni saqlab qolish va nomini o'zgartirish uchun bepul akkaunt oching (Google yoki GitHub akkaunti bilan kirish mumkin).
2-usul. GitHub Pages — qadamma-qadam
GitHub — dasturchilar o'z kodlarini saqlaydigan va bir-biri bilan ulashadigan eng katta sayt. U yerda akkaunt ochish dasturchi uchun foydali: ish beruvchilar ko'pincha nomzodning GitHub sahifasiga qarashadi. GitHub'ning Pages xizmati esa kodingizni bepul saytga aylantiradi.
GitHub sahifalari ingliz tilida. Quyida har bir tugma va yozuvning ma'nosini tushuntirib boramiz. GitHub o'z dizaynini vaqti-vaqti bilan yangilab turadi — tugmalar joyi biroz farq qilsa, xuddi shu nomdagi yozuvlarni qidiring.
1. Akkaunt oching
github.com/signup sahifasida elektron pochta, parol va foydalanuvchi nomi (username) kiriting. Foydalanuvchi nomini o'ylab tanlang — u saytingiz manzilida bo'ladi. Masalan, nomingiz aziz-dev bo'lsa, manzil aziz-dev.github.io bo'ladi.
2. Yangi repozitoriy yarating
Repozitoriy (inglizcha repository, qisqacha «repo») — GitHub'dagi loyiha papkasi. Yuqori o'ng burchakdagi + belgisini bosib, New repository ni tanlang:
Create a new repository
Repository name *
✔ veb-sayt is available.
Description (optional)
- 1Repository name — loyiha nomi, masalan
veb-sayt. Bu nom sayt manzilining oxirida bo'ladi:aziz-dev.github.io/veb-sayt. Kichik lotin harflari va chiziqcha ishlating. - 2Public (ochiq) — bepul GitHub Pages uchun repozitoriy ochiq bo'lishi kerak.
- 3Create repository — yaratish.
3. Sayt fayllarini yuklang
Yangi, bo'sh repozitoriy sahifasida uploading an existing file («mavjud faylni yuklash») havolasini bosing. Keyin kompyuteringizdagi sayt papkasini oching va ichidagi fayllarni (index.html, style.css, script.js, rasmlar papkasi) belgilab, shu sahifaga sudrab tashlang:
Or choose your files1
- 1Fayllarni shu maydonga sudrab tashlang yoki choose your files orqali tanlang. Yuklangan fayllar ro'yxati pastda ko'rinadi.
- 2Commit changes — o'zgarishlarni saqlash. GitHub'da har bir saqlash commit deyiladi; u loyiha tarixida qoladi.
index.html papkaning ichida emas, repozitoriyning eng yuqori qismida (ildizida) turishi kerak. Agar veb-sayt/index.html bo'lib yuklangan bo'lsa, sayt ochilmaydi.
4. Pages'ni yoqing
Repozitoriy sahifasining yuqorisidagi Settings (sozlamalar) bo'limiga o'ting, chapdagi ro'yxatdan Pages ni tanlang:
GitHub Pages
Build and deployment
Source
Branch
Your GitHub Pages site is currently disabled.
- 1Settings — repozitoriy sozlamalari.
- 2Pages — chap ro'yxatdagi «Code and automation» qismida.
- 3Branch (tarmoq) ro'yxatidan
mainni tanlang. Avval uNonebo'ladi. - 4Papka:
/ (root)— ya'ni repozitoriyning ildizi,index.htmlturgan joy. - 5Save — saqlash.
5. Saytingiz tayyor!
1–2 daqiqa kuting va Pages sahifasini yangilang (F5). Tepada yashil xabar chiqadi:
GitHub Pages
Last deployed by aziz-dev 1 minute ago
- 1«Your site is live at…» — «Saytingiz shu manzilda ishlayapti». Bu havolani istalgan odamga yuborishingiz mumkin: telefonda ham, boshqa davlatda ham ochiladi.
- 2Visit site — saytni ochib ko'rish.
Saytni yangilash
Saytga o'zgartirish kiritmoqchi bo'lsangiz, kompyuteringizda tahrirlang va o'zgargan fayllarni xuddi 3-qadamdagidek qayta yuklang (Add file → Upload files). Bir-ikki daqiqadan keyin sayt o'zi yangilanadi.
Agar foydalanuvchi nomingiz aziz-dev bo'lsa va repozitoriyni aynan aziz-dev.github.io deb nomlasangiz, saytingiz qisqa manzilda — https://aziz-dev.github.io da ochiladi. Shaxsiy portfolio uchun ajoyib.
Sayt ochilmasa
| Belgi | Sababi va yechimi |
|---|---|
| 404 — There isn't a GitHub Pages site here | Hali tayyor emas (bir-ikki daqiqa kuting) yoki index.html ildizda emas, yoki nomi boshqacha (Index.html, index.htm). |
| Sahifa ochildi, lekin dizayn (CSS) yo'q | <link href="..."> dagi yo'l noto'g'ri. Serverda katta-kichik harf farq qiladi: Style.css va style.css — ikki xil fayl. |
| Rasmlar chiqmayapti | Yo'l C:\Users\... kabi to'liq (absolyut) yozilgan yoki rasm yuklanmagan. Faqat nisbiy yo'l ishlating: rasmlar/olma.svg. |
| Eski versiya ko'rinyapti | Brauzer eski nusxani eslab qolgan. Ctrl + F5 bilan to'liq yangilang. |
Joylashdan oldin tekshiring
Haqiqiy dasturchilar saytni chiqarishdan oldin kichik ro'yxat bo'yicha tekshiradi. Siz ham shunday qiling:
<html lang="uz">va har bir sahifada tushunarli<title>.<meta name="description" content="...">— sayt haqida bir-ikki gap. Google qidiruv natijalarida va havolani Telegram'da ulashganda shu matn chiqadi.- Barcha rasmlarda ma'noli
altmatn. - Barcha havolalar ishlaydi, fayl nomlari kichik harflarda va bo'sh joysiz.
- Telefonda tekshirildi (DevTools'da Ctrl + Shift + M — 12-dars).
- Konsolda (F12 → Console) qizil xatolar yo'q.
- Shaxsiy ma'lumotlar yo'q.
Keyingi qadamlar
Siz veb-dasturlashning poydevorini qo'ydingiz: HTML, CSS va JavaScript'ni bilasiz, sayt yasab, uni internetga joylay olasiz. Bu — juda katta yutuq! Endi qayerga yurish mumkin?
1. Ko'p loyiha qiling
Eng muhim qadam — o'rganganlaringizni mustahkamlash. Darsliksiz, o'zingiz 3–5 ta kichik sayt yasang. G'oyalar:
- Portfolio — o'zingiz haqingizda sahifa: rasm, ko'nikmalar, loyihalar, aloqa.
- Mahalliy biznes uchun sahifa — choyxona, sartaroshxona yoki o'quv markazi: menyu, narxlar, manzil.
- Kalkulyator yoki valyuta konvertori.
- Viktorina o'yini — savollar massivi, ball hisoblash, natija.
- Retseptlar kitobi — kartochkalar, qidiruv, «sevimlilar» (localStorage).
Har bir loyihani GitHub'ga joylang — bu sizning portfoliongiz bo'ladi.
2. Git
Fayllarni GitHub'ga qo'lda yuklash — boshlanish uchun yaxshi, lekin dasturchilar buni Git dasturi orqali qiladi. Git — kodning «vaqt mashinasi»: har bir o'zgarish tarixda saqlanadi, istalgan vaqtda orqaga qaytish va jamoa bilan birga ishlash mumkin. Asosiy buyruqlar terminalda yoziladi:
git init # papkani Git loyihasiga aylantirish git add . # barcha o'zgarishlarni tayyorlash git commit -m "Bosh sahifa" # tarixga saqlash (izoh bilan) git push # GitHub'ga yuborish
VS Code'ning chap panelidagi Source Control bo'limi bu ishlarni tugmalar bilan qilish imkonini beradi.
3. JavaScript'ni chuqurroq
Zamonaviy saytlar ma'lumotni boshqa serverlardan oladi: ob-havo, valyuta kursi, yangiliklar. Buning uchun API (dasturlar bir-biri bilan gaplashadigan «eshik») va fetch ishlatiladi:
// Serverdan ma'lumot so'rash (internet kerak)
async function yukla() {
const javob = await fetch("https://api.example.com/ob-havo?shahar=Toshkent");
const malumot = await javob.json(); // JSON → JavaScript obyekti
console.log(malumot.harorat);
}
yukla();
Bundan tashqari o'rganishga arziydi: async/await va Promise, modullar (import/export), xatolar bilan ishlash (try/catch) va TypeScript — turlari bor JavaScript.
4. Yo'nalish tanlang
| Yo'nalish | Nima qiladi | Nimani o'rganish kerak |
|---|---|---|
| Frontend | Foydalanuvchi ko'radigan qism: interfeyslar, ilovalar | React (eng mashhur), Vue yoki Svelte; Tailwind CSS; TypeScript |
| Backend | Serverdagi qism: ma'lumotlar bazasi, ro'yxatdan o'tish, to'lov | Node.js + Express yoki Python + Django / FastAPI (Python kursi bu yerda asqotadi); SQL |
| Full-stack | Ikkalasi ham | Avval bittasini yaxshi o'rganing, keyin ikkinchisini |
Freymvorklarga (React va boshqalar) shoshilmang. Ular oddiy JavaScript ustiga qurilgan: JavaScript'ni — ayniqsa massivlar, obyektlar, funksiyalar va DOM'ni — yaxshi bilmasdan React'ni o'rganish juda qiyin bo'ladi.
Bepul o'quv manbalari
| Manba | Nima uchun | Til |
|---|---|---|
| MDN Web Docs | HTML, CSS, JS bo'yicha eng ishonchli ma'lumotnoma. Biror teg yoki xususiyatni unutsangiz — shu yerga qarang. | ingliz (qisman rus) |
| javascript.info | JavaScript bo'yicha noldan murakkabgacha batafsil darslik. | ingliz; rus tilida — learn.javascript.ru |
| freeCodeCamp | Interaktiv mashqlar, loyihalar va bepul sertifikatlar. | ingliz |
| web.dev/learn | Google'ning CSS, dizayn va qulaylik bo'yicha kurslari. | ingliz |
| Frontend Mentor | Tayyor dizaynlar: ularni HTML/CSS'da yasab, mahoratni oshirasiz. | ingliz |
| Flexbox Froggy, Grid Garden | Flexbox va Grid'ni o'yin orqali mashq qilish. | ko'p tilda |
Ingliz tili dasturchi uchun eng foydali qo'shimcha ko'nikma: hujjatlar, xato xabarlari va savol-javoblar asosan inglizcha. Kuniga 15–20 daqiqa ingliz tiliga ajrating — bir yildan keyin farqni sezasiz. Qanday o'rganish kerak darsidagi maslahatlarni ham eslang.
Mashqlar
1-mashq Sahifani joylashga tayyorlang
Quyidagi sahifaga joylashdan oldingi ro'yxatdagi ikki narsani qo'shing: <head> ichida bo'sh bo'lmagan <title> va name="description" bo'lgan <meta> teg (content atributida kamida 20 belgili tavsif bilan). Shuningdek, rasmga ma'noli alt yozing.
<!DOCTYPE html> <html lang="uz"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <h1>Bog'dagi olmalar</h1> <img src="../assets/rasmlar/olma.svg" width="120"> <p>Bizning bog'imizda o'n xil olma navi o'sadi.</p> </body> </html>
Yechimni ko'rish
<!DOCTYPE html> <html lang="uz"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Bog'dagi olmalar</title> <meta name="description" content="Bog'imizdagi o'n xil olma navi haqida qisqacha ma'lumot."> </head> <body> <h1>Bog'dagi olmalar</h1> <img src="../assets/rasmlar/olma.svg" width="120" alt="Qizil olma"> <p>Bizning bog'imizda o'n xil olma navi o'sadi.</p> </body> </html>
2-mashq Saytingizni dunyoga chiqaring
- Kurs davomida yasagan saytlaringizdan birini tanlang (masalan, vazifalar ro'yxati yoki portfolio).
- Yuqoridagi ro'yxat bo'yicha tekshiring.
- GitHub akkaunt oching va saytni GitHub Pages'ga joylang.
- Havolani telefoningizda oching. Hammasi to'g'ri ko'rinyaptimi?
- Havolani do'stingizga yuboring va fikrini so'rang.
3-mashq Birinchi mustaqil loyiha
Yuqoridagi «Ko'p loyiha qiling» ro'yxatidan bitta g'oyani tanlang va darsliksiz yasang. Qiyin joyda MDN'dan qidiring. Tugatgach, uni ham GitHub Pages'ga joylang.
O'zingizni sinang
Bu — butun kurs bo'yicha yakuniy test.
GitHub Pages'da sayt ochilishi uchun index.html qayerda turishi kerak?
- Istalgan papka ichida
- Repozitoriyning ildizida (eng yuqori qismida)
rasmlarpapkasida- Kompyuterning ish stolida
To'g'ri. Pages sozlamasida / (root) tanlangani uchun index.html ildizda bo'lishi kerak.
Saytda <link href="Style.css"> yozilgan, fayl esa style.css deb nomlangan. Kompyuterda ishladi, serverda dizayn yo'qoldi. Nega?
- Server CSS'ni qo'llamaydi
- Internet sekin
- CSS fayl juda katta
- Serverda fayl nomlarida katta-kichik harf farq qiladi
To'g'ri. Shuning uchun fayl nomlarini doim kichik harflarda yozing.
Qaysi qatorda texnologiya va uning vazifasi to'g'ri juftlangan?
- HTML — tuzilish, CSS — ko'rinish, JavaScript — harakat
- HTML — harakat, CSS — tuzilish, JavaScript — ko'rinish
- HTML — ko'rinish, CSS — harakat, JavaScript — tuzilish
- Uchalasi ham bir xil ish qiladi
To'g'ri. Kursning eng asosiy g'oyasi aynan shu.
Elementlarni bir qatorga terib, ular orasini teng taqsimlash uchun qaysi CSS eng qulay?
display: blockposition: absolutedisplay: flex; justify-content: space-between;float: left
To'g'ri. Flexbox — 11-dars.
Tugma bosilganda biror ish bajarish uchun JavaScript'da nima ishlatiladi?
console.log("click")tugma.addEventListener("click", funksiya)<button href="...">tugma.style.click = true
To'g'ri. Hodisalar — 17-dars.
React kabi freymvorkni qachon o'rganishni boshlagan ma'qul?
- HTML'ni o'rganishdan oldin
- Hech qachon — ular kerak emas
- JavaScript asoslarini (massiv, obyekt, funksiya, DOM) yaxshi o'zlashtirgandan keyin
- Faqat backend dasturchilar o'rganadi
To'g'ri. Freymvorklar oddiy JavaScript ustiga qurilgan.
Xulosa
- Statik saytni bepul joylash mumkin: Netlify Drop (eng tezi) yoki GitHub Pages (dasturchilar uchun eng foydalisi).
- GitHub Pages: repozitoriy → fayllarni yuklash → Settings → Pages →
main,/ (root)→ Save. - Joylashdan oldin:
title,description,alt, havolalar, telefon ko'rinishi, konsol xatolari, shaxsiy ma'lumotlar. - Keyingi qadamlar: loyihalar, Git, chuqur JavaScript (fetch, API), keyin frontend freymvork yoki backend.
Tabriklaymiz! Siz veb-dasturlash kursini tugatdingiz. Endi siz brauzerda ishlaydigan saytlarni noldan yarata olasiz va ularni butun dunyoga ko'rsata olasiz. Eng muhimi — to'xtamang: har kuni ozgina bo'lsa ham kod yozing. Har bir katta dasturchi ham aynan siz turgan joydan boshlagan.