Programming ∀
1.32K subscribers
142 photos
3 videos
1 file
102 links
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Download Telegram
System design interviewga zadrod bo'lasiz ammo mikkimaus patterni bilmaysiz.

Fikrimcha muammo ustida intensiv ishlash foydaliroq, o'tirib distrubuted systems, highload vaxakazo narsalar haqida alohida ko'rganingiz bilan real muammoga duch kelsangiz hal etolmaysiz.

Bir tanishim aytyabti falon companyda system design interviewda collabarative text editor so'rashgan ekan. U biratlar o'tirib CRDT kashf etishibti. Qiziq tomoni interviewer ham bilmagan bu narsani )) Yani hamma narsa templated: Falon savol beraman A,B,C variantlardan birini javob bersa demak baholasam bo'ladi.

Hullas bunaqa narsalar tiqilib yotibti. System design deb juda ko'p narsani discover qilishdan mano yo'q aynan bir narsani olib qilish kerak. Shuni o'zi juda katta boost beradi, Siz umuman yangi mavzudagi muammoni hal etmoqchi bo'lsangiz tabiyki siz bilishizni ham bilmaydigan narsalar juda ko'p bo'ladi. Qachonki shu muammoga duch kelsangiz kegin o'tirib analoglarni o'rganasiz, kim qanday yechim qilgan nega unaqa qilgan.

Bir narsani ustida intensiv ishlash sizni muammoni ustida intensiv ishlashga o'rgatadi. Qancha murakkab mavzularda ishlasangiz shuncha o'sib borasiz code yozish va talablaringiz ham o'zgaradi.

Oddiy misol xozir umuman parser yozmagan odamga incremental parserlar yozishni aytolmaysiz. Yoki parser combinatorlarni bersangiz dovdirab o'tiradi yoki regex bilan hal etadi.

Shu sababli arxitektura marxitektura haqida juda chuqur nazariy o'ylamasdan murakkabroq muammolarni kod bilan hal etishga xarakat qilish kerak. Shunda kerak joyda algorithm data strukturalarga ham ishiz tushadi fuckup qilgan molxona arxitekturani ham tozalab qo'yxonaga aylantirasiz, nu balki qattiq ter to'ksangiz atomatlashgan ferma qivorarsiz))). Toy projectlarni ham productionga qancha yaqin qilsangiz shuncha yaxshi shunda prod uchun bunaqa code yozish kerak deb ajratmaysiz balki doyim prod ready code yozishni o'rganasiz. Kod ko'paygan sayin esa refactorga extiyoj ham bo'ladi bu esa sizga refactoringni o'rgatadi.
5🔥1
Mikkimauslar o’tirib AI agentlar yozbergan kodlarni qaysibiri tezroq ekani haqida baxs qilyabti Karl.

Qiziqda, oldin ular dasturlash tillarini tezligi ustida baxslashardi. Downgrade evalutsiya bo’lsa buni degradatsiya deymizmi yoki bundan battar termin bormi ?

Bir chekada yaxshi yashayabmiz ekan.
😁4
Programming ∀
System design interviewga zadrod bo'lasiz ammo mikkimaus patterni bilmaysiz. Fikrimcha muammo ustida intensiv ishlash foydaliroq, o'tirib distrubuted systems, highload vaxakazo narsalar haqida alohida ko'rganingiz bilan real muammoga duch kelsangiz hal etolmaysiz.…
Agar rostdan ham norm study qilishni istasangiz resursni bombasidan bor. Buni oldin ham tashlaganman lekin xozir ham eslatish foyda.

The Architecture of Open Source Applications

Bu kitobni nimasi zo'r aytaymi ?

Uyoqda qanaqadir devanniy expert o'tirib to'rtburchak va dumoloqlarga strelkalar bilan ko'rsatib chiqmaydi. Kitobda turli Ochiq kodli katta dasturlar qanday ishlashi haqida yozilgan qisqasi shu arxitekturasi. Ammo etibor beringki kitob bir shaxs tomonidan yozilmagan.

Har bir mavzuni aynan o'sha dasturni avtor, maintainerlari yortib bergan. Har bir mavzu ustida birnechta odamlar ishlagan. Undan tashqari har bir dastur haqida o'qisangiz hammasida juda alohida yondoshilgan uslub mavjud. Masalan bazilar qandaydir aspectlar muhimligi haqida yozgan bo'lsa bazilar biroz tarixni aytishdan boshlagan.

Bu kitob juda zo'r qo'llanma, buning sababi siz biror dasturning qanday qurilganini o'rganar ekansiz, tog'ridan tog'ri kodni ham ochishingiz mumkin chunki bularni hammasi ochiq kodli va kitob ham ochiq ))

Kitobni bir boshidan ohirgacha o'qish shart emas, aynan o'zingizga qiziq dasturlar haqida o'qisangiz ham bo'ladi. Bonusga esa perfomance haqida ham yozilgan kitob bor, ammo bu hali to'liq yakunlanmagan.

Kitobni o'qib ko'p narsadan ilhomlansa, o'rgansa bo'ladi. Eng kayf tomoni source olasiz nimadirlarni o'zgartirib build qilib ko'rishingiz mumkin.
💯642🔥2
Bundan ancha oldin bir odam bilan chatda yozishib qolgan edim. Shunchaki gapimiz qovushib qolgan va u payitda adashmasam AI hype unchalik emasdi.

U odam aytgan gapi: Dasturlashni o'zidan ko'ra biznes ko'proq qiziq shu sababli bu sohadaman va tadbirkorlik koryeramga poydevor quryabman.

Mani savolim: Gonvokod generatsiya qilibmi ?

Jamoada ko'p tajribali odamlar bor reviewlarda doyim ham govnokod devorishmaydi. Biznes uchun qanday kod ekani ham qiziq emas.

Hullas o'sha payitda tushunolmagan edim u odamni mindsetini. Bu narsa paradox masala. Sohada ishlash uchun ham aniq talablar yo'q rostdan ham muhimi ishga kirish uchun kompitensiya bor ekanini ko'rsatish kerak va ish davomida kompitensiya bo'lishi kerak. Hamma joyda bu talablar turlicha va hamma joyga mos kelish ham shart emas. AI bilan interviewdan o'tib ishni ham AI bilan qilishingiz mumkin yoki faqat interviewdan o'tib olib ishni birovlarga qildirsangiz bo'ladi. Ha bular huddiki cheating ammo ishlayabti...

Xozir anashu suxbatni esladim. Chatni qayta o'qiyman deb topolmadim. Ammo endi shu suxbatni eslab u odamni tushunyabmanki biz hammaga boshlang'ich talablar ham qo'ya olmaymiz. Shu sababli filterni contextga bog'lash kerak. Yani nima natija uchun talab qo'yilyabti ?

Agar constraintlar bo'lsa demak requirementlar aniqlash ham oson bo'ladi. Oldinlari nega bizni dasturchilarda enthusiasm o'lik hypedan narisiga o'tishmaydi deb biroz jaxl qilar edim. Ammo endi tushunyabmanki shunchaki hammada prioritet turlicha va buni qabul qilish kerak. Agar ularga nimadir notog'ri ekanini aytsangiz tog'rilashga yordam beraman desangiz-u ular qabul qilmasa. Yaxshisi tinch qo'yish kerak chunki shunchaki turlicha prioritetlar.

Masalan sohada yangiroq hamkasblarga nimadirni aytib bersam yoki tushuntirib bersam ularni bu mavzu haqida research qilmasligi va umuman bu mavzuga boshqa qaytmasligi ham asabimga tegar edi. Chunki biror narsa so'raganida kerak bo'lsa code ham yozberishga batafsil tushuntirishga harakat qilar edim.

Ammo endi tushunyabmanki bu narsa qaysidir manoda ularni prioritetini o'zgartirishga xarakat qilishim ham ekan. Shu sababli ham bunday narsalardan ko'ra aynan biror mavzudagi enthusiastlar bilan nimadir qilish manga ham ko'proq foydali. Chunki ular blan bir kemadamiz. Chegaralar esa doyim yaxshi filterlar qilishga sabab bo'ladi. Masalan kimdir dasturlashda koryera qilish bo'yicha tavsiya so'radimi. Oldin bu mavzuda 2 soat gapirib berar edim erinmasdan. Xozir esa shunchaki nima hohlayotganini so'rayman. Nima istashini bilmasa shunchaki discover qilishini tavsiya etaman. Birov haqida haddan oshiq qayg'urish ham unga nisbatan hurmatsizlikdek yaxshisi option berish kerak. Yoki bo'lmasam bazida force qilasiz agar bu narsa sizga ham bog'liq bo'lsa. Bo'lmasam indamay qo'yaverishlik ham foydali. Haa demak kompyuterni bilasiz debqo'yaman shu yetarli.

Hamma qiziq narsalar siz bir kemada bo'lgan odamlar bilan bo'ladi. Sababi siz nimadir qilasiz va unga share qilasiz uyam nimadir qilganini share qiladi. Bazida uzoq muhokama ketadi yoki tanqid bo'ladi va tog'irlanadi. Bir kemada degani 1:1 mos keladi degani emas shunchaki eng kamida siz aytgan gaplarga savol beradi yana )) yoki tanqid qiladi. Lekin boshqa kemadagi odamga piroritetlarni o'zgartir va bizga o't deyishdan mano yo'q.

Bu narsalarni yaxshi tushunganim turli conflictlar oldini ola boshladi. Agar kimdir xato narsa aytsa unda xato ekanini aytaman lekin qolgan qismi bilan ishim yo'q. Lekin birovni boshqacha piroritet qilgani uchun ayiblashdan foyda yo'q degan fikrga kelyabman. Muhimi uning is ishlari siz bor jamiyaga tasir qilmasin.
4🔥3🤝1
Qisqa izoh bilan.

Dasturlash hamma uchun.
Hammani dasturlashdan maqsadi har xil.

Birovni maqsadi uchun ayiblashdan foyda yo'q. Maqsadining natijasi o'ziga yoki boshqalarga zarar berishi mumkin bo'lsa shuni aytish yetarli.
👏9🔥2
Programming ∀
Hullas RFC balo battarlar bilan hamma joyni standartlashga urunishadi. Ammo kimdir kelib standartlarizga tupurib ketadi. Bu narsa doyim bo'lgan. Shunchalik darajadaki xatto kundalik hayotda ko'p kuzatiladi. Standartlik va nostandartlik tushunchalari shunchalik…
Eyaylar texnalogiyalardan ko'ra ko'proq siyosiy instrumentga aylanib boryabti. Bunday zamonda esa eng muhim narsa sovuqonlikni saqlab qolish.

Korparatsiyalar ko'rsatilyotgan narsalar esa ko'proq marketinga o'xshaydi. Chunki ular oldin ham shunday qilgan va ular allaqachon siyosiy maydonga kirib bo'lishgan. Qiziq bo'lsa o'qib ko'ring: https://en.wikipedia.org/wiki/Corporatocracy

Masalan bunaqa senariyda - Aytaylik qandaydir katta korparatsiya bor va u butun dunyoga dasturiy maxsulotlar yetkazib beradi. Tabiyki bunaqa masshtabdagi kompaniya omma ko'z oldida texnologik lider. Bu amalda bo'lishi ham mumkin sababi resurs ko'p pul ko'p. Endi bu kompaniya o'z productlarini sotishi kerak. Mantiqiy tomondan qarasak albatta uning eng yaxshi reklamasi bu o'zi. Chunki o'zidan katta vendor yo'q. Bu juda ham ayyor strategiya hisoblanadi chunki uni tanqid qilishga qarshi faktlarni topishni o'zi qiyin huddi hammasi tabiy va shunday bo'lishi kerak edi...

Eshmat esa buni ko'radida haa manabu liderlar bunaqa deyabti demak shunday ekan deydi. Bu yerda haqiqat qidirishdan ham aslida mano yo'q sababi bu reja to'liq o'xshasa ham o'xshamas ham reja egalari maqsadiga yetgan bo'ladilar. Albatta hamma o'z maqsadlariga qarab turli narsalardan manfatdor va manfatlar kesishganda raqobatni boshqa bosqichi bo'ladi. Korparatsiyalar odatda kichik va o'rta kompaniyalar bilan raqobat qilmaydilar balki shunchaki egallab oladilar yoki o'zlariga qaram qiladilar. Bunga misol cloud texnalogiyalariga o'tirib qolgan kompaniylar to'laydigan billinglar... Kim amazonga qancha to'laydi ? Faqat amazon emas ammo shu pointdan izlanib ko'ring qiziq bo'lsa.
Biznes ayamaydi. Odatda biznes manfatlari uchun juda ham ko'plab qarorlar qilinadi, bu shunchaki oddiy qarorlar emas balki yetarlicha agressiv yoki bo'lmasam tashqaridan mantiqsiz ko'rinadigan ammo gap tagida gap bor degandek manodagi qarorlar. Misol uchun Yandex express24 va mytaxilarni shunchaki sotib oldi. Ho'sh unga kerakmidi?
Endi tassavur qiling sizni qandaydir AI starupga invest qilgan investorning qanday maqsadlari bo'lishi mumkin. Nu masalan manda investmentga katta pul bo'lsa unda shunchaki investorlik emas balki 2-3 tomonga dallolik ham qilgan bo'lar edim. Sxema juda oddiy masalan cloud computing vendorlaridan biriga distributor bo'lib olaman. Aytaylik AWSga bu degani man aws productlarini sotishim evaziga qanaqadir foyda olishim mumkin.
Ikkinchi qadam esa biror potensial yaxshi startupga investment qilaman. Ammo investing paytida yoki kegin ekskluziv option shifatida yoki shart sifatida aws ga force qilaman. Shunda startup infratuzulmasi awsga o'tadi. Manda investment o'zini olqamasa ham distrubutorlikdan foyda qilgan bo'laman.

Albatta bu bir misol, ammo bunday yo'llar qalashib yotibti. O'ylaymanki sizga reallikning bir parchasini yetkaza oldim.
🔥4
scammerlar ham biladi kimda pul borligini...
🤣24😁3
absolute code

screenga sig'madi daje...
🤣41
Bratwka qattiq ishlayabti ekan.
Blya mikkimaus narsa topib oldim.

https://gitfut.com

Yet another aura farm tool.

10x engineer qivordi mani profilmni 💀
🔥6
😁2
Forwarded from Xinux (bahrom04)
Xinuxʼga birlamchi yangi yorliqlar qoʻshildi

- Super + Chap tugmani bosib, joriy oyna oʻrnini siljitish uchun sichqonchani harakatlantiring
- Super + Oʻng tugmani bosib, joriy oyna oʻlchamini oʻzgartirish uchun sichqonchani harakatlantiring
- Oynani burchaklarga siljitish uchun Super + Chap/Oʻng tugmani bosing
- Super + Shift + Chap/Oʻng tugmani bosish orqali joriy oynani boshqa ish maydoniga siljiting
- Super + e nautilusni ochadi
- Ctrl + Alt + t konsolni ochadi (kgx)
- Super + d barcha ochilgan oynalarni minimallashtiradi

PR: https://git.oss.uzinfocom.uz/xinux/modules/pulls/50
Batafsil inglizcha talqini: help.gnome.org/gnome-help/shell-windows.html
🦄2
Sal qoldi scam bo’lishimga :)
Perfectum ASL 5G Yillik va TV tarifida 2TB dan kegin speed tushib kerar ekan, mazzami ?

Yillik Plus degani bor ekan unda esa speed tushmaydi. Ammo TV yo’q lekin 150k arzonroq :)

Xalqimizda bir maqol bor.
Torrentlar omon bo’lsa tv ham tamom bo’lmaydi.

Tarif rejalar, takliflar doyim yaxshilab o’rganilishi kerak bo’lmasa qayerdadir yebqo’yasiz.
😭5😁3
Yag'ir evaluation
😁6
Adashib vscodeni ochvorgan edim…
fuck my life...
🤣3