Engineering Notes
2.46K subscribers
137 photos
5 files
208 links
Kanalda asosan backend engineeringga oid postlar yozib boriladi.

Ba'zi postlarda xatoliklar bor.
Postlar foydali bo’lgan bo’lsa adminni duo qilib qo’ying. Rahmat.

Contact: @Bobosher_Musurmonov
LinkedIn: https://www.linkedin.com/in/bobosher-musurmonov
Download Telegram
Alohida holatda bir elementining xususiyatlarini oldindan taxmin qilib bo'lmaydigan millionlab elementlardan iborat sistema kollektiv tarzda ishlaganida juda sodda va oldindan taxmin qilsa bo'ladigan xarakteristika ko'rsatishi bu shunchaki mo'jiza. Biz ehtimollik deb ataydigan xususiyat juda katta sonlar ustida ishlaganida bizga tepadagi holatni tushuntirishi mumkin bo'lgan kam sonli qurollarimizdan biriga aylanadi.

Hech qiziqib ko'rganmisiz, nega issiq narsaning ustiga sovuq narsa qo'ysangiz birozdan keyin ikkalasidagi harorat bir-biriga yaqinlashadi? Issig'idan sovug'iga issiqlik energiyasi o'tadi deysizmi? Unda nega sovug'idan issig'iga o'tmaydi? Xo'p, termodinamik balans sabab. Lekin nega o'zi termodinamik balans saqlanishi kerak? Sovuq obyektdan issiq obyektga issiqlik o'tmasligini nimadir to'sib turadimi?

Javob – yo'q. Umuman olganda, sovuq jismdan issig'iga energiya o'tishi mumkin. Faqat buning ehtimoli shunchalik kam-ki, buni hech qachon ko'rmaymiz. Qanchalik kam? Buni maktabda o'rgatiladigan oddiy binomal koeffitsientlar yordamida hisoblab chiqish mumkin. Natija normal distribution – "bell curve" shaklida bo'ladi, faqat diskret ko'rinishda. Obyektdagi atomlar soni oshgani sari grafigimiz gorizontal torayib, ya'ni "ingichkalashib" boraveradi. Biz kundalik ishlatadigan obyektlarda kamida 10 ^ 22 ta atom borligini hisobga olsak, grafik shu darajada "ingichkalashib" ketadi-ki, bitta vertikal chiziqqa aylanib qoladi. Ya'ni ikkala jismdagi harorat 100% ga juda-juda yaqin ehtimol bilan biz termodinamik balans deb ataydigan nuqtada to'xtaydi.

P.S. Bu bo'yicha kvant fizikasiga aloqador qilib jiddiyroq post yozmoqchi edim, lekin xato ma'lumot berib qo'yishdan qo'rqdim. Hali o'zim ham yaxshi tushunmaydigan narsalar...

@boboshersnotes
👍14😁1
How *not* to be consistent on Leetcode
👍20😁5
Bugun biroz vaqt ajratib telegramdagi o'zbek tilidagi biror texnologiyaga oid communitylardagi savollarga qarab chiqdim. Aksariyat savollarda umuman ma'no yo'q. Savol yozgan odam nima qilayotganini o'zi ham bilmaydi. Aksariyat savollar matni shu darajada didsizlik bilan yozilgan-ki, o'qiging kelmaydi.

Bu bilan kimningdir ustidan kulmoqchi emasman. Aytmoqchi bo'lganim, ko'pchilik aytayotgan "O'zbekistonda dasturchilar ko'payib ketdi" dagan gapga qo'shilmayman. Dasturchilar haliyam juda kam. Qolgani yaxshi dasturchi bo'lishni hatto xohlamaydigan* yigit-qizlar. Xuddi oliy ta'limdagidek: Talabalar soni bir necha baravar ko'paygan bo'lsa ham sifatli kadrlar soni juda oshib ketgani yo'q. Shunchaki diplomi borlar ko'paydi.
👍39🍾4
Engineering Notes
Bugun biroz vaqt ajratib telegramdagi o'zbek tilidagi biror texnologiyaga oid communitylardagi savollarga qarab chiqdim. Aksariyat savollarda umuman ma'no yo'q. Savol yozgan odam nima qilayotganini o'zi ham bilmaydi. Aksariyat savollar matni shu darajada didsizlik…
Men o'zimni kuchli dasturchi deb hisoblamayman, lekin tepada aytilgan holatni yaxshilash uchun bir-ikkita o'ta oddiy tavsiyalarim bor.

1. Dasturlash sohasini ilm-fan deb qabul qiling. Dasturlash 6 oylik kursda yodlab, keyin har kuni takrorlaydigan ish emas. Ilm-fan yodlashni emas, tushunishni va fikrlashni talab qiladi. Biz foydalanuvchilar emas, balki yangilik qiluvchi, quruvchilarmiz.

2. Fundamental bilimlarga e'tibor qarating. Djangoni, Reactni yoki Flutterni o'rgangan odam dasturchi bo'lib qolmaydi. Algoritmlar, komputer arxitekturasi, tarmoqlar va hokazolarni o'rganish framework o'rganishdan ko'ra sizga ko'proq narsa beradi. Va albatta, matematika (frontendchi bo'lsangiz ham). Ayniqsa, calculus, linear algebra, discrete math kabi bo'limlardan yaxshi xabardor bo'lmasdan turib yaxshi dasturchi bo'lmoqchi bo'lsangiz chuchvarani xom sanabsiz. Matematika kerak emas deydiganlar uchun bir kinoda murabbiyning bolalarga aytgan gapi bo'lardi: "Agar uyda dadangiz golib yoki mag'lublik hech narsani hal qilmaydi degan bo'lsa unda u mag'lublardan biri".

3. To'g'ri odamga ergashing. Aksariyat holatda har hafta ko'zni qamashtiradigan reklamalarda chiqadigan dasturchilardan ko'ra sohaga ancha oldin kirib, past-balandini ko'rgan, lekin ijtimoiy tarmoqlarda ko'p aktiv bo'lmagan tajribali dasturchilardan ko'p narsani o'rgansangiz bo'ladi. Ustoz Saidolim aka men bilgan shunday tajribali insonlardan biri.

4. Ustozlarni hurmat qiling. Ularning maslahati va vaqti qimmat turadi, shunga yarasha munosabatda bo'ling. Gap faqat vaqt va maslahatda ham emas, umuman, ilmli inson sifatida hurmat qiling. Bo'lmasa kosangiz oqarmaydi ))

5. O'rganish uchun to'g'ri resurs tanlang. Youtubedagi 2 soatlik tutorialdan ko'p narsa o'rgana olmaysiz. Sohaga oid kitoblar, dokumentatsiya, ilmiy maqolalarni o'qing. Yaxshi mutaxassislarning bloglarini kuzatib boring, podcastlarini eshiting. Kitob yoki dokumentatsiya o'qish yoqmayaptimi? Unda haligi zo'r ish, katta maoshdan ham umidni uzavering. Jon kuydirmasang... deyishadi-ku.

6. Ko'proq savol so'rang va javob toping. Chuqurroq kirib ko'rishdan qo'rqmang. "Buyog'i juniorga kerak emas" degan narsa yo'q. Natijada boshida biror narsani o'rganish uchun ko'proq vaqt ketsa-da, keyinchalik bu vaqt keragidan ortiq darajada o'zini oqlaydi.

7. Imkoni bo'lsa universitetda o'qing. Yaxshi universitet hech qaysi kursda olib bo'lmaydigan tajriba va imkoniyatlar beradi.

P.S. Bular sohaga yangi kirganlar o'rasida men eng ko'p ko'rgan xatolarga yechimlar. Aslida, har biri haqida alohida post yozish mumkin.

@boboshersnotes
👍62
Yaqinda ICPC yarim finalida tushgan kutilmagan kreativ savol:

Sizga a va b sonlari berilgan (abs(a), abs(b) <= 10 ^ 18). 0 dan 9 gacha raqamlar, "+", "-" va "*" belgilari qatnashgan va uzunligi 1000 ta belgidan oshmagan shunday ifoda tuzing-ki, uni chapdan o'ngga o'qib evaluate qilinganida natija a, o'ngdan chapga o'qib evaluate qilinganida natija b chiqsin. Masalan, a=40 va b = 17 bo'lsa, "33 + 12 - 5" ifoda natijasi chapdan o'ngga o'qilganida a, o'ngdan chapga o'qilganida b chiqadi.

Updated
👍22
Menda hozir Robert C. Martin(Uncle Bob)ning "Clean Code" kitobi bekor turibdi. O'tgan yili Amazondan order qilgandim, hali yap-yangidek. Shuni dasturlash sohasiga oid biror kitobga almashmoqchiman. Sizda sohaga oid biror yaxshi kitob bo'lsa va "Clean Code"ga almashmoqchi bo'lsangiz kommentda yozib qoldirishingiz mumkin.
👍18
Yaqinda universitet kutubxonasiga olib kelishibdi.
👍40🍾9
Ishqilib, biror programmist yaqinda Humodan borib Uzcardga qo'shilmadimikan? Uzcard Humoga o'xshab ishlashni boshladi.
😁70
O'rtoq junior Javachilar, Java compiled tilligini o'rganibsiz, zo'r. Faqat Python interpreted deb ustidan kulishdan oldin kodingizni command lineda qanday compile qilib, run qilishniyam o'rganib qo'yinglar-da, faqat "Run" buttonni bosmasdan.

P.S. Keyin faqat IntelliJda "commit and push" qilib, resumega skillar orasiga gitni qo'shishgayam sal uyalinglar, baraka topgurlar.
😁91👍14👎1
👍8
Charchagan yoki zerikkan paytda ko'radigan foydali kontent izlayotgandim, mana shu playlist yoqdi:

https://youtube.com/playlist?list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH&si=vb0NnXRunkTITMXx
👍16🍾4😢3
#tavsiya #offtopic

Oxirgi 2 yil ichida asosan Hamkorbank va OFB xizmatlaridan ko'p foydalandim. Ikkalasidayam 2 ta jiddiy muammoga duch keldim:

– Xalqaro kartalar. Ayniqsa xalqaro kartadan Uzcard/Humoga o'tmazmalar juda bosh og'riqli. Karta ochayotganingizda operatorlar "bemalol o'tkazsa bo'ladi" deyishadi, faqat "lekin" degan joylari ko'p. Ayniqsa Hamkorbankda bu juda ko'p faktorlarga bog'liq: milliy karta qaysi bankniki, xalqaro karta Visami yoki Mastercard, qaysi tarifda, physical yoki virtual, ... hatto ba'zi servislardan foydalanish uchun karta ochilgan bank filialiga borishimga to'g'ri kelgan. Bularning konversiya logikasi Slackning notification jo'natish logikasidan ham murakkabroq bo'lsa kerak ))

– Mobile app. Ayniqsa OFBda mobile app juda sifatsiz. Imkoniyatlari kam va buglarga to'la.

Qisqasi, 2-3 oy oldin NBUga o'tdim. Shu vaqt ichida anchagina servislardan foydalanib ko'rdim va hali birorta muammo chiqmadi. Xalqaro kartalar bilan ishlash rostdan ham oson. Plus, mobile app ham ancha sifatli va shaxsan men uchun qulay.
Hammasi yaxshi, faqat support biroz muammo ekan: call centerdan javob olish uchun aaaancha vaqt kutishimga to'g'ri keldi.
Qisqasi, tavsuyu.
👍15👎1
Qozon shahriga, "Kelajak o'yinlari"ga keldik. Juda katta tayyorgarlik ko'rishibdi.
👍36
Candy shop
👍34🍾6😁5
Engineering Notes
Candy shop
Qozon shahridagi oddiy savdo markazidagi brendsiz kitob do'koni. Bizda Amazondan zakaz qilib 1 oy kutish kerak. Alam qiladi😂
😁14👍5
Kecha GoFda tushgan qiziq savol:

O'nlik (decimal) raqamlardan tashkil topgan, uzunligi 3000 bo'lgan string berilgan. Raqamlar orasiga 2 ta "–" (minus) belgisini (hax qil o'rinlarga) shunday qo'yish kerak-ki, hosil bo'lgan expression natijasi shu usulda hosil qilish mumkin bo'lgan eng kichik nomanfiy qiymatga ega bo'lsin.

Masalan, "1234" stringni 12-3-4, 1-23-4 yoki 1-2-34 expressionlarga o'tkazish mumkin. Bularning orasida eng kichik nomanfiy natija 5. Faqat misolda string uzunligi 4 emas 3000 ))

Time limit 1 sekund, ya'ni 10 ^ 9 tadan kamroq operation bajarish mumkin.
👍19