Найти Ρ‚Π΅ΠΌΡƒ
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста

🐍 ДороТная ΠΊΠ°Ρ€Ρ‚Π° Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² 2023 Π³ΠΎΠ΄Ρƒ

ОглавлСниС

РасскаТСм, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ 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

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
ΠžΡΠ½ΠΎΠ²Ρ‹ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Python

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π±Π°Π³Π°ΠΆΠ° Π·Π½Π°Π½ΠΈΠΉ достаточно для создания ΠΏΠ΅Ρ€Π²Ρ‹Ρ… настоящих Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. БущСствуСт нСсколько Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Π½Π° Π±Π°Π·Π΅ 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.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

πŸπŸ›£οΈ ΠžΡ‚ нуля Π΄ΠΎ Π΄ΠΆΡƒΠ½Π° Π·Π° 90 Π΄Π½Π΅ΠΉ: ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Python ΠΎΡ‚ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ программиста»