❓ MVC nima
MVC bu shunaqa web loyiha arxitekturalash turiki, unda web-loyiha kichikroq shablonlarga bo'linib taxlanadi. MVC da loyiha uch alohida komponentga ajratiladi va bu o'z ichiga: malumotlar modeli, foydalanuvchi interfeysi hamda foydalanuvchini tizim bilan aloqasi logikasini oladi
Bunday kichikroq komponentlarga ajratishning avzalligi shundan iboratki, bitta qismini o'zgartirish boshqa qismini, yoki minimal o'zgartirishga, yoki umuman o'zgartirmaslikka olib keladi.
Shunday qilib MVC da dasturni qaysidir qismini o'zgartirish, qo'shimcha qo'shish osonroq, chunki agar siz foydalanuvchi interfeysini o'zgartirsangiz u biznes logikaga ta'sir qilmaydi, agar biznes logikani o'zgartirmoqchi bo'lsangiz, foydalanuvchi interfeysiga ta'sir qilmaydi.
- Model / Model - Bu ma'lumotlar bazasidagi qaysidir narsani obyekt modelini tasvirlab, o'z ichiga asosan ma'lumotlar va ushbu ma'lumotlar bilan ishlash metodlari yoziladi. Bundan tashqari u kontrollerdagi so'rovlarga ma'lumot qaytarib berishi yoki o'zining holatini o'zgartirishi mumkin. Shunday bo'lishiga qaramasdan, model ma'lumotlarni qanday foydalanuvchiga ko'rsatish va qanday formatlash bilan ishi yo'q va u to'gridan to'gri foydalanuvchi bilan aloqa qilmaydi.
- Ko'rinish / View - Bu ma'lumotlar foydalanuvchiga ko'rinishini ta'minlaydi (vizualizatsiya). Boshqacha qilib aytganda foydalanuvchi saytga kirganda nimani ko'radi shular. Bunda kontroller foydalanuvchi so'roviga qarab ma'lumotlarni modeldan olib bu qismga beradi, va bu asosan uni foydalanuvchiga ko'rsatish bilan shug'ullanadi.
- Kontroller / Controller - Bu foydalanuvchi bilan tizimni bog'lab beradi. Kontroller vazifasi foydalanuvchi so'roviga qarab, model va viewni ishlatib unga javob qaytaradi. Kontrollerda asosan ma'lumotlar filtrlanadi va avtorizatsiya bajariladi — ya'ni: foydalanuvchi bu amalni bajarishga huquqi bormi va kerakli ma'lumotlarni olib bilishi ta'minlandimi.
Ko'plab web ilovalar yaratishga mo'ljallangan freymvorklar MVC prinsipiga asoslanib tuzilgan bo'ladi. Shuning uchun ham MVC sizga tanish bo'lsa, unda bu freymvorklarni tushunishingiz oson bo'ladi 👍
👉 @lazerg
MVC bu shunaqa web loyiha arxitekturalash turiki, unda web-loyiha kichikroq shablonlarga bo'linib taxlanadi. MVC da loyiha uch alohida komponentga ajratiladi va bu o'z ichiga: malumotlar modeli, foydalanuvchi interfeysi hamda foydalanuvchini tizim bilan aloqasi logikasini oladi
Bunday kichikroq komponentlarga ajratishning avzalligi shundan iboratki, bitta qismini o'zgartirish boshqa qismini, yoki minimal o'zgartirishga, yoki umuman o'zgartirmaslikka olib keladi.
Shunday qilib MVC da dasturni qaysidir qismini o'zgartirish, qo'shimcha qo'shish osonroq, chunki agar siz foydalanuvchi interfeysini o'zgartirsangiz u biznes logikaga ta'sir qilmaydi, agar biznes logikani o'zgartirmoqchi bo'lsangiz, foydalanuvchi interfeysiga ta'sir qilmaydi.
- Model / Model - Bu ma'lumotlar bazasidagi qaysidir narsani obyekt modelini tasvirlab, o'z ichiga asosan ma'lumotlar va ushbu ma'lumotlar bilan ishlash metodlari yoziladi. Bundan tashqari u kontrollerdagi so'rovlarga ma'lumot qaytarib berishi yoki o'zining holatini o'zgartirishi mumkin. Shunday bo'lishiga qaramasdan, model ma'lumotlarni qanday foydalanuvchiga ko'rsatish va qanday formatlash bilan ishi yo'q va u to'gridan to'gri foydalanuvchi bilan aloqa qilmaydi.
- Ko'rinish / View - Bu ma'lumotlar foydalanuvchiga ko'rinishini ta'minlaydi (vizualizatsiya). Boshqacha qilib aytganda foydalanuvchi saytga kirganda nimani ko'radi shular. Bunda kontroller foydalanuvchi so'roviga qarab ma'lumotlarni modeldan olib bu qismga beradi, va bu asosan uni foydalanuvchiga ko'rsatish bilan shug'ullanadi.
- Kontroller / Controller - Bu foydalanuvchi bilan tizimni bog'lab beradi. Kontroller vazifasi foydalanuvchi so'roviga qarab, model va viewni ishlatib unga javob qaytaradi. Kontrollerda asosan ma'lumotlar filtrlanadi va avtorizatsiya bajariladi — ya'ni: foydalanuvchi bu amalni bajarishga huquqi bormi va kerakli ma'lumotlarni olib bilishi ta'minlandimi.
Ko'plab web ilovalar yaratishga mo'ljallangan freymvorklar MVC prinsipiga asoslanib tuzilgan bo'ladi. Shuning uchun ham MVC sizga tanish bo'lsa, unda bu freymvorklarni tushunishingiz oson bo'ladi 👍
👉 @lazerg
❕ O'xshamayotgan bo'lsa: Dam oling !
Oddiy maslahatday eshtilishiga qaramasdan, dasturlashda bu eng muxim qoidalardan biri hisoblanadi. Gohida shunday bo'ladiki, qaysidir masalani qayta-qayta qilaverasiz va u o'xshamayveradi. Va hattoki shu payt dasturlash man uchun emas ekan degan fikrlar ham kelishi mumkin.
Shunaqa paytda eng yaxshi yechim bu, vaqtinchalik ishni to'xtatib biroz dam olib kelish. Masalan toza havoga sayrga chiqish, yoki mizg'ib olish, yoki biroz kitob o'qish, muximi qaysi muammoni hal qilayotgan ediz, shu haqida umuman o'ylamaslik. Shaxsan mening o'zimda bir nechi marta shunaqa holat kuzatilgan, texnik muammoga yechim topmaganimda boshqa ish bilan mashg'ul bo'laman, shunda birdan to'g'ri yechimi xayolimga keladi.
👉 @lazerg
Oddiy maslahatday eshtilishiga qaramasdan, dasturlashda bu eng muxim qoidalardan biri hisoblanadi. Gohida shunday bo'ladiki, qaysidir masalani qayta-qayta qilaverasiz va u o'xshamayveradi. Va hattoki shu payt dasturlash man uchun emas ekan degan fikrlar ham kelishi mumkin.
Shunaqa paytda eng yaxshi yechim bu, vaqtinchalik ishni to'xtatib biroz dam olib kelish. Masalan toza havoga sayrga chiqish, yoki mizg'ib olish, yoki biroz kitob o'qish, muximi qaysi muammoni hal qilayotgan ediz, shu haqida umuman o'ylamaslik. Shaxsan mening o'zimda bir nechi marta shunaqa holat kuzatilgan, texnik muammoga yechim topmaganimda boshqa ish bilan mashg'ul bo'laman, shunda birdan to'g'ri yechimi xayolimga keladi.
👉 @lazerg
👍2
Kanalda qandaqa post chiqarish kuzatuvchilarim qiziqadigan dasturlash tillariga qarab bo’ladi. Shuning uchun ushbu so’rovnomaga faol bo’lib, qaysi dasturlash tillari va frameworklari sizga qiziq bo’lsa belgilang. Bir nechtasini ham belgilashingiz mumkin.
Anonymous Poll
44%
HTML / CSS / JavaScript
22%
Javascript / Vuejs
38%
Javascript / Reactjs
29%
Javascript / Nodejs
36%
Python / Django
20%
Java / Spring / Kotlin / Android
25%
C / C++ / C#
5%
Ruby / Ruby on Rails
15%
Flutter
18%
PHP / Laravel
❓ Videokurs qanday ko'riladi, kod o'qituvchi bilan bir paytda yozaymi, yoki videoni ko'rib keyin o'zim yozaymi
Sizda shunday holat bo'lganmi, 4 soatlik videokursni ko'rasiz, ko'p narsani o'rganasiz. Keyin esa kod yozishga o'tganizda, tamom, hamma narsa esingizdan chiqib ketibdi. Shuncha o'rganganingiz miyangizda yo'q !
Nima uchun shunday bo'ladi deb o'ylaysiz, nimaga ko'rayotgan videodarslaringiz samarasiz bo'lyapti, buni sababi oddiy, miya hardoim energiya saqlashga harakat qiladi, shuning uchun ham e'tiboringizni bir joyga jamlab o'tirish qiyin kechadi, yoki birdan videoni pauzaga qo'yib boshqa browser oynasiga o'tib ketasiz, yoki telegramga kirib kimdirga xabar yozasiz. Qachon oxirgi marta videodars ko'rayotganizda, qo'lizga bloknot olib asosiy joylarini yozib olib, dars tugaganidan keyin takrorlab chiqdingiz?
Videodarslikni boshlashdan oldin, hamma qismlarini ko’zdan kechiring. Bu juda ham muhim, balkim videodarslik sizga qiziq bo'lgan mavzu haqidamasdir? Balki o'qituvchini gapirish ohangi, aksenti sizga tushunarsizdir, balkim o'qituvchi dars o'tish stili yoqmasdir. Vaqt bu eng oliy ne’mat, shuning uchun videodarslikni boshlashdan oldin, bu sizga haqiqattan ham kerakli darsligiga ishonch komil qiling !
O'qituvchi bilan bir paytda kod yozmang. Odatda o'qituvchilar ular bilan bir paytda kod yozib ketishingizni so'raydilar, bu to'g'ri. Ammo bu ham har doim ham eng to'g'ri variant emas. Agar siz bir paytda ham videoni ko’rib, ham kodni yozsangiz, e'tiborni bir joyga jamlash qiyin bo'ladi, chunki har doim videoni to'xtatib, redaktorga o'tib, kod yozishga to’g’ri keladi. Va shu kichik to'xtashlar, e'tiborni bir joyga jamlashga halaqit beradi. E'tiborni bir joyga jamlang, videourokdan tashqari boshqa hamma browser oynalarini yoping, telefoningizni ovozsiz rejimga qo'ying, telegramni o'chirib qo'ying. Bor e'tiborizni videoga qarating. O'qituvchingiz yozayotgan kodi sintaksisiga emas, o'qituvchingiz qanaqa muammoni hal qilyapti, qanaqa konseptsiyani ishlatobdi, shunga e'tibor bering. Video tugaganidan keyin o'qituvchingiz hal qilgan muammoni, redaktorga o'tib o'ziz hal qiling, agar qanaqadir kod esingizdan chiqsa, googlega poisk berib qidiring, agar o'shanda ham topolmasangiz, videoni o'sha qismiga qaytib, qaytadan ko'ring.
👉 @lazerg
Sizda shunday holat bo'lganmi, 4 soatlik videokursni ko'rasiz, ko'p narsani o'rganasiz. Keyin esa kod yozishga o'tganizda, tamom, hamma narsa esingizdan chiqib ketibdi. Shuncha o'rganganingiz miyangizda yo'q !
Nima uchun shunday bo'ladi deb o'ylaysiz, nimaga ko'rayotgan videodarslaringiz samarasiz bo'lyapti, buni sababi oddiy, miya hardoim energiya saqlashga harakat qiladi, shuning uchun ham e'tiboringizni bir joyga jamlab o'tirish qiyin kechadi, yoki birdan videoni pauzaga qo'yib boshqa browser oynasiga o'tib ketasiz, yoki telegramga kirib kimdirga xabar yozasiz. Qachon oxirgi marta videodars ko'rayotganizda, qo'lizga bloknot olib asosiy joylarini yozib olib, dars tugaganidan keyin takrorlab chiqdingiz?
Videodarslikni boshlashdan oldin, hamma qismlarini ko’zdan kechiring. Bu juda ham muhim, balkim videodarslik sizga qiziq bo'lgan mavzu haqidamasdir? Balki o'qituvchini gapirish ohangi, aksenti sizga tushunarsizdir, balkim o'qituvchi dars o'tish stili yoqmasdir. Vaqt bu eng oliy ne’mat, shuning uchun videodarslikni boshlashdan oldin, bu sizga haqiqattan ham kerakli darsligiga ishonch komil qiling !
O'qituvchi bilan bir paytda kod yozmang. Odatda o'qituvchilar ular bilan bir paytda kod yozib ketishingizni so'raydilar, bu to'g'ri. Ammo bu ham har doim ham eng to'g'ri variant emas. Agar siz bir paytda ham videoni ko’rib, ham kodni yozsangiz, e'tiborni bir joyga jamlash qiyin bo'ladi, chunki har doim videoni to'xtatib, redaktorga o'tib, kod yozishga to’g’ri keladi. Va shu kichik to'xtashlar, e'tiborni bir joyga jamlashga halaqit beradi. E'tiborni bir joyga jamlang, videourokdan tashqari boshqa hamma browser oynalarini yoping, telefoningizni ovozsiz rejimga qo'ying, telegramni o'chirib qo'ying. Bor e'tiborizni videoga qarating. O'qituvchingiz yozayotgan kodi sintaksisiga emas, o'qituvchingiz qanaqa muammoni hal qilyapti, qanaqa konseptsiyani ishlatobdi, shunga e'tibor bering. Video tugaganidan keyin o'qituvchingiz hal qilgan muammoni, redaktorga o'tib o'ziz hal qiling, agar qanaqadir kod esingizdan chiqsa, googlega poisk berib qidiring, agar o'shanda ham topolmasangiz, videoni o'sha qismiga qaytib, qaytadan ko'ring.
👉 @lazerg
❓ Semantik HTML nima va nima uchun ular muxim
Ko'p dasturchilarni HTML kodlarini ko'rganda, shunga guvoh bo'lish mumkinki, barcha qismlari divlar orqali bajarilgan, UI tarafdan hammasi yaxshi ishlayotgan bo'lishi mumkin, ammo bu semantik to'grimas.
w3schools.com yozgani bo'yicha: Semantik elementlar nafaqat dasturchilarga, balkim brovserlarga ham tushunarli bo'ladi.
Xo'sh semantik nima degani? Tasavvur qiling, agar kitob o'qimoqchi bo'lganingizda undagi textlar hammasi birxil formatda bo'lsa kerakli joyini topib bilarmidingiz? Yo'q albatta, buning uchun sizga kitobni sarlavhasi, bo'limlari, sahifa raqami va hokazolar kerak bo'ladi.
HTMLda ham xuddi shunday, bazi teglar semantik hisoblanadi
Ko'rib turganingizday Sarlavha qismi
Ana endi nafaqat kod qisqaroq bo'ldi, endi bu kod browserlar uchun semantik to'gri hisoblanadi, endi buni qidiruv botlari va harxil dasturlar topib biladi.
❕ Agar siz onlayn magazin yaratmoqchi bo'lsangiz, u qidiruv tizimlarida ravshan ko'rinib turishi juda ham muxim. Agar HTML sahifa semantik to'g'ri to'ldirilgan bo'lsa, google mahsulotingiz haqida ko'proq ma'lumot ko'rsatadi va tabiiyki bu ko'proq sotib oluvchilarni o'ziga jalb qiladi. Qidiruv tizimlaridan tashqari harxil screen readerlar va chrome extensionlar ham tushunadigan bo'ladi shunan keyin.
❕ Ammo o'ylab qolishingiz mumkin, sarlavhada
👉 @lazerg
Ko'p dasturchilarni HTML kodlarini ko'rganda, shunga guvoh bo'lish mumkinki, barcha qismlari divlar orqali bajarilgan, UI tarafdan hammasi yaxshi ishlayotgan bo'lishi mumkin, ammo bu semantik to'grimas.
w3schools.com yozgani bo'yicha: Semantik elementlar nafaqat dasturchilarga, balkim brovserlarga ham tushunarli bo'ladi.
Xo'sh semantik nima degani? Tasavvur qiling, agar kitob o'qimoqchi bo'lganingizda undagi textlar hammasi birxil formatda bo'lsa kerakli joyini topib bilarmidingiz? Yo'q albatta, buning uchun sizga kitobni sarlavhasi, bo'limlari, sahifa raqami va hokazolar kerak bo'ladi.
HTMLda ham xuddi shunday, bazi teglar semantik hisoblanadi
h1, p. Ba'zilari esa yo'q div, span
<div class="section">
<div class="header">Sarlavha</div>
<div class="content">
Bu <span class="bold">content</span> qismi
</div>
</div>
Ko'rib turganingizday Sarlavha qismi
div da qilinib, .header classi orqali uni sarlavha ko'rinishiga keltirilgan. Ammo browser va qidiruv botlari buni sarlavha ekanligini bilishmaydi.
<section>
<h1>Sarlavha</h1>
<p>Bu <b>content</b> qismi</p>
</section>
Ana endi nafaqat kod qisqaroq bo'ldi, endi bu kod browserlar uchun semantik to'gri hisoblanadi, endi buni qidiruv botlari va harxil dasturlar topib biladi.
❕ Agar siz onlayn magazin yaratmoqchi bo'lsangiz, u qidiruv tizimlarida ravshan ko'rinib turishi juda ham muxim. Agar HTML sahifa semantik to'g'ri to'ldirilgan bo'lsa, google mahsulotingiz haqida ko'proq ma'lumot ko'rsatadi va tabiiyki bu ko'proq sotib oluvchilarni o'ziga jalb qiladi. Qidiruv tizimlaridan tashqari harxil screen readerlar va chrome extensionlar ham tushunadigan bo'ladi shunan keyin.
❕ Ammo o'ylab qolishingiz mumkin, sarlavhada
h1 ishlatayotgan bo'lsam, va manga bunaqa katta shriftli sarlavha kerakmas, kichikrog'ini ishlatsamchi masalan h3 ni. Bu ishingiz xato hisoblanadi, qidiruv tizimlari uchun h1 asosiy sarlavha hisoblanadi, agar sizga kichikroq shriftlisi kerak bo'lsa, h1 ni o'ziga style berib kichraytiring, lekin h1 ni o'zini o'zgartirmang. Chunki bu sarlavha teglari harxil shriftli sarlavha ko'rsatish uchunmas, ichkari-ichkari joylashgan sarlavhalarni belgillash uchun yaratilgan.👉 @lazerg
Lazizbek Ergashev | IT Blog
❓ Semantik HTML nima va nima uchun ular muxim Ko'p dasturchilarni HTML kodlarini ko'rganda, shunga guvoh bo'lish mumkinki, barcha qismlari divlar orqali bajarilgan, UI tarafdan hammasi yaxshi ishlayotgan bo'lishi mumkin, ammo bu semantik to'grimas. w3schools.com…
🔘 Main - <main> tegi asosiy contentni ko'rsatadi, agar sizning sahifayizda <header>, <footer>, <main> teglari mavjud bo'lsa, unda ushbu barcha sahifa qismlari <main> tegi ichiga joylashtirsa bo'ladi.
🔘 Section - Agar sizning sahifayizda bir necha qismlar bo'lsa, <div> tegi o'rniga ushbu tegni ishlating.
🔘 Article - Sahifaning mustaqil qismi bo'lib alohida turgan holda ham ma'no beradigan qismi, masalan forumdagi biron xabar, maqola, blog va hattoki postga qoldirilgan izoh.
🔘 Aside - Agar sizni sahifangiz chetida menu bo'lsa shuni ishlating. Bu browser va qidiruv tizimlariga bu navigation menyuligi haqida xabar beradi
🔘 Nav - Bu teg nafaqat headerdagi navigation menu uchun ishlatiladi, balkim istalgan navigation bor joyda ishlatilishi mumkin, aside elementi ichidagi havolalarni ham shu teg ichida yaratish kerak, shunda qidiruv tizimi bu navigationligini tushunadi, va hattoki sahifani qidirganda navigation bilan birgalikda topadi
👉 @lazerg
🔘 Section - Agar sizning sahifayizda bir necha qismlar bo'lsa, <div> tegi o'rniga ushbu tegni ishlating.
🔘 Article - Sahifaning mustaqil qismi bo'lib alohida turgan holda ham ma'no beradigan qismi, masalan forumdagi biron xabar, maqola, blog va hattoki postga qoldirilgan izoh.
🔘 Aside - Agar sizni sahifangiz chetida menu bo'lsa shuni ishlating. Bu browser va qidiruv tizimlariga bu navigation menyuligi haqida xabar beradi
🔘 Nav - Bu teg nafaqat headerdagi navigation menu uchun ishlatiladi, balkim istalgan navigation bor joyda ishlatilishi mumkin, aside elementi ichidagi havolalarni ham shu teg ichida yaratish kerak, shunda qidiruv tizimi bu navigationligini tushunadi, va hattoki sahifani qidirganda navigation bilan birgalikda topadi
👉 @lazerg
❓ Javascript undefined va null ning farqi nimada
❕ Buni tekshirish uchun
Xulosa: Undefined bu - qiymat berilmagan primitve o'zgaruvchi. Null bu - qiymati bo'sh bo'lgan primitve o'zgaruvchi
👉 @lazerg
null ham, undefined ham, ikkalasi ham primitive va ikkalasi ham false qiymat qaytaradi. Ikkalasi ham qiymati yo'q degan ma'no qaytarishiga qaramasdan, ikkalasining tiplari harxil.❕ Buni tekshirish uchun
typeof undefined qiladigan bo'lsak, ko'rishimiz mumkinki, undefined tipi "undefined", endi typeof null qilib ko'rsak, "null" emas "object" qaytaradi. Bu xato javascriptda deyarli yaratilganidan beri mavjud bo'lib, deyarli millionlab websaytlar ushbu xolatda ishlayotgani uchun endi uni to'g'rilash ularni buzishga olib keladi.Xulosa: Undefined bu - qiymat berilmagan primitve o'zgaruvchi. Null bu - qiymati bo'sh bo'lgan primitve o'zgaruvchi
👉 @lazerg
Kodning biron qismiga qayd joylash uchun,
🔘 Kodning qaysidir qismiga o’zgartirish kirish zarur, ammo ayni damda bu dasturni boshqa qismini buzib qo’yishi mumkin;
🔘 Kodni shu qismini refactor qilsa bo'ladi, ammo TODOni yozayotgan dasturchi ayni damda boshqa funksional yozish bilan band;
🔘 Funktsiya ajoyib ishlamoqda, ammo funksiya va argumentga yaxshi nom xayolga kelmayobdi, keyinchalik yanada o'ylab ko'rish uchun yoziladi (funksiya yaxshi tushunarli nom berish juda ham muxim);
Bundan tashqari albatta holatlar juda ham ko’p…
❕ Hozirgi barcha zamonaviy redaktorlar TODOlarni aniqlab bilib, alohida ajratib ko'rsatadi. Shuning uchun ham TODOlar esdan chiqib qolishi, yoki ko'rinmay qolishi ehtimoli juda ham kam
P.S. Kodga misol keltirotganimda asosan funksiya nomlariga, yoki izohlarga o'zbekcha yozishim mumkin. Real proyektlarda inglizcha yozinglar )
👉 @lazerg
// TODO dan foydalansa bo'ladi. TODOni ishlatishni ba'zi sabablari:🔘 Kodning qaysidir qismiga o’zgartirish kirish zarur, ammo ayni damda bu dasturni boshqa qismini buzib qo’yishi mumkin;
🔘 Kodni shu qismini refactor qilsa bo'ladi, ammo TODOni yozayotgan dasturchi ayni damda boshqa funksional yozish bilan band;
🔘 Funktsiya ajoyib ishlamoqda, ammo funksiya va argumentga yaxshi nom xayolga kelmayobdi, keyinchalik yanada o'ylab ko'rish uchun yoziladi (funksiya yaxshi tushunarli nom berish juda ham muxim);
Bundan tashqari albatta holatlar juda ham ko’p…
❕ Hozirgi barcha zamonaviy redaktorlar TODOlarni aniqlab bilib, alohida ajratib ko'rsatadi. Shuning uchun ham TODOlar esdan chiqib qolishi, yoki ko'rinmay qolishi ehtimoli juda ham kam
P.S. Kodga misol keltirotganimda asosan funksiya nomlariga, yoki izohlarga o'zbekcha yozishim mumkin. Real proyektlarda inglizcha yozinglar )
👉 @lazerg
Lazizbek Ergashev | IT Blog
Kodning biron qismiga qayd joylash uchun, // TODO dan foydalansa bo'ladi. TODOni ishlatishni ba'zi sabablari: 🔘 Kodning qaysidir qismiga o’zgartirish kirish zarur, ammo ayni damda bu dasturni boshqa qismini buzib qo’yishi mumkin; 🔘 Kodni shu qismini refactor…
Bundan tashqari JetBrains redaktorlarida (ide) TODO bilan ishlaydigan alohida menusi mavjud.
👉 @lazerg
👉 @lazerg
Bugun asosan chet elda bo’ladigan bir trendni boshlamoqchimiz. Trendni ma’nosi har kim o’zining ish stolini rasmga olib tashlashi zarur bo’ladi. Qayerda kod yozadi o’sha yerni 😉😉
P.S. Birinchi bo’lib o’zim boshlab beraman, kanallarga va guruhlarga ulashish esingizdan chiqmasin 😉😉
👉 @lazerg
P.S. Birinchi bo’lib o’zim boshlab beraman, kanallarga va guruhlarga ulashish esingizdan chiqmasin 😉😉
👉 @lazerg
❗️ Kanalimiz a’zolari soni 500taga yetganda ovozli chat qilamiz, va shaxsan mening o’zim web-dasturlash va frilans haqida barcha savollarizga javob berishga harakat qilaman.
Spikerlar orasida Robocontest.uz CEOsi hamda Senior fullstack dasturchi @adizbek_ergashev ham bo’ladilar.
👉 @lazerg
Spikerlar orasida Robocontest.uz CEOsi hamda Senior fullstack dasturchi @adizbek_ergashev ham bo’ladilar.
👉 @lazerg
👍2
❓ JavaScript nega
Bu biron JavaScript xatoligi emas, shunchaki ikkinchi
❕ Masalan
“a” harfini raqamga aylantirib bo'lmasligi uchun, JavaScript NaN, yani xatolik qaytaradi. Bu xatolikdan keyin yana
👉 @lazerg
”a” + + “a” + “a” + “S” yozganda aNaNaS deb qaytarmoqda?Bu biron JavaScript xatoligi emas, shunchaki ikkinchi
"a" oldida ikkita plus borligi uchun, ikkinchi plus “a” so'zini, raqamga aylantirishga harakat qilmoqda. Chunki JavaScriptda so’z oldidan plus qo’yilsa bu uni raqamga aylantiradi.❕ Masalan
+ “3” => 3;“a” harfini raqamga aylantirib bo'lmasligi uchun, JavaScript NaN, yani xatolik qaytaradi. Bu xatolikdan keyin yana
+ “a” kelayotgani uchun, JS bu xatolikni so'zga aylantirishga harakat qiladi, ya'ni NaN => “NaN” ga aylanadi va a harfi oxiridan qo’shilib “NaNa” ga aylanadi. Shu bilan butun ifodaning o'zi “aNaNaS” ga aylanadi.👉 @lazerg
Shu kunlarda vitejs.dev ni sinab ko'rmoqdaman. Bu frontend dasturlash kelajagi bo'lishi ham mumkin, chunki buning boshqa frontend dasturlash muhitidan farqi shundaki: bundle qilmaydi va ES Module larning native importini ishlatadi. Bundle qismini bajarmasligi sababli juda ham tez ishlaydi. Hozir sinab ko'rishingiz mumkin
Shundan keyin bir necha shablonlardan birini tanlashingiz mumkin.
Vuejs yaratuvchi Evan You gapiga ko'ra hozirda vite faqat vuejs3 ni qo'llab quvvatlaydi
👉 @lazerg
yarn create @vitejs/app my-app .Shundan keyin bir necha shablonlardan birini tanlashingiz mumkin.
Vuejs yaratuvchi Evan You gapiga ko'ra hozirda vite faqat vuejs3 ni qo'llab quvvatlaydi
👉 @lazerg
Siz muvaffaqiyatsizliklar va tanqidlarga qanday munosabatda bo'lishni bilishingiz kerak
Sizning yechimingiz hechqachon mukammal bo’lmaydi, va sizga yechgan vazifani hardoim boshqacha yaxshiroq va samaraliroq yo’li bo’ladi. Ishga endi joylanganizda hali siz samarali kod yozib bilmasligiz uchun tajribasi ko’proq dasturchi hamkasblariz tomonidan kulgi ostiga qolishingiz mumkin. Ammo muximi sizga qilinayotgan tanqiddan to’g’ri xulosa chiqarib bilish !
👉 @lazerg
Sizning yechimingiz hechqachon mukammal bo’lmaydi, va sizga yechgan vazifani hardoim boshqacha yaxshiroq va samaraliroq yo’li bo’ladi. Ishga endi joylanganizda hali siz samarali kod yozib bilmasligiz uchun tajribasi ko’proq dasturchi hamkasblariz tomonidan kulgi ostiga qolishingiz mumkin. Ammo muximi sizga qilinayotgan tanqiddan to’g’ri xulosa chiqarib bilish !
👉 @lazerg
IT sanoati statik emas !
Agar 1-2 yil mehnat qilib o’rganib, keyin bemalol umrim oxirigacha ishlab yuraman deb o’ylayotgan bo’lsangiz qattiq adashasiz. IT olamida texnologilar juda juda jadallik bilan o’zgarib, rivojlanib, yaxshilanib bormoqda. Bir necha yil avval hamma sevib ishlatadigan jQuery kutubxonasi, hozirgi yangi proyektlarda deyarli ishlatilmaydi. Uning o’rnida reactjs va vuejs day yangi texnologiyalar ishlatimoqda. Bir necha yil avval hamma proyektda ishlatiladigan css framework Bootstrap ni ham hozir ishlatishlar soni biroz kamaygan. Uning o'rniga TailwindCSS ga o’xshagan “utility-first” css frameworklar ishlatilmoqda.
Bu degani siz doim o’zgarishlarga tayyor bo’lishingiz kerak !
👉 @lazerg
Agar 1-2 yil mehnat qilib o’rganib, keyin bemalol umrim oxirigacha ishlab yuraman deb o’ylayotgan bo’lsangiz qattiq adashasiz. IT olamida texnologilar juda juda jadallik bilan o’zgarib, rivojlanib, yaxshilanib bormoqda. Bir necha yil avval hamma sevib ishlatadigan jQuery kutubxonasi, hozirgi yangi proyektlarda deyarli ishlatilmaydi. Uning o’rnida reactjs va vuejs day yangi texnologiyalar ishlatimoqda. Bir necha yil avval hamma proyektda ishlatiladigan css framework Bootstrap ni ham hozir ishlatishlar soni biroz kamaygan. Uning o'rniga TailwindCSS ga o’xshagan “utility-first” css frameworklar ishlatilmoqda.
Bu degani siz doim o’zgarishlarga tayyor bo’lishingiz kerak !
👉 @lazerg
C++ yaratuvchisi, Bjarne Stroustrup, o’z intervyusida shuni ta’killb o’tadiki, hechkim faqat bir dona tilni o’rganib o’zini professional deb atamasligi kerak. U minimum 3 ta tilni o’rganishni tavsiya qiladi. Uning tavsiya qilgan dasturlash tillari: C++, Java, Python, C, C#, shu tillar sizni dasturlashni umumiyligicha yaxshi tushinishizga yordam beradi.
Ammo siz dasturlashga endigina qadam qo’yayotgan bo’lsangiz, barcha narsani darrov o’rganishga harakat qilmang. Birinchi bo’lib o’rganayotgan tilingizni boshlang’ich tushunchalarini o’rganing, va uje bemalol o’zizni his qiladigan bo’lganizdan keyin bu til bilan, keyingisiga o’tsangiz bo’ladi.
Shu narsa aniqki ikkinchi tilni o’rganishingiz osonroq bo’ladi birinchi tilni o’rganganizdan ko’ra
👉 @lazerg
Ammo siz dasturlashga endigina qadam qo’yayotgan bo’lsangiz, barcha narsani darrov o’rganishga harakat qilmang. Birinchi bo’lib o’rganayotgan tilingizni boshlang’ich tushunchalarini o’rganing, va uje bemalol o’zizni his qiladigan bo’lganizdan keyin bu til bilan, keyingisiga o’tsangiz bo’ladi.
Shu narsa aniqki ikkinchi tilni o’rganishingiz osonroq bo’ladi birinchi tilni o’rganganizdan ko’ra
👉 @lazerg
Charles Babbage tomonidan yaratilgan Analitik qurilma birinchi “dasturlash” mumkin bo’lgan qurilma deb hisoblanadi
👉 @lazerg
👉 @lazerg
❓ Qanday qilib frilanser bo'lib ko'proq mijozlarni topsa bo'ladi
Frilanser dasturchi sifatida ish faoliyatini boshlaganda mijozlar oqimini stabil qilish juda ham muhim hisoblanadi. Dasturlash hozir juda ham keng tarqalgan soha bo'lib, uni o'rganmoqchi bo'lganlar va o'rganayotganlar ham ko'p bo'lganini hisobga olsak raqobat kuchayib borishini aytishimiz mumkin. Ammo raqobat kuchaygani sari mijozlar tugab qoldi degani emas, quyida bir nechta maslahatlarni bermoqchiman:
🔘 Open source proyektlarga hissa qo'shish - Open source proyektlar qo'shilish va rivojlantirish bu dasturchi sifatida reputatsiyani oshirishning eng samarali yo'li. GitHub profilizda qancha ko'p ishlatiladigan proyektlarga contribute qilganingiz, sizning qanchalik kuchli dasturchiligingizdan dalolar beradi.
🔘 Ijtimoiy tarmoqlarda mavjudligingizni oshiring - Agar mijoz raqobatchingizni emas, aynan sizni online topishini xoxlasangiz, hamma yerda mavjud bo'ling . Potensial mijozlar qaysi platformada ko'proq vaqt ketkazishadi, o'sha ijtimoy tarmoqda sizning profiliz ham mavjud va chiroyli bezatilgan bo'lishi kerak
🔘 Referal usuli - Hammada birinchi buyurtmani olish qiyin bo'ladi, ammo olgandan keyin uni juda e'tibor bilan qiling mijoz xoxlaganiday qilib. Chunki keyingi safar yana uni ishi chiqib qolsa, aynan sizni oldingizga keladi, yoki biron do'sti kimdirga buyurtma bermoqchi bo'lib turganida, "To'xta, man bir ta zo'r frilanserni bilaman, mana kontakti:", deb beradi. Shuning uchun ham buyurtmalariz ko'payishini istasangiz uni e'tibor va mehr ila bajarish zarur bo'ladi
Yana qanday usullar sizga foyda keltirgan? Izohlarda yozib qoldiring.
👉 @lazerg
Frilanser dasturchi sifatida ish faoliyatini boshlaganda mijozlar oqimini stabil qilish juda ham muhim hisoblanadi. Dasturlash hozir juda ham keng tarqalgan soha bo'lib, uni o'rganmoqchi bo'lganlar va o'rganayotganlar ham ko'p bo'lganini hisobga olsak raqobat kuchayib borishini aytishimiz mumkin. Ammo raqobat kuchaygani sari mijozlar tugab qoldi degani emas, quyida bir nechta maslahatlarni bermoqchiman:
🔘 Open source proyektlarga hissa qo'shish - Open source proyektlar qo'shilish va rivojlantirish bu dasturchi sifatida reputatsiyani oshirishning eng samarali yo'li. GitHub profilizda qancha ko'p ishlatiladigan proyektlarga contribute qilganingiz, sizning qanchalik kuchli dasturchiligingizdan dalolar beradi.
🔘 Ijtimoiy tarmoqlarda mavjudligingizni oshiring - Agar mijoz raqobatchingizni emas, aynan sizni online topishini xoxlasangiz, hamma yerda mavjud bo'ling . Potensial mijozlar qaysi platformada ko'proq vaqt ketkazishadi, o'sha ijtimoy tarmoqda sizning profiliz ham mavjud va chiroyli bezatilgan bo'lishi kerak
🔘 Referal usuli - Hammada birinchi buyurtmani olish qiyin bo'ladi, ammo olgandan keyin uni juda e'tibor bilan qiling mijoz xoxlaganiday qilib. Chunki keyingi safar yana uni ishi chiqib qolsa, aynan sizni oldingizga keladi, yoki biron do'sti kimdirga buyurtma bermoqchi bo'lib turganida, "To'xta, man bir ta zo'r frilanserni bilaman, mana kontakti:", deb beradi. Shuning uchun ham buyurtmalariz ko'payishini istasangiz uni e'tibor va mehr ila bajarish zarur bo'ladi
Yana qanday usullar sizga foyda keltirgan? Izohlarda yozib qoldiring.
👉 @lazerg
🔥1