Typescriptda bunaqa mazahizm qilsa bo'ladi.
JSchialrga IQtest.
Kegin huddi shuni teskarisi
O'zi TSdagi literal tiplar evaziga siz masalan bunaqa qilib tip elon qila olasiz
Bugun ozgina yoshlikni esladim 🥸
JSchialrga IQtest.
typeT misolidaka agar FromNumber<n> berilsa type level N bo'lishi kerak. Real misol:FromNumber<1> -> Succ<Zero>Kegin huddi shuni teskarisi
ToNumber<T> . Bu yerda type leveldagi raqamni ham rostmana raqamga o'girish kerak. O'zi TSdagi literal tiplar evaziga siz masalan bunaqa qilib tip elon qila olasiz
let one:1ToNumber<T> kakraz manashu literal tip qaytarishi kerak. Endi Add<A, B> ni yozsangiz kifoya :) Bugun ozgina yoshlikni esladim 🥸
Yana bir prikol narsa aytaymi ?
Manashu literal tiplar evaziga typescriptda daje tiplar bilan parser yozsa bo'ladi. Mikkimaus frankenshteyn parser chiqsa kerak o'ziyam, nu eplasa bo'ladi ozgina xarakat qilsa.
masalan tassavur qiling
Tabiy intelektingiz bilan qilib ko'ring.
Manashu literal tiplar evaziga typescriptda daje tiplar bilan parser yozsa bo'ladi. Mikkimaus frankenshteyn parser chiqsa kerak o'ziyam, nu eplasa bo'ladi ozgina xarakat qilsa.
masalan tassavur qiling
type R = Parse<"1 + 1"> manashunaqa yozilgani bemalol Result<Add<Succ<Zero>>,Succ<Zero>>> qilish mumkin.Tabiy intelektingiz bilan qilib ko'ring.
🥱4🔥2😁1
Forwarded from Xinux (bahrom04)
Qanday Xinux aloqador mavzular qiziq?
Anonymous Poll
29%
Konferensiya
33%
Video qoʻllanma/darslik
30%
Yozma qoʻllanma/darslik
30%
Koʻproq ishyu va PRda qatnashish
40%
Nix
55%
Rust
34%
Haskell
16%
Boshqa. Guruhga yozaman
❤1
Shu basic arithmetic interpeterni kamida 20+ marotaba turlicha tilda turlicha uslublarda yozishga xarakat qilganman hammasi ham yemagan.
Har safar tulircha, ammo bitta narsa. Mana typescript ham bor endi check listda.
Hulosalarga kelsam.
Effekti zaif karoche :) kuchliroq tiplarga o'tirib qolib bo'lganman.
Buyoqda hamma mikkimaus kod, bug bilan birga: https://gist.github.com/lambdajon/1b7ad0e08a7a82087c045cf5ad7117cf
Shu bilan yana birnecha yil bu typescript temasiga qaytmasam kerak.
Har safar tulircha, ammo bitta narsa. Mana typescript ham bor endi check listda.
Hulosalarga kelsam.
Effekti zaif karoche :) kuchliroq tiplarga o'tirib qolib bo'lganman.
Buyoqda hamma mikkimaus kod, bug bilan birga: https://gist.github.com/lambdajon/1b7ad0e08a7a82087c045cf5ad7117cf
Shu bilan yana birnecha yil bu typescript temasiga qaytmasam kerak.
Xinux
Qanday Xinux aloqador mavzular qiziq?
Haskell, Rust, Nix temasida qiziquvchilar ancha ko'payibtiku 👍
Bilamizki polymorhism variablelar birnecha tiplar variantiga mos kelishiga ko'p tiplarga, keluvchi funksiyalar yozish degani. Ishqilib birnecha termga mos type fa birnecha typega mos term temasi. Nu hammaga tushunarli qismi shu.
Endi mikkimorphism ham bor bilasilarmi ?
Mikkimorphism — Dasturchilar kod yozishidan tashqari hamma narsa qilishiga, texnik muammo ustida qayg'urishdan tashqari hamma narsa ustida qayg'urishiga va eng muhimi biznes tiplariga qarab ad-hoc yechimlar berishga imkon beruvchi tushuncha.
Mikkimorhism ikki ko'rinisda bo'lishi mumkin.
1. Odam rostdan o'z haiqatiga qattiq ishonadi yani fanat.
2. Shunchaki dolbaeb, daun qisqasi replicable.
Ikki holatda ham mikkimorhism bo'lishi mumkin.
Endi mikkimorphism ham bor bilasilarmi ?
Mikkimorphism — Dasturchilar kod yozishidan tashqari hamma narsa qilishiga, texnik muammo ustida qayg'urishdan tashqari hamma narsa ustida qayg'urishiga va eng muhimi biznes tiplariga qarab ad-hoc yechimlar berishga imkon beruvchi tushuncha.
Mikkimorhism ikki ko'rinisda bo'lishi mumkin.
1. Odam rostdan o'z haiqatiga qattiq ishonadi yani fanat.
2. Shunchaki dolbaeb, daun qisqasi replicable.
Ikki holatda ham mikkimorhism bo'lishi mumkin.
😁7
Qoravoy pastroqdagi funksiyani teparoqga chiqarib qo'yibti.
Eng qizig'i commentda ham yozilgan edi joyini o'zgartirish mavzusi, bola joyini o'zgartirgan lekin comment bilan ko'chirib o'tkazgan.
Hayotingizdagi eng bemani o'zgarish bo'ladiku bilasizmi ? Agar shu kod merj bo'lsa
Eng qizig'i commentda ham yozilgan edi joyini o'zgartirish mavzusi, bola joyini o'zgartirgan lekin comment bilan ko'chirib o'tkazgan.
Hayotingizdagi eng bemani o'zgarish bo'ladiku bilasizmi ? Agar shu kod merj bo'lsa
pickRandom funksiyani hayotida shunaqa o'zgarish sodir bo'lgan bo'ladi...😁9
Xinux
Qanday Xinux aloqador mavzular qiziq?
125 kishi javob berganini o'zi katta yangilik bo'ldi manga 👍
Tez orada collaborative working processni yaxshilashga ko'proq focus qilamiz. Kakraz xinuxdagi bazi narsalarni tekshirishda bizga ko'plab yordam kerak bo'lyabti va qiziq tajriba bo'ladi collaboration ko'paytirsak.
Shundoq ham ko'p hamkasb do'stlarimiz juda ko'p qo'llab quvvatlashadi buni o'zi ham katta narsa biz uchun bunga alohida rahmat!
Tez orada collaborative working processni yaxshilashga ko'proq focus qilamiz. Kakraz xinuxdagi bazi narsalarni tekshirishda bizga ko'plab yordam kerak bo'lyabti va qiziq tajriba bo'ladi collaboration ko'paytirsak.
Shundoq ham ko'p hamkasb do'stlarimiz juda ko'p qo'llab quvvatlashadi buni o'zi ham katta narsa biz uchun bunga alohida rahmat!
🔥3
Forwarded from Abduaziz π
The people holding up the internet
(internetni tutib turganlar)
Havola: https://sheets.works/data-viz/holding-up-the-internet
Meanwhile: https://omarchy.org/patrons 🤡
@AbduazizPy
(internetni tutib turganlar)
Havola: https://sheets.works/data-viz/holding-up-the-internet
"Denis Pushkarev, core-js(https://core-js.io)ni davom ettirish uchun donatlar qabul qilishini aytganida, oyiga $57 to'plashga muvaffaq bo'lgan"
"sudoni ta'minoti va rivojini moliyalashtirish uchun homiy qidiryapman"
- Todd C. Miller
Meanwhile: https://omarchy.org/patrons 🤡
@AbduazizPy
😭5❤1🫡1
Birnecha kun oldin qiziq hodisa bo'ldi. Doc yozishdan biroz charchab qolgan edim nu asosiy muammo hayolimdagi narsani, boshqalarga tushunarliroq uslubda qurilgan ma'lumotga o'girishda. Albatta kodda bu osonroq, ammo bu qanaqadir reja yoki bo'lmasam maqsadga erishish ustidagi roadmap kabi narsa bo'lsa doyim ham izohlash oson emas. Bu masala hammaga turlicha og'irlik beradi.
Lekin boshqa tomondan qarasak bizga yoqimsiz ko'ringan narsa ham bazida majburiyatga aylanadi. Yani buni bajarish bizni keyingi pog'anaga olib chiqadi. Nimadirga erishish kerak bo'lsa demak bazi yoqimsiz tuyulgan narsalarni ham bajarish kerak. Mani misolimda esa, xinuxda ishlashimizni tartiblash uchun albatta bazi turdagi doclar yozishimiz kerak. Bu maqsad yo'lidagi bir qadam, zerikarli takrorlanuvchan ko'rinsa ham bazida shu kerak.
Nimadirni boshlashga doyim ham tayyor bo'lish shart emas. Yana bir hodisa yaqin 2 kun oralig'ida bo'ldi. Bizda anchadan buyon ochiq qolyotgan masala GUI dasturlarni testlash, bazi ketma ketliklarni avtomatlashtirishdan iborat. Bizda GTK va GUI mainstream xinux distrubutividagi user spaceda ko'rinadigan asosiy narsalar bu GTK dasturlar hisoblanadi. Demak bularni stabilligini taminlash OS stabilligni taminlashning bir qismidir. Izlanishlar davomida ko'rdimki mashxur distrubutivlarni juda ko'plari stabillik uchun turli yechimlar qilishgan. Shulardan eng etiborimni tortgani OpenQA bo'ldi. Ushbu tool aynan operatsion tizimlar uchun automated testing yechimlarini taqdim qiladi. Masalan OS install flowda turli steplarni avtomatlashtirsangiz bo'ladi. Expirementlar davomida ko'rdimki, SUSE, Fedora, Debian, Almalinux kabi distrubutivlar ushbu tooldan foydalanishgan ekan masalan fedora to'liq install flowni avtomatlashtirgan bu yerda: https://forge.fedoraproject.org/quality/os-autoinst-distri-fedora
Agar sal o'tmishga qarasam.
Qachondir doclar yozishga juda skeptik edim. Xozir o'zim manashu taklifni beryabman.
Qachondir GUI dasturlar uje o'ldi degan fikrda edim, xozir esa developmentda active qatnashaman.
Va yana tushunganim shu bo'ldiki tayyor bo'lishni kutmaslik va doyim ham ortiqcha tayyorgarlik qilmaslik kerak. Bazida shunchaki boshlash yetarli. Hayotimda eng foydali qarorlar bazida random qarorlar bo'ladi ko'pincha :) Bazi juda chuqur o'ylanganlari esa shunchaki amalga oshmay qoladi. Buning sababi ham manashu ortiqcha tayyorgarlik qilishimda bo'lsa kerak degan fikr keldi. Tayyorgarlik kerak ammo bu bahonami yoki bo'lmasam bazi narsalarga oldindan sug'urtami ajratish qiyin. Ammo tushuna boshladimki sug'urta doyim ham ishlamaydi shu sabab jarayoning bir qismi yoqimsiz bo'lishini qabul etish va unga ham maksimal darajada professional qarash holatni yanada yaxshilaydi.
Masalan bunday:
Xinuxga qo'shilganimda bilmagan edim Haskelldan ham foydalanishimizni. Lekin bilmagan edim doc yozish kabi ideyarlarni ham o'zim berishimni.
Endilikda manga notanish vaziyatlar, yutuq va yoqotishlar ham chalg'itmaydi deb o'ylay boshladim. Yani barbir bilmayman ertaga qanday senariylar bo'ladi. Muhimi yaxshirog'iga xarakat qilish kerak va bular manga yoqmasligi ham mumkin ammo umumiy planda foyda bo'ladi. Bu esa 4-katta darsga sabab bo'ldi. Erirish ichida juda katta yoqoqtish jarayoni ham mavjud bo'lishi mumkin.
Distrubutiv atrofida ishlar ekanman man o'qigan adabiyotlarda keltirilmagan, man tassavur ham qilmagan juda ko'p narsalarga duch kela boshladim va juda ham ko'p narsalar o'rgana boshladim, bu huddi sizga kimdirlar qanaqadir meva, yegulik haqida aytib bergan ma'lumotlar va o'zingiz tatib ko'rganingiz o'rtasidagi farqga o'xshaydi, kimgadir yoqadi kimgadir yo'q.
Lekin boshqa tomondan qarasak bizga yoqimsiz ko'ringan narsa ham bazida majburiyatga aylanadi. Yani buni bajarish bizni keyingi pog'anaga olib chiqadi. Nimadirga erishish kerak bo'lsa demak bazi yoqimsiz tuyulgan narsalarni ham bajarish kerak. Mani misolimda esa, xinuxda ishlashimizni tartiblash uchun albatta bazi turdagi doclar yozishimiz kerak. Bu maqsad yo'lidagi bir qadam, zerikarli takrorlanuvchan ko'rinsa ham bazida shu kerak.
Nimadirni boshlashga doyim ham tayyor bo'lish shart emas. Yana bir hodisa yaqin 2 kun oralig'ida bo'ldi. Bizda anchadan buyon ochiq qolyotgan masala GUI dasturlarni testlash, bazi ketma ketliklarni avtomatlashtirishdan iborat. Bizda GTK va GUI mainstream xinux distrubutividagi user spaceda ko'rinadigan asosiy narsalar bu GTK dasturlar hisoblanadi. Demak bularni stabilligini taminlash OS stabilligni taminlashning bir qismidir. Izlanishlar davomida ko'rdimki mashxur distrubutivlarni juda ko'plari stabillik uchun turli yechimlar qilishgan. Shulardan eng etiborimni tortgani OpenQA bo'ldi. Ushbu tool aynan operatsion tizimlar uchun automated testing yechimlarini taqdim qiladi. Masalan OS install flowda turli steplarni avtomatlashtirsangiz bo'ladi. Expirementlar davomida ko'rdimki, SUSE, Fedora, Debian, Almalinux kabi distrubutivlar ushbu tooldan foydalanishgan ekan masalan fedora to'liq install flowni avtomatlashtirgan bu yerda: https://forge.fedoraproject.org/quality/os-autoinst-distri-fedora
Agar sal o'tmishga qarasam.
Qachondir doclar yozishga juda skeptik edim. Xozir o'zim manashu taklifni beryabman.
Qachondir GUI dasturlar uje o'ldi degan fikrda edim, xozir esa developmentda active qatnashaman.
Va yana tushunganim shu bo'ldiki tayyor bo'lishni kutmaslik va doyim ham ortiqcha tayyorgarlik qilmaslik kerak. Bazida shunchaki boshlash yetarli. Hayotimda eng foydali qarorlar bazida random qarorlar bo'ladi ko'pincha :) Bazi juda chuqur o'ylanganlari esa shunchaki amalga oshmay qoladi. Buning sababi ham manashu ortiqcha tayyorgarlik qilishimda bo'lsa kerak degan fikr keldi. Tayyorgarlik kerak ammo bu bahonami yoki bo'lmasam bazi narsalarga oldindan sug'urtami ajratish qiyin. Ammo tushuna boshladimki sug'urta doyim ham ishlamaydi shu sabab jarayoning bir qismi yoqimsiz bo'lishini qabul etish va unga ham maksimal darajada professional qarash holatni yanada yaxshilaydi.
Masalan bunday:
Xinuxga qo'shilganimda bilmagan edim Haskelldan ham foydalanishimizni. Lekin bilmagan edim doc yozish kabi ideyarlarni ham o'zim berishimni.
Endilikda manga notanish vaziyatlar, yutuq va yoqotishlar ham chalg'itmaydi deb o'ylay boshladim. Yani barbir bilmayman ertaga qanday senariylar bo'ladi. Muhimi yaxshirog'iga xarakat qilish kerak va bular manga yoqmasligi ham mumkin ammo umumiy planda foyda bo'ladi. Bu esa 4-katta darsga sabab bo'ldi. Erirish ichida juda katta yoqoqtish jarayoni ham mavjud bo'lishi mumkin.
Distrubutiv atrofida ishlar ekanman man o'qigan adabiyotlarda keltirilmagan, man tassavur ham qilmagan juda ko'p narsalarga duch kela boshladim va juda ham ko'p narsalar o'rgana boshladim, bu huddi sizga kimdirlar qanaqadir meva, yegulik haqida aytib bergan ma'lumotlar va o'zingiz tatib ko'rganingiz o'rtasidagi farqga o'xshaydi, kimgadir yoqadi kimgadir yo'q.
⚡4❤2👏1
Hullas bizda yangi imkoniyat ochilyabti.
Xinux jamoasiga bitta frontenddan tajribasi bor odam kerak. Bizda ichki dashboardlar va saytimiz xinux.uz bor manashular ustida ishlagani.
Batafsil aytadigan bo'lsam.
Bu vakasiya aynan frontendan boshqa narsalarni ham sinab ko'rishni istaganlar uchun ko'proq mos keladi. Sababi kelajakda bizni asosiy stackga o'tishingiz sharti bilan olinasiz va ish davomida baravar rust yoki haskell o'rganishizga imkoniyat beriladi.
Bizni holatda o'zimizni bollar shunchaki ulgurmayabti bu ishlarni qilgani. Shu sababli frontendchi manashu vazifalarni hal etishga yordam beradi ammo ish davomida biror maintstream stackga migratsiya qilishga biz yordam beramiz. Oyligini hamma kabi olaveradi.
Endi ishga olish tartibiga kelsak.
Umuman olganda bilamizki bozorda xozir frontendchilar juda ham ko'p. Undan tashqari bizni OSS team sifatida bazi prinsplarimiz bor. Yani OSS jamoasida hamma bilan oldin ishlab ko'rib biroz tanishib kegin ishga qabul qilamiz. Vaziyatni tushungan holda vakansiyani shunchaki konkurs ko'rinishda qivorish afzal deb o'ylayabman.
Konkurs quyidagicha:
Kandidat bizni xinux.uz websaytini qayta ishlab chiqishi kerak. Shu orqali o'z ishini taklif qiladi biz variantlarni ko'rib chiqamiz, ish davomida tanishib ham olamiz va eng ohirida aynan bir kishini tanlaymiz.
Bu yerda xozirgi sayt repository: https://git.oss.uzinfocom.uz/xinux/website
Tech stack, talablar masalasiga kelsak:
Saytga markdownda turli content qo'ya olishimiz kerak. Yani xinuxda blog qismi ham bor. Demak markdown renderer kerak bo'ladi.
Server side rendering support qilishi kerak.
Typescriptda yozilishi kerak.
Framework va yana boshqacha texnalogiyalar o'zingizni tanlovingiz.
Saytda asosiy sahifalar: Blog, FAQ, Download, Support
IMPORTANT: LLM va AI asosidagi kod generatsiyalar mumkin emas!!!
Qolgan narsalar o'ginzini ijodingiz va savollar bo'lsa matrix chatda beraverasilar:
https://matrix.to/#/#xinux-distro:uchar.uz
Xinux jamoasiga bitta frontenddan tajribasi bor odam kerak. Bizda ichki dashboardlar va saytimiz xinux.uz bor manashular ustida ishlagani.
Batafsil aytadigan bo'lsam.
Bu vakasiya aynan frontendan boshqa narsalarni ham sinab ko'rishni istaganlar uchun ko'proq mos keladi. Sababi kelajakda bizni asosiy stackga o'tishingiz sharti bilan olinasiz va ish davomida baravar rust yoki haskell o'rganishizga imkoniyat beriladi.
Bizni holatda o'zimizni bollar shunchaki ulgurmayabti bu ishlarni qilgani. Shu sababli frontendchi manashu vazifalarni hal etishga yordam beradi ammo ish davomida biror maintstream stackga migratsiya qilishga biz yordam beramiz. Oyligini hamma kabi olaveradi.
Endi ishga olish tartibiga kelsak.
Umuman olganda bilamizki bozorda xozir frontendchilar juda ham ko'p. Undan tashqari bizni OSS team sifatida bazi prinsplarimiz bor. Yani OSS jamoasida hamma bilan oldin ishlab ko'rib biroz tanishib kegin ishga qabul qilamiz. Vaziyatni tushungan holda vakansiyani shunchaki konkurs ko'rinishda qivorish afzal deb o'ylayabman.
Konkurs quyidagicha:
Kandidat bizni xinux.uz websaytini qayta ishlab chiqishi kerak. Shu orqali o'z ishini taklif qiladi biz variantlarni ko'rib chiqamiz, ish davomida tanishib ham olamiz va eng ohirida aynan bir kishini tanlaymiz.
Bu yerda xozirgi sayt repository: https://git.oss.uzinfocom.uz/xinux/website
Tech stack, talablar masalasiga kelsak:
Saytga markdownda turli content qo'ya olishimiz kerak. Yani xinuxda blog qismi ham bor. Demak markdown renderer kerak bo'ladi.
Server side rendering support qilishi kerak.
Typescriptda yozilishi kerak.
Framework va yana boshqacha texnalogiyalar o'zingizni tanlovingiz.
Saytda asosiy sahifalar: Blog, FAQ, Download, Support
IMPORTANT: LLM va AI asosidagi kod generatsiyalar mumkin emas!!!
Qolgan narsalar o'ginzini ijodingiz va savollar bo'lsa matrix chatda beraverasilar:
https://matrix.to/#/#xinux-distro:uchar.uz
git.oss.uzinfocom.uz git server
website
🐧 | New & Redesigned Wiki & Documentation website [maintainer=@xelopsys]
🤝2😁1
Programming ∀
Hullas bizda yangi imkoniyat ochilyabti. Xinux jamoasiga bitta frontenddan tajribasi bor odam kerak. Bizda ichki dashboardlar va saytimiz xinux.uz bor manashular ustida ishlagani. Batafsil aytadigan bo'lsam. Bu vakasiya aynan frontendan boshqa narsalarni…
Deadline haqida savollar bo'lglan ekan.
Biz hiringa uncha shoshmaymiz odatda, shu sababli bemalol 2-3 oycha deb qarashingiz mumkin.
Ammo bu vaqt davomida matrix chatda gaplashib siz bilan biroa tanishib olishimiz ham kerak. Yani shunchaki birga ishlaymiz.
Shunda aynan kimnidir tanlash kerak bo'lganida.
- Technical skills.
- Qanchalik research qila oladi.
- Comunication skills va masuliyat.
Shu kabi sifatlarga etibor qilamiz. Yani biz oldindan tayyormiz qandaydir student olgani faqat undan yaxshi impact bo'lishi mumkinligini ham tekshirish kerak.
Universitetda 4-kursgacha o'quvchilar bo'lsa biz qabul qilishimiz qiyin. Sababi fulltime uchun kerak va jamoamizda part timechilar allaqachon mavjud.
Biz hiringa uncha shoshmaymiz odatda, shu sababli bemalol 2-3 oycha deb qarashingiz mumkin.
Ammo bu vaqt davomida matrix chatda gaplashib siz bilan biroa tanishib olishimiz ham kerak. Yani shunchaki birga ishlaymiz.
Shunda aynan kimnidir tanlash kerak bo'lganida.
- Technical skills.
- Qanchalik research qila oladi.
- Comunication skills va masuliyat.
Shu kabi sifatlarga etibor qilamiz. Yani biz oldindan tayyormiz qandaydir student olgani faqat undan yaxshi impact bo'lishi mumkinligini ham tekshirish kerak.
Universitetda 4-kursgacha o'quvchilar bo'lsa biz qabul qilishimiz qiyin. Sababi fulltime uchun kerak va jamoamizda part timechilar allaqachon mavjud.
🔥4
Bla taxminan 40 soatda bitta servisni online qivordik. Ideyadan mvpgacha no LLM and witten in Haskell 😎
Juma kuni boshlangan edi xozir online bo'ldi ~40 soat vaqt sarflandi.
Juma kuni boshlangan edi xozir online bo'ldi ~40 soat vaqt sarflandi.
🔥9
Forwarded from bahrom04
This media is not supported in your browser
VIEW IN TELEGRAM
Pov: Xinux install
❤2🔥2😁1