Lol hattoki phpda async/await reja qilinyabti ekan.
https://wiki.php.net/rfc/true_async
Imperativ tillarni bir biridan deyarli farqi qolmayabtiku. Lekin phpchilar kallasi ishlabti async/await oddiy funksiya sifatida qilinyabti.
Bundan oldin phpda |> pipe operatorni ko’rgan edim. Ha pipe bilan kod yozish biroz elegantroq, lekin barbir php syntax man uchun horrible.
Phpchilar bo’lsa maslaxatim shu syntaxga async await qo’shishga maksimal qarshi chiqaverilar agar biror surwaylar qilishsa. Bo’lmasa kegin siqilib o’tirasilar colouring bilan.
https://wiki.php.net/rfc/true_async
Imperativ tillarni bir biridan deyarli farqi qolmayabtiku. Lekin phpchilar kallasi ishlabti async/await oddiy funksiya sifatida qilinyabti.
Bundan oldin phpda |> pipe operatorni ko’rgan edim. Ha pipe bilan kod yozish biroz elegantroq, lekin barbir php syntax man uchun horrible.
Phpchilar bo’lsa maslaxatim shu syntaxga async await qo’shishga maksimal qarshi chiqaverilar agar biror surwaylar qilishsa. Bo’lmasa kegin siqilib o’tirasilar colouring bilan.
😁11❤1🥱1
Ishqilib 18 yoshlik Teamlead CEO/CTO Co Founder investor super mega startupper emasmisiz demak hali shans bor.
TustMeBro ODaM Bo'LAsIz!
MAN JiDDiY AyTdIM YoZUV SiGNaturidan Ma'NO QIDirMANg
TustMeBro ODaM Bo'LAsIz!
🤣23❤6😁5🔥1🫡1
Deep research.
Izlanishdan maqsad ma'lumotga egalik, ma'lumotga egalikning maqsadi bo'lsa undan foydalanish.
Ha, hammasi qiziqishdan boshlanadi, siz nimagadir qiziqib qolasiz, izlanish qilasiz.
Ammo sizga kelgan hamma ma'lumotlardan ham foydalana olmasligingiz yoki notog'ri foydalanishingiz mumkin. Shu sababli siz bergan ma'lumotlarga feedback doyim kerak bo'ladi.
Eng muhim narsa manashu huddiki siz nimadir o'rganganib uni qanaqadir outputga aylantirganingizda chiroyli bir qilich shakilga keladi, ammo qilchingiz hali o'tmas sizga kelgan feedbacklar manashuni charxlaydi. O'tkir qilichi bor samuray bo'lishni istasangiz demak feedbacklardan hulosa qilishni o'rganishingiz kerak.
Sizga feedackni esa o'zingiz qidirib topishingiz kerak va aynan qaysibiri sizni qilichni charxlashini bilmasligingiz mumkin, shu sababli ham bir talaba ortida ko'plab uztoz bo'ladi va shu sababli insonlar baxlashadilar yoki tanqid qiladilar.
Izlanishdan maqsad ma'lumotga egalik, ma'lumotga egalikning maqsadi bo'lsa undan foydalanish.
Ha, hammasi qiziqishdan boshlanadi, siz nimagadir qiziqib qolasiz, izlanish qilasiz.
Ammo sizga kelgan hamma ma'lumotlardan ham foydalana olmasligingiz yoki notog'ri foydalanishingiz mumkin. Shu sababli siz bergan ma'lumotlarga feedback doyim kerak bo'ladi.
Eng muhim narsa manashu huddiki siz nimadir o'rganganib uni qanaqadir outputga aylantirganingizda chiroyli bir qilich shakilga keladi, ammo qilchingiz hali o'tmas sizga kelgan feedbacklar manashuni charxlaydi. O'tkir qilichi bor samuray bo'lishni istasangiz demak feedbacklardan hulosa qilishni o'rganishingiz kerak.
Sizga feedackni esa o'zingiz qidirib topishingiz kerak va aynan qaysibiri sizni qilichni charxlashini bilmasligingiz mumkin, shu sababli ham bir talaba ortida ko'plab uztoz bo'ladi va shu sababli insonlar baxlashadilar yoki tanqid qiladilar.
🔥9❤1
Shu feedback olishni esa huddi compilerlarga o'xshataman. Kimdirni compileri yani feedback beradiganlari juda ham week, yani yozilgan kodda ko'p muammo chiqishi mumkin.
Kimdirni compileri esa juda aqilli. Juda zo'r feedbacklar keladi, ha biroz "achitadi" lekin yaxshi feedback keladi. Xatolarni kamaytiradi.
Bo'ldi falsafa darsi tugadi endi. Foydaliroq narsalarni qililar, Σboy bo'lish manga emas ekan.
Kimdirni compileri esa juda aqilli. Juda zo'r feedbacklar keladi, ha biroz "achitadi" lekin yaxshi feedback keladi. Xatolarni kamaytiradi.
Bo'ldi falsafa darsi tugadi endi. Foydaliroq narsalarni qililar, Σboy bo'lish manga emas ekan.
❤6😁2
❤1
Build own world.
Yaxshi expirence qilishning eng yaxshi uslublaridan biri bu o'zingiz uchun confort muhitni qurish. Bu narsani birnechta hamkasb do'stlarim amalda ko'rsatib berishdi.
Man uchun oldin ko'p narsalar defaultroq bo'lgani qiziq edi. Ammo tushundimki bazi narsalar rostdan ham man uchun noqulay yani bu shaxsiy tanlov. Huddiki hayotdagi boshqa tanlovlarimiz kabi, custom workspace mavzusi ham shaxsiy tanlov. Bunda hechkim bir birini hate qilolmaydi, faqat biror narsani kamchilik va yutuqlarini muhokama qilish mumkin.
O'z ish muhitingizni qurishingiz orqali esa o'zingizga qulay, yoqimli atmosferada ishlashingiz garovi. Shu bilan birga jarayonda chiqgan muammolar yuzasidan izlanishlar qilasiz, nimadirlrani yaxshiroq tushuna boshlaysiz yoki o'rganishga majbur bo'lasiz.
Yangi boshlovchilarga esa: Your work environment, your first project production.
Siz tanalab chiqasiz, har bir mavzuda qanday toolardan foydalanishni, siz foydalanadigan OS qanday bo'lishini. Shu orqali o'rganasiz OSni qanday configure qilishni, qanday text editor configure qilishni. Uyoqda ham yangi muammolarga uchraysiz, balki yangi tillar bilan tanisharsiz. Shu orqali dunyoqarashingiz kengayadi va creativity oshadi deb o'ylayman. Kimdir hammayoqni cyberpunk qilib tashlasa kimdir juda minimalist bo'ladi. Eng muhimi esa shunday qilib sizda shaxsiy qarashlar rivojlanadi va tajriba oshadi. Albatta sizga hechkim pul to'lamaydi bu ishlarni qilganiz uchun, hechkim sizga rahmat demasligi mumkin. Ammo jarayondan kayf qilasiz. Hamma narsani to'liq o'zingiz 0dan yozmay boshqalardan terib chiqsangiz ham hechnima yoqotmaysiz. Muhimi aynan siz uchun maxsus ish muhiti bo'lishi. Kimdirlar o'zining keyboardlarigacha yasab chiqadi, ammo bu masala ham personal choise. Demak ular uchun shu muhim yoki qiziq.
Yaxshi expirence qilishning eng yaxshi uslublaridan biri bu o'zingiz uchun confort muhitni qurish. Bu narsani birnechta hamkasb do'stlarim amalda ko'rsatib berishdi.
Man uchun oldin ko'p narsalar defaultroq bo'lgani qiziq edi. Ammo tushundimki bazi narsalar rostdan ham man uchun noqulay yani bu shaxsiy tanlov. Huddiki hayotdagi boshqa tanlovlarimiz kabi, custom workspace mavzusi ham shaxsiy tanlov. Bunda hechkim bir birini hate qilolmaydi, faqat biror narsani kamchilik va yutuqlarini muhokama qilish mumkin.
O'z ish muhitingizni qurishingiz orqali esa o'zingizga qulay, yoqimli atmosferada ishlashingiz garovi. Shu bilan birga jarayonda chiqgan muammolar yuzasidan izlanishlar qilasiz, nimadirlrani yaxshiroq tushuna boshlaysiz yoki o'rganishga majbur bo'lasiz.
Yangi boshlovchilarga esa: Your work environment, your first project production.
Siz tanalab chiqasiz, har bir mavzuda qanday toolardan foydalanishni, siz foydalanadigan OS qanday bo'lishini. Shu orqali o'rganasiz OSni qanday configure qilishni, qanday text editor configure qilishni. Uyoqda ham yangi muammolarga uchraysiz, balki yangi tillar bilan tanisharsiz. Shu orqali dunyoqarashingiz kengayadi va creativity oshadi deb o'ylayman. Kimdir hammayoqni cyberpunk qilib tashlasa kimdir juda minimalist bo'ladi. Eng muhimi esa shunday qilib sizda shaxsiy qarashlar rivojlanadi va tajriba oshadi. Albatta sizga hechkim pul to'lamaydi bu ishlarni qilganiz uchun, hechkim sizga rahmat demasligi mumkin. Ammo jarayondan kayf qilasiz. Hamma narsani to'liq o'zingiz 0dan yozmay boshqalardan terib chiqsangiz ham hechnima yoqotmaysiz. Muhimi aynan siz uchun maxsus ish muhiti bo'lishi. Kimdirlar o'zining keyboardlarigacha yasab chiqadi, ammo bu masala ham personal choise. Demak ular uchun shu muhim yoki qiziq.
🔥8💯1
Forwarded from @yegor256 news (Yegor Bugayenko)
You may have heard of SeedRamp, a micro-investment fund we launched in California ten years ago. We are now giving it a new life. The idea is simple. Early-stage startups often need a small amount of capital to survive until their first major investment round. That is where we come in. You apply, tell us your story, and if we believe in your startup, we invest up to $20,000 in exchange for convertible notes. The investment decision is made on the spot, during the interview (in English). Every interview is fully recorded and published on YouTube, just as we did with all previous SeedRamp investments. If you are building something real and need a runway boost, be brave and apply.
❤1🤔1
Programming ∀
Ancha azob uqubatlardan so'ng errorlarni trace qilish g'oyasi ishladi. Afsus, xozircha rustda journalni watch qilishga effectiveroq yechim topolmadim va tinmay journalctl qilib o'tiribti. Endi ertadan journalga ulanamiz va uni parse qilib OSda sodir bo'lgan…
Nix commandlar fail bo'lsa ham olyabmiz endi. Jarayon haqida full logni ham olishimiz mumkin endi.
⚡8
Ko'pchilik OS darslarida o'rgangan bo'lsa kerak, processlar ma'lumot almashishi uchun turli ko'rinish va protocollar bor.
Masalan hammamiz bilgan network protocollar.
Lekin hech o'ylab ko'rganmisiz OS ichida internal qanday qilib ma'lumot almashish mumkin ?
Bizda 2ta process bor, endi ular ma'lumot almashishi kerak, ha balki unix socketlar birinchi hayolingizga kelgandir :) Tog'ri localda network exchange tezroq bo'ladi bazi OSI layerlari skip qilgani uchun.
Lekin yanada qiziqroq aynan local IPC uchun mo'ljallangan narsalar ham bor masalan DBUS linuxda alohida message bus system. Buni ko'proq brokerlarga ham o'xshatsa bo'ladi. Chunki siz api qilganizda alohida bus namespace yozasiz, huddi topiclar, channellar kabi. Kegin contactlarni belgilaysiz huddi kafkadagi avro schemalar kabi. High levelda biroz o'xshaydi ammo 1:1 tassavur qilmang.
Qizig'i dbus tiplarni ham support qiladi )) Ha biroz eskicha dizayn va bazi narsalar xml bilan. Lekin siz o'ylagan REST apilardan yaxshiroq dizayn qilsa bo'ladi ko'p narsani ))
Albatta IPC uchun dbusdan ham yaxshiroq yechimlar bo'lishi mumkin. XML hisobga olmasak dbus api design qilish ancha yoqimliroq lekin.
Batafsil: https://www.freedesktop.org/wiki/Software/dbus/
Masalan hammamiz bilgan network protocollar.
Lekin hech o'ylab ko'rganmisiz OS ichida internal qanday qilib ma'lumot almashish mumkin ?
Bizda 2ta process bor, endi ular ma'lumot almashishi kerak, ha balki unix socketlar birinchi hayolingizga kelgandir :) Tog'ri localda network exchange tezroq bo'ladi bazi OSI layerlari skip qilgani uchun.
Lekin yanada qiziqroq aynan local IPC uchun mo'ljallangan narsalar ham bor masalan DBUS linuxda alohida message bus system. Buni ko'proq brokerlarga ham o'xshatsa bo'ladi. Chunki siz api qilganizda alohida bus namespace yozasiz, huddi topiclar, channellar kabi. Kegin contactlarni belgilaysiz huddi kafkadagi avro schemalar kabi. High levelda biroz o'xshaydi ammo 1:1 tassavur qilmang.
Qizig'i dbus tiplarni ham support qiladi )) Ha biroz eskicha dizayn va bazi narsalar xml bilan. Lekin siz o'ylagan REST apilardan yaxshiroq dizayn qilsa bo'ladi ko'p narsani ))
Albatta IPC uchun dbusdan ham yaxshiroq yechimlar bo'lishi mumkin. XML hisobga olmasak dbus api design qilish ancha yoqimliroq lekin.
Batafsil: https://www.freedesktop.org/wiki/Software/dbus/
🔥9
Linuxni kavlar ekansiz yana juda ko'p ajoyibotlar kelib chiqaveradi. Tarixni o'qigandan doyim ham foyda yo'q. Juda ham ko'p abstraksiyalar ustiga abstraksiyalarni ko'raverasiz.
Masalan ko'pchilik gapiradigan init paytini o'zida juda ko'p hodisalar bo'ladi. Sizga ko'rinadigan juda ko'p narsalar filelardan tashkil topgan, ularni ochib shu faylar bilan "o'ynashib" ko'rsangiz bo'ladi.
Hullas oddiy
Hullas Kustoning sarguzashtlari bo'ladi bularni kavlashingiz.
Masalan ko'pchilik gapiradigan init paytini o'zida juda ko'p hodisalar bo'ladi. Sizga ko'rinadigan juda ko'p narsalar filelardan tashkil topgan, ularni ochib shu faylar bilan "o'ynashib" ko'rsangiz bo'ladi.
Hullas oddiy
lsblk qanday ishlashini ko'rsangiz disklar ro'yxatini fayllar ichidan qidirib topish mumkin :)Hullas Kustoning sarguzashtlari bo'ladi bularni kavlashingiz.
🔥7😁1🆒1
Dynamic frequency scaling
Juda ham qiziq narsa modern cpularda mutlicoredan tashqari frequency stagelar ham bor. Masalan: power save, normal, boost.
5Ghz frequencylik cpu doyim 5Ghz ishlamaydi, boshlang’ich chastota bo’ladi. Eng qizig’i esa. O’sha 5Ghzlik cpuni 6-7Ghz qilish ham mumkin, bu narsa overclocking deyiladi.
Juda ham qiziq narsa modern cpularda mutlicoredan tashqari frequency stagelar ham bor. Masalan: power save, normal, boost.
5Ghz frequencylik cpu doyim 5Ghz ishlamaydi, boshlang’ich chastota bo’ladi. Eng qizig’i esa. O’sha 5Ghzlik cpuni 6-7Ghz qilish ham mumkin, bu narsa overclocking deyiladi.
✍5
Programming ∀
Linuxni kavlar ekansiz yana juda ko'p ajoyibotlar kelib chiqaveradi. Tarixni o'qigandan doyim ham foyda yo'q. Juda ham ko'p abstraksiyalar ustiga abstraksiyalarni ko'raverasiz. Masalan ko'pchilik gapiradigan init paytini o'zida juda ko'p hodisalar bo'ladi.…
Rasmlarga yaxshilab etibor qilsangiz yuqoridagi postda aytgan narsamni tushunasizlar.
Linuxda hamma narsa fayl ekani sizni foydangizga uyoqdagi har bir componentni o'z qo'llaringiz bilan ushlab ko'rsangiz bo'ladi. Kerak bo'lsa bazi narsalarni umuman boshqacha ishlashga ham majburlay olasiz vaxakazo.
Linuxda hamma narsa fayl ekani sizni foydangizga uyoqdagi har bir componentni o'z qo'llaringiz bilan ushlab ko'rsangiz bo'ladi. Kerak bo'lsa bazi narsalarni umuman boshqacha ishlashga ham majburlay olasiz vaxakazo.
🔥4
Yana bir qiziq narsalardan biri pseudo random generator. Linux o'zida
Random generate qilish bilamizki doyim o'ziga yarasha challengelardan iborat va buning turlicha algorithmlari mavjud.
Real usecaselardan biri.
Batafsil: https://en.wikipedia.org/wiki//dev/random
/dev/random va /dev/urandom faylarini ochib raqamlarni olsangiz bo'ladi. Lekin bu maxsus shifrlangan random raqamlar yani decode qilish kerak. Random generate qilish bilamizki doyim o'ziga yarasha challengelardan iborat va buning turlicha algorithmlari mavjud.
Real usecaselardan biri.
cat /dev/random | hexdump bilan biz random hex generate qilsak bo'ladi, hex esa uuidga o'xshab ketadi, aniq formati va size esda yo'q bilganlar share qiling iltimos, lekin biz ls /dev/disk/by-uuid buyrug'i bilan disklar idsini ko'rsak bo'ladi va bu biz randomdan olgan formatga juda o'xshash. Ushbu idlar bizga booting paytida beriladi.Batafsil: https://en.wikipedia.org/wiki//dev/random
🔥1🤯1