Monorepo nima?
Monorepo bu bir repository ichida birnechta aloqador loyihalarni yozish.
Bu xuddi rasmdagidek ko’rinishda bo’lishi ham yoki faqat Frontend loyihalar bo’lishi ham mumkin.
Monorepo qilishdan maqsad, o’rtada “shared” kodlarni oson ulashish, loyihalarni oson boshqarish. Versiya o’zgarishlarda ham hammaga bittada o’zgarish kirita olish va hokazo.
JS dunyosida Monorepo qilish va uni oson boshqarib turish maqsadida birnechta tool’lar chiqqan. Nx, TurboRepo va boshqalar bunga misol.
Katta-katta kompaniyalar, masalan Google, Meta, Microsoft, Uber, Amazon va hokazolar, ko’p loyihalarida Monorepo qilishgan.
#monorepo #architecture
@JoshDeveloper
Monorepo bu bir repository ichida birnechta aloqador loyihalarni yozish.
Bu xuddi rasmdagidek ko’rinishda bo’lishi ham yoki faqat Frontend loyihalar bo’lishi ham mumkin.
Monorepo qilishdan maqsad, o’rtada “shared” kodlarni oson ulashish, loyihalarni oson boshqarish. Versiya o’zgarishlarda ham hammaga bittada o’zgarish kirita olish va hokazo.
JS dunyosida Monorepo qilish va uni oson boshqarib turish maqsadida birnechta tool’lar chiqqan. Nx, TurboRepo va boshqalar bunga misol.
Katta-katta kompaniyalar, masalan Google, Meta, Microsoft, Uber, Amazon va hokazolar, ko’p loyihalarida Monorepo qilishgan.
#monorepo #architecture
@JoshDeveloper
👍39🔥8🫡1
Module-federation
Bir necha haftalardan beri shu mavzular ichida yuribman. Loyiha quryapman. Sizlarga ham ozgina ma’lumotlar ulashsam degandim.
Shu paytgacha loyihalar arxitekturasiga har xil talablar qo’shilib kelgan. Ulardan biri, bir loyiha ichida boshqa loyihalarni chaqirib ishlata olish, loyihalarni kichik, bir biridan mustaqil qismlarga bo’lib ishlash(Micro-frontend architecture).
Ajoyib usul. Sizda birnechta loyiha bo’lsa, uni bir joyda jamlay olasiz.
Yoki, bir juda katta loyihangizni birnechta qismlarga bo’lib, alohida jamoalarga topshirsangiz bo’ladi. Va hkz.
Avval bunday usulni “Iframe” bilan qilish moda edi.
Bitrix24 saytini ko’rgandim, shunday qilishgan ekan.
Lekin Iframe’ni o’ziga xos muommolari bor.
- SEO muommolari
- Xafvsizlik muommolari
- Data ulashish
- va hkz
Webpack shu sabab yangi alternativ usul o’ylab chiqqan. Module-federation.
Bunda dasturlar 2 turda bo’ladi. Host va remote.
Host - O’z ichida boshqa loyihalarni(remotes) chaqirib, ishlatuvchi loyiha🏠
Remote - Boshqa bir loyihada ishlatiluvchi sub-loyiha 🛋
Bunda “remote” loyihalar o’zini ishlatish uchun Webpack sozlamalariga ega bo’ladi(remoteEntry).
Host shu faylga murojaat qilgan holda, ikkinchi loyihani kodlarini oladi. So’ng, ularni o’z loyihasi ichiga yangi “Module” sifatida yuklaydi. Bunda istasangiz “route” orqali shu loyihani ochadigan kod yozsangiz bo’ladi.
Ha, shu bilan birga “remote” loyiha yuklanishi tez bo’lishi uchun, uning ichidagi kutubxonalar “host” ichida ishlatilgan bo’lsa, Webpack bu kutubxonalarni qayta yuklamaydi. Borini ishlatadi. Bu orqali esa “singleton” ravishda istalgan modulingizni ishlatsangiz bo’ladi(Shared data uchun ajoyib usul)👍
Qisqacha aytganda shular. Savollaringizni kommentda qoldirishingiz mumkin💬
“To’xtaaaaa, axir biz Webpack’dan voz kechyapmizku😡 ” deysizmi?
Unda keyingi postlarda “Esbuild”, “Vite” va boshqalarni ishlatuvchilar uchun qiziq ma’lumot ulashamiz inshaaAlloh.
#moduleFederation #architecture
@JoshDeveloper
Bir necha haftalardan beri shu mavzular ichida yuribman. Loyiha quryapman. Sizlarga ham ozgina ma’lumotlar ulashsam degandim.
Shu paytgacha loyihalar arxitekturasiga har xil talablar qo’shilib kelgan. Ulardan biri, bir loyiha ichida boshqa loyihalarni chaqirib ishlata olish, loyihalarni kichik, bir biridan mustaqil qismlarga bo’lib ishlash(Micro-frontend architecture).
Ajoyib usul. Sizda birnechta loyiha bo’lsa, uni bir joyda jamlay olasiz.
Yoki, bir juda katta loyihangizni birnechta qismlarga bo’lib, alohida jamoalarga topshirsangiz bo’ladi. Va hkz.
Avval bunday usulni “Iframe” bilan qilish moda edi.
Bitrix24 saytini ko’rgandim, shunday qilishgan ekan.
Lekin Iframe’ni o’ziga xos muommolari bor.
- SEO muommolari
- Xafvsizlik muommolari
- Data ulashish
- va hkz
Webpack shu sabab yangi alternativ usul o’ylab chiqqan. Module-federation.
Bunda dasturlar 2 turda bo’ladi. Host va remote.
Host - O’z ichida boshqa loyihalarni(remotes) chaqirib, ishlatuvchi loyiha
Remote - Boshqa bir loyihada ishlatiluvchi sub-loyiha 🛋
Bunda “remote” loyihalar o’zini ishlatish uchun Webpack sozlamalariga ega bo’ladi(remoteEntry).
Host shu faylga murojaat qilgan holda, ikkinchi loyihani kodlarini oladi. So’ng, ularni o’z loyihasi ichiga yangi “Module” sifatida yuklaydi. Bunda istasangiz “route” orqali shu loyihani ochadigan kod yozsangiz bo’ladi.
Ha, shu bilan birga “remote” loyiha yuklanishi tez bo’lishi uchun, uning ichidagi kutubxonalar “host” ichida ishlatilgan bo’lsa, Webpack bu kutubxonalarni qayta yuklamaydi. Borini ishlatadi. Bu orqali esa “singleton” ravishda istalgan modulingizni ishlatsangiz bo’ladi(Shared data uchun ajoyib usul)
Qisqacha aytganda shular. Savollaringizni kommentda qoldirishingiz mumkin
“To’xtaaaaa, axir biz Webpack’dan voz kechyapmizku
Unda keyingi postlarda “Esbuild”, “Vite” va boshqalarni ishlatuvchilar uchun qiziq ma’lumot ulashamiz inshaaAlloh.
#moduleFederation #architecture
@JoshDeveloper
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53⚡7🤝2❤1🫡1
Josh*Developer
Module-federation Bir necha haftalardan beri shu mavzular ichida yuribman. Loyiha quryapman. Sizlarga ham ozgina ma’lumotlar ulashsam degandim. Shu paytgacha loyihalar arxitekturasiga har xil talablar qo’shilib kelgan. Ulardan biri, bir loyiha ichida boshqa…
Native-federation
Ushbu tepadagi maqoladan keyin o’ylagan bo’lsangiz kerak, “Webpack uchun bor ekan bunday narsa, ammo, biz Esbuild yoki Vite yoki boshqasini ishlatamizku”, deya.
Unday holatlar uchun, hozirda o’zimiz ishlatayotganim, “Native-federation” yaxshi tanlov ekan. Hammasiga universal.
Ammo, bitta “No” tomoni, bu bilan Webpack’da qilingan loyihalarni birgalikda ishlata olmaysiz.
Shu paytgacha ikkala holatda ham eng ko’p qiynagan narsa, “paket”larni versiyalari. Shu sabab oxirgi loyihamizni Monorepo’da ko’tarishga qaror qildik. Hamma loyihalar bitta versiyada bo’ladi.(Birxil package.json ishlatadi-da)
“Monorepo” - Birnechta loyihalarni bitta repository’da ishlatish.
Maqolani uzunroq yozmoqchi edim, ammo hali beri vaqt ajrata olmasam kerak deb, qisqa ma’lumot beraqolay dedim.
#architecture
@JoshDeveloper
Ushbu tepadagi maqoladan keyin o’ylagan bo’lsangiz kerak, “Webpack uchun bor ekan bunday narsa, ammo, biz Esbuild yoki Vite yoki boshqasini ishlatamizku”, deya.
Unday holatlar uchun, hozirda o’zimiz ishlatayotganim, “Native-federation” yaxshi tanlov ekan. Hammasiga universal.
Ammo, bitta “No” tomoni, bu bilan Webpack’da qilingan loyihalarni birgalikda ishlata olmaysiz.
Shu paytgacha ikkala holatda ham eng ko’p qiynagan narsa, “paket”larni versiyalari. Shu sabab oxirgi loyihamizni Monorepo’da ko’tarishga qaror qildik. Hamma loyihalar bitta versiyada bo’ladi.(Birxil package.json ishlatadi-da)
“Monorepo” - Birnechta loyihalarni bitta repository’da ishlatish.
Maqolani uzunroq yozmoqchi edim, ammo hali beri vaqt ajrata olmasam kerak deb, qisqa ma’lumot beraqolay dedim.
#architecture
@JoshDeveloper
🔥10👍8⚡4
Frontend arxitekturasi mavzularida darslar qilish vaqti ham keldi. O’zbek Frontend dasturchilari orasida nihoyat shu mavzu ancha aktuallashib qoldi.
Shu yo’ldan yurishni boshlaymizmi? 😉️️️️️️
#architecture
@JoshDeveloper
Shu yo’ldan yurishni boshlaymizmi? 😉️️️️️️
#architecture
@JoshDeveloper
👍151🔥29🫡9😎3⚡2
Forwarded from Vector IT Academy
Frontend arxitekturasini o’rganish payti keldi 😎
👀 Frontend arxitekturasini o’rganib, kam sonli mutaxassislar qatoriga qo’shilishni xohlaysiz, ammo bunga qanday erishishni bilmayapsizmi?
☺️ Muammo yo’q! “Vector IT academy” sizlarga tezkor “Frontend architecture” kursini taqdim qiladi.
✅ Mentorimiz — Umar Sadullayev:
➖Senior Frontend Engineer - EPAM Systems;
➖ Google Developer Expert;
Batafsil ma’lumot uchun:
🔗 LINK
Bog’lanish uchun:
🔗 @vector_academy_admin
#frontend #architecture
@vector_academy_uz — bilim va tajriba kesishgan nuqta!🫡
➖Senior Frontend Engineer - EPAM Systems;
➖ Google Developer Expert;
📌 Kurs davomida eng yaxshi o'qigan 5 tagacha o'quvchiga sertifikat va ishga joylashishiga ko’mak beriladi (mentor tomonidan referral va maslahatlar orqali)
Batafsil ma’lumot uchun:
Bog’lanish uchun:
#frontend #architecture
@vector_academy_uz — bilim va tajriba kesishgan nuqta!
Please open Telegram to view this post
VIEW IN TELEGRAM
974🔥11👍3❤2
Frontend loyihasining arxitekturaviy tarkibi.
Siz bularni bilasizmi?
"Frontend arxitektura" kursida ushbularni nima ekanini tushunib olishingiz mumkin, qabul yopilishiga ko'p qolmadi 😉
#architecture
@JoshDeveloper
Siz bularni bilasizmi?
"Frontend arxitektura" kursida ushbularni nima ekanini tushunib olishingiz mumkin, qabul yopilishiga ko'p qolmadi 😉
#architecture
@JoshDeveloper
🔥11❤4⚡3
Tugay deb qolgan Frontend architecture jonli kursimiz videolarini sotuvga chiqishini kutayotganlar bormi?
#architecture
@JoshDeveloper
#architecture
@JoshDeveloper
👍66❤6🔥3😐3
Frontend arxitektura kursimiz tugashiga 2-3 ta dars qoldi. 12 ta dars o’tib bo’lindi.
Yaqin kunlarda sotuv e’loni chiqadi, inshaaAlloh. Birinchi 10 ta sotuvga 10% chegirma beryapmiz.
Sotib olish niyatidagilar, tayyor turasizlar 😉
#architecture
@JoshDeveloper
Yaqin kunlarda sotuv e’loni chiqadi, inshaaAlloh. Birinchi 10 ta sotuvga 10% chegirma beryapmiz.
Sotib olish niyatidagilar, tayyor turasizlar 😉
#architecture
@JoshDeveloper
1👍23🤩8❤4
1 soatga kursimizni e'loni chiqadi, Xudo xohlasa.
E'lon matni ustida ishlayapmiz. Va'da qilganimizdek birinchi 10 ta insonga 10% chegirma beramiz.
#architecture
@JoshDeveloper
E'lon matni ustida ishlayapmiz. Va'da qilganimizdek birinchi 10 ta insonga 10% chegirma beramiz.
#architecture
@JoshDeveloper
🤝10👍3🔥3
Forwarded from Vector IT Academy
Frontend arxitekturasini videodarslardan o’rganish payti keldi 😎
👀 Frontend arxitekturasini o’rganib, kam sonli mutaxassislar qatoriga qo’shilishni xohlaysiz, ammo bunga qanday erishishni bilmayapsizmi?
😉 Unda bizning videodarslarimizni kutib oling.
✅ Mentorimiz — Umar Sadullayev:
➖Senior Frontend Engineer - EPAM Systems;
➖Google Developer Expert;
📌 Batafsil ma’lumot uchun:
🔗 LINK
Bog’lanish uchun:
🔗 @vector_academy_admin
#frontend #architecture
@vector_academy_uz — bilim va tajriba kesishgan nuqta! 🫡
👀 Frontend arxitekturasini o’rganib, kam sonli mutaxassislar qatoriga qo’shilishni xohlaysiz, ammo bunga qanday erishishni bilmayapsizmi?
😉 Unda bizning videodarslarimizni kutib oling.
✅ Mentorimiz — Umar Sadullayev:
➖Senior Frontend Engineer - EPAM Systems;
➖Google Developer Expert;
📌 Batafsil ma’lumot uchun:
🔗 LINK
Bog’lanish uchun:
🔗 @vector_academy_admin
#frontend #architecture
@vector_academy_uz — bilim va tajriba kesishgan nuqta! 🫡
🔥9⚡2🎉2😎1
"Software System design" uchun roadmap bor ekan.
Mana: https://roadmap.sh/system-design
Buyerda esa "Software architecture" uchun ham roadmap bor ekan: https://roadmap.sh/software-architect
Bularda ko'proq butun sistemani dizayn/arxitektura qilish uchun roadmap berilgan. Hammasini bilish talab qilinmaydi albatta. Ammo, har oy 1-2 ta qismni yopib yurishga arziydi qiziqqanlarga.
#architecture #systemDesign
@JoshDeveloper
Mana: https://roadmap.sh/system-design
Buyerda esa "Software architecture" uchun ham roadmap bor ekan: https://roadmap.sh/software-architect
Bularda ko'proq butun sistemani dizayn/arxitektura qilish uchun roadmap berilgan. Hammasini bilish talab qilinmaydi albatta. Ammo, har oy 1-2 ta qismni yopib yurishga arziydi qiziqqanlarga.
#architecture #systemDesign
@JoshDeveloper
roadmap.sh
System Design Roadmap
Learn system design in 2025 with this step by step guide and resources.
⚡15❤2👏2