ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ систСмы с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ контроля Π·Π½Π°Π½ΠΈΠΉ

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авлСния. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡ€Π°Π²ΠΈΠ» (Π°Π½Π³Π». rules) прСдставляСт собой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ DML-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΡΡ‚Π°ΠΏΠ΅ Ρ€Π°Π·Π±ΠΎΡ€Π° запроса, Π΄ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° выполнСния ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ процСсса выполнСния. ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ систСмы с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ контроля Π·Π½Π°Π½ΠΈΠΉ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. Анализ тСхничСского задания
  • 2. ΠžΠ±Π·ΠΎΡ€ ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, языков программирования ΠΈ Π‘Π£Π‘Π” для создания систСмы
    • 2.1 ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ языки программирования
    • 2.2 Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ языки программирования
    • 2.3 БистСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
    • 2.4 БрСдства построСния Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • 3.Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· алгоритмичСского ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
  • 4. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π”
    • 4.1 Π˜Π½Ρ„ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
    • 4.2 ЛогичСскоС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • 5. ВСстирования, вСрификация ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ эксплуатация систСм. Настройка ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² систСмы
    • 5.1 ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ сбора Π΄Π°Π½Π½Ρ‹Ρ…
    • 5.2 ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ новостная Π»Π΅Π½Ρ‚Π°
    • 5.3 ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ прогнозирования
  • 6. ЭргономичСскиС особСнности ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€ΡƒΠ΄Π° ΠΏΡ€ΠΈ использовании систСмы сбора статистичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ возмоТностСй систСмы ΠΎΠ±Ρ‰Π΅Π³ΠΎ образования
    • 6.1 ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния
    • 6.2 Π₯арактСристика условий Ρ‚Ρ€ΡƒΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° систСмы сбора статистичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ возмоТностСй систСмы ΠΎΠ±Ρ‰Π΅Π³ΠΎ образования
    • 6.3 Π­Ρ€Π³ΠΎΠ½ΠΎΠΌΠΈΠΊΠ° физичСской срСды
    • 6.4 ЭргономичСскиС трСбования ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ мСсту
    • 6.5 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ эргономика
    • 6.6 РасчСт освСщСнности
    • 6.7 РасчСт уровня ΡˆΡƒΠΌΠ°
    • Π’Ρ‹Π²ΠΎΠ΄
  • 7. БизнСс-ΠΏΠ»Π°Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ систСмы с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ контроля Π·Π½Π°Π½ΠΈΠΉ
    • 7.1 РСзюмС
    • 7.2 Π₯арактСристика Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
    • 7.3 Анализ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ
    • 7.4 ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½
    • 7.5 ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ риска
    • 7.6 Ѐинансовый ΠΏΠ»Π°Π½
    • 7.7 ΠžΡ†Π΅Π½ΠΊΠ° эффСктивности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
    • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

      ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ развития систСмы

  • Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Выпускники систСмы ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования ΡΠ²Π»ΡΡŽΡ‚ΡΡ основным источником удовлСтворСния потрСбности Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ силС Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°, ΠΈ ΠΈΡ… Ρ‡ΠΈΡΠ»Π΅Π½Π½Π°Ρ прогнозная ΠΎΡ†Π΅Π½ΠΊΠ° слуТит основой для расчСта баланса Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Ρ‹Ρ… рСсурсов Π½Π° ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, выпускники систСмы ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования вносят сущСствСнный Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ступСнСй образования, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΡ… ΠΎΡ†Π΅Π½ΠΊΠ΅. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выпускники ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования (НПО) Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… Π»Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π² ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ срСднСго ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования (БПО) 8%, Π° Π²Ρ‹ΠΏΡƒΡΠΊΠ½ΠΈΠΊΠΈ БПО Π² ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ Π² ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования (Π’ΠŸΠž) — 28%. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ выпуск ΠΈΠ· ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ систСмы ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования.

Выпускники 9-Ρ… ΠΈ 11-Ρ… классов школ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠΌ внСшнСС воздСйствиС Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΡƒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования. Π§ΠΈΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ выпускников ΠΎΠ±Ρ‰Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… школ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° ΠΎΠ±ΡŠΠ΅ΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ учрСТдСния ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования. Π’ ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ выпускников школ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ Π΄Π΅ΠΌΠΎΠ³Ρ€Π°Ρ„ичСского Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° роТдаСмости.

ΠŸΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ числСнности ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ студСнтов позволяСт Π² ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ объСм государствСнных Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Ρ„инансированиС образования.

1. Анализ тСхничСского задания

ЦСлью Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы сбора статистичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ возмоТностСй систСмы ΠΎΠ±Ρ‰Π΅Π³ΠΎ образования с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² прогнозирования (ВинтСрса) ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов прСдставлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠ³ΠΎ проСктирования являСтся web-сайт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ расчСт ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ возмоТностСй систСмы ΠΎΠ±Ρ‰Π΅Π³ΠΎ образования, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ этих дСйствий Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ† (Excel, Html, Pdf) ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ (гистограмм, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ Π΄Ρ€.). Web-сайт Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ сбора Π΄Π°Π½Π½Ρ‹Ρ…;

ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ прогнозирования;

ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ новостной Π»Π΅Π½Ρ‚Ρ‹;

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

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ трСбования ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ:

К Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ:

ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой сСмСйства Windows, Linux ΠΈΠ»ΠΈ Mac OS;

К ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСмы:

опСрационная систСма сСмСйства Windows, Linux ΠΈΠ»ΠΈ MacOS;

Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ с Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ svg ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ;

Π²Π΅Π±-сСрвСр Apache;

языкпрограммированияphp, JavaScript.

язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ HTML;

интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ NetBeans 7.0;

case-срСдство Erwin;

Π‘Π£Π‘Π” MySQL.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ для использования систСмы:

опСрационная систСма сСмСйства Windows, Linux ΠΈΠ»ΠΈ MacOS;

Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… SVG ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ВрСбования ΠΊ ΡΡ€Π³ΠΎΠ½ΠΎΠΌΠΈΠΊΠ΅ ΠΈ ΡΡ„фСктивности. БистСма Π΄ΠΎΠ»ΠΆΠ½Π°:

Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ максимально эффСктивно, ΠΎΠ±ΠΌΠ΅Π½Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹;

ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ открытости ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π‘Ρ‹Ρ‚ΡŒ достаточно «Π»Π΅Π³ΠΊΠΎΠΉ» ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ графичСских элСмСнтов ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π»Π΅Π³ΠΊΡƒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ€Π°Π·Π΄Π΅Π»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ;

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°;

ΠžΠ±Π»Π°Π΄Π°Ρ‚ΡŒ систСмой контСкстных подсказок Π² ΠΌΠ΅ΡΡ‚Π°Ρ…, Π³Π΄Π΅ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ затруднСния;

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉΡ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΏΡ€ΠΈΡ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ΅ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΠ½Π°ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π΅.

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

2. ΠžΠ±Π·ΠΎΡ€ ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, языков программирования ΠΈ Π‘Π£Π‘Π” для создания систСмы

2.1 ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ языки программирования

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

НазваниС «JavaScript» являСтся зарСгистрированным Ρ‚ΠΎΠ²Π°Ρ€Π½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Oracle Corporation.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹:

динамичСская типизация;

слабая типизация;

автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ;

ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;

Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса.

На JavaScript ΠΎΠΊΠ°Π·Π°Π»ΠΈ влияниС ΠΌΠ½ΠΎΠ³ΠΈΠ΅ языки, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±Ρ‹Π»Π° Ρ†Π΅Π»ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ язык ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° Java, Π½ΠΎ ΠΏΡ€ΠΈ этом Π»Ρ‘Π³ΠΊΠΈΠΌ для использования нСпрограммистами. Π―Π·Ρ‹ΠΊΠΎΠΌ JavaScript Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚ какая-Π»ΠΈΠ±ΠΎ компания ΠΈΠ»ΠΈ организация, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚ Ρ€ΡΠ΄Π° языков программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

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

ВозмоТности языка

JavaScript ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка, Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² ΡΠ·Ρ‹ΠΊΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ обуславливаСт отличия Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, JavaScript ΠΈΠΌΠ΅Π΅Ρ‚ ряд свойств, присущих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ языкам— Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΊ списки, ΠΊΠ°Ρ€Ρ€ΠΈΠ½Π³, Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, замыкания— Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π°Ρ‘Ρ‚ языку Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ.

НСсмотря Π½Π° ΡΡ…ΠΎΠΆΠΈΠΉ с Π‘ΠΈ ΡΠΈΠ½Ρ‚аксис, JavaScript ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡΠ·Ρ‹ΠΊΠΎΠΌ Π‘ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΡ€Π΅Π½Π½Ρ‹Π΅ отличия:

— ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ интроспСкции;

— Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса;

— Π°Π²Ρ‚оматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²;

— Π°Π²Ρ‚оматичСская сборка мусора;

— Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ ΡΠ·Ρ‹ΠΊΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ:

— ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ систСма: JavaScript Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт возмоТности ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ зависимостями ΠΈ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΠ΅ΠΉ областСй видимости;

— ΡΡ‚андартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°: Π² Ρ‡Π°ΡΡ‚ности, отсутствуСт интСрфСйс программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² для Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…;

— ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ интСрфСйсы ΠΊ Π²Π΅Π±-сСрвСрам ΠΈ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…;

— ΡΠΈΡΡ‚Π΅ΠΌΠ° управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, которая Π±Ρ‹ отслСТивала зависимости ΠΈ Π°Π²Ρ‚оматичСски устанавливала ΠΈΡ….

Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° ΠΈ ΡΠΈΠ½Ρ‚аксис

Бинтаксис языка JavaScript Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ синтаксис Π‘ΠΈ ΠΈ Java, сСмантичСски ΠΆΠ΅ язык Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ Self, Smalltalk. Π’ JavaScript:

— Π²ΡΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ рСгистрозависимы,

— Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹, ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅, символ Π΄ΠΎΠ»Π»Π°Ρ€Π°, арабскиС Ρ†ΠΈΡ„Ρ€Ρ‹,

— Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Ρ†ΠΈΡ„Ρ€Ρ‹,

— Π΄Π»Ρ оформлСния однострочных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ //, многострочныС ΠΈ Π²Π½ΡƒΡ‚ристрочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с /* ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ся */. [4]

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° языка

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎ JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ объСдинСния Ρ‚Ρ€Ρ‘Ρ… Ρ‡Ρ‘Ρ‚ΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΌΡ‹Ρ… Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° частСй:

- ядро;

— ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ная модСль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°;

— ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ная модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Если Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ JavaScript Π² ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° окруТСниях, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ная модСль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ная модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° — Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎ-спСцифичная Ρ‡Π°ΡΡ‚ΡŒ языка, ΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ прослойкой ΠΌΠ΅ΠΆΠ΄Ρƒ ядром ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ модСлью Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ОсновноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚вия. КаТдоС ΠΈΠ· ΠΎΠΊΠΎΠ½ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° прСдставляСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ window, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ BOM (browser object model). ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ спСцификация находится Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ WHATWG (Web Hypertext Application Technology Working Group) ΠΈ W3C (World Wide Web Consortium).

Помимо управлСния ΠΎΠΊΠ½Π°ΠΌΠΈ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ обСспСчиваСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сущностСй:

— ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ°ΠΌΠΈ,

— ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ,

— ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ,

— ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ адрСсом ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ страницы,

— ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅,

— ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°,

— ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ историСй просмотра страниц,

— ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с HTTP cookie.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°— интСрфСйс программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для HTML ΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Богласно DOM (document object model) Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΡΠΎΠΎΡ‚вСтствиС Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… рядом свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с Π½ΠΈΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ манипуляции:

— ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»ΠΎΠ²,

— ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»ΠΎΠ²,

— ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ,

— ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»ΠΎΠ².

РасполоТСниС Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³Π°

БпСцификация HTML описываСт Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для задания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ

ΠžΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΡΡΡ‹Π»ΠΊΡƒ функция Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ модальноС ΠΎΠΊΠ½ΠΎ с Π½Π°Π΄ΠΏΠΈΡΡŒΡŽ «Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹?» ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JavaScript, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Π±Π΅Π· прСдупрСТдСния.

ИспользованиС ΠΊΠΎΠ΄Π° JavaScript Π²Π½ΡƒΡ‚Ρ€ΠΈ HTML Ρ‚Π΅Π³ΠΎΠ² являСтся ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ ссылку ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ:

window.onload=function (){

var linkWithAlert = document. getElementById («alertLink»);

linkWithAlert.onclick=function (){

returnconfirm ('Π’Ρ‹ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹?');

};

};

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

- JavaScript-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΡΡ€Π΅Π΄Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³ дСйствий, Π° Π½Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, созданиС Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π° с ΡΠΎΠΊΠ΅Ρ‚Π°ΠΌΠΈ),

— Π΄Π»Ρ JavaScript-ΠΊΠΎΠ΄Π° примСняСтся ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ происхоТдСния, Π² ΡΠΎΠΎΡ‚вСтствии с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ скрипт, встроСнный Π² ΡΡ‚Ρ€Π°Π½ΠΈΡ†Ρƒ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€ΡΠ΄Ρƒ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΎΠΉ страницы (Π² Ρ‡Π°ΡΡ‚ности, ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° document) ΠΏΡ€ΠΈ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅, хостС ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π΅ ΠΏΠΎΡ€Ρ‚Π° этих страниц.

Java — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, поэтому ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Java-машинС (JVM) нСзависимо ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π”Π°Ρ‚Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выпуска — 23 ΠΌΠ°Ρ1995 Π³ΠΎΠ΄Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности языка

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, выполняСмый Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной Java (JVM) — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰Π΅ΠΉ инструкции ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

Достоинство ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ способа выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ — Π² ΠΏΠΎΠ»Π½ΠΎΠΉ нСзависимости Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Java-прилоТСния Π½Π° Π»ΡŽΠ±ΠΎΠΌ устройствС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сущСствуСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина. Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java являСтся гибкая систСма бСзопасности благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ исполнСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ контролируСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной. Π›ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ установлСнныС полномочия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° нСсанкционированного доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ соСдинСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ) Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅.

Часто ΠΊ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°ΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ относят Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ исполнСниС Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java. Π”Π°Π½Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ справСдливо для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсий Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ врСмя ΠΎΠ½ΠΎ практичСски потСряло Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎΠΌΡƒ способствовал ряд ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ:

ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ трансляции Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ нСпосрСдствСнно Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (JIT-тСхнология) с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ сохранСния вСрсий класса Π² ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ использованиС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (native-ΠΊΠΎΠ΄) Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΡƒΡΠΊΠΎΡ€Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, тСхнология Jazelle, поддСрТиваСмая Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ процСссорами Ρ„ΠΈΡ€ΠΌΡ‹ ARM).

По Π΄Π°Π½Π½Ρ‹ΠΌ сайта shootout.alioth.debian.org, для сСми Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ врСмя выполнСния Π½Π° Java составляСт Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ Π² ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π°-Π΄Π²Π° Ρ€Π°Π·Π° большС, Ρ‡Π΅ΠΌ для C/C++, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Java быстрСС, Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях Π² 7 Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти Java-машиной Π±Ρ‹Π»ΠΎ Π² 10−30 Ρ€Π°Π· большС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π° C/C++.

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ;

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций;

Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ срСдств Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°;

Π½Π°Π±ΠΎΡ€ стандартных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ массив, список ΠΈ ΡΡ‚Π΅ΠΊ;

Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ простых срСдств создания сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;

Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ классов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ HTTP-запросы ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹;

встроСнныС Π² ΡΠ·Ρ‹ΠΊ срСдства создания ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;

ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…:

Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… SQL-запросов — Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ JDBC, SQLJ;

Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… — Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Java Data Objects ΠΈ Java Persistence API;

ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° шаблонов (начиная с Π²Π΅Ρ€ΡΠΈΠΈ 1.5);

ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈ матСматичСских опСрациях

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Java Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

Если ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ double, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ double.

Π˜Π½Π°Ρ‡Π΅, Ссли ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ float, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ float.

Π˜Π½Π°Ρ‡Π΅, Ссли ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ long, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ прСобразуСтся ΠΊ Ρ‚ΠΈΠΏΡƒ long.

Π˜Π½Π°Ρ‡Π΅ ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΊ Ρ‚ΠΈΠΏΡƒ int.

Π”Π°Π½Π½Ρ‹ΠΉ способ нСявного прСобразования встроСнных Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совпадаСт с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² Π² C++. [30]

Π‘Π±ΠΎΡ€ΠΊΠ° мусора

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

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java являСтся Java-Π°ΠΏΠΏΠ»Π΅Ρ‚.

Java-Π°ΠΏΠΏΠ»Π΅Ρ‚ — прикладная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Java Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. Java-Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Java ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (JVM) — Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ инструмСнтС для тСстирования Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ². Java-Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии языка Java Π² 1995.

АпплСты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдоставлСния ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… возмоТностСй Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдоставлСны HTML. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Java ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-нСзависим, Ρ‚ΠΎ Java-Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Microsoft Windows, UNIX, Apple Mac OS ΠΈ GNU/Linux.

ВСхничСская информация

Java-Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² «ΠΏΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π΅», прСдотвращая ΠΈΡ… Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. Код Π°ΠΏΠΏΠ»Π΅Ρ‚Π° загруТаСтся с Π²Π΅Π±-сСрвСра, ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π»ΠΈΠ±ΠΎ вставляСт Π°ΠΏΠΏΠ»Π΅Ρ‚ Π² Π²Π΅Π±-страницу, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом Π°ΠΏΠΏΠ»Π΅Ρ‚Π°. АпплСт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π½Π° Π²Π΅Π±-страницС ΠΏΡƒΡ‚Π΅ΠΌ использования ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ HTML элСмСнта applet, ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ³ΠΎ элСмСнта object. Π­Ρ‚ΠΈΠΌ опрСдСляСтся мСсторасполоТСниС ΠΈ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π°ΠΏΠΏΠ»Π΅Ρ‚Π°.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ²

1. ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. АпплСт ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° «Π²ΡΠ΅Ρ…» установлСнных ΠΊ ΡΡ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ вСрсиях Java, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ вСрсиСй; ΠΎΠ΄Π½Π°ΠΊΠΎ, Ссли Π°ΠΏΠΏΠ»Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ JRE, Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΆΠ΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ;

2. Π°ΠΏΠΏΠ»Π΅Ρ‚ поддСрТиваСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²;

3. ΠΎΠ½ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ся Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ быстро Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Π½Π° Π²Π΅Π±-страницу; Π½ΠΎ Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² ΠΊΡΡˆΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ послС Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½ΠΎΠ²Ρ‹Ρ… вСрсий;

4. ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ согласСн Π½Π° ΡΡ‚ΠΎ;

5. Π°ΠΏΠΏΠ»Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ использованиС: послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ запуска Π°ΠΏΠΏΠ»Π΅Ρ‚Π°, ΠΊΠΎΠ³Π΄Π° JVM ΡƒΠΆΠ΅ выполняСтся ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΠΎ запускаСтся, прСимущСствСнно Ρƒ ΠΏΠΎΡΡ‚оянных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Java, ΠΎΠ΄Π½Π°ΠΊΠΎ JVM придСтся ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° запускаСтся Π½ΠΎΠ²Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

6. ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ с ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΠΎΠΉ (Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅) ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C++, Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Java Script

7. ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ пСрСнСсти Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, дСлая Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с, большим числом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ / ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

НСдостатки Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ²

1. ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Java-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (plug-in), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… доступно ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ;

2. ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΏΡƒΡΡ‚ится Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Java-машина, ΠΈ ΡΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС;

3. созданиС ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΠΏΠΏΠ»Π΅Ρ‚ΠΎΠ² считаСтся Π±ΠΎΠ»Π΅Π΅ слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Ρ‡Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, основанной Π½Π° HTML;

4. Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, установлСнноС администраторами. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

5. Π°ΠΏΠΏΠ»Π΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ использования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ JRE.

2.2 Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ языки программирования

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

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ построСния Π²Π΅Π±-сайтов опрСдСляСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ большого Π½Π°Π±ΠΎΡ€Π° встроСнных срСдств для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

— Π°Π²Ρ‚оматичСскоС ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ POST ΠΈ GET-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния Π²Π΅Π±-сСрвСра Π² ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ массивы;

— Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (MySQL, SQLite, PostgreSQL, Oracle ΠΈ Ρ‚. Π΄.);

— Π°Π²Ρ‚оматизированная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²;

— Ρ€Π°Π±ΠΎΡ‚Π° с HTTP-Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ;

— Ρ€Π°Π±ΠΎΡ‚Π° с cookies ΠΈ ΡΠ΅ΡΡΠΈΡΠΌΠΈ;

— Ρ€Π°Π±ΠΎΡ‚Π° с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, сокСтами.

— ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ², Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€;

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° [7]

PHP-скрипты, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния:

1. лСксичСский анализисходного ΠΊΠΎΠ΄Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ лСксСм,

2. синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… лСксСм,

3. гСнСрация Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°,

4. Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ (Π±Π΅Π· создания исполняСмого Ρ„Π°ΠΉΠ»Π°).

Для увСличСния быстродСйствия ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, использованиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… аксСлСраторов. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ сгСнСрированного Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈ/ΠΈΠ»ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ этапы 1—3, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΡƒΡΠΊΠΎΡ€Π΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Наибольшая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ аксСлСратора достигаСтся Π½Π° ΡΠΊΡ€ΠΈΠΏΡ‚Π°Ρ… с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством исходного ΠΊΠΎΠ΄Π°, содСрТащих нСбольшоС количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, рСсурсоёмких ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.

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

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

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

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ настройки

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

Бинтаксис

Бинтаксис PHP ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ синтаксису языка Π‘ΠΈ. НСкоторыС элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ассоциативныС массивы ΠΈ Ρ†ΠΈΠΊΠ» foreach, заимствованы ΠΈΠ· Perl.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚рСбуСтся ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ нСпосрСдствСнно с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° PHP.

PHP исполняСт ΠΊΠΎΠ΄, находящийся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ . Всё, Ρ‡Ρ‚ΠΎ находится Π²Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΉ, выводится Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΡΠΈΠΌΠ²ΠΎΠ»Π° $, Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Ρƒ. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Ρƒ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΡ‡ΠΊΠΈ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ (;), Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаСв, послС объявлСния конструкции if/else ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ².

PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²: Π² ΡΡ‚ΠΈΠ»Π΅ языка Π‘ΠΈ (ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ /* */), C++ (Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с // ΠΈ ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки) ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ UNIX (с # Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки).

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… [7]

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

К ΡΠΊΠ°Π»ΡΡ€Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… относятся:

— Ρ†Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ (integer),

— Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (float, double),

— Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ (boolean),

— ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ (string),

— ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ NULL.

К Π½Π΅ΡΠΊΠ°Π»ΡΡ€Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ относятся:

— «Ρ€Π΅ΡΡƒΡ€Ρ» (resource),

— ΠΌΠ°ΡΡΠΈΠ² (array),

— ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (object),

— Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ функция (closure) ΠΈΠ»ΠΈ псСвдотип callback.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ†Π΅Π»Ρ‹Ρ… чисСл (integer) Π² PHP зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, это Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΡ‚ ?2 147 483 648 Π΄ΠΎ 2 147 483 647). Числа ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΠΎΠΉ, Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмах счислСния. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ вСщСствСнных чисСл (double), Ρ‚Π°ΠΊΠΆΠ΅, зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (для 32-Π±ΠΈΡ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ позволяСт ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числами ΠΎΡ‚ ±1.7Π§10?308 Π΄ΠΎ ±1.7Π§10+308).

PHP прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ логичСский Ρ‚ΠΈΠΏ (boolean), способный ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния TRUE («ΠΈΡΡ‚ΠΈΠ½Π°») ΠΈ FALSE («Π»ΠΎΠΆΡŒ»). ΠŸΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ число 0, ΠΏΡƒΡΡ‚ΡƒΡŽ строку, ноль Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ «0», NULL ΠΈ ΠΏΡƒΡΡ‚ΠΎΠΉ массив ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ FALSE. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² TRUE.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ NULL ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ значСния. ЕдинствСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° являСтся константа NULL. Π’ΠΈΠΏ NULL ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ константой NULL, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ конструкции unset ().

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

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° Π² ΠΏΡΡ‚ΠΎΠΉ вСрсии языка.

Класс Π² PHP ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова class. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠΎΠ»Ρ класса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ общСдоступными (public, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ (protected) ΠΈ ΡΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ (private). PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС Ρ‚Ρ€ΠΈ основных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ООП — ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова extends послС ΠΈΠΌΠ΅Π½ΠΈ класса). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ интСрфСйсы (ставятся Π² ΡΠΎΠΎΡ‚вСтствиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ implements). Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ объявлСниС Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ…, абстрактных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС классов Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся, ΠΎΠ΄Π½Π°ΠΊΠΎ класс ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ нСсколько интСрфСйсов. Для обращСния ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово parent.

ΠšΠ»Π°ΡΡΡ‹ Π² PHP ΠΈΠΌΠ΅ΡŽΡ‚ ряд ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ с Π΄Π²ΡƒΡ… символов подчёркивания. Особо стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ конструктор (__construct (), Π² Π²Π΅Ρ€ΡΠΈΡΡ… Π΄ΠΎ 5.0 конструктором слуТил ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹ΠΉ с ΠΊΠ»Π°ΡΡΠΎΠΌ) ΠΈ Π΄Π΅ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ (__destruct ()), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ чтСния (__get ()) ΠΈ Π·Π°ΠΏΠΈΡΠΈ (__set ()), свёртывания (__sleep ()) ΠΈ Ρ€Π°Π·Π²Ρ‘ртывания (__wake ()), клонирования (__clone ()) ΠΈ Π΄Ρ€. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ достаточно Π³ΠΈΠ±ΠΊΠΈΠΌ инструмСнтом: пСрСопрСдСляя ΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ сущСствСнного измСнСния повСдСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ЭкзСмпляры класса ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова new, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° производится с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «ΡΡ‚Ρ€Π΅Π»ΠΊΠ°». Для доступа ΠΊ Ρ‡Π»Π΅Π½Π°ΠΌ класса ΠΈΠ· Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная $this.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ PHP:

$U = 0.3;//константа сглаТивания уровня

$V = 0.3;//константа сглаТивания Ρ‚Ρ€Π΅Π½Π΄Π°

$B = $arr;

$keys = array_keys ($B);

$C [ $keys ] = $B [ $keys ];

for ($i = 1; $i < sizeof ($B); $i++)

{

if ($i == 1){

$C [ $keys [$i] ] = $B [ $keys [$i] ];

$D [ $keys [$i] ] = $B [ $keys [$i] ]-$B [ $keys [$i-1] ];

continue;

}

$C [ $keys [$i] ] = $U * ($C [ $keys [$i-1] ] + $D [ $keys [$i-1] ])+(1;

$U)*$B [ $keys [$i] ];

$D [ $keys [$i] ] = $V * $D [ $keys [$i-1] ]+(1-$V)*($C [ $keys [$i] ] - $C [

$keys [$i-1] ]);

}

//ΠŸΡ€ΠΎΠ³Π½ΠΎΠ· ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚Ρ€Π΅Π½Π΄Ρƒ

for ($j = 0; $j < $forecastPeriod; $j++)

{

$keys [$i] = $keys [$i-1]+1;

$C [ $keys [$i] +$j] = $C [ $keys [$i-1] ]+$D [ $keys [$i-1] ]*($j+1);

}

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° взят ΠΈΠ· Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π₯ΠΎΠ»ΡŒΡ‚Π° модуля прогнозирования.

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

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

ΠžΠ±Ρ‰Π°Ρ структура Perl Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… Π²Π΅Π΄Ρ‘Ρ‚ своё Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° Π‘ΠΈ. Perl — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, выраТСния присваивания, Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, отдСляСмыС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

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

Perl 5 Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ слоТных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, пСрвоклассных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль. Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡŽΡŽ входят ссылки, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΡ‚ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с Π»Π΅ΠΊΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ объявлСниСм области видимости, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компилятору. Π“Π»Π°Π²Π½Π΅ΠΉΡˆΠΈΠΌ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, прСдставлСнным Π² Perl 5, стала Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² «ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹» (package) Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования.

ВсС вСрсии Perl Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π²Ρ‚оматичСский ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π·Π½Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ΠΈ Π·Π°ΠΏΡ€ΠΎΡΡ‹ памяти ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ½ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ, производя подсчёт ссылок. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, числа Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ — происходит автоматичСски Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ для выполнСния ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… приводят ΠΊ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ошибкС.

Бинтаксис языка Perl

Бинтаксис Perl ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с ΡΠΈΠ½Ρ‚аксисом языков Π‘ΠΈ ΠΈ Bourne shell.

ΠŸΠ΅Ρ€Π²Π°Ρ строка исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с «#!/ΠŸΡƒΡ‚ΡŒ/ΠΊ/Perl [-ΠΊΠ»ΡŽΡ‡ΠΈ]» — Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ систСмС ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Perl для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² UNIX систСмах ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡ… Π½Π° Π²Π΅Π±-сСрвСрС. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΎΠΉ строки — это функция shell, Π½ΠΎ Perl ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ провСряСт эту строку ΠΈ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈΠ· Π½Π΅Ρ‘ ΠΊΠ»ΡŽΡ‡ΠΈ, игнорируя ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «Hello, world!» выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

print" Hello, world! n" ;

Π”ΠΎΠ·Π°ΠΏΠΈΡΡŒΠ²ΡΡ‚Ρ€ΠΎΠΊΡƒ.

$x=5;

$x.=0;

print$x;#50

2.3 БистСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

MySQL — свободнаясистСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”). РаспространяСтся ΠΏΠΎΠ΄ GNU General Public License ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ собствСнной коммСрчСской Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ. Помимо этого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρƒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈΠΌΠ΅Π½Π½ΠΎ благодаря Ρ‚Π°ΠΊΠΎΠΌΡƒ Π·Π°ΠΊΠ°Π·Ρƒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΡΠ°ΠΌΡ‹Ρ… Ρ€Π°Π½Π½ΠΈΡ… вСрсиях появился ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π‘Π£Π‘Π” MySQL обСспСчиваСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ большого количСства Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‚ΠΈΠΏΠ° MyISAM, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ полнотСкстовый поиск, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ InnoDB, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… записСй. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π‘Π£Π‘Π” MySQL поставляСтся со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Ρ‚Π°Π±Π»ΠΈΡ† EXAMPLE, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ создания Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†. Благодаря ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ GPL-Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π² Π‘Π£Π‘Π” MySQL постоянно ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ‚Π°Π±Π»ΠΈΡ†.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ [5]

MySQL ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΎΠ΅ количСство ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ: FreeBSD, Linux, Mac OS X, NetBSD, OpenBSD, OS/2, Solaris, Windows Server 2003, WinCE, Windows Vista ΠΈ Windows 7. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Π‘Π£Π‘Π” для свободной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ исходныС ΠΊΠΎΠ΄Ρ‹, Π½ΠΎ ΠΈ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ исполняСмыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π‘Π£Π‘Π” MySQL.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки программирования [5]

MySQL ΠΈΠΌΠ΅Π΅Ρ‚ API для языков Delphi, C, C++, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для языков ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET, Π° Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для ODBC посрСдством ODBC-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° MyODBC.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности MySQL [5]

— ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов.

- ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ связСй с ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄.

— Π—аписи фиксированной ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹.

— ODBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с ΠΈΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ

— Π“ибкая систСма ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ.

— Π”ΠΎ 16 ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎ 15 ΠΏΠΎΠ»Π΅ΠΉ.

— ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ CREATE.

— ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° чисСл Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΎΡ‚ 1 Π΄ΠΎ 4 Π±Π°ΠΉΡ‚ (int, float, double, fixed), строк ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

— Π˜Π½Ρ‚СрфСйс с ΡΠ·Ρ‹ΠΊΠ°ΠΌΠΈ C ΠΈ perl.

— ΠžΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ…, быстрая систСма памяти.

— Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Ρ€Π΅ΠΌΠΎΠ½Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (isamchk).

— Π’сС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ внимания Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ символов Π² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… строках.

— ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊΠ°ΠΊ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

— Π’сС поля ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. INSERT ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΠΎΠΌ подмноТСствС ΠΏΠΎΠ»Π΅ΠΉ.

— Π›Π΅Π³ΠΊΠΎΡΡ‚ΡŒ управлСния Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΠΏΠΎΠ»Π΅ΠΉ.

Начиная с Π²Π΅Ρ€ΡΠΈΠΈ MySQL 5.5, Π‘Π£Π‘Π” содСрТит ряд Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, связанных с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…:

— Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π²ΠΈΠΆΠΊΠ° InnoDB.

— ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° полусинхронного (semi-synchronous) ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, основанного Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΡ… ΠΊ InnoDB ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google.

— Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ синтаксис для разбиСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ частСй, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π² * Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах (partitioning).

— ΠΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… запросов ΠΈ JOIN ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

— ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° систСма Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.

— Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ дополнСния Google с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ InnoDB Π½Π° CPU с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством ядСр.

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… [5]

Π Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΅Ρ‘ Ρ‚ΠΈΠΏΠΎΠΌ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ‚ΠΈΠΏ MyISAM ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρ„Π°ΠΉΠ»Π° Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. НапримСр Π² NTFS этот Ρ€Π°Π·ΠΌΠ΅Ρ€ тСорСтичСски ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎ 32 экзабайт. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ InnoDB ΠΎΠ΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ пространство. Π Π°Π·ΠΌΠ΅Ρ€ послСднСго ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ 64 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚.

Firebird (FirebirdSQL) — компактная, кроссплатформСнная, свободнаясистСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° Linux, Microsoft Windows ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Unix ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

Π­Ρ‚ΠΎ коммСрчСски нСзависимый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ C ΠΈ C++ программистов, тСхничСских совСтников ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… систСм управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, основанный Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ Borland 25 ΠΈΡŽΠ»Ρ 2000 Π³ΠΎΠ΄Π° Π² Π²ΠΈΠ΄Π΅ свободной вСрсии Interbase 6.0.

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ характСристики [5]

ВСрсионная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°: Основная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Firebird — вСрсионная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ сСрвСру ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ записи Π² Π»ΡŽΠ±ΠΎΠ΅ врСмя Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ каТдая транзакция Π²ΠΈΠ΄ΠΈΡ‚ свою Π²Π΅Ρ€ΡΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ ΠΌΠ΅ΡˆΠ°Ρ сосСдним («Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΈΡˆΡƒΡ‰ΠΈΠ΅, Π° ΠΏΠΈΡˆΡƒΡ‰ΠΈΠ΅ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ…»).

Π₯Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ язык PSQL (ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ SQL) Firebird, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ сСрвСра. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² особСнно ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° записСй. Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π·Π°ΠΏΡ€ΠΎΡΠ°Ρ… Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Бобытия: Π₯Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ события, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ (COMMIT) ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π΅Ρ‰Ρ‘Π½ ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… событиях ΠΈ ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹: ИдСя Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ) Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ…. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ 64? Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… счётчиками, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ нСзависимо ΠΎΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ гСнСрация ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ запросами Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΡ… транзакциях.

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π° CD-ROM. ОсобСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ распространСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ вСрсиСй сСрвСра Firebird (Firebird Embedded).

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

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π»Π΅Ρ‚Ρƒ: Для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Π½Π΅Ρ‚ надобности ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ сСрвСр. ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования сохраняСт состояниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ своСго старта, Π½Π΅ ΠΌΠ΅ΡˆΠ°Ρ ΠΏΡ€ΠΈ этом Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·ΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π”.

Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹: Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ², ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π΄ΠΎ ΠΈΠ»ΠΈ послС вставки, обновлСния ΠΈΠ»ΠΈ удалСния записСй. Для Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык PSQL, позволяя Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΈ Ρ‚. Π΄. Π’ Firebird 1.5 появились «ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅» Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ вставки, обновлСния ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡ записСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с UDF (User Defined Function) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° Π»ΡŽΠ±ΠΎΠΌ языкС ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ Π² Π²ΠΈΠ΄Π΅ DLL/SO, позволяя Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ возмоТности сСрвСра «ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ».

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ описаниС ссылочной цСлостности: ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ «master-detail» ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ.

Наборы символов: Firebird ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² символов (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Unicode) с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² сортировки ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° [5]

1. ΠœΠ½ΠΎΠ³ΠΎΠ²Π΅Ρ€ΡΠΈΠΎΠ½Π½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ Π°Π½Π°Π»ΠΈΡ‚ичСских запросов

2. ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ. ОбъСм дистрибутива Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 5Mb

3. Высокая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

4. ΠœΠΎΡ‰Π½Π°Ρ языковая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ².

НСдостатки [5]

1. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ кСша Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов

2. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ полнотСкстовых индСксов.

БоотвСтствиС стандарту SQL [5]

Firebird ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ SQL 92 Entry Level 1 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ стандарта SQL-99 c Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ дополнСниями. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ выраТСния DML/DDL, синтаксис объСдинСний FULL/LEFT/RIGHT [OUTER] JOIN, выраТСния UNION, DISTINCT, подзапросы (IN, EXISTS), встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (AVG, SUM, MIN, MAX, COALESCE, CASE, .), ограничСния цСлостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), ΠΈ Π²ΡΠ΅ ΠΎΠ±Ρ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL.

Firebird Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ограничСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ (check constraints) Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, отобраТСния, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ€ΠΎΠ»ΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа.

ВрСбования ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ [5]

Firebird Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° 32- ΠΈ 64-разрядных вСрсиях Windows, Linux, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° MacOS X, HP-UX, FreeBSD ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ…. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ ΠžΠ‘ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСсьма прост — достаточно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ Π² ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ систСмС ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, особСнно ΠΏΠΎΠ΄ Linux.

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

БрСдства доступа ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ [5]

Firebird ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство способов доступа, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ: собствСнныС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для C/C++, Delphi, классы для ADO, ODBC, JDBC (Jaybird), Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для Python, PHP, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ OLE DB, dbExpress, ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… .NET ΠΈ ΠΏΡ€ΡΠΌΠΎΠΉ доступ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ клиСнтской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сСрвСра (fbclient.dll ΠΈΠ»ΠΈ GDS32. dll)

ЀизичСскиС ограничСния [5]

Firebird ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ большиС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ располоТСны Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ВСорСтичСский ΠΏΡ€Π΅Π΄Π΅Π» Π² Π½Π°ΡΡ‚оящСС врСмя составляСт 64TB для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Π»Π°Π²Π½Ρ‹Π΅ ограничСния Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΈ ΠΌΠ΅ΡΡ‚ΠΎΠΌ Π½Π° ΠΆΡ‘стком дискС.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… объСмом 1 Π’Π‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. Максимальная Π΄Π»ΠΈΠ½Π° ΠΎΠ΄Π½ΠΎΠΉ записи (суммарно всС поля Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π΅ΠΉ с Ρ‚ΠΈΠΏΠΎΠΌ BLOB) Ρ€Π°Π²Π½Π° 64 ΠšΠ‘.

PostgreSQLΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°ΡΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционнаясистСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. БущСствуСт Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡΡ… для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ: Linux, Solaris/OpenSolaris, Win32, Win x86−64, Mac OS X, FreeBSD, QNX 4.25, QNX 6

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° стандартов, возмоТности, особСнности [5]

PostgreSQL базируСтся Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ стандарта SQL:2003 (ISO/IEC 9075).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности [5]

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π―Π²Π»ΡΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°, исполняСмыми Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅, Π° Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π‘Π”. Π₯отя ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ‡ΠΈΡΡ‚ΠΎΠΌ SQL, рСализация Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, условных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ собствСнно SQL ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языковых Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… языков:

— Π’строСнный ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ язык PL/pgSQL, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ языку PL/SQL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ Π² Π‘Π£Π‘Π” Oracle;

— Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹Π΅ языки — PL/Lua, PL/LOLCODE, PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, PL/Tcl ΠΈ PL/Scheme;

— ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ языки — C, C++, Java (Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ PL/Java);

— Π‘татистичСский язык R (Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ PL/R).

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

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈΡ… ΡΠΎΠ·Π΄Π°Ρ‚Сля, Ρ‚Π°ΠΊ ΠΈ Ρ ΠΏΡ€Π°Π²Π°ΠΌΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Иногда Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΎΠΆΠ΄Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ с Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ этими понятиями Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅.

Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ DML—опСрациями. НапримСр, опСрация INSERT ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ запись Π½Π° ΡΠΎΠΎΡ‚вСтствия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ условиям. ΠŸΡ€ΠΈ написании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языки программирования (см. Π²Ρ‹ΡˆΠ΅). Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС.

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авлСния. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡ€Π°Π²ΠΈΠ» (Π°Π½Π³Π». rules) прСдставляСт собой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ DML-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΡΡ‚Π°ΠΏΠ΅ Ρ€Π°Π·Π±ΠΎΡ€Π° запроса, Π΄ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° выполнСния ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ процСсса выполнСния. ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ SQL-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся рСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° прСдставлСний (Π°Π½Π³Π». views): ΠΏΡ€ΠΈ создании прСдставлСния создаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт, Ρ‡Ρ‚ΠΎ вмСсто выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅/Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ условий Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² ΠΎΡΠ½ΠΎΠ²Π΅ опрСдСлСния прСдставлСния. Для создания прСдставлСний, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ обновлСния, ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ вставки, измСнСния ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡ строк Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π˜Π½Π΄Π΅ΠΊΡΡ‹. Π’ PostgreSQL имССтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° индСксов ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ²: B-Π΄Π΅Ρ€Π΅Π²ΠΎ, Ρ…ΡΡˆ, R-Π΄Π΅Ρ€Π΅Π²ΠΎ, GiST, GIN. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ индСксов, хотя это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ процСсс. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² PostgreSQL ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ свойствами:

Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ просмотр индСкса Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€ΡΠΌΠΎΠΌ, Π½ΠΎ ΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС — созданиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса для Ρ€Π°Π±ΠΎΡ‚Ρ‹ конструкции ORDER BY … DESC Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ;

Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ созданиС индСкса Π½Π°Π΄ нСсколькими столбцами Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² Ρ‚ΠΎΠΌ числС Π½Π°Π΄ столбцами Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…;

индСксы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π΅ Π½Π° Π±Π°Π·Π΅ Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ столбца/столбцов, Π° Π½Π° Π±Π°Π·Π΅ Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

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

ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ запросов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько индСксов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ для выполнСния слоТных запросов.

ΠœΠ½ΠΎΠ³ΠΎΠ²Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ (MVCC). PostgreSQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π‘Π” нСсколькими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Multiversion Concurrency Control (MVCC). Благодаря этому ΡΠΎΠ±Π»ΡŽΠ΄Π°ΡŽΡ‚ΡΡ трСбования ACID, ΠΈ ΠΏΡ€Π°ΠΊΡ‚ичСски ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½ΡƒΠΆΠ΄Π° Π² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… чтСния.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. PostgreSQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ большой Π½Π°Π±ΠΎΡ€ встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

ЧислСнныС Ρ‚ΠΈΠΏΡ‹ Π¦Π΅Π»Ρ‹Π΅ Π‘ Ρ„иксированной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π‘ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π”Π΅Π½Π΅ΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (отличаСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°, Π° Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ числам с Ρ„иксированной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π΄Π²ΡƒΠΌΡ Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС запятой) Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ BLOB)

Π’ΠΈΠΏΡ‹ «Π΄Π°Ρ‚Π°/врСмя» (ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ послСдниС измСнСния Π² Ρ‡Π°ΡΠΎΠ²Ρ‹Ρ… поясах) Π‘ΡƒΠ»Π΅Π² Ρ‚ΠΈΠΏ ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ ГСомСтричСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

IP ΠΈ IPv6—адрСса

CIDR—Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ МАБ—адрСс

UUID—ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

XML—Π΄Π°Π½Π½Ρ‹Π΅ ΠœΠ°ΡΡΠΈΠ²Ρ‹

OID—Ρ‚ΠΈΠΏΡ‹ ΠŸΡΠ΅Π²Π΄ΠΎΡ‚ΠΈΠΏΡ‹ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. PostgreSQL ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ для собствСнных Π½ΡƒΠΆΠ΄ практичСски Π² Π»ΡŽΠ±ΠΎΠΌ аспСктС. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ собствСнныС:

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

ΠΠ°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ [5]

Богласно Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ исслСдования Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠŸΠž Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ошибок, Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ PostgreSQL Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ 20 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… мСст Π½Π° 775 000 строк исходного ΠΊΠΎΠ΄Π° (Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ, ΠΎΠ΄Π½Π° ошибка Π½Π° 39 000 строк ΠΊΠΎΠ΄Π°). Для сравнСния: MySQL — 97 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΎΠ΄Π½Π° ошибка Π½Π° 4 000 строк ΠΊΠΎΠ΄Π°; FreeBSD (Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ) — 306 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΎΠ΄Π½Π° ошибка Π½Π° 4 000 строк ΠΊΠΎΠ΄Π°; Linux (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ядро) — 950 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΎΠ΄Π½Π° ошибка Π½Π° 10 000 строк ΠΊΠΎΠ΄Π°.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСмы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π±ΠΈΡ‚ΡƒΡ€ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π’Π£Π—ΠΎΠ² Π² Π²Ρ‹Π±ΠΎΡ€Π΅ пСрспСктивной профСссии Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ сСрвСрного языка программирования Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ PHP. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ критСриями Π²Ρ‹Π±ΠΎΡ€Π° стали:

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка программирования ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΡΡ‚Π²ΠΎΠΌ хост-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ².

НаличиС большого количСства ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… этот языкС программирования.

НаличиС встроСнных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅ΡΡΠΈΡΠΌΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° большого количСства Π‘Π£Π‘Π”.

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

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

2.4 БрСдства построСния Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

SVG (ΠΎΡ‚ Π°Π½Π³Π». Scalable Vector Graphics — ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ вСкторная Π³Ρ€Π°Ρ„ΠΈΠΊΠ°) —язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, созданный ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΠΎΠΌ ВсСмирной ΠΏΠ°ΡƒΡ‚ΠΈΠ½Ρ‹ (W3C)ΠΈ входящий Π² ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠ³ΠΎ языка Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ XML, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для описания Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½ΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎ / растровой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡƒΡŽ, Ρ‚Π°ΠΊ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ — ΠΈΠ»ΠΈ, Π² ΠΈΠ½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ…, Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΈ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²ΡƒΡŽ. НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ описаниС Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ стандарт, являСтся Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠ΅ΠΉ консорциума W3C, — ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠ΅ΠΉ Ρ‚Π°ΠΊΠΈΠ΅ стандарты, ΠΊΠ°ΠΊ HTML ΠΈ XHTML. РазрабатываСтся с 1999 Π³ΠΎΠ΄Π°, Π² 2001 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»Π° 1.1 вСрсия, которая остаСтся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½Π΅Π³ΠΎ дня, Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вСрсия 1.2.

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

ВозмоТности языка

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ строкой, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π‘Ρ‚Ρ€ΠΎΠΊΠ° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ задаётся Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ dΡ‚Π΅Π³Π°pathΠΈ содСрТит ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π±ΡƒΠΊΠ² ΠΈ Ρ‡ΠΈΡΠ΅Π». Π‘ΡƒΠΊΠ²Π° опрСдСляСт Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, числа — Π΅Ρ‘ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Ρ‡Π°Ρ‰Π΅ всСго — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹). ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, состоящиС ΠΈΠ· ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² прямых (L, H, V), ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π‘Π΅Π·ΡŒΠ΅ (C, S, Q, T) ΠΈ Π΄ΡƒΠ³ (A). ΠŸΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π·Π²Π΅Π·Π΄Ρƒ ΠΈΠ· 5 Π»ΠΈΠ½ΠΈΠΉ, содСрТит строку Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ M (Π°Π½Π³Π».moveto — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ) ΠΈ L (Π°Π½Π³Π».lineto — Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию), содСрТащими Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎ X ΠΈ Y.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ