cookie

ما از کوکی‌ها برای بهبود تجربه مرور شما استفاده می‌کنیم. با کلیک کردن بر روی «پذیرش همه»، شما با استفاده از کوکی‌ها موافقت می‌کنید.

avatar

Akhmadiy | Devanniy Expert | Logs

Ushbu kanalda IT va Dasturlashga aloqador mavzularda subyektiv fikrlarimni bayon qilaman.

نمایش بیشتر
پست‌های تبلیغاتی
1 226
مشترکین
-124 ساعت
-67 روز
-630 روز

در حال بارگیری داده...

معدل نمو المشتركين

در حال بارگیری داده...

Photo unavailableShow in Telegram
LOL
نمایش همه...
🤔 4🤯 2
Bazi o'nlab man tanigan odamlardan boshqa hammangizga 2 baho. Tassavur qiling interviewda shunaqa savol berilsa nima qilasiz ? Endi bu gaplarimdan kegin biroz bo'lsa ham sohasiga qiziquvchilar GPT bilan bo'lsa ham qilib ko'radi. Qolganlar esa ikkichiligicha qoladi ! ~300 view bo'libti. Shularni yarmini olib tashlasak. Masalan uje bilimi yaxshilar va umuman tushunmaganlar. 150ta ikkichi bor ekan kanalimda 🙂
نمایش همه...
👎 8👍 1
IQ darajasini programmer darajasi deb bilsangiz bo'ladi va real hayotdagi kabi 3 levelga bo'lib olishingiz mumkin. Hohlasangiz 2ta level qiling ))
نمایش همه...
Endi programmer va manager uchun tasklarni assign qiladigan funksiya yozib ko'ring. Manager uchun shunchaki asssign qilsin va javob qaytarsin. Programmer uchun esa IQ darajasiga qarab assign qilsin. Demak birinchi navbatda sizga Task degan tip ham kerak bo'lar ekan.
نمایش همه...
Bu joyda Algebric so'zidan qo'rqishingiz shart emas. Qarang qanchalik sodda va oson. Muhim nuqta sizda aniq input va outputlar mavjud. Mazza emasmi ? Sizni customerlarga task beruvchi dasturingizda ham aniq tiplar bo'ladi va qaysi tipdagi customer ekaniga qarab aniq biror funksiyalar ishlaydi. DDD misoliga ham mos keladi. Shu o'rinda har bir tipga smart constructorlar qilasiz. Tushunishga ham oson.
نمایش همه...
👍 3
Algebric effectlar mayli. Eng qizig'i shundaki Algebric data types uje bizni hayotimizga kirib kelib bo'lgan. Masalan typescriptdati Union tiplarni olaylik.


type Programmer = {
   status: 'worker';
   iq: number;
};

type Manger = {
   status: 'worker';
};

type Customer = Programmer | Manager;

Shu ham ADT. Buning foydasi nima bilasizmi ? Agar shunday qilmasangiz o'ylab ko'ring nima qilar edingiz. Albatta optional field qilasiz.


type Customer = {
   status: 'worker';
   iq?: number;
}
Endi bizga aynan qaysi customer kelganini doyim teshirib IQ darajasiga qarab task berishimiz kerak. Bunaqa holatda invariantlar juda ko'p bo'lsa bosh og'riqlar ham ko'p bo'ladi. ADT bilan biz ivariantlarni ham boshqara olamiz. Masalan bizni customer aniq Programmer yoki Manager. Agar yangi tip masalan DevOps qo'shilsa. Yangi tip yasaymiz tamam.
نمایش همه...
👍 9
Endi asosiy jarayonga o'tamiz. Eng muhimi bu davomiylik. Masalan har N vaqtda takrorlanishi shart. Demak yolg'iz qolishingiz mumkin bo'lgan vaqtni tanlashingiz kerak. Bazilar tartibsiz yoki shoshilib o'rganishadi. Ularning fikriga ko'ra bu tabiy bo'lishi kerak. Bu fikrlar va uslubni o'zimda sinab ko'rganman va manda ishlamagan. Balki rostdan ham natija berishi mumkindir. Ammo manda bu uslub yemagan )) Aynan qanday vaqtda o'qish kerak degan narsa esa insonga bog'liq. Muhimi yolg'izlikda bo'lgani afzal. Man uchun ertalab qulay asosiy sababi miyya zoriqmagan bo'ladi. Kegin ko'pincha kechga uchrashuvlar va boshqa shaxsiy masalalar chiqib qolaveradi. Shu sabab eng yaxshi vaqt man uchun ertalab. Biz yog'izlikda N vaqt ajratib o'qish kerakligini o'rgandik. Endi aniqlashtirish kerak. Muhimi uzoq vaqt o'qish emas davomiy o'qish, o'rganish va amaliyot. Shu sababdan manda learning va work processlar juda ham katta farq qilmaydi. Sessiyalar - Odatda biror narsani o'rganishda sessiyalar qilib olaman. Masalan har kuni 4 soat learning uchun ajratdimmi demak 2 soatdan bo'lib olaman. Qachondir shu 2 soat esa 30 daqiqa bo'lgan chunki 2 soat full focusda o'tirolmas edim. Shu sababdan 30 daqiqali sessiyadan boshaganman. Kegin 5 daqiqa dam olaman. 2 soatlik sessiyadan kegin esa 15 daqiqa dam olaman. Kegin keyingi sessiya. Ha buni Lex Fridman routinedan chopganman 😁 Huddi shunday narsani ishda ham qilishga xarakat qilaman. Ammo ishxonada chalg'itadigan faktorlar ko'p. Asosan learningda bu juda zo'r foyda beradi. Demak ertalab kamida 2-4 soat yani bitta sessiya doyimiy learning qilishim kerak. Bu aynan yangi nimadir o'rganish uchun ajratilgan vaqt. Bu vaqt unumidor bo'lishi uchun hamma narsani chopaman. Man bo'lmasam ham zarar bo'lmaydigan hamma narsani rad qilaman, choyxona, ishxona, uchrashuvlar vaxakazolar. Odatda 4 soatlik learning uchun vaqtlar mos kelmasligi yoki bo'lmasa birdan 4 soat bo'lmasligi mumkin. Sababi ish kunlarida 10:00 da ishxonaga borsam. Learning uchun 4:30-5:00 da uyg'onish kerak. Shu sababdan ertalab 1ta sessiya qilishim mumkin yoki 1.5 sessiya. Ish kunlari odatda full focus learning uchun eng kamida 2 soat ajrataman va yuqorida aytganimday buni davomiy ushlashga xarakat qilaman. 2 soat bir mavzuni o'rgandim deylik. Endi uning amaliyot qismi bo'lishi kerak. Amaliyot odatda 4-8 soat bo'lib ketadi yoki undan ko'p. Shu sabab kun davomida o'rgangan narsamni qayerlardadir ishlataveraman va shu haqida o'ylayverman. Bekor qolsam, yo'lda yoki shunchaki bekorchilikda shu mavzuni mustaxkamlashni xarakatida bo'laman. Kattaroq mavzularni esa sessiyalar davomida o'rganib amaliyot qilaman. Masalan bazi mavzudagi mavzuchalar ham katta bo'ladi. Masalan oddiy curry mavzusi ham 2-3 ta lectureda o'rganilsa ham yaxshi tushunishga juda ko'p vaqt ketishi mumkin. Shu sabab vaqtga qarab takrorlab va practice qilib yuraveraman. O'rganish mavzusida asosiy urg'u sessiyalarga qaratildi. Endi navbat amaliyotga. Manda amaliyot juda ham tartibli emas. Odatda learning paytida ham amaliyot qilishga xarakat qilaman. Ammo sal kattaroq mavzu bo'lsa to'liq kirishmayman. Shu sababdan amaliyot uchun quyidagi vaqt oraliqlarini ajratib olganman. 1. Ertalab darsdan kegin yana vaqtim bo'lsa amaliyotlarga o'taman. Tushunganim darajasini tasdiqlaydigan hamma narsalarni qilaman. 2. Kun bo'yi o'rgangan mavzuyim, yoki o'rganayotgan mavzularim yuzasidan suxbat qilaman aynan kimdirlar bilan. Bazisa 3. Kechga ishdan kegin yengil amaliyotlar va tajribalar qilaman. Masalan turli code examplelar, expirementlar vaxakazolar.
نمایش همه...
👍 5 1
Agar asosan amaliy o'rganish kerak bo'lgan narsalar bo'lsa. Ko'proq code yozishga xarakat qilaveraman. Biror narsa yozib ko'raman, huddi o'sha muammoning yechimini esa boshqa alternativlar bilan qilib ko'raman. Hullas expirementlar ustiga expirementlar bo'lib ketaveradi. Shunchaki qo'l kelishishi uchun code yozish emas balki turli vaziyatlarda aynan o'sha yechim qanday qo'l kelishini ko'rish, o'rganish. Qandaydir mavzuni deep o'qishdan ko'ra biror codebaseni tog'irlash muammo ustida ishlash ko'proq foyda beradi bazida. Shu sababdan amaliyotdan qo'rqmayman va muammoga turli yechim izlab turlicha sharoyitda tadbiq qilib ko'raveraman. Code samplelar real hayotga qo'llanmasligi mumkin shu sababdan foo, bar, baz larni real domainlarga o'giraman. Hullas qayerdadir aynan o'sha yechim kerak bo'lsa birdaniga shuni taklif qilay. Aynan shu narsa tabiy bo'lishi uchun juda ko'p simulation qilaman. Qisqasi biror yangi narsa man uchun intuitiv darajada osonlashmagunicha qilaveraman. Bu biror general mavzualarda juda qo'l keladi. Shu bahona huddi o'sha narsa boshqa muhitlarda ham ishlayverishini taminlay olaman. Kimdir buni algorithm deydi kimdir yana nimadir. Qisqasi biror narsadan maqsadni tushunish uchun o'sha narsani tarixdan boshlab kelaman, ha velosapetni qayta ixtro qilaman 🙂 Har qanday mavzuda boshqalar yechimini ko'rib chiqaman. Imkon boricha ko'proq yechim ko'rish kerak. Biror mavzuni kimgadir tushuntirishga, share qilishga uyalmayman, qizg'onmayman. Sababi aynan o'sha mavzudan man bermagan savollarni boshqasi berishi mumkin. Buni kayf tomoni biror mavzuga man 3 ta savol bergan bo'lsam va boshqalarga tushuntirganimda yana 2 ta unical savol bo'lsa umumiy shu mavzudan 5 ta savol bo'ladi. Hullas intensiv o'rgangan narsamni intentsiv, turli sharoit va muhitlarda tadbiq qilishim kerak. Bazi narsalarni tadbiq qilish uchun oylab-yillab vaqt ketishi mumkin. Ammo imkon qadar barchasini yodda tutib o'sha payt kelishini sabir bilan kutman va payti kelganda qilib ko'rib kayf qilaman.
نمایش همه...
👍 10