ДСмонстрация Π½Π° Π°Ρ‚Π°ΠΊΠ° срСщу Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠ΄, която изпуска Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΡ€ΠΈ отварянС Π½Π° изходния ΠΊΠΎΠ΄

ДСмонстриран Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° Π°Ρ‚Π°ΠΊΠ° Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° VSCode ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° тСкущия ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΏΡ€ΠΈ отварянС Π½Π° спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π’ Ρ‚Π°Π·ΠΈ дСмонстрация, ΠΏΡ€ΠΈ отварянС Π½Π° Rust ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅Π½ макрос, Ρ‚ΠΎΠΉ установява Π²Ρ€ΡŠΠ·ΠΊΠ° с хост 127.0.0.1:8080 ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π° β€ž~/.ssh/id_rsaβ€œ с SSH ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° потрСбитСля.

Π—Π° компромис Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ просто Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠ΄Π°, Π±Π΅Π· Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ дСйствия с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π—Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΡŠΡ‚, VSCode изисква приставката Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° Ρ€ΡŠΠΆΠ΄Π°Ρ‚Π° (ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π²ΡŠΡ€Ρ…Ρƒ стандартния ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ rustc) ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° инструмСнти Π² систСмата Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ΄ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΈ макроси ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄Π°. ПодобСн Π΅Ρ„Π΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС постигнС ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "cargo build".

ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° засСгнС Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠ΄ ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. VSCode ΠΈ rust-analyze сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ само Π·Π° дСмонстриранС Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π°. На тСория всСки Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π»Π°Π³Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΈ макроси, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° синтаксиса ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΊΠΎΠ΄ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅, Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ² Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΏΡ€ΠΎΡƒΡ‡ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ дСйствия, Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‰ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° компилация Π½Π° ΠΊΠΎΠ΄, Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈ, Ρ‡Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΈΡ‚Π΅ макроси сС Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Ρ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ изходният ΠΊΠΎΠ΄ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠ΄. Атаката вСроятно ΠΌΠΎΠΆΠ΅ Π΄Π° засСгнС Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Java ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π° ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½.



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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€