Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
592 - Telegram Web
Telegram Web
Adizbek Ergashev's blog
Microprotsessorlar ixtiro qilindi. Unga kod yozish uchun barcha assemblerni o'rganishni boshladi.

Yuqori darajali C ixtiro qilindi, dasturchilar ishi osonlash, sekin astalik bilan assemblerga talab kamaydi*.

Java, Python, Javascript, PHP tillari paydo bo'ldi, bu tillar interpretatsiya yoki compilatsiya yordamida mashina kodiga o'tkaziladi (interpretator yoki kompilyatorlar odatda C/C++ da yoziladi), dasturchilar endi yuqoridagi C, C++ talab kamaydi, Assemblerni unutila boshlandi*

Endi kutubxonalar yozish boshlandi, dasturchilar kamroq kod yordamida (albatta tezlik va unumdorlikdan yutqazgan holda) ko'proq ish qilish imkoniga ega bo'lishdi.

Python, Js, php, java tillarida frameworklar ishlab chiqildi, endi bir zumda yangi saytni 0 dan ko'tarish mumkin. C ni hech kim eslamay qoydi.

NoCode, LowCode platformalar chiqdi, ChatGPT, Copilot va boshqa kod yozishga yordam beradigan uskunalar ishlab chiqildi, endi katta loyihalarni tezda bajarish imkoniyati bor....

Lekin bularni ishlatadigan kadrlarchi ? Ish osonlashgan sari o'rganish talab etiladigan talablar osonlashganday ko'rinishni boshladi. Aslida har safar osonlashganda biz dastur tezligi va unumdorligidan yutqazamiz.

Osonlashgan sari, dasturchilar bilishi shart bo'lgan CPU, Xotira va boshqa muhim qurilmalarning ishlash qoidalarini unutib qoyishyapti.

Deylik ma'lum bir parametrli server mavjud:

loyihamizni nocode dasturda qilsak: 1 soatda loyihani tugatamiz, lekin maksimum 100 ta mijozga xizmat ko'rsata oladi.
biror tildagi frameworkda qilsak 10 soatda loyihani tugatamiz, lekin maksimum 1000 ta mijozga xizmat ko'rsata oladi
framework ishlatmasdan 100 soatda loyihani tugatamiz, lekin maksimum 10000 ta mijozga xizmat ko'rsata oladi.

Ma'lumotlar tuzilmasi to'g'ri ishlatish, xotirani to'g'ri ishlatish, CPUni ishlash prinsiplarini tushunganimizda, xizmat ko'rsatish mumkin bo'lgan mijozlar soni yana bir necha karrasiga oshib ketadi.

Qisqa qilib aytganda, hozir qilayotgan ishingizni to'liq tushunmayotgan bo'lsangiz yoki shunday bo'lsa kerakda, ehtimol shunday ishlasa kerak deb ikkilanib ishlatadigan vositalarni vaqt ajratib o'rganing, hozir 1 soat ajratgan vaqtingiz, kelajakda +10x vaqtingizni tejaydi va albatta qilayotgan ish sifatingiz ham oshadi.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Adizbek Ergashev's blog
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Adizbek Ergashev's blog
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Uzun post. Frontend sohasi misolida yozdim, bu barcha sohalarda yangi o’rganuvchilarga foydali bo’ladi deb o'ylayman.

Veb-dasturlash sohasi juda tez o'zgaruvchan hisoblanadi, har kuni qandaydir yangi framework va kutubxonalar ishlab chiqariladi. Ishlab chiquvchilar dasturchilar samaradorligini oshirish (kam kod bilan ko'p natijaga erishi) va foydalanuvchi uchun qulay va zamonaviy UI/UX ishlab chiqishni osonlashtirish ustida bosh qotirishadi, yangi o'rganuvchilar aynan shu xilma xillikda adashib eng asosiy o'rganish kerak bo'lgan vositani unutib qo’yishadi - Javascript tili.
JavaScript asoslari haqida tushunchani mustahkamlamay turib, eng so'nggi texnologiyalarni o'rganishga shoshiladilar va bu qilingan xato qadamlardan biridir.

Xo'sh, nega frameworklarni o'rganishdan oldin JavaScript asoslarini tushunish juda muhim?

Sohani o'rganish uchun kuchli poydevorning muhim ahamiyati.
Tasavvur qiling-a, avvalo mustahkam poydevor qo'ymasdan uy qurishni. Xuddi shunday, JavaScript asoslarini to'liq va ishonchli bilmasdan turib, u yordamida murakkab veb-ilovalarni yaratishga urinish, ham dasturchining o'ziga va u ishlayotgan kompaniya uchun katta zarar hisoblanadi.
O'zgaruvchilar, ma'lumotlar turlari, funksiyalar va scope, async/await, classlar, yana ko'plab ichkaridagi mayda narsalar kabi asosiy tushunchalarni tushunish mustahkam va ishonchli dastur tuzish uchun poydevor hisoblanadi. Framework yoki texnologiya qanchalik zo'r bo'lmasin, barchasi uni ishlatadigan dasturchiga bog'liq.

Ushbu asoslarni o'zlashtirgan holda, dasturchilar "toza", sifatli, maintainable (to'g'ri tarjima qilolmadim, keyinchalik o'zgartirish oson bo'lgan kod) kod yozish qobiliyatiga ega bo'lishadi, bu bilimlar esa keyinchalik yuzaga kelishi mumkin bo'lgan har qanday katta-kichik, oson-murakkab xatoliklarni aniqlashda xuddi katta sahroda kompass vazifasini bajaradi, menimcha fundamental bilimlarning qanchalik muhimligini tushuntira oldim deb o'ylayman.

"Mo'jiza" bo'lib ko'ringan texnologiyalar.
Vuejs misolida ko'radigan bo'lsak, framework ko'plab qiyinchiliklarni abstractlashtirib(yashirib) dasturchilar uchun qulay interface(misol uchun, vuejs komponenti va undagi funksiyalar) yaratib beradi. JS uchun qiyin tuyulgan, reaktivlik juda oson ko'rinishda ishlatishimiz mumkin, lekin bu osonlik barchaga ham birdek "yordam" qilolmaydi, barchasi yana fundamental bilimlarga borib taqaladi, JS asoslarini chuqur o'rgangan dasturchi ichin bu xuddi karra jadvaliday bo'lsa, uni bilmaydigan dasturchilar uchun "mo'jiza" deb tuyuladi, va frameworkning yoki ma'lum uning funksiyalarining ishlash prinsiplarini ta'riflab berisholmaydi. Ishlasa bo'ldida...

Xo'sh deylik biz JS asoslarini chuqur o'rgandik, bu bizga frameworklarni ishlashini tushunishga yordam beradi, bu turdagi dasturchilarni qanday boshqalardan ustunliklari mavjud ?
Dasturchi kod o'z tajribasidan kelib chiqib yozadi. Qiyin vaziyatda to'g'ri yo'lni tanlash aynan shu nozik jihatlarni tushunish juda muhimdir. Frameworkni ruxsat etmagan yoki imkoniyati bo'lmagan narsalarni ham osongina ishlab chiqishadi. Katta va murakkab dasturda kodni debugging qilish xuddiki labirintda yurganday, faqatgina fundamentlar kuchli bilimga ega dasturchi uchun emas, chunki muammoni ildizini qisqa vaqt ichida aniqlay oladi.

Frameworklarni o'rganishga shoshilmang, asoslarni bilmasdan turib ham sizda kod yozish "o'xshayotgan" bo'lishi mumkin, lekin real "jang maydoniga" chiqqan payt, barchasi ko'rinadi.

@adizbek_ergashev
Adizbek Ergashev's blog
Boltani charxlashga vaqt ajrating

Tasavvur qiling sizga 4 soat vaqt berishdi, va ishtirokchilarga bittadan bolta bor, sizning vazifangiz ko’p daraxt kesish va go’lib bo’lish. Raqiblaringiz darxol boltani qo’lga olishdi va daraxt 🪓 chopishga kirishishdi, siz shoshmadingiz, boltani charxlashni boshladingiz. Oldin boshlaganlar sekin astalik bilan daraxtlarni qulatishyapti, siz esa charxlayapsiz. 2 soat ichida “o’tmas” bola bilan zo’rga 1 dona daraxt qulatishdi va ko’p kuch sarflandi, charchashdi. Siz 1 soatdan keyin boshladingiz, va har yarim soatda 1 dona daraxt qulatdingiz. Yakuniy natijada esa boltasini charxlagan kamroq kuch sarflab ko’proq natijaga erishdi.

Hozirgi bizdagi kundalik 8 soatlik ishda, 8 soat doimiy ish bilan band bo’lish, yangiliklar va texnologiyalardan bexabar qolish xuddi shu yuqoridagi to’qima holatga o’xshaydi. Ko’p ishlaymiz, ertalabdan kechga kod yozamiz, lekin natija kam. Ko’p bug hosil bo’ladi, dastur tezligi past, tizimlar sekin, og’ir va boshqa muammolar….. Barchasi “boltaning o’tmasligidan”, bunga bir nechta men bilgan sabab bor:

1. Yangiliklardan qochish(qo’rqish) va faqat va faqat biladigan narsalarni ishlatish. (birdek kompaniyalarga va insonlarga xos)
2. Kompaniyaning dasturchi bilimlarini o’stirish uchun vaqt va mablag’ ajratmasligi. Dasturchi - kompaniya resursi, quroli. “O’tmaslashib” qolgani sabab dasturchini ayblash ham adolatli emas, kerakli choralarni ko’rish kompaniya zimmasida, “o’tkir boltalar” bilan sifatli va tezkor ishlash mumkin.

Kompaniya va dasturchilarga tavsiya, “boltalarni” charxlashga vaqt ajrating

@adizbek_ergashev
Please open Telegram to view this post
VIEW IN TELEGRAM
Trendni davom etiramiz

ChatGPT 4o dan so'raldi
TATUda o'qiydigan tanishlaringizga yuboroshingiz uchun foydali ma'lumot.

TATU yaqin kunlar ichida ko'plab sovrinli hakaton va tanlovlarni tashkillashtiryapti, o'z loyihalaringiz va jamoangiz bilan qatnashib g'olib bo'ling.

Umumiy sovrin jamg'armasi 1 mlrd. so'm

Joriy yilning 20-24-may kunlari bo'lib o'tadigan, umumiy jamg'armasi 1 mlrd. so'mni tashkil qilgan TUIT bright future week tanlovlar haftaligini kutib oling.

Musobaqada Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti va uning hududiy filiallari talaba-yoshlari ishtirok etishlari mumkin.

Kutilayotgan tanlov-musobaqalar:

1️⃣ Follow up Conferences tadbiri;
2️⃣ TUIT Digital Girls Hakatoni;
3️⃣ UNICORN startap loyihalar tanlovi;
4️⃣ My Future Job trening haftaligi
5️⃣ 200 nafar iqtidorli talaba tanlovi;
6️⃣ CTF Cyber Challenge musobaqasi;
7️⃣ TUIT Cyber Games musobaqasi;
8️⃣ United clean coders hakatoni;
9️⃣ 3i: idea, invention and innovation talabalar ishlanmalari va g‘oyalari ko‘rgazmasi.

Batafsil: https://www.tgoop.com/tuituz_official/20356
Please open Telegram to view this post
VIEW IN TELEGRAM
Progress…
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Uzun post, shaxsiy hayotiy tajribamdan kelib chiqqan holda, meni fikrlarim sizniki bilan farq qilishi tabiiy.

(IT) Universitet kerakmi ?

Oldindan aytaman, siz 4 yil umringizni behuda sarflaysiz, yaxshishi umuman yaqin ham kelmang , agar maqsad shunchaki diplom bo'lsa.

Hozirgi ko'plab yoshlarni o'ylantiradigan savol. Universitetda o'qisam vaqtimni yo'qotib qoymaymanmi ? Diplom kerakmi ?
Bu barchasi qaysi "burchak ostida" qarashga bog'liq.

Ko'pchilikdan so'rashganda universitet bizni dasturchi qilib chiqarmadi deb aytsa kerak...

TATUda 4 yil bakalavr, 2 yil magistratura va hozirda PhD talabasi sifatida quyidagilarni aytishim mumkin:

Eng qiziqarli davr bakalavr davr bo'lgan.

Tanish-bilish, zamonaviy tilda networking, hayotimda eng ko'p va keskin o'zgarishlar aynan universitet bilan bo'lgan, har yili yuzlab yangi sohangiz vakillari bilan tanishish, tanlovlar, hakatonlar, loyihalar... Universitetda birlashish juda oson, chunki o'zingizga o'xshagan insonlarni topasiz, o'rganasiz, o'rgatasiz. Hozirda ham o'zimizni kichik bo'lsada dev. community mavjud.

Kuchli fundamental bilimlar, universitet davomida turli fanlar o'tildi, aksariyat fanlar haligacha ko'pchilikni bir savol bilan qiynasa kerak. Bu fan o'zi nimaga kerak? Endi hozirgi vaqtda darslar davomida o'tilgan fanlarni sarhisob qilsam, qaytadan kompyuter yasashga yetarli bo'ladigan bilimlarni olishimiz mumkin ekan, lekin ko'pchilikda maqsad bilim olish emas, shunchaki diplomni qo'lga kiritish bo'lganligi uchun umrini oxirigacha universitetni yomonlaydi. Muammo barchani o'zida - ilm ortidan quvish emas, boshqa narsalar bilan vaqtni behuda ketkazish.

Izlashnishni va o'rganishni o'rgatdi, biz bazan o'zimiz umuman kerak emas yoki qiziq bo'lmagan fanlarni o'qishga majbur bo'ldik, to'g'ri bu vaqtni ketkazishday tuyulishi mumkin, lekin hozirda ishda yoki kundalik hayotda ko'p kerak bo'ladigan qobiliyat. Ishda ham barchasi tushunarli va qiziqarli bo'lmasligi mumkin, har kuni turli tuman ishga aloqador ma'lumotlarni o'rganishga to'g'ri keladi.

IT sohasi shaxsan o'zimga qiziq bo'lgani uchun ko'proq o'rganishga vaqt ketkazar edim. Ham nazariy tomondan ham amaliy tomondan ko'proq shug'ullanganim sababli magistratura va PhDga kirish oson bo'lgan deb hisoblayman. O'qishni davom ettirishdan maqsad nima, diplom bor "tinchgina" ishlab yurgan yaxshi emasmi?

Aslida biz foydalanuvchi-dasturchi, ya'ni mavjud texnologiyani olib yo'riqnomasini o'qib, dastur yasaymiz. Texnologiya bizgacha yetib kelganigacha qancha olim-dasturchilar uning ustida bosh qotirgan, izlangan. Ularning mehnati bebaho, shuni aniq aytishim mumkinki deyarli barchasi universitetda o'qigan, PhD va undan yuqoriroq ilmiy darajalarga erishgan. Inson qo'li bilan yaratilingan narsa borki barchasi ulkan izlanishlar natijasi.
Men ham maqsadim, nafaqat oddiy foydalanuvchilar, balkim dasturchilar keng ishlatadigan loyihalar qilish. Bu uchun esa albatta ko'p izlanish kerak.


Universitetga kirdingizmi, o'qish kerak, izlanish kerak. Agar universitet ayblab, yomonlab, barchasini undan kutsangiz adashasiz.
https://www.tgoop.com/tuit_online/18908

@adizbek_ergashev
#scrum #git #naming

Dasturchilar jamoasida Scrum metodologiyasini qo'llagada VCS (Version Control System ya'ni git) branchlarni nomlash muhim sanaladi. Bunda ishni samarali tashkil qilish va PR(Pull request & Merging) jarayoni sodalashtirish vaqtdan yutish va kodni birlashtirish jarayonidagi konfliktarni kamaytiradi

1. Asosiy main branch
Maqsadi: Productionda ishlab turgan dasturning asl nusxasi, stabil va to'g'ri ishlashi muhim.
Nomlash: Odatda main yoki master deb nomalanadi.

2. Ishlab chiqarish ya'ni dev branch

Maqsadi: Ishlab chiqilgan va testdan o'tgan featurelarni keyingi release uchun tayyorlash uchun ishlatiladi.
Nomlash: Odatda dev yoki development deb nomalanadi

3. Yangi xususiyatlar ya'ni feature branch
Maqsadi: Bu turdagi branchlar yangi imkoniyatlarni qo'shish yoki mavjudlarini rivojlantirish uchun ishlatiladi. Bu turdagi branchlar dev branchining oxirgi holatidan nusxa olinishi kerak va faqatgina bitta featureni o'zi ichiga olishi kerak, ko'p featurelarni bir branchda ishlab chiqish ham testlashni ham merge qilishni qiyinlashtiradi.
Nomlash: Branchni nomlashda uning turi ya'ni feature aniq ko'rsatilgan bo'lishi shart va undan keyin u bilan bog'liq vazifa raqami va qisqacha nomlanishini yozish mumkin
Misol uchun: feature/CA-12-add-user-login

4. Bugfix branchlar
Maqsadi: Tezkor ravishda kamchiliklarni to'g'rilash uchun ishlatiladi. Bu branch odatda devdan nusxa olinadi va testlangandan so'ng qayta dev ga merge qilinadi.
Nomlash: bugfix/CA-13-fix-login-error

5. Hotfix branchlar
Maqsadi: Ya'ni jiddiy bug hosil bo'lganda to'g'ridan to'g'ri productionga merge qilsih uchun ishlatiladi. Bu branchlar maindan nusxa olinadi va testlangandan so'ng dev va main ga merge qilinadi.
Nomlash: hotfix/CA-14-fix-login-error

Tavsiyalar:
- Muvofiqlik ya'ni nomlashda juda etiborli bo'lish kerak, katta jamoalarda ko'p kod yoziladi va oxir oqibat tekshiruvdan o'tib, PR (Pull request) ochiladi va review qilinadi. Shu sababli katta codebaseda to'g'ri nomlash juda muhim.
- Prefikslarni qo'shish shart, sababi branchda qanaqa turdagi ish (feature, bugfix) bo'lgani uning prefiksi aytishi kerak
- Ta'riflovchi nom berish, ya'ni branchning to'liq nomi qisqacha u haqida ma'lumot berishi kerak, masalan, feature/CA-12-add-user-login - bu yerdan ko'rishimiz mumkinki, user login qilish imkoniyati qo'shilyapti.
- Branchlar uzun tarixga ega bo'lmasligi kerak, bu merge qilish va testlashni osonlashtiradi.
- Bitta feature yoki bugfix ustida 2 va undan ortiq dasturchi ishlasa bugfix/CA-13-fix-login-error-[ism] ko'rinishida branch ochish maqsadga muvofiq va is yakunlangandan so'ng bugfix/CA-13-fix-login-error ga merge qilinadi.
- Kod yozilayotganda qisqa kod yozish emas tushunarli kod yozish muhim, ba'zan 2 qatar koddan, 5 qator kod tushunarli bo'lishi mumkin. Sizning kodingizni sizdan tashqari boshlaqalar ham o'qiydi yoki review qiladi, shu sababli ularni vaqtini tejash uchun sodda kod yozishni odat qiling

Yana qandaydir tavsiyalar bo'lsa izohlarda yozib qoldiring.

@adizbek_ergashev
Tez orada...
iPhone 14 Pro Max purple 256 gb sotiladi

🔋 94 %
Chetlarida qirilgan joylari mavjud (yaxshilab qaramasa ko’rinmaydi)

Narxi: 850$
Murojaat uchun: @adizbek
Please open Telegram to view this post
VIEW IN TELEGRAM
Adizbek Ergashev's blog
Jamoamiz bilan birgalikda Toshkent shahridagi Turin politexnika universiteti bo’lib o’tgan Hakatonda 1-o’rin egalladik 🏆
Men qatnashgan birinchi yolg’on va aldamchi hakaton.

Butun respublika bo’yicha ishtirokchilar kelib qatnashdi, o’rin egalladi, vaqt va mablag’ sarfladi

Mukofot Pul berilmas ekan g’oliblarga.

Turin 🔽
UzAvtoMotors 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/02/24 05:57:23
Back to Top
HTML Embed Code: