Π’ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° находится: Π’ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° хранится Π²?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° MQL4

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² клиСнтском Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ MetaTrader 4, являСтся ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° с постоянно ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ языкС MQL4 эта ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ нашла своё ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ Ρ‚Ρ€Ρ‘Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: init(), start() ΠΈ deinit().

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ init(), start() ΠΈ deinit(), ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ собствСнными свойствами.


Бвойства ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ


ΠžΠ±Ρ‰Π΅Π΅ свойство ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π“Π»Π°Π²Π½Ρ‹ΠΌ свойством всСх ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ являСтся ΠΈΡ… исполнСниС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… условиях Π±Π΅Π· использования Π²Ρ‹Π·ΠΎΠ²Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ для исполнСния клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ описаниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° (ΠΈ исполнСна) Π² соотвСтствии с условиями Π²Ρ‹Π·ΠΎΠ²Π° (собствСнными свойствами).

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ для исполнСния клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ.

БобствСнныС свойства ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ


Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция init().

БобствСнным свойством ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init() являСтся Π΅Ρ‘ исполнСниС ΠΏΡ€ΠΈ запускС (ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ описаниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init(), Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° (ΠΈ исполнСна) Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init(), Ρ‚ΠΎ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ выполняСтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

Π’ экспСртах ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция init() вызываСтся (ΠΈ исполняСтся) Ρ‚Π°ΠΊΠΆΠ΅ сразу послС старта клиСнтского Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠΈ историчСских Π΄Π°Π½Π½Ρ‹Ρ…, послС смСны финансового инструмСнта ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, послС пСрСкомпиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ MetaEditor, послС смСны Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ· ΠΎΠΊΠ½Π° настройки экспСрта ΠΈ послС смСны счёта.

Π’ скриптах ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция init() вызываСтся (ΠΈ исполняСтся) сразу послС прикрСплСния ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ финансового инструмСнта.

Π’ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция init() вызываСтся (ΠΈ исполняСтся) сразу послС старта клиСнтского Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, послС смСны финансового инструмСнта ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, послС пСрСкомпиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ MetaEditor ΠΈ послС смСны Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ· ΠΎΠΊΠ½Π° настройки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.


Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start().

БобствСнныС свойства ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start() ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° исполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ экспСртах ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() вызываСтся (ΠΈ исполняСтся) сразу послС ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ°. Если Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΊ поступил Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ выполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start(), Ρ‚ΠΎ этот Ρ‚ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‚.Π΅. Π²Ρ‹Π·ΠΎΠ² Π½Π° исполнСниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start() Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ВсС ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ выполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start(), Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

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

На Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ исполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start() влияСт состояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ/Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ совСтников». Если указанная ΠΊΠ½ΠΎΠΏΠΊΠ° находится Π² состоянии Π·Π°ΠΏΡ€Π΅Ρ‚Π°, Ρ‚ΠΎ клиСнтский Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ для исполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ start() Π²Π½Π΅ зависимости ΠΎΡ‚ поступлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ. ВмСстС с Ρ‚Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ этой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ состояния Π² состояниС Π·Π°ΠΏΡ€Π΅Ρ‚Π° Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ сСанс Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start().

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() Π½Π΅ вызываСтся клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ свойств экспСрта. Окно свойств экспСрта ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() находится Π² состоянии оТидания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ°.

Π­Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса выполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start() экспСрта.

Π’ скриптах ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() вызываСтся (ΠΈ исполняСтся) ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· сразу послС выполнСния ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init().

Π’ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() вызываСтся (ΠΈ исполняСтся) сразу послС ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΊΠ°, сразу послС прикрСплСния ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠΊΠ½Π° финансового инструмСнта, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° финансового инструмСнта ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ клиСнтского Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (Ссли Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ сСансС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ) Π° Ρ‚Π°ΠΊΠΆΠ΅ послС смСны символа ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π²Π½Π΅ зависимости ΠΎΡ‚ поступлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΎΠΊ.

ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса выполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start() для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ всСх Π²ΠΈΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ отсоСдинСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, смСны финансового инструмСнта ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, смСны счСта, закрытия Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ клиСнтского Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Если ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚ΠΎ врСмя, ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ исполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, составляСт 2,5 сСкунды. Если послС поступлСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция start() ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π»ΠΈΠΌΠΈΡ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ остановлСна клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ.


Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция deinit().

БобствСнным свойством ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit() являСтся Π΅Ρ‘ исполнСниС ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ (Π΄Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ описаниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit(), Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° (ΠΈ исполнСна) Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ закрытия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit(), Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ выполняСтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция deinit() вызываСтся для исполнСния клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ клиСнтского Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π° финансового инструмСнта, нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ смСной финансового инструмСнта ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ пСрСкомпиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ MetaEditor, ΠΏΡ€ΠΈ смСнС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ смСнС счСта.

Π’ экспСртах ΠΈ скриптах Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit() происходит ΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ присоСдинСния ΠΊ ΠΎΠΊΠ½Ρƒ финансового инструмСнта Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄Π°, Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ.

Π’ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… исполнСниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit() Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ присоСдинСния ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π΅ происходит. Π’ ΠΎΠΊΠ½Π΅ финансового инструмСнта ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², поэтому присоСдинСниС ΠΊ ΠΎΠΊΠ½Ρƒ финансового инструмСнта Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° Π½Π° исполнСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit().

ВрСмя исполнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit() ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ 2,5 сСкунды. Π’ случаС, Ссли ΠΊΠΎΠ΄, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ deinit(), выполняСтся дольшС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ клиСнтский Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ deinit() ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ.


ВрСбования ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ функциям

ДопускаСтся отсутствиС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ init() ΠΈ deinit().

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ слСдования Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ описаний ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ΠΈΠ· любого мСста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² соотвСтствии с ΠΎΠ±Ρ‰ΠΈΠΌ порядком Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Однако ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΈΠ·Π²Π½Π΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚, Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡƒΠΌΠΎΠ»Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init() ΠΈ deinit() Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎ возмоТности максимально быстро Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π°Π½ΡŒΡˆΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start().


ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ использования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прСдоставили Π² распоряТСниС программистов ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ: ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго исполняСтся init(), послС этого вся основная Ρ€Π°Π±ΠΎΡ‚Π° (Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, сколько Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ) осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start(), Π° ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Π½Π΅Π½Π°Π΄ΠΎΠ»Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° функция deinit().

Π’Π΅ΡΡŒ основной ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сосрСдоточСн Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ start(). Π’Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Ρ‘ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, обращСния ΠΊ встроСнным ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ функциям, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ вычислСния. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя слСдуСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€ΠΎΠ»ΡŒ, ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ функциям. ОписаниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ располагаСтся Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ описаний ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция Π²Ρ‹Π·Π²Π°Π½Π° для исполнСния, Ρ‚ΠΎ ΠΏΡ€ΠΈ этом ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя пСрСдаётся Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ сама ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… исполнСния Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ Π΅Ρ‘ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ справСдливо Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ всСгда (согласно ΠΈΡ… собствСнным свойствам), Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ….

Π’ случаС Ссли программист Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΅Ρ‘ примСнСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ этом случаС клиСнтский Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π΅Ρ‘ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ слСдуСт ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ всС Ρ‚Ρ€ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init() ΠΈΠ»ΠΈ deinit() ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Π΅ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΈ ΠΎΠ΄Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция, Ρ‚ΠΎ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½Π° исполнСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² соотвСтствии с ΠΈΡ… свойствами. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ клиСнтским Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ содСрТит Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π° содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅), Ρ‚ΠΎ ΠΎΠ½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° для исполнСния.

ΠΠ΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ init() Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ start() ΠΈΠ»ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ окруТСния (Π΄Π°Π½Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Ρ€Ρ‹Π½ΠΎΡ‡Π½Ρ‹Π΅ Ρ†Π΅Π½Ρ‹ ΠΈ ΠΏΡ€. ).

Π’ Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ прСдставлСно нСсколько практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.


Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Β 

Sandbox β€” выдСлСнная срСда для бСзопасного исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Sandbox (пСсочница)

Π­Ρ‚ΠΎ срСда бСзопасного тСстирования. РСшСниС ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ измСнСния Π² ΠΊΠΎΠ΄Π΅ ΠΈ экспСримСнты ΠΎΡ‚ производствСнной срСды ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² контСкстС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий.

ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎ сСти (ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ сообщСния, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈ Ρ‚. Π΄.) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ повСдСнчСского Π°Π½Π°Π»ΠΈΠ·Π°. БистСма ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ APT-ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ Π΄ΠΎ ΠΈΡ… проникновСния Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ хост. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ систСма, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Β«sandboxieΒ», Ρ‡Ρ‚ΠΎ позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ пСсочница ΠΈ ΠΊΠ°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ.

ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Ρ‹ для бизнСса

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

  • рСплицируСтся Π»ΠΈ ΠΊΠΎΠ΄ сам,
  • пытаСтся Π»ΠΈ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎ-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ сСрвСром,
  • Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС,
  • ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ‚. Π΄.

Помимо тСстов Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, «пСсочницы» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для запуска ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ массовым Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ. Π’ стандартной производствСнной бизнСс-срСдС пСсочницы ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сцСнариСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, кибСрбСзопасности ΠΈ исслСдований. Π˜Π·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ ΠΈ бСзопасная срСда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΡ€ΠΈ исслСдовании кибСрбСзопасности, вСдь врСдоносныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ сСти Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠΈΠ΅ΡΡ уязвимости.

ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚:

  • ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ всСх Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²Π²ΠΈΠ΄Ρƒ зараТСния ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π»ΡŒΡ‰ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ врСдоносным ΠΊΠΎΠ΄ΠΎΠΌ;
  • ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ контроля Π½Π°Π΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ хостом ΠΈ ΡΠ΅Ρ‚ΡŒΡŽ Π² Ρ†Π΅Π»ΠΎΠΌ;
  • ΠΎΡ‚ хищСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° финансовых срСдств.

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

Π’ срСдС пСсочницы ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ смогут:

  1. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° основС Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π½Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².
  2. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ скрытыС врСдоносныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  3. Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° сСтСвым Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ.
  4. БСзопасно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ врСдоносный ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с диском.
  5. БСзопасно ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ рССстры / систСму / ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈ Ρ‚. ΠΏ.

API-пСсочница

НаличиС пСсочницы API ΡƒΠΊΡ€Π΅ΠΏΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… API. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° полагаСтся Π½Π° API-интСрфСйсы ΠΊΠ°ΠΊ Π½Π° ядро ​​прилоТСния. ВСстировщики ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ прилоТСния Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ API. Но Ссли эти API-интСрфСйсы всС Π΅Ρ‰Π΅ находятся Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ стороной, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…? ИмСнно здСсь Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ пСсочница API.

ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° API – это срСда, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ тСстировщики ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ характСристик производствСнной срСды ΠΈ создания смодСлированных ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ всСх API, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опираСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. РСшСниС снизит ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ риски, связанныС с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ сторонних API Π²ΠΎ врСмя тСстирования.

ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° API ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚:

  • ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ риски, связанныС с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ сторонних API Π²ΠΎ врСмя тСстирования;
  • провСсти ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Ρ€Ρ‹Π½ΠΎΠΊ;
  • ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сцСнарии ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ вашСго API (Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° API, условия ошибки ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ API).

Β 

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ пСсочница?

Эмуляция Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ устройства

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

Эмуляция ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм

Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ) ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ Π½Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π’ случаС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ пСсочница ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ физичСского оборудования, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ установлСнной ОБ.

Виртуализация срСд

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Sandboxing Security

ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ срСдС тСстирования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для бСзопасного запуска любого прилоТСния ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ Π² производствСнной срСдС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅ΠΌΡƒ доступа ΠΊ производствСнным рСсурсам. Β«SandboxieΒ» позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ врСдоносныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· остановки ΠΈ поврСТдСния критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… для бизнСса рСсурсов.

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

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

Π›ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Sandbox

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

Kaspersky Sandbox

Автоматизированная Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΡƒΠ³Ρ€ΠΎΠ·. Π’ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ динамичСскоС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, простая ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ Kaspersky Security.

Kaspersky Anti Targeted Attack

РСшСниС класса XDR с Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ слоТных ΠΊΠΈΠ±Π΅Ρ€Π°Ρ‚Π°ΠΊ. АвтоматичСскоС Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° слоТныС ΡƒΠ³Ρ€ΠΎΠ·Ρ‹, сбор ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, всСсторонний Π°Π½Π°Π»ΠΈΠ· ΠΈ своСврСмСнноС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΡΠ»ΠΎΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΡƒΠ³Ρ€ΠΎΠ·.

Positive Technologies Sandbox

ΠŸΠ΅Ρ€Π²Π°Ρ пСсочница, которая Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡˆΡƒ инфраструктуру. Гибкая настройка Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… срСд. РСтроспСктивный Π°Π½Π°Π»ΠΈΠ·. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΡƒΡŽ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… срСд для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°ΠΉΠ»Π°Ρ…, Π½ΠΎ ΠΈ Π² Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ΅.

Dr.Web vxCube

Dr.Web vxCube провСряСт Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС. Она позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ зараТСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСм ΠΈ своСврСмСнно ΠΏΡ€Π΅ΡΠ΅Ρ‡ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π°Ρ‚Π°ΠΊ, Π² Ρ‚ΠΎΠΌ числС Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… (APT). РСшСниС доступно Π² Β«ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉΒ» вСрсии ΠΈ Β«On-premiseΒ».

Check Point Sandbox

ВСхнология Check Point SandBlast Zero-Day Protection для прСдотвращСния Ρ€Π°Π½Π΅Π΅ нСизвСстных ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… Π°Ρ‚Π°ΠΊ. SandBlast Threat Emulation β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π½ΠΎΠ²Ρ‹ΠΌ Π²ΠΈΠ΄ΠΎΠΌ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ «пСсочницы» ΠΎΡ‚ Check Point (Check Point Sandbox).

ЗапроситС Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Sandbox обСспСчиваСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ.

Π Π•ΠΠ›Π˜Π—ΠžΠ’ΠΠΠΠ«Π• ΠšΠ•Π™Π‘Π«

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ коммСрчСскоС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

О КОМПАНИИ

Cloud Networks ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ ΠΈ срСдним прСдприятиям Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ управлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ. ΠœΡ‹ занимаСмся Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. БочСтая ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, основанный Π½Π° аналитичСских Π΄Π°Π½Π½Ρ‹Ρ…, со Π·Π½Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, наша ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ стратСгии ΠΈ добиваСтся Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ 63+ Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠ²

Π‘ΠΎΠ»Π΅Π΅ 500 ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

БСртификация ЀБВЭК ΠΈ Π€Π‘Π‘

python — Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ?

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΎΠ΅Π²ΠΎΠΉ систСмы, Π½ΠΎ я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Ρ‹Π» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π²ΠΊΠ»Π°Π΄. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ Π²Π²ΠΎΠ΄, вся функция останавливаСтся, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π²Π²ΠΎΠ΄ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

 Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ враТСской Π°Ρ‚Π°ΠΊΠΈ (TypeOfEnemy):
глобальная гонка
special_ability_prompt = input("") #Когда Π²Ρ‹ создаСтС магичСскиС классы ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ ΠΈΡ… Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, добавляйтС ΠΈΡ… сюда.
Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ (Player.hp > 1 ΠΈ TypeOfEnemy.hp > 1):
    Ссли (special_ability_prompt == "HeavyAttack()"):
        Ссли (raceinput == "ΠŸΠ•Π©Π•Π Π"):
            TypeOfEnemy.hp = TypeOfEnemy.hp - (Player.atk/2)
            print("Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ! ",TypeOfEnemy.name," ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ",(Player.atk / 2), " ΡƒΡ€ΠΎΠ½!")
            time.sleep(Player.atkrate * 1.5)
        Π΅Ρ‰Π΅:
            TypeOfEnemy.hp = TypeOfEnemy.hp - (Player.atk / 5)
            print("Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ! ",TypeOfEnemy.name," ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ",(Player.atk / 2), " ΡƒΡ€ΠΎΠ½!")
            time.sleep(Player.atkrate * 3)
 

Если Π²Ρ‹ посмотритС Π½Π° Ρ†ΠΈΠΊΠ» while, я Π·Π°ΠΏΡ€ΠΎΡˆΡƒ Ρ‚Π°ΠΌ Π²Π²ΠΎΠ΄ ΠΈΠ³Ρ€ΠΎΠΊΠ°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° останавливаСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π― попытался ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эту строку Π² Ρ†ΠΈΠΊΠ» while, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

 While True:
    special_ability_prompt = Π²Π²ΠΎΠ΄ ("")
 

Π― Π΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ это ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ создаст Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ строку Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ Ρ…ΠΎΡ‡Π΅Ρ‚, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π±ΠΈΡ‚Π²Π° ΠΈΠ΄Π΅Ρ‚ Π² прямом эфирС. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ моя функция просто застряла Π² этом Ρ†ΠΈΠΊΠ»Π΅ while, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ застрял Π² true… Если ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π° этом Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠ³ΠΎ эффСкта, Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ. Π’Π΅ΡΡŒ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для воспроизвСдСния этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅ (ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹). Π”Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡ. Бпасибо!

 врСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайный
playername = input("Как тСбя Π·ΠΎΠ²ΡƒΡ‚?")
Π·ΠΎΠ½Π° = 1
Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = 0
счСтчик ΠΎΡ‚Π΄Ρ‹Ρ…Π° = 0
счСтчик поиска = 0
класс Π˜Π³Ρ€ΠΎΠΊ:
    def __init__(self, name, hp, mp, atk, xp, dodgerate, atkrate, gold):
        self.name = имя ΠΈΠ³Ρ€ΠΎΠΊΠ°
        сСлф.Ρ…ΠΏ = Ρ…ΠΏ
        сСлф.ΠΌΠΏ = ΠΌΠΏ
        self. atk = Π°Ρ‚Π°ΠΊΠ°
        сСлф.Ρ…Ρ€ = Ρ…Ρ€
        self.dodgerate = ΡƒΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒΡΡ
        self.atkrate = atkrate
        само.Π·ΠΎΠ»ΠΎΡ‚ΠΎ = Π·ΠΎΠ»ΠΎΡ‚ΠΎ
класс Π’Ρ€Π°Π³(Π˜Π³Ρ€ΠΎΠΊ):
    def __init__(self, name, gold, maxhp, hp, mp, atk, xp, atkrate):
        self.name = имя
        само.Π·ΠΎΠ»ΠΎΡ‚ΠΎ = Π·ΠΎΠ»ΠΎΡ‚ΠΎ
        self.maxhp = maxhp
        сСлф.Ρ…ΠΏ = Ρ…ΠΏ
        сСлф.ΠΌΠΏ = ΠΌΠΏ
        self.atk = Π°Ρ‚Π°ΠΊΠ°
        сСлф.Ρ…Ρ€ = Ρ…Ρ€
        self.atkrate = atkrate
ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ класса:
    def __init__(я, имя, количСство, описаниС, Ρ†Π΅Π½Π°, вСс):
        self.name = имя
        само.количСство = количСство
        self.description = описаниС
        собствСнная Ρ†Π΅Π½Π° = Ρ†Π΅Π½Π°
        собствСнный вСс = вСс
Π˜Π³Ρ€ΠΎΠΊ = Π˜Π³Ρ€ΠΎΠΊ(имя ΠΈΠ³Ρ€ΠΎΠΊΠ°, 1, 1, 1, 1, 1, 0,500, 0)
print(Player.name + "Π±Ρ‹Π» создан.")
Π²Ρ‹Π±ΠΎΡ€ Π³ΠΎΠ½ΠΊΠΈ():
    глобальная гонка
    raceinput = input("Π’Ρ‹ ΠΏΠ»Ρ‹Π²Π΅Ρ‚Π΅ ΠΊ Π₯РАМУ, ΠŸΠ•Π©Π•Π Π• ΠΈΠ»ΠΈ Π›Π•Π‘Π£?")
    Ссли raceinput == "Π₯РАМ":
        print("Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²Ρ‹ΡΡˆΠΈΠΉ ΡΠ»ΡŒΡ„. Π’Ρ‹ΡΡˆΠΈΠ΅ ΡΠ»ΡŒΡ„Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ магичСской силы Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слабы.")
        Π˜Π³Ρ€ΠΎΠΊ.Ρ…ΠΏ = Π˜Π³Ρ€ΠΎΠΊ. Ρ…ΠΏ + 240
        Π˜Π³Ρ€ΠΎΠΊ.ΠΌΠΏ = Π˜Π³Ρ€ΠΎΠΊ.ΠΌΠΏ + 100
        Π˜Π³Ρ€ΠΎΠΊ.Π°Ρ‚Π°ΠΊΠ° = Π˜Π³Ρ€ΠΎΠΊ.Π°Ρ‚Π°ΠΊΠ° + 5000
    elif raceinput == "ΠŸΠ•Π©Π•Π Π":
        print("Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ‹ ΠΎΡ€ΠΊ.")
        Π˜Π³Ρ€ΠΎΠΊ.Ρ…ΠΏ = Π˜Π³Ρ€ΠΎΠΊ.Ρ…ΠΏ + 100
        Π˜Π³Ρ€ΠΎΠΊ.ΠΌΠΏ = Π˜Π³Ρ€ΠΎΠΊ.ΠΌΠΏ + 15
        Π˜Π³Ρ€ΠΎΠΊ.Π°Ρ‚Π°ΠΊΠ° = Π˜Π³Ρ€ΠΎΠΊ.Π°Ρ‚Π°ΠΊΠ° + 50
        Player.atkrate = Π˜Π³Ρ€ΠΎΠΊ.atkrate * 3
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ("ΠΏΠ΅Ρ‰Π΅Ρ€Π°")
    elif raceinput == "Π›Π•Π‘":
        print("Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.")
        Π˜Π³Ρ€ΠΎΠΊ.Ρ…ΠΏ = Π˜Π³Ρ€ΠΎΠΊ.Ρ…ΠΏ + 50
        Π˜Π³Ρ€ΠΎΠΊ.ΠΌΠΏ = Π˜Π³Ρ€ΠΎΠΊ.ΠΌΠΏ + 25
        Π˜Π³Ρ€ΠΎΠΊ.Π°Ρ‚Π°ΠΊΠ° = Π˜Π³Ρ€ΠΎΠΊ.Π°Ρ‚Π°ΠΊΠ° + 25
    Π΅Ρ‰Π΅:
        print("Π’Π°ΠΌ нСльзя ΠΏΠ»Π°Π²Π°Ρ‚ΡŒ!")
        Π²Ρ‹Π±ΠΎΡ€ расы()
Π²Ρ‹Π±ΠΎΡ€ расы()
Def EnemyAttack (TypeOfEnemy):
    глобальная гонка
    special_ability_prompt = input("Use: HeavyAttack") #Когда Π²Ρ‹ создаСтС классы ΠΌΠ°Π³ΠΈΠΈ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ ΠΈΡ… Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, добавляйтС ΠΈΡ… сюда.
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ (Player.hp > 1 ΠΈ TypeOfEnemy.hp > 1):
        if (special_ability_prompt == "HeavyAttack"):
            Ссли (raceinput == "ΠŸΠ•Π©Π•Π Π"):
                TypeOfEnemy.hp = TypeOfEnemy.hp - (Player.atk/2)
                print("Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ! ",TypeOfEnemy. name," ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ",(Player.atk / 2), " ΡƒΡ€ΠΎΠ½!")
                time.sleep(Player.atkrate * 1.5)
            Π΅Ρ‰Π΅:
                TypeOfEnemy.hp = TypeOfEnemy.hp - (Player.atk / 5)
                print("Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ! ",TypeOfEnemy.name," ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ",(Player.atk / 2), " ΡƒΡ€ΠΎΠ½!")
                time.sleep(Player.atkrate * 3)
        time.sleep(TypeOfEnemy.atkrate)
        Player.hp = Player.hp - TypeOfEnemy.atk
        print("The ", TypeOfEnemy.name, " Π°Ρ‚Π°ΠΊΠΎΠ²Π°Π» вас Π·Π°...", TypeOfEnemy.atk , " Ρ…ΠΈΡ‚Ρ‹!")
        time.sleep(Player.atkrate)
        TypeOfEnemy.hp = TypeOfEnemy.hp - (Player.atk / 10)
        print("Π’Ρ‹ Π°Ρ‚Π°ΠΊΠΎΠ²Π°Π»ΠΈ Π²Ρ€Π°Π³Π° Π·Π° ",(Player.atk / 10)"," ΡƒΡ€ΠΎΠ½ (",Player.atkrate ,")" + "Π£ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ° ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ",TypeOfEnemy.hp,"!")
        Ссли (Player.hp <= 1):
                    print(TypeOfEnemy.name + "ΠΏΠΎΠ±Π΅Π΄ΠΈΠ» тСбя!")
                    print("Π’Ρ‹ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π»ΠΈ ΠΈΠ³Ρ€Ρƒ!")
                    lossmessage = input("ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π·?(Y ΠΈΠ»ΠΈ N)")
                    Ссли (ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ сообщСниС == "Y"):
                        Π²Ρ‹Π±ΠΎΡ€ расы()
                    Ссли (ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ сообщСниС == "N"):
                        print("НадСюсь, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ моя ΠΈΠ³Ρ€Π°!")
        Π­Π»ΠΈΡ„ (TypeOfEnemy. hp <= 1):
            print("Π’Ρ‹ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΈ ",TypeOfEnemy.name,"!")
            Player.xp = Player.xp + TypeOfEnemy.xp
            Player.gold = Player.gold + TypeOfEnemy.gold
            игровая подсказка()
ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΡŒ = []
Π΄Π΅Ρ„ подсказка():
    Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΡŒ
    глобальная зона
    глобальноС двиТСниС
    Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ счСтчик ΠΎΡ‚Π΄Ρ‹Ρ…Π°
    Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ счСтчик поиска
    Ссли (двиТСниС == 5):
        Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ - Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
        Π·ΠΎΠ½Π° = Π·ΠΎΠ½Π° + 1
        print("Π’Ρ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π² Π·ΠΎΠ½Ρƒ",zone,"!!!")
        игровая подсказка()
    Ссли (зона == 1):
        print("Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π·ΠΎΠ½Ρƒ! Π—Π΄Π΅ΡΡŒ Π»Π΅Π³ΠΊΠΈΠ΅ Π²Ρ€Π°Π³ΠΈ с Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π΄ΠΎΠ±Ρ‹Ρ‡Π΅ΠΉ./ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ описаниС Π·ΠΎΠ½Ρ‹/")
    Π­Π»ΠΈΡ„ (Π·ΠΎΠ½Π° == 2):
        print("Π­ΠΉ, ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΏΠ°Π» Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π·ΠΎΠ½Ρƒ, ΠΎΡ„ΠΈΠ³Π΅Π½Π½ΠΎ!")
    Π­Π»ΠΈΡ„ (Π·ΠΎΠ½Π° == 3):
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ("Π—ΠΎΠ½Π° 3")
    Π­Π»ΠΈΡ„ (Π·ΠΎΠ½Π° == 4):
        print("Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² Π—ΠΎΠ½Π΅ 4")
    prompt = input("Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³ΡƒΠ»ΡΡ‚ΡŒΡΡ, ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ?:")
    Ссли (подсказка == "Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ"):
        шанс встрСчи = random. randint(1, 3)
        Ссли (ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ == 2):
            Ссли (зона == 1):
                mobspawnrate = random.randint(1,3)
                Ссли (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ появлСния ΠΌΠΎΠ±ΠΎΠ² == 1):
                    слизь = Π²Ρ€Π°Π³ ("Π‘ΠΈΠ½ΠΈΠΉ ΡˆΠ°Ρ€ слизи", 50, 0, 25, 15, 25, 25, 0,500)
                    print("Π’Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с " + slime.name + "!!!")
                    ВрагАтака(слизь)
                    Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ + 1
                Π­Π»ΠΈΡ„ (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ появлСния ΠΌΠΎΠ±ΠΎΠ² == 2):
                    слизь = Π²Ρ€Π°Π³ ("Π‘ΠΈΠ½ΠΈΠΉ ΡˆΠ°Ρ€ слизи", 50, 0, 25, 15, 25, 25, 0,500)
                    print("Π’Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с " + slime.name + "!!!")
                    ВрагАтака(слизь)
                    Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ + 1
                    print("Π’Ρ‹ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΠ»ΠΈΡΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ шаг, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΈ Π²Ρ€Π°Π³Π°!")
                Π­Π»ΠΈΡ„ (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ появлСния ΠΌΠΎΠ±ΠΎΠ² == 3):
                    слизь = Π²Ρ€Π°Π³ ("Π‘ΠΈΠ½ΠΈΠΉ ΡˆΠ°Ρ€ слизи", 50, 0, 25, 15, 25, 25, 0,500)
                    print("Π’Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с " + slime.name + "!!!")
                    ВрагАтака(слизь)
                    Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ + 1
                    print("Π’Ρ‹ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΠ»ΠΈΡΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ шаг, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΈ Π²Ρ€Π°Π³Π°!")
            Ссли (зона == 2):
                mobspawnrate2 = случайный. randint(1,3)
                Ссли (mobspawnrate2 == 1):
                    Π²Ρ€Π°Π³ = Π²Ρ€Π°Π³ ("Π‘ΠΈΠ½ΠΈΠΉ ΡˆΠ°Ρ€ слизи", 50, 0, 25, 15, 25, 0,500)
                    print("Π’Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с " + враТСским.имя + "!!!")
                    ВрагАтака(слизь)
                элиф (мобспаунрСйт2 == 2):
                    Π²Ρ€Π°Π³ = Π²Ρ€Π°Π³ ("Π‘ΠΈΠ½ΠΈΠΉ ΡˆΠ°Ρ€ слизи", 50, 0, 25, 15, 25, 0,500)
                    print("Π’Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с " + враТСским.имя + "!!!")
                    ВрагАтака(слизь)
                элиф (мобспаунрСйт2 == 3):
                    Π²Ρ€Π°Π³ = Π²Ρ€Π°Π³ ("Π‘ΠΈΠ½ΠΈΠΉ ΡˆΠ°Ρ€ слизи", 50, 0, 25, 15, 25, 0,500)
                    print("Π’Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с " + враТСским.имя + "!!!")
                    ВрагАтака(слизь)
        Π΅Ρ‰Π΅:
            Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ + 1
            print("Π’Ρ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΈ шаг. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² ",Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ," ΡˆΠ°Π³Π°Ρ…")
            игровая подсказка()
    elif (подсказка == "поиск"):
        Ссли (счСтчик поиска == 3):
            print("Π’Ρ‹ большС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ‹ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ! ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ‚Π΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·ΠΎΠ½Ρ‹!")
            игровая подсказка()
        Π΅Ρ‰Π΅:
            шанс поиска = случайный. randint(1, 5)
            Ссли (шанс поиска == 1 или 2 или 3 или 4):
                счСтчик поиска = счСтчик поиска + 1
                ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (счСтчик поиска)
                print("Π’Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нашли!")
                шанс поиска = случайный.randint(1,4)
                Ссли (шанс поиска == 1 или 2):
                    inventory.append(Items("Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ Π±ΠΎΡ‚ΠΈΠ½ΠΎΠΊ", 1, "Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ Π²ΠΎΠ½ΡŽΡ‡ΠΈΠΉ Π±ΠΎΡ‚ΠΈΠ½ΠΎΠΊ. ΠšΠΎΠΌΡƒ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ - Π·Π°Π³Π°Π΄ΠΊΠ°...", 5, 50))
                    print("Π’Ρ‹ нашли Π±ΠΎΡ‚ΠΈΠ½ΠΎΠΊ!")
                    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΡŒ)
                Π­Π»ΠΈΡ„ (шанс поиска == 3):
                    inventory.append(Items("Π‘ΠΈΡΡŽΡ‰ΠΈΠΉ Π±ΠΎΡ‚ΠΈΠ½ΠΎΠΊ", 1, "ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π½Π° слСгка ΠΏΠΎΠ½ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ Π±ΠΎΡ‚ΠΈΠ½ΠΎΠΊ. Π’Ρ‹ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½ΠΎΡΠΈΡ‚ΡŒ это.", 5, 50))
                    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΡŒ)
                    print("Π’Ρ‹ нашли блСстящий сапог!")
                Π­Π»ΠΈΡ„ (шанс поиска == 4):
                    inventory.append(Items("Π—ΠΎΠ»ΠΎΡ‚ΠΎΠΉ Π±ΠΎΡ‚ΠΈΠ½ΠΎΠΊ", 1, "Он слишком тяТСл для ношСния, Π½ΠΎ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π°Ρ‚ΡŒ Π·Π° Ρ†Π΅Π»ΠΎΠ΅ состояниС!", 5, 50))
                    print("Π’Ρ‹ нашли Π—ΠΎΠ»ΠΎΡ‚ΡƒΡŽ бутсу?")
                    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΡŒ)
            Π΅Ρ‰Π΅:
                счСтчик поиска = счСтчик поиска + 1
                ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (счСтчик поиска)
                print("Π’Ρ‹ Π½Π΅ нашли Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ†Π΅Π½Π½ΠΎΠ³ΠΎ")
            игровая подсказка()
    Π­Π»ΠΈΡ„ (подсказка == "ΠΎΡ‚Π΄Ρ‹Ρ…"):
        Ссли (остаточный счСтчик == 1):
            print("ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π΄ΠΎΠ±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·ΠΎΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ снова ΠΎΡ‚Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ!")
            игровая подсказка()
        Π΅Ρ‰Π΅:
            # Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ MaxHP ΠΈΠ³Ρ€ΠΎΠΊΡƒ ΠΏΠΎΠ·ΠΆΠ΅, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° rest Π²Π΅Ρ€Π½Π΅Ρ‚ 25% этого HP. 
            Player.hp = Player.hp + (Player.hp / 5)
            print("Π’Ρ‹ восстановили ",(Player.hp / 5)," Ρ…ΠΈΡ‚Ρ‹!")
            счСтчик остатка = счСтчик остатка + 1
            игровая подсказка()
    elif (подсказка == "ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ"):
        print([item.name для ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° Π² ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π΅])
        игровая подсказка()
игровая подсказка()
 

Ρ„Π°ΠΉΠ»ΠΎΠ² — Как ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?

Π—Π°ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ†Π΅Π»ΠΎΠΌ

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, сущСствуСт нСсколько способов Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Π°:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» для записи, ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΄ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ содСрТимоС. (МСнСС распространСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ староС содСрТимоС Π½ΠΎΠ²Ρ‹ΠΌ содСрТимым, ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π΄ΠΎ Π½ΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ссли ΠΎΠ½ ΠΊΠΎΡ€ΠΎΡ‡Π΅.) Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ:

     echo 'Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚' > ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»
     
  2. Π£Π΄Π°Π»ΠΈΡ‚Π΅ старый Ρ„Π°ΠΉΠ» ΠΈ создайтС Π½ΠΎΠ²Ρ‹ΠΉ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ:

     rm ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»
    echo 'Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚' > ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»
     
  3. Π—Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π·Π°Ρ‚Π΅ΠΌ пСрСмСститС Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ удаляСт старый Ρ„Π°ΠΉΠ». Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ:

     echo 'Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚' >somefile.new
    mv ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ».Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»
     

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ всС различия ΠΌΠ΅ΠΆΠ΄Ρƒ стратСгиями, упомяну лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅. Π‘ stategy 1, Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ процСсс Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ», процСсс Π²ΠΈΠ΄ΠΈΡ‚ Π½ΠΎΠ²ΠΎΠ΅ содСрТимоС ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π³ΠΎ обновлСния. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, Ссли процСсс ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ содСрТимоС Ρ„Π°ΠΉΠ»Π° останСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ процСссам, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ (ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° lsof ΠΈΠ»ΠΈ Π² /proc/ PID /fd/ ; ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅), ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ, ΠΎΠ½ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π²ΠΎ врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Β» ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ„Π°ΠΉΠ» (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄Π½Ρƒ ΠΈΠ· описанных Π²Ρ‹ΡˆΠ΅ стратСгий) Π²ΠΎ врСмя опСрация Β«ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Β».

ΠŸΡ€ΠΈ использовании стратСгий 2 ΠΈ 3, Ссли Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ процСссС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» somefile , старый Ρ„Π°ΠΉΠ» остаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π²ΠΎ врСмя обновлСния содСрТимого. ΠŸΡ€ΠΈ стратСгии 2 шаг удалСния Ρ„Π°ΠΉΠ»Π° фактичСски удаляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ запись Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π‘Π°ΠΌ Ρ„Π°ΠΉΠ» удаляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΊ Π½Π΅ΠΌΡƒ Π½Π΅Ρ‚ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ записи ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (Π² Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах Unix ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ записи ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π°) ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ процСсс Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ: Ρ„Π°ΠΉΠ» удаляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса sleep ( rm удаляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свою запись Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅).

 эхо 'старый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚' > ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»
sleep 9999999 

Π’ стратСгии 3 Π½Π° этапС пСрСмСщСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ удаляСтся запись ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, вСдущая ΠΊ старому содСрТимому, ΠΈ создаСтся запись ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, вСдущая ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ содСрТимому. Π­Ρ‚ΠΎ дСлаСтся Π·Π° ΠΎΠ΄Π½Ρƒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, поэтому эта стратСгия ΠΈΠΌΠ΅Π΅Ρ‚ большоС прСимущСство: Ссли процСсс Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ„Π°ΠΉΠ», ΠΎΠ½ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π»ΠΈΠ±ΠΎ старый, Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ β€”Β Π½Π΅Ρ‚ риска ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.

Π—Π°ΠΌΠ΅Π½Π° исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ²

Если Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ 1 с Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ Π² Linux, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС.

 cp /bin/sleep .
./сон 999999 и
эхо ΠΎΠΉ >|ΡΠΏΠ°Ρ‚ΡŒ
bash: сон: тСкстовый Ρ„Π°ΠΉΠ» занят
 

«ВСкстовый Ρ„Π°ΠΉΠ»Β» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ», содСрТащий исполняСмый ΠΊΠΎΠ΄ ΠΏΠΎ нСясным историчСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Linux, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Unix, отказываСтся ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Unix Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ это, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбоям, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ являСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ старого ΠΊΠΎΠ΄Π°.

Π’ Linux Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ динамичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сбою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚. (Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π΅ смоТСтС Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ это с sleep , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ вСсь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ запускС. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ послС сна, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ perl -e 'sleep 9; print lc $ ARGV[0]' . )

Если ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ запускаСт сцСнарий, Ρ„Π°ΠΉΠ» сцСнария открываСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, поэтому Π½Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ пСрСзаписи сцСнария. НСкоторыС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ вСсь сцСнарий Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π½ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ сцСнарий ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. Π‘ΠΌ. Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ сцСнарий Π²ΠΎ врСмя выполнСния? ΠΈ Как Linux справляСтся со сцСнариями ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ? Π‘ΠΎΠ»ΡŒΡˆΠ΅ подробностСй.

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ 2 ΠΈ 3 Ρ‚Π°ΠΊΠΆΠ΅ бСзопасны для исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ²: хотя исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ (ΠΈ динамичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ) Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² смыслС наличия Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора, ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅. Пока какая-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСт ΠΊΠΎΠ΄, Ρ„Π°ΠΉΠ» остаСтся Π½Π° дискС Π΄Π°ΠΆΠ΅ Π±Π΅Π· записи Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ОбновлСниС прилоТСния

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ 3 для Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ·-Π·Π° упомянутого Π²Ρ‹ΡˆΠ΅ основного прСимущСства β€”Β Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсии.

Ошибка ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ прилоТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° являСтся Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΌ, Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ прилоТСния Π² Ρ†Π΅Π»ΠΎΠΌ β€” Π½Π΅Ρ‚, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.

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

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