Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ программирования Π½Π° языках Π²Ρ€ΠΎΠ΄Π΅ Python, C# ΠΈΠ»ΠΈ Java. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π΅ просто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ скрипты, Π° взаимодСйствуСтС с ΠΌΠΎΡ‰Π½ΠΎΠΉ бизнСс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ, Π³Π΄Π΅ ΠΊΠΎΠ΄ тСсно ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π΅Π½ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ часто каТСтся, Ρ‡Ρ‚ΠΎ синтаксис слишком прост, Π½ΠΎ Π·Π° этой простотой скрываСтся глубокая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ понимания контСкста выполнСния. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ эффСктивно, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² систСмы.

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

ΠžΡΠ½ΠΎΠ²Ρ‹ встроСнного языка ΠΈ синтаксис

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ нСзависимыми подсистСмами ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ ошибкам ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

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

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ 1Π‘ Аналог Π² C# / Java НазначСниС
ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° void method() Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия Π±Π΅Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° значСния
Ѐункция Type method() ВычислСниС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
Если..Π’ΠΎΠ³Π΄Π°..ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ if..else Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ выполнСния
Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ..Из..Π¦ΠΈΠΊΠ» foreach Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ коллСкциям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ try..catch ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ английский синтаксис встроСнного языка Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ссли ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… компаниях ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСмы контроля вСрсий, Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅.

Π“Π΄Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄: ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌ

ПониманиС Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, являСтся критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ. Π’ 1Π‘ сущСствуСт Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° клиСнтскоС ΠΈ сСрвСрноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Ошибка Π² Π²Ρ‹Π±ΠΎΡ€Π΅ мСста размСщСния ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ Π»ΠΈΠ±ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ просто Π½Π΅ сработаСт, Π»ΠΈΠ±ΠΎ ΠΊ критичСским ошибкам бСзопасности ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” это сСрдцС сущности (справочника ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°), Π³Π΄Π΅ описываСтся Π΅Π΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°, Π½Π΅ зависящая ΠΎΡ‚ интСрфСйса.

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

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

πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго допускаСтС ошибки ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°?
Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹
Π’ ΠΎΠ±Ρ‰ΠΈΡ… модулях
Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий
Π—Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ контСкстов выполнСния рСгулируСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ компиляции. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· клиСнтского модуля Π±Π΅Π· proper ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ, систСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ. ВсСгда провСряйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅, &НаБСрвСрС ΠΈ &ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅Π‘Π΅Π·ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ написания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ срСду выполнСния.

Π Π°Π±ΠΎΡ‚Π° с запросами ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…

Одной ΠΈΠ· самых частых Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° являСтся ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹. Π’ 1Π‘ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° SQL, Π½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ написаниС запроса β€” Π·Π°Π»ΠΎΠ³ быстродСйствия всСй систСмы. НСоптимизированный запрос ΠΌΠΎΠΆΠ΅Ρ‚ "ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ" Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Π°Π·Ρ‹ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² час ΠΏΠΈΠΊ.

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

Запрос = Новый Запрос;

Запрос.ВСкст = "ВЫБРАВЬ НомСнклатура.НаимСнованиС

|Π˜Π— Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

|Π“Π”Π• НомСнклатура.ВидНомСнклатуры = &Π’ΠΈΠ΄";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π’ΠΈΠ΄", БсылкаНаВид);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ();

ПослС выполнСния запроса Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°. Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ происходит Π² Ρ†ΠΈΠΊΠ»Π΅ Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ(). Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ полям ΠΊΠ°ΠΊ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Никогда Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ запросы Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ β€” это классичСская ошибка, вСдущая ΠΊ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ росту Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. ВсСгда ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΈΠΌ запросом.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя Π΄Π΅Π»Π°Ρ‚ΡŒ запросы Π² Ρ†ΠΈΠΊΠ»Π΅?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ запрос β€” это ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π‘Π£Π‘Π”. Если Π² Ρ†ΠΈΠΊΠ»Π΅ 1000 элСмСнтов, Π²Ρ‹ сдСлаСтС 1000 запросов. Π­Ρ‚ΠΎ создаст ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр ΠΈ ΡΠ΅Ρ‚ΡŒ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ запрос с условиСм "Π’ (..список IDs..)".

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°

НаписаниС Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок. Π’ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅..ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° критичСских сбоСв. Π­Ρ‚ΠΎ позволяСт систСмС Π½Π΅ "ΠΏΠ°Π΄Π°Ρ‚ΡŒ" ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠΉ ситуации, Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Однако Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ этой конструкциСй ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

  • πŸ” ВсСгда Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ строки Π² сообщСнии ΠΎΠ± ошибкС β€” это быстрСС, Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ вСсь стСк Π²Ρ‹Π·ΠΎΠ²Π°.
  • πŸ›‘οΈ НС Π³Π»ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ»Ρ‡Π°: хотя Π±Ρ‹ записывайтС Ρ„Π°ΠΊΡ‚ ошибки Π² Π»ΠΎΠ³, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.
  • ⚑ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ для пошагового выполнСния ΠΊΠΎΠ΄Π° ΠΈ просмотра Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠΈ интСрфСйс прСдприятия ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Ρƒ Π²Π΅Ρ€ΡΠΈΡŽ, которая ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ написанного ΠΊΠΎΠ΄Π°

Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° тСстовой Π±Π°Π·Π΅ с Π΄Π΅ΡΡΡ‚ΡŒΡŽ записями, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·Π΅ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° этапС написания, Π° Π½Π΅ ΠΊΠ°ΠΊ постфактум ΠΌΠ΅Ρ€Π°. Π“Π»Π°Π²Π½Ρ‹Π΅ Π²Ρ€Π°Π³ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² 1Π‘ β€” это лишниС обращСния ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ нСэффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π² памяти.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ индСксныС поля Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π° запросов. Если Π²Ρ‹ часто ΠΈΡ‰Π΅Ρ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ этот Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ индСксный Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅. Π­Ρ‚ΠΎ ускорит Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π² Ρ€Π°Π·Ρ‹. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ использования составных Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π‘Π£Π‘Π” с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ ΡƒΡΠΊΠΎΡ€Π΅Π½ΠΈΡŽ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· основного запроса, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° основныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ срСдствами языка 1Π‘, Π° Π½Π΅ Π‘Π£Π‘Π”.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°

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

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ понятными ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΡΡƒΡ‚ΡŒ. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ сокращСний Π²Ρ€ΠΎΠ΄Π΅ Π”ΠΎΠΊ ΠΈΠ»ΠΈ Π’Π—, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰Π΅ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы для обозначСния Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ссли это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ, Π½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄. Π§ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ экономит часы Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ поискС ошибок.

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

πŸ’‘

БоблюдСниС стандартов кодирования β€” это Π½Π΅ Π±ΡŽΡ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ, Π° инвСстиция Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, которая окупаСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΆΠ΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ΅ систСмы.

МоТно Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° 1Π‘ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅?

НСт, встроСнный язык 1Π‘ tightly coupled с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π₯отя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ сторонниС инструмСнты для внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, vanessa-editor ΠΈΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для VS Code с использованиСм pre-commit Ρ…ΡƒΠΊΠΎΠ²), компиляция ΠΈ исполнСниС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ срСды 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· инструмСнты Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (CI/CD), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ слуТСбныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ самой сущности (бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π°, расчСты) ΠΈ выполняСтся Π½Π° сСрвСрС. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° интСрфСйс, Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ выполняСтся Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. Π›ΠΎΠ³ΠΈΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ: Ссли ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ бизнСс-Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠ΅, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, Π° Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅.

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° 1Π‘ с нуля?

Π›ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ β€” ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ‡Π΅Π±Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ курсы ΠΈΠ»ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ 1Π‘. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, созданиС простой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ "Π£Ρ‡Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²") эффСктивнСС сухой Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. Π’Π°ΠΆΠ½ΠΎ сразу ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°Ρ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ SQL для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ 1Π‘?

Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ SQL Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для старта, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ свой язык запросов. Однако ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… (индСксы, соСдинСния, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ) критичСски Π²Π°ΠΆΠ½ΠΎ для написания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….