React Context vs Redux ๐ฏ
Letโs break it down, what they do, when to use them, and how to choose the right one for your app.
โค5๐1
ู
ูููู
ุงูู API Rate Limiting ๐ก
.
.
ุชุฎูู ุฅู ุนูุฏู Event ุถุฎู ููู ุงููุงุณ ูุชุฏุฎู ู ู ุจุงุจ ูุงุญุฏ ุจุณ. ูู ูู ุงููุงุณ ุญุงููุช ุชุฏุฎู ูู ููุณ ุงููุญุธุฉุ ุฅูู ุงููู ููุญุตูุ ุฒุญู ุฉุ ููุถูุ ูู ู ูู ุงูู Event ูุชูุบู.
ููุณ ุงูููุฑุฉ ุจุชุญุตู ู ุน ุฃู APIโฆ ูู ุง ุนุฏุฏ ูุจูุฑ ุฌุฏูุง ู ู ุงูู Requests ููุตู ููุณูุฑูุฑ ูู ููุณ ุงูููุชุ ุงูุฃุฏุงุก ุจูููุงุฑุ ูุงูู Users ุจูุจุฏุฃูุง ูุญุณูุง ุฅู ุงูุฎุฏู ุฉ ุจุทูุฆุฉ ุฃู ู ุด ุดุบุงูุฉ.
ููุง ุจูุฌู ุฏูุฑ ุงูู API Rate Limitingุ ุงููู ูู ุจุจุณุงุทุฉ ูุธุงู ุจูุญุท ุญุฏูุฏ ูุงุถุญุฉ ูุนุฏุฏ ุงูู Requests ุงููู ุฃู ู ุณุชุฎุฏู ุฃู ุชุทุจูู ููุฏุฑ ูุจุนุชู ูู ูุชุฑุฉ ุฒู ููุฉ ู ุญุฏุฏุฉุ ุนุดุงู ูุถู ู ุฅู ุงูุฎุฏู ุฉ ุชูุถู ู ุณุชูุฑุฉ ูุณุฑูุนุฉ ููู ุงููุงุณ.
โโโ
๐ค ููู ูุนู ู Rate Limitingุ
1- ุญู ุงูุฉ ุงูู Server
ูู ุงูู API ุงุณุชูุจู ุนุฏุฏ Requests ุฃูุชุฑ ู ู ุทุงูุชูุ ู ู ูู ููุน ุฃู ูุดุชุบู ุจุจุทุก ุดุฏูุฏ. ุงูู Rate Limiting ุจูุญุงูุธ ุนูู ุฃุฏุงุก ุงูุณูุฑูุฑ.
2- ู ูุน ุงูู Abuse
ููู ูุงุณ ุจุชุญุจ ุชุฌุฑุจ ุชุจุนุช ู ูุงููู Requests ุจุณุฑุนุฉ ุนุดุงู ุชูุงู ุฃู ุชุนู ู Spam. ุงูุญุฏูุฏ ุฏู ุจุชููููู .
3- ุชูุฒูุน ุงูู Resources ุจุทุฑููุฉ ู ูุงุณุจุฉ
ูู ููู ุฃูุชุฑ ู ู ุนู ูู ุจูุณุชุฎุฏู ุงูู APIุ ู ุด ู ุนููู ูุงุญุฏ ู ููู ูุงุฎุฏ 90% ู ู ุงูู Resources ูุงูุจุงูู ูุชุฎุงูููุง ู ุน ุจุนุถ.
โโโ
โ๏ธ ุฅุฒุงู ูุทุจู ุงูู Rate Limitingุ
- ุงูู Fixed Window
ุจุชุญุฏุฏ ู ุซููุง 100 ุทูุจ ูู ูู ุฏูููุฉ. ูู ุนุฏูุช ุงูุนุฏุฏุ ูุชุงุฎุฏ Error (ุบุงูุจูุง 429 Too Many Requests) ูุญุฏ ู ุง ุงูุฏูููุฉ ุชุฎูุต.
- ุงูู Sliding Window
ููุณ ููุฑุฉ ุงูู Fixed Window ุจุณ ุฃุฐูู ุดููุฉ. ุจูุญุณุจ requests ุฎูุงู ุขุฎุฑ ูุชุฑุฉ ุฒู ููุฉ ู ุชุญุฑูุฉ ุจุฏู ู ุง ููุณู ุงูููุช ูู ุฑุจุนุงุช ุซุงุจุชุฉ.
- ุงูู Token Bucket
ุนูุฏู "ุฌูุจ" ููู Tokensุ ูู Request ุจูุงุฎุฏ Token. ุงูู Tokens ุจุชุชุฌุฏุฏ ุจู ุนุฏู ุซุงุจุช. ูู ุงูุฌูุจ ูุงุถูุ ุงุณุชูู ูุญุฏ ู ุง ูุชุฌุฏุฏ.
- ุงูู Leaky Bucket
ุฒู ุงูุตููุญุฉ ุงููู ูููุง ุซูุจ ุตุบูุฑ ุจูููุท Requests ุจู ุนุฏู ุซุงุจุชุ ุญุชู ูู ุฌุงูู ุฏูุนุฉ ูุจูุฑุฉ ูุฌุฃุฉ.
โโโ
๐ก ูุตุงุฆุญ ูู ุฃูุช ุจุชุจูู API
- ุญุฏุฏ ู ุนุฏู Requests ู ุนููู ุจูุงุกู ุนูู ูุฏุฑุงุช ุงูุณูุฑูุฑ ูุนุฏุฏ ุงูุนู ูุงุก.
- ุงุณุชุฎุฏู Caching ูู ุงูุญุงุฌุงุช ุงููู ู ุด ู ุญุชุงุฌุฉ ุชุชุทูุจ ู ู ุงูุณูุฑูุฑ ูู ู ุฑุฉ.
- ุฎูู ุนูุฏู ุฎุทุฉ ูุชุนุงู ู ุฎุงุต ู ุน ุงูุนู ูุงุก ุงูู ูู ูู (Premium Users).
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฅู ุนูุฏู Event ุถุฎู ููู ุงููุงุณ ูุชุฏุฎู ู ู ุจุงุจ ูุงุญุฏ ุจุณ. ูู ูู ุงููุงุณ ุญุงููุช ุชุฏุฎู ูู ููุณ ุงููุญุธุฉุ ุฅูู ุงููู ููุญุตูุ ุฒุญู ุฉุ ููุถูุ ูู ู ูู ุงูู Event ูุชูุบู.
ููุณ ุงูููุฑุฉ ุจุชุญุตู ู ุน ุฃู APIโฆ ูู ุง ุนุฏุฏ ูุจูุฑ ุฌุฏูุง ู ู ุงูู Requests ููุตู ููุณูุฑูุฑ ูู ููุณ ุงูููุชุ ุงูุฃุฏุงุก ุจูููุงุฑุ ูุงูู Users ุจูุจุฏุฃูุง ูุญุณูุง ุฅู ุงูุฎุฏู ุฉ ุจุทูุฆุฉ ุฃู ู ุด ุดุบุงูุฉ.
ููุง ุจูุฌู ุฏูุฑ ุงูู API Rate Limitingุ ุงููู ูู ุจุจุณุงุทุฉ ูุธุงู ุจูุญุท ุญุฏูุฏ ูุงุถุญุฉ ูุนุฏุฏ ุงูู Requests ุงููู ุฃู ู ุณุชุฎุฏู ุฃู ุชุทุจูู ููุฏุฑ ูุจุนุชู ูู ูุชุฑุฉ ุฒู ููุฉ ู ุญุฏุฏุฉุ ุนุดุงู ูุถู ู ุฅู ุงูุฎุฏู ุฉ ุชูุถู ู ุณุชูุฑุฉ ูุณุฑูุนุฉ ููู ุงููุงุณ.
โโโ
๐ค ููู ูุนู ู Rate Limitingุ
1- ุญู ุงูุฉ ุงูู Server
ูู ุงูู API ุงุณุชูุจู ุนุฏุฏ Requests ุฃูุชุฑ ู ู ุทุงูุชูุ ู ู ูู ููุน ุฃู ูุดุชุบู ุจุจุทุก ุดุฏูุฏ. ุงูู Rate Limiting ุจูุญุงูุธ ุนูู ุฃุฏุงุก ุงูุณูุฑูุฑ.
2- ู ูุน ุงูู Abuse
ููู ูุงุณ ุจุชุญุจ ุชุฌุฑุจ ุชุจุนุช ู ูุงููู Requests ุจุณุฑุนุฉ ุนุดุงู ุชูุงู ุฃู ุชุนู ู Spam. ุงูุญุฏูุฏ ุฏู ุจุชููููู .
3- ุชูุฒูุน ุงูู Resources ุจุทุฑููุฉ ู ูุงุณุจุฉ
ูู ููู ุฃูุชุฑ ู ู ุนู ูู ุจูุณุชุฎุฏู ุงูู APIุ ู ุด ู ุนููู ูุงุญุฏ ู ููู ูุงุฎุฏ 90% ู ู ุงูู Resources ูุงูุจุงูู ูุชุฎุงูููุง ู ุน ุจุนุถ.
โโโ
โ๏ธ ุฅุฒุงู ูุทุจู ุงูู Rate Limitingุ
- ุงูู Fixed Window
ุจุชุญุฏุฏ ู ุซููุง 100 ุทูุจ ูู ูู ุฏูููุฉ. ูู ุนุฏูุช ุงูุนุฏุฏุ ูุชุงุฎุฏ Error (ุบุงูุจูุง 429 Too Many Requests) ูุญุฏ ู ุง ุงูุฏูููุฉ ุชุฎูุต.
- ุงูู Sliding Window
ููุณ ููุฑุฉ ุงูู Fixed Window ุจุณ ุฃุฐูู ุดููุฉ. ุจูุญุณุจ requests ุฎูุงู ุขุฎุฑ ูุชุฑุฉ ุฒู ููุฉ ู ุชุญุฑูุฉ ุจุฏู ู ุง ููุณู ุงูููุช ูู ุฑุจุนุงุช ุซุงุจุชุฉ.
- ุงูู Token Bucket
ุนูุฏู "ุฌูุจ" ููู Tokensุ ูู Request ุจูุงุฎุฏ Token. ุงูู Tokens ุจุชุชุฌุฏุฏ ุจู ุนุฏู ุซุงุจุช. ูู ุงูุฌูุจ ูุงุถูุ ุงุณุชูู ูุญุฏ ู ุง ูุชุฌุฏุฏ.
- ุงูู Leaky Bucket
ุฒู ุงูุตููุญุฉ ุงููู ูููุง ุซูุจ ุตุบูุฑ ุจูููุท Requests ุจู ุนุฏู ุซุงุจุชุ ุญุชู ูู ุฌุงูู ุฏูุนุฉ ูุจูุฑุฉ ูุฌุฃุฉ.
โโโ
๐ก ูุตุงุฆุญ ูู ุฃูุช ุจุชุจูู API
- ุญุฏุฏ ู ุนุฏู Requests ู ุนููู ุจูุงุกู ุนูู ูุฏุฑุงุช ุงูุณูุฑูุฑ ูุนุฏุฏ ุงูุนู ูุงุก.
- ุงุณุชุฎุฏู Caching ูู ุงูุญุงุฌุงุช ุงููู ู ุด ู ุญุชุงุฌุฉ ุชุชุทูุจ ู ู ุงูุณูุฑูุฑ ูู ู ุฑุฉ.
- ุฎูู ุนูุฏู ุฎุทุฉ ูุชุนุงู ู ุฎุงุต ู ุน ุงูุนู ูุงุก ุงูู ูู ูู (Premium Users).
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค3
ู
ูููู
ุงูู Webhooks ๐ก
.
.
ุชุฎูู ู ุนุงูุง ุฅูู ู ุณุชูู ุตุงุญุจู ูุฌููู. ุจุฏู ู ุง ูู ุดููุฉ ุชููู ุชุจุต ู ู ุงูุดุจุงู ุชุดูู ูุตู ููุง ูุงุ ูู ุฃูู ู ุง ููุตู ูุจุนุชูู ุฑุณุงูุฉ ููููู "ุฃูุง ูุตูุช".
ุงูุณููุงุฑูู ุฏู ุจุงูุถุจุท ุดุจู ุงููู ุจูุนู ูู ุงูู Webhook. ุจุฏู ู ุง ุงูู Application ุจุชุงุนู ููุถู ูู ุดููุฉ ูุณุฃู "ููู ุญุงุฌุฉ ุฌุฏูุฏุฉ ุญุตูุชุ" (ูุฏู ุงุณู ู Polling)ุ ุงูู Webhook ุจูุฎูู ุงูู System ุงูุชุงูู ูู ุงููู ูุจุนุชูู ุฃูู ู ุง ูุญุตู ุงูุชุบููุฑ.
โโโ
๐ LinkedIn:
https://www.linkedin.com/posts/mentoor-io_sofwaredevelopment-softwareengineering-softwaredeveloper-activity-7360720810849763329-4CYv
๐ Facebook:
https://www.facebook.com/share/p/1Bv7LHEAcf
๐ Qabilah:
https://qabilah.com/posts/5Tod1qKZvxU
.
.
ุชุฎูู ู ุนุงูุง ุฅูู ู ุณุชูู ุตุงุญุจู ูุฌููู. ุจุฏู ู ุง ูู ุดููุฉ ุชููู ุชุจุต ู ู ุงูุดุจุงู ุชุดูู ูุตู ููุง ูุงุ ูู ุฃูู ู ุง ููุตู ูุจุนุชูู ุฑุณุงูุฉ ููููู "ุฃูุง ูุตูุช".
ุงูุณููุงุฑูู ุฏู ุจุงูุถุจุท ุดุจู ุงููู ุจูุนู ูู ุงูู Webhook. ุจุฏู ู ุง ุงูู Application ุจุชุงุนู ููุถู ูู ุดููุฉ ูุณุฃู "ููู ุญุงุฌุฉ ุฌุฏูุฏุฉ ุญุตูุชุ" (ูุฏู ุงุณู ู Polling)ุ ุงูู Webhook ุจูุฎูู ุงูู System ุงูุชุงูู ูู ุงููู ูุจุนุชูู ุฃูู ู ุง ูุญุตู ุงูุชุบููุฑ.
โโโ
๐ LinkedIn:
https://www.linkedin.com/posts/mentoor-io_sofwaredevelopment-softwareengineering-softwaredeveloper-activity-7360720810849763329-4CYv
๐ Facebook:
https://www.facebook.com/share/p/1Bv7LHEAcf
๐ Qabilah:
https://qabilah.com/posts/5Tod1qKZvxU
โค5
ููู ุชุนู
ู ุงูู JavaScript ุฎูู ุงูููุงููุณุ JS Event Loop
https://youtu.be/5PbmjScmt4Y
โโโ
๐ก ุณุคุงู ู ูู ุฌุฏูุง ููุชูุงุจูู ุชูุฑูุจูุง ูู ุฃู ุงูุชุฑููู ูู ุนูุงูุฉ ุจุงูู JS
https://youtu.be/5PbmjScmt4Y
โโโ
๐ก ุณุคุงู ู ูู ุฌุฏูุง ููุชูุงุจูู ุชูุฑูุจูุง ูู ุฃู ุงูุชุฑููู ูู ุนูุงูุฉ ุจุงูู JS
โค6๐1
Writing tests that actually last?
Letโs go beyond โit rendersโ and explore how to write robust, maintainable tests with React Testing Library
โค4
ุงููุฑู ุจูู ุงูู Monorepo ูุงูู Multirepo ๐ฏ
.
.
ุชุฎูู ุฃูู ุดุบุงู ุนูู ู ุดุฑูุน ุถุฎู ุ ุนูุฏู ุฃูุชุฑ ู ู ูุฑููุ ููู ูุฑูู ุจูุดุชุบู ุนูู ุฌุฒุก ู ุฎุชูู. ูุฌุฃุฉุ ุชุจุฏุฃ ุงูู ุดุงูู ุชุธูุฑ: ููุฏ ู ูุฑุฑุ ุตุนูุจุฉ ูู ุงูุชุนุฏููุงุชุ ุชุนุงุฑุถ ุจูู ุงููุฑูุ ูุฃููุงุช ุถุงูุนุฉ ุนูู ุงูู builds ูุงูู pipelines.
ุงูู ุดููุฉ ููุง ู ู ูู ุชููู ูู ุงูุทุฑููุฉ ุงููู ุจุชูุธู ุจูุง ุงูููุฏ ุจุชุงุนู. ๐ก
ููุง ุชุจุฏุฃ ุชุณุฃู ููุณู: ุชุฎุชุงุฑ Monorepo ููุง Multirepoุ
ูู ุทุฑููุฉ ููุง ู ูุฒุงุชูุง ูุนููุจูุงุ ูุงุฎุชูุงุฑู ู ู ูู ูุญุณู ุดุบูู ุจูุณุจุฉ ูุจูุฑุฉ ุฃู ูุนูุฏ ุญูุงุชู ูู ุงุฎุชุงุฑุช ุงูุบูุท.
ุชุนุงู ููุถุญ ุงููุฑู ุจูููู ูุงู ุชู ุชุฎุชุงุฑ ุงูุทุฑููุฉ ุงูู ูุงุณุจุฉ...
โโโ
ุงูู Monorepo ุจุจุณุงุทุฉ ูู ุฅูู ุชุญุท ูู ุงูููุฏ ุงูุฎุงุต ุจุงูู ุดุฑูุน ุจุชุงุนูุ ุจูู ุงูู components ุฃู ุงูู modules ุงููู ูููุ ุฏุงุฎู Repository ูุงุญุฏ.
ูุนูู ุญุชู ูู ุนูุฏู ุฃูุชุฑ ู ู ุฎุฏู ุฉ (microservices) ุฃู ุฃูุชุฑ ู ู ู ูุชุจุฉ ุฃู ุฃูุชุฑ ู ู ุชุทุจูู ู ุฑุชุจุทูู ุจุจุนุถุ ููู ุจูููู ูู ู ูุงู ูุงุญุฏ.
โโโ
- ุณูููุฉ ุฅุฏุงุฑุฉ ุงูููุฏ: ูู ุญุงุฌุฉ ูู ู ูุงู ูุงุญุฏุ ููู ุนุงูุฒ ุชุนู ู ุชุบููุฑุงุช ุนูู ุฃูุชุฑ ู ู ุฌุฒุกุ ูุชุจูู ุดุงูู ุงูุตูุฑุฉ ุงููุจูุฑุฉ ุจุณูููุฉ.
- ุฅุนุงุฏุฉ ุงุณุชุฎุฏุงู ุงูููุฏ (Code Reusability): ูู ูู ู ูุชุจุฉ ุฃู ุฌุฒุก ู ุนูู ู ู ุงูููุฏ ู ุญุชุงุฌ ุชุณุชุฎุฏู ู ูู ุฃูุชุฑ ู ู ู ูุฏูููุ ุชูุฏุฑ ุชุนู ูู ุจุณูููุฉ ู ู ุบูุฑ duplication.
- ุชูุณูู ุฃูุถู ุจูู ุงููุฑู: ูู ูุฑูู ุดุงูู ุงูููุฏ ุจุชุงุน ุจุงูู ุงููุฑูุ ูุฏู ุจูุณูู ุงูุชุนุงูู ุจูููู ูุจูููู ุชุนุงุฑุถ ุงูุชุนุฏููุงุช (conflicts).
- ุชูุงู ู ุฃูุถู ุจูู ุงูุฃุฏูุงุช: ุฒู ุงูู CI/CD (Continuous Integration/Continuous Deployment) ุงููู ุจูุดุชุบู ุจุณูููุฉ ุนูู ู ุดุฑูุน ูุงุญุฏ ุจุฏู ู ุง ูุชูุณู ุนูู ุฃูุชุฑ ู ู repository.
โโโ
- ุงูุญุฌู ุงููุจูุฑ ููู repo: ู ุน ู ุฑูุฑ ุงูููุช ูุนุฏุฏ ุงูู ุณุงูู ูู ุงููุจูุฑุ ุญุฌู ุงูู repo ุจููุจุฑ ูุฏู ู ู ูู ูุจุทูุฃ ุงูุนู ููุงุช ุฒู cloning ุฃู ุญุชู ุงูู builds.
- ุงูุชุนููุฏ ูู ุฅุฏุงุฑุฉ ุงูุตูุงุญูุงุช: ุตุนุจ ุชููู ุฅู ููุงู ููุฏุฑ ูุดุชุบู ุนูู ุฌุฒุก ู ุนูู ุจุณ ู ู ุบูุฑ ู ุง ูุดูู ุงูุจุงูู.
- ู ุดุงูู ู ุน ุงูู Tools: ูู ู ุด ุนูุฏู ุฃุฏูุงุช ูููุฉ ูุฅุฏุงุฑุฉ ุงูู monorepoุ ู ู ูู ุชูุงุฌู ู ุดุงูู ูู ุงูุชูุธูู ูุนู ููุฉ ุงูู build.
โโโ
ุนูู ุงูุนูุณ ุชู ุงู ูุงุ ุงูู Multirepo ู ุนูุงูุง ุฅู ูู ุฌุฒุก ุฃู ู ูุฏููู ู ู ุงูู ุดุฑูุน ูููู ูู Repository ุฎุงุต ุจู. ูุนูู ูู ู ูุฏููู ุจูุจูู ู ุณุชูู ุจุฐุงุชู ููุฃูู ู ุดุฑูุน ููุญุฏู.
โโโ
- ูู ู ูุฏููู ููู ุญูุงุชู ุงูุฎุงุตุฉุ ูุฏู ุจูุฎูู ุฅุฏุงุฑุฉ ูู ุฌุฒุก ู ุณุชููุฉ ูุฃุณูู ูุจุนุถ ุงููุฑู.
- ุชูุฏุฑ ุชุญุฏุฏ ู ูู ูุดุชุบู ุนูู ุฅูู ุจูุงุกู ุนูู ุงูู repo ุงููู ุนูุฏูู ุฃูุณุณ ุนููู.
- ูู ููู ู ูุฏููู ุฃู ุฎุฏู ุฉ ู ุด ู ุฑุชุจุท ุจุดูู ู ุจุงุดุฑุ ู ุด ู ุญุชุงุฌ ุชุจูู ูู ุงูู ุดุฑูุนุ ุจุณ ุชุจูู ุงูุฌุฒุก ุงููู ู ุญุชุงุฌู.
- ูู ุฌุฒุก ุจูููู ุตุบูุฑ ูู ุณุชููุ ูุฏู ุจูุฎูู ุงูุนู ููุงุช ุฒู cloning ุฃุณุฑุน ูุฃุณูู.
โโโ
- ุชูุฑุงุฑ ุงูููุฏ: ูู ููู ุฃูุชุฑ ู ู ู ูุฏููู ุจูุญุชุงุฌ ููุณ ุงูููุฏุ ู ู ูู ุชุถุทุฑ ุชูุฑุฑู ุฃู ุชุญุท ู ูุชุจุฉ ู ููุตูุฉ ููู.
- ุชุนููุฏ ูู ุงูุชูุณูู ุจูู ุงููุฑู: ุงูุชุนุงูู ุจูู ุงููุฑู ุจูุจูู ุฃุตุนุจุ ูุฎุตูุตูุง ูู ุง ูููู ููู dependencies ูุชูุฑ ุจูู ุงูู modules.
- ุชูุงู ู ู ุนูุฏ ููู CI/CD: ุนุดุงู ูู ุฌุฒุก ูู Repository ู ุฎุชููุ ูุชุญุชุงุฌ ุฅุนุฏุงุฏุงุช ุฃูุชุฑ ููู pipelines ุนุดุงู ูู ุญุงุฌุฉ ุชุดุชุบู ู ุน ุจุนุถ.
- ุตุนูุจุฉ ูู ุฅุฏุงุฑุฉ ุงูุชุบููุฑุงุช ุงููุจูุฑุฉ: ูู ุนูุฏู ุชุบููุฑ ุถุฎู ุจูุฃุซุฑ ุนูู ุฃูุชุฑ ู ู ู ูุฏูููุ ูุชุญุชุงุฌ ุชุฏุฎู ุนูู ูุฐุง repo ูุชุนุฏู ูู ูู ูุงุญุฏ ููุญุฏู.
โโโ
โ ุงุฎุชุฑ Monorepo ูู:
1- ู ุดุฑูุนู ุนุจุงุฑุฉ ุนู ู ุฌู ูุนุฉ modules ู ุฑุชุจุทุฉ ุจุจุนุถูุง.
2- ุนูุฏู ูุฑูู ุตุบูุฑ ุฃู ู ุชูุณุท.
3- ุจุชุญุชุงุฌ ุชุนู ู ุชุบููุฑุงุช ุจุดูู ู ุชูุฑุฑ ุนูู ุฃูุชุฑ ู ู ู ูุฏููู ูู ููุณ ุงูููุช.
4- ุงูุฃุฏูุงุช ุงููู ุจุชุณุชุฎุฏู ูุง ุจุชุฏุนู ุฅุฏุงุฑุฉ monorepos ุจุดูู ูููุณ.
โ ุงุฎุชุฑ Multirepo ูู:
1- ู ุดุฑูุนู ูุจูุฑ ุฌุฏูุง ูู ุนูุฏุ ููู ุฌุฒุก ููู ู ุณุชูู ุชู ุงู ูุง.
2- ุจุชุญุชุงุฌ ุชุชุญูู ูู ุงูุตูุงุญูุงุช ุนูู ู ุณุชูู ูู ู ูุฏููู.
3- ุนูุฏู ูุฑู ู ุฎุชููุฉ ูู ูุฑูู ุดุบุงู ุนูู ู ูุฏููู ุฎุงุต ุจู.
4- ุนุงูุฒ ุชุชุฌูุจ ุงูู ุดุงูู ุงููู ุจุชุณุจุจูุง ุฃุญุฌุงู ุงูู repos ุงููุจูุฑุฉ.
โโโ
ุงููุฑุงุฑ ูู ุงูุขุฎุฑ ุจูุฑุฌุน ูุทุจูุนุฉ ู ุดุฑูุนู ูุงุญุชูุงุฌุงุช ูุฑููู. ู ููุด ุทุฑููุฉ "ุตุญ" ูุทุฑููุฉ "ุบูุท"ุ ููู ููู ุทุฑููุฉ ู ูุงุณุจุฉ ุฃูุชุฑ ุญุณุจ ุธุฑููู. ุฃูู ุญุงุฌุฉ ุฅูู ุชููู ูุงูู ูู ุทุฑููุฉ ุจุชูุฏู ุฅูู ูุนููุจูุง ุฅูู. ๐ก
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฃูู ุดุบุงู ุนูู ู ุดุฑูุน ุถุฎู ุ ุนูุฏู ุฃูุชุฑ ู ู ูุฑููุ ููู ูุฑูู ุจูุดุชุบู ุนูู ุฌุฒุก ู ุฎุชูู. ูุฌุฃุฉุ ุชุจุฏุฃ ุงูู ุดุงูู ุชุธูุฑ: ููุฏ ู ูุฑุฑุ ุตุนูุจุฉ ูู ุงูุชุนุฏููุงุชุ ุชุนุงุฑุถ ุจูู ุงููุฑูุ ูุฃููุงุช ุถุงูุนุฉ ุนูู ุงูู builds ูุงูู pipelines.
ุงูู ุดููุฉ ููุง ู ู ูู ุชููู ูู ุงูุทุฑููุฉ ุงููู ุจุชูุธู ุจูุง ุงูููุฏ ุจุชุงุนู. ๐ก
ููุง ุชุจุฏุฃ ุชุณุฃู ููุณู: ุชุฎุชุงุฑ Monorepo ููุง Multirepoุ
ูู ุทุฑููุฉ ููุง ู ูุฒุงุชูุง ูุนููุจูุงุ ูุงุฎุชูุงุฑู ู ู ูู ูุญุณู ุดุบูู ุจูุณุจุฉ ูุจูุฑุฉ ุฃู ูุนูุฏ ุญูุงุชู ูู ุงุฎุชุงุฑุช ุงูุบูุท.
ุชุนุงู ููุถุญ ุงููุฑู ุจูููู ูุงู ุชู ุชุฎุชุงุฑ ุงูุทุฑููุฉ ุงูู ูุงุณุจุฉ...
โโโ
๐ ุฃูููุง: ูุนูู ุฅูู Monorepoุ
ุงูู Monorepo ุจุจุณุงุทุฉ ูู ุฅูู ุชุญุท ูู ุงูููุฏ ุงูุฎุงุต ุจุงูู ุดุฑูุน ุจุชุงุนูุ ุจูู ุงูู components ุฃู ุงูู modules ุงููู ูููุ ุฏุงุฎู Repository ูุงุญุฏ.
ูุนูู ุญุชู ูู ุนูุฏู ุฃูุชุฑ ู ู ุฎุฏู ุฉ (microservices) ุฃู ุฃูุชุฑ ู ู ู ูุชุจุฉ ุฃู ุฃูุชุฑ ู ู ุชุทุจูู ู ุฑุชุจุทูู ุจุจุนุถุ ููู ุจูููู ูู ู ูุงู ูุงุญุฏ.
โโโ
๐ ู ู ูุฒุงุช ุงูู Monorepo:
- ุณูููุฉ ุฅุฏุงุฑุฉ ุงูููุฏ: ูู ุญุงุฌุฉ ูู ู ูุงู ูุงุญุฏุ ููู ุนุงูุฒ ุชุนู ู ุชุบููุฑุงุช ุนูู ุฃูุชุฑ ู ู ุฌุฒุกุ ูุชุจูู ุดุงูู ุงูุตูุฑุฉ ุงููุจูุฑุฉ ุจุณูููุฉ.
- ุฅุนุงุฏุฉ ุงุณุชุฎุฏุงู ุงูููุฏ (Code Reusability): ูู ูู ู ูุชุจุฉ ุฃู ุฌุฒุก ู ุนูู ู ู ุงูููุฏ ู ุญุชุงุฌ ุชุณุชุฎุฏู ู ูู ุฃูุชุฑ ู ู ู ูุฏูููุ ุชูุฏุฑ ุชุนู ูู ุจุณูููุฉ ู ู ุบูุฑ duplication.
- ุชูุณูู ุฃูุถู ุจูู ุงููุฑู: ูู ูุฑูู ุดุงูู ุงูููุฏ ุจุชุงุน ุจุงูู ุงููุฑูุ ูุฏู ุจูุณูู ุงูุชุนุงูู ุจูููู ูุจูููู ุชุนุงุฑุถ ุงูุชุนุฏููุงุช (conflicts).
- ุชูุงู ู ุฃูุถู ุจูู ุงูุฃุฏูุงุช: ุฒู ุงูู CI/CD (Continuous Integration/Continuous Deployment) ุงููู ุจูุดุชุบู ุจุณูููุฉ ุนูู ู ุดุฑูุน ูุงุญุฏ ุจุฏู ู ุง ูุชูุณู ุนูู ุฃูุชุฑ ู ู repository.
โโโ
๐ ุนููุจ ุงูู Monorepo:
- ุงูุญุฌู ุงููุจูุฑ ููู repo: ู ุน ู ุฑูุฑ ุงูููุช ูุนุฏุฏ ุงูู ุณุงูู ูู ุงููุจูุฑุ ุญุฌู ุงูู repo ุจููุจุฑ ูุฏู ู ู ูู ูุจุทูุฃ ุงูุนู ููุงุช ุฒู cloning ุฃู ุญุชู ุงูู builds.
- ุงูุชุนููุฏ ูู ุฅุฏุงุฑุฉ ุงูุตูุงุญูุงุช: ุตุนุจ ุชููู ุฅู ููุงู ููุฏุฑ ูุดุชุบู ุนูู ุฌุฒุก ู ุนูู ุจุณ ู ู ุบูุฑ ู ุง ูุดูู ุงูุจุงูู.
- ู ุดุงูู ู ุน ุงูู Tools: ูู ู ุด ุนูุฏู ุฃุฏูุงุช ูููุฉ ูุฅุฏุงุฑุฉ ุงูู monorepoุ ู ู ูู ุชูุงุฌู ู ุดุงูู ูู ุงูุชูุธูู ูุนู ููุฉ ุงูู build.
โโโ
๐ ุซุงูููุง: ูุนูู ุฅูู Multirepoุ
ุนูู ุงูุนูุณ ุชู ุงู ูุงุ ุงูู Multirepo ู ุนูุงูุง ุฅู ูู ุฌุฒุก ุฃู ู ูุฏููู ู ู ุงูู ุดุฑูุน ูููู ูู Repository ุฎุงุต ุจู. ูุนูู ูู ู ูุฏููู ุจูุจูู ู ุณุชูู ุจุฐุงุชู ููุฃูู ู ุดุฑูุน ููุญุฏู.
โโโ
๐ ู ู ูุฒุงุช ุงูู Multirepo:
- ูู ู ูุฏููู ููู ุญูุงุชู ุงูุฎุงุตุฉุ ูุฏู ุจูุฎูู ุฅุฏุงุฑุฉ ูู ุฌุฒุก ู ุณุชููุฉ ูุฃุณูู ูุจุนุถ ุงููุฑู.
- ุชูุฏุฑ ุชุญุฏุฏ ู ูู ูุดุชุบู ุนูู ุฅูู ุจูุงุกู ุนูู ุงูู repo ุงููู ุนูุฏูู ุฃูุณุณ ุนููู.
- ูู ููู ู ูุฏููู ุฃู ุฎุฏู ุฉ ู ุด ู ุฑุชุจุท ุจุดูู ู ุจุงุดุฑุ ู ุด ู ุญุชุงุฌ ุชุจูู ูู ุงูู ุดุฑูุนุ ุจุณ ุชุจูู ุงูุฌุฒุก ุงููู ู ุญุชุงุฌู.
- ูู ุฌุฒุก ุจูููู ุตุบูุฑ ูู ุณุชููุ ูุฏู ุจูุฎูู ุงูุนู ููุงุช ุฒู cloning ุฃุณุฑุน ูุฃุณูู.
โโโ
๐ ุนููุจ ุงูู Multirepo:
- ุชูุฑุงุฑ ุงูููุฏ: ูู ููู ุฃูุชุฑ ู ู ู ูุฏููู ุจูุญุชุงุฌ ููุณ ุงูููุฏุ ู ู ูู ุชุถุทุฑ ุชูุฑุฑู ุฃู ุชุญุท ู ูุชุจุฉ ู ููุตูุฉ ููู.
- ุชุนููุฏ ูู ุงูุชูุณูู ุจูู ุงููุฑู: ุงูุชุนุงูู ุจูู ุงููุฑู ุจูุจูู ุฃุตุนุจุ ูุฎุตูุตูุง ูู ุง ูููู ููู dependencies ูุชูุฑ ุจูู ุงูู modules.
- ุชูุงู ู ู ุนูุฏ ููู CI/CD: ุนุดุงู ูู ุฌุฒุก ูู Repository ู ุฎุชููุ ูุชุญุชุงุฌ ุฅุนุฏุงุฏุงุช ุฃูุชุฑ ููู pipelines ุนุดุงู ูู ุญุงุฌุฉ ุชุดุชุบู ู ุน ุจุนุถ.
- ุตุนูุจุฉ ูู ุฅุฏุงุฑุฉ ุงูุชุบููุฑุงุช ุงููุจูุฑุฉ: ูู ุนูุฏู ุชุบููุฑ ุถุฎู ุจูุฃุซุฑ ุนูู ุฃูุชุฑ ู ู ู ูุฏูููุ ูุชุญุชุงุฌ ุชุฏุฎู ุนูู ูุฐุง repo ูุชุนุฏู ูู ูู ูุงุญุฏ ููุญุฏู.
โโโ
๐ ุงู ุชู ุชุฎุชุงุฑ ู ููุ
โ ุงุฎุชุฑ Monorepo ูู:
1- ู ุดุฑูุนู ุนุจุงุฑุฉ ุนู ู ุฌู ูุนุฉ modules ู ุฑุชุจุทุฉ ุจุจุนุถูุง.
2- ุนูุฏู ูุฑูู ุตุบูุฑ ุฃู ู ุชูุณุท.
3- ุจุชุญุชุงุฌ ุชุนู ู ุชุบููุฑุงุช ุจุดูู ู ุชูุฑุฑ ุนูู ุฃูุชุฑ ู ู ู ูุฏููู ูู ููุณ ุงูููุช.
4- ุงูุฃุฏูุงุช ุงููู ุจุชุณุชุฎุฏู ูุง ุจุชุฏุนู ุฅุฏุงุฑุฉ monorepos ุจุดูู ูููุณ.
โ ุงุฎุชุฑ Multirepo ูู:
1- ู ุดุฑูุนู ูุจูุฑ ุฌุฏูุง ูู ุนูุฏุ ููู ุฌุฒุก ููู ู ุณุชูู ุชู ุงู ูุง.
2- ุจุชุญุชุงุฌ ุชุชุญูู ูู ุงูุตูุงุญูุงุช ุนูู ู ุณุชูู ูู ู ูุฏููู.
3- ุนูุฏู ูุฑู ู ุฎุชููุฉ ูู ูุฑูู ุดุบุงู ุนูู ู ูุฏููู ุฎุงุต ุจู.
4- ุนุงูุฒ ุชุชุฌูุจ ุงูู ุดุงูู ุงููู ุจุชุณุจุจูุง ุฃุญุฌุงู ุงูู repos ุงููุจูุฑุฉ.
โโโ
ุงููุฑุงุฑ ูู ุงูุขุฎุฑ ุจูุฑุฌุน ูุทุจูุนุฉ ู ุดุฑูุนู ูุงุญุชูุงุฌุงุช ูุฑููู. ู ููุด ุทุฑููุฉ "ุตุญ" ูุทุฑููุฉ "ุบูุท"ุ ููู ููู ุทุฑููุฉ ู ูุงุณุจุฉ ุฃูุชุฑ ุญุณุจ ุธุฑููู. ุฃูู ุญุงุฌุฉ ุฅูู ุชููู ูุงูู ูู ุทุฑููุฉ ุจุชูุฏู ุฅูู ูุนููุจูุง ุฅูู. ๐ก
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค5๐1
ุฅุฒุงู ุงูู
ููุน ุจูุดุชุบู ู
ู ุบูุฑ ุงูุชุฑูุชุ ๐
.
.
ุนู ุฑู ููุฑุช ุฅุฒุงู ู ู ูู ุชูุชุญ ู ููุน ููุจ ูููุถู ูุดุชุบู ุญุชู ูู ุงูุฅูุชุฑูุช ูุตูุ ุฃู ุชูุงูู ุงูู ููุน ุณุฑูุน ุฌุฏูุง ูุฃูู ู ุฎุฒู ูู ุญุงุฌุฉ ุนูุฏูุ ุงูุณุฑ ููุง ูู ุงูู Service Workers.
ุงูู Service Workers ุจุชูุนุจ ุฏูุฑ ูุจูุฑ ูู ุชุญุณูู ุชุฌุฑุจุฉ ุงูู ุณุชุฎุฏู ุ ูู ุงู ุจุชุฎูู ุงูู ูุงูุน ุชุดุชุบู ุจุณุฑุนุฉ ูููุงุกุฉ ุญุชู ูู ุญุงูุฉ ุงููุทุงุน ุงูุฅูุชุฑูุช.
ุชุนุงู ูููู ุงูู ูุถูุน ุจุจุณุงุทุฉ...
โโโ
๐ ูุนูู ุฅูู Service Workerุ
ุจุจุณุงุทุฉุ ุฏู ููุฏ ุฃู ุณูุฑุจุช JavaScript ุจูุดุชุบู ูู ุงูุฎูููุฉ ุจูู ุงูู ุชุตูุญ ูุงูุณูุฑูุฑ. ูู ุด ุฒู ุงูููุฏ ุงูุนุงุฏู ุจุชุงุน ุงูุตูุญุฉุ ุฏู ุจูุดุชุบู ูู ุงูุฎูููุฉ ูุจูุฏู ุงูู ููุน ู ู ูุฒุงุช ูุจูุฑุฉ ุฒู:
- ุงูู (Caching): ูุนูู ูุญูุธ ู ููุงุช ุงูู ููุน ุนูุฏู ุนูู ุงูุฌูุงุฒ ุนุดุงู ููุชุญ ุจุณุฑุนุฉ ุญุชู ูู ุงูุฅูุชุฑูุช ุถุนูู.
- ุงูุนู ู ุฃูููุงูู: ุงูู ููุน ูุดุชุบู ุญุชู ูู ุงูุฅูุชุฑูุช ูุงุทุน.
- ุงูู (Push Notifications): ุงูุฑุณุงุฆู ุงููู ุจุชุฌููู ู ู ุงูู ููุน ุญุชู ูู ู ุด ูุงุชุญ ุงูุตูุญุฉ.
โโโ
๐ ุฅุฒุงู ุงูู Service Workers ุจุชุดุชุบูุ
1- ุงูุชุณุฌูู (Registration): ุฃูู ู ุง ุงูู ุณุชุฎุฏู ููุชุญ ุงูู ููุนุ ุงูู Service Worker ุจูุชุณุฌู ู ุฑุฉ ูุงุญุฏุฉ.
2- ุงูุชุซุจูุช (Installation): ููุง ููุฏุฑ ูุจุฏุฃ ูุดุชุบู ููุญูุธ ุงูู ููุงุช ุงููู ู ุญุชุงุฌูุง.
3- ุงูุญุฏุซ (Fetch Event): ูู ุง ุงูู ุณุชุฎุฏู ูุทูุจ ุฃู ุญุงุฌุฉ (ุฒู ุตูุฑุฉ ุฃู ุตูุญุฉ)ุ ุงูู Service Worker ููุฑุฑ ูุฌูุจูุง ู ู ุงููุงุด ููุง ู ู ุงูุณูุฑูุฑ.
โโโ
โ ู ู ูุฒุงุช ุงูู Service Workers:
- ุฃุฏุงุก ุฃูุถู: ูุฃูู ุจูููู ุงูุถุบุท ุนูู ุงูุณูุฑูุฑ.
- ุชุฌุฑุจุฉ ู ุณุชุฎุฏู ู ู ุชุงุฒุฉ: ู ู ูุงุญูุฉ ุงูุณุฑุนุฉ ูุฅู ูุงููุฉ ุงูุชุดุบู ุจุฏูู ุฅูุชุฑูุช.
- ุงูุฃู ุงู: ูุงุฒู ุงูู Service Workers ูุดุชุบููุง ุนูู HTTPS ุนุดุงู ูุญุงูุธูุง ุนูู ุจูุงูุงุช ุงูู ุณุชุฎุฏู .
โโโ
๐ ู ูุญูุธุงุช ู ูู ุฉ
๐ ุงูู Service Workers ู ุญุชุงุฌุฉ ุชุฎุทูุท ูููุณ ุนุดุงู ู ุชุนู ูุด ูุงุด ููู ููุงุช ุฒูุงุฏุฉ ุนู ุงููุฒูู .
๐ ู ุด ูู ุงูู ู ูุฒุงุช ุจุชุดุชุบู ูู ูู ุงูู ุชุตูุญุงุชุ ููุงุฒู ุชุนู ู ุญุณุงุจู.
โโโ
ุฅุฒุงู ู ู ูู ุชุถูู ุงูู Service Workers ูู ู ุดุฑูุนูุ ๐ค
ุงูููุฏ ุงูุฃุณุงุณู ุจุณูุท ุฌุฏูุง:
โโโ
ุฃู ุง ูู ู ูู sw.js:
โโโ
ูู ุนุงูุฒ ุชุชุนู ู ูู ุงูู ูุถูุน ูุชุนุฑู ุชูุงุตูู ุฃูุชุฑ ๐
Service Worker API
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
Service workers
https://web.dev/learn/pwa/service-workers
โโโ
ูู ุดุงูู ุฅู ุงูุจูุณุช ุฏู ู ููุฏุ ุงุฏุนู ู ุจู Like ุฃู Share ุนุดุงู ุงููู ูุณุชููุฏ. ๐ก
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุนู ุฑู ููุฑุช ุฅุฒุงู ู ู ูู ุชูุชุญ ู ููุน ููุจ ูููุถู ูุดุชุบู ุญุชู ูู ุงูุฅูุชุฑูุช ูุตูุ ุฃู ุชูุงูู ุงูู ููุน ุณุฑูุน ุฌุฏูุง ูุฃูู ู ุฎุฒู ูู ุญุงุฌุฉ ุนูุฏูุ ุงูุณุฑ ููุง ูู ุงูู Service Workers.
ุงูู Service Workers ุจุชูุนุจ ุฏูุฑ ูุจูุฑ ูู ุชุญุณูู ุชุฌุฑุจุฉ ุงูู ุณุชุฎุฏู ุ ูู ุงู ุจุชุฎูู ุงูู ูุงูุน ุชุดุชุบู ุจุณุฑุนุฉ ูููุงุกุฉ ุญุชู ูู ุญุงูุฉ ุงููุทุงุน ุงูุฅูุชุฑูุช.
ุชุนุงู ูููู ุงูู ูุถูุน ุจุจุณุงุทุฉ...
โโโ
๐ ูุนูู ุฅูู Service Workerุ
ุจุจุณุงุทุฉุ ุฏู ููุฏ ุฃู ุณูุฑุจุช JavaScript ุจูุดุชุบู ูู ุงูุฎูููุฉ ุจูู ุงูู ุชุตูุญ ูุงูุณูุฑูุฑ. ูู ุด ุฒู ุงูููุฏ ุงูุนุงุฏู ุจุชุงุน ุงูุตูุญุฉุ ุฏู ุจูุดุชุบู ูู ุงูุฎูููุฉ ูุจูุฏู ุงูู ููุน ู ู ูุฒุงุช ูุจูุฑุฉ ุฒู:
- ุงูู (Caching): ูุนูู ูุญูุธ ู ููุงุช ุงูู ููุน ุนูุฏู ุนูู ุงูุฌูุงุฒ ุนุดุงู ููุชุญ ุจุณุฑุนุฉ ุญุชู ูู ุงูุฅูุชุฑูุช ุถุนูู.
- ุงูุนู ู ุฃูููุงูู: ุงูู ููุน ูุดุชุบู ุญุชู ูู ุงูุฅูุชุฑูุช ูุงุทุน.
- ุงูู (Push Notifications): ุงูุฑุณุงุฆู ุงููู ุจุชุฌููู ู ู ุงูู ููุน ุญุชู ูู ู ุด ูุงุชุญ ุงูุตูุญุฉ.
โโโ
๐ ุฅุฒุงู ุงูู Service Workers ุจุชุดุชุบูุ
1- ุงูุชุณุฌูู (Registration): ุฃูู ู ุง ุงูู ุณุชุฎุฏู ููุชุญ ุงูู ููุนุ ุงูู Service Worker ุจูุชุณุฌู ู ุฑุฉ ูุงุญุฏุฉ.
2- ุงูุชุซุจูุช (Installation): ููุง ููุฏุฑ ูุจุฏุฃ ูุดุชุบู ููุญูุธ ุงูู ููุงุช ุงููู ู ุญุชุงุฌูุง.
3- ุงูุญุฏุซ (Fetch Event): ูู ุง ุงูู ุณุชุฎุฏู ูุทูุจ ุฃู ุญุงุฌุฉ (ุฒู ุตูุฑุฉ ุฃู ุตูุญุฉ)ุ ุงูู Service Worker ููุฑุฑ ูุฌูุจูุง ู ู ุงููุงุด ููุง ู ู ุงูุณูุฑูุฑ.
โโโ
โ ู ู ูุฒุงุช ุงูู Service Workers:
- ุฃุฏุงุก ุฃูุถู: ูุฃูู ุจูููู ุงูุถุบุท ุนูู ุงูุณูุฑูุฑ.
- ุชุฌุฑุจุฉ ู ุณุชุฎุฏู ู ู ุชุงุฒุฉ: ู ู ูุงุญูุฉ ุงูุณุฑุนุฉ ูุฅู ูุงููุฉ ุงูุชุดุบู ุจุฏูู ุฅูุชุฑูุช.
- ุงูุฃู ุงู: ูุงุฒู ุงูู Service Workers ูุดุชุบููุง ุนูู HTTPS ุนุดุงู ูุญุงูุธูุง ุนูู ุจูุงูุงุช ุงูู ุณุชุฎุฏู .
โโโ
๐ ู ูุญูุธุงุช ู ูู ุฉ
๐ ุงูู Service Workers ู ุญุชุงุฌุฉ ุชุฎุทูุท ูููุณ ุนุดุงู ู ุชุนู ูุด ูุงุด ููู ููุงุช ุฒูุงุฏุฉ ุนู ุงููุฒูู .
๐ ู ุด ูู ุงูู ู ูุฒุงุช ุจุชุดุชุบู ูู ูู ุงูู ุชุตูุญุงุชุ ููุงุฒู ุชุนู ู ุญุณุงุจู.
โโโ
ุฅุฒุงู ู ู ูู ุชุถูู ุงูู Service Workers ูู ู ุดุฑูุนูุ ๐ค
ุงูููุฏ ุงูุฃุณุงุณู ุจุณูุท ุฌุฏูุง:
// Register Service Worker
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.register("/sw.js")
.then(() => {
console.log("Service Worker Registered!");
});
}
โโโ
ุฃู ุง ูู ู ูู sw.js:
self.addEventListener("install", (event) => {
console.log("Service Worker Installed");
});
self.addEventListener("fetch", (event) => {
event.respondWith(
caches.match(event.request).then((response) => {
return response || fetch(event.request);
})
);
});
โโโ
ูู ุนุงูุฒ ุชุชุนู ู ูู ุงูู ูุถูุน ูุชุนุฑู ุชูุงุตูู ุฃูุชุฑ ๐
Service Worker API
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
Service workers
https://web.dev/learn/pwa/service-workers
โโโ
ูู ุดุงูู ุฅู ุงูุจูุณุช ุฏู ู ููุฏุ ุงุฏุนู ู ุจู Like ุฃู Share ุนุดุงู ุงููู ูุณุชููุฏ. ๐ก
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค12
The Hidden Cost of Over-Engineering in Software Development ๐ค
Over-engineering in software and systems development occurs when a solution is made more complex than necessary to meet its current requirements.
โโโ
๐ Full Article:
https://dev.to/alisamir/the-hidden-cost-of-over-engineering-in-software-development-4dnk
โค4