JavaScript uchun brauzerlarga moslik matritsalari bo'yicha to'liq qo'llanma, unda xususiyatlarni qo'llab-quvvatlashni kuzatish, vositalar va global foydalanish mumkin bo'lgan veb-ilovalarni yaratishning eng yaxshi amaliyotlari yoritilgan.
Brauzerlarga Moslik Matritsasi: Global Web-dasturlash uchun JavaScript Xususiyatlarini Qo'llab-quvvatlashni Kuzatish
O'zaro bog'langan veb-dasturlash dunyosida JavaScript kodingiz turli xil brauzerlarda benuqson ishlashini ta'minlash juda muhimdir. Brauzerlarga moslik matritsasi bunga erishish uchun muhim vosita bo'lib, turli brauzer versiyalari tomonidan qaysi JavaScript xususiyatlari qo'llab-quvvatlanishini tizimli ravishda ko'rsatib beradi. Ushbu to'liq qo'llanma brauzerlarga moslik matritsalarining nozikliklarini o'rganadi, JavaScript xususiyatlarini qo'llab-quvvatlashni kuzatishga e'tibor qaratadi va global miqyosda foydalanish mumkin bo'lgan veb-ilovalarni yaratish bo'yicha eng yaxshi amaliyotlarni taklif qiladi.
Nima uchun brauzerlarga moslik muhim?
Veb - bu turli qurilmalar, operatsion tizimlar va brauzerlarga ega foydalanuvchilar kiradigan global platformadir. Brauzerlarga moslik muammosini hal qilmaslik quyidagilarga olib kelishi mumkin:
- Buzilgan funksionallik: Xususiyatlar kutilganidek yoki umuman ishlamasligi mumkin.
- Yomon foydalanuvchi tajribasi: Turli brauzerlardagi nomuvofiq yoki xatoliklarga ega bo'lgan harakatlar foydalanuvchilarni hafsalasini pir qiladi.
- Foydalanish imkoniyatining pasayishi: Eski yoki kamroq tarqalgan brauzerlarga ega foydalanuvchilar chetda qolishi mumkin.
- Reputatsiyaga zarar: To'g'ri ishlamaydigan veb-sayt brendga salbiy ta'sir ko'rsatadi.
- Daromadni yo'qotish: Moslik muammolari tufayli tranzaktsiyalarni yakunlay olmaydigan foydalanuvchilar saytni tark etishi mumkin.
Tasavvur qiling, global elektron tijorat kompaniyasi yangi JavaScript-ga asoslangan to'lov shlyuzini joriy qilmoqda. Agar kompaniya shlyuzni faqat Chrome va Firefox'ning so'nggi versiyalarida sinovdan o'tkazsa, eski brauzerlar (masalan, Internet Explorer 11) ko'proq tarqalgan mamlakatlardagi foydalanuvchilar o'z xaridlarini yakunlay olmasligi mumkin. Bu daromad va mijozlar ishonchining sezilarli darajada yo'qolishiga olib kelishi mumkin.
Brauzerlarga Moslik Matritsasi nima?
Brauzerlarga moslik matritsasi (ba'zan qo'llab-quvvatlash matritsasi deb ham ataladi) bu JavaScript xususiyatlarini (yoki boshqa veb-texnologiyalarni) ma'lum brauzer versiyalariga nisbatan xaritalaydigan jadval yoki diagrammadir. U ma'lum bir xususiyatning har bir brauzer versiyasida to'liq qo'llab-quvvatlanishi, qisman qo'llab-quvvatlanishi yoki umuman qo'llab-quvvatlanmasligini ko'rsatadi. Ushbu matritsa dasturchilar uchun yo'l xaritasi bo'lib xizmat qiladi, ularga mos JavaScript xususiyatlarini tanlashda va zarur bo'lganda zaxira mexanizmlarini joriy qilishda yordam beradi.
Aslini olganda, bu "Ushbu JavaScript xususiyati bu brauzer versiyasida ishlaydimi?" degan savolga javob beradigan yagona haqiqat manbaidir.
Brauzerlarga Moslik Matritsasining Asosiy Komponentlari
Odatdagi brauzerlarga moslik matritsasi quyidagi komponentlarni o'z ichiga oladi:
- Xususiyatlar: Sinovdan o'tkazilayotgan JavaScript xususiyatlari (masalan, ES6 xususiyatlari - o'q funksiyalari, Promise'lar yoki WebSockets yoki Fetch API kabi maxsus Web API'lar).
- Brauzerlar: Maqsad qilingan brauzerlar (masalan, Chrome, Firefox, Safari, Edge, Internet Explorer).
- Versiyalar: Har bir brauzerning sinovdan o'tkazilayotgan aniq versiyalari (masalan, Chrome 90, Firefox 85, Safari 14).
- Qo'llab-quvvatlash darajalari: Har bir xususiyatning har bir brauzer versiyasidagi qo'llab-quvvatlash darajasining ko'rsatkichi (masalan, "To'liq qo'llab-quvvatlanadi", "Qisman qo'llab-quvvatlanadi", "Qo'llab-quvvatlanmaydi" yoki "Polifill talab qiladi").
- Eslatmalar/Havolalar: Qo'shimcha ma'lumotlar, masalan, ma'lum muammolar, muqobil yechimlar yoki tegishli hujjatlarga havolalar (masalan, MDN Web Docs).
Brauzerlarga Moslik Matritsasini Yaratish va Qo'llab-quvvatlash
Keng qamrovli brauzerlarga moslik matritsasini yaratish va qo'llab-quvvatlash tizimli yondashuvni talab qiladi. Mana qadam-baqadam qo'llanma:
1. Maqsadli Brauzerlar va Versiyalarni Aniqlang
Birinchi qadam ilovangiz qaysi brauzerlar va versiyalarni qo'llab-quvvatlashi kerakligini aniqlashdir. Bu qaror quyidagilarga asoslanishi kerak:
- Foydalanuvchi Analitikasi: Maqsadli auditoriyangiz tomonidan eng ko'p ishlatiladigan brauzerlar va versiyalarni aniqlash uchun veb-saytingizning trafik ma'lumotlarini tahlil qiling. Masalan, Google Analytics batafsil brauzer va operatsion tizim hisobotlarini taqdim etadi.
- Bozorni Tadqiq Qilish: Maqsadli mintaqalaringizdagi brauzer bozoridagi ulushni o'rganing. StatCounter va NetMarketShare global va mintaqaviy brauzer foydalanish statistikasini taqdim etadi. Masalan, agar siz Osiyodagi foydalanuvchilarni maqsad qilgan bo'lsangiz, o'sha mintaqada mashhur bo'lgan brauzer versiyalariga, masalan, UC Browser'ga ko'proq e'tibor berishingiz kerak bo'lishi mumkin.
- Biznes Talablari: Mijozlaringiz, hamkorlaringiz yoki sanoat qoidalari tomonidan qo'yilgan har qanday maxsus brauzer talablarini hisobga oling.
- Texnik Xizmat Ko'rsatish Xarajatlari: Keng qo'llab-quvvatlashni sinov va moslikni saqlash xarajatlari bilan muvozanatlash. Juda eski brauzerlarni qo'llab-quvvatlash qimmatga tushishi mumkin.
Butun dunyo bo'ylab o'quvchilarni maqsad qilgan global axborot tashkilotini ko'rib chiqing. Ular Chrome, Firefox, Safari va Edge'ning so'nggi ikki versiyasini, shuningdek, u hali ham keng tarqalgan mintaqalardagi foydalanuvchilar uchun Internet Explorer 11 ni qo'llab-quvvatlashga qaror qilishlari mumkin.
2. Asosiy JavaScript Xususiyatlarini Belgilang
Ilovangizning funksionalligi uchun muhim bo'lgan JavaScript xususiyatlarini aniqlang. Bunga quyidagilar kirishi mumkin:
- ES6+ Xususiyatlari: O'q funksiyalari, sinflar, modullar, promise'lar, async/await.
- Web API'lar: Fetch API, WebSockets, Web Storage API, Geolocation API, Canvas API.
- DOM Manipulyatsiyasi: Hujjat Ob'ekti Modelini (DOM) manipulyatsiya qilish usullari.
- Uchinchi Tomon Kutubxonalari: Siz foydalanayotgan har qanday uchinchi tomon kutubxonalari tayanadigan JavaScript xususiyatlari.
Interaktiv ma'lumotlarni vizualizatsiya qilish paneli uchun asosiy JavaScript xususiyatlari Fetch API (ma'lumotlarni olish uchun), Canvas API (grafiklarni chizish uchun) va ES6 modullari (kodni tashkil qilish uchun) bo'lishi mumkin.
3. Qo'llab-quvvatlash Darajalarini Aniqlang
Matritsangizda foydalanadigan turli xil qo'llab-quvvatlash darajalarini belgilang. Umumiy qo'llab-quvvatlash darajalariga quyidagilar kiradi:
- To'liq Qo'llab-quvvatlanadi: Xususiyat brauzer versiyasida kutilganidek ishlaydi.
- Qisman Qo'llab-quvvatlanadi: Xususiyat ishlaydi, lekin ba'zi cheklovlar yoki xatoliklar bilan.
- Qo'llab-quvvatlanmaydi: Xususiyat brauzer versiyasida umuman ishlamaydi.
- Polifill Talab Qiladi: Xususiyatni polifill yordamida ishlatish mumkin.
4. Matritsani To'ldiring
Endi, zerikarli, lekin muhim qadam: har bir JavaScript xususiyatining har bir brauzer versiyasidagi qo'llab-quvvatlash darajasini tadqiq qiling va hujjatlashtiring. Ushbu ma'lumotlarni to'plash uchun bir nechta manbalardan foydalanishingiz mumkin:
- MDN Web Docs: Mozilla Developer Network (MDN) veb-texnologiyalar bo'yicha keng qamrovli hujjatlarni, jumladan brauzerlarga moslik ma'lumotlarini taqdim etadi. MDN'dagi har bir xususiyat sahifasida brauzerlarni qo'llab-quvvatlashni ko'rsatadigan moslik jadvali mavjud.
- Can I Use: Ushbu veb-sayt (caniuse.com) HTML, CSS va JavaScript kabi keng ko'lamli veb-texnologiyalar uchun batafsil brauzerlarni qo'llab-quvvatlash jadvallarini taklif etadi. Shuningdek, u tegishli hujjatlar va polifillarga havolalar beradi.
- BrowserStack/Sauce Labs: Ushbu bulutga asoslangan testlash platformalari keng ko'lamli brauzerlar va qurilmalarda avtomatlashtirilgan testlarni o'tkazish imkonini beradi. Siz ulardan turli brauzer muhitlarida kodingizning haqiqiy xatti-harakatini tekshirish uchun foydalanishingiz mumkin.
- Qo'lda Testlash: Avtomatlashtirilgan testlash qimmatli bo'lsa-da, avtomatlashtirilgan testlar tomonidan aniqlanmasligi mumkin bo'lgan vizual yoki foydalanishdagi muammolarni aniqlash uchun haqiqiy qurilmalar va brauzerlarda qo'lda testlash hali ham muhimdir.
Matritsani to'ldirishda, har qanday ma'lum muammolar yoki muqobil yechimlarni hujjatlashtirishni unutmang. Masalan, ma'lum bir ES6 xususiyati Chrome'ning eski versiyalarida yoqilishi uchun maxsus bayroq talab qilishini qayd etishingiz mumkin.
5. Matritsani Muntazam Ravishda Yangilab Turing
Brauzerlarga moslik doimiy harakatdagi maqsaddir. Yangi brauzer versiyalari tez-tez chiqariladi va mavjud brauzerlar xatoliklarni tuzatish va yangi xususiyatlar bilan yangilanadi. Shuning uchun, so'nggi o'zgarishlarni aks ettirish uchun brauzerlarga moslik matritsasini muntazam ravishda (masalan, har oy yoki har chorakda) yangilab turish juda muhimdir. Bu bir martalik vazifa emas, balki doimiy jarayondir.
Brauzerlarga Moslikni Boshqarish uchun Vositalar
Bir nechta vositalar brauzerlarga moslikni yanada samarali boshqarishga yordam berishi mumkin:
1. BrowserStack/Sauce Labs
Ushbu bulutga asoslangan testlash platformalari keng ko'lamli haqiqiy brauzerlar va qurilmalarga kirish imkonini beradi, bu sizga o'zingizning infratuzilmangizni boshqarmasdan veb-saytingiz yoki ilovangizni turli muhitlarda sinab ko'rish imkonini beradi. Ular ham qo'lda, ham avtomatlashtirilgan testlash imkoniyatlarini taklif qiladi. Asosiy xususiyatlariga quyidagilar kiradi:
- Kross-brauzer Testlash: Veb-saytingizni turli xil brauzerlar va qurilmalarda sinab ko'ring.
- Avtomatlashtirilgan Testlash: Selenium yoki Cypress kabi freymvorklar yordamida avtomatlashtirilgan testlarni o'tkazing.
- Vizual Testlash: Vizual regressiyalarni aniqlash uchun veb-saytingizning skrinshotlarini turli brauzerlarda taqqoslang.
- Jonli Tuzatish: Brauzer dasturchi vositalari yordamida veb-saytingizni real vaqtda tuzating.
2. Polifill Kutubxonalari
Polifill (shim deb ham ataladi) - bu brauzer tomonidan tabiiy ravishda qo'llab-quvvatlanmaydigan funksionallikni ta'minlaydigan kod qismidir. Polifillar sizga eski brauzerlarda moslikni buzmasdan zamonaviy JavaScript xususiyatlaridan foydalanish imkonini beradi. Mashhur polifill kutubxonalariga quyidagilar kiradi:
- Core-JS: Keng ko'lamli ES6+ xususiyatlari va Web API'larini qamrab oluvchi keng qamrovli polifill kutubxonasi.
- Babel Polyfill: Babel transpileri (pastga qarang) bilan foydalanish uchun maxsus ishlab chiqilgan polifill.
- Individual Polifillar: Shuningdek, npm yoki GitHub kabi veb-saytlarda maxsus xususiyatlar uchun polifillarni topishingiz mumkin.
Polifillardan foydalanganda, ularni brauzerning imkoniyatlariga qarab shartli ravishda yuklash muhimdir. Buni xususiyatlarni aniqlash (masalan, `typeof` operatori yoki `in` operatoridan foydalanish) yoki Modernizr kabi kutubxona yordamida amalga oshirish mumkin.
3. Transpilerlar
Transpiler - bu JavaScript'ning bir versiyasida (masalan, ES6) yozilgan kodni kengroq brauzerlar tomonidan qo'llab-quvvatlanadigan eski versiyaga (masalan, ES5) aylantiradigan vositadir. Mashhur transpilerlarga quyidagilar kiradi:
- Babel: ES6+ kodini ES5 kodiga aylantira oladigan keng qo'llaniladigan transpiler.
- TypeScript: Statik turlashni qo'shadigan JavaScript'ning ustki to'plami. TypeScript'ni ES5 yoki ES6'ga transpilyatsiya qilish mumkin.
Transpilerlar odatda polifillar bilan birgalikda ishlaydi. Transpiler kodingizning sintaksisini o'zgartiradi, polifillar esa yetishmayotgan funksionallikni ta'minlaydi. Masalan, agar siz kodingizda o'q funksiyalaridan foydalansangiz, Babel ularni ekvivalent ES5 funksiya ifodalariga aylantiradi va agar `Array.prototype.forEach` usuli brauzer tomonidan tabiiy ravishda qo'llab-quvvatlanmasa, polifill uni ta'minlaydi.
4. Linterlar va Kod Uslubini Tekshiruvchilar
Linterlar va kod uslubini tekshiruvchilar loyihangiz bo'ylab izchil kodlash standartlarini qo'llashga yordam beradi, bu kodning o'qilishi va saqlanishini yaxshilaydi. Ular, shuningdek, potentsial moslik muammolarini aniqlashi mumkin. Mashhur linterlar va kod uslubini tekshiruvchilarga quyidagilar kiradi:
- ESLint: JavaScript uchun yuqori darajada sozlanadigan linter.
- JSHint: JavaScript uchun yana bir mashhur linter.
- Prettier: Kodingizni avtomatik ravishda izchil uslubga muvofiq formatlaydigan qat'iy fikrli kod formatlovchisi.
Linteringiz va kod uslubini tekshiruvchingizni ES5-mos sintaksisni majburiy qilish uchun sozlash orqali siz moslik muammolarini keltirib chiqarish xavfini kamaytirishingiz mumkin.
Brauzerlarga Moslikni Ta'minlash bo'yicha Eng Yaxshi Amaliyotlar
JavaScript kodingizda brauzerlarga moslikni ta'minlash bo'yicha ba'zi eng yaxshi amaliyotlar:
1. Xususiyatlarni Aniqlashdan Foydalaning
Brauzerni aniqlashga (bu ishonchsiz bo'lishi mumkin) tayanmasdan, brauzerning ma'lum bir xususiyatni qo'llab-quvvatlashini aniqlash uchun xususiyatlarni aniqlashdan foydalaning. Xususiyatlarni aniqlash JavaScript ob'ektida ma'lum bir xususiyat yoki usulning mavjudligini tekshirishni o'z ichiga oladi. Masalan, siz brauzerning Fetch API'ni qo'llab-quvvatlashini `window.fetch` xususiyati mavjudligini tekshirish orqali aniqlashingiz mumkin.
if ('fetch' in window) {
// Fetch API qo'llab-quvvatlanadi
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
} else {
// Fetch API qo'llab-quvvatlanmaydi
// Polifill yoki boshqa usulga o'ting
console.log('Fetch API qo\'llab-quvvatlanmaydi');
}
2. Polifillar va Transpilerlardan Oqilona Foydalaning
Polifillar va transpilerlar qimmatli vositalar bo'lsa-da, ulardan oqilona foydalanish kerak. Ulardan haddan tashqari foydalanish JavaScript to'plamingiz hajmini oshirishi va veb-saytingizni sekinlashtirishi mumkin. Faqat maqsadli brauzerlar tomonidan haqiqatda zarur bo'lgan polifillar va transpilyatsiya qilingan kodni qo'shing. Maqsadli brauzerlaringizga asoslanib faqat kerakli polifillarni avtomatik ravishda qo'shish uchun Babel'ning `useBuiltIns` opsiyasi kabi vositadan foydalanishni ko'rib chiqing.
3. Progressiv Takomillashtirishga Ustunlik Bering
Progressiv takomillashtirish - bu barcha brauzerlarda ishlaydigan asosiy, funktsional veb-sayt qurish va keyin zamonaviy brauzerlarga ega foydalanuvchilar uchun tajribani bosqichma-bosqich yaxshilashni o'z ichiga olgan veb-dasturlash strategiyasidir. Ushbu yondashuv barcha foydalanuvchilar, hatto ular eski yoki kamroq qobiliyatli brauzerdan foydalansalar ham, veb-saytingizning asosiy mazmuni va funksionalligiga kira olishlarini ta'minlaydi.
4. Haqiqiy Qurilmalar va Brauzerlarda Sinab Ko'ring
Avtomatlashtirilgan testlash muhim bo'lsa-da, veb-saytingizni haqiqiy qurilmalar va brauzerlarda sinab ko'rish ham juda muhimdir. Emulatorlar va simulyatorlar dastlabki sinov uchun foydali bo'lishi mumkin, ammo ular har doim ham haqiqiy qurilmalar va brauzerlarning xatti-harakatini to'g'ri aks ettirmaydi. Haqiqiy qurilmalarda sinovdan o'tkazish sizga avtomatlashtirilgan testlar tomonidan aniqlanmasligi mumkin bo'lgan muammolarni, masalan, vizual nosozliklar yoki ishlash muammolarini aniqlashga yordam beradi.
Turli xil qurilmalar va brauzerlar bilan kichik sinov laboratoriyasini yaratishni yoki BrowserStack yoki Sauce Labs kabi bulutga asoslangan testlash platformasidan foydalanishni ko'rib chiqing.
5. Brauzerlardan Foydalanish Tendentsiyalarini Kuzatib Boring
Maqsadli mintaqalaringizdagi brauzerlardan foydalanish tendentsiyalarini kuzatib boring. Bu sizga qaysi brauzerlar va versiyalarni qo'llab-quvvatlash to'g'risida asosli qarorlar qabul qilishga yordam beradi. Veb-saytingizdagi brauzerlardan foydalanishni kuzatish uchun Google Analytics va StatCounter kabi vositalardan foydalaning.
6. Moslik Ma'lumotlarini Hujjatlashtiring
Loyihangizga xos bo'lgan har qanday moslik ma'lumotlarini hujjatlashtiring. Bunga ma'lum muammolar, muqobil yechimlar yoki brauzerga xos kod kirishi mumkin. Ushbu hujjatlar loyiha ustida ishlayotgan boshqa dasturchilar uchun, shuningdek kelajakdagi texnik xizmat ko'rsatish uchun bebaho bo'ladi.
7. Xatolarni Qayta Ishlash va Silliq Degradatsiyani Amalga Oshiring
Eng yaxshi sinov va moslik sa'y-harakatlariga qaramay, brauzerda xatolar baribir yuz berishi mumkin. Xatolarni ushlash va jurnalga yozish uchun mustahkam xatolarni qayta ishlashni amalga oshiring va foydalanuvchilarga ma'lumot beruvchi xato xabarlarini taqdim eting. Biror xususiyat qo'llab-quvvatlanmagan hollarda, veb-saytni buzmaydigan muqobil tajribani ta'minlash uchun silliq degradatsiyani amalga oshiring.
Masalan, agar Geolocation API qo'llab-quvvatlanmasa, foydalanuvchining joylashuvini ishlatishga harakat qilish o'rniga statik xaritani ko'rsatishingiz mumkin.
Global Perspektiva
Global miqyosda brauzerlarga moslik bilan shug'ullanayotganda, quyidagilarni hisobga oling:
- Mintaqaviy Brauzer Afzalliklari: Brauzerlardan foydalanish turli mintaqalarda sezilarli darajada farq qiladi. Masalan, Internet Explorer'ning eski versiyalari dunyoning ba'zi qismlarida hali ham sezilarli bozor ulushiga ega bo'lishi mumkin. Xuddi shunday, UC Browser kabi mobil brauzerlar ba'zi Osiyo mamlakatlarida mashhur.
- Internet Infratuzilmasi: Internet tezligi va ulanish imkoniyati turli mintaqalarda keng farq qilishi mumkin. JavaScript fayllaringiz hajmini minimallashtirish va dangasa yuklash kabi usullardan foydalanib, veb-saytingizni past o'tkazuvchanlikka ega ulanishlar uchun optimallashtiring.
- Qurilmalar Xilma-xilligi: Turli mintaqalardagi foydalanuvchilar eski va kam quvvatli smartfonlarni o'z ichiga olgan kengroq qurilmalardan foydalanishlari mumkin. Veb-saytingizning sezgir (responsive) ekanligiga va turli xil qurilmalarda yaxshi ishlashiga ishonch hosil qiling.
- Lokalizatsiya: Veb-saytingiz turli tillar va madaniyatlar uchun to'g'ri lokalizatsiya qilinganligiga ishonch hosil qiling. Bunga matnni tarjima qilish, sanalar va raqamlarni formatlash va turli matn yo'nalishlariga moslashish uchun tartibni moslashtirish kiradi.
Janubi-Sharqiy Osiyoda yangi mahsulotni ishga tushirayotgan ko'p millatli kompaniya o'sha mintaqadagi dominant brauzerlarni tadqiq qilishi va o'z veb-saytini o'sha brauzerlarda sinab ko'rishi kerak. Ular, shuningdek, o'z veb-saytlarini past o'tkazuvchanlikka ega ulanishlar uchun optimallashtirishi va mahalliy tillar uchun to'g'ri lokalizatsiya qilinganligiga ishonch hosil qilishi kerak.
Xulosa
Yaxshi saqlangan brauzerlarga moslik matritsasi mustahkam, foydalanish mumkin bo'lgan va global miqyosda mos keladigan veb-ilovalarni yaratish uchun muhim vositadir. Brauzerlarni qo'llab-quvvatlashning nozikliklarini tushunish, polifillar va transpilerlar kabi tegishli vositalardan foydalanish va xususiyatlarni aniqlash va progressiv takomillashtirish kabi eng yaxshi amaliyotlarga rioya qilish orqali siz JavaScript kodingiz butun dunyo bo'ylab foydalanuvchilarga izchil va yoqimli tajriba taqdim etishini ta'minlay olasiz. Matritsangizni muntazam ravishda yangilab turish va veb-texnologiyalarning rivojlanayotgan landshaftiga moslashish - oldinda bo'lish va global auditoriyangiz uchun eng yaxshi tajribani taqdim etishning kalitidir.
Har doim foydalanuvchi tajribasini birinchi o'ringa qo'yishni va brauzeri yoki qurilmasidan qat'i nazar, hamma uchun ochiq bo'lgan veb yaratishga intilishni unutmang.