Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипт

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

ΠžΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ скрипта

Π‘ английского языка слово «скрипт» пСрСводится ΠΊΠ°ΠΊ сцСнарий, ΠΈΠ· Ρ‡Π΅Π³ΠΎ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строк ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΡƒΠΏΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Для Π΅Π΅ выполнСния ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ скрипты. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ малСнькими ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° запуск ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ простых слуТб ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΌΠΈ, сравнивая ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ выводя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° сайтС.

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Π‘ΠΊΡ€ΠΈΠΏΡ‚ хранится Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅, поэтому ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π΅Π³ΠΎ содСрТимоС ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ тСкстовый Ρ„Π°ΠΉΠ» запускаСт Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ, которая ΠΈ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π° Π² скриптС. Если всС строки написаны ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ удаСтся Π½Π°ΠΉΡ‚ΠΈ, Π·Π°Π΄Π°Ρ‡Π° выполняСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ скрипт срабатываСт.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ сСйчас Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° сайтах, Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти популярный скриптовый язык – JavaScript. Однако ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ синтаксиса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ появлСния скриптов

Для ΠΎΠ±Ρ‰Π΅Π³ΠΎ развития ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡƒΠ½ΡƒΡ‚ΡŒΡΡ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ появлСния скриптов ΠΈ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅. Начали ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ сСмСйства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Unix Π΅Ρ‰Π΅ 50 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Одной ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Π±Ρ‹Π»Π° sh, Π² Π½Π΅ΠΉ использовались shell scripts, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяли Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ самыС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

НиТС Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ нСбольшой ΠΊΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для конвСртирования изобраТСния ΠΈΠ· JPG Π² PNG:

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ послС Π·Π½Π°ΠΊΠΎΠ² # ΡΠ²Π»ΡΡŽΡ‚ΡΡ коммСнтариями ΠΈ Π½Π΅ относятся ΠΊ скрипту, ΠΎΠ½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ дСйствия. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Ρ‹Π» взят ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всСго нСсколько строк ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, смСнив Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. БСйчас скрипты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ массивными ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ слоТнСС.

Π‘Ρ„Π΅Ρ€Ρ‹ использования скриптов

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Π²Π΅Π±-сайтах. Π§Π°Ρ‰Π΅ всСго ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° языках PHP ΠΈ JavaScript. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для написания Ρ‚ΠΎΠΉ части сайта, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ бэкСнда, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²ΠΈΠ·ΡƒΠ°Π», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠ»Π°Π²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия (фронтэнд).

Если с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ скриптами всС понятно, Ρ‚ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ для Π³Π»Π°Π·Π° посСтитСля скрипты ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ заполнСния Ρ„ΠΎΡ€ΠΌ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ.

БоотвСтствСнно, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС скрипты Ρ‚ΠΎΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· консоль (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку), ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ слуТб ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² систСмныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (вирусы Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² систСму).

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Windows, Ρ‚ΠΎ Π² Π½Π΅ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ встроСнный инструмСнт CMD (PowerShell), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для запуска скриптов, хранящихся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ BAT.

Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ написаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скриптов

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ написаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скриптов Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Windows. Допустим, Ρƒ вас стоит Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ соСдинСния с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ сайтом Π±Π΅Π· запуска Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Для этого Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° полСзная ΠΊΠΎΠΌΠ°Π½Π΄Π°, запускаСмая Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. А Ссли Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π½Π΅ совсСм ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, особСнно Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°Ρ‡Π° выполняСтся Ρ€Π°Π· Π² нСсколько Π΄Π½Π΅ΠΉ ΠΈΠ»ΠΈ Ρ‡Π°Ρ‰Π΅. Π’ΠΎΠ³Π΄Π° создаСтся BAT-Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ содСрТимым:

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΡΠΊΡ€ΠΈΠΏΡ‚ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой скрипты ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ самому ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΠΎ для использования скриптов Π² ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… цСлях понадобится Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· скриптовых языков программирования.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² JavaScript

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, Π΄Ρ€ΡƒΠ·ΡŒΡ!

МнСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ JavaScript Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, являСтся Π½Π΅ совсСм Π²Π΅Ρ€Π½Ρ‹ΠΌ. Π‘ΠΊΠΎΡ€Π΅Π΅, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это взаимодСйствиС сущСствСнно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с сСрвСрными языками программирования, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Node.js ΠΈΠ»ΠΈ PHP. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, JavaScript ΡƒΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ (ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ), Ρ‚Π°ΠΊ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ срСдствами.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ создадим Ρ‚Ρ€ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹

Для Π½Π°Ρ‡Π°Π»Π° создадим Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ наши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. НазовСм Π΅Π΅ Β«Work-With-Files-in-JavaScriptΒ» ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π’ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ создадим ΠΏΠ°ΠΏΠΊΡƒ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НазовСм Π΅Π΅ Β«File-ReaderΒ».

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π² Π½Π΅ΠΉ Ρ„Π°ΠΉΠ» Β«index.htmlΒ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТания:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-Ρ„Π°ΠΉΠ»ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈ ΠΈΠ½ΠΏΡƒΡ‚ с Ρ‚ΠΈΠΏΠΎΠΌ Β«fileΒ» (для получСния Ρ„Π°ΠΉΠ»Π°; ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ; для получСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ½ΠΏΡƒΡ‚Ρƒ слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Β«multipleΒ»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ спрятан ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ.

Π‘Ρ‚ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π² Ρ‚Π΅Π³Π΅ Β«styleΒ» Π²Π½ΡƒΡ‚Ρ€ΠΈ head:

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎ своСму вкусу.

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ скрипт Π»ΠΈΠ±ΠΎ Π² head с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ Β«deferΒ» (Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ отрисовки (Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°) DOM; ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² скриптС Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ события Β«loadΒ» ΠΈΠ»ΠΈ Β«DOMContentLoadedΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Β«windowΒ», Π½ΠΎ defer Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅), Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ Β«bodyΒ» (Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ΅Π½ Π½ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, Π½ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ). Π›ΠΈΡ‡Π½ΠΎ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ index.html Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ написанию скрипта, слСдуСт ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ для прилоТСния: Π½Π°ΠΌ потрСбуСтся ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π°ΡƒΠ΄ΠΈΠΎ, Π²ΠΈΠ΄Π΅ΠΎ, тСкст Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ txt, pdf ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, doc. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мою ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ свою.

Нам часто придСтся ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Β«documentΒ» ΠΈ Β«document.bodyΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколько Ρ€Π°Π· Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² консоль, поэтому ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ наш ΠΊΠΎΠ΄ Π² Ρ‚Π°ΠΊΠΎΠ΅ IIFE (это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ):

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ объявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для Ρ„Π°ΠΉΠ»ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, ΠΈΠ½ΠΏΡƒΡ‚Π° ΠΈ Ρ„Π°ΠΉΠ»Π° (послСдний Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ способа ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ β€” Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΈΠ½ΠΏΡƒΡ‚Ρƒ ΠΈΠ»ΠΈ бросаниС (drop) Π² Ρ„Π°ΠΉΠ»ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ):

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ событий Β«dragoverΒ» ΠΈ Β«dropΒ» Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ:

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ ΠΌΡ‹ это сдСлали, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ пСрСнСсти ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ посмотритС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. А происходит автоматичСская ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚.Π΅. Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ собираСмся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях.

ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ бросаниС Ρ„Π°ΠΉΠ»Π° Π² Ρ„Π°ΠΉΠ»ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ:

ΠœΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Β«dran’n’dropΒ».

ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ Ρ„Π°ΠΉΠ»ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΡƒ (Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ»ΠΈΠΊ ΠΈΠ½ΠΏΡƒΡ‚Ρƒ):

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Π΅ΠΌ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π°:

УдаляСм Ρ„Π°ΠΉΠ»ΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈ ΠΈΠ½ΠΏΡƒΡ‚:

Бпособ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° зависит ΠΎΡ‚ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°:

ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с html, css ΠΈ js-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, поэтому Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ:

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с MS-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ MIME-Ρ‚ΠΈΠΏ Β«application/mswordΒ», Β«application/vnd.ms-excelΒ» ΠΈ Ρ‚.Π΄.), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ срСдствами. ВсС способы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π½Π° StackOverflow ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсах, сводятся Π»ΠΈΠ±ΠΎ ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π»ΠΈΠ±ΠΎ ΠΊ использованию viewer’ΠΎΠ² ΠΎΡ‚ Google ΠΈ Microsoft, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ хотят Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΈ localhost. ВмСстС с Ρ‚Π΅ΠΌ, Ρ‚ΠΈΠΏ pdf-Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ начинаСтся с Β«applicationΒ», поэтому Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ:

Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΡ… Β«Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠΉΒ» Ρ‚ΠΈΠΏ:

ΠŸΠΎΡΡ€Π΅Π΄ΡΡ‚Π²ΠΎΠΌ switch..case опрСдСляСм ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°:

Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ изобраТСния:

Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΡƒΠ΄ΠΈΠΎ:

Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ:

Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста:

Last, but not least, функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ pdf-Ρ„Π°ΠΉΠ»ΠΎΠ²:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ИспользованиС соврСмСнных графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π² Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…

Π­Π΄Π΄ΠΈ Османи, Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Β«Π¦Π΅Π½Π° JavaScript Π² 2018 Π³ΠΎΠ΄ΡƒΒ», ΠΎΠ·Π²ΡƒΡ‡ΠΈΠ» ΠΎΠ΄Π½Ρƒ Ρ†Π΅Π½Π½ΡƒΡŽ ΠΌΡ‹ΡΠ»ΡŒ: врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ скрипта Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 200 Кб, ΠΈ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ изобраТСния, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ различаСтся. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ использованию ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΎΠ± этом говорится Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅:

JPEG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π°ΡΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ вывСсти Π½Π° экран. А JS-Π±Π°Π½Π΄Π» Π½Π°Π΄ΠΎ, Ссли Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ это ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎ, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ, Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. На самом ΠΆΠ΅ Π΄Π΅Π»Π΅ Π΄Π²ΠΈΠΆΠΊΡƒ приходится Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JS-ΠΊΠΎΠ΄Π°. Π’ Ρ†Π΅Π»ΠΎΠΌ, стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ JavaScript-ΠΊΠΎΠ΄Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π² Π±Π°ΠΉΡ‚Π°Ρ…, сопоставимы с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², тратится Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС систСмных рСсурсов.

Π­Ρ‚ΠΈ слова Π±Ρ‹Π»ΠΈ написаны Π² 2018 Π³ΠΎΠ΄Ρƒ, Π½ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ справСдливы. ΠŸΡ€Π°Π²Π΄Π°, учитывая Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ обстановку, высказанная здСсь ΠΌΡ‹ΡΠ»ΡŒ сСгодня воспринимаСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅.

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΌΠΈΡ€Π΅ сСйчас Ρ€Π°Π·Ρ€Π°Π·ΠΈΠ»Π°ΡΡŒ пандСмия, я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΌΠΎΡ‘ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСниС стало Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. К Π½Π°ΡˆΠ΅ΠΌΡƒ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π° страТС благополучия ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° стоят прСкрасныС спСциалисты, Π½Π΅ Π·Π½Π°ΡŽΡ‰ΠΈΠ΅ усталости, большая Ρ‡Π°ΡΡ‚ΡŒ ВсСмирной сСти Π΄ΠΎ сих ΠΏΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Но Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ происходит. Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ соСдинСниСм Π½Π° 100 ΠœΠ±ΠΈΡ‚/с, Π½ΠΎ Ρƒ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Π±ΡƒΠ΄Ρ‚ΠΎ я сиТу Π½Π° 3G-ΠΌΠΎΠ΄Π΅ΠΌΠ΅.

Π­Ρ‚ΠΎ вносит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ рассуТдСния. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ наши устройства ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JavaScript с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ это Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄. Но Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎ сСтям ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π½Π΅ΠΊΠΈΠΉ рСсурс, пСрСдаётся ΠΏΠΎ сСти ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ этого рСсурса.

А Π½Π° сайтах ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ имССтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ 200 Кб ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° с нСсколькими ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ β€” это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅Π»ΠΎ. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ (ΠΈ я Ρ‚ΠΎΠΆΠ΅!), ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, совсСм Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΌΠ΅Π΄ΠΈΠ°-ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ².

Но, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° Π²Π΅Π±-страницах, Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ слоТно. Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ соврСмСнными графичСскими Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ Π²Ρ€ΠΎΠ΄Π΅ WebP. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ, сохранённыС Π² Ρ‚Π°ΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, часто ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² 2-3 Ρ€Π°Π·Π° мСньшС, Ρ‡Π΅ΠΌ Ρ‚Π΅, для хранСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всСм извСстныС ΠΈ всСми Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ старыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ (Π²Ρ€ΠΎΠ΄Π΅ JPG ΠΈ PNG). ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Π² Π»ΡƒΡ‡ΡˆΡƒΡŽ сторону.

ΠžΠ±Ρ‰ΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ соврСмСнных графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²

Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Π±-Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ трСмя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ:

Много Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ графичСскими Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ?

НСсколько мСсяцСв Π½Π°Π·Π°Π΄ я использовал Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, использованноС Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅

Π― ΠΏΡ€ΠΎΠ²Ρ‘Π» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ экспСримСнты, рассмотрСв использованиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² JPG ΠΈ PNG для хранСния исходного изобраТСния. Π― ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ изобраТСния с использованиСм imagemin для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ WebP вмСсто этих Β«Ρ€Π΅Ρ‚Ρ€ΠΎΒ»-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ оказались прямо-Ρ‚Π°ΠΊΠΈ нСвСроятными.

Π― ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ экспСримСнты с мноТСством ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всСгда ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ WebP-Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π° 30-70% мСньшС Ρ‡Π΅ΠΌ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ вСрсии графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

Π’ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² WebP ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° SVG-изобраТСния. Π― ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… экспСримСнтов с SVG Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ». SVG β€” это Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ изобраТСния Π² Π½Ρ‘ΠΌ строятся Π½Π° основС матСматичСских инструкций, Π° Π½Π΅ Π½Π° основС свСдСний ΠΎ Ρ†Π²Π΅Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… пиксСлСй. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ SVG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² WebP β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ возмоТностСй ΠΏΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ SVG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ, полагаю, нСдопустимо. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, я ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ².

БраузСрная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ графичСскиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, заглянСм Π½Π° caniuse.com.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ WebP ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° WebP Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Π₯ΠΎΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ этого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ вСсьма высок, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ»ΠΎΡ…ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Safari ΠΈ Internet Explorer.

А Π²ΠΎΡ‚ β€” свСдСния ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ JPEG 2000.

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JPEG 2000 Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Π’Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Safari Π½Π° нашСй сторонС, Π° Π²ΠΎΡ‚ Internet Explorer ΠΎΠΏΡΡ‚ΡŒ остался Π½Π΅ Ρƒ Π΄Π΅Π».

А ΠΊΠ°ΠΊ насчёт JPEG XR?

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JPEG XR Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

А Ρ‚ΡƒΡ‚ отличился ΠΈΠΌΠ΅Π½Π½ΠΎ Internet Explorer. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ этими трСмя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ (KaiOS Browser Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², ΠΈ я ΠΏΡ€ΠΈΠ½ΠΎΡˆΡƒ Π΅ΠΌΡƒ свои извинСния Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ…ΠΎΠΆΡƒ Π΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ я Π΄Π°ΠΆΠ΅ Π½Π΅ знаю ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Π·Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€).

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ picture ΡΠΏΠ΅ΡˆΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит HTML-ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ примСняСтся элСмСнт picture :

Π’ Chrome, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ эквивалСнтному ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ:

ИспользованиС Π½Π°Π±ΠΎΡ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ элСмСнтов source ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ подходящим окаТСтся хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…. Π’Π°ΠΊ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ webp-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Safari Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ jp2-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, IE β€” jxr-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Упрощённая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ соврСмСнными графичСскими Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ Π²ΠΎ всСх Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Но ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° основываСтся Π½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎ сущСствовании Ρ‚Π΅Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ ссылки.

Если ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ изобраТСния ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ β€” придётся Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² это ΠΌΠ½ΠΎΠ³ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π°. Если ΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… автоматичСски β€” это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΊΠ°ΠΊ извСстно, становится вСсьма ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ процСссом Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ мноТСствС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π›ΠΈΡˆΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ посСтитСли ΠΌΠΎΠ΅Π³ΠΎ Π±Π»ΠΎΠ³Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Internet Explorer (Π·Π° послСдниС 7 Π΄Π½Π΅ΠΉ Π΅Π³ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ лишь 3 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° с IE, Ρ‡Ρ‚ΠΎ составило 0.02% Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Π― ΠΎΡ‚Π΄Π°ΡŽ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ΅ webp-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (Chrome, Firefox, Edge), Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ этого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ (IE, Safari), ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ наслСдиС ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ β€” jpeg-ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ.

Π‘ ΠΌΠΎΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния это β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прогрСссивного ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ остаётся работоспособным Π½Π° старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, хотя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ β€” компромисс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ мСня устраиваСт. (ΠŸΡ€Π°Π²Π΄Π°, я надСюсь, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° WebP скоро появится ΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΎΡ‚ Apple).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ WebP

Компания Google создала Π½Π°Π±ΠΎΡ€ инструмСнтов, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с webp-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… инструмСнтов называСтся cwebp. Он позволяСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² WebP графичСскиС Ρ„Π°ΠΉΠ»Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

Если Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ MacOS, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ этот Π½Π°Π±ΠΎΡ€ инструмСнтов ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Homebrew:

На Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, полагаю, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ подходящий libwebp-ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ· рСпозитория.

ПослС установки инструмСнтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Рассмотрим эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ИспользованиС соврСмСнных графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π² React-прилоТСниях

. Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ для этого React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. На ΠΌΠΎΠΉ взгляд, это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит:

ИспользованиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ImgWithFallback ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Ρ‚Π΅Π³ΠΎΠΌ img :

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ соврСмСнных графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² со стилизованными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ

ИспользованиС ΠΏΠ°ΠΊΠ΅Ρ‚Π° gatsby-image

Если этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π²Π°ΠΌ интСрСсСн β€” взглянитС Π½Π° Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

ΠœΠΈΠ½ΡƒΡΡ‹ WebP

ЕдинствСнным Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ нСдостатком webp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ этого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с изобраТСниями ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚. НапримСр, я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ webp-Ρ„Π°ΠΉΠ»Ρ‹ Π² Preview Π½Π° MacOS. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, скаТСм, Ρ‡Ρ‚ΠΎ Ссли я ΡΠΎΡ…Ρ€Π°Π½ΡŽ webp-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Π²Π΅Π±-страницы, я Π½Π΅ смогу ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅!

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ webp-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² jpeg-Ρ„Π°ΠΉΠ»Ρ‹ β€” процСсс достаточно простой. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ бСсплатных сСрвисов, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Но, это, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ графичСскими Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ. Если ваш сайт ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ с Π½Π΅Π³ΠΎ графичСскиС Ρ„Π°ΠΉΠ»Ρ‹ β€” Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π΅ΡˆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° webp Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.

Π˜Ρ‚ΠΎΠ³ΠΈ

МнС ΠΎΡ‡Π΅Π½ΡŒ нравится Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ благодаря использованию webp ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΌΠΎΡ‘ΠΌ Π±Π»ΠΎΠ³Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 50%. Помимо Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² нашС нСпростоС врСмя это ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ впСчатлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ, я Π΅Ρ‰Ρ‘ надСюсь Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠ½Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° ΠΎΠΏΠ»Π°Ρ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, идСя Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ прСобразования графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ webp выглядит вСсьма Π½Π΅ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΠΉ. Π― ΡƒΠΆΠ΅ занимаюсь ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ вопроса ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ автоматичСски ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ jpg- ΠΈ png-Ρ„Π°ΠΉΠ»Ρ‹. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ этот процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π²ΠΎ врСмя сборки сайта.

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ особСнно ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ особСнностями примСнСния Π½ΠΎΠ²Ρ‹Ρ… графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². Но я полагаю, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² этом вопросС вСсьма ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π’Π΅Π΄ΡŒ использованиС WebP β€” это, вСроятно, самый простой способ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° сотни ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! ΠŸΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ WebP?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ JSON Π½Π° сСрвСрС

И ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎ запросу.

ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° сСрвСр ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ шаг β€” Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС наши Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ с любого устройства. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ нСзависимыми ΠΎΡ‚ локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Как это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

ΠœΡ‹ Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΊΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ JSON Π½Π° сСрвСр ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ возмоТности.

Π›ΠΎΠ³ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ такая:

👉 ΠœΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ самыС простыС ΠΈ Π½Π΅ самыС Π»ΡƒΡ‡ΡˆΠΈΠ΅ конструкции Π² PHP ΠΈ JavaScript. Наша Ρ†Π΅Π»ΡŒ β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ быстрый ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с сСрвСром. Когда разбСрёмся с этим, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΊΠΎΠ΄ ΠΏΠΎΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. А ΠΏΠΎΠΊΠ° Ρ‚Π°ΠΊ.

БохраняСм JSON Π² Ρ„Π°ΠΉΠ» Π½Π° сСрвСрС

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ этой ΠΊΠ½ΠΎΠΏΠΊΠΈ страница обращаСтся Π½Π° сСрвСрС ΠΊ Ρ„Π°ΠΉΠ»Ρƒ json.php, Ρ‚ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ:

Π—Π°Π΄Π°Ρ‡Π° этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° β€” ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сСрвСрС ΠΈ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° страницу. На языкС PHP Ρ‚ΠΎ ΠΆΠ΅ самоС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° послСдниС строки Π² ΠΊΠΎΠ΄Π΅ β€” ΠΌΡ‹ освобоТдаСм ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»Π° Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ ΡƒΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Π—Π°Ρ‡Π΅ΠΌ это Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли этого Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, β€” ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎ сборщики мусора.

ΠŸΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ страницу

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΡƒΡ‡ΠΈΠΌ Π½Π°ΡˆΡƒ страницу ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвСра ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Для этого Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:

// Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ с сСрвСра

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ сырыС Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ Π½Π°ΠΌ сСрвСр.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ всСми измСнСниями, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² наш HTML-Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ рядом с ΠΏΠ΅Ρ€Π²ΠΎΠΉ:

Π‘Π΄Π΅Π»Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ editJSON(), которая сработаСт ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° эту ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π½ΠΎΠ²ΠΎ, ΠΌΡ‹ скопируСм ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sendJSON(), ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π΅Ρ‘ Π² editJSON() ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Ρ‘ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. А ΠΏΠ΅Ρ€Π΅Π΄ этим Π² самом Π½Π°Ρ‡Π°Π»Π΅ скрипта снова Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Π§Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ с JSON, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ с сСрвСра

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, поясним ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСра Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для JavaScript ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π”Π΅Π»ΠΎ Ρ‚ΡƒΡ‚ Π²ΠΎΡ‚ Π² Ρ‡Ρ‘ΠΌ: пСрвая Ρ†ΠΈΡ„Ρ€Π° Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° порядковый Π½ΠΎΠΌΠ΅Ρ€ JSON-записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ отправляли Π½Π° сСрвСр. НумСрация ΠΈΠ΄Ρ‘Ρ‚ с нуля, ΠΊΠ°ΠΊ принято Ρƒ программистов.

Вторая Ρ†ΠΈΡ„Ρ€Π° Ρƒ нас всСгда 0, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ хотя это ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π½ΠΎ каТдая запись состоит всСго ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта. Π’Π°ΠΊ ΠΊΠ°ΠΊ нумСрация с нуля, Ρ‚ΠΎ ΠΌΡ‹ ΠΈ пишСм 0.

ПослС этого Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈΠ΄Ρ‘Ρ‚ имя поля β€” Ρƒ нас это name ΠΈ lastname. Π§Π΅Ρ€Π΅Π· Π½ΠΈΡ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ значСниям ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Π½ΠΈΡ… Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Вакая Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² Π»ΠΎΠ± β€” просто ΠΏΠ΅Ρ€Π΅Π²Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных срСдств языка. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ красивСС, Π½ΠΎ Ρ‚Π°ΠΊ β€” быстрСС.

Π‘Π°ΠΌ ΠΊΠΎΠ΄ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Π”Π΅Π»Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ PHP-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° сСрвСрС

Π’ скриптС ΠΌΡ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π»ΠΈΡΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ edit.php, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρƒ нас Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚. Всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ этого Ρ„Π°ΠΉΠ»Π°, β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ сохранил Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ, ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» это ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠœΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ выносим Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π·Π° свою ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π‘Π°ΠΌ Ρ„Π°ΠΉΠ» довольно прост:

Π§Ρ‚ΠΎ дальшС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ наши старыС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. Π­Ρ‚ΠΈΠΌ ΠΈ займёмся.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ экспорт Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈΠ· срСды R (Rgui)

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π°Π½Π½Ρ‹Ρ…

Как ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… Π΄Π²ΡƒΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ физичСских Π΄Π°Π½Π½Ρ‹Ρ… студСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Ρ‹ΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Π²ΠΎΠ΅Π½Π½Ρ‹Ρ… Π’Π£Π—ΠΎΠ² (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ здСсь: voenvuz_clean). Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² R ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ структуру ΠΈ содСрТаниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ сохранили Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, я сохранил Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Для этого Π² мСню ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Π€Π°ΠΉΠ»» ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΎΠΏΡ†ΠΈΡŽ «ΠΠΎΠ²Ρ‹ΠΉ скрипт». Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅Π΅ΡΡ скриптовоС ΠΎΠΊΠ½ΠΎ вставляСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… статистичСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ SAS, SPSS ΠΈΠ»ΠΈ STATA, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ r-ΠΏΠ°ΠΊΠ΅Ρ‚ «foreign».

Экспорт Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ ΠΈ растровой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈΠ· Rgui

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π² ΠΎΠ΄Π½ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ гистограмма вСса студСнтов ΠΈΠ· нашСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° «ΡΡ‰ΠΈΠΊ с усами», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ распрСдСлСниС вСса Π² Ρ€Π°Π·Π½Ρ‹Ρ… возрастных Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ эти Π΄Π²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΎΠ΄Π½ΠΎ графичСскоС ΠΎΠΊΠ½ΠΎ (ΠΈΠ»ΠΈ графичСский дСвайс), ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ par() :

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅; ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π΅ ΠΏΠΎΠ½ΠΎΡΡ‚ΡŒΡŽ умСщаСтся. Π Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π»Π΅Π³ΠΊΠΎ: растянитС графичСскоС ΠΎΠΊΠ½ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСкст Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ» Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΎΠΊΠ½Π°. ПослС этого, ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° графичСскоС ΠΎΠΊΠ½ΠΎ, Π² мСню Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Π€Π°ΠΉΠ»», Π·Π°Ρ‚Π΅ΠΌ «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ» ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π­Ρ‚ΠΎ самый простой ΠΌΠ΅Ρ‚ΠΎΠ΄ сохранСния изобраТСния ΠΈΠ· срСды R.

Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ статистичСского Π°Π½Π°Π»ΠΈΠ·Π°?

ΠŸΠΎΡΡ‚Π°Π²ΠΈΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ: Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ рСгрСссионного Π°Π½Π°Π»ΠΈΠ·Π°. Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Π·Π°Π²ΠΈcΠΈΡ‚ Π»ΠΈ вСс студСнтов ΠΎΡ‚ роста? Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ модСль, сдСлаСм Π΅Π΅ описаниС ΠΈ построим Π³Ρ€Π°Ρ„ΠΈΠΊ:

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ Вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ графичСскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΈ описаниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² статистичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² консоли. ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ вСс статистичСски зависим ΠΎΡ‚ роста студСнтов: Ρ‡Π΅ΠΌ большС рост, Ρ‚Π΅ΠΌ большС вСс (rΒ² = 0.63, p Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт. Π€ΠΎΡ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ скрипт

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ скрипта ΠΈ истории ΠΊΠΎΠΌΠ°Π½Π΄

Π’Π°ΠΊΠΆΠ΅ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ (я Π½ΠΈΠΊΠΎΠ³Π΄Π° Π΅Π΅ Π½Π΅ сохранял, Π½ΠΎ Π½Π° всякий случай, расскаТу ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ). Для этого ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° ΠΎΠΊΠ½ΠΎ консоли, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π² мСню Π²ΠΊΠ»Π°Π΄Ρƒ «Π€Π°ΠΉΠ»» ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄. «.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ· сСрии «Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² R». Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я рассказал ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык ΠΈ срСда R; Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ R Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. ПослСдниС Ρ‚Ρ€ΠΈ Π±Ρ‹Π»ΠΈ посвящСны Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство срСды, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ (скрипт). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π’Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ достаточный Π±Π°Π³Π°ΠΆ Π·Π½Π°Π½ΠΈΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ бСспрСпятствСнно Π½Π°Ρ‡Π°Ρ‚ΡŒ свой собствСнный ΠΏΡƒΡ‚ΡŒ Π² R.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±ΡƒΠ΄ΡƒΡ‚ посвящСны статистичСским ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ: ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰ΠΈΠΌ, Ρ‚Π°ΠΊ ΠΈ ΡƒΠ·ΠΊΠΎΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Ρ„ΠΈΠ·ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π³Π΅Π½Π΅Ρ‚ΠΈΠΊΠ΅ ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *