IlmHamroh
JavaScript Full-stack/3-qism. Dasturchi asboblari va fikrlash17/21-dars11 daqiqa
Mundarija (32)

Samarali qidirish (googling): dasturchi Google'da qanday qidiradi

Qisqacha: Dasturchi Google'ga uzun gap emas, inglizcha kalit so'zlar yozadi. Xato matni shaxsiy qismlardan tozalanib, qo'shtirnoq ichida qidiriladi. site: bitta saytda, - keraksiz so'zsiz, after: faqat yangi sahifalardan qidiradi. Topilgan javobning sanasi, versiyasi va manbasi tekshiriladi.

Bu darsda

  • Qidiruv so'rovini inglizcha kalit so'zlardan tuza olasiz.
  • "", site:, -, after:, OR operatorlarini ishlata olasiz.
  • Xato xabarini shaxsiy qismlardan tozalab, to'g'ri qidira olasiz.
  • Natijalardan ishonchli va yangi manbani ajrata olasiz.
  • Qidiruv tepasidagi AI javobiga qanday qarash kerakligini bilasiz.

Oldin bilishingiz kerak: Dasturchi ingliz tili, URL anatomiyasi.

1. Nega bu kerak?

Ikki o'quvchi bir xil xatoga duch keldi.

Ali Google'ga shunday yozdi: "salom menda npm ishlamayapti qizil yozuv chiqyapti nima qilay". 20 daqiqa forum sahifalarini varaqladi, javob topmadi.

Malika xato matnining eng muhim qismini nusxaladi va qo'shtirnoqqa oldi: npm "Could not read package.json". Birinchi natijada yechim bor edi. Bir daqiqa ketdi.

Farq bilimda emas — qidirish usulida. Tajribali dasturchilar ham hamma narsani yoddan bilmaydi. Ular har kuni o'nlab marta qidiradi. Lekin nima deb va qanday qidirishni biladi. Bu darsda aynan shuni o'rganamiz.

2. Qidiruv so'rovini tuzish

2.1 Gap emas — kalit so'zlar

Qidiruv tizimi siz bilan suhbatlashmaydi. U sahifalardan so'zlarni qidiradi. Shuning uchun "salom", "menda", "iltimos" kabi so'zlar faqat halaqit beradi.

Kalit so'z (keyword) — sahifada albatta bo'lishi kerak bo'lgan asosiy so'z. Qoida: texnologiya nomi + nima qilmoqchisiz + (bo'lsa) xato matni.

Yomon so'rov Yaxshi so'rov
menda node versiyasini qanday bilsam bo'ladi node check version
vs code terminal ochilmayapti nima qilay vscode terminal not opening
kompyuterimda port band deyapti port already in use windows

2.2 Nega inglizcha?

Dasturlash bo'yicha savol-javoblar, hujjatlar va muhokamalarning eng katta qismi inglizcha. O'zbekcha so'rovga bir nechta sahifa chiqsa, inglizchasiga minglab sahifa chiqadi. Oldingi darsdagi so'zlar (dasturchi ingliz tili) aynan shu yerda ishlaydi.

Grammatika shart emas: node check version — ingliz tilida "to'g'ri gap" emas, lekin Google uni a'lo tushunadi.

Tekshirib ko'ring: "Iltimos, menga npm paketini qanday o'chirishni ayting" degan savolni qisqa inglizcha so'rovga aylantiring.

Javob

npm uninstall package yoki npm remove package. Texnologiya (npm) + harakat (uninstall — o'chirmoq) + nima (package). "Iltimos", "menga" kabi so'zlar kerak emas — ular sahifalarda qidirilmaydi.

3. Qidiruv operatorlari

Operator bu yerda — so'rovga qo'shiladigan maxsus belgi yoki so'z. U Google'ga "qanday qidirish kerak"ligini aytadi. Keling, ularni bittadan ko'rib chiqamiz.

3.1 "" — aynan shu jumla

Qo'shtirnoq ichidagi so'zlar aynan shu tartibda, birga qidiriladi.

text
"command not found"

Qo'shtirnoqsiz Google command, not, found so'zlari alohida-alohida uchragan sahifalarni ham chiqaradi. Qo'shtirnoq bilan — faqat shu jumla bor sahifalar.

3.2 site: — faqat bitta saytdan

text
site:developer.mozilla.org console.log

Faqat MDN saytidagi sahifalar chiqadi. site: bilan domen o'rtasida bo'sh joy yo'q. Domen nima ekanini URL anatomiyasi darsida o'rgangan edingiz.

Dasturchilar eng ko'p ishlatadigan saytlar:

Sayt Nima bor
developer.mozilla.org MDN — HTML, CSS, JavaScript rasmiy ma'lumotnomasi
nodejs.org Node.js rasmiy hujjati
stackoverflow.com Dasturchilar savol-javob sayti
github.com Loyihalar kodi va ularning muammolar ro'yxati

GitHub — dasturchilar kodini saqlaydigan va ulashadigan sayt. Uni 07-qismda to'liq o'rganamiz.

3.3 - — bu so'zsiz

Minus qo'yilgan so'z uchragan sahifalar olib tashlanadi.

text
sort list -python

Bu yerda Python tiliga oid javoblar chiqmaydi. Minus va so'z orasida bo'sh joy yo'q: -python.

3.4 after: va before: — sana bo'yicha

text
vscode settings sync after:2025-01-01

Faqat 2025-yil 1-yanvardan keyin chiqqan sahifalar ko'rsatiladi. Qisqa shakli ham ishlaydi: after:2025. before: — aksincha, shu sanadan oldingilar.

Sana bo'yicha saralashning tugma bilan varianti ham bor: natijalar ustida Tools (Asboblar) → Any time (Istalgan vaqt) → Past year (O'tgan yil).

3.5 OR — ikkisidan biri

text
node read file OR open file

OR — "yoki". U faqat katta harflar bilan yoziladi. Kichik or oddiy so'z deb hisoblanadi.

3.6 Operatorlarni birlashtirish

Operatorlarni bitta so'rovda birga ishlatish mumkin:

text
site:stackoverflow.com "port already in use" windows after:2024

Tarjimasi: "Stack Overflow'dan, aynan 'port already in use' jumlasi bor, Windows haqidagi, 2024-yildan keyingi sahifalar".

3.7 O'zingiz to'ldiring

Siz faqat Node.js rasmiy saytidan fs moduli haqida qidirmoqchisiz:

nodejs.org fs

MDN'dan qidiryapsiz, lekin natijada jQuery so'zi bo'lgan sahifalar kerak emas:

site:developer.mozilla.org array

Tekshirib ko'ring: site: nodejs.org (ikki nuqtadan keyin bo'sh joy bilan) yozildi. Nima bo'ladi?

Javob

Operator ishlamaydi. Google site: ni oddiy so'z, nodejs.org ni esa alohida kalit so'z deb tushunadi. Natijada boshqa saytlar ham chiqadi. Operator va qiymat yopishib yozilishi kerak: site:nodejs.org.

4. Xato xabarini qidirish

4.1 Xabar ichida nima bor?

Xato xabarida ikki xil qism bo'ladi:

  • Umumiy qism — dunyodagi hamma odamda bir xil chiqadigan matn. Qidirish kerak bo'lgan qism shu.
  • Shaxsiy qism — faqat sizning kompyuteringizga tegishli: papka yo'llari, foydalanuvchi ismingiz, fayl nomlaringiz, vaqt. Internetda bunday matn yo'q.

Shaxsiy qism qidiruvga halaqit beradi. Bundan tashqari, uni ommaviy joyga qo'yish — kompyuteringiz haqida ortiqcha ma'lumot berish.

4.2 To'liq yechilgan misol

Sardor papkasida npm start yozdi va shu xabarni oldi:

text
npm error code ENOENT
npm error syscall open
npm error path C:\Users\Sardor\loyiha\package.json
npm error errno -4058
npm error enoent Could not read package.json: Error: ENOENT:
no such file or directory, open
'C:\Users\Sardor\loyiha\package.json'

1-qadam: shaxsiy qismni topamiz. C:\Users\Sardor\loyiha\... — Sardorning papka yo'li. Boshqa hech kimda aynan shunday yo'l yo'q.

2-qadam: umumiy qismni ajratamiz. Could not read package.json va ENOENT — bu har kimda bir xil.

ENOENT — "Error NO ENTry" qisqartmasi: "bunday yozuv (fayl) yo'q".

3-qadam: so'rovni tuzamiz. Umumiy jumla — qo'shtirnoqda, oldiga texnologiya nomi:

text
npm "Could not read package.json" ENOENT

4-qadam: natijani o'qiymiz. Birinchi natijalar aytadi: npm buyrug'i package.json fayli yo'q papkada ishga tushirilgan. Yechim: cd bilan to'g'ri loyiha papkasiga o'tish. Bu npm darsida ko'rgan faylimiz.

Butun jarayon:

flowchart TD
    A[Xato chiqdi] --> B[Xabarni nusxalang]
    B --> C[Shaxsiy qismlarni olib tashlang]
    C --> D["Qo'shtirnoq + texnologiya nomi"]
    D --> E{Natija yaxshimi?}
    E -- Ha --> F[Sana va versiyani tekshiring]
    F --> G[Tushunib, sinab ko'ring]
    E -- Yo'q --> H[So'zlarni o'zgartiring, site: qo'shing]
    H --> E

Tekshirib ko'ring: bash: /c/Users/Jasur/loyiha/run.sh: Permission denied xabaridan qaysi qismni qidirasiz?

Javob

/c/Users/Jasur/loyiha/run.sh — Jasurning shaxsiy yo'li, uni olib tashlaymiz. Qidiruv: bash "Permission denied" script yoki bash "Permission denied" run script. Umumiy qism — Permission denied va texnologiya — bash.

5. Natijalardan to'g'risini tanlash

5.1 Manbalarning ishonchlilik pog'onasi

Birinchi chiqqan havola har doim ham eng yaxshisi emas. Dasturchilar manbaga shunday tartibda ishonadi:

O'rin Manba Nimasi bilan kuchli
1 Rasmiy hujjat (MDN, nodejs.org, npmjs.com) Texnologiyani yaratganlar yozgan, yangilanib turadi
2 Loyihaning GitHub sahifasidagi muammolar (issues) Aynan shu dasturdagi xatolar va tuzatishlar muhokamasi
3 Stack Overflow Ko'p dasturchi tekshirgan amaliy javoblar
4 Blog va maqolalar Tajriba bor, lekin xato va eskirgan bo'lishi mumkin

Rasmiy hujjatni qanday o'qishni keyingi darsda o'rganamiz.

5.2 Stack Overflow javobini baholash

Stack Overflow'da har savol ostida bir nechta javob bo'ladi. Qaysi biri yaxshi ekanini uchta belgi aytadi:

  • Ovozlar soni — javob chap tomonidagi raqam. Ko'p dasturchi "foydali" degan.
  • Yashil belgi () — savol muallifi "shu javob menga yordam berdi" deb belgilagan.
  • Izohlar — javob ostidagi qisqa yozuvlar. Ko'pincha u yerda "yangi versiyada ishlamaydi" yoki "bu xavfli usul" degan ogohlantirish bo'ladi.

Diqqat: Yashil belgili javob ham eskirgan bo'lishi mumkin. 2014-yilgi javob 2026-yilda noto'g'ri bo'lishi odatiy hol. Sahifadagi sanalarga va pastroqdagi yangi javoblarga ham qarang.

5.3 Sana va versiya

Dasturlash tez o'zgaradi. Shuning uchun:

  1. Sanaga qarang. 5 yildan eski javobga ehtiyot bo'ling.
  2. Versiyani so'rovga qo'shing. Masalan, node 24 read file. Versiyani bilish uchun node --version ni o'rgangansiz.
  3. Javobdagi versiyani o'zingiznikiga solishtiring. Javob Node 8 haqida bo'lsa, sizda esa Node 24 bo'lsa — natija farq qilishi mumkin.

5.4 Tepadagi AI javobi

2026-yilda Google ko'p so'rovlar uchun natijalar tepasida sun'iy intellekt yozgan qisqa javob (AI Overview) ko'rsatadi. U tez va qulay, lekin ba'zan xato qiladi yoki mavjud bo'lmagan buyruqni ishonch bilan yozadi.

Qoida: AI javobi — yo'nalish, oxirgi haqiqat emas. Undagi buyruq yoki kodni ishlatishdan oldin pastdagi rasmiy manba bilan solishtiring. AI vositalari haqida qismning oxirgi darsida — AI dasturlash yordamchilari xaritasi — batafsil gaplashamiz.

Tekshirib ko'ring: Stack Overflow'da ikki javob bor: birinchisi 2013-yilda yozilgan, 900 ovoz va yashil belgi bilan; ikkinchisi 2024-yilda, 150 ovoz bilan va "zamonaviy usul" deb yozilgan. Qaysi birini birinchi o'qiysiz?

Javob

Ikkalasini ham ko'rish kerak, lekin 2024-yilgisidan boshlagan ma'qul. Ko'p ovoz 2013-yildan beri yig'ilgan — o'sha paytda u eng yaxshi bo'lgan. Texnologiya o'zgargan bo'lishi mumkin. Yashil belgili javob ostidagi izohlarni ham o'qing: ko'pincha u yerda "endi bu eskirgan" deb yozilgan bo'ladi.

6. Ko'p uchraydigan xatolar

6.1 So'rovni uzun o'zbekcha gap bilan yozish

salom mening kodimda npm ishlamayapti nima qilsam boladi

npm "Could not read package.json" — texnologiya + asl xato matni.

6.2 Xato matnini shaxsiy yo'li bilan qidirish

C:\Users\Sardor\loyiha\package.json ENOENT — Sardorning papkasi internetda yo'q.

Yo'lni olib tashlab, faqat umumiy qismni qidiring.

6.3 Birinchi javobni tushunmasdan ko'chirish

Terminal buyrug'ini yoki kodni o'qimasdan nusxalab ishga tushirish. Ba'zi buyruqlar fayllarni o'chiradi yoki sozlamani buzadi.

Avval buyruq nima qilishini tushuning: buyruq anatomiyasi darsida o'rgangan --help yordam beradi. Keyin ishlating.

6.4 Operatorlarni noto'g'ri yozish

site: nodejs.org, - python, or — bo'sh joy yoki kichik harf operatorni buzadi.

site:nodejs.org, -python, OR.

7. Mashqlar

1-mashq (oson)

JavaScript'da matnni kichik harflarga o'tkazish usulini faqat MDN saytidan qidirish uchun so'rov tuzing. JavaScript'ni hali bilmasangiz ham bo'ladi — so'rov tuzish uchun kerakli so'zlar: javascript, string (matn), lowercase (kichik harf).

Ishora: site: operatori 3.2-bob va MDN domeni jadvalda.

Yechim
text
site:developer.mozilla.org javascript string lowercase

Birinchi natijada String.prototype.toLowerCase() sahifasi chiqadi. Bu metod nomi hozircha sizga notanish, uni JavaScript qismida o'rganamiz. Muhimi — so'rov faqat MDN sahifalarini chiqardi.

2-mashq (o'rta)

Sizda SyntaxError: Unexpected identifier xatosi chiqdi (JavaScript'da noto'g'ri yozilgan kod). Natijalarda Python va Java tillariga oid sahifalar aralashmasligi kerak. So'rov tuzing.

Ishora: aynan jumla — "" 3.1-bob, keraksiz so'z — - 3.3-bob.

Yechim
text
javascript "Unexpected identifier" -python -java

SyntaxError so'zini qo'shsangiz ham bo'ladi. Muhimi: xato jumlasi qo'shtirnoqda, texnologiya nomi bor, keraksiz tillar minus bilan olib tashlangan, minusdan keyin bo'sh joy yo'q.

3-mashq (qiyin)

Malikada shunday xabar chiqdi:

text
Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (node:net:1940:16)
    at listenInCluster (node:net:1997:12)
    at Server.listen (node:net:2102:7)
    at Object.<anonymous>
       (C:\Users\Malika\Desktop\dokon\server.js:12:5)

(Oxirgi qator terminalda bitta qator; telefonda qulay bo'lsin deb bo'ldik.)

U faqat Stack Overflow'dan, 2023-yildan keyingi, Windows'ga oid javoblarni ko'rmoqchi. Shaxsiy qismni aniqlang va bitta so'rov tuzing. EADDRINUSE — "address in use", ya'ni port band. Band portlarni jarayonlar va portlar darsida ko'rgan edingiz.

Ishora: to'rtta operator kerak: site:, "", oddiy kalit so'z va after:.

Yechim

Shaxsiy qism: C:\Users\Malika\Desktop\dokon\server.js:12:5 — Malikaning fayli va qatori. at ... bilan boshlanadigan qatorlar ham qidiruvga kerak emas. Ular — "xato qayerdan o'tib kelgani" haqidagi texnik iz. Buni xato xabarini o'qish darsida o'rganamiz. 3000 — port raqami, uni ham qo'shtirnoq ichidan chiqarib qoldirgan ma'qul: boshqalarda port boshqacha bo'lishi mumkin.

text
site:stackoverflow.com "address already in use" windows after:2023

EADDRINUSE so'zini qo'shsangiz ham bo'ladi — u ham har kimda bir xil chiqadigan umumiy qism.

Natijalarda odatda ikki yechim bo'ladi: portni band qilgan eski jarayonni topib to'xtatish yoki dasturni boshqa portda ishga tushirish.

8. Real ishda

  • Har kuni. Tajribali dasturchi ham kuniga o'nlab marta qidiradi. Intervyuda "bilmagan narsangizni qanday topasiz?" degan savol ko'p beriladi. Yaxshi javob: "asl xato matnini qidiraman, rasmiy hujjat bilan tekshiraman, sana va versiyaga qarayman".
  • Loyihaning GitHub sahifasi. Yangi kutubxonadagi xato ko'pincha Stack Overflow'da hali yo'q bo'ladi. Uni loyihaning GitHub sahifasidagi Issues (muammolar) bo'limidan qidirish kerak — site:github.com bilan.
  • Vaqt chegarasi. 15–20 daqiqa qidirib topolmasangiz, yo'l o'zgartiring: so'rovni boshqacha yozing, rasmiy hujjatni o'qing yoki yordam so'rang. Qanday so'rashni yordam so'rash darsida o'rganamiz.

Xulosa

  • Qidiruvga gap emas, inglizcha kalit so'zlar yoziladi: texnologiya + harakat + xato matni.
  • "" — aynan jumla, site: — bitta sayt, - — so'zsiz, after: — sanadan keyin, OR — yoki (katta harf bilan).
  • Xato xabaridan shaxsiy qism (yo'l, ism, fayl nomi) olib tashlanadi, umumiy qism qo'shtirnoqda qidiriladi.
  • Ishonch tartibi: rasmiy hujjat, GitHub issues, Stack Overflow, blog.
  • Javobning sanasi, versiyasi va izohlari tekshiriladi; tepadagi AI javobi — yo'nalish, oxirgi haqiqat emas.

Keyingi dars: Hujjat o'qish: MDN, README va changelog — qidiruv sizni rasmiy hujjatga olib keldi; endi uni qanday tez o'qishni o'rganamiz.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
Samarali qidirish (googling): dasturchi Google'da qanday qidiradi — IlmHamroh