Jakhongir Rakhmonov - IT

Description
Software Engineer at Amazon. Dasturchilar uchun foydali ma’lumotlar beraman.

Kurslar: https://skillup.uz/author/jakhongir-rakhmonov

Ikkinchi kanal: @JR_TwitGram

Contact: @jakhonfeedback_bot
Advertising
We recommend to visit

?? O'zbekistondagi N1 Akkaunt Savdo Kanali!

‼️ Eslatma: Kanalimizga Joylanayotgan Akkauntlarning Barchasi Turnirda Yutilgan!

? Kanalga Joylangan Xar Bir Akkauntga "SENATOR" Shaxsan O'zi Javob Beradi!

✍️Admin: @deSENATOR_AKKS ✅ Org ‼

©️SENATOR PUBGM

Last updated 1 year ago

🔔 Reklama: @Edurekadmin


Ta'limda nima yangiliklar?

O'zbekiston ta'lim sferasidagi eng oxirgi va eng dolzarb yangiliklarini aynan shu kanaldan topasiz!

© Kanaldan to'liq yoki qisman ma'lumot olinganda manba ko'rsatilishi shart!

📩 @Edu_murojaatBot

Last updated 1 week, 1 day ago

Kun davomida eng sara va so'nggi yangiliklar tafsiloti bilan YO'L-YO'LAKAY tanishtirib boramiz.

Voqea va hodisaga guvoh bo‘ldingizmi, videolaringizni bizga yuboring: @yyuzbot

Reklama bo‘yicha: @zorzorads

Instagram sahifamiz: https://bit.ly/3wlZDZH

Last updated 5 days, 16 hours ago

hace 3 meses

Agar dasturchilar texnologiyalari O‘zbekistonda ishlab chiqarilganda qanday bo‘lar edi.
Salom, men Qahva tili (☕️) dasturchisiman. Ora-orada Zanglagan tilda (?) ham yozib turaman. Yozgan dasturlarimni odatda Toshkent Bulut Xizmatlari orqali foydalanuvchilarga yetkazaman.

To‘g‘risini aytsam, yozgan dasturlarim ba’zan ishlamay qoladi. Ayniqsa qish vaqtida.

Dasturlarim kattalashib ketsa ularni, KichikXizmatchalarga bo‘lib chiqaman. KichikXizmatchalarning yaxshi tarafi shundaki - har bir KichikXizmatni boshqa dasturlash tilida yozsa bo‘ladi. Xohlasam Ilon tilida (?) , xohlasam Fil tilida (?), xohlasam Borish tilida (?), xohlasam hatto Yig‘ilish tilida yozishim mumkin.

Loyihalarni yaxshi boshqarish maqsadida biz Epchil metodologiyalaridan foydalanamiz. Har kuni ishga kelganimizda “O‘rningizdan Turing” yig‘ilishi bo‘lib o‘tadi va har birimiz qilgan ishlarimiz haqida aytib beramiz.

Biror bir ish qilishdan oldin biz JIRAga kirib Chipta yaratamiz va bu chiptada shu ishni bitirish uchun nima qilish kerakligini yozamiz. Masalan, OrqaTaraf dasturchilari OldiTaraf dasturchilari uchun IDI (Ilova Dasturlash Interfeysi) qilib berishi kerak bo‘lsa hammasini shu chiptada kelishib yozib qo‘yamiz.

Bizning jamoada OrqaTarafni odatda Qahva tili (asosan Bahor Etik frameworkida), Ilon tili (asosan TezIDI frameworkida) va Zanglagan tilda yoziladi. Fil tilini ko‘p ishlatmaymiz, chunki Fil tilida OrqaTarafni himoyalash qiyin vazifa. Bekorga Amazonda bu til taqiqlanmagan.

OldiTarafni esa QahvaSkript tilida yozamiz. Aytib o‘tish joizki QahvaSkript va Qahva boshqa boshqa tillar.

Bizning jamoamiz haqida biror savolingiz bo‘lsa izoh qoldiring va men qo‘ldan kelgancha javob berishga harakat qilaman.

@jakhonrakhmonov

hace 3 meses

Men o’zimni kuchli dasturchi deb hisoblamayman.

Lekin shu darajaga erishishni juda qattiq hohlayman va keyingi bir necha yillarda bunga erishishga harakat qilaman.

Mening fikrimcha men o’zimni kuchli deb hisoblay olishim uchun quyidagilarni qilishim kerak:

  1. Iloji boricha low-level narsalarni tushunish. Computer Hardware ishlashini o’rganish. Assembly va C tillarini o’rganish. O’zimning Operatsion Sistemamni yozib ko’rish. O’zimning interpreter va compilerimni yozib ko’rish.

  2. Ishimni haqiqiy engineeringa asoslangan holda qilish. “E, ishlasa bo’ldida. Kichik xatolar chiqsa hech nima qilmaydi” degan mindsetni chetga qo’yib haqiqiy engineering va mathsga asoslangan uslublardan foydalangan holda ish qilish. Buning uchun o’rganishim mumkin bo’lgan bazi bir narsalar: formal methods, automated reasoning, functional programming (haskell, scala, etc.), maths.

  3. Millionlab foydalanuvchisi bo’lgan loyihaga katta hissa qo’shish.

Ko’ramiz, o’xshaydimi yo’qmi. Lekin aniq harakat qilib ko’ramiz.

@jakhonrakhmonov

hace 3 meses

Salom, mening ismim “Hashing”

Tasavvur qiling, sizda turli xil rangli bloklar bilan to‘la o‘yinchoq qutingiz bor. Aytaylik, siz qutingizdagi blokning har bir rangini ifodalovchi maxsus raqam (masalan, maxfiy kod) yaratmoqchisiz.

Masalan:

Qizil blok ? = 1

Moviy blok ? = 2

Yashil blok ? = 3

Mana shu “hashing” ga misol bo‘la oladi. Ya’ni, biror narsani (masalan, ranglarni yoki so‘zlarni) raqamlarga yoki boshga kodga o‘zgartirish. O‘zgartirish jarayonida siz foydalangan algoritm (qizil bu 1, moviy bu 2 va hokazo) - hashing algoritmi deyiladi.

Ana endi tasavvur qiling, siz bir nechta shunday bloklardan foydalanib devor yasadingiz: ????????. Ushbu devorning bloklarini tepadagi hash algoritmidan o‘tkazsak bizda quyidagicha kod hosil bo‘ladi: 12212333. Bu kodni siz qurilgan devorning “checksum”i yoki “hashsum”i deyishingiz mumkin. Keyin, do‘stingizga qo‘ng‘iroq qilib xuddi shunday devor yasashni so‘radingiz. Siz va do‘stingiz bir xil natijaga erishdingizmi, yo‘qmi bilish uchun do‘stingizdan u qurgan devorning checksumini so‘rashingiz mumkin. Agar ular bir xil bo‘lsa, demak bir xil devor qurgan bo‘lasizlar. Agar har xil bo‘lsa, demak kimdir qayerdadir xatolikka yo‘l qo‘ygan.

Ho‘sh, bu nimaga kerak?

Deylik, siz bir juda katta faylni bir soat davomida yuklab oldingiz. Bu fayl to‘liqligicha yetib keldimi yoki biror bir baytlari tushib qoldimi, qayerdan bilasiz? Agar siz yuklab olgan website fayl bilan birgalikda checksumini ham bergan bo‘lsa, siz yuklab olgan faylingizni checksumini hisoblab solishtirishingiz mumkin. Agar ular bir-biriga to‘g‘ri kelgan bo‘lsa, demak bu fayl aynan siz kutgan fayl. To‘g‘ri kelmasa, demak nimadir noto‘g‘ri ketgan. Yo yuklab olish jarayonida muammo bo‘lgan yoki qandaydir yovuz niyatdagi odamlar faylning ichidagi ma’lumotlarni o‘zgartirib qo‘ygan.

Masalan, siz "Kahogi is the best” degan matnni yuklab olmoqchisiz. Uni MD5 hashlash algoritmidan o‘tkazsak, bizda “c12ad8211ced66b0bcbf1eb2ac981988” ko‘rinishdagi checksum hosil bo‘ladi. Endi kimdir bu matnni ataylab "Kahogi is not the best” deb o‘zgartirib qo‘ydi. Kichik bir o‘zgarish, faqatgina “not” so‘zi qo‘shilgan. Uni MD5 algoritmidan o‘tkazsak, “73cce9498e96c93288fa67eb84357cc1” ko‘rinishidagi checksum hosil bo‘ladi. Umuman boshqa checksum. Siz esa aqllisiz. Birinchi checksumni kelgan checksumga solishtirasiz va “Kahogi is not the best” noto‘g‘ri ekanligini anglab yetasiz.

Salom, mening ismim “Hashing” va bu mening jiyanim “Checksum”. Tanishganimdan xursandman.

@jakhonrakhmonov

hace 5 meses, 2 semanas
**«7 kun ichida Markaziy Osiyo bozorida …

«7 kun ichida Markaziy Osiyo bozorida IT-infratuzilmasini qanday avtonomli qilish mumkin: HWG Sababa keysi»
Sizni 11 iyun, Seshanba kuni IT-infratuzilmasini uzluksiz uzatishni va ma‘lumotlarni avtonomli qilishni qanday amalga oshirishni aytib beradigan bepul vebinarga taklif qilamiz.

Tadbirda bir hafta ichida xorijiy ta‘minotchidan @servercorenews bulutiga ko‘chib o‘tishga muvaffaq bo‘lgan HWG Sababa kompaniyasining keysi ko‘rib chiqiladi.

Bu yerda siz quyidagilarni bilib olasiz:

– Markaziy Osiyoda ma‘lumotlarni saqlash va qayta ishlash bo‘yicha qanday talablarga rioya qilish kerak?
– Bir provayderdan boshqasiga ko‘chish bosqichlari qanday?
– HWG Sababa Servercore yordamida 7 kun ichida O‘zbekiston bozorida IT-infratuzilmasini qanday avtonomli qildi?

Havola orqali vebinarda ro‘yxatdan o‘ting.

hace 5 meses, 3 semanas

Yaxshi dasturchi bo‘lish uchun nima qilish kerak?Yaxshi uy quruvchi bo‘lish uchun nima qilish kerak? Ko‘pgina har xil uy qurish kerak.

Yaxshi shifokor bo‘lish uchun nima qilish kerak? Ko‘pgina har xil bemorlarning qanday davolanganini boshidan o‘tkazishi kerak.

Yaxshi dizayner bo‘lish uchun nima qilish kerak? Ko‘pgina har xil narsalarni dizayn qilish kerak.

Yaxshi dasturchi bo‘lish uchun nima qilish kerak? Ko‘pgina har xil kod yozish kerak.

Meni “Captain Obvious” deb atashingiz mumkin. Lekin shu oddiy narsani ko‘pchilik bilmaydiganga o‘xshaydi, kelayotgan savollarga qaraydigan bo‘lsak.

Siz-chi? Kod yozyapsizmi? Yoki hali ham faqat kitoblar, tutoriallar, postlar o‘qib o‘tiribsizmi?

? Telegram | ?‍? Muallif Kurslari

hace 6 meses, 1 semana

Discord qanday qilib milliardlab xabarlarni saqlay oladi?

Discordning birinchi versiyasi 2015chi yili 2 oyda ishlab chiqilgan va ular o‘sha paytda MongoDBdan foydalanishgan. Sababi MongoDB tezda nimadir qurish/qilish uchun juda ham qulay. Lekin o‘sha yilning oxiriga kelganda va taxminan 100 millionga yaqin xabar MongoDBda saqlanganda, tezlik sekinlashishni boshlagan. Boshqa databasega ko‘chish vaqti kelgan.

Bu yerda PostgreSQL yoki MySQL kabi relational ma’lumotlar bazasi haqida gap bo‘lishi mumkin emas. Gap millionlab xabarlar haqida ketyapti va bu millionlab xabarlarni 1 sekund emas, bir necha millisekundda olib chiqib berish kerak. Relational databaselar shunchaki bunaqa darajada ishlay olmaydi. Ular JOIN qilganicha bir necha sekund o‘tib ketadi. Shuning uchun Discord faqat NoSQL ma’lumotlar bazasiga ko‘cha oladi xolos, xuddi MongoDB kabi. 

NoSQL bazalarning yaxshi tomoni shundaki, ular juda tez ishlaydi. Yomon tarafi shundaki, ular tez ishlashi uchun, ishlatishdan oldin siz qanday ishlatishingizni aniq bilishingiz kerak. Qanaqa querylar bo‘ladi, bazadan o‘qish qanaqa bo‘ladi, yozish qanaqa bo‘ladi va hokazo. Faqatgina shunda NoSQL bazalarni qiynalmasdan ishlata olasiz. Agar siz bu narsalarni bilmasangiz va ma’lumotlar bazangizni noto‘g‘ri dizayn qilib qo‘ysangiz, ancha-muncha qiynalib qolasiz. Chunki hamma narsani bemalol JOIN qila olmaysiz relational databaselarga o‘xshab. Oldindan JOIN qilingan design qilgan bo‘lishingiz kerak.

Discordda esa bunday muammo bo‘lmagan. Ularda tajriba katta, 100 millionga yaqin xabarlarni boshlaridan o‘tkazishgan. Ular qanday read/write patternlar borligini aniq bilishgan:

- Read va write querylar soni deyarli teng: 50/50.

- Voice chat aktiv bo‘lgan serverlarda deyarli xabar yuborilmaydi.

- Shaxsiy serverlarda yiliga 100 mingdan 1 milliongacha xabarlar yuboriladi. Lekin bunday serverlarda foydalanuvchilar soni 100 dan past bo‘lgani uchun yuborilgan xabarlarni hadeb ham o‘qilavermaydi. Bu degani xabarlar cachedan chiqib ketadi. Ularni qayta o‘qish uchun databasega murojaat qilish kerak bo‘ladi.

- Katta public serverlarda tonnalab xabar yuboriladi. Ularda minglab foydalanuvchilar mavjud va ular odatda oxirgi soatda jo‘natilgan xabarlarga qiziqadi xolos. Bu degani o‘sha xabarlar odatda cacheda bo‘ladi degani.

Undan tashqari Discordda “open source bo‘lishi kerak”, “sinovdan o‘tgan bo‘lishi kerak”, “maintain qilish oson bo‘lishi kerak“, “birorta qismi yiqilib tushsa avtomatik tarzda o‘zini o‘zi tuzata olishi kerak” kabi talablar bo‘lgan.

Shularni hisobga olib, ular Cassandra da to‘xtashgan. Bu databaseni Netflix va Apple ham juda aktiv tarzda ishlatganlari uchun Discord qo‘rqmasdan bu qarorni qabul qilgan.

Shunday qilib, millionlab xabarlar va boshqa ma’lumotlarni MongoDBdan Cassandraga ko‘chirib o‘tishgan.

Bunday katta loyihalarda bunaqa katta o‘zgarishni shunchaki qilib bo‘lmaydi. Chunki sinovdan o‘tmaganda. Shuning uchun ham Discord yangi databaseni “shadow mode” da ishga tushirgan. Bu degani ham eski MongiDB ishlab turadi, ham yangi Cassandra ishlaydi. Ha, bir vaqtning o‘zida. Agar yaxshi ishlasa eski MongoDBni o‘chirib qo‘yadi.

Yaxshi ham shadow modeda ishga tushirishgan ekan. Chunki ularni yaxshigina muammolar kutib turgan ekan.

Qolganini keyingi postda davom ettiraman.

Source: https://discord.com/blog/how-discord-stores-billions-of-messages

? Telegram | ?‍? Muallif Kurslari

hace 6 meses, 2 semanas

Eng zo’r dasturchilarning bitta umumiy xislati bor: ular yozgan dokumentlarni, matnlarni o’qib odam maza qiladi.

They are world-class writers.

Shunday ekan, dasturchining darajasini aniqlamoqchi bo’lsangiz, u yozgan kodga emas, yozgan matniga qarang.

@jakhonrakhmonov

hace 6 meses, 2 semanas

O’zingiz solishtirib ko’ring.

“Djangoda blog sayt va internet magazin yasaganman” deyish yaxshiroq eshitiladimi? Yoki “O’zimning Django, flasklarga o’xshagan frameworkimni yozganman. Boshqa dasturchilar uchun” deyish yaxshiroq eshitiladimi?

Menimcha javobi ochiq oydin.

Birinchisi tayyor frameworkni olib, databasega ulab chiqishni talab qiladi. Huddi kleydan foydalanib tayyor qismlarni yopishtirib chiqishga o’xshaydi

Ikkinchisi esa dasturlash tilini tubdan bilishni va hamma qismlarni boshqatdan yozib chiqishni talab qiladi.

Hozirgi zamonda esa aynan ikkinchi toifadagi dasturchilarga talab ko’proq.

Shu toifadagi dasturchi bo’ling: https://skillup.uz/courses/2

Aytganday, narxi hozir chegirmada. 2 kunda o’z narxiga qaytib qoladi.

@jakhonrakhmonov

hace 6 meses, 3 semanas

Shoshiling! ?‍♂️****

Jahongir Rahmonovning Building Your Own Python Web Framework kurslari Toshkent vaqti bilan 22:00gacha 33.3% chegirma bilan sotib olishingiz mumkin.

O'tkazgan streamimiz bo'yicha javob berilmay qolgan savollarni guruh chatiga yozishingiz mumkin: @skillup_chat

Kurs sotib olish jarayonida, platformada yuz bergan xatoliklar bo'yicha muammolarni bot orqali jo'natishingiz mumkin: @SkillupSupportBot

Platforma bo'yicha yangiliklarni ushbu kanalimizdan kuzatib borishingiz mumkin:

@skillup_channel

Stay tuned ?

hace 8 meses

Birinchi ishingizni topishda qiynalyapsizmi?

Ish topish uchun eng muhim narsa - tajriba. Lekin har qanday tajriba emas. Muhimi, sizda borligini isbotlay oladigan, arziydigan tajriba.

Sizda qandaydir tajriba borligini qanday isbotlaysiz? Open Source loyihalarga contribution qilasiz.

Open Source loyihalarni qayerdan topasiz? https://up-for-grabs.net/ saytidan.

Shu saytda har qanday texnologiyalar uchun contribution qidirayotgan loyihalar ro’yxati mavjud. O’zim shu saytdan 2ta Django loyihalar topganman va ularga 10ga yaqin Pull Requestlar yuborganman. Eng zo’r tarafi beginnerlar uchun ham talab yetarlicha.

@jakhonrakhmonov

We recommend to visit

?? O'zbekistondagi N1 Akkaunt Savdo Kanali!

‼️ Eslatma: Kanalimizga Joylanayotgan Akkauntlarning Barchasi Turnirda Yutilgan!

? Kanalga Joylangan Xar Bir Akkauntga "SENATOR" Shaxsan O'zi Javob Beradi!

✍️Admin: @deSENATOR_AKKS ✅ Org ‼

©️SENATOR PUBGM

Last updated 1 year ago

🔔 Reklama: @Edurekadmin


Ta'limda nima yangiliklar?

O'zbekiston ta'lim sferasidagi eng oxirgi va eng dolzarb yangiliklarini aynan shu kanaldan topasiz!

© Kanaldan to'liq yoki qisman ma'lumot olinganda manba ko'rsatilishi shart!

📩 @Edu_murojaatBot

Last updated 1 week, 1 day ago

Kun davomida eng sara va so'nggi yangiliklar tafsiloti bilan YO'L-YO'LAKAY tanishtirib boramiz.

Voqea va hodisaga guvoh bo‘ldingizmi, videolaringizni bizga yuboring: @yyuzbot

Reklama bo‘yicha: @zorzorads

Instagram sahifamiz: https://bit.ly/3wlZDZH

Last updated 5 days, 16 hours ago