uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

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

Ko'proq ko'rsatish
1 419
Obunachilar
Ma'lumot yo'q24 soatlar
+17 kunlar
-430 kunlar
Postlar arxiv
ToCode
1 419
ื•ืขื•ื“ ืžื™ืœื” ืขืœ ื”ืขืชื™ื“ ๐Ÿ˜‚ https://notes.zachmanson.com/copilot-edited-an-ad-into-my-pr/

ToCode
1 419
๐Ÿ“Œ ื•ืžื™ ื™ืคืชื— ืืช ื”ืจื™ืืงื˜ ื”ื‘ื? ื‘ 2011 ื’'ื•ืจื“ืŸ ื•ื•ืงื™ ืฉื ืœื‘ ืฉื”ื’ื™ืฉื” ื”ื ื•ื›ื—ื™ืช ืœื›ืชื™ื‘ืช ืงื•ื“ JavaScript ืžื•ื‘ื™ืœื” ืœื”ืžื•ืŸ ื˜ืขื•ื™ื•ืช ืื ื•ืฉ ื‘ืคื™ืชื•ื—, ื˜ืขื•ื™ื•ืช ืฉื”ืคื›ื• ืœื‘ืื’ื™ื ื•ื”ืคืจื™ืขื• ืœืžืฉืชืžืฉื™ื. ืขื“ ืื•ืชื• ื–ืžืŸ ื”ื’ื™ืฉื” ื”ืžืจื›ื–ื™ืช ื‘ืขื•ืœื ืคื™ืชื•ื— ื•ื•ื‘ ื”ื™ืชื” ืฉืœ ื˜ื™ืคื•ืœ ื‘ืื™ืจื•ืขื™ื. ื‘ื’ื™ืฉื” ื–ื• ืื ื—ื ื• ืžื—ื‘ืจื™ื "ืงื•ื“" ืœ"ืื™ืจื•ืข" ื•ืื•ืžืจื™ื "ื›ืฉืžืฉืชืžืฉ ืœื•ื—ืฅ ืขืœ ื›ืคืชื•ืจ X ืชืขืฉื” Y", ืื• "ื›ืฉื”ืขื›ื‘ืจ ืขื•ื‘ืจ ืžืขืœ ืคืจื™ื˜ X ืชืจื™ืฅ ืืช ื”ืงื•ื“ Z". ื”ื‘ืขื™ื” ื”ื™ืชื” ืฉื›ื›ืœ ืฉื”ื™ื• ื™ื•ืชืจ ืื™ืจื•ืขื™ื ื•ืงื˜ืขื™ ืงื•ื“ ืฉื˜ื™ืคืœื• ื‘ื”ื ื”ื™ื” ืงืฉื” ืœื”ื‘ื™ืŸ ืžื” ื‘ืืžืช ืงื•ืจื” ื‘ืžืขืจื›ืช. ื›ืŸ ืืคืฉืจ ื”ื™ื” ืœื”ืกืชื›ืœ ืขืœ ื›ืœ ืงื˜ืข ืงื•ื“ ืฉืขื•ืฉื” ืžืฉื”ื• ื‘ื ืคืจื“ ื•ืœื”ื‘ื™ืŸ ืžื” ื”ื•ื ืขื•ืฉื”, ืื‘ืœ ืžื” ืฉืจื•ืื™ื ืขืœ ื”ืžืกืš ื”ื™ื” ืชื•ืฆืื” ืฉืœ ืจืฆืฃ ืื™ืจื•ืขื™ื, ื›ืœื•ืžืจ ืจืฆืฃ ืงื˜ืขื™ ืงื•ื“ ื›ืืœื”. ืœื‘ื ื™ ืื“ื ื”ื™ื” ืงืฉื” ืœื“ืžื™ื™ืŸ ืืช ื›ืœ ื”ืฆื™ืจื•ืคื™ื ื”ืืคืฉืจื™ื™ื ืฉืœ ืื™ืจื•ืขื™ื ื•ื›ืš ื‘ืžืขืจื›ื•ืช ืžื•ืจื›ื‘ื•ืช ืคืกืคืกื ื• ืžืฆื‘ื™ื. ื’'ื•ืจื“ืŸ ื•ื•ืงื™ ื”ืฆื™ืข ืœืฉื ื•ืช ืืช ื”ืžื•ื“ืœ ื•ืœื”ืคืจื™ื“ ืืช ื”ืขื‘ื•ื“ื” ืœืฉื ื™ ืฉืœื‘ื™ื: ืงื•ื“ ืฉืžื˜ืคืœ ื‘ืื™ืจื•ืข ื™ื•ื›ืœ ืจืง ืœืฉื ื•ืช ืžื‘ื ื™ ื ืชื•ื ื™ื ื‘ื–ื›ืจื•ืŸ, ื•ื”ืชื•ื›ืŸ ืฉื™ื•ืฆื’ ืœืžืฉืชืžืฉื™ื ื™ื”ื™ื” ืคื•ื ืงืฆื™ื” ืฉืœ ืื•ืชื ืžื‘ื ื™ ื ืชื•ื ื™ื. ืฉื™ื ื•ื™ ื’ื™ืฉื” ื–ื” ื”ื•ืœื™ื“ ืืช ืจื™ืืงื˜ ื•ืื™ืชื” ื“ื•ืจ ืฉืœื ืฉืœ ืคืจื™ื™ืžื•ื•ืจืงืก ืœืคื™ืชื•ื— ืฆื“ ืœืงื•ื— ื•ืฉื™ื ื•ื™ ื’ื™ืฉื” ื‘ื›ืœ ื”ืชืขืฉื™ื™ื”. ืฉื™ื ื•ื™ ื”ื’ื™ืฉื” ืฉืœ ืจื™ืืงื˜ ืœื ื™ืฆืจ ื™ื›ื•ืœื•ืช ื—ื“ืฉื•ืช, ืœื ื™ืฆืจ ืกื•ื’ื™ ืื™ื ื˜ืจืงืฆื™ื” ื—ื“ืฉื™ื, ืœื ื”ื’ื“ื™ืจ APIs ื—ื“ืฉื™ื ื‘ืคืœื˜ืคื•ืจืžื” - ื–ื” ื‘ืกืš ื”ื›ืœ ื”ื™ื” ืฉื™ื ื•ื™ ืฉืœ ื”ืื•ืคืŸ ื‘ื• ืžืคืชื—ื™ื ื›ื•ืชื‘ื™ื ืงื•ื“ JavaScript ื‘ืชื•ืš ื“ืคื“ืคืŸ. ื•ื‘ื›ืœ ื–ืืช ืื™ ืืคืฉืจ ืœื“ืžื™ื™ืŸ ืืช ืขื•ืœื ื”ืคืจื•ื ื˜ืื ื“ ื”ื™ื•ื ื‘ืœื™ ืจื™ืืงื˜ ื•ื›ืœ ื”ื“ื•ืจ ืฉืœ ืคืจื™ื™ืžื•ื•ืจืงืก ืžื‘ื•ืกืกื™ ืงื•ืžืคื•ื ื ื˜ื•ืช ืฉื ื•ืœื“ ืื™ืชื”. ื”ืื ื’'ื•ืจื“ืŸ ื”ื™ื” ื™ื›ื•ืœ ืœืฉื™ื ืœื‘ ืœืงื•ืฉื™ ื”ื–ื” ื‘ืœื™ ืœื”ืกืชื›ืœ ืขืœ ื”ืงื•ื“? ื”ืื AI ื”ื™ื” ื™ื›ื•ืœ ืœืฉื™ื ืœื‘ ืœืงื•ืฉื™ ืฉืœ ื’'ื•ืจื“ืŸ ื•ืœื”ืžืฆื™ื ืจื™ืืงื˜? ื‘ืจื•ืจ ืฉืœื. ื‘ืœื™ ืœื”ืกืชื›ืœ ืขืœ ื”ืงื•ื“ ืื™ ืืคืฉืจ ืœืจืื•ืช ืืช ื”ื›ืื‘, ื•ืžื ื•ืขื™ ื” AI ื”ื ื•ื›ื—ื™ื™ื ื›ื•ืชื‘ื™ื ืืช ืžื” ืฉืื ื—ื ื• ืžืฆืคื™ื ืฉื™ื›ืชื‘ื•. ืื‘ืœ ืืช ืจื™ืืงื˜ ืืฃ ืื—ื“ ืœื ืฆืคื”. ืจื™ืืงื˜ ื”ื™ื ืœื ืงืคื™ืฆืช ื“ืจืš ื™ื—ื™ื“ื” ื‘ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ืคื™ืชื•ื— ืชื•ื›ื ื”, ืœื”ื™ืคืš. ื›ืœ ืฉืคืช ืชื›ื ื•ืช, ื›ืœ ืคืจื™ื™ืžื•ื•ืจืง, ื›ืœ ืคื™ืชื•ื— ืฉืžืฉื ื” ืืช ื”ืื•ืคืŸ ืฉื‘ื ื™ ืื“ื ื›ื•ืชื‘ื™ื ืงื•ื“ ืžืชืื™ื ืœืื•ืชื• ืชื™ืื•ืจ. ืื™ืš ืืคืฉืจ ืœื”ื™ื‘ื”ืœ ืžื”ืชื—ื‘ื™ืจ ืฉืœ ืคืจืœ ืื ืืชื” ืœื ืžืกืชื›ืœ ืขืœ ื”ืงื•ื“? ืื™ืš ืืคืฉืจ ืœื”ืชืขืฆื‘ืŸ ืขืœ ืžื•ื“ืœ ื ื™ื”ื•ืœ ื”ื–ื™ื›ืจื•ืŸ ืฉืœ C++ ื‘ืœื™ ืœื”ืกืชื›ืœ ืขืœ ื”ืงื•ื“? ืื ืจืง ื‘ื•ื˜ื™ื ื™ืกืชื›ืœื• ืขืœ ื”ืงื•ื“, ืžื™ ื™ื›ืชื•ื‘ ืืช ื”ืจื™ืืงื˜ ื”ื‘ื? ืื ื™ ื—ื•ืฉื‘ ืฉื™ืฉ ืคื” 3 ืชืฉื•ื‘ื•ืช ืืคืฉืจื™ื•ืช: 1. ืœื ื™ื”ื™ื” ืจื™ืืงื˜ ื”ื‘ื. ื‘ื ื™ ืื“ื ื™ืคืกื™ืงื• ืœื”ืกืชื›ืœ ืขืœ ืงื•ื“ ื•ืžื—ืฉื‘ื™ื ื™ืžืฉื™ื›ื• ืขื ื”ื›ืœื™ื ื”ื ื•ื›ื—ื™ื™ื ื›ื™ ืœืžื™ ืื›ืคืช. 2. ื ื’ืœื” ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช ื—ื›ืžื” ื™ื•ืชืจ ืž LLM-ื™ื ื•ื”ื™ื ืชืžืฆื™ื ืืช ื”ื“ื•ืจ ื”ื‘ื ืฉืœ ืฉืคื•ืช ืชื›ื ื•ืช. 3. ื ืชืขื•ืจืจ ื•ื ื’ืœื” ืฉืœื›ืœ ื˜ื›ื ื•ืœื•ื’ื™ื” ื™ืฉ ืžื’ื‘ืœื•ืช. ืฉื™ืฆื™ืจืช ื”ืžืกื’ืจืช ื‘ืชื•ื›ื” ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืขื•ื‘ื“ืช ื”ื™ื ื—ืœืง ื—ืฉื•ื‘ ืžื”ืขื‘ื•ื“ื” ืฉืœื ื• ื•ื›ืžื• ื’ื•ื•ื™ื“ื• ื•ืืŸ ืจื•ืกื•ื, ื’'ื•ืจื“ืŸ ื•ื•ืงื™, ืœืืจื™ ื•ื•ืœ, ื‘ืจื ื“ืŸ ืื™ื™ืš ื•ืื™ื ืกื•ืฃ ืžืคืชื—ื™ื ืœืคื ื™ื ื• - ื’ื ืื ื—ื ื• ื ืจื•ื•ื™ื— ืžื—ืฉื™ื‘ื” ื™ืฆื™ืจืชื™ืช ืขืœ ืงื•ื“.

ToCode
1 419
๐Ÿ“Œ ืงื™ื“ื•ื“ ืขื AI ืžืฉื ื” ืืช ืกื“ืจ ื”ืขื‘ื•ื“ื” (ื•ื–ื” ื—ืœืง ืžื”ืงื•ืฉื™) ื”ื•ืกืคืชื™ ืœ langlets ืืคืฉืจื•ืช ืœืฉืžื•ืจ ืžื™ืœื™ื ื‘ืื•ืฆืจ ืžื™ืœื™ื ืื™ืฉื™ ืœืชืจื’ื•ืœ ื•ืžืกืš ืฉืœ ืชืจื’ื•ืœ ื”ืžื™ืœื™ื ืฉืฉืžืจืชื™. ื•ื›ืฉืื ื™ ืื•ืžืจ ื”ื•ืกืคืชื™ ืื ื™ ืžืชื›ื•ื•ืŸ ืฉื‘ื™ืงืฉืชื™ ืžืงืœื•ื“ ืœื”ื•ืกื™ืฃ. ื’ื ืขื AI ื•ื’ื ื‘ืœืขื“ื™ื• ื–ื” ืคื™ืฆ'ืจ ืฉืžื—ื™ื™ื‘ ืœื ืžืขื˜ ื”ื—ืœื˜ื•ืช - ื’ื ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืื™ืš ื”ืžื™ืœื™ื ื”ืื™ืฉื™ื•ืช ื™ื™ืฉืžืจื• ื•ื’ื ื‘ืงื•ื“ ืฆื“ ื”ืฉืจืช ืื™ืš ืœืชืจื’ืœ ืื•ืชืŸ. ื‘ืฉื™ื—ื” ืขื ืงืœื•ื“ ื”ืชืขื›ื‘ืชื™ ืขืœ ื—ืœืง ืžื”ื”ื—ืœื˜ื•ืช ื”ืืœื” ื•ื‘ื ื™ืชื™ ืชื•ื›ื ื™ืช ืžืกื•ื“ืจืช ืื‘ืœ ืœื”ื—ืœื˜ื•ืช ืื—ืจื•ืช ืœื ื”ืงื“ืฉืชื™ ื”ืžื•ืŸ ืชืฉื•ืžืช ืœื‘ ื•ื ืชืชื™ ืœืงืœื•ื“ ืœืจื•ืฅ ืœื‘ื“. ืื™ืŸ ืกืคืง ืฉื”ืชื•ืฆืื” ื”ื™ื ืคื™ืฆ'ืจ ืขื•ื‘ื“ ื•ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ืจ ืžืžื” ืฉื”ื™ื™ืชื™ ื›ื•ืชื‘ ืื•ืชื• ืœื‘ื“ (ืืคื™ืœื• ืฉืื ื™ ืžื›ื™ืจ ื˜ื•ื‘ ืืช ื”ืžืขืจื›ืช ื•ื™ื•ื“ืข ื‘ื“ื™ื•ืง ืื™ื–ื” ืงื•ื“ ื”ื™ื” ืฆืจื™ืš ืœื›ืชื•ื‘). ืื—ืจื™ ืฉืขื‘ืจืชื™ ืขืœ ื”ืงื•ื“ ืจืื™ืชื™ ืฉืงืœื•ื“ ื™ืฆืจ ืงื•ื‘ืฅ ืฆื“ ืฉืจืช ื—ื“ืฉ ืœื˜ื™ืคื•ืœ ื‘ืื•ืชื ืฉื™ืขื•ืจื™ ื—ื–ืจื” ืื™ืฉื™ื™ื. ื–ื” ื”ืงื•ื‘ืฅ ื”ื—ื“ืฉ: https://github.com/ynonp/langlets-rails/blob/main/app/controllers/review_lessons_controller.rb ื•ื–ื” ื”ืงื•ื‘ืฅ ื”ืžืงื•ืจื™ ืฉื˜ื™ืคืœ ื‘ืžืฉืชืžืฉื™ื ืฉืคืฉื•ื˜ ืชืจื’ืœื• ืืช ื”ืฉื™ืขื•ืจ: https://github.com/ynonp/langlets-rails/blob/main/app/controllers/lessons_controller.rb ื•ืงืœ ืœืจืื•ืช ืฉื™ืฉ ื”ืžื•ืŸ ืงื•ื“ ืžืฉื•ืชืฃ ื‘ื™ืŸ ืฉื ื™ ื”ืงื‘ืฆื™ื ื”ืืœื”. ืขื›ืฉื™ื• ื‘ืจื•ืจ ืœื™ ืœืžื” ืงืœื•ื“ ืขืฉื” ืืช ื–ื”. ื™ืฉ ื”ืžื•ืŸ ืงื•ื“ ืžืฉื•ืชืฃ ืื‘ืœ ื–ื” ืœื 100% ืžืชืื™ื, ืคื™ืชื•ื— ื”ืคื™ืฆ'ืจ ื”ื—ื“ืฉ ื•ื”ืชืืžืช ื”ืงื•ื“ ื”ืงื™ื™ื ื”ื™ืชื” ืขืœื•ืœื” ืœืฉื‘ื•ืจ ื“ื‘ืจื™ื ืงื™ื™ืžื™ื ื•ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืขื•ืฉื™ื ื”ื›ืœ ื›ื“ื™ ืœื ืœืฉื‘ื•ืจ ืงื•ื“ ืงื™ื™ื. ื”ื”ื—ืœื˜ื” ืื™ืš ืœืืจื’ืŸ ืืช ืงื•ื“ ืฆื“ ื”ืฉืจืช, ืื™ื–ื” ื—ืœืง ืžื”ืงื•ื“ ืฉืœ ืฉื ื™ ื”ืงื‘ืฆื™ื ืฆืจื™ืš ืœื”ื™ื•ืช ืžืฉื•ืชืฃ ื•ืื™ื–ื” ื—ืœืง ืžื•ืคืจื“ ื”ื™ื ื”ื—ืœื˜ื” ืชื›ื ื•ืชื™ืช ืžื•ืฆืจื™ืช ืงืฉื”, ืฉืžืขืจื‘ืช ื”ื™ื›ืจื•ืช ืขื ื”ืžืขืจื›ืช ื•ื ื™ื—ื•ืฉ ืžื” ื”ื•ืœืš ืœื”ืฉืชื ื•ืช ื‘ืขืชื™ื“ ื‘ืฆื•ืจื” ืื—ืจืช ื‘ื™ืŸ ืฉื ื™ ื”ืงื‘ืฆื™ื ื•ืžื” ืฆืจื™ืš ื™ื”ื™ื” ืœื”ืฉืชื ื•ืช ื™ื—ื“. ื‘ืขื•ืœื ืฉืœืคื ื™ AI ื”ืขื“ืคืชื™ ืœื”ื—ืœื™ื˜ ืืช ื”ื”ื—ืœื˜ื•ืช ื”ืืœื” ืžืจืืฉ ื›ื“ื™ ืœื›ืชื•ื‘ ื›ืžื” ืฉืคื—ื•ืช ืงื•ื“. ื”ื™ื•ื ืขื AI ืกื“ืจ ื”ืขื‘ื•ื“ื” ื”ืฉืชื ื”, ื•ื–ื” ื—ืœืง ืžื”ืงื•ืฉื™. ื™ืฉ ืœื™ ืงื•ื“ ืขื•ื‘ื“ ื•ื” AI ื›ื‘ืจ ื”ื—ืœื™ื˜ ื‘ืฉื‘ื™ืœื™ ืฉื”ื•ื ื™ื›ืœื•ืœ ืžื™ืžื•ืฉ ื›ืคื•ืœ ืฉืœ ืžื ื’ื ื•ื ื™ื ื–ื”ื™ื. ืขื›ืฉื™ื• ืื ื™ ืฆืจื™ืš ืœืงื—ืช ืžืขืจื›ืช ืฉืขื•ื‘ื“ืช ื•ืœื ืงื•ืช ืื•ืชื” - ื•ื–ื• ืขื‘ื•ื“ื” ืฉืžืขื˜ื™ื ืื•ื”ื‘ื™ื ืœืขืฉื•ืช. ื‘ื›ืœ ืžืงืจื” ืืคืฉืจ ืœื”ื™ืขื–ืจ ื‘ืงืœื•ื“ ื’ื ืœืฆืขื“ ื”ื‘ื. ื”ื ื” ื›ืžื” ืฉืืœื•ืช ืžื ื—ื•ืช: 1. ืชืืจ ืžื” ืขื•ืฉื” ืงื•ื‘ืฅ ื 2. ืชืืจ ืžื” ืขื•ืฉื” ืงื•ื‘ืฅ ื‘ 3. ื”ืกื‘ืจ ืžื”ื ื›ืœ ื”ืชื”ืœื™ื›ื™ื ืฉืžื‘ื•ืฆืขื™ื ื‘ืคื•ื ืงืฆื™ื” X ื‘ืงื•ื‘ืฅ ื ื•ื‘ืงื•ื‘ืฅ ื‘, ื•ืื™ื–ื” ืžื”ื ืžืฉื•ืชืคื™ื ืœืฉื ื™ ื”ืงื‘ืฆื™ื? 4. ืกื“ืจ ืžื—ื“ืฉ ืืช ื”ืงื•ื“ ืฉืœ ืคื•ื ืงืฆื™ื” X ื•ืคืฆืœ ืื•ืชื• ืœืคื•ื ืงืฆื™ื•ืช ืงื˜ื ื•ืช ื™ื•ืชืจ ื›ื“ื™ ืฉื ื•ื›ืœ ืœืจืื•ืช ืžื” ื”ืชืคืงื™ื“ ืฉืœ ื›ืœ ื—ืœืง ื‘ืคืจืกื•ืžืช ืฉืœ ืขื‘ื•ื“ื” ืขื ืงืœื•ื“ ืกื™ืคืจื• ืœื™ ืฉืžืคืชื—ื™ื ืฆืจื™ื›ื™ื ืœื”ืฉืงื™ืข ื™ื•ืชืจ ื–ืžืŸ ื‘ Code Review ื›ื“ื™ ืœื•ื•ื“ื ืฉืงืœื•ื“ ืœื ืขืฉื” ืฉื˜ื•ื™ื•ืช. ืื ื™ ื—ื•ืฉื‘ ืฉื ื›ื•ืŸ ื™ื•ืชืจ ืœื”ื’ื™ื“ ืฉืžืคืชื—ื™ื ืฆืจื™ื›ื™ื ืœื”ืฉืงื™ืข ื™ื•ืชืจ ื–ืžืŸ ื–ืžืŸ ื‘ื ื™ืงื•ื™ ื•ื‘ืจื™ืคืงื˜ื•ืจ ืื—ืจื™ ืฉื™ืฉ ืžืขืจื›ืช ืขื•ื‘ื“ืช ื›ื“ื™ ืœืฉืคืจ ืืช ืžืฆื‘ ื”ืงื•ื“ ืœืงืจืืช ื”ืคื™ืฆ'ืจ ื”ื‘ื.

ToCode
1 419
๐Ÿ“Œ ื—ื“ืฉ ื‘ืคื™ื™ืชื•ืŸ InterpreterPoolExecutor ื”ืžื•ื“ื•ืœ concurrent.futures ืงื™ื™ื ื‘ืคื™ื™ืชื•ืŸ ืขื•ื“ ืžื’ืจืกื” 3.2 ื•ื›ื•ืœืœ ืžืžืฉืง ืื—ื™ื“ ืœื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ื‘ืžืงื‘ื™ืœ. ื”ื ื” ื“ื•ื’ืžื” ืงืฆืจื” ืฉืกื•ืคืจืช ืžืกืคืจื™ื ืจืืฉื•ื ื™ื™ื ื‘ืฆื•ืจื” ืžืงื‘ื™ืœื™ืช ื‘ืืžืฆืขื•ืช Executor, ืชื—ื™ืœื” ืขื ืชื”ืœื™ื›ื•ื ื™ื ื•ืœืื—ืจ ืžื›ืŸ ืขื ืชื”ืœื™ื›ื™ื ืžืœืื™ื:
from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor, InterpreterPoolExecutor
import math
import time

def is_prime(n: int):
    for i in range(2, math.floor(math.sqrt(n)) + 1):
        if n % i == 0:
            return False

    return True

if __name__ == "__main__":
    t0 = time.time()
    with ThreadPoolExecutor(max_workers=4) as p:
        print(sum(p.map(is_prime, range(1_000_000))))
    t1 = time.time()

    with ProcessPoolExecutor(max_workers=4) as p:
        print(sum(p.map(is_prime, range(1_000_000))))
    t2 = time.time()

    print(f"Thread count took {t1-t0}")
    print(f"Process count took {t2 - t1}")
ื”ืชื•ืฆืื” ื›ืฆืคื•ื™ ื”ื™ื ื—ื™ืฉื•ื‘ ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ื™ืจ ื‘ืืžืฆืขื•ืช threads ื‘ื’ืœืœ ืฉื”ืกื™ื ื›ืจื•ืŸ ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ื™ืจ ื•ื’ื ื™ืฆื™ืจืช threads ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ื™ืจื” ืžื™ืฆื™ืจืช Processes. ืื‘ืœ ืœืฉื™ืžื•ืฉ ื‘ threads ื™ืฉ ืฉื ื™ ื—ืกืจื•ื ื•ืช: 1. ืื™ืŸ ื”ืคืจื“ื” ื‘ื™ืŸ ื”ืื•ื‘ื™ืงื˜ื™ื - ื›ืœื•ืžืจ ืงื•ื“ ืžื›ืœ threads ื™ื›ื•ืœ ืœื’ืฉืช ื•ืœืขื“ื›ืŸ ืื•ื‘ื™ืงื˜ื™ื ื’ืœื•ื‘ืืœื™ื™ื. 2. ื’ืจืกืื•ืช ืจื‘ื•ืช ืฉืœ ืคื™ื™ืชื•ืŸ ืžื’ื™ืขื•ืช ืขื Global Interpreter Lock ืžื” ืฉืื•ืžืจ ืฉื›ืœ ืคืขื•ืœื” ืฉืœ ืคื™ื™ืชื•ืŸ ื‘ืชื•ืš ื” thread ืฆืจื™ื›ื” ืœื ืขื•ืœ ืืช ืื•ืชื• ืžื ืขื•ืœ ื’ืœื•ื‘ืืœื™. ื’ืจืกื” 3.14 ืฉืœ ืคื™ื™ืชื•ืŸ ื”ื•ืกื™ืคื” ืคืชืจื•ืŸ ื‘ื™ื ื™ื™ื ืฉื ืงืจื InterpreterPoolExecutor. ืžื‘ืฆืข ื–ื” ื™ืจื™ืฅ ื›ืœ ืžืฉื™ืžื” ื‘ืžืคืจืฉ ืคื™ื™ืชื•ืŸ ืขืฆืžืื™ ืฉืจืฅ ื‘ thread ื ืคืจื“, ื›ืœื•ืžืจ ื‘ืžืงื•ื ืœื”ืคืขื™ืœ fork ื•ืœื™ื™ืฆืจ ืชื”ืœื™ืš ืžืขืจื›ืช ื”ืคืขืœื” ื—ื“ืฉื” ืœืžืคืจืฉ ื”ื—ื“ืฉ ื”ื ืžืจื™ืฆื™ื ืืช ื”ืžืคืจืฉ ื‘ืื•ืชื• ืชื”ืœื™ืš. ื”ืชื•ืฆืื” ื”ื™ื ื”ืคืจื“ื” ืžืœืื” ื‘ื™ืŸ ืžืฉืชื ื™ื ื›ื™ ืœื›ืœ ืžืคืจืฉ ื™ืฉ ืืช ื”ืžืฉืชื ื™ื ื”ื’ืœื•ื‘ืืœื™ื™ื ืฉืœื•, ื”ืคืจื“ื” ื‘ื ืขื™ืœื•ืช ื›ื™ ืœื›ืœ ืžืคืจืฉ ื™ืฉ ืืช ื” GIL ืฉืœื• ื•ืขื“ื™ื™ืŸ ืจื™ืฆื” ื™ื•ืชืจ ืžื”ื™ืจื” ื›ื™ ืื ื—ื ื• ืจืฆื™ื ื‘ threads ื‘ืžืงื•ื ื‘ processes. ื›ืžื” ื™ื•ืชืจ ืžื”ื™ืจ? ื–ื” ืžื” ืฉืœืงื— ืœืกืคื•ืจ ืžืกืคืจื™ื ืจืืฉื•ื ื™ื™ื ืืฆืœื™ ืขืœ ื”ืžืง:
Thread count took 6.0312182903289795
Process count took 80.60068678855896
Interpreter count took 24.76494789123535
ืกืš ื”ื›ืœ ื”ื’ื™ื•ื ื™ ื•ื ื•ื—, ื›ืœื•ืžืจ ืื ThreadPoolExecutor ืคื•ืชืจ ืœื›ื ืืช ื”ื‘ืขื™ื” ื•ืื™ืŸ ื‘ืขื™ื•ืช ืกื™ื ื›ืจื•ืŸ ืื• ื’ื™ืฉื” ืœืžื™ื“ืข ื’ืœื•ื‘ืืœื™ ืชืžืฉื™ื›ื• ืœื”ืฉืชืžืฉ ื‘ื• ื”ื•ื ื”ื›ื™ ืžื”ื™ืจ ืœื—ื™ืฉื•ื‘ื™ื, ืื‘ืœ ืื ืขื‘ื“ืชื ืขื ProcessPoolExecutor ืื•ืœื™ ืฉื•ื•ื” ืœืฉื“ืจื’ ืœ InterpreterPoolExecutor ื•ืœืงื‘ืœ ืืช ืื•ืชื” ื”ืชื ื”ื’ื•ืช ื‘ื‘ื™ืฆื•ืขื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ.

ToCode
1 419
๐Ÿ“Œ ื”ื˜ืขื•ืช ืฉืœ ืžืคืชื—ื™ื ืฉืขื•ื‘ืจื™ื ื‘ื™ืŸ ืฉืคื•ืช ื›ืžื” ื–ืžืŸ ื‘ืืžืช ืœื•ืงื— ืœืขื‘ื•ืจ ืžืคื™ื™ืชื•ืŸ ืœ Java? ืžืคื™ื™ืชื•ืŸ ืœืจื•ื‘ื™? ื”ืื ื”ื’ื™ื•ื ื™ ืœื’ื™ื™ืก ืžืคืชื— ืขื ื ืกื™ื•ืŸ ื‘ Rust ืœืขื‘ื•ื“ืช Java ืื• ืœื”ื™ืคืš? ื ืชื—ื™ืœ ื‘ืžื•ื‘ืŸ ืžืืœื™ื• - ืœื›ืœ ืื—ื“ ื™ื™ืงื— ื–ืžืŸ ืฉื•ื ื”, ืคืจื™ื™ืžื•ื•ืจืงื™ื ืฉื•ื ื™ื ื‘ื ื•ื™ื™ื ืื—ืจืช ื•ื™ื›ื•ืœื™ื ืœื”ืฉืคื™ืข ืขืœ ื–ืžืŸ ื”ืœืžื™ื“ื”, ื™ืฉ ืคื™ืฆ'ืจื™ื ืžื™ื•ื—ื“ื™ื ื‘ืฉืคื•ืช ืžืกื•ื™ืžื•ืช ืฉืงืฉื” ืœืœืžื•ื“ ืื ืืชื ื‘ืื™ื ืžืฉืคื” ืื—ืจืช (ื›ืžื• ื ื™ื”ื•ืœ ื”ื–ื›ืจื•ืŸ ืฉืœ ืจืืกื˜). ืื ื™ ืจื•ืฆื” ืœื”ืชืžืงื“ ื›ืืŸ ื‘ืžืคืชื—ื™ื ืฉื ืฉืืจื™ื ื‘ืื•ืชื• ืขื•ืœื ืœื“ื•ื’ืžื” ืžืคืชื— Django ืฉืขื•ื‘ืจ ืœ Rails ืื• ืžืคืชื—ืช Rails ืฉืขื•ื‘ืจืช ืœ Laravel. ื‘ืžืงืจื™ื ื”ืืœื” ืœื›ืื•ืจื” ื”ื”ื‘ื“ืœ ื”ื™ื—ื™ื“ ื”ื•ื ื”ืฉืคื”. ื”ื™ื•ื ืขื ื” AI ืžืื•ื“ ืงืœ ืœื”ืจื™ืฅ ืชืจื’ื•ื ืกื™ืžื•ืœื˜ื ื™, ื›ืœื•ืžืจ ืœืชืืจ ืœ AI ืžื” ืฉืื ื™ ืฆืจื™ืš ื‘ืฉืคื” ืฉืื ื™ ืžื›ื™ืจ ืž Rails ืื•ืœื™ ืืคื™ืœื• ืขื ื“ื•ื’ืžืช ืงื•ื“ ืจืœื•ื•ื ื˜ื™ืช ื•ืœื”ื’ื™ื“ ืœื• ืœื‘ื ื•ืช ืืช ื–ื” ื‘ Django. ืžื” ื–ื” ืžืฉื ื” ืื ื”ืฉืคื” ื”ื™ื ืจื•ื‘ื™ ืื• ืคื™ื™ืชื•ืŸ, ืžื” ืฉื—ืฉื•ื‘ ืฉื™ื”ื™ื” ืขื•ื“ ื ืชื™ื‘, ืœืžืฉื•ืš ืžื™ื“ืข ืžื‘ืกื™ืก ื”ื ืชื•ื ื™ื, ืœื”ืจื™ืฅ ืชื”ืœื™ืš ื‘ืจืงืข ืื• ืœืฉืœื•ื— ืื™ืžื™ื™ืœ ืื—ืจื™ ืคืขื•ืœืช ืžืฉืชืžืฉ. ืื‘ืœ ืื•ืชื• ืชืจื’ื•ื ืกื™ืžื•ืœื˜ื ื™ ื”ื•ื ื”ื˜ืขื•ืช ื”ื›ื™ ื’ื“ื•ืœื” ืฉืœ ืžืคืชื—ื™ื ืฉืขื•ื‘ืจื™ื ื‘ื™ืŸ ืฉืคื•ืช. ื”ื”ืจื’ืฉื” ืฉื–ื” "ื’ื’ ื™ื•ืžื™ื™ื ืœื™ืžื•ื“" ื•ืืคืฉืจ ืœื”ื™ื•ืช ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื™ื ื’ื•ืจืžืช ืœื ื• ืœืฉืื•ืฃ ืžืื•ื“ ื ืžื•ืš ื‘ื”ื™ื›ืจื•ืช ืขื ื”ืฉืคื” ื”ื—ื“ืฉื” ื•ืœื ืœืืชื’ืจ ืืช ื” AI. ื‘ืฆื•ืจื” ื›ื–ืืช ืื ื—ื ื• ืžืงื‘ืœื™ื ืคืชืจื•ื ื•ืช ื‘ืกื™ืกื™ื™ื ื•ืืคื™ืœื• ืœื ืžื–ื”ื™ื ืฉื™ืฉ ื‘ืขื™ื”. ื™ื•ืชืจ ื’ืจื•ืข, ื‘ื’ืœืœ ื”ืฉื™ืžื•ืฉ ื”ื ืจื—ื‘ ื‘ืชืจื’ื•ื ืกื™ืžื•ืœื˜ื ื™ ืื ื• ืžืกืชืžื›ื™ื ืขืœ AI ื•ืืคื™ืœื• ืœื ืฆื•ื‘ืจื™ื ื ื™ืกื™ื•ืŸ ื‘ืฉืคื” ื”ื—ื“ืฉื”. ื”ืคืชืจื•ืŸ ืื ื™ ื—ื•ืฉื‘ ื”ื•ื ืœื ื‘ื”ื›ืจื— ื‘ืฉื™ื ื•ื™ ืฉื™ื˜ืช ื”ืขื‘ื•ื“ื” ืืœื ื‘ืฉื™ื ื•ื™ ื ืงื•ื“ืช ื”ืžื‘ื˜. ื‘ืžืขื‘ืจ ื‘ื™ืŸ ืฉืคื•ืช ืื ื—ื ื• ืœื ื ืฉืืจื™ื ื‘ืื•ืชื” ืจืžืช ืžื™ื•ืžื ื•ืช ืฉื”ื™ื™ื ื•. ื–ื” ืžืžืฉ ื‘ืกื“ืจ ืœื”ื’ื™ื“ ื”ื™ื™ืชื™ ืžืคืชื— ืคื™ื™ืชื•ืŸ ืžืขื•ืœื” ื•ืขื›ืฉื™ื• ืื ื™ ืžืคืชื— ืจื•ื‘ื™ ืžืชื—ื™ืœ. ื›ืžืคืชื— ืื ื™ ืขื“ื™ื™ืŸ ืžืื•ื“ ืžื™ื•ืžืŸ, ืžื›ื™ืจ ืืช ืขื•ืœื ื”ืชื•ื›ืŸ ื•ืงื•ืœื˜ ื—ื•ืžืจ ื—ื“ืฉ ืžื”ืจ. ื›ืžืคืชื— ืจื•ื‘ื™ ืื ื™ ืœื ืžื›ื™ืจ ืืช ื”ืืงื•ืกื™ืกื˜ื ืžืกืคื™ืง ื˜ื•ื‘, ืื ื™ ืœื ืžื‘ื™ืŸ ืืช ื” Best Practices ืฉืœ ื”ืฉืคื” ืื• ืฉืœ ื”ืคืจื™ื™ืžื•ื•ืจืงืก ื”ืฉื•ื ื™ื, ืื ื™ ืœื ืžื›ื™ืจ ืืช ื”ืชื‘ื ื™ื•ืช ื•ืืช ืžืงืจื™ ื”ืงืฆื”. ืขื“ื™ื™ืŸ ืœื ืงืจืืชื™ ืกืคืจื™ื, ืขื“ื™ื™ืŸ ืœื ืจืื™ืชื™ ื”ืจืฆืื•ืช, ืขื“ื™ื™ืŸ ืœื ื ื™ืกื™ืชื™ ืฉื™ื˜ื•ืช ืฉื•ื ื•ืช, ืขื“ื™ื™ืŸ ืœื ืงืจืืชื™ ืžืกืคื™ืง ืงื•ื“ ืฉืœ ืื—ืจื™ื ื•ืขื“ื™ื™ืŸ ืœื ื“ื™ื‘ื’ืชื™ ืžืกืคื™ืง ื‘ืขื™ื•ืช ืžื•ื–ืจื•ืช. ื‘ืชื•ืจ ืžืคืชื— ื‘ืฉืคื” ื”ื—ื“ืฉื” ื™ืฉ ืœื™ ื”ืžื•ืŸ ืžื” ืœืœืžื•ื“ ื•ืื ื™ ืจืง ืืจื•ื•ื™ื— ืื ืืฉืงื™ืข ื‘ื–ื” ื‘ืžืงื‘ื™ืœ ืœืขื‘ื•ื“ื” ื”ืฉื•ื˜ืคืช. ื”ื˜ืขื•ืช ืฉืœ ืžืคืชื—ื™ื ืฉืขื•ื‘ืจื™ื ื‘ื™ืŸ ืฉืคื•ืช ื”ื™ื ืื•ืชื” ื˜ืขื•ืช ืฉืžืฉืื™ืจื” ืžืคืชื—ื™ื ื‘ื™ื ื•ื ื™ื™ื ื’ื ื‘ืฉืคื” ืื—ืช - ื”ื‘ื—ื™ืจื” ืœื”ื™ื•ืช ื™ื•ืชืจ ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื™ื ืžืžืงืฆื•ืขื™ื™ื, ืœืกื™ื™ื ืžื”ืจ ื•ืœื ื‘ื™ืกื•ื“ื™ื•ืช, ืœื™ื™ืฆืจ ื’ืจืกื” ืื—ืช ืฉืœ ืงื•ื“ ืขื•ื‘ื“ ื‘ืžืงื•ื ืœื”ืชืœื‘ื˜ ื‘ื™ืŸ 5 ื’ืจืกืื•ืช ื•ืœื‘ื—ื•ืจ ืืช ื”ืžืชืื™ืžื” ื‘ื™ื•ืชืจ ืœืžืงืจื” ื”ืกืคืฆื™ืคื™ ืฉืœืš. ืœืœืžื•ื“ ืœืขื‘ื•ืจ ื‘ื™ืŸ ืฉืคื•ืช ื–ื” ื’ื ืœืœืžื•ื“ ืœื”ืฆื˜ื™ื™ืŸ ื‘ืฉืคื” ื”ืื—ืช.

ToCode
1 419
๐Ÿ“Œ ืชืจื’ื™ืœ vue.js - ืžื” ืฉื‘ื•ืจ ื‘ืงื•ืžืคื•ื ื ื˜ื” ืืช ื”ื‘ืื’ ื”ื–ื” ืžืฆืืชื™ ื‘ืžืงืจื” ื‘ืงื•ื“ ืืžื™ืชื™ ืฉื”ืฉืชืžืฉ ื‘ื’ืจืกื” ื™ืฉื ื” ืฉืœ ื”ืกืคืจื™ื” ื•ืžืื—ืจ ื•ื”ื•ื ืœืงื— ืœื™ ืื™ื–ื” ืฉืขืชื™ื™ื ืžื”ื—ื™ื™ื ื—ืฉื‘ืชื™ ืฉื”ื•ื ืžืฆื“ื™ืง ื’ื ืคื•ืกื˜. ืฆืจื™ืš ืœื”ื’ื™ื“ ื‘ื™ื•ืฉืจ ืฉื”ืืชื’ืจ ื”ื™ื” ืœื”ื‘ื™ืŸ ืฉื™ืฉ ื‘ืขื™ื” ื‘ืงื•ืžืคื•ื ื ื˜ื” ื—ื™ืฆื•ื ื™ืช ืฉื‘ืขืฆืžื” ื ื˜ืขื ื” ืžืชื•ืš ืงื•ืžืคื•ื ื ื˜ื” ื—ื™ืฆื•ื ื™ืช ื•ืืชื ืžืงื‘ืœื™ื ืคื” ืจืง ืืช ื”ืฆืขื“ ื”ืื—ืจื•ืŸ ืฉืœ ื”ืืชื’ืจ. ืžื•ื›ื ื™ื? ื”ื ื” ืงื•ื“ ืงื•ืžืคื•ื ื ื˜ืช vue.js ืฉืืžื•ืจื” ืœื”ืฆื™ื’ ืงื•ื“ ืฆื‘ื•ืข ืื‘ืœ ืžืชืขืœืžืช ืžืคืจืžื˜ืจ ื”ืฉืคื” ืฉืื ื™ ืžืขื‘ื™ืจ ืœื” ื•ืชืžื™ื“ ืžืจื™ืฆื” ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™:
import { ref, h, computed, defineComponent, Plugin, watch } from 'vue'
import hljs from 'highlight.js/lib/core'
import { escapeHtml } from './lib/utils'

const component = defineComponent({
    props: {
        code: {
            type: String,
            required: true,
        },
        language: {
            type: String,
            default: '',
        },
        autodetect: {
            type: Boolean,
            default: true,
        },
        ignoreIllegals: {
            type: Boolean,
            default: true,
        },
    },
    setup(props) {
        const language = ref(props.language)
        watch(() => props.language, (newLanguage) => {
            language.value = newLanguage
        })

        const autodetect = computed(() => props.autodetect || !language.value)
        const cannotDetectLanguage = computed(() => !autodetect.value && !hljs.getLanguage(language.value))

        const className = computed((): string => {
            if (cannotDetectLanguage.value) {
                return ''
            } else {
                return `hljs ${language.value}`
            }
        })

        const highlightedCode = computed((): string => {
            // No idea what language to use, return raw code
            if (cannotDetectLanguage.value) {
                console.warn(`The language "${language.value}" you specified could not be found.`)
                return escapeHtml(props.code)
            }

            if (autodetect.value) {
                const result = hljs.highlightAuto(props.code)
                language.value = result.language ?? ''
                return result.value
            } else {
                const result = hljs.highlight(props.code, {
                    language: language.value,
                    ignoreIllegals: props.ignoreIllegals,
                })
                return result.value
            }
        })

        return {
            className,
            highlightedCode,
        }
    },
    render() {
        return h('pre', {}, [
            h('code', {
                class: this.className,
                innerHTML: this.highlightedCode,
            }),
        ])
    },
})

const plugin: Plugin & { component: typeof component } = {
    install(app) {
        app.component('highlightjs', component)
    },
    component,
}

export default plugin
ืจื•ืื™ื ืืช ื”ื‘ืขื™ื”? ื”ืชืฉื•ื‘ื” ื‘ืฉื•ืจื” 30:
const autodetect = computed(() => props.autodetect || !language.value)
ื”ืงื•ื“ ืžื•ื’ื“ืจ ืœื‘ืฆืข ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™ ื•ืœื”ืชืขืœื ืžืžืืคื™ื™ืŸ ื”ืฉืคื” ืื ืœื ื”ืขื‘ืจื ื• ืฉืคื” (ื”ื’ื™ื•ื ื™) ืื• ืื ื”ืžืืคื™ื™ืŸ autodetect ื‘ืขืœ ืขืจืš ืืžืช. ื”ื—ืœืง ื”ืฉื ื™ ื”ื™ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืกื‘ื™ืจ ืืœืžืœื ืืžืช ื”ื™ืชื” ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืœืžืืคื™ื™ืŸ ื–ื”:
autodetect: {
    type: Boolean,
    default: true,
},
ื›ืœื•ืžืจ ืื ืื ื™ ืœื ืžืขื‘ื™ืจ ืขืจืš false ื‘ืฆื•ืจื” ืžืคื•ืจืฉืช ืœืื•ืชื• autodetect ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœื• ื”ื™ื ืœื–ื”ื•ืช ืœื‘ื“ ืืช ื”ืฉืคื” ื•ืœื”ืชืขืœื ืžืขืจืš ื” language ืฉื”ืขื‘ืจืชื™. ื”ืกื™ื‘ื” ืฉืื ื™ ื ืชืงืขืชื™ ืขืœ ื”ืกื™ืคื•ืจ ื”ื–ื” ื™ื•ืชืจ ืžื“ื™ ื–ืžืŸ ื”ื™ื ื“ืฃ ื”ืชื™ืขื•ื“ ืฉืœ ื”ืกืคืจื™ื” ืฉืžืฆื™ื’ ืืช ื”ื“ื•ื’ืžื” ื”ื‘ืื”:
<div id="app">
    <!-- bind to a data property named `code` -->
    <highlightjs autodetect :code="code" />
    <!-- or literal code works as well -->
    <highlightjs language='javascript' code="var x = 5;" />
</div>
ืฉื›ืžื•ื‘ืŸ ืขื•ื‘ื“ืช ืจืง ื‘ื’ืœืœ ืฉ highlightjs ืžืฆืœื™ื— ืœื–ื”ื•ืช ืื•ื˜ื•ืžื˜ื™ืช ื‘ื“ื™ื•ืง ืืช ืื•ืชื” ืฉืคืช javascript ืฉืžื•ื’ื“ืจืช ื‘ language. ืขื›ืฉื™ื• ืชืฉืืœื• - ืื™ืŸ ืœืš ืื™ื–ื” ืงืœื•ื“ ื—ื›ื ื‘ืฆื•ื•ืช ืฉื™ื“ืข ืœื”ืกื‘ื™ืจ ื‘ื“ื™ื•ืง ืืช ื”ื‘ืื’ ื”ื–ื”? ื ื•, ื™ืฉ ืงืœื•ื“ ื—ื›ื ื•ื”ื•ื ื”ืฆืœื™ื— ืœื”ืฆื™ืข ื”ืžื•ืŸ ืจืขื™ื•ื ื•ืช ืžืงื•ืจื™ื™ื ื•ืœื ื ื›ื•ื ื™ื. ืžืกืชื‘ืจ ืฉื’ื ื”ื•ื ืœื ื—ืฉื‘ ืฉืชื™ืขื•ื“ ื™ื›ื•ืœ ืœื”ื˜ืขื•ืช ื•ื‘ืื’ื™ื ื™ื›ื•ืœื™ื ืœืงืจื•ืช ื‘ืกืคืจื™ื•ืช ื—ื™ืฆื•ื ื™ื•ืช.

ToCode
1 419
๐Ÿ“Œ ืžื™ ืฉืœื ื ืคื’ืข ืžื˜ืจื™ื•ื™ ื˜ืจื™ื•ื™ ืกื•ืจืง ืืช ื”ืคืจื•ื™ืงื˜ื™ื ืฉืœื›ื ื›ื“ื™ ืœื‘ื“ื•ืง ืฉืื™ืŸ ื‘ืขื™ื•ืช ืื‘ื˜ื—ื”. ื›ืžื•ื‘ืŸ ืฉื›ืœื™ ืื‘ื˜ื—ื” ื”ื ืžื˜ืจื” ืžืื•ื“ ืžืคืชื” ืœืคื•ืจืฆื™ื ื•ืœืื—ืจื•ื ื” ืœืžื“ื ื• ืฉืคื•ืจืฆื™ื ื”ืฆืœื™ื—ื• ืœื”ืฉื™ื’ ืืช ืžืคืชื—ื•ืช ื”ื’ื™ืฉื” ืฉืœ ื˜ืจื™ื•ื™ ื•ืœืคืจืกื ื‘ืฉืžื ื’ืจืกืื•ืช ืžื–ื•ื™ืคื•ืช. ื”ืคืจื˜ื™ื ื›ืืŸ: https://github.com/aquasecurity/trivy/security/advisories/GHSA-69fq-xp46-6x23 ืžื” ืฉืžืขื ื™ื™ืŸ ื‘ืกื™ืคื•ืจ ื”ื•ื ืœื ืžื™ ืฉื ืคื’ืข ืืœื ืžื™ ืฉืœื ื ืคื’ืข. ืžืชื•ืš ื”ื“ื™ื•ื•ื— ืื ื—ื ื• ืœื•ืžื“ื™ื ืฉืœื ื ืคื’ืขื• ืžื™ ืฉื”ืฉืชืžืฉื• ื‘ trivy images referenced by digest - ืื‘ืœ ืžื” ื–ื” ืื•ืžืจ? ื•ืœืžื” ื’ืจืกืื•ืช ื” digest ื”ื™ื• ื—ืกื™ื ื•ืช? ืžืื’ืจ ื”ื—ื‘ื™ืœื•ืช ืฉืœ ื˜ืจื™ื•ื™ ืžื›ื™ืœ ืืช ืจืฉื™ืžืช ื”ืื™ืžื’'ื™ื ืฉื”ื ืคืจืกืžื• ืขื ืชื’ื™ื•ืช ื›ืžื• canary, latest, 0.69.3 ื•ืชื’ื™ื•ืช ืืจื•ื›ื•ืช ื™ื•ืชืจ ืฉืžืชื—ื™ืœื•ืช ื‘ sha256 ื›ืžื• sha256:b39e145284f15252b2135abe0e24509d7ad2459d28c18f014e478c6ca0aee533. ื›ืฉืื ื—ื ื• ืžืจื™ืฆื™ื docker run aquasec/trivy ืื ื—ื ื• ืžืจื™ืฆื™ื ืืช ื”ื’ืจืกื” ืฉื™ืฉ ืขืœื™ื” ืืช ื”ืชื’ latest. ื•ืื ื ืจื™ืฅ docker run aquasec/trivy:canary ื ืจื™ืฅ ืืช ื”ื’ืจืกื” ื”ืžืชื•ื™ื’ืช canary. ื•ื›ืžื• ืฉื‘ื˜ื— ื”ื‘ื ืชื ืื ื ืคืขื™ืœ:
docker run ghcr.io/aquasecurity/trivy:sha256-bcc376de8d77cfe086a917230e818dc9f8528e3c852f7b1aff648949b6258d1c
ื ืจื™ืฅ ืืช ื”ื’ืจืกื” ืขื ื”ืชื’ ื”ืืจื•ืš. ื”ืชื’ื™ื ื”ืืจื•ื›ื™ื ืฉืžืชื—ื™ืœื™ื ื‘ sha256 ื ืงืจืื™ื digest. ื’ื™ื˜ื”ืื‘ ืžื—ืฉื‘ ืื•ืชื ืื•ื˜ื•ืžื˜ื™ืช ืžืชื•ืš ืชื•ื›ืŸ ื”ื—ื‘ื™ืœื” ื•ืœื ื ื™ืชืŸ ืœื™ืฆื•ืจ ืื•ืชื ื‘ืฆื•ืจื” ื™ื–ื•ืžื”. ื›ืœ ืฉืืจ ื”ืชื’ื™ื•ืช ื ื•ืขื“ื• ืœื”ื™ื•ืช "ืžื“ื‘ืงื•ืช", ื›ืœื•ืžืจ ืžื–ื”ื™ื ื’ืžื™ืฉื™ื ืฉืืคืฉืจ ืœื”ื“ื‘ื™ืง ืขืœ ื’ืจืกื” ื•ืื– ืœื”ื–ื™ื– ืœื’ืจืกื” ืื—ืจืช. ื–ื” ื”ื’ื™ื•ื ื™ ื›ืฉื—ื•ืฉื‘ื™ื ืขืœ ืชื’ ื›ืžื• latest - ื›ืœ ืคืขื ืฉื™ืฉ ืœื ื• ื’ืจืกื” ืขื“ื›ื ื™ืช ื—ื“ืฉื” ืื ื—ื ื• ืžื–ื™ื–ื™ื ืืช latest ืœื’ืจืกื” ื”ื—ื“ืฉื”. ื›ืš ื‘ืจื•ืจ ืฉื”ืชื•ืงืคื™ื ืฉื”ืฉืชืœื˜ื• ืขืœ ืคืจื˜ื™ ื”ื”ื–ื“ื”ื•ืช ืฉืœ ื˜ืจื™ื•ื™ ื”ืฆืœื™ื—ื• ื‘ืงืœื•ืช ืœืคืจืกื ื’ืจืกืื•ืช ื–ื“ื•ื ื™ื•ืช ืฉืœ ื”ืžืขืจื›ืช ื•ืœื“ื—ื•ืฃ ืชื’ื™ื•ืช ื›ืžื• latest, canary ื•ื’ื v0.69.4. ืืคื™ืœื• ืฉื’ืจืกืื•ืช ื›ืืœื” ื›ื‘ืจ ื”ื™ื• ืงื™ื™ืžื•ืช, ื›ืœ ืžื” ืฉืฆืจื™ืš ื–ื” ืœื“ื—ื•ืฃ ืขื“ื›ื•ืŸ ืœืชื’ื™ื ืืœื” ื›ื“ื™ ืœื“ืจื•ืก ืืช ื”ืกื™ืžื•ืŸ. ืžืฆื“ ืฉื ื™ ืœื ืžืฉื ื” ืžื” ื™ืขืฉื• ื”ืชื•ืงืคื™ื ื”ื ืœื ื™ืฆืœื™ื—ื• ืœื”ื–ื™ื– ืืช ืกื™ืžื•ื ื™ ื” digest ื›ื™ ื‘ืฉื‘ื™ืœ ื–ื” ืฆืจื™ืš ืœื™ืฆื•ืจ ื’ืจืกื” ื–ื“ื•ื ื™ืช ืฉืชื•ื›ื ื” ื™ื™ืชืŸ ืืช ืื•ืชื” ืชื•ืฆืืช sha256 ื•ื–ื” ื›ื‘ืจ ืกื™ืคื•ืจ ื”ืจื‘ื” ื™ื•ืชืจ ืžืืชื’ืจ. ืœืงื—ื™ื? ืœื ืžืฉื”ื• ื’ื“ื•ืœ, ืจืง ืขื•ื“ ืžื‘ื˜ ืขืœ ื”ืžืจื—ืง ื‘ื™ืŸ ืื‘ื˜ื—ืช ืžื™ื“ืข ืœื ื•ื—ื•ืช ืฉื™ืžื•ืฉ. ืื ื™ ื™ื•ื“ืข ืฉื‘ื‘ืœื•ื’ื•ืกืคื™ืจื”, ื‘ืžื“ืจื™ื›ื™ื ื•ืืคื™ืœื• ื‘ืฆ'ืื˜ ืชืžื™ื“ ื ืงื‘ืœ ืืช ื”ื’ืจืกื” ื”ืงืœื” ืœืขื™ื›ื•ืœ, ืื‘ืœ ืืœ ืชืฉื›ื—ื• ืฉื‘ืคืจื•ื“ืงืฉืŸ ื”ืจื‘ื” ืื ืฉื™ื ื›ืŸ ืžืฉืชืžืฉื™ื ื‘ื’ืจืกืื•ืช ืžืงื•ื‘ืขื•ืช ืฉืœ ื”ืชืœื•ื™ื•ืช ืฉืœื”ื, ื‘ื“ื™ื•ืง ื‘ืฉื‘ื™ืœ ืœื”ื™ืžื ืข ืžื›ืื‘ื™ ืจืืฉ ื›ืืœื”.

ToCode
1 419
๐Ÿ“Œ ืœืคื ื™ ื—ื•ื“ืฉ ื–ื” ืขื‘ื“ ื›ืžื” ืชืงืœื•ืช ืฉืชื™ืงื ืชื™ ืœืœืงื•ื—ื•ืช ื‘ืชืงื•ืคื” ื”ืื—ืจื•ื ื”, ื›ื•ืœืŸ ื‘ืงื˜ื’ื•ืจื™ื™ืช "ื–ื” ืขื‘ื“ ืœืคื ื™ ื—ื•ื“ืฉ ื•ืžืื– ืœื ื ื’ืขื ื•"- 1. ืฉื™ื ื•ื™ ืชืฉืชื™ืช ืืฆืœ ืกืคืง Third Party ื’ืจื ืœืงื•ื“ ื”ืจื’ื™ืœ ืฉืœื ื• ืœื”ืคืกื™ืง ืœืขื‘ื•ื“ ื•ื“ืจืฉ ืขื“ื›ื•ืŸ ืชื•ื›ื ื” ืžื”ืฆื“ ืฉืœื ื• ื›ื“ื™ ืœื”ืชืื™ื ืœืžื ื’ื ื•ืŸ ื”ื—ื“ืฉ. 2. ื“ื™ืกืง ื’ื™ื‘ื•ื™ ืฉื ื’ืžืจ ื‘ื• ื”ืžืงื•ื ื’ืจื ืœื”ืฉืชืœืฉืœื•ืช ืื™ืจื•ืขื™ื ืžืฆืขืจืช ืฉื‘ืกื•ืคื” ืžืขืจื›ืช ื”ืคืกื™ืงื” ืœื”ื’ื™ื‘. 3. ืคื’ ืชื•ืงืฃ ืชืขื•ื“ื” ื‘ื—ืชื™ืžื” ืขืฆืžื™ืช ืฉื”ื•ืคืงื” ื‘ืžืงื•ืจ ืœืฉื ืชื™ื™ื. ื›ืŸ ื’ื ืฉื ืชื™ื™ื ืขื•ื‘ืจื•ืช ื‘ืกื•ืฃ, ืžื” ืฉื”ืคื™ืœ ืืช ื›ืœ ื”ืงืœืืกื˜ืจ. 4. ื’'ื•ื‘ ืกื™ื ื›ืจื•ืŸ ื‘ื™ืŸ ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ืฉ"ืื ื™ ื‘ื˜ื•ื— ืฉื”ื™ื” ืฉื" ืคืฉื•ื˜ ื ืขืœื. ื”ืกื™ื ื›ืจื•ืŸ ื”ืคืกื™ืง ื•ืžืžื™ืœื ื›ื•ืœื ื›ื‘ืจ ืฉื›ื—ื• ืžื”ืจืคืœื™ืงื” ืขื“ ืฉืžื™ืฉื”ื• ื”ื™ื” ืฆืจื™ืš ื“ื•ื— ืื ืืœื™ื˜ื™ืงืก ืฉื™ืฆื ืขื ื ืชื•ื ื™ื ืœื ื ื›ื•ื ื™ื. ืขื›ืฉื™ื• ื™ืฉ ืกื™ืคื•ืจ ื›ืื™ืœื• ืกื•ื›ื ื™ื ื—ื›ืžื™ื ืชื›ืฃ ื”ื•ืœื›ื™ื ืœืชืคื•ืก ืืช ื›ืœ ืžืงื•ืžื•ืช ื”ืขื‘ื•ื“ื” ืฉืœ ืžื”ื ื“ืกื™ ืชื•ื›ื ื” ื•ืื ืฉื™ ืคืจื•ื“ืงื˜ ืฉืœื ืžื‘ื™ื ื™ื ืจืง ื™ื›ืชื‘ื• ืคืจื•ืžืคื˜ื™ื ื›ืœ ื”ื™ื•ื. ื‘ื›ืœ ืื—ื“ ืžืืจื‘ืขืช ื”ืื™ืจื•ืขื™ื ื‘ืจืฉื™ืžื” ื” AI ื”ืชื—ื™ืœ ืœื”ื™ื•ืช ืžื•ืขื™ืœ ืจืง ืื—ืจื™ ืฉื”ื‘ื ืชื™ ืžื” ืžืงื•ืจ ื”ืชืงืœื”. ื‘ื›ืœ ืื—ื“ ืžื”ืื™ืจื•ืขื™ื ืืฃ ืžื•ื“ืœ ืžื”ืžื•ื“ืœื™ื ื”ืžื•ื‘ื™ืœื™ื ื”ื™ื•ื ืœื ื”ื™ื” ืžืกื•ื’ืœ ืœื™ื™ืฆืจ ืชื•ื›ื ื™ืช ืคืขื•ืœื” ื›ื“ื™ ืœื”ื•ืจื™ื“ ืืช ื”ืกื™ื›ื•ืŸ ืœื”ื™ืฉื ื•ืช ืชืงืœื” ื›ื–ื• ื‘ืคืขื ื”ื‘ืื” ืื• ืœืฉืคืจ ืืช ื–ืžื ื™ ื”ืชื’ื•ื‘ื” ืฉืœื ื• ื›ืฉื–ื” ืงื•ืจื”. ืฆ'ืื˜ ื’'ื™ืคื™ื˜ื™ ื”ื’ื“ื™ืœ ืœืขืฉื•ืช ื‘ืื—ืช ื”ืฉื™ื—ื•ืช ืžืœืื•ืช ื”ืชืกื›ื•ืœ ืฉื”ื™ื• ืœื™ ืื™ืชื• ื•ื”ืฆื™ืข ืœื™ ืœื”ืชื™ื™ืขืฅ ืขื ืื™ืฉ DevOps. ืœืš ืชืกื‘ื™ืจ ืœื• ืฉืืชื” ื” DevOps. ืื ื™ืฉ ืžืฉื”ื• ืฉื”ืคืขืจ ื‘ื™ืŸ ืžื”ื ื“ืกื™ ืชื•ื›ื ื” ืœืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืžืœืžื“ ืื•ืชื ื• ื”ื•ื ืฉืžื”ื ื“ืกื™ ืชื•ื›ื ื” ืœื ื”ื•ืœื›ื™ื ืœืฉื•ื ืžืงื•ื. ื .ื‘. ื“ื‘ืจื™ื ืฉื ืฉื‘ืจื™ื ืคืชืื•ื ื”ื ืชื•ืœื“ื” ืฉืœ ื‘ืขื™ื” ื‘ืžืขืจื›ืช. ื”ื ืœื ื ืฉื‘ืจื• ืคืชืื•ื ื–ื” ืชืžื™ื“ ื”ื™ื” ืฉื‘ื•ืจ ืื‘ืœ ืขื›ืฉื™ื• ืจืง ืฉืžื ื• ืœื‘ ืœื–ื” ื›ื™ ื”ื™ื” ืคื™ืฆื•ืฅ. "ืื™ืš ื”ืงื•ื“ ื”ื–ื” ื™ื™ืฉื‘ืจ" ื”ื™ื ืขื“ื™ื™ืŸ ื”ืฉืืœื” ื”ื›ื™ ื—ืฉื•ื‘ื” ืœืžืคืชื—ื™ื ืขืœ ื›ืœ ืงื•ื“ ืฉืื ื—ื ื• ื›ื•ืชื‘ื™ื.

ToCode
1 419
#!/bin/bash
# npm-search.sh - Search npm for packages
# Usage: ./scripts/npm-search.sh <search-terms>

if [ $# -eq 0 ]; then
    echo "Usage: $0 <search-terms>"
    echo "Example: $0 date format manipulate"
    echo "         $0 csv parse stream"
    exit 1
fi

SEARCH_QUERY="$*"

echo "๐Ÿ” Searching npm for: $SEARCH_QUERY"
echo "----------------------------------------"

npm search "$SEARCH_QUERY"
ื•ื–ื” ื”ื›ืœ. ืขื›ืฉื™ื• ื›ืฉืื ื™ ืื‘ืงืฉ ืžืงืœื•ื“ ืงื•ื“ ืœืžืžืฉ ืคื™ืฆ'ืจ ื‘ืคืจื•ื™ืงื˜ ื•ื•ื‘ ื”ื•ื ื™ื—ืคืฉ ืงื•ื“ื ื‘ npm search ืื ืงื™ื™ืžืช ื—ื‘ื™ืœื” ื•ืื ื™ืžืฆื ื—ื‘ื™ืœื” ืจืœื•ื•ื ื˜ื™ืช ื”ื•ื ื™ืฉืชืžืฉ ื‘ื”. ืกืš ื”ื›ืœ ื”ืกืงื™ืœ ืžื•ืจื›ื‘ ืžืฉื ื™ ื”ืงื‘ืฆื™ื:
ynonp@ynons-MacBook-Air ~/.claude/skills/npm-search (main?) $ tree
.
โ”œโ”€โ”€ scripts
โ”‚   โ””โ”€โ”€ npm-search.sh
โ””โ”€โ”€ SKILL.md

2 directories, 2 files
ืฉื™ืคื•ืจ ืœืขื•ืžืช MCP? ื‘ื”ื—ืœื˜: 1. ืงืœ ื™ื•ืชืจ ืœื›ืชื™ื‘ื” - ื›ืœ ื”ื˜ืงืกื˜ื™ื ื™ื•ืฉื‘ื™ื ื‘ืงื•ื‘ืฅ markdown ืžืกื•ื“ืจ ื‘ืžืงื•ื ื‘ืชื™ืื•ืจ ืฉืœ tool-ื™ื. ืกืงืจื™ืคื˜ื™ื ื™ื›ื•ืœื™ื ืœื”ื™ื›ืชื‘ ื‘ื›ืœ ืฉืคื” ื•ืืคื™ืœื• ืืคืฉืจ ืœืฉืœื‘ ืžืกืคืจ ืฉืคื•ืช. 2. ื—ื•ืกืš ืžืงื•ื ื‘ื—ืœื•ืŸ ื”ืงื•ื ื˜ืงืกื˜ - ื”ื˜ืงืกื˜ื™ื ื ื˜ืขื ื™ื ืœืคื™ ื“ืจื™ืฉื” ื•ื‘ืฆื•ืจื” ื“ื™ื ืžื™ืช, ื•ื›ืžื•ื‘ืŸ ืืชื ื™ื›ื•ืœื™ื ืœื˜ืขื•ืŸ ืื•ืชื ื’ื ื‘ืฆื•ืจื” ื™ื–ื•ืžื” ื‘ืืžืฆืขื•ืช ืคืงื•ื“ืช / ื•ืฉื ื”ืกืงื™ืœ ื‘ืžืงืจื” ืฉืœื ื• /npm-search. ืืคืฉืจ ืœืžืฆื•ื ืขื•ื“ ื“ื•ื’ืžืื•ืช ืœืกืงื™ืœื™ื ื‘ืจื™ืคื• ืฉืœ ืื ื˜ืจื•ืคื™ืง ื›ืืŸ: https://github.com/anthropics/skills ืื• ื‘ืžืื’ืจ ื”ืกืงื™ืœื™ื ืฉืœ ืงื•ื“ืงืก: https://github.com/openai/skills/tree/main/skills/.curated ืื’ื‘ ืžื‘ื—ื™ื ืช ืจืื ืจื™ื ืื—ืจื™ื ืื– ื’ื ืงื•ืคื™ื™ืœื•ื˜ ื•ื’ื opencode ื™ืงืจืื• ืกืงื™ืœื– ืžืื•ืชื” ืชื™ืงื™ื™ืช ~/.claude/skills. ืงื•ื“ืงืก ื™ื—ืคืฉ ืื•ืชื ื‘ ~/.codex/skills.

ToCode
1 419
๐Ÿ“Œ ืž MCP ืœ Skills ืžืจื’ืข ื”ืžืฆืืช ืคืจื•ื˜ื•ืงื•ืœ MCP ื”ื•ื ื”ืชืคืฉื˜ ื›ืืฉ ื‘ืฉื“ื” ืงื•ืฆื™ื. ื›ืœ ืžื•ืฆืจ, ื›ืœ ื™ืฆืจืŸ, ื›ืœ API ื”ืจื’ื™ืฉ ืฉื”ื•ื ื—ื™ื™ื‘ ืœื”ืคื™ืฅ MCP ื›ื“ื™ ืฉื›ืœื™ AI ื™ื•ื›ืœื• ืœื”ืชื—ื‘ืจ ืœืื•ืชื• ื”ืžื•ืฆืจ. ืื– ื™ืฉ ืœื ื• MCP ืฉืœ ื’'ื™ืจื” ื‘ืขื–ืจืชื• ื”ืžื•ื“ืœ ื™ื›ื•ืœ ืœืงืจื•ื ื˜ื™ืงื˜ื™ื, ื• MCP ืฉืœ ืคื™ื’ืžื” ื‘ืขื–ืจืชื• ื”ืžื•ื“ืœ ื™ื›ื•ืœ ืœืงืจื•ื ืืช ื”ืขื™ืฆื•ื‘ื™ื ื•ื’ื MCP ืฉืœ ืคืœื™ื™ืจื™ื™ื˜ ืื™ืชื• ืืคืฉืจ ืœืฉืœื•ื˜ ื‘ื“ืคื“ืคืŸ ื•ืขื•ื“ ืื™ื ืกื•ืฃ ืืคืฉืจื•ื™ื•ืช. MCP ื”ื•ื ื‘ืกืš ื”ื›ืœ ืื•ืกืฃ "ื›ืœื™ื", ื›ืœื•ืžืจ ืื•ืกืฃ ืฉืœ ืคืงื•ื“ื•ืช ืฉื”ืžื•ื“ืœ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ. ืœื›ืœ ืคืงื•ื“ื” ื™ืฉ ืชื™ืื•ืจ ืžืฉืœื” ื•ื“ืจืš ื”ืคืขืœื” ืžืฉืœื”. ื“ื•ื’ืžืื•ืช ืœืคืงื•ื“ื•ืช ืฉืžื’ื™ืขื•ืช ืž MCP ื™ื”ื™ื• "ืงืจื ืงื•ื‘ืฅ ืžืจื™ืคื• ื‘ื’ื™ื˜", "ืฉื›ืคืœ ืืช ื”ืจื™ืคื• ื”ืžืจื•ื—ืง", "ื”ืคืขืœ ื“ืคื“ืคืŸ ื•ื’ืœื•ืฉ ืœื›ืชื•ื‘ืช ืžืกื•ื™ืžืช", "ื”ื—ื–ืจ ืจืฉื™ืžื” ืฉืœ ื”ืื•ื‘ื™ืงื˜ื™ื ื‘ืคืจื™ื™ื ืžืกื•ื™ื". ื—ืกืจื•ืŸ ืื—ื“ ืฉืœ MCP ื”ื•ื ืฉื”ืจื‘ื” ืื ืฉื™ื ื”ืชืงื™ื ื• ืื•ืชื ืื‘ืœ ืžืขื˜ ืื ืฉื™ื ื›ืชื‘ื• ืื•ืชื. ื–ื” ื”ื™ื” ื™ื•ืชืจ ืกื™ืคื•ืจ ืชืจื‘ื•ืชื™ ืžืืฉืจ ืžื’ื‘ืœื” ื˜ื›ื ื•ืœื•ื’ื™ืช ื›ื™ ื‘ืืžืช ืฉืœื ืžืกื•ื‘ืš ืœื›ืชื•ื‘ ืฉืจืชื™ MCP ืื‘ืœ ื–ื” ื”ื™ื” ื”ืžืฆื‘. ื—ืกืจื•ืŸ ืฉื ื™ ืฉืœ MCP ื”ื™ื” ืฉื›ืœ MCP ืฉืื ื™ ืžืชืงื™ืŸ "ืชื•ืคืก ืžืงื•ื" ื‘ื—ืœื•ืŸ ื”ืงื•ื ื˜ืงืกื˜ ืฉืœ ื”ืžื•ื“ืœ ื•ืœื›ืŸ ื‘ืชื—ื™ืœืช ื›ืœ ืฉื™ื—ื” ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœื‘ื—ื•ืจ ื‘ืื™ื–ื” ืฉืจืชื™ MCP ืื ื—ื ื• ืžืกื›ื™ืžื™ื ืœื”ืฉืชืžืฉ ื‘ืฉื™ื—ื” ื–ื•. ืžื ื’ื ื•ืŸ ื—ืœื•ืคื™ ืฉืฆื•ื‘ืจ ืชืื•ืฆื” ื•ืขื•ื–ืจ ืœืคืชื•ืจ ื‘ืขื™ื” ื“ื•ืžื” ื ืงืจื Skills. ื‘ื ื™ื’ื•ื“ ืœ MCP, ื” Skill ื”ื•ื ืžื•ื“ื•ืœืจื™. ื”ืžื•ื“ืœ ืžืงื‘ืœ ืชื™ืื•ืจ ื›ืœืœื™ ืฉืœ ื” Skill ื•ืžื—ืœื™ื˜ ืœื‘ื“ ืื ืœื˜ืขื•ืŸ ืื•ืชื• ืื• ืœื, ื›ืœื•ืžืจ ื˜ืขื™ื ืช ื” Skill ื”ื™ื ื”ืคืขืœืช ื›ืœื™ ืฉื”ืžื•ื“ืœ ื™ื•ื–ื. ื”ื‘ื“ืœ ื ื•ืกืฃ ืž MCP ื”ื•ื ืฉ Skill ื”ื•ื ื”ืจื‘ื” ื™ื•ืชืจ ื—ื•ืคืฉื™ - ืื ื™ ื›ื•ืชื‘ ืืช ื”ืชื™ืื•ืจ ื‘ืงื‘ืฆื™ Markdown ื•ืืช ื”ืงื•ื“ ื‘ืงื‘ืฆื™ ืกืงืจื™ืคื˜ ื‘ืื™ื–ื” ืคื•ืจืžื˜ ืฉืื ื™ ื‘ื•ื—ืจ. ื”ืชื•ืฆืื” ื”ื™ื ืฉื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœื›ืชื•ื‘ Skill ื•ื’ื ืœืงืจื•ื ืืช ื”ืงื•ื“ ืฉืœื•. ื“ื•ื’ืžื”? ื‘ื˜ื—. ื‘ื•ืื• ื ื™ืชืŸ ืœืžื•ื“ืœ ืฉืœื ื• ืื•ืคืฆื™ื” ืœื—ืคืฉ ื‘ npm ื—ื‘ื™ืœื•ืช ื”ืจื—ื‘ื”. ื” Skill ืžื•ืจื›ื‘ ื‘ืกืš ื”ื›ืœ ืžืงื•ื‘ืฅ ื”ื•ืจืื•ืช ื•ืžืกืงืจื™ืคื˜ ื—ื™ืคื•ืฉ ืื•ืชื ืื ื™ ืฉื ื‘ืชื™ืงื™ื™ื” ืขื ืฉื ืžื™ื•ื—ื“ ื‘ืชื™ืงื™ื™ืช ื”ื‘ื™ืช. ื ืคืชื— ืชื™ืงื™ื” ื—ื“ืฉื” ~/.claude/skills:
mkdir -p ~/.claude/skills/npm-search
ื‘ืชื•ืš ื”ืชื™ืงื™ื™ื” ืื ื™ ื™ื•ืฆืจ ืงื•ื‘ืฅ ื‘ืฉื SKILL.md ืขื ื”ืชื•ื›ืŸ ื”ื‘ื:
  ---
  name: npm-search
  description: Use this skill whenever implementing a feature or adding functionality to a JavaScript/TypeScript/Node.js project. Before writing custom code, always run npm search to find existing libraries that can solve the problem. This prevents reinventing the wheel and leverages the npm ecosystem.
  ---
  
  # NPM Search Guide
  
  ## Overview
  
  Before implementing any feature in a JavaScript/TypeScript/Node.js project, search npm for existing libraries that can solve the problem. This ensures you leverage the ecosystem rather than reinventing the wheel.
  
  ## When to Search npm
  
  Use npm search before implementing:
  - Data processing or transformation utilities
  - HTTP clients or API helpers
  - Date/time manipulation
  - Validation libraries
  - Authentication/authorization
  - File handling (CSV, JSON, XML, PDF, etc.)
  - Database connectors
  - Testing utilities
  - UI components (for frontend projects)
  - Any common utility or pattern
  
  ## Running npm Search
  
  Use the provided script to search for packages:
  
  ```bash
  ./scripts/npm-search.sh <search-term>
Or run directly:
npm search <search-term>
๐Ÿ“š Example Searches
# Looking for a date library
./scripts/npm-search.sh date format manipulate

# Looking for a validation library
./scripts/npm-search.sh schema validation zod joi

# Looking for an HTTP client
./scripts/npm-search.sh http client axios fetch

# Looking for a CSV parser
./scripts/npm-search.sh csv parse stream
โœ Evaluating Packages When reviewing search results, consider: 1. Downloads: Higher weekly downloads indicate community trust 2. Version: Recent versions suggest active maintenance 3. Description: Clear descriptions indicate well-documented packages 4. Dependencies: Fewer dependencies mean smaller bundle size โœ Installation Once you've identified a suitable package:
npm install <package-name>
# or
pnpm add <package-name>
# or
yarn add <package-name>
โœ Implementation After installation, read the package's README or documentation before using it. Look for: โฆ Basic usage examples โฆ Configuration options โฆ Common patterns and best practices
ื ืฉื™ื ืœื‘ ืฉืจืง ื”ื—ืœืง ื”ืขืœื™ื•ืŸ ืฉืœ ื”ืžืืจืงื“ืื•ืŸ ื ื˜ืขืŸ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืœืงืœื•ื“ ืงื•ื“. ืจืง ืื ื”ืžื•ื“ืœ ื™ื—ืœื™ื˜ ืœื˜ืขื•ืŸ ืืช ื”ืกืงื™ืœ ื”ื•ื ื™ืงืจื ืืช ื”ืงื•ื‘ืฅ ื”ืžืœื.

ืœืกื™ื•ื ืื ื™ ื™ื•ืฆืจ ืกืงืจื™ืคื˜ ื‘ืฉื `scripts/npm-search.sh` ื‘ืชื•ืš ืื•ืชื” ืชื™ืงื™ื™ื” ืขื ื”ืชื•ื›ืŸ ื”ื‘ื:

```language-sh

ToCode
1 419
๐Ÿ“Œ ื’ืขื’ื•ืขื™ื ืœืกืคืจื™ื•ืช ืงื•ื“ ืคืชื•ื— ืกืคืจื™ื•ืช ืงื•ื“ ืคืชื•ื— ืชืžื™ื“ ื”ื™ื•ื• ืžืขื™ืŸ ืงืจืฉ ืงืคื™ืฆื” ืžื”ื™ืจ ืœืคื™ืชื•ื—. ืฆืจื™ืš ืชื™ื‘ืช ื‘ื—ื™ืจื” ื™ืคื” ืขื ื—ื™ืคื•ืฉ ื•ื‘ื—ื™ืจื” ืžืจื•ื‘ื”? ื™ืฉ ืงื•ืžืคื•ื ื ื˜ื” ืœื–ื”. ืฆืจื™ืš ืœื”ื•ืจื™ื“ ืงื‘ืฆื™ื ืžื”ืื™ื ื˜ืจื ื˜ ืขื ืื•ืคืฆื™ื” ืœื”ื–ื“ื”ื•ืช ื•ื˜ื™ืคื•ืœ ื‘ื ืกื™ื•ื ื•ืช ื—ื•ื–ืจื™ื? ื™ืฉ ืกืคืจื™ื” ืœื–ื”. ืื ื™ ืขื“ื™ื™ืŸ ืžืฉืชืžืฉ ื‘ืกืคืจื™ื•ืช ืงื•ื“ ืคืชื•ื—, ืื‘ืœ ื”ืจื‘ื” ืคื—ื•ืช. ื›ื›ืœ ืฉื™ื•ืชืจ ืงื•ื“ ื ื›ืชื‘ ืขืœ ื™ื“ื™ ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ื”ืกื•ื›ืŸ ืžืฉืชืžืฉ ื‘ืกืคืจื™ื•ืช ืฉื”ื•ื "ืžื›ื™ืจ" ืื• "ืžืขื“ื™ืฃ", ื•ืžืงื•ื“ื“ ืžืืคืก ืืช ื”ืจื›ื™ื‘ื™ื ืฉื”ื•ื ืœื ืžื›ื™ืจ. ืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื™ืช ืงื•ื“ ืคืชื•ื— ื‘ืคืจื•ื™ืงื˜ ืื•ืžืจ ืฉืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ืฆืจื™ืš ืœื”ืชืืžืฅ ื™ื•ืชืจ ื‘ืฉื‘ื™ืœ ืœื‘ื ื•ืช ืืช ื”ืคื™ืฆ'ืจ ื”ื‘ื ืื• ืœืชืงืŸ ื‘ืื’. ื›ื›ืœ ืฉื”ืกืคืจื™ื” ืคื—ื•ืช ืžืชื•ืขื“ืช ืื• ืคื•ืคื•ืœืจื™ืช ืœืกื•ื›ืŸ ื™ื”ื™ื” ื™ื•ืชืจ ืงืฉื” ืœืขื‘ื•ื“ ืื™ืชื” ื•ื›ืœ ืฉื™ื ื•ื™ ื™ื“ืจื•ืฉ ื”ืขืžืกื” ืฉืœ ืชื™ืขื•ื“ ืจืœื•ื•ื ื˜ื™ ืœืชื•ืš ื—ืœื•ืŸ ื”ืงื•ื ื˜ืงืกื˜. ืžื” ื”ืคืกื“ื ื• ืคื”? ืื ื™ ืœื ื‘ื˜ื•ื—. ืฉืœื—ืชื™ ืืช ืœืื‘ื‘ืœ ืœื‘ื ื•ืช ืœื™ ืžืฉื—ืง ืชืจื’ื•ืœ ืฆืœื™ืœื™ื ื‘ื’ื™ื˜ืจื”. ื–ื” ื›ืืŸ ืื ืืชื ืจื•ืฆื™ื ืœื ืกื•ืช. ื”ืžืขื ื™ื™ืŸ ืฉื ื–ื” ืฉืืช ืฆื•ื•ืืจ ื”ื’ื™ื˜ืจื” ืœืื‘ื‘ืœ ืฆื™ื™ืจ ืœื‘ื“ ื‘ืืžืฆืขื•ืช SVG. ื‘ืขื•ืœื ื”ื™ืฉืŸ ืฆื™ื•ืจ ืฆื•ื•ืืจ ื’ื™ื˜ืจื” ื‘ SVG ื”ื™ื” ื‘ืขื™ื ื™ื™ ื”ืื•ืคืฆื™ื” ื”ืื—ืจื•ื ื”. ืงื•ื“ื ื”ื™ื™ืชื™ ืžื—ืคืฉ ืกืคืจื™ื™ืช ืงื•ื“ ืคืชื•ื— ื•ื‘ืžืงืจื” ื”ื’ืจื•ืข ืžืฆื™ื™ืจ ืืช ื–ื” ื‘ HTML ื• CSS. ื”ืกื•ื›ืŸ ื™ืฆืจ ืงื•ืžืคื•ื ื ื˜ื” ืฉืœ ื’ื™ื˜ืจื” ืฉื ืจืื™ืช ืžืžืฉ ืื—ืœื” ื•ืขื•ื‘ื“ืช ืขื‘ื•ืจ ื”ืžืฉื—ืง ืœื ืคื—ื•ืช ื˜ื•ื‘ ืž react-fretboard ืื• react-guitar, ืขื ืงื•ื“ ืฆื™ื•ืจ ื™ืคื” ื‘ SVG. ืืคืฉืจ ืœืจืื•ืช ืืช ื”ืงื•ื“ ืฉืœื• ื›ืืŸ: https://github.com/ynonp/fret-play-learn/blob/main/src/components/GuitarFretboard.tsx ื”ืžืฉื—ืง ื”ื™ื•ืชืจ ืžืฉืžืขื•ืชื™ ื‘ืคืจื™ื“ื” ืžืกืคืจื™ื•ืช ืงื•ื“ ืคืชื•ื— ื”ื•ื ื”ืฉืืœื” "ืžื™ ื™ืชื—ื–ืง ืืช ื–ื”?". ื’ื ื›ืืŸ ืื™ืŸ ืœื™ ื“ืขื” ื—ื“ ืžืฉืžืขื™ืช. ืžืฆื“ ืื—ื“ ื›ืฉื”ืขื•ืœื ืžืฉืชื ื” ื•ืžืชื’ืœื•ืช ื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ื ื•ื— ืฉื™ืฉ ืื ืฉื™ื ืื—ืจื™ื ืฉืžืชื—ื–ืงื™ื ืืช ืกืคืจื™ื™ืช ื”ืงื•ื“ ื”ืคืชื•ื— ื”ืื”ื•ื‘ื” ืขืœื™ื™ ื•ืžืขืœื™ื ื’ืจืกื” ื—ื“ืฉื” ื•ื˜ื•ื‘ื” ื™ื•ืชืจ. ืžืฆื“ ืฉื ื™ ื”ืจื‘ื” ืžื”ืฉื“ืจื•ื’ื™ื ื‘ืกืคืจื™ื•ืช ืงื•ื“ ืคืชื•ื— ื”ื ืชื•ืกืคืช ืฉืœ ืคื™ืฆ'ืจื™ื ืฉืื ื™ ืœื ืฆืจื™ืš ื•ื™ื•ืฆื ืฉืื ื™ ืžื‘ื–ื‘ื– ื–ืžืŸ ืขืœ ื”ืชืืžื•ืช ืœืžืžืฉืง ืฉืœ ื’ืจืกื” ื—ื“ืฉื” ืฉื‘ื›ืœืœ ืœื ื‘ื™ืงืฉืชื™. ื‘ื™ื ืชื™ื™ื ื“ื•ื’ืžืช ื”ืงื•ืžืคื•ื ื ื˜ื” ืฉืœ ื”ื’ื™ื˜ืจื” ืœื™ืžื“ื” ืื•ืชื™ ืฉืžืื•ื“ ื ื•ื— ื›ืฉื”ืกื•ื›ืŸ ื‘ื•ื ื” ืžืืคืก ืืช ื”ืจื›ื™ื‘ ื”ืžื“ื•ื™ืง ืฉืื ื™ ืฆืจื™ืš. ื›ืŸ ื›ื“ืื™ ืœื”ืงืคื™ื“ ืœื‘ืงืฉ ืžื”ืกื•ื›ืŸ ื›ืฉืฆืจื™ืš ืฉื™ืฉื™ื ืœื‘ ื›ืฉื™ืฉ ืงื•ืžืคื•ื ื ื˜ื” ืœืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื•ื™ื‘ื ื” ืื•ืชื” ื‘ืฆื“ ื‘ืชื•ืจ ืงื•ืžืคื•ื ื ื˜ื” ื ืคืจื“ืช. ื‘ืคื™ืชื•ื—ื™ื ื—ื“ืฉื™ื ื•ื‘ืžืฆื‘ ืชื›ื ื•ืŸ ื”ื•ื ื™ืจืื” ืืช ื–ื” ืœื‘ื“. ื‘ืชื™ืงื•ื ื™ ื‘ืื’ื™ื ื”ืจื‘ื” ื™ื•ืชืจ ืงืฉื” ืœื• ืœืฉื™ื ืœื‘.