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
๐Ÿ“Œ ืœื–ืจื•ืง ืื• ืœืฉืžื•ืจ (ืงื•ื“ ื‘ื™ื ื•ื ื™ ืฉืœ AI) ืื—ืช ื”ืฉืืœื•ืช ืฉื—ื–ืจื• ื‘ื•ื•ื‘ื™ื ืจ ืขืœ ืฉื™ืคื•ืจ ื”ืงื•ื“ ืฉืื ื—ื ื• ืžืงื‘ืœื™ื ืžืกื•ื›ื ื™ AI ื”ื™ืชื” ืžื” ืขื•ืฉื™ื ื›ืฉืžื–ื”ื™ื ืฉื”ืงื•ื“ ืฉืื•ืชื• ืกื•ื›ืŸ ื™ืฆืจ ืœื ื”ื™ื” ืžืกืคื™ืง ื˜ื•ื‘. ืื•ืคืฆื™ื™ืช ื”"ืœืฉืžื•ืจ" ื”ื™ื ืœื”ืžืฉื™ืš ืขื•ื“ ืื™ื˜ืจืฆื™ื•ืช ืžื•ืœ ื” AI ื›ื“ื™ ืœืกื“ืจ ืืช ื–ื”. ื‘ืื•ืคืฆื™ื™ืช ื”"ืœื–ืจื•ืง" ืื ื—ื ื• ืžื ืงื™ื ืืช ื›ืœ ื”ืฉื™ื ื•ื™ื™ื, ืžืชืงื ื™ื ืืช ื”ืคืจื•ืžืคื˜ ื•ืžื’'ื ืจื˜ื™ื ืžื—ื“ืฉ ืืช ื”ืงื•ื“ ื‘ืชืงื•ื•ื” ืฉื”ืคืขื ื–ื” ื™ื”ื™ื” ื˜ื•ื‘ ื™ื•ืชืจ. ื‘ืขื–ืจืช ืฉื™ื˜ืช ืฉืœื•ืฉืช ื”ืฉื›ื‘ื•ืช ื ืจืื” ืฉืจื•ื‘ ื”ื–ืžืŸ ื”ืชืฉื•ื‘ื” ื‘ืจื•ืจื”. ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉืงื•ื“ ืฉ AI ืžื™ื™ืฆืจ ืžื•ืฉืคืข ืžืฉืœื•ืฉ ืฉื›ื‘ื•ืช ืฉืœ ืžื™ื“ืข: 1. ืฉื›ื‘ืช ื”ื”ื•ืจืื•ืช - ืฉื–ื” ื”ื“ื‘ืจื™ื ืฉืื ื—ื ื• ื›ื•ืชื‘ื™ื ื‘ืฉืคื” ื˜ื‘ืขื™ืช. 2. ืฉื›ื‘ืช ื”ืงื•ื“ - ืฉื–ื” ื”ื“ื‘ืจื™ื ืฉื”ืกื•ื›ืŸ ืžื•ืฆื ื‘ืžืขืจื›ืช ืฉืœื ื•, ื‘ืงื•ื“ ื”ืงื™ื™ื. 3. ืฉื›ื‘ืช ื”ื•ื•ืจื™ืคื™ืงืฆื™ื” - ืืœื” ื”ืคืจื˜ื™ื ืฉื”ืกื•ื›ืŸ ืžืงื‘ืœ ืžื›ืœื™ื ื—ื™ืฆื•ื ื™ื™ื ืื—ืจื™ ื›ืชื™ื‘ืช ื”ืงื•ื“, ืœืžืฉืœ ืžื” ืจื•ืื™ื ื‘ื“ืคื“ืคืŸ, ืžื” ืชื•ืฆืื•ืช ื”ื‘ื“ื™ืงื•ืช ื•ืžื” ืื•ืžืจื™ื ื›ืœื™ ื ื™ืชื•ื— ื”ืงื•ื“ ื”ืื•ื˜ื•ืžื˜ื™ื™ื. ืื– ืื™ืš ื™ื•ื“ืขื™ื ืื ืœื–ืจื•ืง ืื• ืœืฉืžื•ืจ? ืžืกืชื›ืœื™ื ื‘ืื™ื–ื• ืฉื›ื‘ื” ื”ื™ืชื” ื”ื‘ืขื™ื”. ืœืคืขืžื™ื ื”ืžื•ื“ืœ ื›ื•ืชื‘ ืงื•ื“ ืื—ืจ ืžืžื” ืฉืจืฆื™ืชื ื›ื™ ื”ื•ื ืœื ื”ื‘ื™ืŸ ื“ื‘ืจื™ื ื‘ืกื™ืกื™ื™ื ื‘ืื™ืš ื”ืžืขืจื›ืช ืขื•ื‘ื“ืช ืื• ื‘ืจืฆื•ื ื•ืช ืฉืœื›ื ืžื”ืงื•ื“. ืœื“ื•ื’ืžื” ืืชื ืจืฆื™ืชื ืงื•ื“ ืœืฉื™ืžื•ืฉ ื—ื•ื–ืจ ืขื ืื‘ืกื˜ืจืงืฆื™ื•ืช ื•ื—ืœื•ืงื” ื ื›ื•ื ื” ืœืงื•ืžืคื•ื ื ื˜ื•ืช ืื‘ืœ ื”ืžื•ื“ืœ ื—ืฉื‘ ืฉื”ื•ื ืฆืจื™ืš ืœืชืช ืœื›ื ืคืชืจื•ืŸ ืžื”ื™ืจ ื•ืขื ื”ื›ื™ ืžืขื˜ ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ืงื™ื™ื. ื‘ืžืฆื‘ ื›ื–ื” ื”ื‘ืขื™ื” ื”ื™ื ื‘ืฉื›ื‘ืช ื”ื”ื•ืจืื•ืช, ื•ืื– ื‘ืจื•ืจ ืฉืขืœื™ื ื• ืœืžื—ื•ืง ืืช ื›ืœ ื”ืงื•ื“ ืฉื ื›ืชื‘, ืœื›ืชื•ื‘ ืืช ื”ื”ื•ืจืื•ืช ืžื—ื“ืฉ ื‘ืฆื•ืจื” ืžื“ื•ื™ืงืช ื™ื•ืชืจ ื•ืœืชืช ืœื• ืœืจื•ืฅ ืฉื•ื‘. ืžืื•ื“ ืงืฉื” ืœืชืงืŸ ืงื•ื“ ืฉื”ืชื—ื™ืœ ืžื ืงื•ื“ืช ืžื•ืฆื ืฉื’ื•ื™ื”. ืœืคืขืžื™ื ื”ืžื•ื“ืœ ืžื ืกื” ืœื›ืชื•ื‘ ืืช ื”ืงื•ื“ ืฉืจืฆื™ืชื ืื‘ืœ ื–ื” ืœื ื™ื•ืฆื. ื”ื•ื ืžืฉืชืžืฉ ืœื ื ื›ื•ืŸ ื‘ื“ื•ื’ืžืื•ืช ื‘ Codebase ืื• ืžืฉืชืžืฉ ื‘ื“ื•ื’ืžืื•ืช ื”ืงื™ื™ืžื•ืช ื•ืœื ืžืฆืœื™ื— ืœืฆืืช ืžื”ืŸ ื›ื“ื™ ืœื‘ื ื•ืช ืื‘ืกื˜ืจืงืฆื™ื” ื—ื“ืฉื”. ื“ื•ื’ืžื” ืงื˜ื ื” ืฉื”ืจืื™ืชื™ ื‘ื•ื•ื‘ื™ื ืจ ื”ื™ื ื”ื ืกื™ื•ืŸ ื”ืžื’ื•ืฉื ื”ื–ื” ืฉืœ ืื•ืคื•ืก ืœืชืงืŸ ืงื•ื“ JavaScript:
export const setAuthCredentials = response => {
  const expiryDate = getHeaderExpiry(response);
  const now = new Date();
  const diffMs = expiryDate.getTime() - now.getTime();
  const diffDays = diffMs / (1000 * 60 * 60 * 24);
  Cookies.set('cw_d_session_info', JSON.stringify(response.headers), {
    expires: diffDays > 0 ? diffDays : 1, // fallback to 1 day minimum
  });
  setUser(response.data.data);
};
ื•ืœืžื” ื–ื” ืžื’ื•ืฉื? ื›ื™ expiryDate ื”ื•ื ืชืืจื™ืš ื• expires ื™ื›ื•ืœ ืœืงื‘ืœ ืื• ืขืจืš ืžืกื•ื’ ืชืืจื™ืš ืื• ืขืจืš ืžืกืคืจื™ ืฉืžื™ื™ืฆื’ ืžืกืคืจ ื™ืžื™ื. ืžื” ืขื•ืฉื” ืื•ืคื•ืก? ื”ื•ืคืš ืืช ื”ืชืืจื™ืš ืœืขืจืš ืžืกืคืจ (ืฉืžื™ื™ืฆื’ ืžืกืคืจ ื™ืžื™ื) ืจืง ื‘ืฉื‘ื™ืœ ืœื”ืขื‘ื™ืจ ืื•ืชื• ืœ expires ืฉืœ Cookies.set, ื‘ืœื™ ืœืฉื™ื ืœื‘ ืฉื‘ืชื•ืš Cookies.set ื”ืขืจืš ื”ื–ื” ื™ื•ืžืจ ื—ื–ืจื” ืžื™ืžื™ื ืœืชืืจื™ืš. ื”ื•ื ื‘ื”ื—ืœื˜ ืฉื ืœื‘ ืœื‘ืื’, ื”ื•ื ื‘ื”ื—ืœื˜ ื ื™ืกื” ืœืชืงืŸ ืื•ืชื• ื‘ื”ืชื‘ืกืก ืขืœ ื”ืงื•ื“ ื‘ืžืขืจื›ืช ืชื•ืš ืฉืžื™ืจื” ืขืœ ื”ืžื‘ื ื”, ืื‘ืœ ืคืฉื•ื˜ ืœื ื”ืฆืœื™ื—. ืื•ืœื™ ืื ื”ื—ืชื™ืžื” ืฉืœ Cookies.set ื”ื™ืชื” ื˜ื•ื‘ื” ื™ื•ืชืจ ืื• ื”ื™ื” ื‘ืจื•ืจ ื™ื•ืชืจ ืžื”ืงื•ื“ ืฉืืคืฉืจ ืœื”ืขื‘ื™ืจ ืฉื ืชืืจื™ืš ื–ื” ื›ืŸ ื”ื™ื” ืžืฆืœื™ื— ืœื•. ื’ื ื‘ืžืฆื‘ ื›ื–ื” ืื ื™ ืžืžืœื™ืฅ ืœื–ืจื•ืง ืืช ื”ืงื•ื“ ื•ืœื™ื™ืฆืจ ืžื—ื“ืฉ, ืื—ืจื™ ืฉืžืชืงื ื™ื ืืช ื”ืงื•ื“ ืื• ื”ื”ื•ืจืื•ืช ื›ื“ื™ ืœื”ื‘ื”ื™ืจ ืœืžื•ื“ืœ ืžื” ื”ืคืชืจื•ืŸ ื”ืจืฆื•ื™. ืืคื™ืœื• ื‘ื“ื•ื’ืžื” ื”ืงื˜ื ื” ืฉื”ื“ื‘ืงืชื™ ื›ืืŸ, ืฉื‘ืจื•ืจ ืฉื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœืชืงืŸ ืืช ื”ืคื•ื ืงืฆื™ื” ืžืืฉืจ ืœื™ื™ืฆืจ ืงื•ื“ ืžื—ื“ืฉ, ืื ื™ ื—ื•ืฉื‘ ืฉืขื“ื™ืฃ ืœืชืงืŸ ืืช ื”ืงื•ื“ ืฉืžืกื‘ื™ื‘ (ื‘ืžืงืจื” ื”ื–ื” ืœื”ื•ืกื™ืฃ Unit Test ืฉืžืขื‘ื™ืจ ืขืจืš ืชืืจื™ืš ื‘ืชื•ืจ expires ืœืžืฉืœ), ื•ืื– ืœื™ื™ืฆืจ ืืช ื”ืงื•ื“ ืžื—ื“ืฉ. ื›ืš ืื ื—ื ื• ืžื—ื–ืงื™ื ืืช ื”ืžืขืจื›ืช ื•ื”ื•ืคื›ื™ื ืื•ืชื” ืœืงืœื” ื™ื•ืชืจ ืขื‘ื•ืจ ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ื‘ืขืชื™ื“. ื”ืžืงืจื” ื”ืื—ืจื•ืŸ ื”ื•ื ื‘ืขื™ื•ืช ื‘ืฉื›ื‘ืช ื”ื•ื•ืจื™ืคื™ืงืฆื™ื”. ื›ืืŸ ื™ืฉ ืœื ื• ืงื•ื“ ืฉื ืจืื” ืžืžืฉ ืกื‘ื‘ื”, ื”ื•ื ื’ื ืชื•ืื ืœื”ื•ืจืื•ืช ื•ื”ื•ื ื’ื ื›ืชื•ื‘ ืžื“ื•ื™ืง ืื‘ืœ ื™ืฉ ืจืง ื‘ืขื™ื” ืื—ืช - ื”ื•ื ืœื ืขื•ื‘ื“ ืื• ืœื ืขื•ื‘ื“ ืžืกืคื™ืง ื˜ื•ื‘. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื”ืขืžื•ื“ ืœื ื ื˜ืขืŸ, ืื• ืฉื”ืขืžื•ื“ ื ื˜ืขืŸ ืœืื˜ ืžื“ื™, ืื• ืฉื™ื•ืฆืจ ื™ื•ืชืจ ืžื“ื™ ืขื•ืžืก ืขืœ ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืื• ื›ืœ ื“ื‘ืจ ืฉืืคืฉืจ ืœื–ื”ื•ืช ืื•ืชื• ื‘ืงืœื•ืช ืจืง ื“ืจืš ื›ื ื™ืกื” ืœืขืžื•ื“, ื‘ื“ื™ืงืช ื”ืœื•ื’ื™ื ื•ื”ืจืฆืช ื›ืœื™ื ืื•ื˜ื•ืžื˜ื™ื™ื. ื›ืฉื™ืฉ ื‘ืขื™ื•ืช ื‘ืฉื›ื‘ืช ื”ื•ื•ืจื™ืคื™ืงืฆื™ื” ืื™ืŸ ื˜ืขื ืœื™ื™ืฆืจ ืืช ื›ืœ ื”ืงื•ื“ ืžื—ื“ืฉ, ื”ืงื•ื“ ื›ื‘ืจ ื˜ื•ื‘. ื™ื•ืชืจ ืงืœ ืœืชืช ืœืงืœื•ื“ ืงื•ื“ ื›ืœื™ ืื•ื˜ื•ืžื˜ื™ ืื™ืชื• ื”ื•ื ื™ื•ื›ืœ ืœืจืื•ืช ืืช ื”ื‘ืขื™ื” ื•ืœืฉืœื•ื— ืื•ืชื• ืœื“ืจื›ื• ื›ื“ื™ ืœืกื“ืจ. ื‘ืกื•ืฃ ื”ืชื”ืœื™ืš ื ืงืจื ืฉื•ื‘ ืืช ื”ืงื•ื“, ื•ืื ืื ื—ื ื• ืขื“ื™ื™ืŸ ืžืจื•ืฆื™ื ื ื•ื›ืœ ืœืžื–ื’.

ToCode
1 419
๐Ÿ“Œ ืื™ืš ืœืœืžื•ื“ Design Patterns ื”ื™ื•ื ื‘ืกืคืจ ื”ืžืคื•ืจืกื Design Patterns ืฉืœ GoF ื™ื•ืฉื‘ื™ื 4 ื—ื›ืžื™ื ื•ืžืฆื™ื’ื™ื ืชื‘ื ื™ื•ืช ืขื™ืฆื•ื‘ ืฉื”ื ืžืฆืื• ื‘ืžืขืจื›ื•ืช ืชื•ื›ื ื” ืฉืจืื•. ื”ืกืคืจ ืคื•ืจืกื ื‘ 1994 ื•ืœื›ืŸ ื‘ืจื•ืจ ืœืžื” ื”ืžื™ืžื•ืฉื™ื ืฉื”ื•ืฆื’ื• ืฉื ืžื•ืจื›ื‘ื™ื ืžืงื˜ืขื™ ืงื•ื“ ืงื˜ื ื™ื ื•ืžืกืคืจื™ื ืจืง ื—ืœืง ืžื”ืกื™ืคื•ืจ. ื‘ 1994 ืื™ ืืคืฉืจ ื”ื™ื” ืœืฉืชืฃ ืžืขืจื›ืช ืžืœืื” ื•ืœืชืช ื“ื•ื’ืžืื•ืช ืžืžื ื”. ื”ื ื—ืช ื”ืขื‘ื•ื“ื” ืฉืœื”ื ื”ื™ืชื” ืฉื”ืื ืฉื™ื ืฉืงื•ืจืื™ื ืืช ื”ืกืคืจ ืžื›ื™ืจื™ื ืืช ื”ื‘ืขื™ื•ืช ืžืžืขืจื›ื•ืช ื’ื“ื•ืœื•ืช ืฉืœื”ื ื•ืžืชืขื ื™ื™ื ื™ื ื‘ื‘ื ื™ื™ืช ื”ืคืชืจื•ื ื•ืช. ื–ื” ืžื–ืžืŸ ืœื ื”ืžืฆื‘. ื›ืžื•ืช ื”ืงื•ื“ ื”ืคืชื•ื— ืฉื™ืฉ ืœื ื• ื‘ืื™ื ื˜ืจื ื˜ ื•ื”ื™ื›ื•ืœืช ืœื’ืฉืช ืœื›ืœ ืจื™ืคื• ืขื AI ื”ื ื”ืžืคืชื— ืœืœื™ืžื•ื“ ื™ืขื™ืœ ืฉืœ Design Patterns. ืœื ื‘ืžื•ื‘ืŸ ืฉืœ ืœื”ื›ื™ืจ ืื™ืš ื‘ื ื•ื™ Singleton, ืืœื ื‘ืžื•ื‘ืŸ ืฉืœ ืœื”ื‘ื™ืŸ ืื™ืคื” ืื ืฉื™ื ืืžื™ืชื™ื™ื ืžืฉืชืžืฉื™ื ื‘ืชื‘ื ื™ืช ื–ื•. ื ืกื• ืืช ื”ืคืจื•ืžืคื˜ ื”ื‘ื ื‘ Gemini:
explain the singleton design pattern in python

1. what problem does it try to solve
2. what are some different implementations (variants) of the pattern?
3. provide examples for real world usages of the pattern in existing python open source libraries
ื•ื’'ืžื™ื ื™ ื™ืฉืžื— ืœื”ืจืื•ืช ืœื›ื ืงื•ื“ ืืžื™ืชื™ ืžืชื•ืš Django, tornado, kivy ื•ืืคื™ืœื• ืžืชื•ืš ื”ืกืคืจื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช ืฉืœ ืคื™ื™ืชื•ืŸ ืฉืžืฉืชืžืฉ ื‘ Singleton ื•ื’ื ื™ืกื‘ื™ืจ ื•ื™ืจื—ื™ื‘ ืœืžื” ื”ื ื‘ื—ืจื• ื‘ืชื‘ื ื™ืช ื–ื•. ื”ืžืฉื™ื›ื• ื‘ืฉื™ื—ื” ื•ื ืกื• ืœื”ืฆื™ืข ืคืชืจื•ื ื•ืช ืื—ืจื™ื ืœื‘ืขื™ื” ื•ืžื™ืžื•ืฉื™ื ืฉืœื›ื ื•ื‘ืงืฉื• ืž Gemini ืคื™ื“ื‘ืง ืขืœ ื”ื”ืฆืขื•ืช ืฉืœื›ื. ื‘ืจื•ืจ ืฉื‘ืขื™ื“ืŸ ื” AI ืœื ืื›ืคืช ืœื›ื ืื™ืš ืœืžืžืฉ ืกื™ื ื’ืœื˜ื•ืŸ ืื• Event Bus ื‘ืคื™ื™ืชื•ืŸ. ื›ืŸ ืฆืจื™ืš ืœื”ื™ื•ืช ืœื›ื ืื›ืคืช ืื™ืš ื”ืงื•ื“ ื ืจืื”, ืื™ื–ื” ื‘ืขื™ื” ื”ืชื‘ื ื™ืช ืคื•ืชืจืช ื•ืื™ืš ืฉื™ืžื•ืฉ ื‘ืชื‘ื ื™ืช ื’ื•ืจื ืœืงื•ื“ ืœื”ื™ืจืื•ืช. ื‘ืžืงื•ื "ืื ื™ ื™ื•ื“ืข ืœื›ืชื•ื‘ ืกื™ื ื’ืœื˜ื•ืŸ" ืืžืจื• "ืื ื™ ื™ื•ื“ืข ืœื–ื”ื•ืช ืกื™ื ื’ืœื˜ื•ืŸ ื›ืฉืื ื™ ืจื•ืื” ืื•ืชื•, ืื• ืœื–ื”ื•ืช ืฉื”ื•ื ื—ืกืจ ื›ืฉืื ื™ ืœื ืจื•ืื” ืื•ืชื•".

ToCode
1 419
๐Ÿ“Œ ื”ื™ื•ื ืœืžื“ืชื™: ืžื—ื™ืงืช ืื™ื ื“ื ื˜ืฆื™ื” ื‘ืคื™ื™ืชื•ืŸ ืื—ื“ ื”ืกื™ืžื ื™ื ื”ืื”ื•ื‘ื™ื ืขืœื™ื™ ื‘ืจื•ื‘ื™ ื”ื•ื ~ ื‘ืฉื™ืžื•ืฉ ืฉืœื• ื‘ื›ืชื™ื‘ืช ืžื—ืจื•ื–ื•ืช ืžืจื•ื‘ื•ืช ืฉื•ืจื•ืช. ื”ื•ื ื’ื•ืจื ืœืจื•ื‘ื™ ืœืžื—ื•ืง ืืช ื”ืจื•ื•ื—ื™ื ืฉื‘ืื™ื ื‘ืชื—ื™ืœืช ื›ืœ ืฉื•ืจื” ื‘ืžื—ืจื•ื–ืช ื•ื›ืš ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืฉื™ื ืื™ื ื“ื ื˜ืฆื™ื” ื‘ืงื•ื“ ืฉืœื ืžืฉืคื™ืขื” ืขืœ ืชื•ื›ืŸ ื”ืžื—ืจื•ื–ืช. ื”ืงื•ื“ ื”ื–ื” ื‘ืจื•ื‘ื™:
query = <<~END
  SELECT name, email
  FROM users
  WHERE active = true
END

puts query
ืžื“ืคื™ืก:
SELECT name, email
FROM users
WHERE active = true
ืื ื™ ืžื•ื“ื” ืฉื‘ืคื™ื™ืชื•ืŸ ืชืงื•ืคื” ืืจื•ื›ื” ืคืฉื•ื˜ ื•ื•ื™ืชืจืชื™ ืขืœ ื”ืื™ื ื“ื ื˜ืฆื™ื” ื›ืฉื›ืชื‘ืชื™ ืžื—ืจื•ื–ื•ืช ืžืจื•ื‘ื•ืช ืฉื•ืจื•ืช. ื›ืŸ ืืคืฉืจ ืœื”ื•ืจื™ื“ ืืช ื”ืกื•ืฃ ื•ื”ื”ืชื—ืœื” ืขื strip ืื‘ืœ ื–ื” ืœื ืžื” ืฉืจืฆื™ืชื™, ื›ืœื•ืžืจ ื”ืงื•ื“ ื”ื–ื”:
query = """
  SELECT name, email
  FROM users
  WHERE active = true
""".strip()

print(query)
ืžื“ืคื™ืก ืืช ื–ื”:
SELECT name, email
  FROM users
  WHERE active = true
ื”ื™ื•ื ืœืžื“ืชื™ ืขืœ ืžื•ื“ื•ืœ ืžื•ื‘ื ื” ื‘ืคื™ื™ืชื•ืŸ ื‘ืฉื textwrap ืฉื™ื•ื“ืข ืœืขืฉื•ืช ื‘ื“ื™ื•ืง ืืช ื”ื˜ืจื™ืง ืฉืื ื™ ืื•ื”ื‘ ืžืจื•ื‘ื™. ื›ืš ื ืจืื” ืงื•ื“ ืคื™ื™ืชื•ืŸ ืฉืžืฉืชืžืฉ ื‘ื•:
import textwrap

query = textwrap.dedent("""
  SELECT name, email
  FROM users
  WHERE active = true
""").strip()

print(query)
ื•ื”ืชื•ืฆืื”:
SELECT name, email
FROM users
WHERE active = true
ืฉื™ืžื• ืœื‘ ืฉื” strip ืฆืจื™ืš ืœื”ื•ืคื™ืข ืื—ืจื™ ื”ืงืจื™ืื” ืœ dedent ืื—ืจืช ื”ืื™ื ื“ื ื˜ืฆื™ื” ื”ืœื ืฉื•ื•ื” ืžื‘ืœื‘ืœืช ืืช ื”ืžื•ื“ื•ืœ. ื‘ื›ืœ ืžืงืจื” ืœื ื›ื“ืื™ ืœื”ืชืจื’ืœ ืืœื™ื• ื›ื™ ืžืžืฉ ืžืขื‘ืจ ืœืคื™ื ื” ืžื—ื›ื” ืœื ื• PEP822 ืขื ืชื—ื™ืœื™ืช d ืœืžื—ืจื•ื–ืช ืฉืžื•ืจื™ื“ื” ืื™ื ื“ื ื˜ืฆื™ื” ืื•ื˜ื•ืžื˜ื™ืช, ื›ืœื•ืžืจ ืคื™ื™ืชื•ืŸ 3.15 ื›ื‘ืจ ื™ืืคืฉืจ ืœื ื• ืœื›ืชื•ื‘:
query = d"""
  SELECT name, email
  FROM users
  WHERE active = true
  """

print(query)
ื•ืœืงื‘ืœ ืืช ืื•ืชื• ืคืœื˜. ืœืคื™ ื”ืชื™ืขื•ื“ ื”ื ืžื•ืจื™ื“ื™ื ืืช ื”ืื™ื ื“ื ื˜ืฆื™ื” ื”ืžืฉื•ืชืคืช ืœื›ืœ ื”ืฉื•ืจื•ืช ื›ื•ืœืœ ืฉื•ืจืช ื”ืกื™ื•ื (ืขื ื”ืฉืœื•ืฉื” ืกื™ืžื ื™ ืžืจื›ืื•ืช ื”ืื—ืจื•ื ื”) ืื‘ืœ ืœื ื›ื•ืœืœ ืฉื•ืจืช ื”ืคืชื™ื—ื” ื•ืฉื•ืจื•ืช ืจื™ืงื•ืช - ื›ืš ืฉื›ืœ ืขื•ื“ ื ืงืคื™ื“ ืฉื”ืฉื•ืจื” ื”ืื—ืจื•ื ื” ืชืงื‘ืœ ืืช ืื•ืชื” ืื™ื ื“ื ื˜ืฆื™ื” ื›ืžื• ื›ืœ ื”ื‘ืœื•ืง ื“ื‘ืจื™ื ืืžื•ืจื™ื ืœืขื‘ื•ื“ ื‘ืกื“ืจ. ื‘ PEP ืชื•ื›ืœื• ืœืžืฆื•ื ืขื•ื“ ื”ืžื•ืŸ ื“ื•ื’ืžืื•ืช ืžื” ื™ืขื‘ื•ืจ ื•ืžื” ืœื ื™ืขื‘ื•ื“ ืขื ื”ื›ืชื™ื‘ ื”ื—ื“ืฉ: https://peps.python.org/pep-0822/

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

ToCode
1 419
๐Ÿ“Œ ืฉื™ื ื•ื™ ื”ื”ืชื ื”ื’ื•ืช ื”ืžื•ื‘ื ื™ืช ื‘ JavaScript ื’ื ื’ื‘ื•ืจ ืงื•ืก ืจืื” ืืช ื”ืงื•ื“ ื”ื–ื” ื•ื”ืจื’ื™ืฉ ื‘ื—ื™ืœื”:
const todoResponse = await client.get('/api/todos/1');
const todo = await todoResponse.json();
ื”ื‘ืขื™ื”? ื”ื•ื ืœื ืฆืจื™ืš ืืช todoResponse ื•ื”ื’ื“ื™ืจ ืื•ืชื• ืจืง ื‘ืฉื‘ื™ืœ ืœื”ืคืขื™ืœ ืขืœื™ื• .json. ื™ืฉ ื›ืžื” ื“ืจื›ื™ื ื˜ื‘ืขื™ื•ืช ื‘ JavaScript ืœื•ื•ืชืจ ืขืœื™ื•, ืื‘ืœ ืืฃ ืื—ืช ืžื”ืŸ ืœื ืขื•ืฉื” ื—ืฉืง. ื”ืจืืฉื•ื ื” ื”ื™ื ืœื”ืฉืชืžืฉ ื‘ืฉื ื™ await ื‘ืื•ืชื” ืฉื•ืจื”:
const todo = await (await client.get('/api/todos/1')).json();
ื•ื“ืจืš ืฉื ื™ื” ืขื then:
const todo = await client.get('/api/todos/1').then(r => r.json());
ื”ื—ืœื•ื ืฉืœ ื’ื‘ื•ืจ ื”ื™ื” ืœื›ืชื•ื‘ ืงื•ื“ ืฉื ืจืื” ื›ืš:
const todo = await client.get('/api/todos/1').json()
ืืชื ื™ื›ื•ืœื™ื ืœื”ืขื™ืฃ ืžื‘ื˜ ื‘ื‘ืœื•ื’ ืฉืœื• ื›ื“ื™ ืœืจืื•ืช ืื™ืš ื”ื•ื ืžื™ืžืฉ ืืช ื–ื”. ื›ืืŸ ืื ื™ ืจื•ืฆื” ืฉื ื—ืฉื•ื‘ ืื ื–ื” ื‘ื›ืœืœ ื—ืœื•ื ืฉืฉื•ื•ื” ืœื”ืชืืžืฅ ื‘ืฉื‘ื™ืœื•. โœ ืžื” ืื ื—ื ื• ืžืคืกื™ื“ื™ื ื›ืฉืื ื—ื ื• ืžืฉื ื™ื ื”ืชื ื”ื’ื•ืช ืงื•ื“ ื ืงื™ ื”ื•ื ืงื•ื“ ืฉืขื•ืฉื” ืžื” ืฉืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืฉื”ื•ื ืขื•ืฉื”. ืงืœ ืœื”ืจื—ื™ื‘ ืื•ืชื•, ืงืœ ืœืฉื ื•ืช ืื•ืชื•, ืงืœ ืœืงืจื•ื ืื•ืชื•. ืงื•ื“ ื ืงื™ ืืžื•ืจ ืœืชืช ื™ืชืจื•ืŸ ืœืื ืฉื™ื (ืื• ืกื•ื›ื ื™ ืงื™ื“ื•ื“) ืฉืžื›ื™ืจื™ื ืืช ืขื•ืœื ื”ืชื•ื›ืŸ ื•ื™ื•ื“ืขื™ื ืœืžื” ืœืฆืคื•ืช. ื›ืฉืžืคืชื—ื™ื ื•ื•ืชื™ืงื™ื ืจื•ืื™ื ืงื•ื“ ืฉื ืจืื” ื›ืžื• ืžื” ืฉื”ื ืžื›ื™ืจื™ื ื”ื ืจื’ื•ืขื™ื ื•ื™ื›ื•ืœื™ื ืœื”ืžืฉื™ืš ื‘ืงืจื™ืื”. ื›ืฉืžืคืชื—ื™ื ื—ื“ืฉื™ื ืจื•ืื™ื ืงื•ื“ ื ืงื™ ื”ื ืœื•ืžื“ื™ื ืžืžื ื• ืื™ืš ื“ื‘ืจื™ื ืขื•ื‘ื“ื™ื. ื‘ื’ืจืกืช ืฉื ื™ ื”ืžืฉืชื ื™ื ื‘ืจื•ืจ ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ืคื•ื ืงืฆื™ื™ืช get ืœืคื•ื ืงืฆื™ื™ืช json, ื‘ืจื•ืจ ืฉื›ืœ ืื—ืช ืžื—ื–ื™ืจื” ืžืฉื”ื• ืื—ืจ ื•ืืคืฉืจ ืœืžืฆื•ื ื‘ืชื™ืขื•ื“ ืžื”ื ืฉื ื™ ื”ืื•ื‘ื™ืงื˜ื™ื ื”ืžืขื•ืจื‘ื™ื. ื’ืจืกืช ื” then ื’ื ื™ืคื” ื‘ื“ืจื›ื”. ื”ื™ื ืžื–ื›ื™ืจื” ืœื ื• ืฉื‘ืขืฆื async/await ื”ื•ื ื›ืชื™ื‘ ืงื™ืฆื•ืจ ื“ืจืš ืœื›ืชื™ื‘ ื” Promises, ืฉ Promises ืืคืฉืจ ืœืฉืจืฉืจ ื•ืฉื›ื“ืื™ ืœื ื• ืœืœืžื•ื“ ืื™ืš ืœืขื‘ื•ืจ ื‘ืฆื•ืจื” ืฉื•ื˜ืคืช ื‘ื™ืŸ ืฉื ื™ ื”ืชื—ื‘ื™ืจื™ื. ืืช ื’ืจืกืช ืฉื ื™ ื” await-ื™ื ืื ื™ ืœื ืื•ื”ื‘, ื”ื™ื ื ืจืื™ืช ืœื ื˜ื‘ืขื™ืช, ืื‘ืœ ืœืคื—ื•ืช ืื ื™ ืžื‘ื™ืŸ ืื•ืชื” ื‘ืžื‘ื˜ ืจืืฉื•ืŸ. ื’ืจืกืช ื” await ื”ื‘ื•ื“ื“ ื”ื™ื ื”ื›ื™ ืžื‘ืœื‘ืœืช. ื‘ืชื•ืจ ืžืคืชื— ื•ื•ืชื™ืง ืื ื™ ืงื•ืจื ืืช ื–ื” ื•ืœื ืžื‘ื™ืŸ ืื™ืคื” ื” then ืฉืœ ื” get, ื•ืœืžื” ืžืชื™ื—ืกื™ื ืœ Promise ื›ืžื• ืœืชื•ืฆืื” ืฉืœื”. ืื ื”ื™ื™ืชื™ ืžืคืชื— ื—ื“ืฉ ืฉืœื ืžืกืคื™ืง ืžื›ื™ืจ JavaScript ื”ื™ื™ืชื™ ืขืœื•ืœ ืœื—ืฉื•ื‘ ืฉืืคืฉืจ ืœื”ืชื ื”ื’ ื‘ืฆื•ืจื” ื“ื•ืžื” ื’ื ืขื ืคื•ื ืงืฆื™ื•ืช ืื—ืจื•ืช ืฉืœ Promises ืื• ืขื Promises ืื—ืจื™ื, ื•ื–ื• ื›ืžื•ื‘ืŸ ื”ื™ืชื” ื˜ืขื•ืช. ื”ื‘ืœื‘ื•ืœ ืจืง ืžื—ืจื™ืฃ ื›ืฉืื ื—ื ื• ืžื ืกื™ื ืœื”ืฉืชืžืฉ ื‘ื’ืจืกื” ื–ื• ื‘ื”ืงืฉืจื™ื ืื—ืจื™ื, ืœื“ื•ื’ืžื”:
const todoRequest = await client.get('/api/todos/1');
const todo = todoRequest.json();
ื‘ืžืงืจื” ื”ื–ื” ื”ืฉื•ืจื” ื”ืฉื ื™ื” ืชื—ื–ื™ืจ Promise ื›ื™ ื” await ืฉืœื” "ื ืฉื›ื—" ื‘ืฉื•ืจื” ื”ืจืืฉื•ื ื”. ื”ื“ืจืš ื”ื ื›ื•ื ื” ืœืฉื‘ื•ืจ ืืช ื”ืงื•ื“ ืœืฉืชื™ ืฉื•ืจื•ืช ื”ื™ื ื“ื•ื•ืงื ืœืฉื™ื ืืช ื” await ื‘ืฉื•ืจื” ื”ืฉื ื™ื” ื•ืœืงืจื•ื ืœ json ื™ืฉื™ืจื•ืช ืขืœ ื” Promise:
const todoRequestPromise = client.get('/api/todos/1');
const todo = await todoRequestPromise.json();
ื”ืืชื’ืจ ื‘ืฉื™ื ื•ื™ ื”ืชื ื”ื’ื•ืช ืžื•ื‘ื ื™ืช ื”ื•ื ืฉืœืžืขืจื›ื•ืช ื™ืฉ ื”ื’ื™ื•ืŸ ืคื ื™ืžื™. ืื ืžืฉื ื™ื ืจืง ื—ืœืง ืื—ื“ ืžืื‘ื“ื™ื ืืช ื”ื™ื•ืคื™ ืฉืœ ื”ืžืขืจื›ืช ื•ืืช ื”ื™ื›ื•ืœืช ืœื”ืกื™ืง ืžืกืงื ื•ืช ืžืžืงืจื” ืื—ื“ ืœืžืงืจื™ื ืื—ืจื™ื. ื›ืžื•ื‘ืŸ ืฉื’ื ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ื™ืœื›ื• ืœืื™ื‘ื•ื“ ื›ืฉื‘ืงื•ื“ื‘ื™ื™ืก ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘ืคื•ื ืงืฆื™ื•ืช ืœื ื‘ืฆื•ืจื” ื”ืกื˜ื ื“ืจื˜ื™ืช ืฉืœื”ืŸ. ื‘ืžืงืจื” ืฉืœ fetch ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ื•ื ื›ื•ืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืชื™ื‘ ื” then ื›ื“ื™ ืœืฉืจืฉืจ Promises ื•ื›ืš ื ืœืžื“ ืžื‘ื ื” ืฉื™ืขื–ื•ืจ ืœื ื• ื’ื ื‘ืืชื’ืจื™ื ื“ื•ืžื™ื ื‘ืขืชื™ื“. ืื ืžืชืขืงืฉื™ื ืืคืฉืจ ืœื›ืชื•ื‘ ืคื•ื ืงืฆื™ื” ื‘ืฉื ืื—ืจ, ืœืžืฉืœ getJson ืฉืžืคืขื™ืœื” ืืช ื” then ื•ืžื—ื–ื™ืจื” Promise ืœ json.

ToCode
1 419
๐Ÿ“Œ ื”ื–ืžื ื” ืœื•ื•ื‘ื™ื ืจ: ืื™ืš ืœืงื‘ืœ ืงื•ื“ ื˜ื•ื‘ ื™ื•ืชืจ ืžื”ืกื•ื›ืŸ ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช ืฉืœื•ืฉืช ื”ืฉื›ื‘ื•ืช ื”ื™ ื—ื‘ืจื™ื ื”ืฉื‘ื•ืข ื–ื” ืงื•ืจื”. ื”ืžื•ืŸ ื–ืžืŸ ืœื ื ืคื’ืฉื ื• ืœื“ื‘ืจ ืขืœ AI ื•ื”ืžื•ืŸ ื“ื‘ืจื™ื ืงืจื• ื’ื ื‘ืขื•ืœื ื•ื’ื ื‘ืขื•ืœื ื” AI ื•ื”ื’ื™ืข ื”ื–ืžืŸ ืœื—ื–ื•ืจ ืœื”ืชืขื“ื›ืŸ. ** ืฉื™ืžื• ืœื‘ ** ื”ื•ื•ื‘ื™ื ืจื™ื ื™ื—ื–ืจื• ืœื”ืชืงื™ื™ื ื‘ื™ืžื™ ื—ืžื™ืฉื™ ืื‘ืœ ืขื•ื‘ืจื™ื ืœืฉืขื” 15:00. ื”ืฉื‘ื•ืข ื ื“ื‘ืจ ืขืœ ื”ืืชื’ืจ ื”ื›ื™ ื’ื“ื•ืœ ืฉืœ ืขื‘ื•ื“ื” ืขื ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ื•ื”ื•ื ืœืงื‘ืœ ืžื”ื ืงื•ื“ ื˜ื•ื‘, ื›ืœื•ืžืจ ืงื•ื“ ืฉืขื•ื‘ื“, ืฉืื ื™ ื™ื›ื•ืœ ืœืงืจื•ื ื•ืœื”ื‘ื™ืŸ ืื•ืชื•, ืฉื™ื”ื™ื” ืœื™ ืงืœ ืœื”ืฉืชืžืฉ ื‘ื• ื•ืฉืื™ื ื• ืžืกืชื™ืจ ืื™ ื”ื‘ื ื•ืช, ื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ืื• ืžื•ืงืฉื™ื ืื—ืจื™ื ืฉื™ืฉื‘ืจื• ืœื™ ืืช ื”ืžืขืจื›ืช. ืื ื—ื ื• ืจื•ืื™ื ื›ืœื™ื ื•ืžื•ื“ืœื™ื ื—ื“ืฉื™ื ื›ืœ ื™ื•ื ื•ื”ืจืฉืชื•ืช ืžืฆื™ืคื•ืช ืื•ืชื ื• ื‘ FOMO: "ืืชื” ื—ื™ื™ื‘ ืœื ืกื•ืช ืืช ืงืœื•ื“ ืื•ืคื•ืก ื”ื—ื“ืฉ", "ืงืœื•ื“ ืงื•ื“ ืฉื™ื ื” ืœื™ ืืช ื”ื—ื™ื™ื" ืื• "ืžื” ืœื ื”ืชืงื ืช ืขื“ื™ื™ืŸ Cursor 2?". ืื‘ืœ ืœื ืžืฉื ื” ื›ืžื” ืื ื—ื ื• ืžืฉื“ืจื’ื™ื ืืช ื”ื›ืœื™ื ื•ื”ืžื•ื“ืœื™ื ืื™ื›ื•ืช ื”ืงื•ื“ ืฉืœ ื”ืžืขืจื›ืช ืœื ืžืฉืชืคืจืช. ื‘ื•ื•ื‘ื™ื ืจ ื”ืฉื‘ื•ืข ืืฆื™ื’ ืฉื™ื˜ืช ืขื‘ื•ื“ื” ื•ื’ื™ืฉื” ืฉืžืกื‘ื™ืจื” ื‘ื“ื™ื•ืง ืžื” ื”ื‘ืขื™ื•ืช ื‘ืื™ืš ืฉืืชื ืขื•ื‘ื“ื™ื ืขื ืกื•ื›ื ื™ ืงื™ื“ื•ื“, ืื™ืš ืœื”ื‘ื™ืŸ ืืช ื”ื›ืœื™ื ื”ื—ื“ืฉื™ื ื•ืœื”ืฉืชืžืฉ ื‘ื”ื ื›ื“ื™ ื‘ืืžืช ืœื™ื™ืขืœ ืืช ืชื”ืœื™ืš ื”ืขื‘ื•ื“ื” ื•ืื™ืš ืœื‘ื ื•ืช ืชื”ืœื™ืš ืคื™ืชื•ื— ืฉื‘ื• ื”ืกื•ื›ืŸ ื™ื•ืฆืจ ืงื•ื“ ื˜ื•ื‘ ื™ื•ืชืจ ื›ื›ืœ ืฉื”ืžืขืจื›ืช ื’ื“ืœื”. ืกืคืฆื™ืคื™ืช ืื ื—ื ื• ื ืจืื” ื‘ื•ื•ื‘ื™ื ืจ: 1. ืฉื›ื‘ื” 1 - ืื™ืš ืกื•ื›ืŸ ืงื™ื“ื•ื“ ื ื™ื’ืฉ ืœืคืชื•ืจ ื‘ืขื™ื”, ื•ืื™ืš ืื ื™ ื™ื›ื•ืœ ืœืฉืคืจ ืืช ื”ืื™ื ื˜ื•ืื™ืฆื™ื” ืฉืœ ื”ืกื•ื›ืŸ. ื›ืืŸ ื ื“ื‘ืจ ืขืœ Prompt-ื™ื, ืงื‘ืฆื™ ื”ื•ืจืื•ืช, ืกืงื™ืœื™ื, ืชื™ืขื•ื“ ื•ืžืฆื‘ ืชื›ื ื•ืŸ. 2. ืฉื›ื‘ื” 2 ืื• ืฉื›ื‘ืช ื”ืงื•ื“ - ืœืžื” ืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ื›ืชื‘ ืืช ื”ืงื•ื“ ืฉื”ื•ื ื›ืชื‘? ืื™ืš ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืคื™ืข ืขืœ ื”ืงื•ื“ ืขืฆืžื• ืฉื™ื™ื›ืชื‘? ืื™ื–ื” ื˜ืขื•ื™ื•ืช ืกื•ื›ืŸ ืงื™ื“ื•ื“ ืฆืคื•ื™ ืœืขืฉื•ืช ื•ืื™ืš ืืคืฉืจ ืœืžื ื•ืข ืื•ืชืŸ ืžืจืืฉ? 3. ืฉื›ื‘ื” 3 ืื• ืฉื›ื‘ืช ื”ืื™ืžื•ืช - ืื™ืš ืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ื™ื•ื“ืข ืฉื”ื•ื ืกื™ื™ื? ื”ืื ื”ืงื•ื“ ืฉืœื• ื‘ื›ืœืœ ืขื•ื‘ื“? ื›ืืŸ ื ื“ื‘ืจ ืขืœ MCP, ื‘ื“ื™ืงื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช ื•ื—ื™ื‘ื•ืจ ื”ืกื•ื›ืŸ ืœืขื•ืœื ื”ืืžื™ืชื™. ื ืคื’ืฉ ื”ืฉื‘ื•ืข ื‘ื™ื•ื ื—ืžื™ืฉื™ ื‘ืฉืขื” 15:00. ืžื•ื–ืžื ื™ื ืœื”ืฆื˜ืจืฃ ื‘ื“ืฃ ื”ื•ื•ื‘ื™ื ืจื™ื ื‘ืงื™ืฉื•ืจ: https://www.tocode.co.il/talking_ai ื•ืืฉืœื— ืœื›ื ืœืžื™ื™ืœ ืืช ื”ืœื™ื ืง ืœื–ื•ื.

ToCode
1 419
๐Ÿ“Œ ืž Vibe Coding ืœ Coding ื”ืžืขื‘ืจ ืž Vibe Coding ืœ Coding ื”ื•ื ื”ื”ืžืฉืš ื”ื›ื™ ื˜ื‘ืขื™ ืœืื ืฉื™ื ืฉื”ืชื—ื™ืœื• ืœื‘ื ื•ืช ืžื•ืฆืจื™ื ื‘ืขืฆืžื ื‘ืœื™ ืœื“ืขืช ืœืชื›ื ืช. ื”ื•ื ื˜ื‘ืขื™ ื›ืžื• ืฉืื ืฉื™ื ืฉืขื•ื‘ืจื™ื ืœืืจืฅ ื—ื“ืฉื” ืœื•ืžื“ื™ื ืืช ื”ืฉืคื” ืฉืœ ืื•ืชื” ืืจืฅ - ื™ื“ืข ื‘ืชื›ื ื•ืช ืขื•ื–ืจ ืœื‘ื ื•ืช ืžื•ืฆืจื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ ืขื AI. ืื ืฉื™ื ืฉื™ื•ื“ืขื™ื ืชื›ื ื•ืช ื™ื•ื“ืขื™ื ืœืฉืื•ืœ ืืช ื” AI ืฉืืœื•ืช ื˜ื•ื‘ื•ืช ื™ื•ืชืจ, ื™ื•ื“ืขื™ื ืœื”ื›ื ืก ืœืงื•ื“ ื•ืœื”ื›ื ื™ืก ืชื™ืงื•ืŸ ืงื˜ืŸ ืฉื™ื’ืจื•ื ืœ AI ืœื‘ื ื•ืช ืžื•ืฆืจ ืžื”ื™ืจ ื™ื•ืชืจ ืื• ืžืื•ื‘ื˜ื— ื™ื•ืชืจ. ืื ืฉื™ื ืฉื™ื•ื“ืขื™ื ืชื›ื ื•ืช ื™ื•ื“ืขื™ื ืžื” ืœืขืฉื•ืช ื›ืฉื” AI ืื•ืžืจ "ืื™ ืืคืฉืจ" ืื• ื ื›ื ืก ืขื ืขืฆืžื• ืœืฉื™ื—ื” ืื™ื ืกื•ืคื™ืช. ื™ื“ืข ื‘ืชื›ื ื•ืช ื”ื•ื ืกืงืืœื”, ื›ืžื• ื™ื“ืข ื‘ืฉืคื” ื—ื“ืฉื” ื‘ืืจืฅ ืืœื™ื” ืขื‘ืจืชื. ื‘ื”ืชื—ืœื” ืžืฆืœื™ื—ื™ื ืจืง ืœืงื ื•ืช ื‘ืžื›ื•ืœืช ืื• ืœืฉืื•ืœ ืžื™ืฉื”ื• ืื™ืคื” ื™ืฉ ื‘ื ืง ื‘ืื–ื•ืจ. ื‘ื”ืžืฉืš ื›ื‘ืจ ืืคืฉืจ ืœื”ื–ืžื™ืŸ ื‘ื‘ื™ืช ืงืคื” ื•ืœื”ืชื™ื™ืขืฅ ืขื ื”ืžืœืฆืจ ืžื” ื™ืฉ ื‘ื›ืœ ืžื ื” ื•ืื—ืจื™ ื—ื•ื“ืฉื™ื ืื• ืฉื ื™ื ื›ื‘ืจ ืืคืฉืจ ืœืœืžื•ื“ ื‘ืื•ื ื™ื‘ืจืกื™ื˜ื” ืื• ืœื”ื›ื™ืจ ื—ื‘ืจื™ื ื•ืœื“ื‘ืจ ื‘ืฉืคื” ืฉืœื”ื. ื›ืš ื’ื ื‘ืชื›ื ื•ืช, ื”ืžืขื‘ืจ ืž Vibe Coding ืœ Coding ื ืขืฉื” ื‘ืฉืœื‘ื™ื: 1. ื‘ื”ืชื—ืœื” ื ื•ื›ืœ ืจืง ืœื”ืกืชื›ืœ ืขืœ ื”ืงื•ื“ ืฉื” AI ืžื™ื™ืฆืจ ื•ืœื”ื‘ื™ืŸ ื‘ื’ื“ื•ืœ ืžื” ืงืฉื•ืจ ืœืžื”. 2. ื‘ื”ืžืฉืš ื ืชื—ื™ืœ ืœืฉืœื‘ ืžื™ืœื™ื ื˜ื›ื ื™ื•ืช ืื• ืžื™ืœื™ื ืžืชื•ืš ื”ืงื•ื“ ื‘ืฉื™ื—ื” - "ืื ื™ ื—ื•ืฉื‘ ืฉืื ื ืฉืคืจ ืืช ื” description ืฉืœ ื”ืขืžื•ื“ ื™ื”ื™ื” ืงืœ ื™ื•ืชืจ ืœืžื ื•ืขื™ ื—ื™ืคื•ืฉ ืœืžืฆื•ื ืื•ืชื ื•" ืื• "ื”ืขืžื•ื“ ื”ื–ื” ื ื˜ืขืŸ ืœืื˜ ืื•ืœื™ ืฆืจื™ืš ืœื”ื•ืกื™ืฃ ืื™ื ื“ืงืก ื‘ Database?". ืœื ื›ืœ ื”ื”ืฆืขื•ืช ื™ื”ื™ื• ื”ื’ื™ื•ื ื™ื•ืช ื•ื–ื” ื‘ืกื“ืจ, ื’ื ืžื”ืชืฉื•ื‘ื•ืช ืฉืœ ื” AI ืœื•ืžื“ื™ื ื”ืžื•ืŸ. 3. ืขื ื”ื–ืžืŸ ื ื•ื›ืœ ืœื‘ืงืฉ ืžื” AI ื”ืกื‘ืจื™ื ืขืœ ื”ืงื•ื“ - "ืื ื™ ืœื ืžื‘ื™ืŸ ืืช ื”ืคื•ื ืงืฆื™ื” ื”ื–ืืช, ืชื•ื›ืœ ืœื”ื•ืกื™ืฃ ื”ืขืจื•ืช?", ืœืžื” ื”ืฉืชืžืฉืช ื‘ืœื•ืœืืช while ื•ืœื for? ืื™ืคื” ื”ืงื•ื“ ืฉืžื˜ืคืœ ื‘ืชืฆื•ื’ื” ืขืœ ืžืกื›ื™ื ืงื˜ื ื™ื ืฉืœ ื˜ืœืคื•ืŸ? 4. ื•ืื– ื™ืงืจื” ื”ืงืกื ื”ืจืืฉื•ืŸ ื•ื ืชื—ื™ืœ ืœืฉื™ื ืœื‘ ืœื‘ืขื™ื•ืช ืืคื™ืœื• ืœืคื ื™ ืฉื”ืŸ ืงื•ืจื•ืช. "ืจืื™ืชื™ ืฉื”ื’ื“ืœืช ืืช ื”ื˜ืงืกื˜ ืฉืœ ื”ื›ื•ืชืจืช, ืื‘ืœ ืžื” ืงื•ืจื” ื‘ืžื•ื‘ื™ื™ืœ?", "ืื ื™ ืจื•ืื” ืฉืืชื” ืขื•ืฉื” ืคื” ืžืฉื™ืžื” ื‘ืฉืœื‘ื™ื, ืžื” ืงื•ืจื” ืื ืื—ื“ ื”ืฉืœื‘ื™ื ื ื›ืฉืœ?", "ืจื’ืข ื•ื–ื” ื™ืขื‘ื•ื“ ื’ื ื›ืฉื”ืžืฉืชืžืฉ ืœื ืžื—ื•ื‘ืจ ืœืžืขืจื›ืช?". 5. ื›ื›ืœ ืฉื ืงืจื ื™ื•ืชืจ ืงื•ื“ ื•ื”ืฉื™ื—ื” ืฉืœื ื• ืขื ืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ืชื”ืคื•ืš ื˜ื›ื ื™ืช ื™ื•ืชืจ ื›ืš ื ืชื—ื™ืœ ืœื‘ื•ื ื‘ื‘ืงืฉื•ืช - "ืชืขื‘ื™ืจ ืืช ื”ืคื•ื ืงืฆื™ื” ื”ื–ืืช ืœืงื•ื‘ืฅ ื ืคืจื“", "ืชืฉื ื” ืืช ืกื“ืจ ื”ืคืขื•ืœื•ืช ื‘ืงื•ื‘ืฅ", "ื”ืฆื’ ืืช ื”ื“ื™ืืœื•ื’ ืขื CSS ื•ืœื ืขื JavaScript". 6. ืขื“ ืฉื™ื•ื ืื—ื“, ื‘ืฉื‘ื™ืœ ื”ื›ื™ืฃ, ืชื’ื™ื“ื• ืœืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ "ื™ื•ื“ืข ืžื” ืืช ื–ื” ืื ื™ ืื›ืชื•ื‘". ืœื ื‘ื’ืœืœ ืฉื” AI ืœื ื™ื›ื•ืœ, ืืœื ืจืง ื‘ื’ืœืœ ืฉืืชื ื™ื›ื•ืœื™ื. ื”ืžืขื‘ืจ ืž Vibe Coding ืœ Coding ื”ื•ื ืกืงืืœื”. ื”ื•ื ืžืืคืฉืจ ืœืงื—ืช ืื—ืจื™ื•ืช ืขืœ ื”ืชื•ืฆืจื™ื ื•ืœืขื‘ื•ื“ ื™ื•ืชืจ ื‘ื‘ื˜ื—ื•ืŸ. ื•ืœื, ืœื ืฆืจื™ืš ืœืงืจื•ื ืกืคืจื™ื ืืจื•ื›ื™ื, ืœื”ื™ืื‘ืง ื‘ื‘ืขื™ื•ืช ืงื•ืžืคื™ืœืฆื™ื” ื•ืœื”ืขื‘ื™ืจ ืœื™ืœื•ืช ืœืœื ืฉื™ื ื” ื‘ื ืกื™ื•ืŸ ืœื’ืจื•ื ืœืชื•ื›ื ื™ืช ืœื”ื—ื–ื™ืจ ืืช ื”ืชื•ืฆืื” ื”ื ื›ื•ื ื”. ืžืกืคื™ืง ืœื”ืชื—ื™ืœ ื‘ืฉืืœื” ืœืงืœื•ื“ "ืชืกื‘ื™ืจ ืœื™ ืจื’ืข ืžื” ื›ืœ ื—ืœืง ื‘ืงื•ื“ ืขื•ืฉื”".

ToCode
1 419
๐Ÿ“Œ ืืชื” ืขื“ื™ื™ืŸ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืชื›ื ืช ื“ื” ืžืจืงืจ ืจืื™ื™ืŸ ืกื˜ื•ื“ื ื˜ื™ื ืœืงืจืืช ืกื™ื•ื ื”ืœื™ืžื•ื“ื™ื ื‘ืขื™ื“ืŸ ื” AI ื‘ื›ืชื‘ื” ืฉื›ื•ืชืจืชื” "ืžืชื›ื ืช ื›ื‘ืจ ืœื ืื”ื™ื”". ื”ื›ืชื‘ื” ื ืคืชื—ืช ื‘ืฆื™ื˜ื•ื˜ ื”ื‘ื:
ื”ืžื•ื“ืœ ื”ื™ืฉืŸ, ืฉื‘ื• ืื“ื ืœื•ืžื“ ืžื“ืขื™ ื”ืžื—ืฉื‘ ื•ืื—ืจื™ ืฉืœื•ืฉ ืฉื ื™ื ืžืงื‘ืœ ื›ืจื˜ื™ืก ื–ื”ื‘ ืœืžืคืขืœ ื”ืžืžืชืงื™ื โ€” ื”ืื™ืจื•ืข ื”ื–ื” ื ื’ืžืจ. ื ื›ื•ืŸ ืœื”ื™ื•ื, ื›ืชื™ื‘ืช ืงื•ื“ ื›ืžืงืฆื•ืข ืื™ื ื” ืจืœื•ื•ื ื˜ื™ืช. ืžืชื›ื ืชื™ื ื™ื•ืฉื‘ื™ื ืžื•ืœ ื”ืžื—ืฉื‘ ื•ื ื•ืชื ื™ื ืœื• ื”ื•ืจืื•ืช ื›ืชื™ื‘ืช ืชื•ื›ื ื” ืฉื’ื ืื“ื ืฉืื™ืŸ ืœื• ืฉื•ื ืจืงืข ื‘ืชื›ื ื•ืช ื™ื›ื•ืœ ืœืชืช ... . ืžืชื›ื ืช ื›ื‘ืจ ืœื ืื”ื™ื”, ืคื™ืกืคืกืชื™ ืืช ื”ื’ืœ, ืื‘ืœ ื›ื™ื•ื ืืคืฉืจ ืœื”ื•ืฆื™ื ืœืฉื•ืง ืžื•ืฆืจื™ื ื‘ืจืžื” ื˜ื•ื‘ื” ื’ื ื‘ืœื™ ื™ื“ืข ื‘ืชื›ื ื•ืช
ื‘ื•ืื• ื ืคืจืง ืื•ืชื• ื›ื™ ื™ืฉ ืคื” ืฉื ื™ ื—ืœืงื™ื ื•ืฉื ื™ื”ื ืœื ืชื•ืืžื™ื ืœืžื” ืฉืื ื™ ืžื›ื™ืจ. ื ืชื—ื™ืœ ืขื ื”ืžื•ื“ืœ ื”ื™ืฉืŸ ื‘ื• ืœืคื™ ื”ืกื™ืคื•ืจ ืื“ื ืœื•ืžื“ ืžื“ืขื™ ื”ืžื—ืฉื‘ ื•ืื—ืจื™ ืฉืœื•ืฉ ืฉื ื™ื ืžืงื‘ืœ ื›ืจื˜ื™ืก ื–ื”ื‘. ืื ื™ ืžื›ื™ืจ ืžืชื›ื ืชืช ืื—ืช ืฉืกื™ื™ืžื” ื‘ื”ืฆื˜ื™ื™ื ื•ืช ื‘ื˜ื›ื ื™ื•ืŸ ื•ืื– ืขื‘ืจื” ื‘ื”ืฆื˜ื™ื™ื ื•ืช ืจืื™ื•ื ื•ืช ื˜ื›ื ื™ื™ื ื‘ืžืกืคืจ ื—ื‘ืจื•ืช ื•ื‘ืืžืช ื”ื™ื ืงื™ื‘ืœื” ืžื”ืจ ืžืื•ื“ ื”ืฆืขื•ืช ืขื‘ื•ื“ื” ืžืขื•ืœื•ืช ื•ื”ืขื‘ื•ื“ื” ื”ืจืืฉื•ื ื” ืฉืœื” ื”ื™ืชื” ื‘ืฉื›ืจ ื’ื‘ื•ื” ืื‘ืœ ืžืื•ื“ ืชื•ื‘ืขื ื™ืช. ืคื’ืฉืชื™ ืขื•ื“ ืžืื•ืช ืžืชื›ื ืชื™ื ืฉืกื™ื™ืžื• ืœื™ืžื•ื“ื™ื ื•ื”ืชืืžืฆื• ืžืื•ื“ ื›ื“ื™ ืœืžืฆื•ื ืืช ื”ืขื‘ื•ื“ื” ื”ืจืืฉื•ื ื” ืฉืœื”ื. ื—ืœืงื ื‘ื ื• ืคืจื•ื™ืงื˜ื™ื ื‘ื–ืžื ื ื”ืคื ื•ื™, ื—ืœืงื ืฉืœื—ื• ืงื•ืจื•ืช ื—ื™ื™ื ื‘ืžืฉืš ื—ื•ื“ืฉื™ื ืชื•ืš ื›ื“ื™ ืฉืขื•ืฉื™ื ืงื•ืจืกื™ื ืื•ื ืœื™ื™ืŸ ื›ื“ื™ ืœื—ื–ืง ืืช ื”ื™ื“ืข. ื”ืกื˜ื˜ื™ืกื˜ื™ืงื” ื”ื™ื ืœื ืœื˜ื•ื‘ืช ื”ื’'ื•ื ื™ื•ืจื™ื ื•ืืฃ ืคืขื ืœื ื”ื™ืชื”. ืขื‘ื•ืจ ื‘ื•ื’ืจ ืžื“ืž"ื— ืœืžืฆื•ื ืขื‘ื•ื“ื” ื‘ื”ื™ื™ื˜ืง ื–ื” ืืชื’ืจ. ืขื‘ื•ืจ ื‘ื•ื’ืจื™ ืงื•ืจืกื™ื ื–ื” ืืคื™ืœื• ื™ื•ืชืจ ืงืฉื”. ืขื›ืฉื™ื• ืœื’ื‘ื™ ื”ื™ื•ื ื™ืฉ ืชืคื™ืกื” ืฉืžืงื“ืžืช ื”ืžื“ื™ื” ื›ืื™ืœื• ืืคืฉืจ ืœื”ื•ืฆื™ื ื”ื™ื•ื ืœืฉื•ืง ืžื•ืฆืจื™ื ื‘ืจืžื” ื˜ื•ื‘ื” ื’ื ื‘ืœื™ ื™ื“ืข ื‘ืชื›ื ื•ืช ื•ื’ื ืื“ื ื‘ืœื™ ืจืงืข ื‘ืชื›ื ื•ืช ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ AI ื›ื“ื™ ืœื‘ื ื•ืช ืืช ืื•ืชื ื“ื‘ืจื™ื ืฉืžืชื›ื ืชื™ื ื™ื›ื•ืœื™ื ืœื‘ื ื•ืช. ืื ื–ื” ื”ื™ื” ื ื›ื•ืŸ ื”ื™ื™ื ื• ืจื•ืื™ื ื’ืœ ืฉืœ ืžื•ืฆืจื™ื ื‘ืจืžื” ื˜ื•ื‘ื” ืฉืžืฆื™ืคื™ื ืืช ื”ืฉื•ืง. ื”ื™ื™ื ื• ืจื•ืื™ื ื—ื‘ืจื•ืช ืžืคื˜ืจื•ืช ืืช ื›ืœ ื”ืžืชื›ื ืชื™ื ื”ื™ืงืจื™ื ื•ืขื•ื‘ืจื•ืช ืœื”ืชื—ืจื•ืช ืขื ืžืงื“ื•ื ืœื“'ืก ืขืœ ืขื‘ื•ื“ืช ื‘ื ื™ ื ื•ืขืจ ื‘ืฉื›ืจ ืžื™ื ื™ืžื•ื. ื–ื” ืœื ืงื•ืจื” ื•ื–ื” ืœื ื™ืงืจื” ื‘ืขืชื™ื“ ื”ื ืจืื” ืœืขื™ืŸ. ื”ืกื™ื‘ื” ืฉื–ื” ืœื ืงื•ืจื” ื”ื™ื ืฉื‘ืื•ืชืŸ 3 ืฉื ื™ื ืฉืœ ืœื™ืžื•ื“ื™ ืžื“ืขื™ ื”ืžื—ืฉื‘ ื‘ืื•ื ื™ื‘ืจืกื™ื˜ื” ืื ื—ื ื• ืœื ืœื•ืžื“ื™ื ืฉืคื” ืกื•ื“ื™ืช ื•ืœื ื›ืœื™ ืขื‘ื•ื“ื” ืฉืื™ืŸ ืœืืฃ ืื—ื“. ืื ื—ื ื• ืœื•ืžื“ื™ื ื’ื™ืฉื” ื•ืฆื•ืจืช ื—ืฉื™ื‘ื”. ืื ื—ื ื• ืœื•ืžื“ื™ื ืื™ืš ืœืคืจืง ื‘ืขื™ื•ืช ื•ืœืคืชื•ืจ ืื•ืชืŸ ื‘ืžื’ื•ื•ืŸ ื“ืจื›ื™ื, ื•ืื– ืื™ืš ืœืื–ืŸ ื‘ื™ืŸ ืื™ืœื•ืฆื™ื ื›ื“ื™ ืœื‘ื—ื•ืจ ืืช ื”ืคืชืจื•ืŸ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืขื‘ื•ืจื ื•. ื›ืฉื”ื™ื™ืชื™ ื‘ืชื™ื›ื•ืŸ ื•ื›ืชื‘ืชื™ ืœืขืฆืžื™ ืžืฉื—ืง ืกื ื™ื™ืง ื–ื” ืœืงื— ืœื™ ื”ืžื•ืŸ ื–ืžืŸ. ืขืฉืจ ืฉื ื™ื ืื—ืจ ื›ืš ืืช ืื•ืชื• ืžืฉื—ืง ื”ื™ื” ืืคืฉืจ ืœื›ืชื•ื‘ ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ืจ ื•ื”ื™ื•ื ื’ื ื‘ืœื™ ืฉื•ื ื™ื“ืข ื˜ื›ื ื™ ืืคืฉืจ ืœื‘ื ื•ืช ืžืฉื—ืง ืกื ื™ื™ืง ื•ืœืฉืชืฃ ืื•ืชื• ืขื ื—ื‘ืจื™ื ื‘ืจืฉืช ืจืง ืขื AI (ื›ืชื‘ืชื™ ืืชืžื•ืœ ื‘ื“ื™ื•ืง ืื™ืš ืœืขืฉื•ืช ืืช ื–ื”). ืื‘ืœ ื”ืžืกืงื ื” ื”ื™ื ืœื ืฉืœืžืชื›ื ืชื™ื ืœื ืชื”ื™ื” ืขื‘ื•ื“ื” ื™ื•ืชืจ, ืืœื ืฉื‘ืขื–ืจืช ืกื˜ ื”ืžื™ื•ืžื ื•ื™ื•ืช ืฉืœ ื”ื ื“ืกืช ืชื•ื›ื ื” ื•ื”ื›ืœื™ื ื”ื—ื“ืฉื™ื ื™ื•ืชืจ ืžืคืชื—ื™ื ื™ืฆื˜ืจื›ื• ืœื‘ื ื•ืช ื•ืœืชื—ื–ืง ืžืขืจื›ื•ืช ืชื•ื›ื ื” ื”ืจื‘ื” ื™ื•ืชืจ ืžืกื•ื‘ื›ื•ืช ืžืžื” ืฉืื™ ืคืขื ืจืื™ื ื•. ื–ื” ืžืขื•ืœื” ืฉืชืชื—ื™ืœ ืœื›ืชื•ื‘ ืžื•ืฆืจื™ื ืขื AI, ืชื™ื–ื•ื ื•ืชื‘ื ื” ืืช ื”ืจืขื™ื•ื ื•ืช ืฉืœืš. ื›ื›ืœ ืฉื”ืจืขื™ื•ื ื•ืช ื™ื‘ืฉื™ืœื• ืื ื™ ื‘ื˜ื•ื— ืฉืชื’ืœื” ืฉื”ื›ืœื™ื ืฉืœืžื“ืช ื‘ืžื“ืขื™ ื”ืžื—ืฉื‘ ื”ื ืงืจื™ื˜ื™ื™ื ื›ื“ื™ ืœื”ืคื•ืš ืื•ืชื ืžื”ื“ื’ืžื•ืช ืœืžื•ืฆืจื™ื ื’ื“ื•ืœื™ื ืฉืžื•ื‘ื™ืœื™ื ืืช ื”ืฉื•ืง ืœืื•ืจืš ืฉื ื™ื. ืื ื™ ืžื•ืกื™ืฃ ื›ืืŸ ืขื•ื“ ืฉื ื™ ืกื™ืคื•ืจื™ื ื‘ืฉื‘ื™ืœ ื”ืคืจืกืคืงื˜ื™ื‘ื”. ืืช ื”ืจืืฉื•ืŸ ืจืื™ืชื™ ื‘ืคื™ื™ืกื‘ื•ืง ื‘ืงื‘ื•ืฆื” ืฉืœ ื•ื™ื™ื‘ ืงื•ื“ื™ื ื’:
ื›ืžืขื˜ ืฉื ื” ืฉืœ ืคื™ืชื•ื— ื‘ืžืฉืจื” ืื•ืœื˜ืจื” ืžืœืื”. ื› 400 ืืœืฃ ืฉื•ืจื•ืช ืงื•ื“ ื ื˜ื• - ืœืœื ื‘ื“ื™ืงื•ืช, ืกืคืจื™ื•ืช ื•ืฉืืจ ื™ืจืงื•ืช. ืœืœื ื™ื“ืข ืžืงื“ื™ื ื‘ืคื™ืชื•ื— ืžืขืจื›ื•ืช. ืœืœื ื™ื“ืข ืžืงื“ื™ื ื‘ืงื•ื“. ืขื ื”ื‘ื ื” ื˜ื›ื ื•ืœื•ื’ื™ืช ื‘ืกื™ืกื™ืช, ืื•ืจื™ื™ื ื˜ืฆื™ื” ื˜ื›ื ื•ืœื•ื’ื™ืช ื•ื›ื•ืฉืจ ื‘ื™ื˜ื•ื™.
ืœืขืžื•ืก ื“ื ื™ืืœ ื”ื™ื” ืœืงื•ื— (ื’ื™ืกื•) ืฉื™ื“ืข ื‘ื“ื™ื•ืง ืžื” ื”ื•ื ืจื•ืฆื”. ื”ื™ื” ืœื• ื–ืžืŸ ื•ื”ืจื‘ื” ืžื•ื˜ื™ื‘ืฆื™ื” ื•ื”ื™ื” ืœื• ืกื•ื›ืŸ ืงื™ื“ื•ื“. ื•ื–ื” ืœืงื— ืฉื ื” ืฉืœ ืคื™ืชื•ื— ื‘ืžืฉืจื” ืื•ืœื˜ืจื” ืžืœืื” ืœื”ื’ื™ืข ืœืžื•ืฆืจ - ืขื ื›ืœ ืžื” ืฉื”ื™ื” ืœ AI ืœื”ืฆื™ืข. ืฉื™ื ื”ืงื™ื“ืžื” ืœื? ืืช ื”ืกื™ืคื•ืจ ื”ืฉื ื™ ืฉืžืขืชื™ ื‘ืจืื™ื•ืŸ ืขื ื“ืจืง ืกื™ื‘ืจืก, ื”ื™ื–ื ืฉื”ืงื™ื ื•ืžื›ืจ ืืช CD Baby. ื“ืจืง ื”ื™ื” ืžื•ื–ื™ืงืื™ ื•ื’ื ื”ื•ื ื”ื’ื™ืข ืœืคืจื•ื™ืงื˜ ื‘ืœื™ ื™ื“ืข ื‘ืชื›ื ื•ืช, ื”ื ื” ืื™ืš ืฉื”ื•ื ืžืชืืจ ืืช ื‘ื ื™ื™ืช ื”ืืชืจ:
It was three months of hard work, and you had to learn CGI-bin Perl programming in order to build a โ€œbuy nowโ€ button on your website. So itโ€™s about three months of hard work and about 1000 dollars in setup fees to get a merchant account with my local bank. And I had to incorporate and set up a separate bank account. And after all that work, I had a โ€œbuy nowโ€ button on my website.
ื”ื›ืœ ื˜ื•ื‘. ืœื ืœื”ื™ื‘ื”ืœ ืžื”ื”ื™ื™ืค. ืžื•ืฆืจื™ื ืœื ื‘ื•ื ื™ื ืืช ืขืฆืžื. ืืชื” ืขื“ื™ื™ืŸ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืชื›ื ืช.

ToCode
1 419
๐Ÿ“Œ ื›ื–ื” ื ื™ืกื™ืชื™: ื” mcp ืฉืœ val town ื”ื•ื ื”ื“ืจืš ื”ื›ื™ ืžื”ื™ืจื” ืœืฉืชืฃ ื ื™ืกื•ื™ื™ื ืžืงืœื•ื“ ืงื•ื“ ื›ืฉืื ืฉื™ื ืžืชืœื‘ื˜ื™ื ืื ื›ื“ืื™ ืœื›ืชื•ื‘ ืืช ืคืจื•ื™ืงื˜ ื” Vibe ื”ื‘ื ื‘ืœืื‘ื‘ืœ ืื• ื‘ืงืœื•ื“ ืงื•ื“ (ืžืงื•ืžื™) ืื—ื“ ื”ืฉื™ืงื•ืœื™ื ืœื‘ื—ื•ืจ ื‘ืกื‘ื™ื‘ืช ืื•ื ืœื™ื™ืŸ ื–ื” ืฉืคืฉื•ื˜ ืœื ืฆืจื™ืš ืœื”ืชืงื™ืŸ ื›ืœื•ื. ืืชื” ืื•ืžืจ ืœ AI ืžื” ืืชื” ืจื•ืฆื”, ื” AI ื‘ื•ื ื” ื•ื™ืฉ ืœืš ืืช ื–ื” ื‘ืื•ื•ื™ืจ, ื›ื•ืœืœ ืงื•ื“ ืฆื“ ืฉืจืช ื•ืืคืฉืจื•ืช ืœื”ืจื™ืฅ ืฉื™ืจื•ืชื™ื ื‘ืจืงืข. ื” mcp ืฉืœ val.town ืžืืคืฉืจ ืœื ื• ืœืขื‘ื•ื“ ืžืงื•ืžื™ืช ื‘ืชื•ืš ืงืœื•ื“ ืงื•ื“ ื•ืœื”ืชื—ื‘ืจ ืœ val.town ื›ื“ื™ ืœืคืจืกื ืืช ื”ืืคืœื™ืงืฆื™ื” ืฉืœื ื• ื•ื›ืš ืœืงื‘ืœ ื‘ืžืชื ื” ืืช ื›ืœ ื™ื›ื•ืœื•ืช ื”ืคืœื˜ืคื•ืจืžื”. ืงื•ื“ ืฉืจืฅ ืขืœ val.town ืžืงื‘ืœ (ื‘ื—ื™ื ื) ืžื”ื: 1. ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ื ื“ืจืš ืžืขืจื›ืช ืื™ืžื•ืช ืฉืœ val.town. 2. ื‘ืกื™ืก ื ืชื•ื ื™ื SQLite ืคื ื™ืžื™ ืฉืœื›ื. 3. ื ื™ื”ื•ืœ Storage ืขื ืืคืฉืจื•ืช ืœืฉืžื™ืจืช blob-ื™ื. 4. ื—ื™ื‘ื•ืจ ืœืื™ืžื™ื™ืœื™ื ื ื›ื ืกื™ื ื•ืฉืœื™ื—ืช ืื™ืžื™ื™ืœื™ื. 5. ื—ื™ื‘ื•ืจ ืœ ChatGPT (ื”ื˜ื•ืงื ื™ื ืขืœื™ื”ื). 6. ื™ืฆื™ืจืช cron jobs ืฉื™ืจื•ืฆื• ืžื”ืขื ืŸ ืฉืœื”ื. ื‘ืฉื‘ื™ืœ ื”ืžืฉื—ืง ื ืชืชื™ ืœืงืœื•ื“ ืงื•ื“ ืฉืœื™ (ืžื•ื“ืœ ืคืชื•ื— glm-5.1 ืจืฅ ืขืœ ื”ืขื ืŸ ืฉืœ ollama, ืจืง 20$ ื‘ื—ื•ื“ืฉ ื›ืžืขื˜ ื‘ืœื™ ื”ื’ื‘ืœืช ื˜ื•ืงื ื™ื) ืœื”ืจื™ืฅ ืฉื ื™ ื ื™ืกื•ื™ื™ื. ื‘ืคืจื•ืžืคื˜ ื”ืจืืฉื•ืŸ ื‘ื™ืงืฉืชื™ ืžืฉื—ืง ืกื ื™ื™ืง ืฉื™ืจื•ืฅ ืขืœ val.town:
find val town docs here
https://docs.val.town/

create a snake game val and return to me its address
ื”ื•ื ื™ืฆืจ ืืช ื”ืžืฉื—ืง ื•ื”ืขืœื” ืื•ืชื• ืœืื•ื•ื™ืจ ืื•ื˜ื•ืžื˜ื™ืช ื‘ืงื™ืฉื•ืจ ื”ื–ื”: https://ynonp--734c4bca341c11f1b3c142b51c65c3df.web.val.run/ ืื‘ืœ ื–ื” ืจืง ืคืจื•ื ื˜ืื ื“ ืื– ื”ืžืฉื›ืชื™ ืœื ื™ืกื•ื™ ืฉื ื™ ื™ื•ืชืจ ืจืฆื™ื ื™ ื•ื‘ื™ืงืฉืชื™ ืืคืœื™ืงืฆื™ื™ืช ื›ืจื˜ื™ืกื™ื•ืช ืฉื’ื ืžืชืจื’ืžืช ืžื™ืœื™ื ืžืื ื’ืœื™ืช ืœืกืคืจื“ื™ืช ื•ื—ื–ืจื” ื•ื’ื ืžืืคืฉืจืช ืœืžืฉืชืžืฉื™ื ืœืฉืžื•ืจ ื›ืจื˜ื™ืกื™ื•ืช ื•ืœืชืจื’ืœ ืื•ืชืŸ, ื–ื” ื”ืคืจื•ืžืคื˜:
Create a Spanish flashcards app on val.town using the MCP server:
 1. user will sign in via val town https://docs.val.town/guides/auth/#sign-in-with-val-town
 2. user can type a word in English or Spanish and get the translation in the opposite language (use openai to translate
 https://docs.val.town/reference/std/openai/)
 3. user can save cards (use their sqlite db to save https://docs.val.town/reference/std/sqlite/)
 4. user can "practice" their saved words
ืื—ืจื™ ื›ืžื” ื“ืงื•ืช ืงื™ื‘ืœืชื™ ืืช ื”ืžืขืจื›ืช ื‘ืงื™ืฉื•ืจ ื”ื–ื”: https://ynonp--b97610c0341e11f1851b42b51c65c3df.web.val.run/ ื”ืคืขื ื”ืงื•ื“ ืžื—ื•ืœืง ืœืงื•ื“ ืฆื“ ืฉืจืช ื•ืฆื“ ืœืงื•ื—, ืงื•ื“ ืฆื“ ืœืงื•ื— JavaScript ื ืงื™ ืœืœื ืคืจื™ื™ืžื•ื•ืจืง, ืงื•ื“ ืฆื“ ืฉืจืช ืžืฉืชืžืฉ ื‘ Hono, ื™ื•ืฆืจ ื˜ื‘ืœื” ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืžื ื”ืœ ืžืฉืชืžืฉื™ื ื•ื™ื•ื“ืข ืœืฉืžื•ืจ ื•ืœื”ื—ื–ื™ืจ ืžื™ืœื™ื ืฉืžื•ืจื•ืช ืœื›ืœ ืžืฉืชืžืฉ. ื‘ื’ืœืœ ืฉื–ื” glm ื•ืงืœื•ื“ ืงื•ื“ ืื– ื”ืงื•ื“ ื™ื•ืฆื ืžืื•ื“ ืงืจื™ื ื•ืืคื™ืœื• ื™ื“ื™ื“ื•ืชื™ ืœืžืชื—ื™ืœื™ื ื•ืื ื™ ื—ื™ื™ื‘ ืœื”ื•ื“ื•ืช ืฉื–ื” ื”ืคืชื™ืข ืื•ืชื™ ืœื˜ื•ื‘ื”, ื”ื ื” ื“ื•ื’ืžื” ืžืื•ื“ ืงืจื™ืื” ืœืงื•ื“ ืฉืžื—ื–ื™ืจ ืืช ืจืฉื™ืžืช ื”ืžื™ืœื™ื ืฉืœ ืžืฉืชืžืฉ ืžืกื•ื™ื:
// Get all cards for user
app.get("/api/cards", async (c) => {
  const session = await getOAuthUserData(c.req.raw);
  if (!session?.user) {
    return c.json({ error: "Not authenticated" }, 401);
  }

  const result = await sqlite.execute({
    sql: "SELECT * FROM flashcards WHERE user_id = ? ORDER BY created_at DESC",
    args: [session.user.id],
  });

  return c.json(result.rows);
});
ืขื›ืฉื™ื• ืืชื ื™ื›ื•ืœื™ื ืœื”ื’ื™ื“ ืฉื–ื” ื‘ืกื™ืกื™ ืžื“ื™, ืฉื–ื” ืœื ืžืชืื™ื ืœืคืจื•ื“ืงืฉืŸ, ืฉื‘ืžืขืจื›ืช ืืžื™ืชื™ืช ืœืžืฉืชืžืฉ ื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ื”ืžื•ืŸ ืžื™ืœื™ื ื•ื”ื—ืœืง ื”ืงืฉื” ื‘ื—ื™ื™ื ื–ื” ืœื”ื‘ื™ืŸ ืื™ื–ื” ืžื™ืœื™ื ืœืชืจื’ืœ ื•ืžื” ืœื”ื—ื–ื™ืจ ื•ืžื” ืคืชืื•ื ืžืขืžื™ืกื™ื ืขืœ ื”ื–ื›ืจื•ืŸ ืฉืœ ื”ืฉืจืช ืืช ื›ืœ ื”ืžื™ืœื™ื ื‘ืœื™ LIMIT. ืื‘ืœ ืื ื™ ื—ื•ืฉื‘ ืฉื‘ื“ื™ื•ืง ืคื” ื”ื™ื•ืคื™ ื‘ื—ื™ื‘ื•ืจ ื”ื–ื” - ืงื•ื“ ืคืฉื•ื˜, ื‘ืกื™ืกื™, ืžืชื—ื™ืœ ืžืืคืก, ื‘ืœื™ boilerplate ื–ื” ืงื•ื“ ืฉื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœืงืจื•ื ืื•ืชื• ื•ืœืœืžื•ื“ ืžืžื ื•. ื”ื ื” ืขื•ื“ ื“ื•ื’ืžื” ื‘ืื•ืชื• ื ื•ืฉื:
// Initialize database
await sqlite.execute(`
  CREATE TABLE IF NOT EXISTS flashcards (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    user_id TEXT NOT NULL,
    english TEXT NOT NULL,
    spanish TEXT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
  )
`);
ื‘ืจื•ืจ ืฉื—ืกืจื™ื ืื™ื ื“ืงืกื™ื ื•ื›ืžื• ืฉืื•ืžืจื™ื ื–ื” ืœื ื‘ืื’ ื–ื” ืคื™ืฆ'ืจ. ืงื•ื“ ืคืฉื•ื˜, ืขื•ื‘ื“ ื•ืงืจื™ื ืฉืžืฆื“ ืื—ื“ ืขืœื” ืœืื•ื•ื™ืจ ืขืœ ืžื›ื•ื ื” ืฉืœ ืžื™ืฉื”ื• ืื—ืจ ื•ืžืฆื“ ืฉื ื™ ืžืกืคื™ืง ืคืฉื•ื˜ ื›ื“ื™ ืฉืื•ื›ืœ ืœืœืžื•ื“ ืžืžื ื•. ื .ื‘. ื‘ื”ื ื—ื” ืฉื”ืคืกืงืช ื”ืืฉ ืชืžืฉืš ื•ื‘ืืžืช ื ื›ื ืก ืœืฉื’ืจื” ืื ื™ ืžืชื›ื ืŸ ืœื—ื–ื•ืจ ืœืฉื’ืจืช ื”ื•ื•ื‘ื™ื ืจื™ื ืฉืœ ื™ืžื™ ื—ืžื™ืฉื™ ื‘ืฉื‘ื•ืข ื”ื‘ื. ื‘ื—ืžื™ืฉื™ ื”ื‘ื ืฆืคื•ื™ ืžืคื’ืฉ ืžืื•ื“ ืžืขื ื™ื™ืŸ ืขืœ ืื™ืš ืœืืจื’ืŸ ืืช ื”ืคืจื•ื™ืงื˜ ื›ื“ื™ ืฉื™ื”ื™ื” ืœ AI ืงืœ ืœืขื‘ื•ื“ ืขืœื™ื•. ืื ื”ื›ืœ ื™ืžืฉื™ืš ื˜ื•ื‘ ืืฉืœื— ื”ื–ืžื ื” ืžืกื•ื“ืจืช ื‘ื™ื•ื ืจืืฉื•ืŸ ืขื ื›ืœ ื”ืคืจื˜ื™ื.

ToCode
1 419
๐Ÿ“Œ ืื‘ืœ ื”ืžื™ื“ืข ืฉืื ื™ ืฆืจื™ืš ืœื ืฉื ืžืืงื• ื”ืขืœื• ื‘ืžืœื—ืžื” ื“ืฃ ื–ืžืŸ ืžืžื“ ืฉืžืืคืฉืจ ืœื—ืคืฉ ืืช ื”ื™ืฉื•ื‘ ืฉืœื›ื ื•ืœื’ืœื•ืช ื›ืžื” ืื–ืขืงื•ืช ื”ื™ื•. ื›ืœ ื™ืฉื•ื‘ ื’ื ืžื“ื•ืจื’ ืœื“ื•ื’ืžื” ืจืžืช ื’ืŸ ืžืขืจื‘ ืžื“ื•ืจื’ืช ืžืงื•ื 6 ื‘ืžืกืคืจ ื”ืื–ืขืงื•ืช. ืฉื›ืŸ ืžื”ืžืงืœื˜ ืจืฆื” ืœื“ืขืช ืžื™ ื”ืขื™ืจ ืขื ื”ื›ื™ ื”ืจื‘ื” ืื–ืขืงื•ืช ืื– ื—ื™ืคืฉื ื• ืืช ื›ืคืชื•ืจ ื”"ืžื•ื‘ื™ืœื™ื" ืื‘ืœ ืœื ื”ื™ื” ื›ื–ื”. https://sheltertime.mako.co.il/ ืžื” ืขื•ืฉื™ื? ืขื“ ืขื™ื“ืŸ ื” AI ื”ืชืฉื•ื‘ื” ื”ื™ืชื” ืœืคืชื•ื— ืืช ืžืกืš ื›ืœื™ ื”ืคื™ืชื•ื— ืฉืœ ื›ืจื•ื, ืœื—ืคืฉ ื‘ืงืฉื•ืช ืจืฉืช ืžืขื ื™ื™ื ื•ืช, ืื•ืœื™ ืœื”ืกืชื›ืœ ืขืœ ื” JavaScript, ืœื”ื‘ื™ืŸ ืžืื™ืคื” ืžื’ื™ืขื™ื ื”ื ืชื•ื ื™ื ื•ืœืžืฉื•ืš ืื•ืชื ื‘ืกืงืจื™ืคื˜ ื›ื“ื™ ืœื”ืฆื™ื’ ืืช ื”ื“ื‘ืจื™ื ื›ืžื• ืฉืื—ื ื• ืจื•ืฆื™ื. ื”ื™ื•ื ื”ื™ื™ืชื™ ืฆืจื™ืš ืจืง ืœื›ืชื•ื‘ ืืช ื”ืคืจื•ืžืคื˜ ื”ื‘ื ื‘ืงืœื•ื“ ืงื•ื“:
Use chrome-devtools
Explain how this site works
https://sheltertime.mako.co.il/

Create a command line script in this directory that uses curl and shows the 5 cities with the highest count of alerts
ื•ื›ืŸ ืงืœื•ื“ ืงื•ื“ ืฉืœื™ ืžื—ื•ื‘ืจ ืœ mcp ืฉืœ ื›ืจื•ื ืื– ื”ื•ื ื™ื›ื•ืœ ืœืคืชื•ื— ื“ืคื“ืคืŸ ื•ืœื—ื˜ื˜ ื‘ืขืฆืžื• ืื‘ืœ ืืช ื›ืœ ื”ืฉืืจ ื”ื•ื ืขืฉื” ืœื‘ื“. ื”ืžื•ื“ืœ ื”ื•ื ืกื™ื ื™ ื‘ืฉื glm-5.1 ื‘ื’ืœืœ ื”ืžื—ื™ืจ. ื–ื” ื”ืกืงืจื™ืคื˜ ืฉื ื•ืฆืจ:
#!/bin/bash
# Top 5 cities by shelter time from Mako's Shelter Time site
# Data source: https://sheltertime.mako.co.il/

DATA_URL='https://storage.googleapis.com/mamad-time-mako.firebasestorage.app/data_2026.json?v=7'

curl -s "$DATA_URL" \
  -H 'Accept: application/json' \
  -H 'Referer: https://sheltertime.mako.co.il/' \
  -H 'User-Agent: Mozilla/5.0' \
  | python3 -c '
import json, sys
from collections import defaultdict

data = json.load(sys.stdin)

# Each top-level key is an operation (e.g. "Iran")
# Each city: [total_time_ms, alert_count, cat1, cat2, days, rank, percentile]
for op, cities in data.items():
    print(f"\n=== Operation: {op} ===")
    print("Top 5 cities by total shelter time:")
    print("-" * 55)
    sorted_by_time = sorted(cities.items(), key=lambda x: x[1][0], reverse=True)[:5]
    for city, vals in sorted_by_time:
        ms = vals[0]
        hours = ms / 3600000
        alerts = vals[1]
        print(f"  {hours:>8.1f} hrs  ({alerts:>4} alerts)  {city}")

    print()
    print("Top 5 cities by alert count:")
    print("-" * 55)
    sorted_by_alerts = sorted(cities.items(), key=lambda x: x[1][1], reverse=True)[:5]
    for city, vals in sorted_by_alerts:
        ms = vals[0]
        hours = ms / 3600000
        alerts = vals[1]
        print(f"  {alerts:>5} alerts  ({hours:>6.1f} hrs)  {city}")
'
ื ืฉื™ื ืœื‘: 1. ืœืžืจื•ืช ืฉื‘ื™ืงืฉืชื™ Shell Script ืงื™ื‘ืœืชื™ ืงื•ื“ ืคื™ื™ืชื•ืŸ. ื” Shell ืžืคืขื™ืœ ืคื™ื™ืชื•ืŸ. ืœื ื”ื›ื™ ืžืžื•ืฉืžืข ืžืฆื“ glm ืื‘ืœ ืžืฆื“ ืฉื ื™ ืืคืฉืจ ืœืจืื•ืช ืœืžื” ื”ื•ื ืขืฉื” ืืช ื–ื”. ืื•ืœื™ ื’ื ื”ื•ื ืžืกืชื‘ืš ืขื ื”ืชื—ื‘ื™ืจ ืฉืœ jq. 2. ื’ืœื ื›ืŸ ื”ื‘ื™ืŸ ืžื™ื“ ืืช ืžื‘ื ื” ื”ื ืชื•ื ื™ื ื•ื”ื•ืกื™ืฃ ื”ืขืจื” ืฉืžืกื‘ื™ืจื” ืžื” ื™ืฉ ื‘ืจื•ื‘ ื”ืขืžื•ื“ื•ืช. ืœื ื‘ืจื•ืจ ืžื” ื–ื” cat1 ื• cat2 ืื‘ืœ ื›ืœ ื”ืฉืืจ ื“ื™ ืžืกื‘ื™ืจื™ื ืืช ืขืฆืžื. 3. ืœื ื‘ืจื•ืจ ืœืžื” ื’ืœื ื”ื—ืœื™ื˜ ืœื™ื™ื‘ื ืืช defaultdict, ื‘ื›ืœ ืžืงืจื” ื”ื•ื ืœื ื‘ืฉื™ืžื•ืฉ.