АлСна Π’Π°Ρ…Ρ‚ΠΈΠ½Π° 14 сСнтября 2021

πŸ›  ОсваиваСм инструмСнты QA-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ тСстировщику Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с REST API

Π˜Π·ΡƒΡ‡ΠΈΡˆΡŒ REST API – ΠΎΡΡ‚Π°Π½Π΅ΡˆΡŒΡΡ Π² Π‘Ρ‚Ρ€Π°Π½Π΅ ЧудСс, ΠΈ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Ρ‚Π΅Π±Π΅, насколько Π³Π»ΡƒΠ±ΠΎΠΊΠΎ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΡ€ΠΎΠ»ΠΈΡ‡ΡŒΡ Π½ΠΎΡ€Π° ΠΈ ΠΊΠ°ΠΊ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго Π² Π½Π΅Π΅ Π½Ρ‹Ρ€Π½ΡƒΡ‚ΡŒ.
πŸ›  ОсваиваСм инструмСнты QA-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ тСстировщику Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с REST API
ΠŸΡƒΡΡ‚ΡŒ Π·Π° спиной остался Π½Π΅ ΠΎΠ΄ΠΈΠ½ Π±Π°Π³-Ρ€Π΅ΠΏΠΎΡ€Ρ‚, написан Π½Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€ΡƒΡ‡Π½ΠΎΠΉ тСст ΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½ Π½Π΅ ΠΎΠ΄ΠΈΠ½ рСгрСсс, Π½ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ всС Π΅Ρ‰Π΅ каТСтся, Π±ΡƒΠ΄Ρ‚ΠΎ ΠΌΠΈΡ€ тСстирования Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π» свои Ρ‚Π°ΠΉΠ½Ρ‹? ΠžΡ‚Π²Π΅Ρ‚ прост: ΠΏΠΎΡ€Π° Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС. Π’Π΅Π΄ΡŒ Π±Π°Π³ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π΅ просто Ρ‚Π°ΠΊ, ΠΈ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ – это Π½Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π° экранС.

ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ REST API

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² соврСмСнном ΠΌΠΈΡ€Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Основной Π΅Π΅ смысл Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСтСвая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° распрСдСлСна ΠΌΠ΅ΠΆΠ΄Ρƒ поставщиком (сСрвСр) ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΌ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚). ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Π½ΠΎ для любого общСния Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΈ Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ REST API.

Π‘Ρ…Π΅ΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.
Π‘Ρ…Π΅ΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

REST (Representational State Transfer) – это Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² распрСдСлСнного прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ трСбования (ограничСния):

  • ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΡ‚ сСрвСра;
  • Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ запросами ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° никакая информация ΠΎ Π΅Π³ΠΎ состоянии Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½Π° сСрвСрС;
  • Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² сСрвСра;
  • Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ интСрфСйса для возмоТности нСзависимого развития ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра;
  • Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния слоСв ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΈ бСзопасности.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ REST?

Если REST API – Π½Π°Π±ΠΎΡ€ способов, ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Ρ‚ΠΎ Π·Π°Ρ‡Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ сочСтаниС?
  • ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ порядок ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ΄ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.
  • БСрвисы становятся ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отказоустойчивым ΠΈ Π±ΠΎΠ»Π΅Π΅ бСзопасным.
  • ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ исправлСния ошибок ΠΈ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • ΠŸΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ΄ΠΎΠΌ.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ, Π½ΠΎ основной смысл Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ систСматизируСт ΠΊΠΎΠ΄.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Π³Π΄Π΅ ошибка, классификация ΠΊΠΎΠ΄ΠΎΠ² HTTP

Π₯Π²Π°Ρ‚ΠΈΡ‚ ΠΎΠ±Ρ‰ΠΈΡ… слов. ΠŸΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅: Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ devtools Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F12) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Network (ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° ΠΏΠΎΠΊΠ°Π· XHR, Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅).

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ панСлью devtools.
Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ панСлью devtools.

Колонка статуса ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ статус выполнСния запроса, ΠΏΡ€ΠΎΡˆΠ΅Π» Π»ΠΈ ΠΎΠ½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈΠ»ΠΈ Π±Ρ‹Π»Π° Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π° ошибка. Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‚ΠΎ статусы ΠΌΠΎΠΆΠ½ΠΎ для простоты ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1xx Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообщСния. НапримСр, 102 – ΠΈΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запроса.
2xx УспСшноС сообщСниС.
3xx Π‘Ρ‹Π»Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° пСрСадрСсация, Ρ‚.Π΅. Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠ°Ρ информация большС Π½Π΅ находится ΠΏΠΎ этому адрСсу ΠΈ запрос ΠΏΠΎΠ»Π΅Ρ‚Π΅Π» ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ адрСсу.
4xx Ошибка Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’.Π΅. Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ запрос ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.
5xx Ошибка Π½Π° сторонС сСрвСра. МоТно ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ (Ссли Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ) ΠΈ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Допустим, Π±Ρ‹Π» интСрСсСн ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ запрос, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ мСняли Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅, ΠΈΠ»ΠΈ Π΅Π³ΠΎ статус ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ запросу, Π½ΡƒΠΆΠ½ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ (ΡƒΠ²Π΅Ρ€Π΅Π½Π°, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, Π½ΠΎ ΠΏΡ€ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ):

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ devtools.
Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ devtools.

Основная информация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ запросу, начиная Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с REST – это ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ:

  • Headers – Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ основная информация.
  • Preview – ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅Π»ΠΎ запроса.
  • Response – ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°.

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΡ‚ΠΎΠΌ.

На ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ содСрТится общая информация ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ запросу, Π° Ρ‚Π°ΠΊΠΆΠ΅ header, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΊ запросу, пСрСдаваСмая ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ).

Π’ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΡƒΠΊΠ°Π·Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² запросС (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС GET). ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь).

GET ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π½Π° страницС.
POST Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сущности.НапримСр ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
PUT ОбновлСниС сущности. НапримСр ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ пароля ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠ½Π° Ρƒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΡ‚Π°Ρ‚ΡŒΠΈ.
DELETE Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ сущности. НапримСр ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ тСста. Иногда вмСсто DELETE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ PUT с пустым Ρ‚Π΅Π»ΠΎΠΌ запроса.

Π•Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ°ΠΊ Content-Type. Он ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ Π² запросС: json, xml ΠΈΠ»ΠΈ text.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ тСстировщика для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с REST

БущСствуСт мноТСство ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ REST-запросов. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡŽ Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ ΠΌΠ½Π΅ ΠΈ подходят для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ этот список Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ установки – это devtools ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Достаточно Π½Π°ΠΆΠ°Ρ‚ΡŒ F12 ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ запросы лСтят ΠΈ Π½Π΅Ρ‚ Π»ΠΈ ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±Π°Π³.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Unix/Linux – это curl (Π² Windows Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ этой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅, достаточно Π½Π°Π±Ρ€Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

        man curl
# ΠΈΠ»ΠΈ
curl --help

    

Для Π½Π°Ρ‡Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ GET-запрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚:

        curl -i https://proglib.io/posts/fetch
    
НСпонятныС символы появились, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ русификации консоли.
НСпонятныС символы появились, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ русификации консоли.

Π‘Ρ‹Π» ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ GET-запрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚Π²Π΅Ρ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡ -i, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ POST-запрос, сразу ΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ² header content-type:

        curl -i -X POST -d '' -H 'content-type: application/json' https://proglib.io/post/info
    
Консоль с Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹ΠΌ curl.
Консоль с Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹ΠΌ curl.

Π’ нашСм запросС -X POST ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ POST (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ отправляСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ GET), -d β€˜β€™ – Ρ‚Π΅Π»ΠΎ запроса (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС пустоС) ΠΈ -H 'content-type: application/json' – Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ сообщСний – json. Π’ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€ΠΈΡˆΠ΅Π» статус 400, Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‚Π΅Π»ΠΎ запроса Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ.

НСмного освоив curl, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π±ΠΎΠ»Π΅Π΅ высокоуровнСвому инструмСнту. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Postman, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

Postman – свободно распространяСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ для взаимодСйствия Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Для Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Π½Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою ΠΏΠΎΡ‡Ρ‚Ρƒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅ΡΠΊΡ‚ΠΎΠΏΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (хотя ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€). Π’Π°ΠΊΠΆΠ΅ для Postman Π΅ΡΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ.

НачнСм с ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ самого GET-запроса, Ρ‡Ρ‚ΠΎ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl:

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Postman.
Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Postman.

На ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ автоматичСски. ΠžΡ‚Π²Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ запросС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ POST-запрос, Ρ‚Π΅Π»ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ пустым, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ прописан ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ запроса header:

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Postman.
Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Postman.

Π‘Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ статусом, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ запроса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl.

Postman ΡƒΠΌΠ΅Π΅Ρ‚ Π΅Ρ‰Π΅ мноТСство Π²Π΅Ρ‰Π΅ΠΉ: ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ запросы Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты Π½Π° Java Script, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запросов, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ Ρ‚.Π΄.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Ρ€Π°Π· Π·Π° Ρ€Π°Π·ΠΎΠΌ проводя тСст-Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ Π½Π΅ ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠ΄Π° программы… Но Ρ€Π°Π·Π²Π΅ этого достаточно? Π Π°Π·Π²Π΅ Π½Π΅ хочСтся Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ описаны основы ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструмСнты. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ консоли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΌΡƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ rest-test ΠΈΠ»ΠΈ пониманию, ΠΊΠ°ΠΊ всС устроСно. Однако Π΄ΠΎΡ€ΠΎΠ³Ρƒ осилит ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ, Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… публикациях ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ‚Π΅ΠΌΡ‹. Π£Π΄Π°Ρ‡ΠΈ!

***

Π₯ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нуля, Π½ΠΎ Π½Π΅ знаю, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

МоТно ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ (Π΄ΠΎΠ»Π³ΠΎ) ΠΈΠ»ΠΈ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π° курсы с прСподаватСлями (быстро). Плюс Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΆΡƒΠ½ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, конкурСнция Π²Ρ‹ΡˆΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния ΠΏΡ€ΠΈ Π½Π°ΠΉΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ знания, ΠΌΡ‹ Π² proglib.academy запустили курсы:

  • ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° Python.
  • ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.
  • Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° для Data Science.
  • ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ Data Science.
  • Frontend Basic: ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ соврСмСнного Π²Π΅Π±Π°.
  • ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° СстСствСнного языка. ΠŸΠΎΠ»Π½Ρ‹ΠΉ курс.

На ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π΅Ρ‰Π΅ большС 10 курсов для взрослых ΠΈ Π΄Π΅Ρ‚Π΅ΠΉ.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

 
 

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

LIVE >

Подпишись

Π½Π° push-увСдомлСния