Π Π°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΡ Python-Π΄ΠΆΡΠ½ΠΎΠΌ ΠΈ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Python ΡΠ°ΡΡΠ΅Ρ ΠΈΠ· Π³ΠΎΠ΄Π° Π² Π³ΠΎΠ΄, Π° ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ·ΡΠΊΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ: Π°ΡΡΠ΅Π½Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΡΡΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Python ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΠ΅Π±Ρ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΈ ΡΡΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎ:
- Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Python ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡΡ. ΠΠ° Π±Π°Π·Π΅ Flask ΠΈ Django, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ»Π»ΡΡΠ΅ΠΊ-ΠΏΡΠΎΠ΅ΠΊΡ, Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, API ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ.
- ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Python Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡΡΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ .
- Π¨ΠΈΡΠΎΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ Python-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
- ΠΠ΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Π±Π°Π·Π΅ Python ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Ρ Π·Π°Π²ΠΈΠ΄Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ, Π° ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ β ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΡΡΡΡΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌ Python ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΠ½ΠΈΠ» ΠΏΡΠ΅ΠΆΠ½Π΅Π³ΠΎ Π»ΠΈΠ΄Π΅ΡΠ° Π² ΡΡΠ΅ΡΠ΅ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β PHP. ΠΡΠ»ΠΈ Π² 2023 Π³ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΡΡΠΎΠΈΡ Π²ΡΠ±ΠΎΡ β Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π½Π°ΡΠ°ΡΡ ΠΏΡΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, β Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Python, Π½Π΅ ΠΏΠΎΠΆΠ°Π»Π΅Π΅ΡΠ΅. Π ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
π ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠ°Π½Π°Π»Ρ
(function () { let link = document .getElementById ("ed478cd3-a77b-42b9-8dfe-310891f73960-https://proglib.io/w/3ab36fc3-5"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();
ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠ°ΠΏ: ΠΈΠ·ΡΡΠ°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Ρ Python
Python ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ β ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ:
- Π ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ°Ρ Π΄Π°Π½Π½ΡΡ β ΡΠΏΠΈΡΠΊΠΎΠ², ΡΡΡΠΎΠΊ, ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ, ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ². Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΡΠ΅ΠΆΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΡΠΏΠΈΡΠΊΠΎΠ², Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° β Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², Π²ΠΌΠ΅ΡΡΠ΅ Π²Π·ΡΡΡΡ , Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ.
- ΠΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΈ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΡΡΠ°Π·Ρ (zip), ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ (enumerate), Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ°Π·Ρ (map).
- Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
- ΠΎΠ±ΡΡΠ½ΡΡ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ , Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²;
- Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠ² ΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ;
- Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ (lambda);
- ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ .
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² Python, ΠΊΠ°ΠΊ ΠΈ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠΈΠΊΠ»Π°Ρ β Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΡΠΈΠΊΠ»ΠΎΠ² for ΠΈ while, Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡΡ . ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΈΠΊΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ²ΡΠΌΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ β ΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΎΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
Π§ΡΠΎ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ:
- ΠΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Python-ΠΊΠΎΠ΄ Π² ΠΎΠ½Π»Π°ΠΉΠ½-IDE, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ β Jupyter Notebooks, Google Colab, Repl.it.
- ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ IDE β PyCharm, VS Code.
- ΠΠ°ΠΊ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ β pandas, numpy ΠΈ Ρ.ΠΏ.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Python, ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅ΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ: ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΊΠΎΠ΄ΠΎΠΌ Π¦Π΅Π·Π°ΡΡ, ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ Π² ΠΈΠ³ΡΠ΅ Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ, ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Ρ ΠΎΠ΄ΠΎΠ² ΡΠ°Ρ ΠΌΠ°ΡΠ½ΡΡ ΡΠΈΠ³ΡΡ.
ΠΡΠΎΡΠΎΠΉ ΡΡΠ°ΠΏ: ΠΠΠ ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ
ΠΠΎΡΠ° Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π½Π° GitHub, ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΈ ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git. Π₯ΠΎΡΡ GitHub β Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ IT-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π΅Π³ΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ»ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ° β Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΡΠΎΠ² GitHub Pages, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π΄ΠΎ 1 ΠΠ±. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ GitHub Pages Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ, ΡΠ΅Π·ΡΠΌΠ΅ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±Π»ΠΎΠ³ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Jekyll, Hugo, ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Python β Pelican ΠΈ Lektor.
Π§ΡΠΎΠ±Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Π½Π° GitHub ΠΏΠΎΡΠΊΠΎΡΠ΅Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½ΠΈΠΊΠ½ΡΡΡ Π² ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ:
- ΠΊΠ»Π°ΡΡΡ;
- ΠΎΠ±ΡΠ΅ΠΊΡΡ;
- Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅;
- ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ;
- ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ request.
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ API.
- Π€ΠΎΡΠΌΠ°ΡΡ JSON ΠΈ XML.
- Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Regex).
- ΠΡΠ½ΠΎΠ²Ρ Π²Π΅Π±-ΡΠΊΡΠ°ΠΏΠΈΠ½Π³Π° ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Ρ BeautifulSoup ΠΈ XPATH.
ΠΠ½Π°Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
- ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°Ρ ;
- ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΡΠΊΡΠ°ΠΏΠΈΠ½Π³Π° ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π°;
- ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ API.
Π‘ΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
π Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π§Π°ΡΡΡ 18: ΠΡΠ½ΠΎΠ²Ρ ΠΠΠ β ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ β’ π Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π§Π°ΡΡΡ 19: ΠΡΠ½ΠΎΠ²Ρ ΠΠΠ β Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠ°ΠΏ: ΠΎΡΠ½ΠΎΠ²Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π’Π΅ΠΏΠ΅ΡΡ Π±Π°Π³Π°ΠΆΠ° Π·Π½Π°Π½ΠΈΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π½Π° Π±Π°Π·Π΅ Python, Π½ΠΎ Π±Π΅ΡΡΠΏΠΎΡΠ½ΡΡ Π»ΠΈΠ΄Π΅ΡΠΎΠ² Π²ΡΠ΅Π³ΠΎ Π΄Π²Π° β Flask ΠΈ Django:
- Flask Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ β ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠ΅ΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΡΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Flask Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
- Django ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΆΠ΅ΡΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ. ΠΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Flask, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Django ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Django ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ unittest, Π½ΠΎ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Django-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ django-pytest Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ pytest, ΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ flask-pytest Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Flask.
ΠΠ±Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΡ β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΡΠΎΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ Π±ΡΠΊΠ΅Π½Π΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΡ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ HTML ΠΈ CSS, ΠΏΠΎΡΡΠΎΠΌΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅. Π‘ΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ΡΠΎΠΌ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² Django Π³ΠΎΡΠΎΠ²ΡΠ΅ HTML/CSS, Bootstrap ΠΈ Tailwind ΡΠ°Π±Π»ΠΎΠ½Ρ.
ΠΠ΄Π½ΠΎ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Flask ΠΈ Django β Π½Π°Π»ΠΈΡΠΈΠ΅ ORM, ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΠ Π±Π΅Π· Π·Π½Π°Π½ΠΈΠΉ ΡΠ·ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π½Π°ΠΏΡΡΠΌΡΡ β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° SQL. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π±Π°Π·Ρ SQLite ΠΈ MySQL, Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ β PostgreSQL.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π΅ΡΠΎΠΌΡΠΉ ΠΏΠ»ΡΡ Flask ΠΈ Django β ΠΏΡΠΎΡΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ REST API. Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ API Π΄Π»Ρ Django-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β Django REST Framework (DRF), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FastAPI ΠΈ Django Ninja, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ DRF API Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:8000/api/, Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Postman.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Rest API Ρ Flask ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Connexion, OpenAPI ΠΈ Flask-Marshmallow, Π° Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Swagger UI. ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ API Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Flask Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ API Π½Π° Π±Π°Π·Π΅ Django.
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ:
- ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Flask ΠΈ Django β Π±Π»ΠΎΠ³ΠΈ, Π»Π΅Π½Π΄ΠΈΠ½Π³ΠΈ, Π»Π°ΠΉΡ-Π²Π΅ΡΡΠΈΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠΎΡΡΠ΅ΡΠ΅ΠΉ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
- Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π±ΡΠΊΠ΅Π½Π΄ ΠΈ API Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΠΊΠΎΡΠΎΡΡΡ ΡΠ΄Π΅Π»Π°Π½ Π½Π° JS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ React, Vue, Angular.
- Π Π°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π² CDN.
- ΠΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΈΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±ΡΠΊΠ΅Π½Π΄Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Fetch ΠΈΠ»ΠΈ Axios.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ½ΡΠ΅ΡΡ (Flake8, Ruff) Π΄Π»Ρ Β«ΠΏΡΠΈΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΒ» ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°.
- ΠΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ API.
- Π Π°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Linux ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Nginx ΠΈ Gunicorn.
Π‘ΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
ππ Django Ρ Π½ΡΠ»Ρ. Π§Π°ΡΡΡ 1: ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π±Π»ΠΎΠ³ Π΄Π»Ρ ΠΊΠ»ΡΠ±Π° Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ Π·Π°Π΄Π°Ρ Python β’ ππ ΠΠΈΡΠ΅ΠΌ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠΎΠΊ Π½Π° Django, Django Ninja REST Framework ΠΈ Alpine.js β’ ππ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ½Π³ΠΎΠ²ΡΠΉ ΠΏΠΎΡΡΠ°Π» Π½Π° Django: ΡΠ°ΡΡΡ 1
Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΡΠ°ΠΏ: ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ
Π Π½Π°Π±ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠΈΡ Π²Π½ΠΈΠΊΠ½ΡΡΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅, Π²Ρ ΠΎΠ΄ΡΡ:
- ΠΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ /Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌΠΈ Π·Π°Π΄Π°Ρ ΠΈ Π±ΡΠΎΠΊΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ: Celery, Dramatiq, RabbitMQ, Redis, Kafka.
- ΠΠ΅Π±-ΡΠΎΠΊΠ΅ΡΡ ΠΈ Django Channels.
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Ρ WebRTC.
- ΠΠ΅Π±Ρ ΡΠΊΠΈ (ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ).
- CI/CD (Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°) Π΄Π»Ρ Django-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²: Jenkins.
- ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ Django- ΠΈ DRF-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: Docker ΠΈ Kubernetes.
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Django ΠΈ Flask: ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ SQL-Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΉ, ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΎΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠ½Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ β ΡΠ°Ρ-ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅Ρ Π΄Π»Ρ Π°ΡΠ΄ΠΈΠΎ- ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ, ΠΌΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡ, ΡΡΡΠΈΠΌΠΈΠ½Π³ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ CRM.
Π‘ΡΠ°ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅