Facebook ΠΎΡ‚ΠΊΡ€Ρ‹Π» ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° DotSlash

Facebook объявил ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠΎΠ΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки dotslash, созданной для упрощСния распространСния Π½Π°Π±ΠΎΡ€Π° исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° рассчитана Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ подходящСго для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ исполняСмого Ρ„Π°ΠΉΠ»Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΅Π³ΠΎ цСлостности ΠΈ исполнСниС. Код ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ написан Π½Π° языкС Rust ΠΈ распространяСтся ΠΏΠΎΠ΄ лицСнзиями MIT ΠΈ Apache 2.0.

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ DotSlash-сцСнария для распространСния сборок Node.js 18.19.0 для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ macOS ARM64, macOS x86_64 ΠΈ Linux x86_64: #!/usr/bin/env dotslash { «name»: «node-v18.19.0», «platforms»: { «macos-aarch64»: { «size»: 40660307, «hash»: «blake3», «digest»: «6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34», «format»: «tar.gz», «path»: «node-v18.19.0-darwin-arm64/bin/node», «providers»: [ { «url»: «https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64.tar.gz» } ] }, «macos-x86_64»: { «size»: 42202872, «hash»: «blake3», «digest»: «37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c», «format»: «tar.gz», «path»: «node-v18.19.0-darwin-x64/bin/node», «providers»: [ { «url»: «https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-x64.tar.gz» } ] }, «linux-x86_64»: { «size»: 44694523, «hash»: «blake3», «digest»: «72b81fc3a30b7bedc1a09a3fafc4478a1b02e5ebf0ad04ea15d23b3e9dc89212», «format»: «tar.gz», «path»: «node-v18.19.0-linux-x64/bin/node», «providers»: [ { «url»: «https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-x64.tar.gz» } ] } } }

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

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