O'zim boshlab beraman.
Hullas biz ishlatadigan database libraryda db entitiylar quyidagicha tipda bo'ladi
Database call uchun esa library boshqa ORMlar kabi methodlar taqdim qiladi, masalan
Masalan sizda User va Post degan entitylar bo'lsa ikkisiga ham bemalol
Codega etibor qilsangiz buyoqda faqat tiplar farq qilyabti. Qolgani birxil. Bu narsa ortiqcha code degani.
A manda esa boshqa ideya paydo bo'ldi. Bizda faqat tiplar farq qilyabti ekan, nima uchun biz funksiyaga aynan qaysi tipga ishlashi kerakligini tashqaridan aytmaslik kerak ?
Haskellda bu narsani qilsa bo'ladi
Shunda biz
Endi harsafar bir funksiyani turli tipga qo'lda yozmaymiz balki bitta funksiyani aynan berilgan tipga qarab ishlaydigan qilamiz va qaysi tip bilan ishlashi esa argumentda beriladi.
Rasmda full implementation va bu kecha qilindi, endi common primitivlarni manashunday qilib chiqishni boshladim
Hullas biz ishlatadigan database libraryda db entitiylar quyidagicha tipda bo'ladi
Entity Key Valdata Entity record =
Entity { entityKey :: Key record
, Entity record -> record
entityVal :: record }
Database call uchun esa library boshqa ORMlar kabi methodlar taqdim qiladi, masalan
get, insert vaxakazo.Masalan sizda User va Post degan entitylar bo'lsa ikkisiga ham bemalol
get yoki getEntity ishlata olasiz. Lekin bu narsani harsafar qo'lda yozib yurish kerak. Masalan get :: (AppState, MonadIO m) => UserId -> m (Maybe (Entity User))
get i = withPool $ DB.getEntity i
get :: (AppState, MonadIO m) => PostId -> m (Maybe (Entity Post))
get i = withPool $ DB.getEntity i
Codega etibor qilsangiz buyoqda faqat tiplar farq qilyabti. Qolgani birxil. Bu narsa ortiqcha code degani.
A manda esa boshqa ideya paydo bo'ldi. Bizda faqat tiplar farq qilyabti ekan, nima uchun biz funksiyaga aynan qaysi tipga ishlashi kerakligini tashqaridan aytmaslik kerak ?
Haskellda bu narsani qilsa bo'ladi
RequiredTypeArguments bilan. Yani getById funksiya yozamiz va funksiyamiz id parametridan tashqari yana bitta argument qabul qiladi, bu argument esa tip, yani biz funksiya qaysi tip ekaniga qarab ishlaydi.Shunda biz
getById (type Entity User) i qilib userni get qilishni agar bizga post kerak bo'lsa unda type (Entity Post) berib post entitydan get qilishni amalga oshira olamiz. Endi harsafar bir funksiyani turli tipga qo'lda yozmaymiz balki bitta funksiyani aynan berilgan tipga qarab ishlaydigan qilamiz va qaysi tip bilan ishlashi esa argumentda beriladi.
Rasmda full implementation va bu kecha qilindi, endi common primitivlarni manashunday qilib chiqishni boshladim
get, select, insert.Forwarded from Abduaziz
Hozircha esimga kelgani reference qilishga https://github.com/AbduazizZiyodov/gustav/blob/legacy/python/gustav/parser.py - interpretator (legacy python implementatsiyasi)
* Pipe operator
g(x) |> f(y) = f(y, g(x))
O'zimga qiziq bo'lgani uchun qilgandim, pipe operatorini ko'rganda mavjud parse call degan funksiyani rekursiv chaqirib. Pipeni korsa, callni qayta chaqiradi hozirgi callni astsi bilan (m: g(x) va keyingi functioni parse qilguncha argument listiga hozirgi g(x) callni ASTsini append qiladi. Ishlayapdi, lekin object instance'larini metodlarini pipe qilganda aybi bor beqqa.
* Ternary expression
* Ishlatilmagan variable'lar haqida warning
* Pipe operator
g(x) |> f(y) = f(y, g(x))
O'zimga qiziq bo'lgani uchun qilgandim, pipe operatorini ko'rganda mavjud parse call degan funksiyani rekursiv chaqirib. Pipeni korsa, callni qayta chaqiradi hozirgi callni astsi bilan (m: g(x) va keyingi functioni parse qilguncha argument listiga hozirgi g(x) callni ASTsini append qiladi. Ishlayapdi, lekin object instance'larini metodlarini pipe qilganda aybi bor beqqa.
* Ternary expression
* Ishlatilmagan variable'lar haqida warning
Forwarded from Abduaziz π
Tsikllar == Rekursiv Funksiya ?
Funksiyalarning chaqirilishidan boshlab ular ustidagi optimizatsiya(lar) haqida yozdim. C & CPython misolida muhokama qildim. O'qib-o'rganib, quyida "diskussiya" qilishingiz ham mumkin.
Foydali va qiziq deb bilsangiz, hamda sizga yoqsa - maqola(i.e. ushbu postni)ni boshqalarga ham ulashing.
@AbduazizPy
Maqolaga havola: https://abduaziz.ziyodov.uz/articles/tsikllar-rekursiv-funksiya
Funksiyalarning chaqirilishidan boshlab ular ustidagi optimizatsiya(lar) haqida yozdim. C & CPython misolida muhokama qildim. O'qib-o'rganib, quyida "diskussiya" qilishingiz ham mumkin.
Foydali va qiziq deb bilsangiz, hamda sizga yoqsa - maqola(i.e. ushbu postni)ni boshqalarga ham ulashing.
Desktop kompyuterda oching, agar sahifaning ba'zi qismlari yuklanmay og'irlik qilsa CTRL+SHIFT+R (yoki SHIFT`siz) bilan qayta yuklang.
@AbduazizPy
⚡1
Forwarded from Xinux (Habibulloh)
Forgejo orqali loyihalarimizga hissa qo‘shing!
Open Source loyihalarimiz uchun asosiy Git platforma sifatida GitHub’dan o‘zimizning Forgejo platformasiga ko‘chdik. Endilikda barcha yangi hissa qoʻshish va hamkorlik ishlari Forgejo orqali amalga oshiriladi.
Forgejodan foydalanishni boshlash uchun:
1) https://git.oss.uzinfocom.uz saytiga kiring.
2) “Kirish” tugmasini bosing.
3) “Uzinfocom Open Source orqali kirish (Keycloak)”ni tanlang.
4) Ochilgan sahifada “Ro‘yxatdan o‘tish” tugmasini bosing.
5) Akkaunt yarating.
6) Ro‘yxatdan o‘tgach, Forgejoga Keycloak orqali qayta kiring.
Shundan so‘ng siz issue yaratishingiz, pull request yuborishingiz va loyihalar rivojiga o‘z hissangizni qo‘shishingiz mumkin.
Shuningdek, git.floss.uz platformasi o‘z faoliyatini yakunlayotganini ma’lum qilamiz. Shu sababli, yaqin vaqt ichida Codeberg platformasiga ko‘chirilishi rejalashtirilgan.
Open Source loyihalarimiz uchun asosiy Git platforma sifatida GitHub’dan o‘zimizning Forgejo platformasiga ko‘chdik. Endilikda barcha yangi hissa qoʻshish va hamkorlik ishlari Forgejo orqali amalga oshiriladi.
Forgejodan foydalanishni boshlash uchun:
1) https://git.oss.uzinfocom.uz saytiga kiring.
2) “Kirish” tugmasini bosing.
3) “Uzinfocom Open Source orqali kirish (Keycloak)”ni tanlang.
4) Ochilgan sahifada “Ro‘yxatdan o‘tish” tugmasini bosing.
5) Akkaunt yarating.
6) Ro‘yxatdan o‘tgach, Forgejoga Keycloak orqali qayta kiring.
Shundan so‘ng siz issue yaratishingiz, pull request yuborishingiz va loyihalar rivojiga o‘z hissangizni qo‘shishingiz mumkin.
Shuningdek, git.floss.uz platformasi o‘z faoliyatini yakunlayotganini ma’lum qilamiz. Shu sababli, yaqin vaqt ichida Codeberg platformasiga ko‘chirilishi rejalashtirilgan.
🔥5🤝3👌2❤1
AI slop vs Human slop.
Vaybkoding atrofidagi generatsiya bo'lyotgan musorxona o'z yo'liga ammo human slop ancha muammoli.
Chunki odam doyim ham o'z ustida ishlashni, xatolarini tan olish yoki qaytarmaslikni doyim ham istamaydi. Ish ketyabti hammasi yaxshi.
AI modellar xatolarni o'rgana olyabti u ijodkor yoki creative emas.
Inson creative, ijodkor kashf eta oladi.
Ammo yillar davomida xatolarni o'rganmasdan birxil uslubda yozilgan kodan qanday hulosa qilish mumkin ?
Ko'pchilik code muhim emas deyishadi. Muhim, chunki siz qilgan ishni natijasi kod va u kod turlicha bo'lishi, turli muhitda turlicha ishlashi mumkin. Tanlovlar ham juda ko'p.
Shu kodagi turli qismlar, mexanizm va abstraksiyalar esa aynan turli muammolarni hal etish uchun chiqarilgan. Vaqt o'tadi, hamma narsa eskiradi huddi shunday oldingi yechimlar ham. Ammo odamni o'zgarishi qiyin.
Agar siz yangi til yasab uni semantikasini odamga tushuntirsangiz uni hamma ham qabul qilmaydi. Buning sabablari ham ko'p, bazilar qiziqib ham ko'rmaydi.
AI sizga counter example berishi mumkin, agar siz shuni istasangiz albatta. Faqat unga enagalik qilish kerak. Nega AI xato qilsa siz erinmay detailed enagalik qilasiz bilasizmi ? Buning sabablaridan biri odamlarga enagalik arzimasligi. Yani siz nimadirni aytasiz, eshmat esa eshitadi.
Eshmat sizdan so'raydi falon narsa nima deb. Javob berasiz va bu suxbat unutiladi.
AI esa qaysidir contextda shu suxbatni mention qila oladi.
Masala eshmatning qiziqish doirasida deysizmi ?
Bo'lishi mumkin. Eshmatning o'ziga yarasha "Qadiryatlari" "G'ururi" bor. Shu sababli siz unga nimadir xato ekanini aytsangiz doyim ham qabul qilishni istamaydi. Chunki uning prioritetlari umuman boshqa siz esa ortiqcha noqulay vaziyatga solyabsiz yoki halal beryabsiz.
Haqiqat nisbiy bazida. U g'alaba qiladi deb umid qilishdan mano ham yo'q. Bu haqida o'ylab izlanish ham juda absurt narsa.
AI slop qo'rqinchili emas, shunchaki Human slop oloviga quyilgan benzin kabi jarayon.
Vaybkoding atrofidagi generatsiya bo'lyotgan musorxona o'z yo'liga ammo human slop ancha muammoli.
Chunki odam doyim ham o'z ustida ishlashni, xatolarini tan olish yoki qaytarmaslikni doyim ham istamaydi. Ish ketyabti hammasi yaxshi.
AI modellar xatolarni o'rgana olyabti u ijodkor yoki creative emas.
Inson creative, ijodkor kashf eta oladi.
Ammo yillar davomida xatolarni o'rganmasdan birxil uslubda yozilgan kodan qanday hulosa qilish mumkin ?
Ko'pchilik code muhim emas deyishadi. Muhim, chunki siz qilgan ishni natijasi kod va u kod turlicha bo'lishi, turli muhitda turlicha ishlashi mumkin. Tanlovlar ham juda ko'p.
Shu kodagi turli qismlar, mexanizm va abstraksiyalar esa aynan turli muammolarni hal etish uchun chiqarilgan. Vaqt o'tadi, hamma narsa eskiradi huddi shunday oldingi yechimlar ham. Ammo odamni o'zgarishi qiyin.
Agar siz yangi til yasab uni semantikasini odamga tushuntirsangiz uni hamma ham qabul qilmaydi. Buning sabablari ham ko'p, bazilar qiziqib ham ko'rmaydi.
AI sizga counter example berishi mumkin, agar siz shuni istasangiz albatta. Faqat unga enagalik qilish kerak. Nega AI xato qilsa siz erinmay detailed enagalik qilasiz bilasizmi ? Buning sabablaridan biri odamlarga enagalik arzimasligi. Yani siz nimadirni aytasiz, eshmat esa eshitadi.
Eshmat sizdan so'raydi falon narsa nima deb. Javob berasiz va bu suxbat unutiladi.
AI esa qaysidir contextda shu suxbatni mention qila oladi.
Masala eshmatning qiziqish doirasida deysizmi ?
Bo'lishi mumkin. Eshmatning o'ziga yarasha "Qadiryatlari" "G'ururi" bor. Shu sababli siz unga nimadir xato ekanini aytsangiz doyim ham qabul qilishni istamaydi. Chunki uning prioritetlari umuman boshqa siz esa ortiqcha noqulay vaziyatga solyabsiz yoki halal beryabsiz.
Haqiqat nisbiy bazida. U g'alaba qiladi deb umid qilishdan mano ham yo'q. Bu haqida o'ylab izlanish ham juda absurt narsa.
AI slop qo'rqinchili emas, shunchaki Human slop oloviga quyilgan benzin kabi jarayon.
👌5❤1🔥1
Hullas RFC balo battarlar bilan hamma joyni standartlashga urunishadi. Ammo kimdir kelib standartlarizga tupurib ketadi.
Bu narsa doyim bo'lgan. Shunchalik darajadaki xatto kundalik hayotda ko'p kuzatiladi. Standartlik va nostandartlik tushunchalari shunchalik nisbiyki bazida standartga amal qilish munofiqlikga ham o'xshaydi va huddi shunday standartga amal qimaslik ham.
Standartni esa kimni quvvati bo'lsa anashu qo'yadi. Albatta o'ziga tog'irlab qo'yadi )) Masalan cloud ekotizimlar qurishni research qilayotganimda juda ko'p standartlar Amazon, Google tomonidan yoki o'shayerdagi odamlar tomonidan qilinganini ko'rgan edim. Masalan bunaqa temalar: https://www.iso.org/ics/35.210/x/
Masalan siz qandaydir container yoki VM sistema qilsangiz agar standartga javob bermasa butun infratuzulmani o'zingiz qurishizga tog'ri keladi. Lekin standartga amal qilsangiz juda ko'p overheadlar kutib turibti sizni.
Xozir esa yanada yaxshiroq ko'ryabmiz bu mavzuni masalan o'sha MCP protocoli yoki anavi TOON, TSON vaxakazolar. Masalan CSV bor edi. Yani bu narsalarndan maqsad doyim ham nimadirni hammaga tushunarli yoki yaxshiroq qilish emas balki o'ziga qulay qilish yani biznes orieted.
Bu narsa doyim actual bo'lgan codeclarni eslang. VLC + ffmpeg bo'lmagan payitda Apple va windows da alohida playerlar bo'lgan. Masalan avvalari windows playerda ochgan videoni appledagi quickTime ocholmas edi. Bu yerda tarix bilan batafsilroq tanishsangiz bo'ladi: https://youtu.be/NjqacgFnSAo?si=NMqHQmAmgkrW1ltm
Standartlarga amal qilish doyim ham muammoyingizni hal etmaydi. Maksimal impact bu sizga beriladigan infratuzulma. Masalan http orqali siz har qanday tilda yozilgan, har qanday platformada ishlaydigan dasturlar o'rtasida data transfer qila olasiz. Masalan browser va sizni custom linux serverizda ishlayotgan backend dastur. Shu sababli ham ko'pchilik standartlarga bevosita yoki bilvosita follow qilishadi. Ammo texnik tomondan qaraganda bu narsalar umuman muhim emas, agar Terry Davis biratdaka bo'lsangiz hamma narsa qilishingiz mumkin.
Bu narsa doyim bo'lgan. Shunchalik darajadaki xatto kundalik hayotda ko'p kuzatiladi. Standartlik va nostandartlik tushunchalari shunchalik nisbiyki bazida standartga amal qilish munofiqlikga ham o'xshaydi va huddi shunday standartga amal qimaslik ham.
Standartni esa kimni quvvati bo'lsa anashu qo'yadi. Albatta o'ziga tog'irlab qo'yadi )) Masalan cloud ekotizimlar qurishni research qilayotganimda juda ko'p standartlar Amazon, Google tomonidan yoki o'shayerdagi odamlar tomonidan qilinganini ko'rgan edim. Masalan bunaqa temalar: https://www.iso.org/ics/35.210/x/
Masalan siz qandaydir container yoki VM sistema qilsangiz agar standartga javob bermasa butun infratuzulmani o'zingiz qurishizga tog'ri keladi. Lekin standartga amal qilsangiz juda ko'p overheadlar kutib turibti sizni.
Xozir esa yanada yaxshiroq ko'ryabmiz bu mavzuni masalan o'sha MCP protocoli yoki anavi TOON, TSON vaxakazolar. Masalan CSV bor edi. Yani bu narsalarndan maqsad doyim ham nimadirni hammaga tushunarli yoki yaxshiroq qilish emas balki o'ziga qulay qilish yani biznes orieted.
Bu narsa doyim actual bo'lgan codeclarni eslang. VLC + ffmpeg bo'lmagan payitda Apple va windows da alohida playerlar bo'lgan. Masalan avvalari windows playerda ochgan videoni appledagi quickTime ocholmas edi. Bu yerda tarix bilan batafsilroq tanishsangiz bo'ladi: https://youtu.be/NjqacgFnSAo?si=NMqHQmAmgkrW1ltm
Standartlarga amal qilish doyim ham muammoyingizni hal etmaydi. Maksimal impact bu sizga beriladigan infratuzulma. Masalan http orqali siz har qanday tilda yozilgan, har qanday platformada ishlaydigan dasturlar o'rtasida data transfer qila olasiz. Masalan browser va sizni custom linux serverizda ishlayotgan backend dastur. Shu sababli ham ko'pchilik standartlarga bevosita yoki bilvosita follow qilishadi. Ammo texnik tomondan qaraganda bu narsalar umuman muhim emas, agar Terry Davis biratdaka bo'lsangiz hamma narsa qilishingiz mumkin.
😇3
Hamma bilan kelisha olamizmi?
Ommaviy kelishuv qiziq masala. Masalan hech o'ylab ko'rganmisiz sizning networkda siz bilan fikrlari mos keladigan odamlar qancha ?
Albatta bunday statistikani olishni ilojisi yo'q, chunki hamma odamlarda juda ham turfa dunyoqarash va insonlar bilimi mavzusi juda ham katta. Bir kishini networki darajasida qaralsa ham xisoblash qiyin va hammaning bilim darajasi farqli.
Ammo insonlar kelishadilar. Yani sotsial integratsiyalar hammada bor va u turlicha ko'rinishda bosqichda vaxakazo. Kelishuvlar sabablari turlicha. Ammo bu yerda prioritetdagi narsalar ahamiyatga ega deb xisoblayman. Yani insonlar bilan qachon kelishuv juda yaxshi bo'ladi ? Qachonki mavzular juda cheklangan tor doirada bo'lsa. Aytaylik O'zbek taomlari. Bu borada bizni mitaqadagi juda ko'p odamlar bilan kelishuv qilish nisbatan oson, lekin shunda ham prioritetlar turlicha yani turli regionlarda ovqatlar ham turlicha tayyorlanadi va o'ziga hos ta'mga egadir. Ammo kelishuv shansi balandroq sababi ovqatni mazasi, maxsulotlar sifati va ularning organizmga beradigan foyda/zarari taxminiy. Undan tashqari boshqa tanlovlar maxsulot miqdori nisbati vaxakazo, yog'li go'sh yog'siz go'sht yoki yashil yoki qizil bulg'ori vaxakazo deganlaridek.
Kelishuvlar o'ziga yarasha qiziq narsa amaliyot desa bo'ladi chunki hamma narsa 1:1 match bo'lmaydi doyim ham. Bunda esa kompramislar qilinadi A va B. Yani ikki tomon o'zaro murosa uchun talablarining bir qismidan vos kechadi. Intelektual jamiyatda murosa qilish kundalik sotsial amaliyotlardan desak ham bo'ladi. Biz insonlar bilan komunikatsiya qilamiz va turli kelishuvlar jarayonida qaramaqarshilik chiqsa kompramisga borishimiz mumkin yani talablarimizning bir qismidan vos kechishga tayyor bo'lishimiz yoki bizga kelgan arugmentlar asosida o'z talablarimizni qayta ko'rib chiqishimiz mumkin.
Ha sezgan bo'lsangiz talablar kelishmovchiliklardagi bir omillardan biri xisoblanadi. Prioritetlar esa manashu talablarning darajasidir. Talablar esa ma'lum maqsadlar ustiga quriladi talabni o'zi ham xato bo'lishi mumkin yani maqsadga erishib bo'lmasligi mumkin. Yoki bo'lmasa talabni qondirish juda ham ko'p resurs sarf qilishi talabni qiyinlashtiradi. Resurs yetishmovchiligi esa boshqa talablarga sabab bo'ladi bu degani maqsad uchun maqsasd.
Endi qiziq narsa. Keling manashuni dasturlash tomonga buramiz. Endi savolni qayta beramiz. Ho'sh dasturlashga aloqador mavzular doirasida hamma dasturchilar bilan kelisha olamizmi ? Savolni javobi o'zi bilan.
Bu talablarga bog'liq aniqrog'i maqsadlarga. Ammo maqsad kelishuv emas kelishuv jarayon.
Kelishmovchiliklar muammo emas. Bu ham jarayon natija emas. Kelishmovchilik jarayoni kelishuvga nisbatan negative jarayon. Yani bu holda ham kelishuv potensiali yoki kelishmovchilik potensiali mavjud.
Endi bu jarayon natijaga aylanishi uchun yoki natijaga olib boradigan jarayonga aylanishi uchun xarakat qilish kerak. Buning uchun kerakli instrumentlardan biri munozara haqida aytib o'tdim. Ammo bu doyim kerakmi ? Fikrimcha bu narsa aynan qanday tarafdan qaralishiga bog'liq. Masalan political or human relationship ? Chunki siyosatda insonlar munosabati yo'q. Bu degani agar hamkasb do'stingiz bilan ishga aloqador mavzuda munozara qilsangiz boshqa. Hamkasbingiz bilan ishdagi muammoni hal etish yuzasidan qilingan munozara boshqa. Ikki holatda turli natija olishingiz ham mumkin.
Ommaviy kelishuv qiziq masala. Masalan hech o'ylab ko'rganmisiz sizning networkda siz bilan fikrlari mos keladigan odamlar qancha ?
Albatta bunday statistikani olishni ilojisi yo'q, chunki hamma odamlarda juda ham turfa dunyoqarash va insonlar bilimi mavzusi juda ham katta. Bir kishini networki darajasida qaralsa ham xisoblash qiyin va hammaning bilim darajasi farqli.
Ammo insonlar kelishadilar. Yani sotsial integratsiyalar hammada bor va u turlicha ko'rinishda bosqichda vaxakazo. Kelishuvlar sabablari turlicha. Ammo bu yerda prioritetdagi narsalar ahamiyatga ega deb xisoblayman. Yani insonlar bilan qachon kelishuv juda yaxshi bo'ladi ? Qachonki mavzular juda cheklangan tor doirada bo'lsa. Aytaylik O'zbek taomlari. Bu borada bizni mitaqadagi juda ko'p odamlar bilan kelishuv qilish nisbatan oson, lekin shunda ham prioritetlar turlicha yani turli regionlarda ovqatlar ham turlicha tayyorlanadi va o'ziga hos ta'mga egadir. Ammo kelishuv shansi balandroq sababi ovqatni mazasi, maxsulotlar sifati va ularning organizmga beradigan foyda/zarari taxminiy. Undan tashqari boshqa tanlovlar maxsulot miqdori nisbati vaxakazo, yog'li go'sh yog'siz go'sht yoki yashil yoki qizil bulg'ori vaxakazo deganlaridek.
Kelishuvlar o'ziga yarasha qiziq narsa amaliyot desa bo'ladi chunki hamma narsa 1:1 match bo'lmaydi doyim ham. Bunda esa kompramislar qilinadi A va B. Yani ikki tomon o'zaro murosa uchun talablarining bir qismidan vos kechadi. Intelektual jamiyatda murosa qilish kundalik sotsial amaliyotlardan desak ham bo'ladi. Biz insonlar bilan komunikatsiya qilamiz va turli kelishuvlar jarayonida qaramaqarshilik chiqsa kompramisga borishimiz mumkin yani talablarimizning bir qismidan vos kechishga tayyor bo'lishimiz yoki bizga kelgan arugmentlar asosida o'z talablarimizni qayta ko'rib chiqishimiz mumkin.
Ha sezgan bo'lsangiz talablar kelishmovchiliklardagi bir omillardan biri xisoblanadi. Prioritetlar esa manashu talablarning darajasidir. Talablar esa ma'lum maqsadlar ustiga quriladi talabni o'zi ham xato bo'lishi mumkin yani maqsadga erishib bo'lmasligi mumkin. Yoki bo'lmasa talabni qondirish juda ham ko'p resurs sarf qilishi talabni qiyinlashtiradi. Resurs yetishmovchiligi esa boshqa talablarga sabab bo'ladi bu degani maqsad uchun maqsasd.
Endi qiziq narsa. Keling manashuni dasturlash tomonga buramiz. Endi savolni qayta beramiz. Ho'sh dasturlashga aloqador mavzular doirasida hamma dasturchilar bilan kelisha olamizmi ? Savolni javobi o'zi bilan.
Bu talablarga bog'liq aniqrog'i maqsadlarga. Ammo maqsad kelishuv emas kelishuv jarayon.
Kelishmovchiliklar muammo emas. Bu ham jarayon natija emas. Kelishmovchilik jarayoni kelishuvga nisbatan negative jarayon. Yani bu holda ham kelishuv potensiali yoki kelishmovchilik potensiali mavjud.
Endi bu jarayon natijaga aylanishi uchun yoki natijaga olib boradigan jarayonga aylanishi uchun xarakat qilish kerak. Buning uchun kerakli instrumentlardan biri munozara haqida aytib o'tdim. Ammo bu doyim kerakmi ? Fikrimcha bu narsa aynan qanday tarafdan qaralishiga bog'liq. Masalan political or human relationship ? Chunki siyosatda insonlar munosabati yo'q. Bu degani agar hamkasb do'stingiz bilan ishga aloqador mavzuda munozara qilsangiz boshqa. Hamkasbingiz bilan ishdagi muammoni hal etish yuzasidan qilingan munozara boshqa. Ikki holatda turli natija olishingiz ham mumkin.
❤5
Web, Android, IOS va boshqa platfomrlarda push notifikatsiyalar qilishga ham biror providerlardan foydalanib pul to'laysilarmi masalan firebase or boshqa ?
Final Results
28%
Ha
80%
Yo'q
Forwarded from Xinux (bahrom04)
Xinux 26.05 Nashri
Bugun butun Xinux jamoasi fahr ila yangi Xinux versiyasini nashr qilganimizni eʼlon qilamiz. 26.05 Mahalla nomli relizimiz, 2026-yil Mahalla yili nomiga bagʻishlangan hisoblanib, unda juda koʻplab yangilik va oʻzgarishlar oʻz ichiga oladi. Jumladan:
- Dasturiy taʼminotimiz koʻrinishini qayta kashf qildik.
- Operatsion tizimimizning oʻrnatuvchi dasturi yanada takomillashdi.
- Biz yozgan va taqdim etadigan E-IMZO Menejer oxirgi nashr qilingan kalitlar bilan hech qanday xatoliklarsiz ishlashda davom etadi. Hamda, dastur yanada stabillashtirildi.
- Relago nomli, xatoliklar aniqlovchi vositamizni kashf qildik. Ushbu dasturimiz texnik ishqibozlarimiz uchun “Haskell” dasturlash tilida birinchi bor yozilganligi oʻzbek dasturchi hamjamiyatlarimizda yangilik, ham tilning mahalliy potensialiga isbot boʻldi. Ushbu harakatda oʻzlarini hissalarini qoʻshgan “Haskell Oʻzbekiston” hamjamiyatidagi ishqibozlarga katta tashakkurlar bildiramiz, sizlarsiz biz buni yolgʻiz uddalay olmas edik!
- Texnik va chuqur bilimli mutaxassislarimiz uchun yangi, oson va qulay modullar taqdim etdik. Tizimdagi har xil qismlarini oʻz xohishlariga binoan module-manager dasturi orqali sozlab olishlari mumkin.
- Mahalla reliz nomiga xos tizim orqa fonlari qoʻshildi.
Bu hali tamom emas albatta! 26.05 ustida ishlar davom etadi va bu bilan birgalikda bir necha olib borilayotgan yangiliklar davomiy taqdim etiladi. Jumladan, Xinux OTga bagʻishlangan sozlamar dasturi va hokazo.
Yanada baʼtafsil maʼlumotlar uchun, bizning vebsaytimizga tashrif buyuring: https://xinux.uz/releases/26.05
Oxirgi relizni yuklab olish: https://xinux.uz/download
Endichi? Keyinchi?
NixOS nashr metodologiyalaridan ilhomlangan holda, yangi reliz ustida ishlarni boshladik va loyiha ustalari bilan kelishilgan holda “Susambil” deya nom berdik. Kelasi 26.11 “Susambil” relizimiz juda katta yangiliklarni nashr etadi va rostdan ham Susambil boʻladi. Aytaylik, hozirda 25.11 dan 26.05 ga qayta oʻchirib tashlab, oʻtish kerak boʻlayotgan boʻlsa, kelasi 26.05 dan 26.11 ga silliq oʻtib ketish imkoniyati paydo boʻladi. Hamda, fayllarni fleshkada oʻzingiz bilan olib yurmaslik imkoniyati paydo boʻladi. Dasturchilar uchun ham Xinuxʼga ilova-yu qoʻshimchalar qoʻshish imkoniyati yaraladi. Ushbu qulayliklardan foydalanadigan kun kelishini intiqib kutib qolamiz va astoydil harakat qilamiz.
Hurmat ila, “Uzinfocom Open Source” departamenti.
Bugun butun Xinux jamoasi fahr ila yangi Xinux versiyasini nashr qilganimizni eʼlon qilamiz. 26.05 Mahalla nomli relizimiz, 2026-yil Mahalla yili nomiga bagʻishlangan hisoblanib, unda juda koʻplab yangilik va oʻzgarishlar oʻz ichiga oladi. Jumladan:
- Dasturiy taʼminotimiz koʻrinishini qayta kashf qildik.
- Operatsion tizimimizning oʻrnatuvchi dasturi yanada takomillashdi.
- Biz yozgan va taqdim etadigan E-IMZO Menejer oxirgi nashr qilingan kalitlar bilan hech qanday xatoliklarsiz ishlashda davom etadi. Hamda, dastur yanada stabillashtirildi.
- Relago nomli, xatoliklar aniqlovchi vositamizni kashf qildik. Ushbu dasturimiz texnik ishqibozlarimiz uchun “Haskell” dasturlash tilida birinchi bor yozilganligi oʻzbek dasturchi hamjamiyatlarimizda yangilik, ham tilning mahalliy potensialiga isbot boʻldi. Ushbu harakatda oʻzlarini hissalarini qoʻshgan “Haskell Oʻzbekiston” hamjamiyatidagi ishqibozlarga katta tashakkurlar bildiramiz, sizlarsiz biz buni yolgʻiz uddalay olmas edik!
- Texnik va chuqur bilimli mutaxassislarimiz uchun yangi, oson va qulay modullar taqdim etdik. Tizimdagi har xil qismlarini oʻz xohishlariga binoan module-manager dasturi orqali sozlab olishlari mumkin.
- Mahalla reliz nomiga xos tizim orqa fonlari qoʻshildi.
Bu hali tamom emas albatta! 26.05 ustida ishlar davom etadi va bu bilan birgalikda bir necha olib borilayotgan yangiliklar davomiy taqdim etiladi. Jumladan, Xinux OTga bagʻishlangan sozlamar dasturi va hokazo.
Yanada baʼtafsil maʼlumotlar uchun, bizning vebsaytimizga tashrif buyuring: https://xinux.uz/releases/26.05
Oxirgi relizni yuklab olish: https://xinux.uz/download
Endichi? Keyinchi?
NixOS nashr metodologiyalaridan ilhomlangan holda, yangi reliz ustida ishlarni boshladik va loyiha ustalari bilan kelishilgan holda “Susambil” deya nom berdik. Kelasi 26.11 “Susambil” relizimiz juda katta yangiliklarni nashr etadi va rostdan ham Susambil boʻladi. Aytaylik, hozirda 25.11 dan 26.05 ga qayta oʻchirib tashlab, oʻtish kerak boʻlayotgan boʻlsa, kelasi 26.05 dan 26.11 ga silliq oʻtib ketish imkoniyati paydo boʻladi. Hamda, fayllarni fleshkada oʻzingiz bilan olib yurmaslik imkoniyati paydo boʻladi. Dasturchilar uchun ham Xinuxʼga ilova-yu qoʻshimchalar qoʻshish imkoniyati yaraladi. Ushbu qulayliklardan foydalanadigan kun kelishini intiqib kutib qolamiz va astoydil harakat qilamiz.
Bizga ishonch bildirgan va qoʻllab-quvvatlagan har bir ishqiboz va foydalanuvchilarimizga tashakkur bildiramiz.
Hurmat ila, “Uzinfocom Open Source” departamenti.
xinux.uz
Xinux 26.05 "Mahalla" – Xinux
Xinux 26.05 reliz eslatmalari
🔥5❤1
System design interviewga zadrod bo'lasiz ammo mikkimaus patterni bilmaysiz.
Fikrimcha muammo ustida intensiv ishlash foydaliroq, o'tirib distrubuted systems, highload vaxakazo narsalar haqida alohida ko'rganingiz bilan real muammoga duch kelsangiz hal etolmaysiz.
Bir tanishim aytyabti falon companyda system design interviewda collabarative text editor so'rashgan ekan. U biratlar o'tirib CRDT kashf etishibti. Qiziq tomoni interviewer ham bilmagan bu narsani )) Yani hamma narsa templated: Falon savol beraman A,B,C variantlardan birini javob bersa demak baholasam bo'ladi.
Hullas bunaqa narsalar tiqilib yotibti. System design deb juda ko'p narsani discover qilishdan mano yo'q aynan bir narsani olib qilish kerak. Shuni o'zi juda katta boost beradi, Siz umuman yangi mavzudagi muammoni hal etmoqchi bo'lsangiz tabiyki siz bilishizni ham bilmaydigan narsalar juda ko'p bo'ladi. Qachonki shu muammoga duch kelsangiz kegin o'tirib analoglarni o'rganasiz, kim qanday yechim qilgan nega unaqa qilgan.
Bir narsani ustida intensiv ishlash sizni muammoni ustida intensiv ishlashga o'rgatadi. Qancha murakkab mavzularda ishlasangiz shuncha o'sib borasiz code yozish va talablaringiz ham o'zgaradi.
Oddiy misol xozir umuman parser yozmagan odamga incremental parserlar yozishni aytolmaysiz. Yoki parser combinatorlarni bersangiz dovdirab o'tiradi yoki regex bilan hal etadi.
Shu sababli arxitektura marxitektura haqida juda chuqur nazariy o'ylamasdan murakkabroq muammolarni kod bilan hal etishga xarakat qilish kerak. Shunda kerak joyda algorithm data strukturalarga ham ishiz tushadi fuckup qilgan molxona arxitekturani ham tozalab qo'yxonaga aylantirasiz, nu balki qattiq ter to'ksangiz atomatlashgan ferma qivorarsiz))). Toy projectlarni ham productionga qancha yaqin qilsangiz shuncha yaxshi shunda prod uchun bunaqa code yozish kerak deb ajratmaysiz balki doyim prod ready code yozishni o'rganasiz. Kod ko'paygan sayin esa refactorga extiyoj ham bo'ladi bu esa sizga refactoringni o'rgatadi.
Fikrimcha muammo ustida intensiv ishlash foydaliroq, o'tirib distrubuted systems, highload vaxakazo narsalar haqida alohida ko'rganingiz bilan real muammoga duch kelsangiz hal etolmaysiz.
Bir tanishim aytyabti falon companyda system design interviewda collabarative text editor so'rashgan ekan. U biratlar o'tirib CRDT kashf etishibti. Qiziq tomoni interviewer ham bilmagan bu narsani )) Yani hamma narsa templated: Falon savol beraman A,B,C variantlardan birini javob bersa demak baholasam bo'ladi.
Hullas bunaqa narsalar tiqilib yotibti. System design deb juda ko'p narsani discover qilishdan mano yo'q aynan bir narsani olib qilish kerak. Shuni o'zi juda katta boost beradi, Siz umuman yangi mavzudagi muammoni hal etmoqchi bo'lsangiz tabiyki siz bilishizni ham bilmaydigan narsalar juda ko'p bo'ladi. Qachonki shu muammoga duch kelsangiz kegin o'tirib analoglarni o'rganasiz, kim qanday yechim qilgan nega unaqa qilgan.
Bir narsani ustida intensiv ishlash sizni muammoni ustida intensiv ishlashga o'rgatadi. Qancha murakkab mavzularda ishlasangiz shuncha o'sib borasiz code yozish va talablaringiz ham o'zgaradi.
Oddiy misol xozir umuman parser yozmagan odamga incremental parserlar yozishni aytolmaysiz. Yoki parser combinatorlarni bersangiz dovdirab o'tiradi yoki regex bilan hal etadi.
Shu sababli arxitektura marxitektura haqida juda chuqur nazariy o'ylamasdan murakkabroq muammolarni kod bilan hal etishga xarakat qilish kerak. Shunda kerak joyda algorithm data strukturalarga ham ishiz tushadi fuckup qilgan molxona arxitekturani ham tozalab qo'yxonaga aylantirasiz, nu balki qattiq ter to'ksangiz atomatlashgan ferma qivorarsiz))). Toy projectlarni ham productionga qancha yaqin qilsangiz shuncha yaxshi shunda prod uchun bunaqa code yozish kerak deb ajratmaysiz balki doyim prod ready code yozishni o'rganasiz. Kod ko'paygan sayin esa refactorga extiyoj ham bo'ladi bu esa sizga refactoringni o'rgatadi.
❤5🔥1
Programming ∀
System design interviewga zadrod bo'lasiz ammo mikkimaus patterni bilmaysiz. Fikrimcha muammo ustida intensiv ishlash foydaliroq, o'tirib distrubuted systems, highload vaxakazo narsalar haqida alohida ko'rganingiz bilan real muammoga duch kelsangiz hal etolmaysiz.…
Shunaqa dedim systen design interviewga tayyorlanish haqida berilgan savolga.
❤2
Mikkimauslar o’tirib AI agentlar yozbergan kodlarni qaysibiri tezroq ekani haqida baxs qilyabti Karl.
Qiziqda, oldin ular dasturlash tillarini tezligi ustida baxslashardi. Downgrade evalutsiya bo’lsa buni degradatsiya deymizmi yoki bundan battar termin bormi ?
Bir chekada yaxshi yashayabmiz ekan.
Qiziqda, oldin ular dasturlash tillarini tezligi ustida baxslashardi. Downgrade evalutsiya bo’lsa buni degradatsiya deymizmi yoki bundan battar termin bormi ?
Bir chekada yaxshi yashayabmiz ekan.
😁4