Mabodo kimdir Abstract Algebra bo'yicha kurs izlayotgan bo'lsa Harvard University tomonidan 2003-yilda yozib olingan mana bu materiallarni tavsiya qilaman (o'zim hozir shu kursdan foydalanayapman):
https://www.youtube.com/playlist?list=PLelIK3uylPMGzHBuR3hLMHrYfMqWWsmx5
P.S. Kimgadir foydasi tegar deb share qildim, baribir dasturlashga kerak emas deb hate qilmanglar ))
https://www.youtube.com/playlist?list=PLelIK3uylPMGzHBuR3hLMHrYfMqWWsmx5
👍22😢3
Engineering Notes
Photo
What is the result of the code above?
Anonymous Quiz
26%
["A", "B", "C", "D"]
19%
["C", "D"]
40%
["D", "C", "B", "A"]
15%
["C", "B", "D"]
👎1
C tilida yozilgan kod assemblyga compile qilinganida assembly kodda qiziq redundency holatlari sodir bo'ladi. Masalan, branching (if statement yoki loop) sabab kelib chiqadigan processor pipelining bilan bog'liq muammolar. Yana bir misol redundant instruction ketma-ketligi (tajribamda ko'rganim, tez-tez bir C statementdagi oxirgi 1-2 ta instruction keyingi statementning boshidagi 1-2 ta instruction bilan teskari (bir-birini bekor qiladigan) bo'lib chiqadi). Xullas, oddiyroq C compilerdan olingan assembly kodni optimize qilib yaxshiniga qo'shimcha performance olsa bo'ladi.
Tepada aytilgan muammolarning ba'zilarini yechish uchun ishlab chiqilgan idealardan xabarim bor (masalan branching bilan bog'liq oddiyroq holatlarni "branchless programming" texnikasi bilan hal qilish mumkin). Meni qiziqtirgani, compilationdan keyin shunga o'xshash ko'p uchraydigan holatlarni alohida optimize qilish uchun hozirda ishlatilayotgan qanday murakkab toollar bor?
Tepada aytilgan muammolarning ba'zilarini yechish uchun ishlab chiqilgan idealardan xabarim bor (masalan branching bilan bog'liq oddiyroq holatlarni "branchless programming" texnikasi bilan hal qilish mumkin). Meni qiziqtirgani, compilationdan keyin shunga o'xshash ko'p uchraydigan holatlarni alohida optimize qilish uchun hozirda ishlatilayotgan qanday murakkab toollar bor?
🍾4👍3
"In theory, theory and practice are the same; in practice, they are not."
© Yogi Berra
© Yogi Berra
😁27👍9
Engineering Notes
Photo
Mana bu yerda to'g'ri javobni topish uchun Pythondagi ba'zi xususiyatlarni tushuna olish talab qilinadi.
1. Python o'zgaruvchi nomlarini qiymatlarga bog'lash uchun reference ishlatadi. Masalan,
2. Bir o'zgaruvchidan ikkinchisiga qiymat olinganida (
3. Pythonda listlar mutable, ya'ni uning qiymatini dastur davomida o'zgartirish mumkin.
4.
Endi kodni bir boshidan ko'rib chiqamiz.
Tepada aytilganidek,
1. Python o'zgaruvchi nomlarini qiymatlarga bog'lash uchun reference ishlatadi. Masalan,
a = 4
bo'lsa Python 4 qiymatli obyekt ochib, "a" variableni shu qiymatga bog'laydi.2. Bir o'zgaruvchidan ikkinchisiga qiymat olinganida (
b = a
) Python yangi obyekt yaratmaydi, balki yangi o'zgaruvchini ham eskisining qiymatiga bog'lab qo'yadi. 3. Pythonda listlar mutable, ya'ni uning qiymatini dastur davomida o'zgartirish mumkin.
4.
del
keywordi obyektni xotiradan o'chirmaydi, faqatgina o'zgaruvchidan obyektga bo'lgan referenceni o'chiradi. Obyektni xotiradan o'chirish faqatgina garbage collectorning ishi.Endi kodni bir boshidan ko'rib chiqamiz.
a = [0, 1, 2]
b = a
a
list ochildi, keyin b
a
dan qiymat oldi. Demak endi a
va b
bitta listga qarab turibdi.b.append(
3)
print(a)
b
o'zgaruvchi qarab turgan listga yangi element qo'shildi. Lekin a
va b
bitta listga qarab turgani uchun ikkalasi ham endi [0, 1, 2, 3]
bo'ldi. Demak birinchi natija [0, 1, 2, 3]
.del a
print(b)
Tepada aytilganidek,
del
bu yerda listni o'chirmayapti, balki shunchaki a
o'zgaruvchini listdan "uzib" qo'yayapti. Demak b
o'zgaruvchiga zarar yetmagan va ikkinchi natja ham [0, 1, 2, 3]
.👍19
Forwarded from Elzodxon Sharofaddinov
O’quv kursi tanlayabganlar uchun:
Nomi wow bo’lgan o’quv markazni emas, u yerda kim dars berishiga va qanday ishlarni amalga oshirganiga qarab ta’lim markazi tanlashni tavsiya qilaman!
Siz uchun checklist berib o’tmoqchiman:
- Dars beryabgan insonni tajribasi va ishlagan loyihalariga qiziqing, qanday muammolarga yechim topgani va bu dasturlarini qancha odam ishlatyabdi?
- 100% mentorlik qilmasligiga e’tibor qarating
- Kurs rejasida, nimalar o’qitilishini aniq qilib oling.
- Kursdagi loyihalar faqat landing page, kalkulyator va shunga o’xshagan loyihalar bo’lsa, u yerda o’qimaslikni tavsiya qilaman.
O’quv markaz toping, mayli u yerda o’qing. Ustoz toping va u sizga har tomonlama yo’l-yo’riq ko’rsata olsin.
Baliq tutishni o’rgatadigan ustoz va joy toping, tayyor tutilgan baliqni yeyishni o’rgatadigan joyni emas. Qanday o’rganish kerakligini o’rgatadigan joyni toping!
Nomi wow bo’lgan o’quv markazni emas, u yerda kim dars berishiga va qanday ishlarni amalga oshirganiga qarab ta’lim markazi tanlashni tavsiya qilaman!
Siz uchun checklist berib o’tmoqchiman:
- Dars beryabgan insonni tajribasi va ishlagan loyihalariga qiziqing, qanday muammolarga yechim topgani va bu dasturlarini qancha odam ishlatyabdi?
- 100% mentorlik qilmasligiga e’tibor qarating
- Kurs rejasida, nimalar o’qitilishini aniq qilib oling.
- Kursdagi loyihalar faqat landing page, kalkulyator va shunga o’xshagan loyihalar bo’lsa, u yerda o’qimaslikni tavsiya qilaman.
O’quv markaz toping, mayli u yerda o’qing. Ustoz toping va u sizga har tomonlama yo’l-yo’riq ko’rsata olsin.
Baliq tutishni o’rgatadigan ustoz va joy toping, tayyor tutilgan baliqni yeyishni o’rgatadigan joyni emas. Qanday o’rganish kerakligini o’rgatadigan joyni toping!
👍13
Engineering Notes
Photo
What is the result of the code above?
Anonymous Quiz
32%
New object created, <class 'MyClass'>
31%
New object created, <class 'function'>
19%
New object created, <class 'NoneType'>
18%
Error
😢3👍2😁1
Engineering Notes
Photo
What is the result of the code above?
Anonymous Quiz
18%
False, False
32%
False, True
30%
True, False
20%
True, True
🍾3👍2😁1😢1
Jahongir akaning mana bu postini o'qib bir holat esimga tushdi. Qisqasi, eskiroq bir servisimizning funksionalligini o'zgartirmagan holda qayta yozib chiqishimiz kerak edi. Yaxshiki, bu servis uchun anchagina testlar yozilgan ekan. Codebaseni boshqa tilga o'tkazmayotganimiz uchun servis funksionalligini tekshirish osonroq bo'lishi kerak: eski servisdagi testlar refactoringdan keyin ham yaxshi o'tsa, demak servis to'g'ri ishlayapti.
Aniqrog'i, boshida shunday o'ylagandik. Lekin keyin savol tug'ildi: aslida funksionallik o'zgarib, lekin testlardan baribir o'tsachi? Ya'ni bizdagi testcaselar kichkina o'zgarishni ham seza oladigan darajada aniqmi? Masalan, bir koddagi
Odatda, dasturchilar kodni test qilishadi. Lekin biz oldin testlarning o'zini test qilishimiz kerak edi. Biroz izlanganimizdan keyin bir jamoadoshimiz mutation test haqida gapirib qoldi (shunday test turi borligini o'sha vaqt bildim). Mutation test bu kodda kichkina o'zgarish (mutation)lar qilib, yozilgan testcaselardan qayta-qayta o'tkazish. Bundan maqsad kodni emas, testcaselarning o'zini tekshirish. Agar testlar yaxshi yozilgan bo'lsa, kod funksionalligi ozgina o'zgarganda ham qaysidir testcase fail bo'lishi kerak. O'zgartirilgan (mutant) kod hamma testlardan o'ta olsa mutation test fail bo'ladi. Dasturchilar natijani analiz qilib, testcaselarni o'zgartirishi, yangi testcase yozishi yoki shunchaki hech narsa qilmasligi mumkin.
Oldik☕️
Aniqrog'i, boshida shunday o'ylagandik. Lekin keyin savol tug'ildi: aslida funksionallik o'zgarib, lekin testlardan baribir o'tsachi? Ya'ni bizdagi testcaselar kichkina o'zgarishni ham seza oladigan darajada aniqmi? Masalan, bir koddagi
if a < b
joyi refactoringda if a <= b
ga o'zgarib ketsa testlarimiz bu o'zgarish sabab fail bo'ladimi yoki o'tkazib yuboradimi?Odatda, dasturchilar kodni test qilishadi. Lekin biz oldin testlarning o'zini test qilishimiz kerak edi. Biroz izlanganimizdan keyin bir jamoadoshimiz mutation test haqida gapirib qoldi (shunday test turi borligini o'sha vaqt bildim). Mutation test bu kodda kichkina o'zgarish (mutation)lar qilib, yozilgan testcaselardan qayta-qayta o'tkazish. Bundan maqsad kodni emas, testcaselarning o'zini tekshirish. Agar testlar yaxshi yozilgan bo'lsa, kod funksionalligi ozgina o'zgarganda ham qaysidir testcase fail bo'lishi kerak. O'zgartirilgan (mutant) kod hamma testlardan o'ta olsa mutation test fail bo'ladi. Dasturchilar natijani analiz qilib, testcaselarni o'zgartirishi, yangi testcase yozishi yoki shunchaki hech narsa qilmasligi mumkin.
Oldik☕️
👍34👎1
Xalq dengizdir, xalq to‘lqindir, xalq kuchdir,
Xalq botnetdir, xalq DDoSdir...
P.S. my.uzbmb.uz sog' bo'lasila✋
Xalq botnetdir, xalq DDoSdir...
P.S. my.uzbmb.uz sog' bo'lasila✋
😁46👍6
Engineering Notes
Xalq dengizdir, xalq to‘lqindir, xalq kuchdir, Xalq botnetdir, xalq DDoSdir... P.S. my.uzbmb.uz sog' bo'lasila✋
Webpage server-side render bo'layapti. O'zi shundoq ham serverda resurs yetmasligini bilib turib yana ortiqcha load qo'shish. Juda qiziq tanlov.
😁12👍1
Yaqinda bir dasturchi bilan gaplashib qoldim. Aytishicha, yaqinda hamma narsa cloudga o'tib ketar ekan. Natijada DevOps, System Engineer va hokazolarga umuman ish qolmas ekan. Xo'sh, o'sha cloudlarni kim qurib, maintain qiladi desam javob bera olmadi. Tushuntirishga harakat qildim, menimcha foydasi bo'lmadi. Sohani chuqurroq o'rganishga yana bir motivatsiya.
👍39🍾7😁3