Savol: Maktabda ikkinchi yo uchinchi sinfda 0 ga bo'lish mumkin emasligini o'rganganmiz. Lekin aynan nima sababdan mumkin emas?
Fikrlaringizni commentda qoldiring. Biror kun har bir javobni birga analiz qilishga harakat qilib ko'ramiz.
Fikrlaringizni commentda qoldiring. Biror kun har bir javobni birga analiz qilishga harakat qilib ko'ramiz.
👍3
Instance attributeni private qilib belgilab yana unga public getter/setter yozib qo'yib shuni encapsulation deb ataydiganlarga hali beri tushuna olmasam kerak.
😁4
Funksiya yozishdan maqsad nima?
Dasturlash sohasiga yaqinda kirib kelgan kamida 4 kishidan (har xil o'quv markazlarda o'qishadi/o'qishgan, self-study qilgani ham bor) funksiya yozishdan asosiy maqsad nima deb so'raganimda deyarli birga xil javob oldim – bir kodni qayta-qayta yozish (duplicate code) ning oldini olish uchun.
Umuman olganda, funksiya duplicate code'dan qutulishning yaxshi usuli. Lekin funksiyalardan foydalanishdan asosiy maqsad (va funksiyalar kelib chiqishiga asl sabab ham) funksional dekompozitsiya va abstraksiya.
Oramizda o'quv markazlarida ishlaydiganlar bo'lsa shunga o'xshash fundamental tushunchalarni berishda biroz ehtiyot bo'lishni tavsiya qilaman. Ertaga chiqadigan mutaxassislarning o'sish potensiali ko'proq sizga bog'liq.
Dasturlash sohasiga yaqinda kirib kelgan kamida 4 kishidan (har xil o'quv markazlarda o'qishadi/o'qishgan, self-study qilgani ham bor) funksiya yozishdan asosiy maqsad nima deb so'raganimda deyarli birga xil javob oldim – bir kodni qayta-qayta yozish (duplicate code) ning oldini olish uchun.
Umuman olganda, funksiya duplicate code'dan qutulishning yaxshi usuli. Lekin funksiyalardan foydalanishdan asosiy maqsad (va funksiyalar kelib chiqishiga asl sabab ham) funksional dekompozitsiya va abstraksiya.
Oramizda o'quv markazlarida ishlaydiganlar bo'lsa shunga o'xshash fundamental tushunchalarni berishda biroz ehtiyot bo'lishni tavsiya qilaman. Ertaga chiqadigan mutaxassislarning o'sish potensiali ko'proq sizga bog'liq.
👍21
Engineering Notes
Instance attributeni private qilib belgilab yana unga public getter/setter yozib qo'yib shuni encapsulation deb ataydiganlarga hali beri tushuna olmasam kerak.
Mana bu postga ancha qiziq va foydali commentlar yozilibdi.
Tepada aytilgan holatda, ya'ni private fieldlarga public getter/setter yozilganda encapsulation to'liq buziladi degandim.
Yo'q, aynan shu narsaga ehtiyoj tug'iladigan va encapsulationni buzmaydigan holatlar bor ekan (masalan, custom access validation).
Encapsulation mavzusida chuqurroq izlanishga sabab topildi. Fikr bildirgan va to'g'rilaganlarga rahmat.
Tepada aytilgan holatda, ya'ni private fieldlarga public getter/setter yozilganda encapsulation to'liq buziladi degandim.
Yo'q, aynan shu narsaga ehtiyoj tug'iladigan va encapsulationni buzmaydigan holatlar bor ekan (masalan, custom access validation).
Encapsulation mavzusida chuqurroq izlanishga sabab topildi. Fikr bildirgan va to'g'rilaganlarga rahmat.
👍13
Quote of the day:
Premature optimization is the root of all evil.
© Donald Knuth
Premature optimization is the root of all evil.
© Donald Knuth
👍19
Dasturlashda nega odatda indekslash 1 emas 0-tartibdan boshlanishining kelib chiqish tarixiga qiziqib ko'rganmisiz?
Ba'zida yaxshi ishlab turgan katta tizimlarda ham yillar davomida katta muammolar yashirib yotadi va kichkinagina o'zgarish muammoni ochib, butun aysbergni ko'rsatadi. 6 yil oldin Cloudflareda ham xuddi shunga o'xshash vaziyat bo'lgan.
Hali o'qimagan bo'lsangiz qanday qilib parserdagi kichkina bug o'ta xavfli data leak'ka sabab bo'lgani haqidagi Cloudflarening texnik postini o'qib ko'rishni tavsiya qilaman.
https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/
Hali o'qimagan bo'lsangiz qanday qilib parserdagi kichkina bug o'ta xavfli data leak'ka sabab bo'lgani haqidagi Cloudflarening texnik postini o'qib ko'rishni tavsiya qilaman.
https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/
The Cloudflare Blog
Incident report on memory leak caused by Cloudflare parser bug
Last Friday, Tavis Ormandy from Google’s Project Zero contacted Cloudflare to report a security problem with our edge servers. He was seeing corrupted web pages being returned by some HTTP requests run through Cloudflare.
👍13
Forwarded from Azim Pulat
JPRQ 2.0 - endi tezroq va xavfsiz.
Hakatonda yutish uchun eng muhim faktor - tezlik. JPRQ bilan endi loyihalaringizni bir qator kod bilan onlayn qilishingiz mumkin.
Backend va frontendni oson ulay olish imkoniyati beradi. Alexa/GoogleHome/Discord uchun dasturlar yaratishni osonlashtiradi.
Rasperry Pi kompyuteringizga masofadan SSH qilish uchun ham JPRQdan foydalanishingiz mumkin.
Xullas, imkoniyatlari faqat tasavvuringiz bilan chegaralangan.
🔗 jprq.io
🔗 github.com/azimjohn/jprq
Hakatonda yutish uchun eng muhim faktor - tezlik. JPRQ bilan endi loyihalaringizni bir qator kod bilan onlayn qilishingiz mumkin.
Backend va frontendni oson ulay olish imkoniyati beradi. Alexa/GoogleHome/Discord uchun dasturlar yaratishni osonlashtiradi.
Rasperry Pi kompyuteringizga masofadan SSH qilish uchun ham JPRQdan foydalanishingiz mumkin.
Xullas, imkoniyatlari faqat tasavvuringiz bilan chegaralangan.
🔗 jprq.io
🔗 github.com/azimjohn/jprq
👍21🍾5
Dasturchilarga kerak bo'ladigan oddiy lekin qiziq toollarga idealar bo'lsa commentda qoldiring.
👍3
Forwarded from Programming ∀
Multiprogramming haqida yozilgan maqola. Eng qizig'i 1978 yil yozilgan. Yanayam qiziq tomoni esa ana o'sha paytda bunday texnalogiyalarni implement qilish xaqida multi taskling haqida izlanishlar avjida bo'lgani 😅.
Mani yanayam qiziqtirgani o'sha payitlarda devicelar qanday bo'lgan ))) kb yoki mb storage )) CPU esa multi core bo'lmaganham bo'lsa kerak.
Science bizdan ancha oldinda ))
Mani yanayam qiziqtirgani o'sha payitlarda devicelar qanday bo'lgan ))) kb yoki mb storage )) CPU esa multi core bo'lmaganham bo'lsa kerak.
Science bizdan ancha oldinda ))
Programming ∀
Multiprogramming haqida yozilgan maqola. Eng qizig'i 1978 yil yozilgan. Yanayam qiziq tomoni esa ana o'sha paytda bunday texnalogiyalarni implement qilish xaqida multi taskling haqida izlanishlar avjida bo'lgani 😅. Mani yanayam qiziqtirgani o'sha payitlarda…
Umuman olganda, parallel programming 2004-2005 yillardan boshlab amaliyotda keng qo'llanilishni boshlagan. Bunga sabab aynan o'sha yillarda CPU clock speed o'sishdan to'xtab, clock speed bo'yicha Moore's law buzilgan. Clock speed o'sishdan to'xtashiga sabab esa CPU power density juda yuqori bo'lgani va buyog'iga klassik Dennard scaling ish bermasligi bo'lgan.
2004-yilgacha performance engineeringda bir oltin qoida bo'lgan – dastur sekin ishlasa optimizatsiya qilmay shunchaki 2-3 yil kutib tur. Bu vaqtda yetarlicha kuchli komputerlar ishlab chiqiladi. Clock speed o'sishdan to'xtagani sabab bu usul endi ish bermaydigan bo'ldi. Endi yangi usullarga ehtiyoj tug'iladi. Ana shu vaqtda 80-yillardan beri faqat ilmiy maqolalarda va kichik tajribalarda eslab kelingan parallel programming hammaning e'tiboriga tushadi va eng yaxshi yechimlardan biri bo'lib chiqib, juda tez ommalashadi.
Source: MIT OCW 6.172
2004-yilgacha performance engineeringda bir oltin qoida bo'lgan – dastur sekin ishlasa optimizatsiya qilmay shunchaki 2-3 yil kutib tur. Bu vaqtda yetarlicha kuchli komputerlar ishlab chiqiladi. Clock speed o'sishdan to'xtagani sabab bu usul endi ish bermaydigan bo'ldi. Endi yangi usullarga ehtiyoj tug'iladi. Ana shu vaqtda 80-yillardan beri faqat ilmiy maqolalarda va kichik tajribalarda eslab kelingan parallel programming hammaning e'tiboriga tushadi va eng yaxshi yechimlardan biri bo'lib chiqib, juda tez ommalashadi.
Source: MIT OCW 6.172
👍16
Savol: Compiled language va interpreted language ishlashi jihatdan bir-biridan qanday farq qiladi?
P.S. Bilaman, kanalda ma'lumotdan ko'ra savollar ko'payib ketdi.
P.S. Bilaman, kanalda ma'lumotdan ko'ra savollar ko'payib ketdi.
Engineering Notes
Savol: Compiled language va interpreted language ishlashi jihatdan bir-biridan qanday farq qiladi? P.S. Bilaman, kanalda ma'lumotdan ko'ra savollar ko'payib ketdi.
Ba'zi javoblarga nisbatan qisqacha fikrlarim:
1. Interpreter qatorma-qator o'qib execute qiladi.
Bu fikrga unchalik qo'shilmayman (aytgancha, bu eng keng tarqalgan javob bo'lsa kerak). Agar interpreter kodni qatorma-qator o'qib execute qilganida masalan, 32-qatorda syntax error bo'lsa avval 31 qatorni execute qilib, keyin error chiqarishi kerek edi, aslida esa hali kod execute bo'lmasdan syntax error chiqadi (interactive console boshqa masala).
2. Interpreter o'rtada VM codega o'tkazib oladi.
Bu fikrga ham qo'shila olmayman. Sababi, ko'pchilik compiled languagelar ham VM ishlatadi (masalan Java). Execution uchun VMdan foydalanishga asosiy sabab esa bilishimcha tilni osonroq cross-platform qilish.
1. Interpreter qatorma-qator o'qib execute qiladi.
Bu fikrga unchalik qo'shilmayman (aytgancha, bu eng keng tarqalgan javob bo'lsa kerak). Agar interpreter kodni qatorma-qator o'qib execute qilganida masalan, 32-qatorda syntax error bo'lsa avval 31 qatorni execute qilib, keyin error chiqarishi kerek edi, aslida esa hali kod execute bo'lmasdan syntax error chiqadi (interactive console boshqa masala).
2. Interpreter o'rtada VM codega o'tkazib oladi.
Bu fikrga ham qo'shila olmayman. Sababi, ko'pchilik compiled languagelar ham VM ishlatadi (masalan Java). Execution uchun VMdan foydalanishga asosiy sabab esa bilishimcha tilni osonroq cross-platform qilish.
👍2👎1
Forwarded from Aleph Nought
Telegraph
Interpreter, Compiler
Engineering Notes da qiziqarli postga ko'zim tushdi. Qo'shimcha qmoqchiman. Lubboy dasturlash tilini yasash 2 ta bosqichda amalga oshadi: Frontend va Backend. (Da, til yasashdayam frontend i bekend bor, bu kulgilimas). Qattadr CS so'zini ko'rsela bu Computer…
👍5👎4
"Object-oriented programming is an exceptionally bad idea which could only have originated in California."
© Edsger Dijkstra
© Edsger Dijkstra
👍14👎3
Muxlisa va MohirAI jamoalari orasidagi vaziyatni kuzatib borayapman. Foydalanuvchi sifatida men sog'lom raqobat tarafdoriman. Shaxsiyatga o'tish, kommentda bir-birining ustiga mag'zava ag'darishga har qanday holatda ham qarshiman (qaysi tomon haq bo'lsa ham).
Adashmasam, ertaga Uzinfocom ofisida ko'rishib gaplashib olishga kelishishdi. Oradagi ziddiyat tugab, yaxshi yangiliklar chiqishiga umid qilaman.
Adashmasam, ertaga Uzinfocom ofisida ko'rishib gaplashib olishga kelishishdi. Oradagi ziddiyat tugab, yaxshi yangiliklar chiqishiga umid qilaman.
👍33😁1