Programming ∀
Open in Telegram
Ushbu kanalda IT va Dasturlashga aloqador mavzularda subyektiv fikrlarimni bayon qilaman.
Show more1 217
Subscribers
No data24 hours
-87 days
-3530 days
Posts Archive
1 217
Ancha complex tizimlar uchun ELKda zo'r yechimlar bor ekan. Masalan barcha agentlardan yeg'ilgan datani kafkaga yuboramiz. Bunaqa yechiming zo'r tomoni synchronization problemlardan ancha qutqaradi.
Bir marotaba shunday holat bo'ldi. Beat systemda interval juda kichik bo'lgan. Shuni xisobiga 2ta muammo chiqdi.
1. Elastic server spam bo'ldi.
2. Agent juda katta resurs sarf qila boshladi.
Yuqoridagi yechimda esa biz barcha datani kafkaga yuborsak. SPAM bo'lgan taqdirda ham Kafkani scale qilamiz...
Bu orqali birqancha ko'rsatkichlar oshadi.
1. Durability
2. High availability
3. Flout tolerance (Sababi kafkada streamni taqsimlab logstashga yuborsak bo'ladi oqibatda logstashga load doyimiy meyorida bo'ladi)
4. Persistence
1 217
Mehnat kodeksiga yangi band qo'shishni va yuqoridagi kabi ish qilganlarni shu kodeksga ko'ra jinoyi jazoga tortishni taklif qilaman !
1 217
Kimga shunaqa qiziq-qiziq macbook yoki apple kompyuterlari kerak bo'lsa marhamat, bemalol kanalga o'tivurasiz😅
Hazilmas Appleda shunaqa Maclar ham bor ekan
Lekin bu kanalda arzonroqlari bor. Dasturchilar puli yetsin deganmiz.
Hammaga maslahat beraman. Biz orqali borganlarga "skidka" qiberisharkan😊
Kanalga o'tish:
https://t.me/uzmacbook
1 217
Repost from Aleph Nought
Eski rasmlar ichidan topib oldim. Bir nimalar esimga tushib ketti.
2 yil avval NASM (assembler) ni o'rganib chiqqan edim. Assemblerda nimadir yozish muhim emas. Asosiysi OS ning parda ortida qanday ishlashiga qiziqadiganlar uchun qiziq bo'ladi deb o'ylayman.
O'sha paytda o'zimcha yangi dasturlash tilini ham yozib ko'rgamman. Albatta assemblerda emas) Go tilida yozgan edim. Qiziqadiganlar uchun "Writing A Compiler In Go" kitobini tavsiya qilaman. Shuningdek kitobning interpreter yozish versiyasi ham bor. Yangi til yozish ham muhim emas. Muhimi uni yozish paytida dasturlash tillarining qanday ishlashini o'rganish mumkin.
Tag'n bilmadim
1 217
Ikkinchi bo'lim bo'yicha ma'lum contextni tog'irlab ketish kerak.
Yuqoridagi adress prostranstvo uchun yana bir narsa memory address translation va memory address table degan anrsalar kerak. Address transalation aynan address tablega qarab physical memoryga load qiladi. Shu sababdan 8093 addressga murojat bo'lganida realdagi addressga link bo'ladi.
Address table soddaroq ko'rinishda hash tablega o'xshab ketadi...
1 217
Muammo'ni ko'rib chiqadigan bo'lsak, osha paytlardagi 4096 so'z ga teng memorylik komputerni olsak, bu memory os ga ham softlarga ham berilgan shunda dasturchilarda muammo tug'iladi ular yozgan programma prosto sig'dirish qiyin bo'lib qoladi masalan ma'lum bir sekin ishlaydigan algorithm yo'zishga to'g'ri keladi bundan tez ishlaydigani sig'magani uchun, osha paytlar bu narsaga ham yechim bo'lgan "yordamchi disklar" yani dasturni qismlarga bo'lib memoryga load qilish lekin bu yechimdagi muammo vaqt va noqulaylik bo'lgan chunki dasturchi osha yordamchi disklarni to'g'ri organize qilishi kerak bo'lgan qo'lida (ruslar etgandek ruchnoy).
Shunda osha virtual memory o'ylab topiladi adashmasam uni asosiy maqsadi masalan osha oddiy xolatda siz 4096 dan kotta yoki kichik address qidirayotganingizni tekshirishga majbursiz chunki 0 - 4095 gacham bo'lgan adress prostranstvosini ishlata olardiz, shunda virtual memory xolatida esa siz masalan 8093 addressni ishlatsangiz u realda 303 (4096 dan kichik) addressdan foydalanadi shuna qilib siz etgan N-GB memory bilan biror narsa qilsa bo'lingan, VR haqida tshunganim shu bo'ldi
© @aliWayWeb
1 217
Fanda Virtual memory to physical memory degan tushuncha bor. Umuman olganda bu juda qiziq narsa.
Agar sizda ham Manda bor yo'g'i N-GB memory bor ammo shu kichik memory bilan ham ancha narsalar barobar ishlab turaveradi qanaqasiga desangiz. Aynan virtual memory haqida o'qishni tavsiya qilaman.
PS: Hulosalarni izohlarda qoldirsangiz discussion qilamiz 🙂
https://blogs.vmware.com/vsphere/2020/03/how-is-virtual-memory-translated-to-physical-memory.html
1 217
Fikrlaydigan mavjudodlar uchun esa. Alohida tanqidiy fikrlash degan yo'nalish mavjud 😎
1 217
Bunday deyishimga sabab.
Ishda ham turli bilim tajribaga ega xamkasblar bilan ishlaymiz. Ishda juda ko'p tanqid bo'ladi. Masalan falon narsa notog'ri deyiladi effective emas yoki keskinroq tanqid bo'lishi mumkin. Ammo bu ish tanqid qabul qilinadi. Ikkita holat bo'ladi.
1. Tanqid qilinadi tog'irlash aytiladi.(Code reviewlarda juda ko'p bo'ladi bunaqa narsa)
2. Tanqid qilinadi yechim atiladi ammo bu bonusga. Tanqidni o'zi aslida yechimni korsatadi tagini ko'tarsa :)
Endi eskluziv versiya bor. Tanqid qilingani tanqid qilinadi kerak bo'lsa.
Maqsad bir narsaga kelishish. Hissiyotlariga ergashib fikrlaydigan romeolar esa bunaqa vaziyatda portlab ketadi.
Tanqid bilan ishlash alohida softskill va must have. Hali hayotizda ancha tanqidlar bo'ladi 🙂
PS: Potolokka qarab yozilgan bitiklar turkumidan...
1 217
Q&A bug reportlar bersa yechim so'ramaysizku 😂
Bu ishni xazillashib ham qilmang mobodoga. Ularni ham asablari chatoq anchagina 🙃
1 217
Professionalismga teskari odat.
Aynan bizni jamiyatda quyidagi muammoni kuzataman:
Biror kishi biror narsaga fikr bildirsa va ushbu fikr ommaning fikriga qaramaqarshi yoki tanqidiy bo'lsa. Jamiyat tomonidan suniy ravishta chetga chiqarish yoki qandaydur psixologik bosimlar bo'ladi :)
1. Birinchi shaxsiyatga o'tiladi 😁 Masalan biror yoshroq inson o'z dunyo qarashini bayon qilsa. Hali yoshsan... dan boshlanadi.
2. Sen o'zi nimaga erishgansan ?
3. Odamlar nima deydi ? Bunday narsani boshqa gapirma.
4. Yaqinlardan keladigan comment: Bu gapni manga aytding boshqalarga ayma...
5. Bizni mentalitetga tog'ri kelmaydi bunday fikrlash yoki uslub :) (Aytgancha mentalitet o'zi nima degani ? Kegin bundagi chegaralar qayergacha ? Maslan soch turmagi ham mentatiletda belgilanganmi ? Ahir erkak kishi ham soch o'stirishi mumkin 😁 Bu bilan u hezalak bo'lib qolmaydi.... Tarixni o'qib chiqing mobodoga)
6. Fikrni to'laqonli eshitmasdan hulosa qilib rad qilish :)
7. Fikrga qarshi fikr bo'lganida tarixni kavlashtirib tarixdagi xatoliklarni yuziga solish. Ayniqsa bu juda qo'l keladi vaziyatdan chiqib ketishga. Shu orqali shaxsiyatni qoralanadi. Yemagan chirigan strategiya ammo negadir shu chirigan narsa bizni O'zbekistonda haligacha ishlab kelmoqda.
8. Tanqid, qarshi fikrlar bergan shaxsiyatga ayiblovlar.
9. Radikalizmda ayiblash 🤯
Endi boshqa qiziq savolni aytmoqchiman. Masalan man dasturchiman. Biror dasturni ishlab chiqdim va mijozlar tanqid qildi. Aytaylik UI noqulay. Yoki falon nara sekin ishlaydi. Yoki app trash.
Nima uchun yoki Qanday qilib yoki sabablarni so'rashim mumkin. Ammo mijozdan yoki tashqaridagi insondan yaxshilash uchun yechim so'rashim CRINGE Karl san shu productning authorisan falon pulga hodim ishlatyabsan. Ularni professional deb nomlagansan. Ammo yechimni ulardan emas clientdan yoki seni tanqid qilgan insondan so'rashing ABSURT 😊 O'z ustingda ishla Karl hayot shunda nok bo'ladi !
1 217
Operating systems, networking, digital computing, computing systems kabi mavzularda sodda tilda oson tushuntirilgan kitoblarni topish kerak.
Man negadur uzunroq kitoblar yuborsam o'quvchilar uchun murakkablik qilyabti ekan. Demak soddaroqlarini topib shularni share qilish kerak. Boshlang'ich juniorlar ham tushuna olishi uchun.
1 217
Yuqoridagi gaplar Haskell va Rustda yozadiganlarga unchalik tegishli emas. Sababi aynan shu tillarda yuqoridagi mavzularga katta etibor qilingan 😁
1 217
Yuqoridagi gapni torroq tushunib qolmaslik uchun. Aytaylik siz sevib foydalanadigan dasturlash tilida qurilan dasturni. Har qanday muhitda ishlata olasizmi ?
Apple M1 processorlarni ARM architectureda chiqardi. Kegin nima bo'ldi ? Hamma Macbook foydalanuvchilarida turli dasturiy mahsulotlarda muammolar yuzaga keldi. Kegin virtalizatsiya va alohida supportlar bilan vaziyat ancha yaxshilandi. Lekin hozirgacha muammolar bo'ladi ARM architecture bilan :)
1 217
Biz dastur ishlayotganini isbotlay olmaymizAuthor esimda yo'q ammo computer scienceda aynan shunday gap bor. Yuqoridagi mavzu aynan nima uchun hozirgacha dasturlash tillari rivojlanib kelayotganiga eng katta sabab bo'lsa kerak. Shu o'rinda software quality rivojlanishiga ham.
1 217
Yandex eatsda upaydan pul yechgan. Ammo buyurma bekor qilinib pulni qaytarib berishmadi... Buyurtma kelmadi va to'lov qilingan pul orqaga qaytmadi :(
Sherigimni shunday tushurishdi chekni ko'rsatsa ishonmagan. Aniq nima qilish kerak ekanini aytmagan.
Xozir tushunganmimiz yandexdagilar prosto uxlatib yuborgan...
Shunaqa holatga duch kelganlar bormi ?
PS: Yandex sizni arzimagan pulingizga zor emas deydiganlar uchun... Nega unda bunday vaziyatda operativ ishlanmayabti ? Degan savolni bergan bo'lar edim.
PSS: Aynan shunday masalalarda qanday yuridik choralar ko'rsa bo'ladi ? Gap arzimagan pulda emas balki ko'rsatilayotgan xizmatda. Agar bunday narsaga ko'z yumilsa tizimdagi xatolik yoki boshqa sabablar bo'lsa ham clientlarga nohaqliklar ko'ayaveradi :)
1 217
Mening fikrimcha Dasturchining fikrlashiga misollar:
1. Tasosif tasodifan bo'lmaydi...
2. Muammoda qaysi aspectlar qolib ketyabti...
3. Ushbu yechimni tadbiq qilish uchun nimalar to'siq bo'lyabti ?
4. Ushbu yechimda aynan qaysi aspectlar qorong'u ?
5. Qayerdan boshlash kerak ?
6. Nimaga aynan o'sha yerdan boshlash kerak ?
7. Yechim qanday qismlardan yoki stepardan iborat.
8. Nimaga aynan shu steplar ?
Savollar ancha template based ko'rinadi ammo juda effective.
1. Tasodiflarga ishonmaslik sovuqqonlik bilan shoshmasdan fikrlashga yordam beradi. Aniqlik darajasini oshiradi.
2. Bir tomonlama firlamaslik uchun boshqa tomonlarni tahlil qilish juda foydali. Bu muammoga complex yondoshuvda juda kerak.
3. To'siq va chegarlarni aniqlash muammo ko'lamini belgilab shunga yarasha yechim qilishni. Over engineeringdan qochishga yordam beradi.
4. Yechimga talablar qo'yishda aynan qanday aspectlarni cover qilish kerak ekanini belgilash maqsadli ravishta universalroq yechimlar qilishga va meyoridagi complexroq sifatli yechimlar qilishda katta yordam beradi.
5. Qayerdan boshlash kerak degan narsa aynan kalavani uchini topishda va juda qattiq deep dive qilmaslikga sabab bo'ladi.
6. Muammo va uning yechimining boshlangich nuqtasi eng murakkab muammolarda ham Research and development processni tog'ri yo'lga qo'yishda va barcha stagelarni belgilashda juda asqotadi.
7. Yechimga steplarni qo'yish aniq strategik yechimlarni tadib qilishda yordam beradi. Strategik yehchimlar esa uzoq muddatli yani ko'p vaqt oladigan research and development process narxini arzonlashtiradi.
8. Steplarni tanqid qilish qaytadan barcha processni taxlil qilishga va ikki tomonlama review qilshga sabab bo'ladi. Bu orqali to'liq processni izohlash mumkin.
PS: Sizda qanday firklar bor ?
PSS: Potolokga qarab yozilgan gaplar turkumidan...
1 217
Endi juniorlik paytimda tushunmagan va hechkim shunday bo'lish kerak ekanini o'sha paytlar manga aytmagan toifa.
Yaxshi bilim oladi, erinmasdan o'rganadi va o'ziga vaqt ajratadi yani o'z o'zini promote qiladi...
Oradan vaqt o'tib biror kompaniyadan junior yoki intern sifatida uni ma'lum shartlar asosida promote oladi. Yana o'zini promote qiladi. Ma'lum vaqtlar o'tib boshqalarni ham promote qilishni boshlaydi. Bilganini share qiladi, maqola, kitob yana boshqa ko'rinishda yoki qandaydur loyihalar ko'rinishida :) Biror joyga borganida esa aniq ayta oladi kompaniyaga qanday impact berishi mumkin ekanini :) Yoki kompaniya aniqlay oladi...
