Как Dark Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ Π·Π° 50 мс

Как Dark Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ Π·Π° 50 мс

ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π· Π΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π°Ρ‚Π° компания.

Π—Π° съТалСниС, ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ прилоТСния работят ΠΏΡ€ΠΎΡ‚ΠΈΠ² нас β€” Π½Π°ΡˆΠΈΡ‚Π΅ систСми трябва Π΄Π° сС обновяват Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π±Π΅Π· Π΄Π° ΠΏΡ€Π΅Ρ‡Π°Ρ‚ Π½Π° Π½ΠΈΠΊΠΎΠ³ΠΎ ΠΈ Π±Π΅Π· Π΄Π° Π΄ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ Π΄ΠΎ простоци ΠΈ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ. Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΈΠ²Π° систСми става слоТна Π·Π°Π΄Π°Ρ‡Π° ΠΈ изисква слоТни ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка Π΄ΠΎΡ€ΠΈ Π² ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ.

Π’Π΅Π·ΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠΌΠ°Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, работят Π±Π°Π²Π½ΠΎ ΠΈ Π½Π΅ са особСно Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° Π³ΠΈ ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ Ρ€ΡŠΡ‡Π½ΠΎ, Π° слСд Ρ‚ΠΎΠ²Π° Π΄Π° Π³ΠΈ управляват, ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ чСсто Π½Π°Π΅ΠΌΠ°Ρ‚ Ρ†Π΅Π»ΠΈ Π΅ΠΊΠΈΠΏΠΈ DevOps Π·Π° Ρ‚ΠΎΠ²Π°.

Бкоростта Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ влияС Π½Π° скоростта Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. ΠŸΡ€ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ Π΅ΠΊΠΈΠΏΠΈ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΎΡ‚Π½Π΅ΠΌΠ° 5–10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, Π½ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ всичко ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-дълго Π²Ρ€Π΅ΠΌΠ΅, Π° Π·Π° Π΅Π΄Π½ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ няколко часа.

Π’ Dark Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½Π΅ΠΌΠ° 50 мс. ΠŸΠ΅Ρ‚Π΄Π΅ΡΠ΅Ρ‚. ΠœΠΈΠ»ΠΎΡΠ΅ΠΊΡƒΠ½Π΄ΠΈ.. Dark β€” Ρ‚ΠΎΠ²Π° Π΅ комплСксно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ инфраструктура, създадСно спСциално Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка, ΠΈ всички аспСкти Π½Π° Dark, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ самият Π΅Π·ΠΈΠΊ, са ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ с мисъл Π·Π° сигурно ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅.

Π—Π°Ρ‰ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈΡ‚Π΅ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка са Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±Π°Π²Π½ΠΈ?

Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡƒΠ΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python ΠΈ Π²Π΅Ρ‡Π΅ смС създали страхотСн ΠΈ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка. Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ всСки Π΄Π΅Π½ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π½ΠΎ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°:

НаправянС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ

  • БъздаванС Π½Π° Π½ΠΎΠ² ΠΊΠ»ΠΎΠ½ Π² git
  • НаправянС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π» Π·Π° функцията
  • ΠœΠΎΠ΄ΡƒΠ»Π½ΠΎ тСстванС Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π» Π·Π° функцията

ΠŸΡƒΠ»-рСквСст

  • ΠšΠΎΠΌΠΈΡ‚ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅
  • Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° github
  • ΠŸΡƒΠ»-рСквСст
  • CI Π±ΠΈΠ»Π΄ΡŠΡ‚ сС изпълнява Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ във Ρ„ΠΎΠ½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ
  • ΠŸΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π°
  • ΠžΡ‰Π΅ няколко ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ
  • Π‘Π»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ с мастСра Π² git.

CI сС изпълнява Π½Π° мастСра

  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ зависимости Ρ‡Ρ€Π΅Π· npm
  • Π‘ΠΈΠ»Π΄ ΠΈ оптимизация Π½Π° HTML+CSS+JS рСсурси
  • ИзпълнСниС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π½ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ тСстовС Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°
  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Python зависимости ΠΎΡ‚ PyPI
  • ИзпълнСниС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π½ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ тСстовС Π½Π° бэкСнда
  • ВСстванС Π½Π° интСграция ΠΈ Π½Π° Π΄Π²Π°Ρ‚Π° края
  • Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ рСсурситС Π² CDN
  • Π‘ΠΈΠ»Π΄ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π·Π° Python ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ
  • Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€
  • АктуализиранС Π½Π° манифСста Π½Π° Kubernetes

Бмяна Π½Π° стария ΠΊΠΎΠ΄ с Π½ΠΎΠ²

  • Kubernetes стартира няколко инстанции Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
  • Kubernetes ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° инстанциитС Π΄Π° станат Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ
  • Kubernetes добавя инстанции Π² HTTP Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€Π° Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅
  • Kubernetes ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° Π΄Π° спрат Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ старитС инстанции
  • Kubernetes спира старитС инстанции
  • Kubernetes повтаря Ρ‚Π΅Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½ΠΎΠ²ΠΈΡ‚Π΅ инстанции Π½Π΅ замСнят всички стари

Π’ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π° функция с ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»

  • Новият ΠΊΠΎΠ΄ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° само Π·Π° Π½Π΅Π³ΠΎ самия, Π·Π° Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈ, Ρ‡Π΅ всичко Π΅ Π½Π°Ρ€Π΅Π΄
  • Новият ΠΊΠΎΠ΄ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Π·Π° 10% ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, слСдят сС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΈ бизнСс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
  • Новият ΠΊΠΎΠ΄ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Π·Π° 50% ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, слСдят сС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΈ бизнСс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
  • Новият ΠΊΠΎΠ΄ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Π·Π° 100% ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, слСдят сС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΈ бизнСс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
  • Накрая повтарятС цялата ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ стария ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»Ρ

ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ зависи ΠΎΡ‚ инструмСнтитС, Π΅Π·ΠΈΠΊΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ към услуги, Π½ΠΎ ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°. НС спомСнах Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½ΠΈΡ с миграция Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ изисква Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅, Π½ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ обясня ΠΊΠ°ΠΊ сС справя Dark с Ρ‚ΠΎΠ²Π°.

Π’ΡƒΠΊ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ тях лСсно ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° забавят, Π΄Π° сС сринат, Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π° сринат Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π°Ρ‚Π° систСма.

А Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ са създадСни Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ случай, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° ΠΈΠΌ сС вярва. Много ΠΎΡ‚ нас ΠΈΠΌΠ°Ρ‚ Π΄Π½ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² Dockerfile, Π² Π΅Π΄ΠΈΠ½ ΠΎΡ‚ дСсСткитС услуги Π΅ възникнала Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈΠ»ΠΈ нуТният спСциалист Π΅ Π² отпуск.

По-лошо Π΅, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π΅ правят Π½ΠΈΡ‰ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π’Π΅ бяха Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΡ€Π΅Π΄ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Ρ…ΠΌΠ΅ ΠΊΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, Π½ΠΎ сСга ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π·Π° новия ΠΊΠΎΠ΄ ΠΈ Ρ‚Π΅Π·ΠΈ процСси Π²Π΅Ρ‡Π΅ са Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΡΡ‚ΡŠΠΏΠΊΠ°Ρ‚Π°, Π½Π° която сС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ΡŠΡ‚ (старият сС замСня с Π½ΠΎΠ²), стана просто Π½Π΅Π½ΡƒΠΆΠ΅Π½ риск.

Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ обмислСн ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½. Π•ΠΊΠΈΠΏΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎ Π΅ създал, Π½Π΅ Π΅ пСстил Π²Ρ€Π΅ΠΌΠ΅ ΠΈ ΠΏΠ°Ρ€ΠΈ Π·Π° Π±ΡŠΡ€Π·ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅. ОбикновСно ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±Π°Π²Π½ΠΈ ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ.

РСализация Π½Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка Π² Dark

ΠΠ΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎΡ‚ΠΎ доставянС Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π·Π° Dark, Ρ‡Π΅ ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ насочихмС усилията си към Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎΠ΄ Π΅Π΄Π½Π° сСкунда. ΠŸΡ€Π΅Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ всички ΡΡ‚ΡŠΠΏΠΊΠΈ Π² процСса, Π·Π° Π΄Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ ΠΈΠ·Π»ΠΈΡˆΠ½ΠΎΡ‚ΠΎ, Π° останалото Π΄ΠΎΠ²Π΅Π΄ΠΎΡ…ΠΌΠ΅ Π΄ΠΎ ΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎ. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Ρ…ΠΌΠ΅ ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅.

ДТСсси Π€Ρ€Π°Π·Π΅Π» (Jessie Frazelle) създадС Π½ΠΎΠ²Π° Π΄ΡƒΠΌΠ° deployless (Π±Π΅Π· Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅) Π½Π° конфСрСнцията Future of Software Development Π² РСйкявик.

Π’Π΅Π΄Π½Π°Π³Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ Dark Ρ‰Π΅ бъдС основан Π½Π° концСпцията β€ždeploylessβ€œ (Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ Π½Π° ДТСсси Π€Ρ€Π°Π·Π΅Π» Π·Π° Π½Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ·ΠΌΠ°). Deployless ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ всСки ΠΊΠΎΠ΄ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ сС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΈ Π΅ Π³ΠΎΡ‚ΠΎΠ² Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π² производството. Π Π°Π·Π±ΠΈΡ€Π° сС, няма Π΄Π° пропуснСм Π΄Π΅Ρ„Π΅ΠΊΡ‚Π΅Π½ ΠΈΠ»ΠΈ нСпълСн ΠΊΠΎΠ΄ (ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° бСзопасност Ρ‰Π΅ опиша ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ).

На дСмонстрацията Π½Π° Dark чСсто Π½ΠΈ ΠΏΠΈΡ‚Π°Ρ…Π° ΠΊΠ°ΠΊ успяхмС Π΄Π° ускорим Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ. Π‘Ρ‚Ρ€Π°Π½Π΅Π½ Π²ΡŠΠΏΡ€ΠΎΡ. Π₯ΠΎΡ€Π°Ρ‚Π° вСроятно си мислят, Ρ‡Π΅ смС измислили някаква супСртСхнология, която сравнява ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° Π³ΠΎ, ΠΎΠΏΠ°ΠΊΠΎΠ²Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, стартира Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, Π½Π° студСно стартира ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ всичко Ρ‚ΠΎΠ²Π° Π·Π° 50 мс. Вряд Π»ΠΈ Ρ‚ΠΎΠ²Π° Π΅ възмоТно. Но Π½ΠΈΠ΅ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ спСциалСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ ΠΌΡƒ Π΅ Π½ΡƒΠΆΠ½ΠΎ всичко Ρ‚ΠΎΠ²Π°.

Dark стартира ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ°. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ във функция ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° HTTP ΠΈΠ»ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ. Π˜Π·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Π² абстрактното синтактично Π΄ΡŠΡ€Π²ΠΎ (рСализация Π½Π° ΠΊΠΎΠ΄Π°, която Π½Π°ΡˆΠΈΡΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ) Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ слСд Ρ‚ΠΎΠ²Π° стартирамС Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ заявки. Π’Π°ΠΊΠ° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° просто ΠΊΠ°Ρ‚ΠΎ скромСн запис Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ β€” ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½ΠΎ. Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ става Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±ΡŠΡ€Π·ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° само Π½Π°ΠΉ-основното.

Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΡ‚ Dark ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π·Π° инфраструктура, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ създава ΠΈ стартира ΠΈΠ΄Π΅Π°Π»Π½Π°Ρ‚Π° инфраструктура Π·Π° висока производитСлност ΠΈ надСТдност Π½Π° прилоТСнията. ΠœΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎΡ‚ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, няма Π΄Π° ΠΈΠ·Ρ‡Π΅Π·Π½Π΅.

БСзопасно Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€Π°Π½ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠšΠΎΠ΄ΡŠΡ‚ Π² Dark сС пишС Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° Dark. Бтруктурираният Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π½Π΅ допуска синтактични Π³Ρ€Π΅ΡˆΠΊΠΈ. По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ, Π² Dark Π΄ΠΎΡ€ΠΈ няма Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€. Π”ΠΎΠΊΠ°Ρ‚ΠΎ Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Ρ‚Π΅ тСкст, Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с абстрактното синтактично Π΄ΡŠΡ€Π²ΠΎ (AST), ΠΊΠ°ΠΊΡ‚ΠΎ Paredit, Sketch-n-Sketch, Tofu, Prune ΠΈ MPS.

ВсСки Π½Π΅Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ ΠΊΠΎΠ΄ Π² Dark ΠΈΠΌΠ° допустима сСмантика Π½Π° изпълнСниС, Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ typed holes Π² Hazel. НапримСр, Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° функция, Π½ΠΈΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ старата функция, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° Π½Π΅ станС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌΠ°.

Всяка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π² Dark ΠΈΠΌΠ° своя смисъл, Π·Π°Ρ‚ΠΎΠ²Π° Π½Π΅Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈΡ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Π Π΅ΠΆΠΈΠΌΠΈ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅

Π’ΠΈΠ΅ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π² Dark Π² Π΄Π²Π° случая. ΠŸΡŠΡ€Π²ΠΈΡΡ‚: ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠ² ΠΊΠΎΠ΄ ΠΈ стС СдинствСният ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π». НапримСр, Ρ‚ΠΎΠΉ Π΅ Π² REPL, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π΅Π³ΠΎ, ΠΈΠ»ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π½ΠΎΠ² HTTP ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ сС ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π°Ρ‚Π΅ никъдС. Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π½ΠΈ ΠΌΠ΅Ρ€ΠΊΠΈ, ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π² срСдата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° ситуация: ΠΊΠΎΠ΄ΡŠΡ‚ Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. Ако ΠΏΡ€Π΅Π· ΠΊΠΎΠ΄Π° ΠΌΠΈΠ½Π°Π²Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΈΠΏΠΎΠ²Π΅), трябва Π΄Π° сС Π²Π½ΠΈΠΌΠ°Π²Π°. Π—Π°Ρ‚ΠΎΠ²Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΠΌΠ΅ цСлия ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠΎΠ΄ ΠΈ изисквамС Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎ-структурирани инструмСнти Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅. Π—Π° структуриранитС инструмСнти Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ: ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° HTTP ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΠΉΠ½ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΌΠΎΡ‰Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° миграция Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π½ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° вСрсии Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅.

ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ ΠΈΠ·Π»ΠΈΡˆΠ½Π°Ρ‚Π° слоТност Π² Dark Π΅ Π΄Π° Ρ€Π΅ΡˆΠΈΡ‚Π΅ няколко ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π΅Π΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ: замяна Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° срСда Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, git ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, разпространСниС Π½Π° ΠΊΠΎΠ΄ ΠΈ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π±Π°Π²Π½ΠΎ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½o освобоТдаванС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄.

Π‘ΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ разпространСниСто Π½Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π» Π½Π° функция сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π² нашия Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π² Π΅Π΄Π½Π° опСрация. Π’ΠΎΠΉ създава ΠΏΡ€Π°Π·Π½ΠΎ пространство Π·Π° Π½ΠΎΠ² ΠΊΠΎΠ΄ ΠΈ прСдоставя ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ стария ΠΈ новия ΠΊΠΎΠ΄, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π±ΡƒΡ‚ΠΎΠ½ΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° постСпСнно ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към новия ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅.

ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π² Π΅Π·ΠΈΠΊΠ° Dark ΠΈ Π΄ΠΎΡ€ΠΈ Π½Π΅Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° си β€” Π°ΠΊΠΎ условиСто Π² ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»Ρ Π½Π΅ Π΅ изпълнСно, Ρ‰Π΅ сС изпълнява старият Π±Π»ΠΎΠΊΠΈΡ€Π°Π½ ΠΊΠΎΠ΄.

Π‘Ρ€Π΅Π΄Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ замСстват Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° срСда Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. ДнСс Π½Π° Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅ ΠΈΠΌ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° слСдят Π·Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ всички ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ вСрсии Π½Π° инструмСнтитС ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ (инструмСнти Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΈ, ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ, прСдпроцСсори, инструмСнти Π·Π° тСстванС ΠΈ Ρ‚.Π½.). Π‘ Dark Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° инсталиратС зависимости Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π΄Π° управляватС Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° инсталация Π½Π° Docker ΠΈΠ»ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ΅Ρ€ΠΊΠΈ, Π·Π° Π΄Π° осигуритС ΠΏΠΎΠ½Π΅ някакво равСнство ΠΌΠ΅ΠΆΠ΄Ρƒ срСдата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ продукцията. ИмСйки ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Ρ‚Π°ΠΊΠΎΠ²Π° равСнство всС ΠΏΠ°ΠΊ Π΅ нСвъзмоТно, Π΄Π°ΠΆΠ΅ няма Π΄Π° сС ΠΏΡ€Π°Π²ΠΈΠΌ, Ρ‡Π΅ сС стрСмим към Π½Π΅Π³ΠΎ.

ВмСсто Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° срСда, ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π² Dark ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π½ΠΎΠ²Π° ΠΏΡΡΡŠΡ‡Π½ΠΈΡ†Π° Π² продукцията, която замСства срСдата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° създадСм ΠΏΡΡΡŠΡ‡Π½ΠΈΡ†ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ части Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΈ клонирания Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ), Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ.

КлоновС ΠΈ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½ΠΈΡ

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ° няколко Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° въвСТданС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄ Π² систСмитС: git ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, Π΅Ρ‚Π°ΠΏ Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π΅ Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ части Π½Π° работния процСс: git β€” Π½Π° Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ, Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ β€” Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΎΡ‚ стария ΠΊΠΎΠ΄ към новия, Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ пусканС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄.

Най-СфСктивният Π½Π°Ρ‡ΠΈΠ½ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (освСн Ρ‚ΠΎΠ²Π° Π΅ ΠΈ Π½Π°ΠΉ-лСсният Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅). Π‘ тях ΠΌΠΎΠΆΠ΅ напълно Π΄Π° сС ΠΎΡ‚ΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ‚ Π΄Π²Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ОсобСно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ β€” Π°ΠΊΠΎ всС ΠΏΠ°ΠΊ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π° Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠ΄Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΡΡ‚ΡŠΠΏΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π½Π° новия ΠΊΠΎΠ΄ само създава излишни рисковС.

Git Π΅ слоТСн Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, особСно Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ наистина Π³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°, Π½ΠΎ пък ΠΈΠΌΠ° ΡƒΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΈ. НиС ΠΈΠ·Π³Π»Π°Π΄ΠΈΡ…ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈΡ‚Π΅ Π½Π° git. Dark позволява Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π² стил Google Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π½Π΅ сС Π½Π°Π»Π°Π³Π° Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ ΠΊΠΎΠ΄ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎ-рядко Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ€Π΅Π±Π°Π·ΠΈΡ€Π°Π½Π΅ ΠΈ сливанС.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ са Π² основата Π½Π° бСзопасното Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅. Π—Π°Π΅Π΄Π½ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈΡ‚Π΅ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½ΠΈΡ Ρ‚Π΅ позволяват Π±ΡŠΡ€Π·ΠΎ тСстванС Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π² ΠΌΠ°Π»ΠΊΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ с нисък риск, вмСсто Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π΅Π΄Π½ΠΎ голямо ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сринС систСмата.

ВСрсиониранС

Π—Π° промяна Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ вСрсииранС. Ако искатС Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ функция, Dark създава Π½ΠΎΠ²Π° вСрсия Π½Π° Ρ‚Π°Π·ΠΈ функция. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ Ρ‚Π°Π·ΠΈ вСрсия Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»Ρ Π² HTTP ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡΡ‚Π°. (Ако Ρ‚ΠΎΠ²Π° Π΅ функция дълбоко Π² Π³Ρ€Π°Ρ„Π° Π½Π° извикванията, ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ сС създава Π½ΠΎΠ²Π° вСрсия Π½Π° всяка функция. МоТС Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ излишно, Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π΅ ΠΏΡ€Π΅Ρ‡Π°Ρ‚, Π°ΠΊΠΎ Π½Π΅ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄ΠΎΡ€ΠΈ няма Π΄Π° Π³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅.)

По ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ вСрсирамС ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅. Π—Π° Π½Π°ΡˆΠ°Ρ‚Π° систСма ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…ΠΌΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ пост.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° вСрсиранСто Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° внасятС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ постСпСнно. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ всСки ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π½ΠΎΠ²Π°Ρ‚Π° вСрсия, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² прилоТСнията (Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ инструмСнти, Π·Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π±ΡŠΡ€Π·ΠΎ, Π°ΠΊΠΎ Ρ€Π΅ΡˆΠΈΡ‚Π΅).

Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-бСзопасно, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ пълно Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° всичко навСднъТ, ΠΊΠ°ΠΊΡ‚ΠΎ става Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°.

Нови вСрсии Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

ΠšΠΎΠ³Π°Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Dark, Π½ΠΈΠ΅ Π½Π΅ замСнямС Π²Π΅Π΄Π½Π°Π³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всяка функция ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ Π² цСлия ΠΊΠΎΠ΄. Π’ΠΎΠ²Π° Π΅ нСбСзопасно. ΠšΠΎΠ΄ΡŠΡ‚ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΡ‰Π°Ρ‚Π° вСрсия, която Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π», Π° Π²ΠΈΠ΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Π΄ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π·Π° всСки ΠΎΡ‚Π΄Π΅Π»Π΅Π½ случай Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅.

Как Dark Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ Π·Π° 50 мс
Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π½Π° част ΠΎΡ‚ автоматичния процСс Π² Dark, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‰ Π΄Π²Π΅ вСрсии Π½Π° функцията Dict::get. Dict::get_v0 Π΅ Π²Ρ€ΡŠΡ‰Π°Π» Ρ‚ΠΈΠΏ Any (ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΎΡ‚ΠΊΠ°Π·Π²Π°ΠΌΠ΅), Π° Dict::get_v1 Π²Ρ€ΡŠΡ‰Π° Ρ‚ΠΈΠΏ Option.

ЧСсто прСдоставямС Π½ΠΎΠ²Π° функция Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°ΠΌΠ΅ старитС вСрсии. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ с остарСли вСрсии Π² ΠΊΠΎΠ΄Π° Ρ‰Π΅ запазят Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ тях, Π½ΠΎ Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ няма Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚. ΠŸΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° прСдоставим инструмСнти, Π·Π° Π΄Π° ΠΏΡ€Π΅Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‚ старитС вСрсии Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ с Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ, ΡΡŠΡ‰ΠΎ ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅.

Dark ΡΡŠΡ‰ΠΎ прСдоставя ΡƒΠ½ΠΈΠΊΠ°Π»Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚: Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ изпълнявамС вашия Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ΅ΠΌ сами Π΄Π° тСствамС Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии, сравнявайки ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈ старитС заявки, Π·Π° Π΄Π° Π²ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΠΌ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ чСсто сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½Π° сляпо (ΠΈΠ»ΠΈ изисква Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ тСстванС Π·Π° сигурност), прСдставлява ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ рисковС ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС случи Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.

Нови вСрсии Dark

ΠŸΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ Python 2 Π½Π° Python 3 сС разпростря Π·Π° дСсСтилСтиС ΠΈ всС ΠΎΡ‰Π΅ остава ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Въй ΠΊΠ°Ρ‚ΠΎ създавамС Dark Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка, Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‚Π΅Π·ΠΈ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.

ΠšΠΎΠ³Π°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΌΠ°Π»ΠΊΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π΅Π·ΠΈΠΊΠ°, създавамС Π½ΠΎΠ²Π° вСрсия Π½Π° Dark. Бтарият ΠΊΠΎΠ΄ остава Π² старата вСрсия Π½Π° Dark, Π° новият ΠΊΠΎΠ΄ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия. Π—Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ към Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Dark, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ»ΠΈ вСрсии Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ΠΎΠ²Π° Π΅ особСно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‡Π΅ Dark сС появи съвсСм наскоро. Много ΠΎΡ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Π΅Π·ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎΡ‚ΠΎ вСрсиониранС Π½Π° Π΅Π·ΠΈΠΊΠ° Π½ΠΈ позволява Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, тоСст ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π΅ Π±ΡŠΡ€Π·Π°ΠΌΠ΅ ΠΈ Π΄Π° ΠΎΡ‚Π»ΠΎΠΆΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π° Π·Π° Π΅Π·ΠΈΠΊΠ°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, Π° слСдоватСлно ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ информация.

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ

Π—Π° бСзопасна миграция Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° стандартна Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°:

  • ΠŸΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚Π΅ Π½ΠΎΠ²ΠΈ ΠΈ стари Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΉΡ‚Π΅ всички Π΄Π°Π½Π½ΠΈ Π² Π½ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ стария Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° миграцията Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅ ΠΈ изисква ΠΌΠ½ΠΎΠ³ΠΎ рСсурси. И Π½ΠΈΠ΅ Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°ΠΌΠ΅ остарСли схСми, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡ€ΠΈ проститС Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π°, Π½Π΅ струват усилията.

Dark Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° миграция Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, която (с Π½Π°Π΄Π΅ΠΆΠ΄Π°) Ρ‰Π΅ опрости процСса Π΄ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π°, Ρ‡Π΅ Π΄Π° спрСтС Π΄Π° сС страхуватС ΠΎΡ‚ Π½Π΅Π³ΠΎ. Всички Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π² Dark (Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΎΡ‚ Ρ‚ΠΈΠΏ "ΠΊΠ»ΡŽΡ‡-стойност" ΠΈΠ»ΠΈ постоянни Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ) ΠΈΠΌΠ°Ρ‚ Ρ‚ΠΈΠΏ. Π—Π° Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, просто ΠΌΡƒ Π·Π°Π΄Π°Π²Π°Ρ‚Π΅ Π½ΠΎΠ² Ρ‚ΠΈΠΏ ΠΈ функция Π·Π° Π·Π°Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚Π΅ стойности ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π°Ρ‚Π° Ρ‚ΠΈΠΏΠ°.

Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Π΄Π°Π½ΡŠΡ‡Π½ΠΈΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² Dark сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Ρ‡Ρ€Π΅Π· вСрсиирани ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. НапримСр, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π·Π° Π΄Π°Π½Π½ΠΈ Users ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ‰Π΅ сС Π½Π°Ρ€ΠΈΡ‡Π° Users-v0. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС създадС Π½ΠΎΠ²Π° вСрсия с Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Ρ‚ΠΈΠΏ, ΠΈΠΌΠ΅Ρ‚ΠΎ сС промСня Π½Π° Users-v1. Ако Π΄Π°Π½Π½ΠΈΡ‚Π΅ са Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΠΏΡ€Π΅Π· Users-v0, Π° Π²ΠΈΠ΅ сС ΠΎΠ±Ρ€ΡŠΡ‰Π°Ρ‚Π΅ към тях ΠΏΡ€Π΅Π· Users-v1, сС ΠΏΡ€ΠΈΠ»Π°Π³Π° функция Π·Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅. Ако Π΄Π°Π½Π½ΠΈΡ‚Π΅ са Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΠΏΡ€Π΅Π· Users-v1, Π° Π²ΠΈΠ΅ сС ΠΎΠ±Ρ€ΡŠΡ‰Π°Ρ‚Π΅ към тях ΠΏΡ€Π΅Π· Users-v0, сС ΠΏΡ€ΠΈΠ»Π°Π³Π° функция Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π°Π·Π°Π΄.

Как Dark Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ Π·Π° 50 мс
Π•ΠΊΡ€Π°Π½ΡŠΡ‚ Π·Π° миграция Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ с ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° ΠΎΡ‚ старата Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅ Π·Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π°Π·Π°Π΄ ΠΈ инструкциитС Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° миграцията.

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π° Π΄Π° насочитС повикванията къдС Users-v0 към вСрсия Users-v1. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° станС ΠΏΠΎ Π΅Π΄ΠΈΠ½ HTTP ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ навСднъТ, Π·Π° Π΄Π° сС намалят рисковСтС, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ работят Π·Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΎΡ‡Π°ΠΊΠ²Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Users-v0 ΡΠ²ΡŠΡ€ΡˆΠ°Ρ‚, Dark Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° всичкитС останали Π΄Π°Π½Π½ΠΈ във Ρ„ΠΎΠ½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚ стария Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² Π½ΠΎΠ². Π’ΠΈΠ΅ Π΄ΠΎΡ€ΠΈ няма Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅.

ВСстиранС

Dark Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ с статична типизация ΠΈ нСизмСняСми стойности, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ тСстовата ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° Π² сравнСниС с ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΅Π·ΠΈΡ†ΠΈ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π° типизация. Но тСстовСтС всС ΠΎΡ‰Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½ΠΈ.
Π’ Dark Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ стартира ΠΌΠΎΠ΄ΡƒΠ»Π½ΠΈ тСстовС във Ρ„ΠΎΠ½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ Π·Π° рСдактирания ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ стартира Ρ‚Π΅Π·ΠΈ тСстовС Π·Π° всички ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ искамС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ разкрития Π² ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° статични Ρ‚ΠΈΠΏΠΎΠ²Π΅, Π·Π° Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΠΌΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ.

ОсвСн Ρ‚ΠΎΠ²Π°, Dark изпълнява Π²Π°ΡˆΠ°Ρ‚Π° инфраструктура Π² продукция, ΠΊΠΎΠ΅Ρ‚ΠΎ отваря Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. НиС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ HTTP заявкитС Π² инфраструктурата Π½Π° Dark (Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ всички заявки, Π½ΠΎ ΠΏΠΎ-късно искамС Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ Π½Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±ΠΈ). ВСстувамС новия ΠΊΠΎΠ΄ ΠΏΠΎ тях ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π½ΠΈ тСстовС, ΠΈ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ лСсно Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚Π΅ интСрСсни заявки Π² ΠΌΠΎΠ΄ΡƒΠ»Π½ΠΈ тСстовС.

ΠžΡ‚ ΠΊΠ°ΠΊΠ²ΠΎ смС сС освободили

Въй ΠΊΠ°Ρ‚ΠΎ нямамС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΊΠΎΠ»ΠΎ 60% ΠΎΡ‚ процСса Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ остава извън Π±ΠΎΡ€Π΄Π°. НС Π½ΠΈ трябват git ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΡƒΠ» риквСсти, ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄ рСсурси ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° рСсурси ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² рСгистри ΠΈΠ»ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π² Kubernetes.

Как Dark Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ Π·Π° 50 мс
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° стандартСн ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка (вляво) ΠΈ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка Dark (вдясно). Π’ Dark доставката сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ 6 ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ Π΅Π΄ΠΈΠ½ Ρ†ΠΈΠΊΡŠΠ», Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π° 35 ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ 3 Ρ†ΠΈΠΊΡŠΠ»Π°.

Π’ Dark Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° само 6 ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ 1 Ρ†ΠΈΠΊΡŠΠ» (ΡΡ‚ΡŠΠΏΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС повтарят няколко ΠΏΡŠΡ‚ΠΈ), Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡΡ‚ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ 35 ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ 3 Ρ†ΠΈΠΊΡŠΠ»Π°. Π’ Dark тСстовСтС стартират Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, ΠΈ Π²ΠΈΠ΅ Π΄ΠΎΡ€ΠΈ Π½Π΅ Π³ΠΎ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅; зависимоститС сС инсталират Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ; всичко, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с git ΠΈΠ»ΠΈ Github, Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ; Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, тСстватС ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ; Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π² Kubernetes Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π”ΠΎΡ€ΠΈ оставащитС ΡΡ‚ΡŠΠΏΠΊΠΈ Π² Dark станаха ΠΏΠΎ-лСсни. Въй ΠΊΠ°Ρ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° става с Π΅Π΄Π½ΠΎ дСйствиС, Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‚ΠΎΡ€ΠΈ ΠΏΡŠΡ‚ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚Π΅ ΠΏΡ€Π΅Π· цСлия ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ стария ΠΊΠΎΠ΄.

НиС опростихмС доставката Π½Π° ΠΊΠΎΠ΄Π°, намалявайки Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ рисковСтС ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка. ОсвСн Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ опростихмС обновяванСто Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, тСстванС, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° вСрсии, инсталиранС Π½Π° зависимости, равСнство ΠΌΠ΅ΠΆΠ΄Ρƒ срСдата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ продукцията ΠΈ Π±ΡŠΡ€Π·ΠΈ ΠΈ бСзопасни ΡŠΠΏΠ³Ρ€Π΅ΠΉΠ΄ΠΈ Π½Π° вСрсиитС Π½Π° Π΅Π·ΠΈΠΊΠ°.

ΠžΡ‚Π³ΠΎΠ²Π°Ρ€ΡΠΌ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠΈ Π·Π° Ρ‚ΠΎΠ²Π° Π½Π° HackerNews.

Π—Π° Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° устройството Dark, ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ статията Π·Π° Dark, Π°Π±ΠΎΠ½ΠΈΡ€Π°ΠΉΡ‚Π΅ сС Π·Π° нас Π² Twitter (ΠΈΠ»ΠΈ Π·Π° ΠΌΠ΅Π½Π΅) ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ сС Π·Π° Π±Π΅Ρ‚Π° вСрсия ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΉΡ‚Π΅ извСстия Π·Π° слСдващитС постовС. Ако ΠΎΡ‚ΠΈΠ²Π°Ρ‚Π΅ Π½Π° StrangeLoop ΠΏΡ€Π΅Π· сСптСмври, Π΅Π»Π° ΠΏΡ€ΠΈ нас Π·Π° старта.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster