Автозагрузка Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ: Windows , | Windows 7 Windows 10

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ автозапуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Android ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ смартфонС Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ настроСк ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° автономности устройства. ΠœΡ‹ ΡƒΠΆΠ΅ рассказывали ΠΎ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ β€” Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ аккумулятор быстро разряТаСтся. Но ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π½ΠΈΠΌ сущСствуСт ΠΈ другая настройка, нСпосрСдствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π»ΠΈΡΡŽΡ‰Π°Ρ Π½Π° Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ ΠΈ быстродСйствиС устройства. Имя Π΅ΠΉ автозапуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Андроид, Ρ‡ΡŒΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΎΠ΄Π½ΠΎΠΉ стороны каТСтся понятным, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” скрываСт ΠΏΠΎΠ΄ собой массу нюансов. Π’ΠΎ всСм этом Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ дискомфорт Π² процСссС эксплуатации смартфона.

Π‘Π΅Π· автозапуска ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя эта функция сказываСтся Π½Π° зарядС аккумулятора

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ автозапуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π‘ автозапуском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· нас Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΏΠΎ ΠΎΠΏΡ‹Ρ‚Ρƒ взаимодСйствия с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows. На ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ всС ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ ясно: Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ β€” Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сразу послС запуска устройства. Π’ΠΎ Π΅ΡΡ‚ΡŒ послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΎΠΊΠ½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π² список автозапуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

⚑ Подпишись Π½Π° Androidinsider Π² Π”Π·Π΅Π½Π΅, Π³Π΄Π΅ ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

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

Π Π΅ΠΆΠΈΠΌ автозапуска позволяСт прилоТСниям ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ увСдомлСния

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π΅Ρ‰Π΅ ΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сразу послС запуски систСмы Π΄Π°ΠΆΠ΅ Π² случаС, Ссли ΠΎΠ½Π° ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π“Π»Π°Π²Π½ΠΎΠ΅ условиС для этого β€” Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Если ΠΎΠ½ΠΎ Π²Ρ‹Π΄Π°Π½ΠΎ, ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ автозапуск Π½Π΅ трСбуСтся. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ситуации, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ: Π½Π΅ приходят увСдомлСния, смарт-часы ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Андроид ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

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

πŸ”₯ Загляни Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π» Π‘ΡƒΠ½Π΄ΡƒΠΊ Али-Π‘Π°Π±Ρ‹, Π³Π΄Π΅ ΠΌΡ‹ собрали Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ с АлиЭкспрСсс

КакиС прилоТСния Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ

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

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ-мСссСндТСров ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройств

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, всС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΈ зависит ΠΎΡ‚ особСнностСй ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π° ΠΌΠΎΠ΅ΠΌ смартфонС Telegram ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ увСдомлСния Π±Π΅Π· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΡƒΠΌΠ½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ контроля активности. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя WhatsApp пропускаСт Π·Π²ΠΎΠ½ΠΊΠΈ ΠΈ сообщСния с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Ссли ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ мСссСндТСр. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Telegram я ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽ ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π° WhatsApp β€” Π½Π΅Ρ‚.

❗ ПодСлись своим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΠΉ вопрос Π² нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-Ρ‡Π°Ρ‚Π΅

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

Как ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автозапуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ΠΎΡ‚ ΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ ΠΊ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Ρƒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автозапуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Андроид. Для этого Π²Π°ΠΌ понадобится:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ настройки Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°.
  2. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π» Β«ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ», Π° Π·Π°Ρ‚Π΅ΠΌ β€” Β«Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΒ».
  3. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Автозапуск».
  4. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ лишниС прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ.

Многим прилоТСниям автозапуск ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ΅Π½

ΠžΠ±Ρ€Π°Ρ‰Π°ΡŽ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это Π½Π΅ всС настройки. Если Π²Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ названию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ откроСтся мСню Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ. На Xiaomi ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Β«Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ прилоТСниям Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния». Π•Π³ΠΎ стоит Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки автозапуска

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² спискС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π΅ всС прилоТСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· Β«Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈΒ» Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ систСмныС прилоТСния». Π’Π°ΠΊ я, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΡƒΠ·Π½Π°Π», Ρ‡Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΅ΠΌ смартфонС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Β«ΠšΠ°ΠΌΠ΅Ρ€Π°Β». РазумССтся, Π² этом для систСмной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅Ρ‚ нСобходимости.

⚑ Подпишись Π½Π° Androidinsider Π² ΠŸΡƒΠ»ΡŒΡ Mail.ru, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ новости ΠΈΠ· ΠΌΠΈΡ€Π° Андроид ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ

Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Андроид ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ€ΠΎΠ΄Π΅ All-In-One Toolbox:

  1. ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» «Автозагрузка».
  3. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ лишниС прилоТСния.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ автозапуска Ρ‡Π΅Ρ€Π΅Π· сторонниС прилоТСния ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ процСссы, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΊΠ°Π·ΠΎΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ

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

Как ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автозапуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Windows 10

06.10.2021 β€’ 1 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ
Π’Π²ΠΈΡ‚Π½ΡƒΡ‚ΡŒ
Pin
ΠžΡ‚ΠΏΡ€. ΠΏΠΎ эл. ΠΏΠΎΡ‡Ρ‚Π΅
SMS

Π’Π°Ρˆ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Π΄ΠΎΠ»Π³ΠΎ загруТаСтся, ΠΏΡ€ΠΈ запускС Π»Π΅Π·ΡƒΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ? ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΡ‚Π°Ρ‚ΡŒΠΈ-инструкции ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автозапуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Windows 10.

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

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² Windows 10

Автозагрузка Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС виндовс 10 находится Π² диспСтчСрС Π·Π°Π΄Π°Ρ‡ ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ Windows XP ΠΈ Windows 7 Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° располоТСна Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² систСмС, Π½Π°ΠΉΡ‚ΠΈ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«msconfigΒ». ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом я Ρ€Π°Π½Π΅Π΅ писал Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автозапуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ виндоус.

ΠšΡ‚ΠΎ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ инструкции ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” диспСтчСр Π·Π°Π΄Π°Ρ‡

ЗапускаСм диспСтчСр Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° пустом мСстС ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ Π²Π½ΠΈΠ·Ρƒ экрана ΠΌΠ΅ΠΆΠ΄Ρƒ мСню пуск, ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. Π’ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ диспСтчСр Π·Π°Π΄Π°Ρ‡.

Если Ρ‡Π΅Ρ€Π΅Π· панСль Π·Π°Π΄Π°Ρ‡ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ диспСтчСр Π·Π°Π΄Π°Ρ‡ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ, Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ способом. На ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ сочСтаниС клавиш Β«Ctrl + Alt + DeleteΒ».

ПослС этого Π½Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈ диспСтчСр Π·Π°Π΄Π°Ρ‡. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ послСднСС.

Если Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ получаСтся Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ диспСтчСр Π·Π°Π΄Π°Ρ‡, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ диспСтчСр Π·Π°Π΄Π°Ρ‡ β€” task manager.

Если Ρƒ вас ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π°ΡΡŒ урСзанная вСрсия диспСтчСра, Ρ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, Π²Π½ΠΈΠ·.

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

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρƒ мСня список ΠΈΠ· 16 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, 6 ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρƒ мСня со срСдними характСристиками, опСрационная систСма установлСна Π½Π° SSD, поэтому всС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстро Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ загруТаСтся. Если Ρƒ вас слабый ПК ΠΈΠ»ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ всС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π½ΠΈΡ….

Π”Π°Π²Π°ΠΉΡ‚Π΅ я ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρƒ Cortana, которая всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ доступна Π² ΠΌΠΎΡ‘ΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½Π΅. ВыдСляСм Π΅Ρ‘ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ справа Π²Π½ΠΈΠ·Ρƒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. МоТно Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° ΠšΠΎΡ€Ρ‚Π°Π½Ρƒ ΠΈ Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ контСкстном мСню Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.

ПослС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Cortana состояниС статуса помСняСтся с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π½Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.

Если Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Ρ‚ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹Π΅ дСйствия ΠΌΠΎΠΆΠ½ΠΎ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ поиск

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² МСню пуск β€” ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ β€” ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β€” Автозагрузка прилоТСния. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅. Π’ основном ΠΎΠ½ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² свСрнутом Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΠΎΠ½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΏΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ Π½Π° Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ поиском Π²ΠΎΠ·Π»Π΅ мСню пуск, Π³Π΄Π΅ написано Π²Π²Π΅Π΄ΠΈΡ‚Π΅ здСсь тСкст для поиска. НабираСм запрос Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° β€” Π½Π°ΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ систСмы, Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅ΠΌΡΡ Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ настраиваСм всС ΠΏΠΎΠ΄ сСбя.

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠœΡ‹ с Π²Π°ΠΌΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автозапуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Windows 10, воспользовались диспСтчСром Π·Π°Π΄Π°Ρ‡, Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ поиском. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я ΠΏΠΎΠΊΠ°Π·Π°Π» ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Cortana. По возмоТности ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Ρƒ вас слабый ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ρ‚ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ всС.

Π•ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ± этом Π² коммСнтариях Π½ΠΈΠΆΠ΅.

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° наш канал яндСкс Π΄Π·Π΅Π½Β ΠΈ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π½Π°Β ΡŽΡ‚ΡƒΠ±Π΅.

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,Β Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π‘Π΅Ρ€Π³Π΅Π΅Π²Β 6 октября 2021

Навигация ΠΏΠΎ Π±Π»ΠΎΠ³Ρƒ

ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ выпуски Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ


КакиС Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ слСдуСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ?

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

Π― Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π°ΠΌ совсСм Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, это совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ вопрос. Π― Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, Π½ΠΎ Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π·Π°ΠΊΠΎΠ½Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π›ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ нравятся WinZip ΠΈ Photoshop, Π½ΠΎ ΠΌΠ½Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… малСнькиС кусочки Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ постоянно.

Π§Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ?

* ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ бСзопасности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ антивирус ΠΈ брандмауэр. Если ΠΎΠ½ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ вашСго ПК Π±ΡƒΠ΄Π΅Ρ‚ скомпромСтирована.

* Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, Ρ‚ΠΎ ΠΎΠ½ навСрняка шСл с Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ, слСдящим Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΎ стоит ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

* Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ваша звуковая ΠΊΠ°Ρ€Ρ‚Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±Π΅Π· Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°. НСбольшоС исслСдованиС ΠΈ экспСримСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ, Ρ‚Π°ΠΊ Π»ΠΈ это.

* НСкоторыС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ постоянно Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ. К Π½ΠΈΠΌ относятся Copernic Desktop Search, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ VistaStartMenu, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Windows. Π‘ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, стоят Π»ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ, создайтС Ρ‚ΠΎΡ‡ΠΊΡƒ восстановлСния систСмы. Π’ XP Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΡƒΡΠΊΒ», «ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β», Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅Β», Β«Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅Β», «ВосстановлСниС систСмы». Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ восстановлСния, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π”Π°Π»Π΅Π΅ ΠΈ слСдуйтС указаниям мастСра . Π’ Vista Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Start, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ sysdm.cpl ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ENTER . Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ System Protection , Π·Π°Ρ‚Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Create .

Π—Π΄Ρ€Π°Π²Ρ‹ΠΉ смысл подсказываСт Π²Π°ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ Π² msconfig, Π½ΠΎ это Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ мСсто для
Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ с модулями Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ часто Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ исправлСниСм вашСй «ошибки». Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ оставался Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ, сообщитС ΠΎΠ± этом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Π° Π½Π΅ msconfig.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· панСль Π·Π°Π΄Π°Ρ‡. НавСдитС курсор ΠΌΡ‹ΡˆΠΈ Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ссли Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ смысла Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹,
Preferences, ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ· Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ мСню. Если Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, запуститС основноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ посмотритС Ρ‚Π°ΠΌ. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ мСню ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° настроСк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈ запускС ΠΈΠ»ΠΈ отобраТСния Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡. Π‘Π½ΠΈΠΌΠΈΡ‚Π΅ всС Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ².

Но Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² Π²Π°ΠΌ придСтся Π·Π°ΠΉΡ‚ΠΈ Π² msconfig. НС всС Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ Π² систСмном Ρ‚Ρ€Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅, ΠΈ Π½Π΅ всС Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΎΠΊ Π² систСмный Ρ‚Ρ€Π΅ΠΉ. Π˜Ρ‚Π°ΠΊ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Start, Run (просто Start Π² Vista) , Π²Π²Π΅Π΄ΠΈΡ‚Π΅ msconfig ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ENTER . ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Startup .

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сСйчас, это ΡΠ½ΡΡ‚ΡŒ Ρ„Π»Π°ΠΆΠΊΠΈ с Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, ΠΈ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ останутся Π½Π΅ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ. Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, посмотритС Π΅Π³ΠΎ Π½Π° http://www.sysinfo.org/startuplist.php.

ΠŸΡ€ΠΈΡΡ‹Π»Π°ΠΉΡ‚Π΅ свои вопросы ΠΏΠΎ тСхнологиям ΠΌΠ½Π΅ ΠΏΠΎ адрСсу [email protected] ΠΈΠ»ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ ΠΈΡ… Π² сообщСствС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… людСй Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ΅ PCW Answer Line.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” Руководства ΠΏΠΎ Ruby on Rails

1 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ этом руководствС описаны Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ активная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² прилоТСниях Rails.

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ruby зависимости Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ классы ApplicationController 9.0080 ΠΈ ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ , ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для Π½ΠΈΡ…:

 # НЕ ДЕЛАЙВЕ Π­Π’ΠžΠ“Πž.
трСбуСтся "application_controller"
трСбуСтся "пост"
# НЕ ДЕЛАЙ ЭВО.
класс PostsController < ApplicationController
  индСкс Π·Π°Ρ‰ΠΈΡ‚Ρ‹
    @posts = пост. всС
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

Π­Ρ‚ΠΎ Π½Π΅ относится ΠΊ прилоТСниям Rails, Π³Π΄Π΅ классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ просто доступны Π²Π΅Π·Π΄Π΅:

 class PostsController < ApplicationController
  индСкс Π·Π°Ρ‰ΠΈΡ‚Ρ‹
    @posts = пост.всС
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Idiomatic Rails Π²Ρ‹Π΄Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ , Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° lib , стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ruby, Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ Ruby ΠΈ Ρ‚. Π΄. Π’ΠΎ Π΅ΡΡ‚ΡŒ всСго, Ρ‡Ρ‚ΠΎ Π½Π΅ относится ΠΊ ΠΈΡ… путям Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΊΠ°ΠΊ описано Π½ΠΈΠΆΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Rails управляСт ΠΏΠ°Ρ€ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² Zeitwerk ΠΎΡ‚ вашСго ΠΈΠΌΠ΅Π½ΠΈ.

2 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Rails ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ опрСдСляСмым ΠΈΠΌΠΈ константам, Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ пространства ΠΈΠΌΠ΅Π½.

НапримСр, Ρ„Π°ΠΉΠ» app/helpers/users_helper.rb Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ UsersHelper , Π° Ρ„Π°ΠΉΠ» app/controllers/admin/payments_controller.rb Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Admin::PaymentsController .

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Rails настраиваСт Zeitwerk Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ String#camelize . НапримСр, оТидаСтся, Ρ‡Ρ‚ΠΎ app/controllers/users_controller.rb опрСдСляСт константу UsersController , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ:

 "users_controller".camelize # => UsersController
 

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Настройка ΠΏΠ΅Ρ€Π΅Π³ΠΈΠ±ΠΎΠ² Π½ΠΈΠΆΠ΅ описаны способы пСрСопрСдСлСния этого значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Zeitwerk.

3 config.autoload_paths

ΠœΡ‹ ссылаСмся Π½Π° список ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ . НапримСр, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΌΠΎΠ΄Π΅Π»ΠΈ . Π’Π°ΠΊΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ΅ пространство ΠΈΠΌΠ΅Π½: Object .

ΠŸΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Zeitwerk, Π½ΠΎ Π² этом руководствС ΠΌΡ‹ остановимся Π½Π° Β«ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈΒ».

Π’ ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ константам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊ описано здСсь.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния состоят ΠΈΠ· всСх ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² прилоТСния , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния --- Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ рСсурсов , javascript ΠΈ прСдставлСний --- плюс ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ.

НапримСр, Ссли UsersHelper Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² app/helpers/users_helper.rb , ΠΌΠΎΠ΄ΡƒΠ»ΡŒ являСтся Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ (ΠΈ Π½Π΅ слСдуСт ΠΏΠΈΡΠ°Ρ‚ΡŒ) Π²Ρ‹Π·ΠΎΠ² require для Π½Π΅Π³ΠΎ:

 $ bin/ Ρ€Π΅Π»ΡŒΡΠΎΠ²Ρ‹ΠΉ Π±Π΅Π³ΡƒΠ½ 'p UsersHelper'
UsersHelper
 

Rails автоматичСски добавляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² app Π² ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. НапримСр, Ссли Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ/ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² , Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ для автоматичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²; ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.

Массив ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΏΡƒΡ‚Π΅ΠΌ наТатия Π½Π° config.autoload_paths , Π² config/application. rb ΠΈΠ»ΠΈ config/environments/*.rb . НапримСр:

 ΠΌΠΎΠ΄ΡƒΠ»ΡŒ MyApplication
  класс Application < Rails::Application
    config.autoload_paths << "#{root}/extras"
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

Π’Π°ΠΊΠΆΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Π»ΠΎ класса Π΄Π²ΠΈΠΆΠΊΠ° ΠΈ Π² свои собствСнныС config/environments/*.rb .

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π½Π΅ ΠΌΡƒΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ActiveSupport::Dependencies.autoload_paths ; общСдоступный интСрфСйс для измСнСния ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” config.autoload_paths .

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния. Π’ частности, прямо Π² config/initializers/*.rb . ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Автозагрузка ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠŸΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ Rails.autoloaders.main .

4 config.autoload_once_paths

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

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ эта коллСкция пуста, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΅Π΅, Π½Π°ΠΆΠ°Π² config.autoload_once_paths . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² config/application.rb ΠΈΠ»ΠΈ config/environments/*.rb . НапримСр:

 ΠΌΠΎΠ΄ΡƒΠ»ΡŒ MyApplication
  класс Application < Rails::Application
    config.autoload_once_paths << "#{root}/app/serializers"
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

Π’Π°ΠΊΠΆΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Π»ΠΎ класса Π΄Π²ΠΈΠΆΠΊΠ° ΠΈ Π² свои собствСнныС config/environments/*.rb .

Если app/serializers ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² config.autoload_once_paths , Rails большС Π½Π΅ считаСт этот ΠΏΡƒΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Π² app . Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ этим ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ.

Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ для классов ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² мСстах, Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² самой срСдС Rails.

НапримСр, сСриализаторы Active Job хранятся Π²Π½ΡƒΡ‚Ρ€ΠΈ Active Job:

 # config/initializers/custom_serializers.rb
Rails.application.config.active_job.custom_serializers << MoneySerializer
 

ΠΈ сам Active Job Π½Π΅ пСрСзагруТаСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ прилоТСния ΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π² путях Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ MoneySerializer ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии Π½Π΅ повлияСт Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса, хранящийся Π² Active Job. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π±Ρ‹ MoneySerializer Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ, начиная с Rails 7 Ρ‚Π°ΠΊΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ поднял Π±Ρ‹ Ошибка ΠΈΠΌΠ΅Π½ΠΈ .

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования β€” ΠΊΠΎΠ³Π΄Π° Π΄Π²ΠΈΠΆΠΊΠΈ ΡƒΠΊΡ€Π°ΡˆΠ°ΡŽΡ‚ классы Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°:

 ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ "Π΄Π΅ΠΊΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ActionController::Base" Π΄Π΅Π»Π°Ρ‚ΡŒ
  ActiveSupport.on_load(:action_controller_base) Π΄Π΅Π»Π°Ρ‚ΡŒ
    Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MyDecoration
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

Π—Π΄Π΅ΡΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ модуля, хранящийся Π² MyDecoration , ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ запуска ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° становится ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ ActionController::Base , ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° MyDecoration бСссмыслСнна, это Π½Π΅ повлияСт Π½Π° эту Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΏΡ€Π΅Π΄ΠΊΠΎΠ².

ΠšΠ»Π°ΡΡΡ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² config/initializers . Π˜Ρ‚Π°ΠΊ, с этой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

 # config/initializers/custom_serializers.rb
Rails.application.config.active_job.custom_serializers << MoneySerializer
 

ВСхничСски Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, управляСмыС Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· , Π² любом ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся послС :bootstrap_hook .

Автозагрузка послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡƒΡ‚ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Rails.autoloaders.once .

5 $LOAD_PATH

ΠŸΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ $LOAD_PATH ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Однако Π²Π½ΡƒΡ‚Ρ€ΠΈ Zeitwerk ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ , Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², поэтому эти ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° самом Π΄Π΅Π»Π΅ Ρ‚Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ с этим Ρ„Π»Π°Π³ΠΎΠΌ:

 config.add_autoload_paths_to_load_path = false
 

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ , Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ мСньшС запросов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Bootsnap, это избавляСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΡ‚ создания Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… индСксов, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ использованию памяти.

6 ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Rails автоматичСски ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ссли Ρ„Π°ΠΉΠ»Ρ‹ прилоТСния Π² путях Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

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

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ этим ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, β€” config.cache_classes , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°) ΠΈ true ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ производства (ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°).

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Rails ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ событийный Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ для обнаруТСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ…. ВмСсто этого Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для обнаруТСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π­Ρ‚ΠΎ контролируСтся config.file_watcher 9Настройка 0080.

Π’ консоли Rails Π½Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ Π·Π° Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, нСзависимо ΠΎΡ‚ значСния config.cache_classes . Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ΄Π° Π² сСрСдинС сСанса консоли ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. Как ΠΈ Π² случаС с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ запросом, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСанс консоли обслуТивался согласованным, нСизмСняСмым Π½Π°Π±ΠΎΡ€ΠΎΠΌ классов ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ прилоТСния.

Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² консоли, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ reload! :

 irb(main):001:0> User.object_id
=> 701362773
irb(main):002:0> ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ!
ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...
=> ΠΏΡ€Π°Π²Π΄Π°
irb(main):003:0> User.object_id
=> 70136284426020
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса, хранящийся Π² константС User , отличаСтся послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

6.1 ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ruby Π½Π΅Ρ‚ способа ΠΏΠΎ-настоящСму ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² памяти ΠΈ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ это Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. ВСхничСски Β«Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΊΠ°Β» 9Класс 0079 User ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ константы User Ρ‡Π΅Ρ€Π΅Π· Object.send(:remove_const, "User") .

НапримСр, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ этот сСанс консоли Rails:

 irb> joe = User.new
ΠΈΡ€Π±> ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ!
irb> Алиса = User.new
irb> joe.class == alice.class
=> лоТь
 

joe являСтся экзСмпляром исходного класса User . ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ константа User оцСниваСтся ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ класс. alice являСтся экзСмпляром Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ User , Π° joe β€” Π½Π΅Ρ‚ β€” Π΅Π³ΠΎ класс устарСл. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ снова ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ joe , Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ субсСанс IRB ΠΈΠ»ΠΈ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ консоль вмСсто Π²Ρ‹Π·ΠΎΠ²Π° reload! .

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ситуация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, β€” созданиС подклассов ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… классов Π² мСстС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ пСрСзагруТаСтся:

 # lib/vip_user. rb
класс VipUser < ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ
ΠΊΠΎΠ½Π΅Ρ†
 

Ссли ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пСрСзагруТаСтся, Ρ‚.ΠΊ. VipUser Π½Π΅ являСтся супСрклассом VipUser , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся исходным ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса.

Π˜Ρ‚ΠΎΠ³: Π½Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ классы ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ .

7 Автозагрузка ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния

Π’ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ Once . ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π» config.autoload_once_paths Π²Ρ‹ΡˆΠ΅.

Однако Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с ΠΏΡƒΡ‚Π΅ΠΉ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ управляСт основной Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ. Π­Ρ‚ΠΎ относится ΠΊ ΠΊΠΎΠ΄Ρƒ Π² config/initializers , Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ².

ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния. Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ сСрвСр, ΠΎΠ½ΠΈ снова запустятся Π² Π½ΠΎΠ²ΠΎΠΌ процСссС, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ сСрвСр, ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ большС Π½Π΅ запустятся. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Π²Π° основных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования.

7.1 Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ использования 1: Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄
7.1.1 Автозагрузка ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅

Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ ApiGateway β€” это ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ класс ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ/слуТб , управляСмый основным Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ , ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния:

 # config/initializers/api_gateway_setup.rb
ApiGateway.endpoint = "https://example.com" # НЕ ДЕЛАЙВЕ Π­Π’ΠžΠ“Πž
 

ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ApiGateway Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ nil , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ большС Π½Π΅ запускаСтся.

Π’Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ… Π² Π±Π»ΠΎΠΊ to_prepare , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

 # config/initializers/api_gateway_setup.rb
Rails.application.config. to_prepare ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ
  ApiGateway.endpoint = "https://example.com" # ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž
ΠΊΠΎΠ½Π΅Ρ†
 

По историчСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ этот ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄Π²Π°ΠΆΠ΄Ρ‹. Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡ‚Π΅Π½Ρ‚Π½Ρ‹ΠΌ.

7.1.2 Автозагрузка Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² Π±Π»ΠΎΠΊΠ°Ρ… after_initialize . Они Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ снова ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования для этого:

 # config/initializers/check_admin_presence.rb
Rails.application.config.after_initialize ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ
  Ссли Роль.Π³Π΄Π΅(имя: "admin").сущСствуСт?
    Abort "Роль администратора отсутствуСт, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…."
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 
7.2 Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ использования 2: Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ остаСтся Π² кэшС

НСкоторыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π΅Ρ€ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса ΠΈΠ»ΠΈ модуля ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Π΅Π³ΠΎ Π² мСстС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ пСрСзагруТаСтся.

Одним ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО:

 config.middleware.use MyApp::Middleware::Foo
 

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ стСк ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π΅ затрагиваСтся, поэтому любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» сохранСн Π² MyApp::Middleware::Foo Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, остаСтся Ρ‚Π°ΠΌ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” сСриализаторы Active Job:

 # config/initializers/custom_serializers.rb
Rails.application.config.active_job.custom_serializers << MoneySerializer
 

ВсС, Ρ‡Ρ‚ΠΎ MoneySerializer ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, пСрСдаСтся Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ сСриализаторы. Если Π±Ρ‹ это Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ всС Π΅Ρ‰Π΅ находился Π±Ρ‹ Π² Active Job, Π½Π΅ отраТая ваши измСнСния.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅Π»ΡŒΡΡ‹ ΠΈΠ»ΠΈ Π΄Π²ΠΈΠΆΠΊΠΈ, ΡƒΠΊΡ€Π°ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ классы Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΏΡƒΡ‚Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. НапримСр, turbo-rails ΡƒΠΊΡ€Π°ΡˆΠ°Π΅Ρ‚ ActiveRecord::Base ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ "turbo.broadcastable" do
  ActiveSupport. on_load(:active_record) ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ
    Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Turbo::Broadcastable
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

ДобавляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ модуля Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΏΡ€Π΅Π΄ΠΊΠΎΠ² ActiveRecord::Base . ИзмСнСния Π² Turbo::Broadcastable Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΏΡ€Π΅Π΄ΠΊΠΎΠ² останСтся исходной.

БлСдствиС: Π­Ρ‚ΠΈ классы ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ нСльзя ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ .

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

Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΠΈΡ… Π² ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎ config.autoload_once_paths.

8 НСтСрпСливая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Π’ производствСнных срСдах ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ прилоТСния ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния. НСтСрпСливая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ всС Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ запросов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Π° для CoW.

НСтСрпСливая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° контролируСтся Ρ„Π»Π°Π³ΠΎΠΌ config.eager_load , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ production .

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½.

Π’ΠΎ врСмя быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Rails Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Zeitwerk::Loader.eager_load_all . Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ всС зависимости Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ, управляСмыС Zeitwerk, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ с Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ.

9 НаслСдованиС ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

НаслСдованиС ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ β€” это функция, которая ΠΏΠ»ΠΎΡ…ΠΎ сочСтаСтся с ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ API ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ STI для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ лСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ классов Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π° Π½ΠΈΡ… Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сдСлана ссылка. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π½Π΅ ΡΡΡ‹Π»Π°Π»ΠΈΡΡŒ.

Π’ ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ смыслС прилоТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ STI нСзависимо ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ загруТаСтся ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, это ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ. Когда это Π½Π΅ Ρ‚Π°ΠΊ, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляры ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ тСстирования. Один ΠΈΠ· способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ STI Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ lib :

 module StiPreload
  Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Rails.application.config.eager_load
    Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ActiveSupport::Concern
    Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ
      cattr_accessor: ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½, instance_accessor: false
    ΠΊΠΎΠ½Π΅Ρ†
    class_methods Π΄Π΅Π»Π°Ρ‚ΡŒ
      Π΄Π΅Ρ„ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ
        preload_sti, Ссли ΠΎΠ½ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π·Π°Ρ€Π°Π½Π΅Π΅
        супСр
      ΠΊΠΎΠ½Π΅Ρ†
      # ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ всС Ρ‚ΠΈΠΏΡ‹, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС Π½Π°
      # диск, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ STI API
      # обСспокоСнный.
      #
      # ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ store_full_sti_class ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
      Π·Π°Ρ‰ΠΈΡ‚Π° preload_sti
        Ρ‚ΠΈΠΏΡ‹_Π²_Π΄Π± = \
          Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ_класс. 
            Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ.
            Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ (inheritance_column).
            ΠΎΡ‚Ρ‡Π΅Ρ‚Π»ΠΈΠ²Ρ‹ΠΉ.
            ΡΡ€Ρ‹Π²Π°Ρ‚ΡŒ (inheritance_column).
            ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ
        types_in_db.each Π΄Π΅Π»Π°Ρ‚ΡŒ |Ρ‚ΠΈΠΏ|
          logger.debug("ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚ΠΈΠΏΠ° STI #{Ρ‚ΠΈΠΏ}")
          type.constantize
        ΠΊΠΎΠ½Π΅Ρ†
        self.preloaded = ΠΏΡ€Π°Π²Π΄Π°
      ΠΊΠΎΠ½Π΅Ρ†
    ΠΊΠΎΠ½Π΅Ρ†
  ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
 

, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Π΅ классы STI вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

 # app/models/shape.rb
трСбуСтся "sti_preload"
Ρ„ΠΎΡ€ΠΌΠ° класса < ApplicationRecord
  include StiPreload # Волько Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ классС.
ΠΊΠΎΠ½Π΅Ρ†
 
 # ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΌΠΎΠ΄Π΅Π»ΠΈ/polygon.rb
класс ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ < Π€ΠΎΡ€ΠΌΠ°
ΠΊΠΎΠ½Π΅Ρ†
 
 # ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΌΠΎΠ΄Π΅Π»ΠΈ/Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.Ρ€Π±
класс Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ < ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ
ΠΊΠΎΠ½Π΅Ρ†
 

10 Настройка ΠΏΠ΅Ρ€Π΅Π³ΠΈΠ±ΠΎΠ²

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Rails ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ String#camelize , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ константу Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. НапримСр, posts_controller.rb Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ PostsController , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ "posts_controller". camelize .

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ измСняСтся Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. НапримСр, оТидаСтся, Ρ‡Ρ‚ΠΎ html_parser.rb ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ HtmlParser . Π§Ρ‚ΠΎ, Ссли Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ класс HTMLParser ? Π•ΡΡ‚ΡŒ нСсколько способов Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ это.

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹:

 ActiveSupport::Inflector.inflections(:en) ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ |inflect|
  inflect.Π°ΠΊΡ€ΠΎΠ½ΠΈΠΌ "HTML"
  inflect.Π°ΠΊΡ€ΠΎΠ½ΠΈΠΌ "SSL"
ΠΊΠΎΠ½Π΅Ρ†
 

Π­Ρ‚ΠΎ влияСт Π½Π° глобальноС влияниС Active Support. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ способ прСобразования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠ΅Π½ нСзависимо ΠΎΡ‚ Active Support, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈΠ½Ρ„Π»Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

 Rails.autoloaders.each do |autoloader|
  Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ.inflector.inflect(
    "html_parser" => "HTMLParser",
    "ssl_error" => "SSLError"
  )
ΠΊΠΎΠ½Π΅Ρ†
 

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ зависит ΠΎΡ‚ String#camelize , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ„Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² качСствС запасного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Если вмСсто этого Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Active Support ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ измСнСниями, настройтС ΠΈΠ½Ρ„Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠ°ΠΊ экзСмпляры Zeitwerk::Inflector :

 Rails.autoloaders.each do |autoloader|
  autoloader.inflector = Zeitwerk::Inflector.new
  Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ.inflector.inflect(
    "html_parser" => "HTMLParser",
    "ssl_error" => "SSLError"
  )
ΠΊΠΎΠ½Π΅Ρ†
 

НСт глобальной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, которая ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ экзСмпляры; ΠΎΠ½ΠΈ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ собствСнный ΠΈΠ½Ρ„Π»Π΅ΠΊΡ‚ΠΎΡ€ для ΠΏΠΎΠ»Π½ΠΎΠΉ гибкости. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Zeitwerk.

10.1 ΠšΡƒΠ΄Π° слСдуСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³ΠΈΠ±Ρ‹?

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ послС , ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² config/initializers . НапримСр, config/initializers/inflections.rb для Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования Active Support ΠΈΠ»ΠΈ config/initializers/zeitwerk. rb для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Once , Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ эту ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· Ρ‚Π΅Π»Π° класса прилоТСния Π² config/application.rb , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Once ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ„Π»Π΅ΠΊΡ‚ΠΎΡ€ Π² Π½Π°Ρ‡Π°Π»Π΅ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

11 Автозагрузка ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² контСкстС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ прилоТСния, ΠΈ ΠΈΡ… ΠΊΠΎΠ΄ автоматичСски загруТаСтся, пСрСзагруТаСтся ΠΈ загруТаСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ zeitwerk , ΠΊΠΎΠ΄ двигатСля загруТаСтся Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ zeitwerk . Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ classic , ΠΊΠΎΠ΄ ядра загруТаСтся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ classic .

ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Rails ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π΄Π²ΠΈΠΆΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ путям Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π½Π΅Ρ‚. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π»ΠΈ ΠΎΠ½ΠΈ Π΄Π΅Ρ€Π΅Π²Ρƒ исходного ΠΊΠΎΠ΄Π° прилоТСния ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ исходного ΠΊΠΎΠ΄Π° Π΄Π²ΠΈΠΆΠΊΠ°.

НапримСр, это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Devise:

 % bin/rails runner 'pp ActiveSupport::Dependencies.autoload_paths'
[".../ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹",
 ".../ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹/ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹",
 ".../ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ",
 ".../ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΌΠΎΠ΄Π΅Π»ΠΈ",
 ".../ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΌΠΎΠ΄Π΅Π»ΠΈ/ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹",
 ".../Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ/устройство-4.8.0/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹",
 ".../Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ/устройство-4.8.0/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ",
 ".../gems/devise-4.8.0/app/mailers"]
 

Если Π΄Π²ΠΈΠΆΠΎΠΊ управляСт Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ своСго Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ прилоТСния, Π΄Π²ΠΈΠΆΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ.

Однако, Ссли Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Rails 6 ΠΈΠ»ΠΈ Rails 6.1 ΠΈ Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ свои Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ прилоТСния, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² любой ΠΈΠ· классичСский Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ»ΠΈ zeitwerk . Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ:

  1. Если Π² классичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ потрСбуСтся Π²Ρ‹Π·ΠΎΠ² require_dependency , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ константы Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π΅. Пока zeitwerk Π½Π΅ понадобится, Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ zeitwerk .

  2. классичСский Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π°-константы (Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ» -> Β«user.rbΒ»), Π° Ρ€Π΅ΠΆΠΈΠΌ zeitwerk ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² (Β«user.rbΒ» -> Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ»). Они ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, Π½ΠΎ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Ссли Π΅ΡΡ‚ΡŒ ряд ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ², ΠΊΠ°ΠΊ Π² Β«HTMLParserΒ». Π‘Π°ΠΌΡ‹ΠΉ простой способ Π±Ρ‹Ρ‚ΡŒ совмСстимым β€” ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½. Π’ этом случаС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«HtmlParserΒ».

  3. Π’ классичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ app/model/concerns/foo.rb Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Foo , Ρ‚Π°ΠΊ ΠΈ Concerns::Foo . Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ zeitwerk Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Foo . Для совмСстимости ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Foo .

12 ВСстированиС

12.1 Π ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС

Π—Π°Π΄Π°Ρ‡Π° zeitwerk:check провСряСт, соотвСтствуСт Π»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ соглашСниям ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…, ΠΈ это ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Ρ€ΡƒΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ. НапримСр, Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ с classic to zeitwerk mode, ΠΈΠ»ΠΈ Ссли Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ исправляСтС:

 % bin/rails zeitwerk:check
ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, я ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ‡Ρƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ВсС Ρ…ΠΎΡ€ΠΎΡˆΠΎ!
 

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ прилоТСния, Π½ΠΎ послСднСС "ВсС Ρ…ΠΎΡ€ΠΎΡˆΠΎ!" это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅.

12.2 АвтоматизированноС тСстированиС

РСкомСндуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² Π½Π°Π±ΠΎΡ€Π΅ тСстов ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π­Ρ‚ΠΎ касаСтся соотвСтствия имСнования Zeitwerk ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ошибок. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ ΠΎ тСстировании Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² вСрсии 9.0025 Руководство ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Rails .

13 УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ, β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈΡ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ:

 Rails.autoloaders.log!
 

Π² config/application.rb послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ настроСк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ трассировку Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄.

Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ вСсти ΠΆΡƒΡ€Π½Π°Π» Π² Ρ„Π°ΠΉΠ», вмСсто этого настройтС это:

 Rails.autoloaders.logger = Logger.new("#{Rails.root}/log/autoloading.log")
 

РСгистратор Rails Π΅Ρ‰Π΅ нСдоступСн, ΠΊΠΎΠ³Π΄Π° выполняСтся config/application.rb . Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгистратор Rails, вмСсто этого настройтС этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅:

 # config/initializers/log_autoloaders.rb
Rails.autoloaders.logger = Rails.logger
 

14 Rails.autoloaders

ЭкзСмпляры Zeitwerk, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, доступны ΠΏΠΎ адрСсу:

 Rails.autoloaders.main
Rails.autoloaders.once
 

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚:

 Rails.autoloaders.zeitwerk_enabled?
 

ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ доступСн Π² прилоТСниях Rails 7 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true .

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь

Π’Π°ΠΌ прСдлагаСтся ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ качСство этого руководства.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, внСситС свой Π²ΠΊΠ»Π°Π΄, Ссли Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ фактичСскиС ошибки.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅: