uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

ื˜ื™ืคื™ื ืงืฆืจื™ื ืœืžืชื›ื ืชื™ื ืžืืช ื™ื ื•ืŸ ืคืจืง

Ko'proq ko'rsatish
1 420
Obunachilar
Ma'lumot yo'q24 soatlar
+27 kunlar
-230 kunlar
Postlar arxiv
ToCode
1 420
# ื”ื‘ืขื™ื•ืช ื‘ืžืขืจื›ืช ื”ื—ื™ื ื•ืš ืœื ืงืฉื•ืจื•ืช ืœื›ืกืฃ ืงืœ ืœื ืกื•ืช ืœื”ื’ืŸ ืขืœ ืžืขืจื›ืช ื”ื—ื™ื ื•ืš - ืžื•ืจื™ื ื•ืžื•ืจื•ืช ืชืฉื•ืฉื™ื ืขื•ืžื“ื™ื ืžื•ืœ ื›ื™ืชื•ืช ื’ื“ื•ืœื•ืช ืžื“ื™ ื•ืฆืจื™ื›ื™ื ืœืœืžื“ ื—ื•ืžืจ ืฉืœื ืชืžื™ื“ ืžืขื ื™ื™ืŸ ืืช ื”ืชืœืžื™ื“ื™ื. ืœืžื” ื›ื‘ืจ ืฆื™ืคื™ืช? ื”ื ืขื•ืฉื™ื ื›ืžื™ื˜ื‘ ื™ื›ื•ืœืชื. ืชืฉืœืžื• ื™ื•ืชืจ ื•ืชืงื‘ืœื• ื›ื™ืชื•ืช ืงื˜ื ื•ืช ื•ืžื•ืจื™ื ืžืื•ืฉืจื™ื ืฉืžืจื•ื•ื™ื—ื™ื ื˜ื•ื‘. ืื ืจืง ื–ื” ื”ื™ื” ื›ืœ ื›ืš ืคืฉื•ื˜. ื”ื‘ืขื™ื•ืช ื‘ืžืขืจื›ืช ื”ื—ื™ื ื•ืš ืœื ืงืฉื•ืจื•ืช ืœื›ืกืฃ. ื‘ืจื•ืจ ืฉื™ื•ืชืจ ืงืœ ืœืžื•ืจื” ืœื”ืกืชื“ืจ ื‘ื›ื™ืชื” ืฉืœ 10 ืชืœืžื™ื“ื™ื ืžืืฉืจ ื‘ื›ื™ืชื” ืฉืœ 30, ื•ื‘ืจื•ืจ ืฉื›ืžื” ืฉืžื•ืจื” ืชืจื•ื•ื™ื— ื™ื•ืชืจ ืื™ื›ื•ืช ื”ื—ื™ื™ื ืฉืœื” ืžื—ื•ืฅ ืœืขื‘ื•ื“ื” ืชืฉืชืคืจ. ืžื” ืฉืœื ื›ืœ ื›ืš ื‘ืจื•ืจ ื”ื•ื ืžื” ื™ืงืจื” ื‘ืื•ืชื” ื›ื™ืชื” ื‘ืช 10 ืชืœืžื™ื“ื™ื ื‘ื–ืžืŸ ื”ืœื™ืžื•ื“ื™ื. ื›ื™ ื”ื‘ืขื™ื•ืช ื‘ืžืขืจื›ืช ื”ื—ื™ื ื•ืš ื”ืŸ ืงื•ื“ื ื›ืœ ื”ื‘ืขื™ื•ืช ืฉืœื ื• ื›ื—ื‘ืจื”, ื•ื”ื‘ืขื™ื•ืช ืฉืœื ื• ื‘ืฉื•ืง ื”ืขื‘ื•ื“ื”. ืกื•ืฃ ืขื™ื“ืŸ ื”ืงืคื™ื˜ืœื™ื–ื ื”ืชืขืฉื™ื™ืชื™ ืื•ืžืจ ืฉืื™ืŸ ื™ื•ืชืจ ืฆื•ืจืš ืื• ื™ื›ื•ืœืช ืœื‘ื ื•ืช ืžืคืขืœ ื˜ื•ื‘ ื™ื•ืชืจ, ืœืฉืคืจ ื‘ืืžืฆืขื•ืช ืžื“ื™ื“ื•ืช ื•ืœื”ื’ื™ืข ืœืฉืœืžื•ืช ื‘ืชืื™ืžื•ืช ืœืชืงืŸ. ื˜ืœืคื•ืŸ ืฉื ืจืื” ื›ืžื• ืื™ื™ืคื•ืŸ ืื‘ืœ ื–ื•ืœ ื™ื•ืชืจ? ื‘ืขื•ืœื ืชืขืฉื™ื™ืชื™ ืจื’ื™ืœ ื–ื” ื”ื™ื” ื’ื•ืจื ืœืืคืœ ืœืฆืืช ืžื”ืฉื•ืง. ื‘ืขื•ืœื ื”ืคื•ืกื˜-ืชืขืฉื™ื™ืชื™ ืฉืœื ื•, ืชื•ื“ื” ืื‘ืœ ืœื ืชื•ื“ื”. ืื ื—ื ื• (ื›ืฆืจื›ื ื™ื) ืœื ืžื—ืคืฉื™ื ืืช ื”ืžื•ืฆืจ ื”ื’ื ืจื™ ื”ื™ืขื™ืœ ื‘ื™ื•ืชืจ ืฉืคื•ืชืจ ื‘ืขื™ื”, ืืœื ืืช ื”ืžื•ืฆืจ ื”ืžืขื ื™ื™ืŸ, ื”ื—ื“ืฉื ื™, ืขื ื”ืกื™ืคื•ืจ ื”ื˜ื•ื‘, ืฉืžืชืื™ื ืœื ื• ืื™ืฉื™ืช. ื•ื‘ืชื•ืš ื–ื” ืžืขืจื›ืช ื”ื—ื™ื ื•ืš ืœื ื™ื•ื“ืขืช ืžื” ื•ืื™ืš ืœืœืžื“, ื‘ื“ื™ื•ืง ื›ืžื• ืฉืืจื’ื•ื ื™ื ืจื‘ื™ื ืœื ื™ื•ื“ืขื™ื ืื™ืš ืœื”ืชื™ื—ืก ืœืขื•ื‘ื“ื™ื ืฉืœื”ื ื•ืื™ืš ืœื™ื™ืฆืจ ืืช ืื•ืชื” ื—ื“ืฉื ื•ืช ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื. ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉื”ืฉื™ื˜ื•ืช ื”ื™ืฉื ื•ืช ืœื ืขื•ื‘ื“ื•ืช. ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉืžืขืงื‘ ืื—ืจ ืขื•ื‘ื“ื™ื, ื ื”ืœื™ ืขื‘ื•ื“ื” ืงืฉื™ื—ื™ื, ืขื•ื‘ื“ื™ื ืฉืืคืฉืจ ืœื”ื—ืœื™ืฃ ืื•ืชื ื‘ืจื’ืข ื•ืื™ื•ืžื™ื ื›ืœ ื”ื–ืžืŸ ื‘ืคื™ื˜ื•ืจื™ื ืœื ืžืฉื™ื’ื™ื ืชื•ืฆืื•ืช ื˜ื•ื‘ื•ืช. ื™ืฉ ืœื ื• ื’ื ืชื—ื•ืฉื” ืœื’ื‘ื™ ืฉื™ื˜ืช ื”ืขื‘ื•ื“ื” ื‘ืืจื’ื•ื ื™ื ืฉื›ืŸ ืžืฆืœื™ื—ื™ื, ืื‘ืœ ืื™ืŸ ืœื ื• ืžืกืคื™ืง ื ื™ืกื™ื•ืŸ ื‘ืขื‘ื•ื“ื” ืœื ืชืขืฉื™ื™ืชื™ืช. ืื™ืš ื‘ื›ืœืœ ื‘ื™ืช ืกืคืจ ืœื ืชืขืฉื™ื™ืชื™ ื™ื›ื•ืœ ืœื”ืชื ื”ืœ? ืืช ืžื” ื™ืžื“ื“ื•? ืžื” ื™ืœืžื“ื• ื‘ื•? ืžื” ื™ื”ื™ื• ืžื˜ืจื•ืชื™ื•? ื”ืงืคื™ื˜ืœื™ืกื˜ ื”ืชืขืฉื™ื™ืชื™ ืืœื•ืฃ ื‘ื‘ื ื™ื™ืช ืžืขืจื›ื•ืช ื‘ืžืงื•ื ืื ืฉื™ื, ืื‘ืœ ืžื” ืงื•ืจื” ื›ืฉืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ื”ื•ื ืื ืฉื™ื? ื•ื›ืŸ ืื ื—ื ื• ื™ื•ื“ืขื™ื ืžื” ื”ื™ื™ื ื• ืจื•ืฆื™ื ืœืœืžื“: ื ืฉืžื— ืœืงื‘ืœ ื‘ื•ื’ืจื™ื ืขืฆืžืื™ื™ื, ืฉื™ื•ื“ืขื™ื ืœืžืฆื•ื ื‘ืขื™ื•ืช ืžืขื ื™ื™ื ื•ืช ื•ืœืคืชื•ืจ ืื•ืชืŸ ื‘ืฆื•ืจื” ื™ืฆื™ืจืชื™ืช, ืฉื™ื•ื“ืขื™ื ืœื”ืชื’ื‘ืจ ืขืœ ืžื›ืฉื•ืœื™ื ื‘ื“ืจืš ื•ืœื‘ื—ื•ืจ ืœืขืฆืžื ืืชื’ืจื™ื ืฉืžืชืื™ืžื™ื ืœื”ื. ืฉื™ื•ื›ืœื• ืœืœืžื•ื“ ืœื‘ื“ ื“ื‘ืจื™ื ื—ื“ืฉื™ื ื•ื™ืชืื™ืžื• ืืช ืขืฆืžื ืœืขื•ืœื ืžืฉืชื ื”. ืื ื—ื ื• ืคืฉื•ื˜ ืœื ื™ื•ื“ืขื™ื ืื™ืš ืœืœืžื“ ืืช ื–ื”. ื”ื“ืจืš ืงื“ื™ืžื” ืœื ืงืฉื•ืจื” ืœืชื•ืกืคืช ืชืงืฆื™ื‘ ืื• ืืคื™ืœื• ืœื‘ื—ื™ืจืช ืฉื™ื˜ืช ืขื‘ื•ื“ื” ืื—ืจืช. ืื™ืŸ ืฉื™ื˜ืช ืœื™ืžื•ื“ ืฉืขื•ื‘ื“ืช ืฉืื ื—ื ื• ื™ื•ื“ืขื™ื ืขืœื™ื”. ื™ืฉ ื”ืžื•ืŸ ื”ืฉืขืจื•ืช ื•ื ื™ืกื™ื•ื ื•ืช ื•ืจืขื™ื•ื ื•ืช ืฉืื•ืœื™ ืขื•ื‘ื“ื™ื ืœื—ืœืง ืžื”ืื ืฉื™ื ื•ืœื ืขื•ื‘ื“ื™ื ืœืื—ืจื™ื. ื•ื”ืžื—ืงืจ ื”ื–ื” ืฆืจื™ืš ืœื”ื™ืžืฉืš. ื”ื“ืจืš ืงื“ื™ืžื” ืชื—ื™ื™ื‘ ืื•ืชื ื• ืœื”ื™ืคืจื“ ืžืฉื™ื˜ืช ื”ืœื™ืžื•ื“ ื”ืžื•ื›ืจืช (ืฉืœื ืขื•ื‘ื“ืช), ื•ืœื”ื™ืคืชื— ืœืจืขื™ื•ื ื•ืช ื—ื“ืฉื™ื ืฉื›ื ืจืื” ื’ื ืจื•ื‘ื ืœื ื™ืขื‘ื“ื•. ื”ื“ืจืš ืงื“ื™ืžื” ืชื—ื™ื™ื‘ ืื•ืชื ื• ืœื”ื›ื™ืจ ื‘ื–ื” ืฉื—ืœืง ืžื”ื™ืœื“ื™ื ืฉืœื ื• ื™ื”ื™ื• ืฉืคื ื™ ื ื™ืกื•ื™ื™ื ื‘ืื•ืชื• ืžืกืข, ื•ืžื—ื™ื™ื‘ืช ืื•ืชื ื• ืœืชืช ืœื”ื•ืจื™ื ื”ืจื‘ื” ื™ื•ืชืจ ืืคืฉืจื•ื™ื•ืช ื‘ื—ื™ืจื” ืœื’ื‘ื™ ื”ืžืกืข ื”ืกืคืฆื™ืคื™ ืฉืœ ื›ืœ ื™ืœื“. ื‘ืชืงื•ืคื” ื”ืงืจื•ื‘ื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ื—ื“ืฉื ื•ืช ื•ืœื ื™ืฆื™ื‘ื•ืช. ื•ื›ืŸ ื–ื” ืžืคื—ื™ื“, ืžืกื•ื›ืŸ ื•ืขืœื•ืœ ืœื ืœืขื‘ื•ื“. ื”ื‘ืขื™ื” ืฉื”ืืœื˜ืจื ื˜ื™ื‘ื” ื”ื ื•ื›ื—ื™ืช ื’ื ืœื ืขื•ื‘ื“ืช.

ToCode
1 420
# ืื™ืš ื–ื” ื™ืจื’ื™ืฉ? ืื™ืš ื–ื” ื™ืจื’ื™ืฉ ืœื”ืฉืชืžืฉ ื‘ืฉืคื” ืื—ืจืช, ืื•ืœื™ ืฉืคื” ืคื•ื ืงืฆื™ื•ื ืืœื™ืช ื‘ืฉื‘ื™ืœ ื”ืคื™ืฆ'ืจ ื”ื‘ื? ืื™ืš ื–ื” ื™ืจื’ื™ืฉ ืœื‘ื ื•ืช ืกืจื‘ื™ืก ื‘ืžืงื•ื ืœื”ืจื—ื™ื‘ ืืช ื”ืžื•ื ื•ืœื™ืช? ืื™ืš ืžืจื’ื™ืฉ ืœืขื‘ื•ื“ ืขื ืžื ื’ื ื•ืŸ Deployment ืื•ื˜ื•ืžื˜ื™? ืื• ื™ื“ื ื™? ื•ืžื” ืื ื”ืคืขื ื ื›ืชื•ื‘ ืืช ื”ื‘ื“ื™ืงื•ืช ืœืคื ื™ ืฉื ื›ืชื•ื‘ ืืช ื”ืงื•ื“? ืื• ืฉื ื•ื•ืชืจ ืœื’ืžืจื™ ืขืœ ื”ื‘ื“ื™ืงื•ืช? ื•ืžื” ื™ืงืจื” ืื ื‘ืคื™ืฆ'ืจ ื”ื‘ื ื ื ืกื” ืœืคืชื— ืจืง ืขืœ ื” Trunk ื‘ืœื™ Branch-ื™ื ื‘ git? ืฉื™ื’ืจืช ืคื™ืชื•ื— ื˜ื•ื‘ื” ื”ื™ื ื›ื–ืืช ืฉืžืืคืฉืจืช ื’ื ืœืงื—ืช ืื•ื•ื™ืจ ื•ืœื’ื•ื•ืŸ. ื•ื›ืŸ ื”ืกื˜ื˜ื•ืก ืงื•ื• ื”ื•ื ื›ื— ื—ื–ืง, ื’ื ืื ื—ื ื•, ื’ื ื”ืžื ื”ืœื™ื ืฉืœื ื• ื•ื’ื ื—ื‘ืจื™ื ื• ืœืฆื•ื•ืช ื™ื•ื“ืขื™ื ืœืžืฆื•ื ืžื™ืœื™ื•ืŸ ืกื™ื‘ื•ืช ืœืžื” ืฆืจื™ืš ืœื”ืžืฉื™ืš ืœืขืฉื•ืช ื“ื‘ืจื™ื ื›ืžื• ืฉืื ื—ื ื• ื›ื‘ืจ ืขื•ืฉื™ื. ื”ืจื‘ื” ืคืขืžื™ื ืืœื” ืกื™ื‘ื•ืช ื˜ื•ื‘ื•ืช ืื‘ืœ ืื ื™ ืฉื ืœื‘ ืฉื”ืจื‘ื” ืคืขืžื™ื ื”ืŸ ืžืชื‘ืกืกื•ืช ืขืœ ื“ื‘ืจื™ื ืฉืงืจื• ื‘ืขื‘ื•ื“ื•ืช ืงื•ื“ืžื•ืช ืื• ื”ืจื’ืœื™ื ืฉื›ื‘ืจ ืฉื›ื—ื ื• ืžื” ื”ืžืงื•ืจ ืฉืœื”ื "ืื ื™ ืœื ื‘ื˜ื•ื— ืœืžื” ืื ื—ื ื• ืœื ืžืฉืชืžืฉื™ื ื‘ Micro Services. ื‘ื•ืื• ื ื ืกื” ืœื›ืชื•ื‘ ืคื™ืฆ'ืจ ืื—ื“ ื‘ื’ื™ืฉื” ื–ื• ื•ืœืจืื•ืช ืžื” ื™ืงืจื”" ื™ื›ื•ืœ ืœื”ื™ื•ืช ื›ื™ืฃ ื•ืžืœืžื“, ื‘ืœื™ ืงืฉืจ ืื ื‘ืกื•ืฃ ื ืขื‘ื•ืจ ืœื’ื™ืฉืช Micro Services ืื• ืฉื ืžืฉื™ืš ื‘ืฉื™ื’ืจื” ืฉืขื•ื‘ื“ืช ืœื ื•.

ToCode
1 420
# ื”ื“ืจืš ืœืคืขื ื‘ื™ื•ื ื”ืขืฆื” ืฉืื ื™ ื”ื›ื™ ืื•ื”ื‘ ืœืชืช ืœืื ืฉื™ื ืฉืžืชื—ื™ืœื™ื ืงื•ืจืก ื”ื™ื ืœื”ืฉืงื™ืข ืฉืขื” ื‘ื™ื•ื ื‘ืœื™ืžื•ื“. ืขื ืฉืขื” ื‘ื™ื•ื ืฉืœ ืœื™ืžื•ื“ Python, ืื—ืจื™ ื—ื•ื“ืฉ ื™ื”ื™ื” ืœื›ื ื‘ืกื™ืก ื˜ื•ื‘ ื‘ืคื™ื™ืชื•ืŸ ื•ืชื•ื›ืœื• ืœื”ืžืฉื™ืš ื‘ืงืฆื‘ ืฉืœื›ื, ื•ืื•ืชื• ื“ื‘ืจ ืขื ืจื•ื‘ ื”ื ื•ืฉืื™ื ื”ื˜ื›ื ื•ืœื•ื’ื™ื™ื ืฉืื ื™ ืžืœืžื“ ืคื”. ืื‘ืœ ื–ื• ืขืฆื” ืžืื•ื“ ืชืžื™ืžื”. ื”ื‘ืขื™ื” ื‘ืขืฆื” ื”ื–ืืช ื”ื™ื ื”ืงื•ืฉื™ ื‘ื™ื™ืฉื•ื. ื›ืŸ ืฉืขื” ื‘ื™ื•ื ื‘ื™ืžื™ื ื”ืจืืฉื•ื ื™ื ืขื•ื“ ืžืฆืœื™ื—ื™ื ืœืžืฆื•ื, ืื‘ืœ ื–ื” ื™ืฉ ืืช ื”ืœื—ืฅ ื‘ืขื‘ื•ื“ื” ื•ืืช ื”ื‘ืื’ ื‘ืคืจื•ื“ืงืฉืŸ ื•ืืช ื”ืžืกื™ื‘ื” ืœื™ืœื“ื™ื ื•ืœืคื ื™ ืฉืฉืžืช ืœื‘ ื”ืฆืœื—ืช ืœืžืฆื•ื ืฉืขืชื™ื™ื ื‘ื›ืœ ื”ืฉื‘ื•ืข, ื•ื’ื ื–ื” ื‘ืžืงืจื” ื”ื˜ื•ื‘. ื‘ืฉื‘ื•ืข ืฉืื—ืจื™ ืืคื™ืœื• ืืช ื”ืฉืขืชื™ื™ื ื”ืืœื” ื™ื”ื™ื” ืงืฉื” ืœืžืฆื•ื. ืžืฆื“ ืฉื ื™ ืžื™ ืฉื›ืŸ ืžืฆืœื™ื—ื™ื ืœื‘ื ื•ืช ืืช ื”ื”ืจื’ืœ ืฉืœ ืœืœืžื•ื“ ืฉืขื” ื‘ื™ื•ื ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื—ื“ืฉื•ืช, ื™ื›ื•ืœื™ื ืื—ืจื™ ืœื™ืžื•ื“ ืคื™ื™ืชื•ืŸ ืœื”ืžืฉื™ืš ืœืœืžื•ื“ Front End ื•ืื—ืจื™ ื–ื” AI ื•ืื—ืจื™ ื–ื” ืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ื•ื”ืฉืžื™ื ื”ื ื”ื’ื‘ื•ืœ. ืื ืฉื™ื ืฉื™ืฉ ืœื”ื ืืช ื”ื”ืจื’ืœ ื”ื–ื” ืžืฆืœื™ื—ื™ื ื™ื•ืชืจ ื‘ืงื•ืจืกื™ื ื•ื’ื ืžืชืงื“ืžื™ื ืžื”ืจ ื™ื•ืชืจ ื‘ืชื•ืจ ืžืคืชื—ื™ื. ืœื›ืŸ ืœืคื ื™ ืฉื ืจืฆื” ืœื“ื‘ืจ ืขืœ ืื™ืš ืœืœืžื•ื“ ืคื™ื™ืชื•ืŸ ื‘ืฆื•ืจื” ื™ืขื™ืœื”, ืื•ืœื™ ืฉื•ื•ื” ืœื“ื‘ืจ ืขืœ ืื™ืš ืœืœืžื•ื“ ื‘ืฆื•ืจื” ื™ืขื™ืœื”, ืื• ืื™ืš ืœื‘ื ื•ืช ื”ืจื’ืœ ืฉืœ ืœื™ืžื•ื“ ืฉืขื” ื‘ื™ื•ื. ื”ื ื” ื›ืžื” ื˜ื™ืคื™ื ืฉืขื–ืจื• ืœื™: 1. ื”ืจื’ืœื™ื ื ื‘ื ื™ื ืœืื˜. ื‘ืžืงื•ื ืœื”ืชื—ื™ืœ ืขื ืฉืขื” ื‘ื™ื•ื ื•ืœื”ืชื™ื™ืืฉ, ืขื“ื™ืฃ ืœื”ืชื—ื™ืœ ืขื ืฉืขื” ื‘ืฉื‘ื•ืข, ืื—ืจื™ ื–ื” ืœืขืœื•ืช ืœืฉืขืชื™ื™ื ื‘ืฉื‘ื•ืข ื•ืœื”ืžืฉื™ืš ืœื”ืขืœื•ืช ืœืื˜. ื’ื ืื ื™ื™ืงื— ื—ืฆื™ ืฉื ื” ืœื™ื™ืฆืจ ื”ืจื’ืœ ืฉืœ ืœื™ืžื•ื“ ืฉื ื” ื‘ื™ื•ื, ื–ื” ืขื“ื™ื™ืŸ ืฉื•ื•ื” ืืช ื”ื”ืฉืงืขื”. 2. ื’ื™ื™ืžื™ืคื™ืงืฆื™ื” ืขื•ื–ืจืช. ืืคืฉืจ ืœื™ืฆื•ืจ ื˜ื‘ืœื ืฉื‘ื•ืขื™ืช ื•ืœืชื›ื ืŸ ืžืจืืฉ ื‘ืื™ื–ื” ื™ืžื™ื ืชืœืžื“ื•, ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ืืคืœื™ืงืฆื™ื•ืช ื›ื“ื™ ืœืฉืžื•ืจ ืขืœ "ืจืฆืคื™ื" ื•ืœืืกื•ืฃ ืžื˜ื‘ืขื•ืช ื•ื™ืจื˜ื•ืืœื™ื™ื. ืฉื—ืงื• ืขื ื–ื” ืœืจืื•ืช ืžื” ืขื•ื‘ื“ ืœื›ื. 3. ื—ื‘ืจื™ื ืขื•ื–ืจื™ื. ืื ืื ื™ ื‘ืขื‘ื•ื“ื” ืžืชื—ื™ื™ื‘ ืœื”ืขื‘ื™ืจ ืกืฉืŸ ืคืขื ื‘ืฉื‘ื•ืข ืขืœ ื ื•ืฉื ืื– ื™ื”ื™ื” ืœื™ ื™ื•ืชืจ ืงืœ ืœืžืฆื•ื ืฉืขืชื™ื™ื ื‘ืื•ืชื• ืฉื‘ื•ืข ืœืœืžื•ื“ ืืช ื”ื ื•ืฉื. ืื ืื—ืจื™ ื–ื” ืื ื™ ืžื•ืกื™ืฃ ืขืœ ื–ื” Meetup ืคืขื ื‘ื—ื•ื“ืฉ ืื– ื™ื”ื™ื” ืœื™ ื™ื•ืชืจ ืงืœ ืœืžืฆื•ื ื–ืžืŸ ื‘ืžื”ืœืš ื”ื—ื•ื“ืฉ. 4. ื’ื™ื•ื•ืŸ ืขื•ื–ืจ. ืœื ืฆืจื™ืš ื›ืœ ื™ื•ื ืœื›ืชื•ื‘ ืงื•ื“ ืื• ืœืงืจื•ื ืคื•ืกื˜ ืžืงืฆื•ืขื™. ืืคืฉืจ ืฉืขื” ืื—ืช ื‘ืฉื‘ื•ืข ืœืฉืžื•ืข ืคื•ื“ืงืกื˜, ืฉืขืชื™ื™ื ืœื›ืชื•ื‘ ืงื•ื“, ืขื•ื“ ืฉืขื” ืœืจืื•ืช ื”ืจืฆืื” ื‘ื™ื•ื˜ื™ื•ื‘ ื•ื›ืš ื›ืœ ืคืขื ืœื”ื•ืกื™ืฃ ืขื•ื“ ืคืขื™ืœื•ืช ืฉืชื•ืกื™ืฃ ืขื•ื“ ื–ืžืŸ ืœื™ืžื•ื“. ื™ืฉ ืœื›ื ื”ืจื’ืœื™ื ื™ื•ืžื™ื™ื ืฉืืชื ืžืฆืœื™ื—ื™ื ืœื”ืชืžื™ื“ ื‘ื”ื? ื ืกื• ืœื”ื™ื–ื›ืจ ืื™ืš ื™ืฆืจืชื ืื•ืชื ื•ืžื” ืžื“ืจื‘ืŸ ืืชื›ื ืœื”ืžืฉื™ืš. ืจืขื™ื•ื ื•ืช ืฉืœื ื—ืฉื‘ืชื™ ืขืœื™ื”ื ื›ืืŸ ื™ืชืงื‘ืœื• ื‘ื‘ืจื›ื” ื‘ืชื’ื•ื‘ื•ืช.

ToCode
1 420
# ืื™ืš ืœื‘ื ื•ืช ืื•ื˜ื•ืžื˜ื™ืช Docker Image ืžื›ืœ ืงื•ืžื™ื˜ ื’ื™ื˜ื”ืื‘ ืžืกืคืงื™ื ืฉื ื™ ืžืฉืื‘ื™ื ืžื•ืคืœืื™ื ื•ื‘ื—ื™ื ื - ืื—ื“ ื ืงืจื Actions ื•ื”ืฉื ื™ Packages. ื™ื—ื“ ื”ื ืžืืคืฉืจื™ื ืœื ื• ืœื™ืฆื•ืจ Docker Image ื‘ืžืื’ืจ ืคืจื˜ื™ ืžื›ืœ ืงื•ืžื™ื˜ ื•ื‘ืฆื•ืจื” ืื•ื˜ื•ืžื˜ื™ืช. ื‘ื•ืื• ื ืจืื” ืืช ื–ื” ื‘ืคืขื•ืœื”. ## ื”ื™ืชืจื•ืŸ ืฉืœ ืื™ืžื’' ืžื›ืœ ืงื•ืžื™ื˜ ืื‘ืœ ืœืคื ื™ ืฉื ื’ื™ืข ืœื”ืกื‘ืจ ื”ื˜ื›ื ื™ ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื”ืขืจืš ืฉืœ ื‘ื ื™ื™ืช ืื™ืžื’' ืื•ื˜ื•ืžื˜ื™ืช ืžื›ืœ ืงื•ืžื™ื˜ - ื”ื•ื ื”ื™ื›ื•ืœืช ืœื‘ื ื•ืช ืžื”ืจ ื•ื‘ืฆื•ืจื” ืžื“ื•ื™ืงืช ืกื‘ื™ื‘ืช ืคื™ืชื•ื— ืœื›ืœ ืงื•ืžื™ื˜. ืื ืžืคืชื—ื™ื ืฆืจื™ื›ื™ื ืœื”ืคืขื™ืœ build ืื—ืจื™ ืฉืžื•ืฉื›ื™ื ืืช ื”ืžืื’ืจ, ืื– ื›ืœ ืžืคืชื— ืฉืžืคืขื™ืœ build ืขืฉื•ื™ ืœืงื‘ืœ ืชื•ืฆืื” ืงืฆืช ืฉื•ื ื” (ื‘ื’ืœืœ ืกืงืจื™ืคื˜ื™ื ืฉืจืฆื™ื ื‘ื–ืžืŸ ื‘ื ื™ื™ืช ื”ืื™ืžื’'), ื•ืขืฉื•ื™ื™ื ืœื”ื™ืชืงืœ ื‘ื‘ืื’ื™ื ืžื•ื–ืจื™ื ืฉื ื•ื‘ืขื™ื ืžื‘ืขื™ื•ืช ื‘ื‘ื ื™ื”. ืœืขื•ืžืช ื–ืืช ืื ื™ืฉ ืœื ื• ื‘ื™ืœื“ ืื•ื˜ื•ืžื˜ื™ ื‘ื›ืœ ืงื•ืžื™ื˜, ืื– ืžืื•ื“ ืงืœ ืœืžืคืชื—ื™ื ืœื”ื™ื•ืช ื‘ื˜ื•ื—ื™ื ืฉืื ื—ื ื• ืขื•ื‘ื“ื™ื ื‘ื“ื™ื•ืง ืขืœ ืื•ืชื” ื’ื™ืจืกื” ื•ืงืœ ืœื”ืจื™ื ืžื”ืจ ืฉืจืช ืขื ื’ื™ืจืกื” ืฉืœ ืื™ืžื’' ืœืคื™ ืงื•ืžื™ื˜ ื‘ืฉื‘ื™ืœ ืœืฉืชืฃ ืขื ืื ืฉื™ ืžื•ืฆืจ ืื• QA. ืืช ื”ืงืžืช ื”ืฉืจืช ืืคืฉืจ ื™ื”ื™ื” ืืคื™ืœื• ืœืขืฉื•ืช ืื•ื˜ื•ืžื˜ื™ืช. ื‘ืคื•ืกื˜ ื–ื” ื ืจืื” ืื™ืš ืœื”ืฉืชืžืฉ ื‘ Github Action ื›ื“ื™ ืœื‘ื ื•ืช ืื™ืžื’' ืž Dockerfile, ื•ืื™ืš ืœื”ืฉืชืžืฉ ื‘ืžืื’ืจ ืื™ืžื’'ื™ื (Registry) ืฉืœ Github Packages ื›ื“ื™ ืœืื—ืกืŸ ื‘ื• ื›ืœ ืื™ืžื’' ืฉืื ื—ื ื• ื‘ื•ื ื™ื ืžืชื•ื™ื’ ืœืคื™ ืžื–ื”ื” ื”ืงื•ืžื™ื˜. ## ื“ืจื™ืฉื•ืช ืงื“ื - ืืกื™ืžื•ืŸ ื’ื™ืฉื” ืœืคื ื™ ืฉืืคืฉืจ ื™ื”ื™ื” ืœื“ื—ื•ืฃ ืื™ืžื’' ืื•ื˜ื•ืžื˜ื™ืช ืœ Registry ืขืœื™ื ื• ืœืงื‘ืœ ืืกื™ืžื•ืŸ ื’ื™ืฉื” ืขื ื”ืจืฉืื•ืช ื“ื—ื™ืคื”. ื‘ืฉื‘ื™ืœ ื–ื” ื ื™ื›ื ืก ืœืžืกืš ื”ื–ื”: https://github.com/settings/tokens/new ื ื‘ื—ืจ ืืช ื”ื”ืจืฉืื•ืช write:packages ื• read:packages, ื ืฉืžื•ืจ ื•ื ืขืชื™ืง ื”ืฆื™ื“ื” ืืช ืืกื™ืžื•ืŸ ื”ื’ื™ืฉื” ืฉื™ืฆืจื ื•. ืœืื—ืจ ืžื›ืŸ ื ื™ืฆื•ืจ ืคืจื•ื™ืงื˜ ื’ื™ื˜ื”ืื‘ ื•ื ื™ื›ื ืก ืœืžืกืš ื”ื”ื’ื“ืจื•ืช ืฉืœื• ื•ืฉื ืœ Secrets, ื•ื ื™ืฆื•ืจ ืกื•ื“ ื—ื“ืฉ ื‘ืฉื PAT ื•ื ื“ื‘ื™ืง ืืช ื”ืืกื™ืžื•ืŸ ืฉื™ืฆืจื ื• ื‘ืชื•ืจ ืขืจืš ืฉืœ ื”ืกื•ื“ ื”ื–ื”. ## ืžื‘ื ื” ื”ืคืจื•ื™ืงื˜ ื”ืคืจื•ื™ืงื˜ ืฉืื ื™ ืขื•ื‘ื“ ืขืœื™ื• ื ืงืจื express-app ื•ืืคืฉืจ ืœืžืฆื•ื ืื•ืชื• ื‘ืงื™ืฉื•ืจ: https://github.com/ynonp/express-app ื‘ืชื•ืš ืชื™ืงื™ื™ืช .github/workflows ื ืžืฆื ืงื•ื‘ืฅ ื”ืืงืฉืŸ:
name: 'build'

on:
  push:
    branches:
    - main
  pull_request:

jobs:
  build:
    name: 'Build'
    runs-on: ubuntu-latest
    steps:
      - name: "Build:checkout"
        uses: actions/checkout@v2
      - name: 'Build:dockerimage'
        uses: docker/build-push-action@v1
        with:
          registry: ghcr.io
          username: "ynonp"
          password: ${{ secrets.PAT }}
          repository: ynonp/express-app
          tags: latest,${{github.sha}}
ืชืฆื˜ืจื›ื• ืœื”ื—ืœื™ืฃ ืืช ืฉื ื”ืžืฉืชืžืฉ ืœืฉื ืžืฉืชืžืฉ ื”ื’ื™ื˜ื”ืื‘ ืฉืœื›ื, ื•ื’ื ืœืฉื ื•ืช ืืช ืฉื ื”ืจื™ืคื•ื–ื™ื˜ื•ืจื™ ืœืžืฉื”ื• ืฉืžืชืื™ื ืœืคืจื•ื™ืงื˜ ืฉืœื›ื. ื‘ื ื•ืกืฃ ื‘ืชื™ืงื™ื™ื” ื”ืจืืฉื™ืช ืฉืœ ื”ืคืจื•ื™ืงื˜ ื™ืฆืจืชื™ Dockerfile ืขื ื”ืชื•ื›ืŸ ื”ื‘ื:
FROM node:18-alpine
ENV NODE_ENV=production

WORKDIR /app

COPY ["package.json", "package-lock.json*", "./"]

RUN npm install --production

COPY . .

CMD ["node", "./bin/www"]
ืขื‘ื•ืจ ืคืจื•ื™ืงื˜ Node.JS. ## ืชื•ืฆืื” - ื‘ื ื™ื” ื•ื–ื” ื”ื›ืœ. ืžื›ืืŸ ื›ืœ ืคืขื ืฉืื ื™ ื“ื•ื—ืฃ ืงื•ื“ ืœืคืจื•ื™ืงื˜ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื ื‘ื ื” Image ื”ืžืชื•ื™ื’ ืœืคื™ ื” SHA ืฉืœ ื”ืงื•ืžื™ื˜ ื•ืขื•ืœื” ืœืจื™ืคื•ื–ื™ื˜ื•ืจื™ ืคืจื˜ื™ ืฉืœื™ ืขืœ Github Packages. ื” URL ืฉืœ ื”ืจื™ืคื•ื–ื™ื˜ื•ืจื™ ืœื“ื•ื’ืžื” ืฉื™ืฆืจืชื™ ื”ื•ื: https://github.com/users/ynonp/packages/container/package/express-app ื•ืžื” ืฉื”ื›ื™ ื˜ื•ื‘ ืขื›ืฉื™ื• ื–ื” ืฉืืคืฉืจ ืœื—ืฉื‘ ืื•ื˜ื•ืžื˜ื™ืช ืืช ืฉื ื”ืื™ืžื’' ืœืคื™ ื” Hash ืฉืœ ื”ืงื•ืžื™ื˜ ืœื“ื•ื’ืžื”:
ghcr.io/ynonp/express-app:588d27d0e9640323d6b2554581305cef4100c44f
ื•ืœื›ืŸ ืคืงื•ื“ื” ื›ื–ืืช ืชืคืขื™ืœ ืืช ื”ืื™ืžื’' ืฉืžืชืื™ื ืœ SHA ืžืกื•ื™ื ื‘ื“ื•ืงืจ ืขืœ ื”ืžื›ื•ื ื” ืฉืœื™:
$ docker run -p 3001:3000 --rm ghcr.io/ynonp/express-app:588d27d0e9640323d6b2554581305cef4100c44f

ToCode
1 420
ืื ื—ื ื• ื›ืŸ ืจื•ืฆื™ื ืœืฉืžื•ืจ ืขืœ ืขื™ืจื ื•ืช ื•ืœื•ื•ื“ื ืฉืืฃ ืื—ื“ ืœื ืžืจื•ื•ื™ื— ืขืœ ื—ืฉื‘ื•ื ื ื• - ืœื‘ื“ื•ืง ืžื“ื™ ืคืขื ื‘ื™ื•ื“ืžื™ ืื• ื‘ืืชืจื™ ืงื•ืจืกื™ื ืคื•ืคื•ืœืจื™ื ืฉืืฃ ืื—ื“ ืœื ื”ืขืœื” "ืงื•ืจืก ื—ื“ืฉ" ืขื ื”ืชื•ื›ืŸ ืฉืœื ื•. ืœืคืงื•ื— ืขื™ืŸ ื‘ืจืฉืชื•ืช ื—ื‘ืจืชื™ื•ืช ืื ืืฃ ืื—ื“ ืœื ืžื•ื›ืจ "ืคืจื˜ื™ ื’ื™ืฉื”" ื™ื“ ืฉื ื™ื” ืœืงื•ืจืก ืฉืœื ื•. ืœื•ื•ื“ื ืฉื”ืกืจื˜ื™ื ืœื ืžื•ืฆืื™ื ืืช ื”ื“ืจืš ืœื™ื•ื˜ื™ื•ื‘ ืขื ืคืจืกื•ืžื•ืช ืฉืœ ืžื™ืฉื”ื• ืื—ืจ. ืœืฆืขืจื™ ื”ืคืœื˜ืคื•ืจืžื•ืช ื”ื’ื“ื•ืœื•ืช ืœืฉื™ืชื•ืฃ ืชื•ื›ืŸ ืขื“ื™ื™ืŸ ืœื ืžืฆื™ืขื•ืช ืžื ื’ื ื•ื ื™ื ื˜ื•ื‘ื™ื ื•ืงืœื™ื ืœื–ื™ื”ื•ื™ ืคื™ืจืื˜ื™ื•ืช, ื•ื–ื” ื›ืŸ ืžืฉื”ื• ืฉืฉื•ื•ื” ืœื”ื™ื–ื”ืจ ืžืžื ื• ื›ื™ ื”ื•ื ื™ื›ื•ืœ ืœืขืœื•ืช ื”ืจื‘ื” ื›ืกืฃ. ื‘ืžืงื‘ื™ืœ ืื ื—ื ื• ืจื•ืฆื™ื ืœืขืฉื•ืช ืืช ื”ื—ื™ื™ื ื›ืžื” ืฉื™ื•ืชืจ ืงืœื™ื ืœืžื™ ืฉื›ืŸ ืจื•ืฆื™ื ืœืงื ื•ืช ืืช ื”ืชื•ื›ืŸ ืฉืœื ื• - ื–ื” ืื•ืžืจ ืœื”ื™ื•ืช ืงืœื™ื ืขื ืื ืฉื™ื ื‘ืžื“ื™ื ื™ื•ืช ื”ื—ื–ืจื™ื ืื ื”ืงื•ืจืก ืœื ืžืชืื™ื ืœื”ื, ืœื™ื™ืฆืจ ืจืžื•ืช ืžื—ื™ืจ ืฉื•ื ื•ืช, ืœืชืช ื‘ื•ื ื•ืกื™ื ืื• ืคื™ื ื•ืงื™ื ืœืื ืฉื™ื ืฉืงื ื• ืืช ื”ืงื•ืจืก ื›ืžื• ื’ื™ืฉื” ืœืคื•ืจื•ื ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืื• ืขื–ืจื” ื‘ืชืจื’ื•ืœื™ื. ื•ื”ื›ื™ ื—ืฉื•ื‘ ืœื”ืกืชื›ืœ ืงื“ื™ืžื” ื•ืœื”ืžืฉื™ืš ืœืขื‘ื•ื“ ื•ืœื™ื™ืฆืจ ืงื•ืจืกื™ื. ื™ืฉ ืžืกืคื™ืง ืงื”ืœ ื˜ื•ื‘ ืฉืžื‘ื™ืŸ ืืช ื”ืขืจืš ื‘ืชืฉืœื•ื ืขืœ ืงื•ืจืกื™ื ื•ืฉืžื— ืœืฉืœื ืขืœื™ื”ื ื•ืืœื” ื”ืื ืฉื™ื ืฉืื ื—ื ื• ืฉืžื—ื™ื ืœื”ืžืฉื™ืš ืœืขื‘ื•ื“ ื‘ืฉื‘ื™ืœื.

ToCode
1 420
# ื”ื’ื ื” ืขืœ ืงื•ืจืกื™ื ื“ื™ื’ื™ื˜ืœื™ื™ื ื”ื—ื‘ืจื™ื ื‘ืจื‘ ืžืกืจ ื”ื–ืžื™ื ื• ืื•ืชื™ ืœืจืื™ื•ืŸ ื‘ื ื•ืฉื ื”ื’ื ื” ืขืœ ืงื•ืจืกื™ื ื“ื™ื’ื™ื˜ืœื™ื™ื. ืื ื™ ืžืกื›ื ื’ื ื›ืืŸ ืืช ืขื™ืงืจื™ ื”ื“ื‘ืจื™ื ืขืœื™ื”ื ื ื“ื‘ืจ. ื•ื›ืŸ ื›ืฉื™ืคืจืกืžื• ืืช ื”ื”ืงืœื˜ื” ืืฉื™ื ืคื” ื’ื ืงื™ืฉื•ืจ. ## ืžืคืช ืื™ื•ืžื™ื ื‘ื•ืื• ื ืชื—ื™ืœ ื‘ืฉืืœื” - ื›ืžื” ื–ืžืŸ ืœื•ืงื— ืœื”ื›ื™ืŸ ืงื•ืจืก ื“ื™ื’ื™ื˜ืœื™? ืื ืœื ื”ื›ื ืชื ืื—ื“ ืื ื™ ื‘ื˜ื•ื— ืฉื™ืฉ ืœื›ื ืื™ื–ื” ืžืกืคืจ ื‘ืจืืฉ. ืื ื™ ื™ื•ื“ืข ืฉืœื™ ื”ื™ื”. ื•ื›ืžื• ื‘ืคื™ืชื•ื— ืชื•ื›ื ื” ื’ื ื›ืืŸ ืœื ื”ื™ื” ืงืฉืจ ื‘ื™ืŸ ื”ื”ืขืจื›ื” ืฉืœื™ ืœื›ืžื•ืช ื”ืขื‘ื•ื“ื” ื‘ืคื•ืขืœ. ื•ืื—ืจื™ ืฉื”ืฉืงืขืช ืืช ื”ืฉืœื•ืฉื”, ื—ืžื™ืฉื” ืื• ืขืฉืจื” ื—ื•ื“ืฉื™ื ื‘ื‘ื ื™ื™ืช ืงื•ืจืก, ืœื ืชืขืฉื” ื”ื›ืœ ื›ื“ื™ ืœื”ื’ืŸ ืขืœื™ื•? ืœื ืžื’ื™ืข ืœืš ืœื”ืจื•ื•ื™ื— ืžื›ืœ ื”ืขื‘ื•ื“ื” ื”ืงืฉื”? ืžื” ืคืชืื•ื ืฉืžื™ืฉื”ื• ื™ื”ื ื” ืžื”ืงื•ืจืก ื‘ืœื™ ืœืฉืœื ืขืœื™ื•?! ื‘ื”ื’ื ื” ืขืœ ืงื•ืจืก ื“ื™ื’ื™ื˜ืœื™ ื”ืื™ื ื˜ื•ืื™ืฆื™ื” ื‘ืจื•ืจื” ืื‘ืœ ื”ืžืฆื™ืื•ืช ื™ื•ืชืจ ืžื•ืจื›ื‘ืช. ื‘ืฉื‘ื™ืœ ืœื”ื’ืŸ ืขืœ ืงื•ืจืก ื“ื™ื’ื™ื˜ืœื™ ืขืœื™ื ื• ืœื”ื‘ื™ืŸ ืžื” ื”ืื™ื•ืžื™ื ืื™ืชื ืขืœื™ื ื• ืœื”ืชืžื•ื“ื“, ื•ืžื™ ื”ืฉื—ืงื ื™ื ื”ืžืจื›ื–ื™ื™ื ื‘ืžื’ืจืฉ. ื”ื ื” ื”ืจืฉื™ืžื” ืฉืœื™: 1. ื”ื•ืจื“ื” ื•ื”ืคืฆื” ื‘ Torrent ืื• ืœื—ื‘ืจื™ื. 2. ื”ื•ืจื“ื” ื•ื”ืขืœืื” ืœืืชืจ ืงื•ืจืกื™ื ืžืชื—ืจื” (ืœืคืขืžื™ื ืชื•ืš ื”ื•ืกืคื” ืื• ืžื—ื™ืงื” ืฉืœ Watermark). 3. ืฉื™ืชื•ืฃ ืœื™ื ืง ืœืฆืคื™ื” ื™ืฉื™ืจื” ื‘ืชื•ื›ืŸ ื‘ืจืฉืช ื—ื‘ืจืชื™ืช. 4. ืฉื™ืชื•ืฃ ืคืจื˜ื™ ื’ื™ืฉื” ื‘ืจืฉืช ื—ื‘ืจืชื™ืช ืื• ืขื ื—ื‘ืจื™ื. ื•ื‘ืกื™ื›ื•ื ื”ืžืงืจื™ื ืืคืฉืจ ืœื”ื’ื™ืข ืœืฉืœื•ืฉื” ื•ืงื˜ื•ืจื™ ืชืงื™ืคื” ืžืจื›ื–ื™ื™ื: ืื ืฉื™ื ืฉื™ื•ืจื™ื“ื• ืืช ื”ืชื•ื›ืŸ, ืื ืฉื™ื ืฉื™ืขืงืคื• ืืช ืžื’ื‘ืœื•ืช ื”ื’ื™ืฉื” ื•ื™ืฆืคื• ื‘ืชื•ื›ืŸ ื“ืจืš ืงื™ืฉื•ืจ ื™ืฉื™ืจ ื•ืื ืฉื™ื ืฉื™ืฉื™ื’ื• ื’ื™ืฉื” ืœืคืจื˜ื™ ื—ืฉื‘ื•ืŸ ืฉืœ ืžืฉืชืžืฉ ื—ื•ืงื™. ื›ื ื’ื“ ืชืงื™ืคื•ืช ืืœื” ื ื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ืžื ื’ื ื•ื ื™ ื”ื”ื’ื ื” ื”ื‘ืื™ื: 1. ื ื•ื›ืœ ืœื”ื’ืŸ ืขืœ ื”ืชื•ื›ืŸ ืฉืœื ื• ื‘ืืžืฆืขื•ืช DRM ื•ืœื—ืกื•ื ืฆืคื™ื” ืœื ืžื•ืจืฉื™ืช ื‘ืจืžืช ื”ืงื•ื‘ืฅ. 2. ื ื•ื›ืœ ืœื”ื’ืŸ ืขืœ ื”ืœื™ื ืงื™ื ื”ื™ืฉื™ืจื™ื ืœืชื•ื›ืŸ, ืœืžืฉืœ ืœื“ืื•ื’ ืฉื”ืชื•ื›ืŸ ื™ื™ืคืชื— ืจืง ืื ื”ื“ืคื“ืคืŸ ืžื’ื™ืข ื‘ืืžืช ืžื”ื“ื•ืžื™ื™ืŸ ืฉืœื ื•. 3. ื ื•ื›ืœ ืœื”ื’ืŸ ืขืœ ื”ื—ืฉื‘ื•ื ื•ืช ื‘ืžืขืจื›ืช ื”ืงื•ืจืกื™ื ืฉืœื ื• ื•ืœื–ื”ื•ืช ืื ืื•ืชื• ื—ืฉื‘ื•ืŸ ืžื—ื•ื‘ืจ ืžืžื›ืฉื™ืจื™ื ืฉื•ื ื™ื ืื• ืžื›ืชื•ื‘ื•ืช IP ืฉื•ื ื•ืช. ## ื”ืฆื“ ื”ืฉืœื™ืœื™ ืฉืœ ื”ื’ื ื” ืื‘ืœ ื”ื‘ืขื™ื” ื”ืืžื™ืชื™ืช ื‘ื”ื’ื ื” ืขืœ ืชื•ื›ืŸ ื”ื™ื ืฉืœืขื•ืœื ืœื ื ืฆืœื™ื— ืœืขืฉื•ืช ืขื‘ื•ื“ื” ืžืกืคื™ืง ื˜ื•ื‘ื”, ื•ืœื ืžืฉื ื” ืื™ื–ื• ื”ื’ื ื” ื ื‘ื—ืจ ื–ื” ืชืžื™ื“ ื™ืคื’ืข ื‘ื—ื•ื•ื™ืช ื”ืžืฉืชืžืฉ. ื“ื•ื’ืžื” ืคืฉื•ื˜ื” ืžื—ื•ืฅ ืœืขื•ืœื ื”ืงื•ืจืกื™ื ื”ื™ื ืกืคืจื™ื. ื‘ื’ืœืœ ื›ืœ ืžื™ื ื™ ื—ื•ืงื™ ื–ื›ื•ื™ื•ืช ื™ื•ืฆืจื™ื ืฉืœ ื”ืื™ื—ื•ื“ ื”ืื™ืจื•ืคื™ ืื™ ืืคืฉืจ ืœืงื ื•ืช ืกืคืจ ื‘ืฆืจืคืชื™ืช ื‘ืžืงื•ืจ ื‘ืืžื–ื•ืŸ ืื ืืชื ืžื‘ืฆืขื™ื ืืช ื”ืงื ื™ื” ืžื™ืฉืจืืœ. ื•ื™ื•ืชืจ ืžื–ื”, ืื ื‘ืžืงืจื” ื”ืฆืœื—ืชื ืœืจืžื•ืช ืืช ืืžื–ื•ืŸ ืขื VPN ื•ื›ืจื˜ื™ืก ืืฉืจืื™ ื–ืจ ื•ื›ืชื•ื‘ืช ื–ืจื”, ืขื“ื™ื™ืŸ ืœื ืชื•ื›ืœื• ืœื”ืคืขื™ืœ ืืช ื”ืกืคืจ ืขืœ ื”ืงื™ื ื“ืœ ืฉืœื›ื ื›ื™ ื”ื•ื ืžื’ื™ืข ืขื DRM. ืื‘ืœ, ืืช ืื•ืชื• ืกืคืจ ืชื•ื›ืœื• ืœื”ืฉื™ื’ ื‘ื—ื™ื ื ืœืœื DRM ื‘ืื™ื ืกื•ืฃ ืืชืจื™ ืกืคืจื™ื ืคื™ืจืื˜ื™ื™ื ื‘ืจืฉืช. ืžืจื•ื‘ ืจืฆื•ืŸ ืœื”ื’ืŸ ืขืœ ื”ืชื•ื›ืŸ ื ื•ืฆืจ ืžืฆื‘ ืฉืื™ืŸ ื‘ืจื™ืจื” ืืœื ืœื”ื•ืจื™ื“ ืขื•ืชืง ืคื™ืจืื˜ื™. ื‘ื—ื–ืจื” ืœืงื•ืจืกื™ื ื“ื™ื’ื™ื˜ืœื™ื™ื ื‘ื•ืื• ื ื‘ื—ืŸ ืžื—ื“ืฉ ืืช ื”ื”ื’ื ื•ืช ืฉืชื™ืืจืชื™- 1. ื”ื’ื ื” ื‘ืืžืฆืขื•ืช DRM ืขืœ ื”ืงื‘ืฆื™ื ืขืฆืžื ื”ื™ื ืžืขื•ืœื”, ืื‘ืœ ื”ื™ื ืžื—ื™ื™ื‘ืช ืืช ื”ืฆื•ืคื™ื ื”ื—ื•ืงื™ื™ื ืฉืœื›ื, ืฉืฉื™ืœืžื• ืžืžื™ื˜ื‘ ื›ืกืคื ืขืœ ื”ืงื•ืจืก, ืœื”ืฉืชืžืฉ ื‘ืชื•ื›ื ื” ื™ื™ืขื•ื“ื™ืช ืœืฆืคื™ื”. ืžืขื‘ืจ ืœื–ื”, ื™ืฉ ื”ื™ื•ื ืื™ื ืกื•ืฃ ื›ืœื™ื ืœื”ืกืจืช DRM ืžืงื‘ืฆื™ื, ื›ืš ืฉืžื™ ืฉื™ื•ืจื™ื“ ืืช ื”ืงื‘ืฆื™ื ื•ื™ืจืฆื” ืœื”ืคื™ืฅ ืื•ืชื ื‘ืกืš ื”ื›ืœ ื™ืฆื˜ืจืš ืœื”ืคืขื™ืœ ืขื•ื“ ื›ืœื™ ืื—ื“ ื›ื“ื™ ืœืžื—ื•ืง ืืช ื”ื”ื’ื ื”. 2. ื”ื”ื’ื ื” ื”ืžืงื•ื‘ืœืช ืขืœ ื”ืœื™ื ืง ื”ื™ืฉื™ืจ ืœืฆืคื™ื” ื”ื™ื ื‘ืืžืฆืขื•ืช ื•ื™ื“ื•ื ื“ื•ืžื™ื™ืŸ. ื–ืืช ื”ื’ื ื” ื˜ื™ืคืฉื™ืช ื›ื™ ื›ืœ ืื—ื“ ื™ื›ื•ืœ ืœืฉื ื•ืช ืืช ืงื•ื‘ืฅ ื” hosts ื‘ืžื—ืฉื‘ ื•ืœื”ืชื—ื–ื•ืช ืœืืชืจ ืžื“ื•ืžื™ื™ืŸ ืื—ืจ. ื”ื“ื‘ืจ ื”ื™ื—ื™ื“ ืฉื”ื’ื ื” ื–ื• ืžื’ื™ื ื” ืžืคื ื™ื• ื–ื” ืžืฉืชืžืฉื™ื ืฉื™ืคื™ืฆื• ื‘ืจืฉืช ื—ื‘ืจืชื™ืช ืื• ืœื—ื‘ืจื™ื ืงื™ืฉื•ืจื™ื ืœืกืจื˜ื™ ื”ื•ื™ื“ืื• ืžื”ืงื•ืจืก ืฉืœื›ื. 3. ื”ื’ื ื” ื‘ืืžืฆืขื•ืช ื‘ื“ื™ืงืช ื’ืœื™ืฉื” ืžืžืกืคืจ ืžื›ืฉื™ืจื™ื ื‘ืžืงื‘ื™ืœ ื™ื›ื•ืœื” ืœืขื‘ื•ื“, ืื‘ืœ ืœืจื•ื‘ ื‘ื’ืœืœ ื‘ืื’ื™ื ื•ืืชื’ืจื™ื ื˜ื›ื ื™ื™ื ืื—ืจื™ื ื”ื ืคื’ืขื™ื ื”ืขื™ืงืจื™ื™ื ืžื”ื’ื ื” ื›ื–ืืช ื”ื ื”ืžืฉืชืžืฉื™ื ื”ื—ื•ืงื™ื™ื, ืฉืœื ื™ื•ื›ืœื• ืœื’ืฉืช ืœืชื•ื›ืŸ ืื• ืฉื™ืฆื˜ืจื›ื• ืœื”ืชื—ื‘ืจ ืžื—ื“ืฉ ื›ืœ ื›ืžื” ื™ืžื™ื. ## ืœื ื›ืœ "ืคื™ืจืื˜ื™ื•ืช" ื”ื™ื ืจืขื” ื‘ืกื•ืฃ ื”ืžื˜ืจื” ืฉืœื ื• ื‘ืชื•ืจ ื™ื•ืฆืจื™ ืชื•ื›ืŸ ื”ื™ื ืœืขื–ื•ืจ ืœืื ืฉื™ื. ื›ืŸ ืื ื—ื ื• ืจื•ืฆื™ื ืœืžื›ื•ืจ ืงื•ืจืกื™ื ื›ื™ ื”ื›ืกืฃ ืขื•ื–ืจ ืœื ื• ืœื™ื™ืฆืจ ืขื•ื“ ืงื•ืจืกื™ื, ื›ืŸ ืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืฉืžื™ ืฉื”ืฉืงื™ืข ื—ื•ื“ืฉื™ื ื•ืœืคืขืžื™ื ื™ื•ืชืจ ื‘ื‘ื ื™ื™ืช ืงื•ืจืก ืฆืจื™ืš ืœื”ื™ื•ืช ืžืชื•ื’ืžืœ ืขืœ ื–ื” ื•ื‘ืžื™ื•ื—ื“ ืื ื”ืงื•ืจืก ื”ื•ื ื˜ื•ื‘, ืื‘ืœ ืœื ื›ืœ ืคื™ืจืื˜ื™ื•ืช ื”ื™ื ืจืขื”. ืœื ืœื›ื•ืœื ื™ืฉ ื›ืกืฃ ืคื ื•ื™ ืœืงื•ืจืก ืฉืœืš, ืœื ืžืฉื ื” ื›ืžื” ื”ื•ื ืžืขื ื™ื™ืŸ ืื• ื˜ื•ื‘. ืœื ื›ื•ืœื ืžื‘ื™ื ื™ื ืืช ื”ืขืจืš ืฉืœ ื”ืงื•ืจืก ืœืคื ื™ ืฉืฆื•ืคื™ื ื‘ื•. ื•ื›ื‘ืจ ืงืจื” ืœื™ ืœื ืžืขื˜ ืคืขืžื™ื ืฉืื ืฉื™ื ื ื—ืฉืคื• ืœืชื›ื ื™ื ืคื” ื‘ืืชืจ ื‘ื›ืœ ืžื™ื ื™ ื“ืจื›ื™ื ื‘ืœื™ ืœืฉืœื ื•ื—ื–ืจื• ืœื•ืžืจ ืชื•ื“ื” ื•ืœืฉืœื ืื—ืจื™ ื”ืฆืคื™ื” ื•ืื—ืจื™ ืฉื”ืงื•ืจืก ืขื–ืจ ืœื”ื ืœืžืฆื•ื ืขื‘ื•ื“ื”. ## ืžื” ืขื•ืฉื™ื ื‘ืฉื•ืจื” ื”ืชื—ืชื•ื ื” ื”ื”ืชืžื•ื“ื“ื•ืช ืขื ื’ื ื™ื‘ืช ืงื•ืจืกื™ื ื”ื™ื ืœื ื˜ื›ื ื™ืช. ืœื ืžืฉื ื” ื›ืžื” ืžื ื’ื ื•ื ื™ ื”ื’ื ื” ื˜ื›ื ื™ื™ื ื ืฉื™ื, ื›ืฉืื ืฉื™ื ื™ืฆื˜ืจื›ื• ืœืขืงื•ืฃ ืื•ืชื ื”ื ื™ืžืฆืื• ืืช ื”ื“ืจืš, ื•ื‘ืžื™ื•ื—ื“ ื›ืฉืžื“ื•ื‘ืจ ื‘ืžื•ืฆืจ ืฉื›ืœ ื›ืš ืงืœ ืœื’ื ื•ื‘ ืื•ืชื• ื›ืžื• ืงื•ืจืก ื“ื™ื’ื™ื˜ืœื™.

ToCode
1 420
# ื”ืžื™ื•ืžื ื•ืช ื”ื›ื™ ื—ืฉื•ื‘ื” ืฉื—ืกืจื” ืœ Chat GPT ืœืžื ื•ืขื™ ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช ื›ืžื• Chat GPT ื•ื—ื‘ืจื™ื• ื™ืฉ ืขื“ื™ื™ืŸ ื‘ืขื™ื” ื’ื“ื•ืœื” - ื”ื ืœืขื•ืœื ืœื ื™ืขื ื• ื‘ืฉืืœื”. ื”ื ืœื ื™ื•ื“ืขื™ื ืžืชื™ ืฆืจื™ืš ืœื‘ืงืฉ ืขื•ื“ ืžื™ื“ืข, ื•ืžืชื™ ื”ืฉืืœื” ืžืขื™ื“ื” ืขืœ ื›ืš ืฉืืชื” ืœื ื‘ืืžืช ืžื‘ื™ืŸ ืžื” ืืชื” ืฆืจื™ืš. ื›ืฉืื ื™ ืืฉืืœ ืื•ืชื• ืœืžื” ื›ื•ืื‘ ืœื™ ื”ืจืืฉ, ื”ื•ื ื™ืกื‘ื™ืจ ืฉื”ื•ื ืœื ืจื•ืคื ื•ืื– ื™ื ื—ืฉ ืžื” ื”ื‘ืขื™ื”. ื›ืฉืื ื™ ืืฉืืœ ืื™ืš ืœื›ืชื•ื‘ ืื™ืžื™ื™ืœ ืฉื™ืžื›ื•ืจ ืื ื™ ืืงื‘ืœ ืชืฉื•ื‘ื” ืžืคื•ืจื˜ืช, ืืคื™ืœื• ืฉืื™ืŸ ืœื• ืžื•ืฉื’ ืœืžื™ ืื ื™ ืžื ืกื” ืœืžื›ื•ืจ ื•ืžื”. ื›ืฉืื ื™ ืืฉืืœ ื‘ืื™ื–ื• ืชื“ื™ืจื•ืช ืœืฉืœื•ื— ื”ื•ื“ืขื•ืช ืœืžืฉืชืžืฉื™ื ืฉืœื™ ื”ื‘ื•ื˜ ื™ื›ืชื•ื‘ ืื™ื ืกื•ืฃ ื”ืžืœืฆื•ืช, ืืคื™ืœื• ืฉื”ื•ื ืœื ื™ื•ื“ืข ื›ืœื•ื ืขืœ ื”ืขืกืง ืฉืœื™ ืื• ื”ืžืฉืชืžืฉื™ื ืฉืœื™. ื•ื›ืžื•ื‘ืŸ ืฉื”ืชื ื”ื’ื•ืช ื–ื• ืชื™ืžืฉืš ื’ื ื‘ื›ืœ ืฉืืœื” ื˜ื›ื ื™ืช. ื‘ืœื™ ื™ื›ื•ืœืช ืœื”ื‘ื™ืŸ ืืช ื”ื‘ืขื™ื” ื”ืื—ืจื™ื•ืช ื ืฉืืจืช ื‘ื™ื“ื™ื™ื ืฉืœื™. ื‘ื“ื™ื•ืง ื›ืžื• ืขื ืžื ื•ืข ื—ื™ืคื•ืฉ, ืขืœื™ื™ ืœืžืฆื•ื ืืช ื” Prompt ื”ื ื›ื•ืŸ ืฉื™ืชืืจ ืืช ื”ื‘ืขื™ื” ื‘ืฆื•ืจื” ืžืกืคื™ืง ืžื“ื•ื™ืงืช ื›ื“ื™ ืœืงื‘ืœ ืžื”ื‘ื•ื˜ ืืช ื”ืชืฉื•ื‘ื” ื”ื ื›ื•ื ื”. "ืื ื™ ืœื ื™ื•ื“ืข" ื•"ืื ื™ ืฆืจื™ืš ืขื•ื“ ื ืชื•ื ื™ื" ื”ื ืžืฉืคื˜ื™ื ืงืกื•ืžื™ื ื•ื”ื™ื›ื•ืœืช ืœื”ื’ื™ื“ ืื•ืชื ื•ืœื”ืชืงื“ื ืขื ื”ืื™ ื•ื•ื“ืื•ืช ืชื™ืฉืืจ ื”ื™ืชืจื•ืŸ ื”ื’ื“ื•ืœ ืฉืœื ื• ืœืชืงื•ืคื” ื”ืงืจื•ื‘ื”. ื”ื™ื•ื ื”ื•ื ื–ืžืŸ ื˜ื•ื‘ ืœื”ืชืืžืŸ ืขืœ ืžื™ื•ืžื ื•ื™ื•ืช ืืœื”.

ToCode
1 420
# ืื™ืš ืœื”ืชืงื™ืŸ k3s ื™ื—ื“ ืขื ื” Dashboard ืขืœ multipass ืžื•ืœื˜ื™ืคืืก ื”ื•ื ื›ืœื™ ืœื”ืจืฆืช ืžื›ื•ื ื•ืช ืœื™ื ื•ืงืก ื•ื™ืจื˜ื•ืืœื™ื•ืช ืงื˜ื ื•ืช ื‘ืžื”ื™ืจื•ืช ืขืœ ืžื›ื•ื ื•ืช Mac ื• Windows. ื‘ื™ืŸ ื”ืฉืืจ ืืคืฉืจ ืœื”ื™ืขื–ืจ ื‘ื• ื›ื“ื™ ืœืฉื—ืง ืขื ืงืœืืกื˜ืจื™ื, ื›ื™ ืงืœืืกื˜ืจื™ื ืฆืจื™ื›ื™ื ื”ืจื‘ื” ืžื›ื•ื ื•ืช ื•ืขื ืžื•ืœื˜ื™ืคืืก ืžืื•ื“ ืงืœ ืœื™ืฆื•ืจ ืžื›ื•ื ื•ืช ื—ื“ืฉื•ืช. ื‘ื•ืื• ื ืœืš ืœื”ืชืงื™ืŸ ืงืœืืกื˜ืจ ืฉืœ ืฉืœื•ืฉ ืžื›ื•ื ื•ืช, ืžื ื•ื”ืœ ืขืœ ื™ื“ื™ k3s (ืฉื”ื•ื ืกื•ื’ ืฉืœ ืงื•ื‘ืจื ื˜ื™ืก ืคื—ื•ืช ืฉืžืŸ), ื ืชืงื™ืŸ ืขืœื™ื• ืืช ืœื•ื— ื”ื‘ืงืจื” ืฉืœ Kubernetes ื•ื ื™ื’ืฉ ืœืžืžืฉืง ื”ื ื™ื”ื•ืœ ืžื”ืžื—ืฉื‘ ื”ืžืืจื—. ## ื”ืชืงื ืช k3s ืขืœ multipass ืื ื™ ืžืชื—ื™ืœ ืขื ื”ืžื“ืจื™ืš ื›ืืŸ: https://andreipope.github.io/tutorials/create-a-cluster-with-multipass-and-k3s.html. ืจืง ืฉื‘ืžืงื•ื ืœื”ืชืงื™ืŸ ืืช ื’ื™ืจืกื” 18.04 ืื ื™ ืžืชืงื™ืŸ ืืช 22.04. ื›ืœื•ืžืจ ื ืคืขื™ืœ:
for f in {1..3}; do
    multipass launch -c 1 -m 1G -d 4G -n k3s-$f 22.04
done
ืœืื—ืจ ืžื›ืŸ ืžืชืงื™ืŸ ืžื›ื•ื ื” ืจืืฉื™ืช ืขืœ ื”ืžื›ื•ื ื” ื”ืจืืฉื•ื ื” ืฉื ื•ืฆืจื”:
multipass exec k3s-1 -- bash -c "curl -sfL https://get.k3s.io | sh -"
ืžื•ืฉืš ืืช ื”ื˜ื•ืงืŸ ื•ื›ืชื•ื‘ืช ื” IP ื•ืžื—ื‘ืจ ืืœื™ื• ืืช ืฉืชื™ ื”ืžื›ื•ื ื•ืช ื”ืื—ืจื•ืช:
IP=$(multipass info k3s-1 | grep IPv4 | awk '{print $2}')
TOKEN=$(multipass exec k3s-1 sudo cat /var/lib/rancher/k3s/server/node-token)

for f in {2..3}; do
     multipass exec k3s-$f -- bash -c "curl -sfL https://get.k3s.io | K3S_URL=\"https://$IP:6443\" K3S_TOKEN=\"$TOKEN\" sh -"
done
ื ื•ื•ื“ื ืฉื”ื›ืœ ืขื•ื‘ื“:
$ multipass exec k3s-1 sudo kubectl get nodes
NAME    STATUS   ROLES                  AGE     VERSION
k3s-1   Ready    control-plane,master   2m48s   v1.26.5+k3s1
k3s-2   Ready    <none>                 56s     v1.26.5+k3s1
k3s-3   Ready    <none>                 46s     v1.26.5+k3s1
## ื”ืชืงื ืช ืœื•ื— ื”ื‘ืงืจื” ื”ืฉืœื‘ ื”ื‘ื ื”ื•ื ื”ืชืงื ืช ื” Kubernetes Dashboard ืขืœ ื”ืงืœืืกื˜ืจ ื”ื—ื“ืฉ ืฉืœื ื•. ืื ื™ ื”ื•ืœืš ืœืคื™ ื”ืžื“ืจื™ืš ื›ืืŸ: https://gist.github.com/jannegpriv/06427e4ecc2a17f317a4bebc32b6445c ืงื•ื“ื ื›ืœ ื ื›ื ืก ืœืžื›ื•ื ื” ื”ืจืืฉื•ื ื”:
multipass shell k3s-1
ื‘ืชื•ืš ื”ืžื›ื•ื ื” ืžืจื™ืฅ ืืช ื”ืคืงื•ื“ื•ืช:
mkdir ~/k3s-dashboard
cd ~/k3s-dashboard
GITHUB_URL=https://github.com/kubernetes/dashboard/releases
VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
sudo k3s kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/${VERSION_KUBE_DASHBOARD}/aio/deploy/recommended.yaml
ืžืžืฉื™ืš ืœื™ืฆื™ืจืช ืฉื ื™ ืงื‘ืฆื™ ื” yaml ืžืชื•ืš ืื•ืชื• ืžื“ืจื™ืš:
# service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
# cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
ื•ื‘ืกื•ืฃ ื ืชืงื™ืŸ ืืช ืฉื ื™ ื”ืงื‘ืฆื™ื:
sudo k3s kubectl apply -f service-account.yaml
sudo k3s kubectl apply -f cluster-role.yaml
ื”ื“ืจื›ื™ื ื”ืžืจื›ื–ื™ื•ืช ืœื—ืฉื•ืฃ ืืช ืžืžืฉืง ื”ื ื™ื”ื•ืœ ื”ื—ื•ืฆื” ืœืžื—ืฉื‘ ื”ืžืืจื— ื”ืŸ ืฉื™ืžื•ืฉ ื‘ Proxy, ืฉื™ืžื•ืฉ ื‘ Port Forwarding ื•ื”ืชืงื ืช Ingress Controller. ืื ื—ื ื• ื ืฉืชืžืฉ ื‘ Port Forwarding ื›ื™ ื–ื” ื”ื›ื™ ืคืฉื•ื˜. ื ืคืขื™ืœ ืขื“ื™ื™ืŸ ืžืชื•ืš ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช:
sudo k3s kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8443:443 --address 0.0.0.0
ื•ืœืื—ืจ ืžื›ืŸ ื ื•ื›ืœ ืžืชื•ืš ื”ืžื—ืฉื‘ ื”ืžืืจื— ืœื’ืœื•ืฉ ืœื›ืชื•ื‘ืช ื” IP ืฉืœ ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ื‘ืคื•ืจื˜ 8443 ื›ื“ื™ ืœื”ื’ื™ืข ืœืžืžืฉืง ื”ื ื™ื”ื•ืœ. ืฉื™ืžื• ืœื‘ ืฉื”ื“ืคื“ืคืŸ ื™ืชืœื•ื ืŸ ืขืœ Certificate ืœื ืชืงื™ืŸ (ื›ื™ ื–ื” Self Signed ืฉืœ ื”ืงืœืืกื˜ืจ). ืคืฉื•ื˜ ื ื“ืœื’ ืขืœ ื”ืื–ื”ืจื”. ืื—ืจื™ ืฉื™ืฉ ืœื ื• ื’ื™ืฉื” ื ืฉืืจ ืœืขื‘ื•ืจ ืืช ืžืกืš ื”ื—ื™ื‘ื•ืจ. ื‘ืฉื‘ื™ืœ ื–ื” ืฆืจื™ืš ืœื™ื™ืฆืจ ื˜ื•ืงืŸ ืขื ื”ืคืงื•ื“ื”:
sudo k3s kubectl -n kubernetes-dashboard create token admin-user
ืžืขืชื™ืงื™ื ืืช ืžื” ืฉื”ื•ื“ืคืก ืœืžืงื•ื ื‘ื˜ื•ื— ื•ืžืฉืชืžืฉื™ื ื‘ื• ื›ื“ื™ ืœื”ืชื—ื‘ืจ ืœืžืžืฉืง ื”ื ื™ื”ื•ืœ.

ToCode
1 420
# ื•ืžื” ืื ืœื ืชื”ื™ื” ืœื™ ืขื‘ื•ื“ื”? ืจืง ื”ืžื—ืฉื‘ื” ืœืขื‘ื•ืจ ืžืฉื›ื™ืจ ืœืขืฆืžืื™ ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžื˜ืœื˜ืœืช, ืฉืœื ืœื“ื‘ืจ ืขืœ ื”ืขืฉื™ื™ื” ืขืฆืžื”. ืื‘ืœ ื”ืคื—ื“ ื”ื›ื™ ืคื•ืคื•ืœืจื™ ื”ื•ืœืš ืžืฉื”ื• ื›ืžื• "ืžื” ืื ืื ื™ ืœื ื˜ื•ื‘ ื›ืžื• ืฉืื ื™ ื—ื•ืฉื‘", ืื• ื‘ื ื™ืกื•ื—ื™ื ื”ื—ื‘ืจื™ื ืฉืœื•- "ืžื” ืื ืœื ืืžืฆื ืœืงื•ื—ื•ืช?" "ืžื” ืื ื”ืœืงื•ื—ื•ืช ืฉืืžืฆื ืœื ื™ืจืฆื• ืœืฉืœื?" "ืžื” ืื ืืจื•ื•ื™ื— ื”ืจื‘ื” ืคื—ื•ืช ืžืžื” ืฉืื ื™ ืจื’ื™ืœื” ืœื”ืจื•ื•ื™ื— ื”ื™ื•ื?" "ืžื” ืื ืืฆื˜ืจืš ืœืขืฉื•ืช ืžืฉื”ื• ืฉื•ื ื” ืžืžื” ืฉืงื™ื•ื•ื™ืชื™ ืฉืืขืฉื”?" "ื•ืžื” ืื ืœื ืืฆืœื™ื— ืœืขืฉื•ืช ื“ื‘ืจื™ื ืื—ืจืช?" "ืžื” ืื ื”ืจืขื™ื•ืŸ ืฉืœื™ ืœื ื›ื–ื” ื˜ื•ื‘?" "ืžื” ืื ืœื ืืžืฆื ืžืฉืงื™ืข?" ืืœื” ืฉืืœื•ืช ื˜ื•ื‘ื•ืช. ืœื™ ืœืงื— ื”ืจื‘ื” ืฉื ื™ื ืœืงื‘ืœ ืืช ื–ื” ืฉื™ื”ื™ื” ื‘ืกื“ืจ. ืœืงื‘ืœ ืืช ื–ื” ืฉืื•ืœื™ ืขื›ืฉื™ื• ืื™ืŸ ืœืงื•ื—ื•ืช ืื‘ืœ ื™ื”ื™ื• ื‘ืขืชื™ื“. ืฉืื•ืœื™ ืขื›ืฉื™ื• ืžืฉืœืžื™ื ืงืฆืช ืคื—ื•ืช ื•ื‘ืขืชื™ื“ ื™ืฉืœืžื• ืงืฆืช ื™ื•ืชืจ. ืฉืื•ืœื™ ืขื›ืฉื™ื• ืžืจื•ื•ื™ื—ื™ื ืงืฆืช ืคื—ื•ืช ืื‘ืœ ื‘ืขืชื™ื“ ืื•ืœื™ ืืจื•ื•ื™ื— ื™ื•ืชืจ. ืฉืื•ืœื™ ืขื›ืฉื™ื• ืื ื™ ืขื•ืฉื” ืžืฉื”ื• ืฉื•ื ื” ืžืžื” ืฉืงื™ื•ื•ื™ืชื™ ืœืขืฉื•ืช, ื•ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉืืœืžื“ ืœืื”ื•ื‘ ืืช ื–ื” ืื• ืฉื‘ืขืชื™ื“ ื™ื”ื™ื• ืฉื•ื‘ ื”ื–ื“ืžื ื•ื™ื•ืช ืœืขืฉื•ืช ืืช ืžื” ืฉื›ืŸ ืจืฆื™ืชื™. ืฉื’ื ืื ืขื›ืฉื™ื• ืžืฉื”ื• ืœื ืžืฆืœื™ื— ืื•ืœื™ ื‘ืคืขื ื”ื‘ืื” ื–ื” ื™ืฆืœื™ื— ื˜ื•ื‘ ื™ื•ืชืจ. ืฉื’ื ืื ื”ืจืขื™ื•ืŸ ืฉืœื™ ื›ืจื’ืข ืœื ื›ื–ื” ื˜ื•ื‘ ืืคืฉืจ ืœืฉืคืจ ืื•ืชื•. ื•ืฉื–ื” ื‘ืกื“ืจ ืœื”ืžืฉื™ืš ืœืคืชื— ื“ื‘ืจื™ื ื’ื ื‘ืœื™ ืžืฉืงื™ืข, ื’ื ื‘ืขืจื‘, ื•ื’ื ืื ื‘ืกื•ืฃ ื”ื ืœื ื™ื”ืคื›ื• ืœืคื™ื™ืกื‘ื•ืง ื”ื‘ื. ื”ื“ืจืš ืœื”ืชื’ื‘ืจ ืขืœ ื”ืคื—ื“ ื”ื™ื ืœื ืœืฉื™ื ืื•ืชื• ื‘ืฆื“, ืืœื ื‘ื“ื™ื•ืง ืœื”ื™ืคืš. ืœืชืช ืœื• ืืช ื”ืžืงื•ื. ืœืงื‘ืœ ืื•ืชื•. ืœืจืงื•ื“ ืื™ืชื•. ื‘ืจื•ืจ ืฉื–ื” ืžืคื—ื™ื“, ืื—ืจืช ื”ื™ื™ืช ืขื•ืฉื” ืืช ื–ื” ื”ืจื‘ื” ืงื•ื“ื. ื‘ืจื•ืจ ืฉื–ื” ืžืคื—ื™ื“, ืื—ืจืช ื–ื” ืœื ื”ื™ื” ืžืขื ื™ื™ืŸ. ืžื“ื”ื™ื ืœื—ืฉื•ื‘ ืฉืื ื—ื ื• ืžื•ื›ื ื™ื ืœื”ื™ืจืฉื ืœืฉืœื•ืฉ ืื• ืืจื‘ืข ืฉื ื™ื ื‘ืื•ื ื™ื‘ืจืกื™ื˜ื” ืื• ืœืฆืืช ืœื˜ื™ื•ืœ ืฉืœ ืฉื ื” ื‘ืžื–ืจื— ื‘ืœื™ ืœื—ืฉื•ื‘ ืคืขืžื™ื™ื, ืื‘ืœ ืื•ื›ืœื™ื ืกืจื˜ ืœืคื ื™ ืฉื ื•ืชื ื™ื ืœืขืฆืžื ื• ื—ืฆื™ ืฉื ื” ืื• ืฉื ื” ืœื—ืœื•ื ืขืœ ืจืขื™ื•ืŸ ื•ืœื ืกื•ืช ืœื‘ื ื•ืช ืื•ืชื•. ื™ื”ื™ื” ื‘ืกื“ืจ, ืจื•ื‘ ื”ืกื™ื›ื•ื™ื™ื ืฉื–ื” ื™ืฆืœื™ื—, ื•ื’ื ืื ืœื - ืœื ืžืชื™ื ืžื”ื ื™ืกื™ื•ืŸ. ื–ืžืŸ ืœืฆืืช ืœืจืงื•ื“.

ToCode
1 420
# ื—ืžื™ืฉื” ื‘ื•ื˜ื™ื ืœื˜ืœื’ืจื ืฉืชื•ื›ืœื• ืœื›ืชื•ื‘ ื›ืคืจื•ื™ืงื˜ ืฆื“ ืื—ืจื™ ืฉื”ืชืจื’ืœื ื• ืœื“ื‘ืจ ื‘ืฆ'ื˜ ื‘ื•ื•ื˜ืกืืค ื•ืขื Chat GPT ืื™ืŸ ื“ื‘ืจ ื™ื•ืชืจ ื˜ื‘ืขื™ ืžืœื”ืžืฉื™ืš ืœืชืงืฉืจ ืขื ื‘ื•ื˜ื™ื ื’ื ื‘ืžืงื•ืžื•ืช ืื—ืจื™ื. ื‘ืจืžื” ื”ื˜ื›ื ื™ืช ื‘ื•ื˜ื™ื ืžืฆื™ืขื™ื ื“ืจืš ืคืฉื•ื˜ื” ืœื‘ื ื•ืช ืžืžืฉืง ืœืคืจื•ื™ืงื˜ ืฉื™ื”ื™ื” ืื™ื ื˜ื•ืื™ื˜ื™ื‘ื™ ืœืžืฉืชืžืฉื™ื ื•ื™ื—ืกื™ืช ืคืฉื•ื˜ ืœืคื™ืชื•ื—. ืื ืืชื ืžื—ืคืฉื™ื ืจืขื™ื•ืŸ ืœืคืจื•ื™ืงื˜ ืฆื“, ื‘ื•ื˜ ืœื˜ืœื’ืจื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืฉื”ื• ืฉื›ื™ืฃ ืœื‘ื ื•ืช ื•ืœืฉื—ืง ืื™ืชื• ื›ืฉื”ื•ื ื‘ืื•ื•ื™ืจ. ื”ื ื” ื—ืžื™ืฉื” ืจืขื™ื•ื ื•ืช ืœื‘ื•ื˜ื™ื ืฉืชื•ื›ืœื• ืœื‘ื ื•ืช ื‘ื–ืžื ื›ื ื”ืคื ื•ื™. ## ื‘ื•ื˜ ืืงื• ืืช ื—ื•ื•ื™ืช ืคื™ืชื•ื— ื”ื‘ื•ื˜ื™ื ืชื•ื›ืœื• ืœื”ืชื—ื™ืœ ืขื ื‘ื•ื˜ ืคืฉื•ื˜ ืฉืฉื•ืœื— ืœื›ื ื‘ื—ื–ืจื” ื›ืœ ื”ื•ื“ืขื” ืฉืชืฉืœื—ื• ืœื•. ื‘ื•ื˜ ื›ื–ื” ื™ื™ืชืŸ ืœื›ื ื”ื–ื“ืžื ื•ืช ืœืœืžื•ื“ ืื™ืš ืœืชืงืฉืจ ืขื BotFather, ืื™ืš ืœืงื‘ืœ ื˜ื•ืงืŸ ื•ืื™ืš ืœื”ืจื™ืฅ ื‘ื•ื˜. ืžืชื›ื ืชื™ ืคื™ื™ืชื•ืŸ ื™ื›ื•ืœื™ื ืœื”ืชื—ื™ืœ ืขื ื”ืกืคืจื™ื” python-telegram-bot. ืžืชื›ื ืชื™ Node.JS ื™ื›ื•ืœื™ื ืœื ืกื•ืช ืืช node-telegram-bot-api. ื•ื›ืืŸ ื™ืฉ ืจืฉื™ืžื” ื“ื™ ืืจื•ื›ื” ืฉืœ ืกืคืจื™ื•ืช ื‘ื›ืœ ื”ืฉืคื•ืช ืœื‘ื ื™ื™ืช ื‘ื•ื˜ื™ื ืœื˜ืœื’ืจื: https://core.telegram.org/bots/samples ืืช ื”ื‘ื•ื˜ ืืคืฉืจ ืœื”ืจื™ืฅ ืขืœ ื›ืœ ืฉืจืช ืœื™ื ื•ื“ ืื• ืื ืื™ืŸ ืœื›ื ื›ื— ืœื”ืชืงื ื•ืช ืœื”ืฉืชืžืฉ ื‘ PaaS ื›ืžื• code capsules. ื›ืืŸ ื™ืฉ ืžื“ืจื™ืš ืœื”ืจืฆืช ื‘ื•ื˜ ืขืœ ื”ืฉื™ืจื•ืช ืฉืœื”ื: https://codecapsules.io/docs/deployment/how-to-deploy-python-telegram-bot-to-production/ ## ื‘ื•ื˜ ืฉืขื•ื–ืจ ืœื”ื’ื•ืช ืžื™ืœื™ื ื‘ืื ื’ืœื™ืช ืื—ืจื™ ืฉื”ืขืœื™ื ื• ื‘ื•ื˜ ืืงื• ื•ื”ืฆืœื—ื ื• ืœืชืงืฉืจ ืื™ืชื•, ืืคืฉืจ ืœืขื‘ื•ืจ ืœื‘ื•ื˜ื™ื ืžืขื ื™ื™ื ื™ื ื™ื•ืชืจ. ื‘ื“ื•ื’ืžื” ื”ื‘ืื” ื ืฉื“ืจื’ ืืช ื‘ื•ื˜ ื”ืืงื• ื›ืš ืฉื™ื—ื–ื™ืจ ืืช ื”ื˜ืงืกื˜ ืฉืฉืœื—ื ื• ืœื• ื‘ื”ื•ื“ืขื” ืงื•ืœื™ืช. ืชื•ื›ืœื• ืœื”ืฉืชืžืฉ ื‘ AWS Polly ื›ื“ื™ ืœืชืจื’ื ื˜ืงืกื˜ ืœืงื•ื‘ืฅ ืงื•ืœ, ื•ืื—ืจ ื›ืš ื—ืคืฉื• ื‘ API ืฉืœ ื”ืกืคืจื™ื” ืฉื‘ื—ืจืชื ืื™ืš ืฉื•ืœื—ื™ื ื”ื•ื“ืขื” ืงื•ืœื™ืช. ## ื‘ื•ื˜ ืชื–ื›ื•ืจื•ืช ื‘ื›ืชื™ื‘ืช ื‘ื•ื˜ ืื ื—ื ื• ืžืงื‘ืœื™ื ื‘ืžืชื ื” ืืช ื”ื˜ื™ืคื•ืœ ื‘ื”ืชื—ื‘ืจื•ืช ื•ื–ื™ื”ื•ื™ ืžืฉืชืžืฉื™ื - ื›ื™ ื˜ืœื’ืจื ืžื–ื”ื” ืื•ืชื ื‘ืฉื‘ื™ืœื ื•. ื”ืžืฉื™ืžื” ื”ื‘ืื” ืชื”ื™ื” ืœื›ืชื•ื‘ ื‘ื•ื˜ ืฉืžื™ื™ืฆืจ ืจืฉื™ืžืช ืชื–ื›ื•ืจื•ืช ืœืžืฉืชืžืฉื™ื. ื›ืœ ืžืฉืชืžืฉ ื™ื•ื›ืœ ืœืฉืœื•ื— ืœื‘ื•ื˜ ื”ื•ื“ืขืช "ืชื–ื›ื™ืœ ืœื™" ืฉืชื›ื™ืœ ืืช ื”ืชืืจื™ืš ื•ื”ืฉืขื” ืฉืœ ื”ืชื–ื›ื•ืจืช ื•ื˜ืงืกื˜ ื”ืชื–ื›ื•ืจืช, ื•ื”ื‘ื•ื˜ ื™ืฉืœื— ื—ื–ืจื” ื”ื•ื“ืขื” ื‘ืฉืขื” ืฉื ื‘ื—ืจื”. ื›ื“ื™ ืœืขืฉื•ืช ืืช ื”ืคืจื•ื™ืงื˜ ืžืขื ื™ื™ืŸ ืชื•ื›ืœื• ืœืฉืžื•ืจ ืืช ื›ืœ ื”ืชื–ื›ื•ืจื•ืช ื‘ื‘ืกื™ืก ื ืชื•ื ื™ื, ื•ืชื•ื›ืœื• ืœืฉื—ืง ืขื ืคื™ืขื ื•ื— ื”ืคืงื•ื“ื” ื•ืœืชืช ื’ืžื™ืฉื•ืช ื‘ื”ื‘ื ืช ื”ืคืงื•ื“ื•ืช - ืœืžืฉืœ "ืชื–ื›ื™ืจ ืœื™ ืœืกื’ื•ืจ ืืช ื”ืืฉ ืขื•ื“ 15 ื“ืงื•ืช" ืื• "ืชื–ื›ื™ืจ ืœื™ ืœื”ื•ืฆื™ื ืืช ื”ื›ืœื‘ ื›ืœ ื‘ื•ืงืจ ื‘ืฉืžื•ื ื”". ## ื‘ื•ื˜ ืงื•ืจื ืจืกืก ืื—ืจื™ ืฉืœืžื“ืชื ืžื‘ื•ื˜ ื”ืชื–ื›ื•ืจื•ืช ืื™ืš ืœืฉืžื•ืจ ืžื™ื“ืข ืœืžืฉืชืžืฉื™ื ืกืคืฆื™ืคื™ื™ื ื•ืื™ืš ืœืฉืœื•ื— ื”ื•ื“ืขื” ืžืชื”ืœื™ืš ืจืงืข, ื ืชืงื“ื ืขื•ื“ ืฆืขื“ ื•ื ืขืงื•ื‘ ืื—ืจ ืคืจืกื•ืžื™ื ื—ื“ืฉื™ื ื‘ืื™ื ื˜ืจื ื˜. ื›ืœ ืžืฉืชืžืฉ ื‘ื‘ื•ื˜ ื™ื•ื›ืœ ืœืฉืœื•ื— ื”ื•ื“ืขืช "ื”ื™ืจืฉื ืœ" ืขื ื›ืชื•ื‘ืช ืืชืจ ื•ื”ืจื™ืฉื•ื ื™ื™ืฉืžืจ ื‘ื‘ืกื™ืก ื ืชื•ื ื™ื ืฉืœ ื”ื‘ื•ื˜. ืคืขื ื‘ื™ื•ื ืื• ื›ืžื” ืคืขืžื™ื ื‘ื™ื•ื ื”ื‘ื•ื˜ ื™ืชืขื•ืจืจ, ื™ื—ืคืฉ ื›ืชื‘ื•ืช ื—ื“ืฉื•ืช ื‘ื›ืœ ื”ืืชืจื™ื ืฉืื ืฉื™ื ืจืฉื•ืžื™ื ืืœื™ื”ื ื•ื™ืฉืœื— ืœื›ืœ ืื—ื“ ืืช ื”ืžืืžืจื™ื ื”ื—ื“ืฉื™ื ืžื”ืืชืจื™ื ืฉื”ื•ื ืจืฉื•ื ืืœื™ื”ื. ื‘ืฉื‘ื™ืœ ืœืขืฉื•ืช ืืช ื”ืคื™ืชื•ื— ืžืขื ื™ื™ืŸ ืชื•ื›ืœื• ืœื”ืฉืชืžืฉ ื‘ Airflow ื›ื“ื™ ืœื ื”ืœ ืืช ืชื”ืœื™ื›ื™ ื”ืจืงืข, ื•ืฉื™ืžื• ืœื‘ ืœื ืœืฉืœื•ื— ืœื›ื•ืœื ื”ื•ื“ืขื•ืช ื‘ืื•ืชื” ืฉืขื” ื›ื“ื™ ืœื ืœืขื‘ื•ืจ ืืช ืžื’ื‘ืœืช ื”ื”ื•ื“ืขื•ืช ืœื“ืงื” ืฉืœ ื˜ืœื’ืจื (ื›ืŸ ื™ื•ื ืื—ื“ ื™ื”ื™ื• ืœื‘ื•ื˜ ืฉืœื›ื ืืœืคื™ ืžืฉืชืžืฉื™ื ืื– ืฆืจื™ืš ืœื”ื™ืขืจืš ื‘ื”ืชืื). ืื ื’ื™ืœื™ืชื ืžืืžืจ ืฉืืœืฃ ืžืฉืชืžืฉื™ื ืจื•ืฆื™ื ืœืงื‘ืœ ืชืฆื˜ืจื›ื• ืœืฉืœื•ื— ืื•ืชื• ื‘ืฆื•ืจื” ืžื“ื•ืจื’ืช. ## ื‘ื•ื˜ ืฉืžืฉื—ืง ืื™ืงืก ืขื™ื’ื•ืœ ืขื›ืฉื™ื• ืฉื”ืฉืชืœื˜ื ื• ืขืœ ื‘ื•ื˜ื™ื, ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ื•ืขื‘ื•ื“ื” ื‘ืจืงืข ืขื“ื™ื™ืŸ ื ืฉืืจื” ืขื•ื“ ื™ื›ื•ืœืช ืžื“ืœื™ืงื” ืฉืœ ื‘ื•ื˜ื™ื ื‘ื˜ืœื’ืจื, ื•ื”ื™ื ื”ื˜ื™ืคื•ืœ ื‘ืžืฉืชืžืฉื™ื ืฉ"ืžื–ื›ื™ืจื™ื" ืืช ื”ื‘ื•ื˜ ืฉืœื›ื ื‘ืฉื™ื—ื”. ืœืžืฉื™ืžื” ื”ืื—ืจื•ื ื” ื ื›ืชื•ื‘ ื‘ื•ื˜ ืฉื›ืฉืžื–ื›ื™ืจื™ื ืื•ืชื• ื‘ืฉื™ื—ื” ื”ื•ื ืžืชืคืจืฅ ื•ืฉื•ืœื— ืœื•ื— ืžืฉื—ืง ืฉืœ ืื™ืงืก ืขื™ื’ื•ืœ. ื›ืœ ืžืฉืชืžืฉ ื‘ืชื•ืจื• ืžื•ื“ื™ืข ืœื‘ื•ื˜ ืื™ืคื” ืจื•ืฆื” ืœืฉื—ืง, ื•ื”ื‘ื•ื˜ ื™ืฉืœื— ื”ื•ื“ืขื” ื›ืฉืื—ื“ ื”ืžืฉืชืžืฉื™ื ื‘ืฉื™ื—ื” ืžื ืฆื—. ืฉื™ืžื• ืœื‘ ืฉื”ืคืขื ืœื ืฆืจื™ืš ื‘ืกื™ืก ื ืชื•ื ื™ื, ื•ื‘ืžืงื•ื ื›ื“ืื™ ืœื”ืฉืชืžืฉ ื‘ืžื ื’ื ื•ื ื™ ื ื™ื”ื•ืœ ื” Context ืฉืœ ืกืคืจื™ื™ืช ื”ื‘ื•ื˜ื™ื ืฉื‘ื—ืจืชื. ืžื™ื˜ื™ื‘ื™ ืœื›ืช ื›ืืŸ ืžื•ื–ืžื ื™ื ืœื”ื—ืœื™ืฃ ืืช ื”ืžืฉื—ืง ืื• ืœืืคืฉืจ ืœื‘ื•ื˜ ืœืฉื—ืง ืžืกืคืจ ืžืฉื—ืงื™ื.