Programming ∀
Open in Telegram
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Show more1 352
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
1 352
Chet tillarini o'rganish man uchun azobli amaliyot. 2-yildan buyon ruslar bilan ishlasam ham rus tilim yomon. 5 yildan buyon ingliz tilida content olsam ham ingliz tilim yomon. Lekin yangi dasturlash tillarini tezroq o'rganaman ))
1 352
Chet tillarini o'rganish haqida ko'pchilik maslaxat beradi. Shaxsiy rivojlanishga doir yaxshi maslaxatlardan tortib info qalloblarni fantastik so'zlarigacha.
Huddi shunday dasturlash tillarida ham. Birqancha tillarni o'rganish ancha foydali narsa. Yana bir sharti bir biriga qarindosh bo'lmagan tillar. Masalan JS/TS bilasiz. Java C# emas. Aytaylik Elixir, Scala3.
Ohirgi 4-5 kunda aynan bitta muammoni birqancha tillar misolida ko'rib chiqdim.
Eng yaxshi bilganlarimdan tortib umuman judayam tor auditoryaga ega bo'lgan tillargacha. Taxminan 3-4 hil asosdagi tillar. ML, Imperative C familly, cho'loq OO family vaxakazolar.
Vaqt qisqa bo'lsa ham bu narsalarni ko'rib chiqish natijasida noqulayliklar va juda qulayliklarni kashf qildim o'zim uchun.
Undan qizig'i esa bir muammoni yechimiga qaratilgan turli approachlarni ko'rdim. Bu juda qiziq chunki aynan qaysidir til juda kuchli asoslarga ega bo'lsa ham bazi mavzularda zaif ekaniga duch keldim. Yana bazilari esa teskarisi hullas ajoyib hulosalar oldim.
Ushbu amaliyotni dasturlash tillariga sayohat deb nomladim va har 3-4 oyda qaytarib turaman endi )))
1 352
O'zim tushungan haqiqatni aytaymi.
Engineering perespektivada koryera qurishni yoki ishlashni hohlasangiz atrofdagilarni gapiga yoki berayotgan motivatsiyalariga etibor qilmang. Hohlasangiz ham hohlamasangiz ham juda qobilyatli bo'lganingizdayam barbir kamida 5 yil hechnima tushunarsiz bo'ladi.
Bu gaplarni jiddiy aytyabman. Manda 7 yilcha bo'libti dasturlashni boshlaganimga. Haligacha ko'p narsani tushunmayman. Kecha ham boshimni ushlab o'tirgan edim ES Ingest pipelinesni tushunmasdan. Shu sababdan xavotir olmang. Qandaydir boost berishi mumkin bo'lgan narsalar yo'q. Mexnat ko'p bo'lsa natija kattaroq bo'ladi bu asosiy omil.
Kuniga faqat rejadagi darslikni qilib qo'yib, rejadagi taskni qilib qo'yib o'tiraversangiz GPT bilan ham raqobat qilolmaysiz...
1 352
Bundan ancha oldin bir authorning kitobini o'qigan edim.
Oradan ancha vaqt o'tib aynan shu author info qallob ekanini aynan o'sha sohadagi expertlar aytib o'tishdi. Bu degani o'sha soxadagi expertlardan iborat community tomonidan chekkaga chiqarilgan degani ayiblov esa qalloblik.
Kegin shunday hulosaga kelganman.
Olinayotgan har bir ma'lumotni analiz qilish kerak. Imkon qadar sifatli ma'lumot olish kerak. Notog'ri bilim poydevori asosidagi tajriba uzoqqa bormaydi... Poydevorni to'g'irlash uchun esa yoki 0dan yana qurish kerak yoki bo'lmasam ancha og'ir jarayoni boshdan o'tkazish kerak.
Shunday ekan title katta axmiyatga ega emas )) Balki o'sha jamiyat sizni tan olgani axamiyatliroq.
1 352
Shu fikrlarga qo'shimcha o'laroq:
Juda ko'p narsalar osonlashtirishni ko'zlab trashga aylanib qoladi.
Ushbu muammolarni xozirgi tendensiyadagi tillarda ko'rish mumkin.
Xozirgi tendensiyadagi boshqaruv uslublarida ko'rish mumkin.
Hamma teng degan ideologylar hechqachon o'zini oqlamagan. Afsuski biz bunday haqiqatlarni qabul qilishga o'rganmaganmiz. Kimdandir axmoqroq ekanimizni yoki kimdir bizdan aqilliroq ekanini tan olmaymiz ))) Aslida bu bilan ishimiz bo'lmasligi ham kerak lekin tan olmaslik kibrga sabab bo'ladi muammo shunda. Kibrlilar bunini tagini ko'rmaydi. Birkun chakagidan zarba yeydi kegin...
Kitob ochib nimadir o'qish o'rniga video ko'ramiz.
Nima emish ? Videoda sodda tushuntirgan emis...
Biror nasdani tushunmasak darxol so'rashga odam qidiramiz. O'zimiz birorta narsani deep research qilmaymiz.
Nima emish ? Kimdir tushuntirsa osonroq bo'ladi. Uztoz bo'lsa osonroq o'rganaman...
Bunday yondoshuv mashxur ekaniga sabab yondoshuvni asosi oson erishishga qaratilgan.
Maaslan o'sha mashxur gap bor. Self study qilsang o'quv markazlarda o'qigandan tezroq natijaga chiqasan.
Ammo natija nima ? Interviewlarga tayyorlanib engineer bo'lib ishlashmi ?
Engineer titlega ega bo'laturib code yozmay umrini o'tkazishmi ?
Engineer titelini olib soqqa qilishmi ?
Xop mayli biz shunday ecosystemda ekanmiz. Hammasiga rozimiz deylik lekin aynan o'zimiz uchun nimaga ega bo'ldik ? Yoki nimani o'zgartira oldik (Xozir kimdir "O'zing nimaga erishding ? Deb shaxsiyatga o'tadi")
Manimcha vaziyatga ozgina ratsional qarash kerak.
Siz kim bo'lish uchun xarakat qilyabsiz ?
Jamiyatga o'rnak qilib ko'rsatilayotganlardan rostdan o'rnak o'lsa bo'ladimi ?
Nega biroz boshqacha yoki kutilmagan savollardan asablaringiz buzulyabti ?
PS: Yuqoridagi gaplar maqsad va natijaga qaratilgan mavzulardagi mulohazalar edi. Bular orqali hechkim yoki hech qanday joyga tosh otilmagan ))
1 352
Manashu fikrlarni yaxshilab o'ylab ko'rishni qattiq tavsiya qilaman.
PS: Agar kimnidir vaqti bemalolroq bo'lsa aynan shu "Juniorlar uchun maslaxat" degan time intervalni O'zbek tiliga tajrima qilsangiz hursand bo'lar edim.
https://youtu.be/_olSJKagmC4?t=737
1 352
Atayin kimdir misolida aytmadim sababi tanish bilish vaxakazo gaplar bo'lmasin. Bunday insonlarini aytmaganim undaylar yo'q degani emas ))
Xozircha aynan shu mavzuni ko'tardim holos. Sizdan so'rashim mumkin bo'lgan yagona narsa shundaki iltimos shu postni tarqating !
1 352
Yosh va tajriba o'sgani sari qiziq narsalarga guvoh bo'lyabman. Bugun yana shu yaralardan biri yangilandi...
Muammo shundaki ko'p researcherlar, yosh olimlar umuman fan bilan shug'ullanadigan hamkasblarimizda moliyaviy masalada muammolar bor. Ular bizan ancha katta potensialga ega lekin biz kabi daromat qilmasligi mumkin...
Ular qilgan, qilayotgan ishlar qachondir yoki xozir bizlar shug'ullanayotgan narsalarning fundamenti bo'ladi yoki bo'lib ulgurgan.
Unday insonlarning qilayotgan yoki qilgan ishlari yoki bilimlari biz kabi oddiy dasturchilarnikidan ancha ustun yoki ular bazi mavzularda bizdan ancha muncha katta tajriba va bilimga ega.
Ammo bir kam dunyo... Yillab o'z sohasida izlanishlar olib borgan insonlarning bazilari ishsiz.
Bu mavzu sizga qanchalik actual yoki qiziqmas ekanini bilmayman lekin bir narsaga targ'ib qilmoqchi edim. Agar kimga yordam berishni bilmayotgan bo'lsangiz aynan shunaqa insonlarga yordam berishni tavsiya qilaman. Albatta tanlov har kimni o'zida. Ammo moliyaviy muammosi bor aqilli insonlarni ham qo'llash kerak. Sababi ular qiladigan ishlar bizni kelajak.
Ha bilaman xozir oddiy suv yetib bormagan hududlar va u yerdagi qiynalgan ahol nima bo'ladi ? va yana boshqa masalalarni ko'tarishingiz mumkin. Bunga javobim. Exsonlar kam haqdorlar esa ko'p. Tanlov esa o'zingizga bog'liq )))
1 352
AbstractAbstractFactory ni zo'rga hazim qilgan edim.
Ammo subfactories ni ko'rib o'zimga kela olmayabman...1 352
Aynan databaselar mavzusida qarashlarimni o'zgartirib yuborgan contentlar esa quyidagi kanalda:
https://www.youtube.com/@CMUDatabaseGroup
1 352
Man eng yoqtirgan lecturelarimdan biri bu parallel programming. Umuman olganda manashu kanaldagi lecturelarni ko'pi yaxshi distiplinada dars qilishimga katta sababchi bo'lgan...
https://www.youtube.com/watch?v=fhcyQ2wU7Hk&list=PLlb7e2G7aSpTBs1GPt-4UygYxK3bVSyZe
1 352
O'zingiz uchun eng top bo'lgan. Conference, podcast, media contentlarni share qilishiz mumkin. Faqat technical va IT ga aloqador mavzularda.
Top 3 ta yoki N ta.
Network haqida
Application evolution haqida
Good morning
Kelajak Dasturlash tillari (Виталий Брагилевский qilgan hamma speechlar yoqadi)
Bular juda katta dunyoqarash bergan contentlar va bulardan tashqari yana juda ko'plari bor. So'ngi esimda qolganlari va bazida yana ko'p qayta qayta ko'radigan contentlarimni share qildim. Bazilarini 5-6 marotabalab ko'rganman...
PS: Offtopic commentlar o'chiriladi !
1 352
Agar Tillar tarixi rostdan qiziq bo'lsa yuqoridagi 2 manbani o'qishni tavsiya qilaman. Shaxsan manga juda katta dunyoqarash berdi...
1 352
Bu mavzuda quyidagicha uslubni qilaman:
Eng birinchi umumiy tizimni analayze qilaman. Layerlar, ulardagi qilingan approachlar va codebase.
Nega ? Sababi aynan qaysidir qisimda juda katta resource utilization, long processing time vaxakazolar bo'layotgan bo'lishi mumkin. Shu sababdan tizim componentlari va ularni holatini o'rganish asosiy simptomlarni topishga katta yordam beradi. Lekin hali aniq muammolar chiqmadi....
Keyingisi aniq reasonlar qilib olaman. Masalan 3 second response timeni 300~500ms ga tushirib bo'ladigan bo'lsa. Yoki yana boshqa maqsadlar bularni hammasi aniq talablarga aylanadi. Shunda muammolar aniqlashadi.
Bu narsani qanday amalga oshiraman ?
Masalan bizda mavjud mongodb va Falon arxitekturada falon serverda turibti. Mongodb o'zidagi default perfomance bo'yicha xozirgi tizim holati qanday ? Default holatda xozirgi QPS qancha bo'lishi kerak vaxakazoalar...
Shu asosida har bir layerlarda simpthomlar topiladi 🙂
Hullas yuqoridagi ikki bosqich eng birinchi qiladigan ishim. Bu har qanday holatda qilinadi va bu process uchun loyiha masshtabiga qarab N vaqt olaman.
Keyingi masala aniq talablar:
Talablarni tuzar ekanman faqatgina texnik emas balki business momentlarni ham xisobga olish kerak. Shu sababdan birinchi homaki yechimlarni ishlab chiqish. Har bir simpthomni aniqlab unga yechim qilish va business capabilityga mos qilish kerak lekin bazilari faqat technical bo'lishi mumkin. Shu sababdan extimoliy simpthomlarni o'rganib chiqaman va shu asosida list qilaman. Kegin o'zim prioritetlar qo'yaman.
Masalan quyidagi parametrlar bo'lishi mumkin prioritetda:
1. Time
2. Cost
3. Bariers
4. New problem risks
5. Skill & expirence
6. I don't know I don't know.
7. Impact
Yuqoridagi prioritet parametrlari asosida ranking bo'ladi va eng toplarni boshlayman.
Aytaylik web server. Mani holatimda nginx. Hosh optimize uchun nima qilishim mumkin ?
compressing, caching aytalik man bilganlarim. Darhol implementationga o'tish yo'q. Boshqalar qilganlarini ko'rish kerak )) Shu sababdan communitylarga murojat qilaman, stackoverflowdan qarayman vaxakazo. Bunga juda ko'p vaqt sarflamaslik kerak. Shu sabab researchni ma'lum intervalda qilaman. Research qildim va yangi narsa o'rgandim. Tunning... Endi ushbu implementationi ham alohida sub muammo qilaman. Nega ? Ha shunday yechim bor ammo bu manga qanchaga tushishini bilmayman )) Agar aniq ishonadigan narsalarim bo'lmasa yaxshisi alohida muammocha bo'lsin.
App layer, DB hammasi huddi shunday. Birinchi navbatda muammolar -> Hal etish uchun o'zim bilgan yechimlarim -> Boshqalarni yechimlari va man bilmasligimni bilmaydigan yechimlarim. Aynan shunda community va researching katta foyda beradi. Kegin shunga qarab baholash va ranking yana o'zgarishi mumkin. Shu sabab communitylarda qo'rqmasdan axmoqona savollar bo'lsa ham beraverish kerak. Debatlar qilishdan ham qo'rqmaslik kerak...
Manda time, cost va yana boshqa parametrlar asosidagi ma'lumotlar bor ekani. Bussiness bilan gaplashishga yordam beradi. Shu sabab ularning rejasini ham o'rganish kerak. Masalan balki business N oydan kegin katta marketing qilgani sabab traffic 10-15x bo'lib ketar... Balki biror texnik yechimda yuridik masalalar bordir...
Masalan man active bo'lmagan userlar sessiyasini N vaqtdan kegin o'chirib tashlash kerak desam. Ammo qandaydir qonun sabab barcha sessiyalar M vaqt saqlanishi mumkin...
Hullas business bilan sync qilgan holatda eng oson va eng katta impact kutilyotganlaridan boshlayman. Chunki masalan oddiy cache sabab requestlarni kamaytirib 2-3x yutsangiz ham business uchun katta impact bo'lishi mumkin. Bu esa kam impact ammo juda muhim ishlarga nisbatan ko'proq etibor qilishga vaqt ajratishga olib keladi.
Hullas manda biror muammoni yechish uchun yechimlar yo'q ! Yagona yechimni qilish uchun qanday yo'llardan borish va umumiy jarayonlar ketma ketligi bor. Optimizationda eng muhim factor bu Research and Development deb o'ylayman. Ha tajriba sababdan bazi narsalarni bilishingiz va oson hal etishiz mumkin. Ammo sizga notanish muammolar bo'las aniq R&D ga extiyoj sezasiz.
