Engineering Notes
https://medium.com/@yonatanzunger/advanced-python-achieving-high-performance-with-code-generation-796b177ec79
Rust:
Types are static and predefined in the compile time, values are immutable.
Python:
Datatype of your variable can change during runtime. Who tf needs static typing? You know what, let's change the source code during runtime.
Types are static and predefined in the compile time, values are immutable.
Python:
Datatype of your variable can change during runtime. Who tf needs static typing? You know what, let's change the source code during runtime.
😁17😢2
Forwarded from Competitive Programming Uz
Ana endi rasman: Mardon Hazratov Xalqaro Informatika Olimpiadasi 🥉 Bronza medali sohibi.
Bu 🇺🇿 O'zbekiston uchun IOI tarixida 3-bronza medali bo'ldi.
Tabriklaymiz 🎉
🧑💻 @cp_uz
Bu 🇺🇿 O'zbekiston uchun IOI tarixida 3-bronza medali bo'ldi.
Tabriklaymiz 🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾27👍12
P vs NP problem haqida ko'pchilik bilsa kerak, bilmaydiganlar bo'lsa shu joyida to'xtab, o'rganib kelsangiz bo'ladi. Ko'pchilik P=NP ekanini isbotlash faqat RSAga o'xshash assimmetrik kriptografiyani buzishga yordam beradi deb o'ylaydi. Aslida esa RSAni buzish shunchaki xamir uchidan patir.
Biror masala NP bo'lishi uchun uni deterministic approachda polynomial vaqtda yecha oladigan algoritmni bilmasligimiz, lekin potensial yechim berilsa yechim to'g'ri yoki noto'g'riligini polynomial vaqtda tekshirib ko'ra olishimiz kerak. Ya'ni NP masalalar qaysidir P ("oson") masalaning "teskarisi". Masalan, tub ko'paytuvchilarga ajratish (prime factorization) NP masala. Deylik, 4187 sonini tub ko'paytuvchilarga ajratish "qiyin", lekin 53 va 79 berilsa rostdan ham ularning ko'paytmasi 4187 bo'lishini oson aniqlay olamiz.
Demak bizda shunaqa funksiya borki, unga NP masala javobi input sifatida berilsa u to'g'ri yoki noto'g'ri ekanini polynomial vaqtda ayta oladi. "Switching Circuit Theory" (O'tkazgich sxemalari nazariyasi)ga ko'ra agar input uzunligi chekli deb olinsa bu turdagi har qanday funksiyani "AND", "OR", "NOT"ga o'xshash mantiqiy bloklar kombinatsiyasi (sxema) sifatida tasvirlash mumkin.
NP-complete savollar orasida Satisfiability problem (qanoatlantirish masalasi) nomli masala bor. Deylik, sizda bir qancha mantiqiy o'zgaruvchilar va mantiqiy operatorlardan iborat mantiqiy ifoda bor. Masala sharti, o'zgaruvchilarga qanday qiymat berilsa umumiy ifoda True (Rost) qiymatga ega bo'lishini topish.
Biz tepada aytgan mantiqiy bloklar kombinatsiyasini ham mantiqiy ifoda sifatida yozsak bo'ladi. Faqat har bir mantiqiy operator qanday ishlashi kerakligini qoidalar shaklida kiritish uchun yana qo'shimcha ifodalar qo'shish kerak bo'ladi (masalan, AND bloki faqat ikkala input ham true bo'lganida true natija qaytaradi). Natijada SAT masalasining xususiy ko'rinishi, CIRCUIT-SATga ega bo'lamiz.
Xo'sh, CIRCUIT-SAT nima qila oladi? Unga ma'lum natija berilsa shu natijaga erishish uchun mantiqiy sxemaga qanday input kiritish kerakligini aniqlay oladi. Har qanday chekli matematik funksiyani mantiqiy sxema sifatida tasvirlashimiz mumkinligini eslasak, demak u har qanday funksiyadan ma'lum bir natijani olish uchun unga qanday qiymat(lar) berish kerakligini aniqlay oladi. Ya'ni u har qanday funksiyani "orqaga qaytara oladi". Har qanday shifr, har qanday ma'lumotni qayta ishlash farqi yo'q. Funksiyaning o'zi deterministik bo'lsa bo'ldi.
Qisqa qilib aytganda, P=NP ekanini isbotlash bizga har qanday algoritmni tezda "orqaga qaytarish" imkoniyatini beradi. Lekin hali isbotlay olganimiz yo'q. Bu degani, bizda hozir ham har qanday funksiyani "orqaga qaytara oladigan" algoritmlarimiz bor, lekin ular hozircha juda sekin ishlaydi. Masalan, RSAda ishlatiladigan 2 ta 200 xonali atrofidagi sonlarni ko'paytirishni "orqaga qaytarish" uchun hozirgi algoritmlarga yuzlab yoki minglab yillar vaqt kerak bo'ladi.
P.S. Mavzuni chuqur bilmasligim yoki postni soddalashtirish maqsadida qilingan xatolar bo'lishi mumkin.
@boboshersnotes
Biror masala NP bo'lishi uchun uni deterministic approachda polynomial vaqtda yecha oladigan algoritmni bilmasligimiz, lekin potensial yechim berilsa yechim to'g'ri yoki noto'g'riligini polynomial vaqtda tekshirib ko'ra olishimiz kerak. Ya'ni NP masalalar qaysidir P ("oson") masalaning "teskarisi". Masalan, tub ko'paytuvchilarga ajratish (prime factorization) NP masala. Deylik, 4187 sonini tub ko'paytuvchilarga ajratish "qiyin", lekin 53 va 79 berilsa rostdan ham ularning ko'paytmasi 4187 bo'lishini oson aniqlay olamiz.
Demak bizda shunaqa funksiya borki, unga NP masala javobi input sifatida berilsa u to'g'ri yoki noto'g'ri ekanini polynomial vaqtda ayta oladi. "Switching Circuit Theory" (O'tkazgich sxemalari nazariyasi)ga ko'ra agar input uzunligi chekli deb olinsa bu turdagi har qanday funksiyani "AND", "OR", "NOT"ga o'xshash mantiqiy bloklar kombinatsiyasi (sxema) sifatida tasvirlash mumkin.
NP-complete savollar orasida Satisfiability problem (qanoatlantirish masalasi) nomli masala bor. Deylik, sizda bir qancha mantiqiy o'zgaruvchilar va mantiqiy operatorlardan iborat mantiqiy ifoda bor. Masala sharti, o'zgaruvchilarga qanday qiymat berilsa umumiy ifoda True (Rost) qiymatga ega bo'lishini topish.
Biz tepada aytgan mantiqiy bloklar kombinatsiyasini ham mantiqiy ifoda sifatida yozsak bo'ladi. Faqat har bir mantiqiy operator qanday ishlashi kerakligini qoidalar shaklida kiritish uchun yana qo'shimcha ifodalar qo'shish kerak bo'ladi (masalan, AND bloki faqat ikkala input ham true bo'lganida true natija qaytaradi). Natijada SAT masalasining xususiy ko'rinishi, CIRCUIT-SATga ega bo'lamiz.
Xo'sh, CIRCUIT-SAT nima qila oladi? Unga ma'lum natija berilsa shu natijaga erishish uchun mantiqiy sxemaga qanday input kiritish kerakligini aniqlay oladi. Har qanday chekli matematik funksiyani mantiqiy sxema sifatida tasvirlashimiz mumkinligini eslasak, demak u har qanday funksiyadan ma'lum bir natijani olish uchun unga qanday qiymat(lar) berish kerakligini aniqlay oladi. Ya'ni u har qanday funksiyani "orqaga qaytara oladi". Har qanday shifr, har qanday ma'lumotni qayta ishlash farqi yo'q. Funksiyaning o'zi deterministik bo'lsa bo'ldi.
Qisqa qilib aytganda, P=NP ekanini isbotlash bizga har qanday algoritmni tezda "orqaga qaytarish" imkoniyatini beradi. Lekin hali isbotlay olganimiz yo'q. Bu degani, bizda hozir ham har qanday funksiyani "orqaga qaytara oladigan" algoritmlarimiz bor, lekin ular hozircha juda sekin ishlaydi. Masalan, RSAda ishlatiladigan 2 ta 200 xonali atrofidagi sonlarni ko'paytirishni "orqaga qaytarish" uchun hozirgi algoritmlarga yuzlab yoki minglab yillar vaqt kerak bo'ladi.
P.S. Mavzuni chuqur bilmasligim yoki postni soddalashtirish maqsadida qilingan xatolar bo'lishi mumkin.
@boboshersnotes
👍15
Engineering Notes
P vs NP problem haqida ko'pchilik bilsa kerak, bilmaydiganlar bo'lsa shu joyida to'xtab, o'rganib kelsangiz bo'ladi. Ko'pchilik P=NP ekanini isbotlash faqat RSAga o'xshash assimmetrik kriptografiyani buzishga yordam beradi deb o'ylaydi. Aslida esa RSAni buzish…
Shunaqa qiziq mavzuda biror narsa yozsam comment jim-jit bo'lib qoladi. Kimdir yozsin deb ataylabdan qoldirib ketilgan xato ham bor postda ))
😁14👍3
AMA (Ask Me Anything) qilamiz. Commentda savolingizni qoldirishingiz mumkin, aynan dasturlash haqida bo'lishi shart emas.
👍1
Forwarded from PyNotes
https://www.youtube.com/watch?v=CFPcgCz-I2I
Meetupga bora olmaganlar bo'lsa endi videoda ko'rishingiz mumkin.
Meetupga bora olmaganlar bo'lsa endi videoda ko'rishingiz mumkin.
YouTube
UzGeeks August2024 Python Day Meetup
Assalom alaykum!!!
UzGeeks'da Python kuni!
📆 24-avgust, shanba kuni Toshkent shahri Raqamli texnologiyalar vazirligi binosida "UzGeeks August2024 Python Day Meetup" bo'lib o'tadi.
📚 Meetup quyidagi bo'limlardan tashkil topgan:
1️⃣ "Queue va stack pythonda…
UzGeeks'da Python kuni!
📆 24-avgust, shanba kuni Toshkent shahri Raqamli texnologiyalar vazirligi binosida "UzGeeks August2024 Python Day Meetup" bo'lib o'tadi.
📚 Meetup quyidagi bo'limlardan tashkil topgan:
1️⃣ "Queue va stack pythonda…
👍7👎1
— Bu loyihamiz O'zbekistondagi birinchi X turdagi loyiha.
— Shoshmang, bizda uje bor Y, Z alternativlarchi? Sizlarniki uje birinchimas shekilli?
— Ukam, aqllilik qvossammi...?
Inspired by a real story
— Shoshmang, bizda uje bor Y, Z alternativlarchi? Sizlarniki uje birinchimas shekilli?
— Ukam, aqllilik qvossammi...?
Inspired by a real story
👍21
Engineering Notes
Iterm2'dan zerikdim. Boshqa qiziqroq terminal ishlatib ko'rmoqchiman, hozircha Alacritty va Kitty variantlari qiziqtirayapti. Siz qanday terminal ishlatasiz?
Hozircha Itermda qolayapman. Ghostty open source bo'lsa birato'la Ghosttyga o'taman.
👍7
Forwarded from Asadullo Ganiev | solvemproblr
HashMap haqida maqola yozdim
Uning ortidagi nazariya va zamonaviy dasturlash tillaridagi implementatsiyalari haqida batafsil o’qishingiz mumkin.
Link: https://asadullo.com/blog/hashing/
@solvemproblr
Uning ortidagi nazariya va zamonaviy dasturlash tillaridagi implementatsiyalari haqida batafsil o’qishingiz mumkin.
Link: https://asadullo.com/blog/hashing/
@solvemproblr
👍17👎3
Bir saytda botlarga qarshi testda 7-8 ta son berib, drag&drop qilib sort qilish so'ralar ekan. Ataylab quicksort qilib berdim ))
😁37
my.mehnat.uz'da o'zim ishlamagan joyda 10 kunlik mehnat shartnomasi qo'shilib qolibdi. Kompaniya direktori bilan gaplashib ko'rsam qanaqadir "yoshlarni ish bilan ta'minlash" dasturi doirasida 70 kishi uning kompaniyasiga majburiy biriktirilgani, hozir hammasini qaytadan bo'shatib chiqayotganini aytdi. Ro'yxat "tepadan" kelib, avtomatik mehnat shartnomasi tuzilgani (mening imzoimsiz), ro'yxatdagi odamlarni o'zi ham tanimasligini aytayapti. Davlat idoralari fuqarolar shaxsiy ma'lumotlari bilan xohlagancha o'yin qilayapti. Molxona.
🤯42😁8👍5
Oldinlari neovimni mechanical keyboard bilan ishlatish kerak deyishsa ishonmasdim ))
P.S. Keyboard tavsiya qilinglar.
P.S. Keyboard tavsiya qilinglar.
Sololearnni eslaydiganlar bormi?
Dasturlash bo'yicha savollarni yechib birga-bir "jang" qilsa bo'lardi.
Python communitydagi tanishlar anchadan beri shuning o'zbekchasi – Tandir ustida ishlashayapti. Foydali va juda qiziq dastur, o'zim ham anchadan beri test qilishda qatnashib turaman. Bundan tashqari o'ynash uchun savol yuborib, pul mukofotiga ega bo'lishingiz mumkin. App Store/Play Storeda "Tandir" deb izlasangiz chiqadi, Telegram kanaliyam bor. Anaqqisa, tavsuyu.
Dasturlash bo'yicha savollarni yechib birga-bir "jang" qilsa bo'lardi.
Python communitydagi tanishlar anchadan beri shuning o'zbekchasi – Tandir ustida ishlashayapti. Foydali va juda qiziq dastur, o'zim ham anchadan beri test qilishda qatnashib turaman. Bundan tashqari o'ynash uchun savol yuborib, pul mukofotiga ega bo'lishingiz mumkin. App Store/Play Storeda "Tandir" deb izlasangiz chiqadi, Telegram kanaliyam bor. Anaqqisa, tavsuyu.
Telegram
Tandir
Dasturlashdan 1 ga 1 duellar tashkillashtiruvchi ilova.
Hozir beta versiyada.
⚡️ https://tandir.app
Hozir beta versiyada.
⚡️ https://tandir.app
👍9🍾2
Hozirgi ish joyimga kirganimga 2 oy bo'ldi. Yangi jamoada texnik bilimlardan tashqari "work culture" tomondan ham ko'p narsa o'rganayapman. Quyida shaxsiy fikrimcha bizda ham kengroq adaptatsiya qilishga arziydigan ba'zi qoidalar. E'tibor qilsangiz bularning hammasi oddiy narsalar, lekin negadir ba'zilar shularga ham amal qilmaydi.
1. Sizning vaqtingiz qimmat, boshqalarniki undan ham qimmat. Hamkasbingizning ishi sizga bog'liq bo'lsa iloji boricha tezroq bajarib bering yoki eng kamida qachon qilib bera olishingzni ayting. Schedule qilingan call/meetinglarga vaqtida qatnashing, biror sabab bilan kech qolsangiz yoki qatnasha olmasangiz qolganlarni bu haqida iloji boricha ertaroq ogohlantiring. Managerlar va team leadlar uchun: callga faqat kerakli odamlarni chaqiring va iloji boricha tezroq tugating. Daily standupda jamoadagi faqat 1 kishiga aloqador task ustida gaplashish uchun butun jamoani 1 soat ushlab turmang.
2. Vaqt qimmat, fokus undan ham qimmat. Fokusning 2 ta asosiy dushmani bor, shulardan iloji boricha qochishga harakat qiling:
a) Context switch, ya'ni bir vazifadan boshqasiga o'tish. Masalan, fokus bilan ishlayotgan jamoadoshingizga "hey, tezda mana bu narsani qilib bera olasanmi, 5 minut vaqt ketadi" desangiz u ishning o'zini qilishga 5 minut vaqt ketishi mumkin, lekin jamoadoshingiz yana o'zining ishiga qaytib avvalgidek fokus qilishiga yana kamida 10-15 minut ketadi.
b) Unpredictibility, ya'ni oldindan rejalashtirilmagan ishlar. Masalan, jamoadoshingiz yoki qo'l ostingizdagi ishchini oldindan ogohlantirmasdan "hey, hozir 10 minutlik qisqa callga qatnasha olasanmi" desangiz u callga kirib nima bo'layotganini tushunib olgunicha va calldan keyin oldingi qilayotgan ishiga qaytgunicha ancha vaqt o'tadi. Lekin call oldindan belgilangan bo'lsa u ma'lum darajada tayyor bo'ladi va context switch ancha oson kechadi.
Davomi keyingi postda
@boboshersnotes
1. Sizning vaqtingiz qimmat, boshqalarniki undan ham qimmat. Hamkasbingizning ishi sizga bog'liq bo'lsa iloji boricha tezroq bajarib bering yoki eng kamida qachon qilib bera olishingzni ayting. Schedule qilingan call/meetinglarga vaqtida qatnashing, biror sabab bilan kech qolsangiz yoki qatnasha olmasangiz qolganlarni bu haqida iloji boricha ertaroq ogohlantiring. Managerlar va team leadlar uchun: callga faqat kerakli odamlarni chaqiring va iloji boricha tezroq tugating. Daily standupda jamoadagi faqat 1 kishiga aloqador task ustida gaplashish uchun butun jamoani 1 soat ushlab turmang.
2. Vaqt qimmat, fokus undan ham qimmat. Fokusning 2 ta asosiy dushmani bor, shulardan iloji boricha qochishga harakat qiling:
a) Context switch, ya'ni bir vazifadan boshqasiga o'tish. Masalan, fokus bilan ishlayotgan jamoadoshingizga "hey, tezda mana bu narsani qilib bera olasanmi, 5 minut vaqt ketadi" desangiz u ishning o'zini qilishga 5 minut vaqt ketishi mumkin, lekin jamoadoshingiz yana o'zining ishiga qaytib avvalgidek fokus qilishiga yana kamida 10-15 minut ketadi.
b) Unpredictibility, ya'ni oldindan rejalashtirilmagan ishlar. Masalan, jamoadoshingiz yoki qo'l ostingizdagi ishchini oldindan ogohlantirmasdan "hey, hozir 10 minutlik qisqa callga qatnasha olasanmi" desangiz u callga kirib nima bo'layotganini tushunib olgunicha va calldan keyin oldingi qilayotgan ishiga qaytgunicha ancha vaqt o'tadi. Lekin call oldindan belgilangan bo'lsa u ma'lum darajada tayyor bo'ladi va context switch ancha oson kechadi.
Davomi keyingi postda
@boboshersnotes
👍22
Davomi
3. Engineerga vazifa emas, muammo bering. Tayyor yechimni implement qilish oson, yechimni va ayniqsa yaxshi yechimni topish qiyin. Agar manager yoki team lead sifatida engineerlarga "A tildagi B frameworkda C arxitekturada web server yoz, databaseda X, Y, Z tablelar bo'lsin" shaklidagi vazifa berayotgan bo'lsangiz unda birinchidan siz engineerlardan to'liq foydalanmayapsiz, ikkinchidan siz o'ylagan yechim optimal bo'lmasligi mumkin. Yaxshisi, "bizda A muammo bor, shuni hal qilish uchun bizga B imkoniyatga ega yangi servis kerak" deb muammoni o'rtaga tashlang. Shunda bir qancha alternativ yechimlarni ko'rib, hamma tomondan analiz qilib, eng yaxshi yaxshi yechimni tanlash imkoni bo'ladi. Lekin odatda call davomida yaxshi yechim o'ylab topish ko'p vaqt va ma'lum bir sohada chuqur bilim talab qilishi mumkin. Bunday holatda bir kishiga muammoni chuqur o'rganish va potensial yechimlar ustida ishlash vazifa qilib beriladi (yechimni implement qilish emas) va keyin berilgan yechimlarni butun jamoa bilan analiz qilib, qaror qabul qilishingiz mumkin. Implement qilish shundan keyingina boshlanadi.
4. Djangochi emas, engineer bo'ling. Bugun application serverda, ertaga databaseda, indinga networkingdagi muammoni hal qilishingizga to'g'ri kelishi mumkin. Albatta ishga kirishdan oldin bularning hammasini chuqur o'rgana olmaysiz, shuning uchun "T shaped" engineer bo'lishga harakat qiling. Ya'ni bilimingiz T harfidagiga o'xshab biror tor sohada chuqur bo'lishi bilan birga boshqa ko'plab sohalardan ham ma'lum darajada xabardor bo'lishingiz siz uchun ancha foydali, shunda zarur bo'lganida boshqa bir sohani chuqurroq o'rganishingiz oson bo'ladi (ya'ni T ni π ga aylantirish oson bo'ladi). Menimcha lokal bozordagi eng katta muammolardan biri ko'p sohalarni yuzaki biladigan lekin birortasini chuqur tushunmaydigan (– shaped) yoki bir tor sohani chuqur biladigan lekin boshqa sohalarni umuman tushunmaydigan (I shaped) engineerlar. Bundan tashqari bir narsani chuqurroq o'rganib olib, keyin hamma joyga shuni tiqishtiradigan (L shaped) engineerlar ham odatda jamoaga foydadan ko'proq zarar keltiradi, ToDo app qilish uchun ham microservice quradiganlar bunga misol.
5. Qilgan har bir ishingizni va o'ylagan har bir yechimingizni yozib boring. Projectda to'g'ridan-to'g'ri sizga bog'liq narsalar minimal bo'lishi kerak, yechimlar va g'oyalar ham shular qatorida. Ertaga siz ishdan ketsangiz ham yozgan narsalaringiz turadi. Bu kelajakda boshqalarning vaqtini isrof qilmaslik uchun qilishingiz mumkin bo'lgan eng yaxshi narsalardan biri. Bundan tashqari menga o'xshab xotirangiz yomonroq bo'lsa 1 hafta oldin tugata olmagan ishingizga qaytganingizda oldingi safar nima qilganingiz/qilmoqchi bo'lganingizni yozib qo'yganingiz uchun o'zingizga o'zingiz rahmat aytasiz.
@boboshersnotes
3. Engineerga vazifa emas, muammo bering. Tayyor yechimni implement qilish oson, yechimni va ayniqsa yaxshi yechimni topish qiyin. Agar manager yoki team lead sifatida engineerlarga "A tildagi B frameworkda C arxitekturada web server yoz, databaseda X, Y, Z tablelar bo'lsin" shaklidagi vazifa berayotgan bo'lsangiz unda birinchidan siz engineerlardan to'liq foydalanmayapsiz, ikkinchidan siz o'ylagan yechim optimal bo'lmasligi mumkin. Yaxshisi, "bizda A muammo bor, shuni hal qilish uchun bizga B imkoniyatga ega yangi servis kerak" deb muammoni o'rtaga tashlang. Shunda bir qancha alternativ yechimlarni ko'rib, hamma tomondan analiz qilib, eng yaxshi yaxshi yechimni tanlash imkoni bo'ladi. Lekin odatda call davomida yaxshi yechim o'ylab topish ko'p vaqt va ma'lum bir sohada chuqur bilim talab qilishi mumkin. Bunday holatda bir kishiga muammoni chuqur o'rganish va potensial yechimlar ustida ishlash vazifa qilib beriladi (yechimni implement qilish emas) va keyin berilgan yechimlarni butun jamoa bilan analiz qilib, qaror qabul qilishingiz mumkin. Implement qilish shundan keyingina boshlanadi.
4. Djangochi emas, engineer bo'ling. Bugun application serverda, ertaga databaseda, indinga networkingdagi muammoni hal qilishingizga to'g'ri kelishi mumkin. Albatta ishga kirishdan oldin bularning hammasini chuqur o'rgana olmaysiz, shuning uchun "T shaped" engineer bo'lishga harakat qiling. Ya'ni bilimingiz T harfidagiga o'xshab biror tor sohada chuqur bo'lishi bilan birga boshqa ko'plab sohalardan ham ma'lum darajada xabardor bo'lishingiz siz uchun ancha foydali, shunda zarur bo'lganida boshqa bir sohani chuqurroq o'rganishingiz oson bo'ladi (ya'ni T ni π ga aylantirish oson bo'ladi). Menimcha lokal bozordagi eng katta muammolardan biri ko'p sohalarni yuzaki biladigan lekin birortasini chuqur tushunmaydigan (– shaped) yoki bir tor sohani chuqur biladigan lekin boshqa sohalarni umuman tushunmaydigan (I shaped) engineerlar. Bundan tashqari bir narsani chuqurroq o'rganib olib, keyin hamma joyga shuni tiqishtiradigan (L shaped) engineerlar ham odatda jamoaga foydadan ko'proq zarar keltiradi, ToDo app qilish uchun ham microservice quradiganlar bunga misol.
5. Qilgan har bir ishingizni va o'ylagan har bir yechimingizni yozib boring. Projectda to'g'ridan-to'g'ri sizga bog'liq narsalar minimal bo'lishi kerak, yechimlar va g'oyalar ham shular qatorida. Ertaga siz ishdan ketsangiz ham yozgan narsalaringiz turadi. Bu kelajakda boshqalarning vaqtini isrof qilmaslik uchun qilishingiz mumkin bo'lgan eng yaxshi narsalardan biri. Bundan tashqari menga o'xshab xotirangiz yomonroq bo'lsa 1 hafta oldin tugata olmagan ishingizga qaytganingizda oldingi safar nima qilganingiz/qilmoqchi bo'lganingizni yozib qo'yganingiz uchun o'zingizga o'zingiz rahmat aytasiz.
@boboshersnotes
👍30👎1
Aytgancha, bu yil ICPCda qatnashayotganlar bormi?
Tayyorgarlik qanday ketayapti?
Tayyorgarlik qanday ketayapti?
👍8😢2🍾1