ΠŸΡ€Π΅Ρ‚Π²Π°Ρ€Π°ΡšΠ΅ Π€ΡƒΠ½Π¦-Π° Ρƒ Π€ΡƒΠ½Π¦Ρ‚ΠΈΠΎΠ½Π°Π» са Π₯аскСлл-ΠΎΠΌ: Како јС Π‘Π΅Ρ€ΠΎΠΊΠ΅Π»Π» освојио Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π‘Π»ΠΎΡ†ΠΊΡ†Ρ…Π°ΠΈΠ½ Ρ‚Π°ΠΊΠΌΠΈΡ‡Π΅ΡšΠ΅

Π’Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ стС Ρ‡ΡƒΠ»ΠΈ Π·Π° Ρ‚Π°Ρ˜ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ ускоро Ρ›Π΅ лансирати Π’ΠΎΠ½ Π±Π»ΠΎΡ†ΠΊΡ†Ρ…Π°ΠΈΠ½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Али ΠΌΠΎΠΆΠ΄Π° стС пропустили вСст Π΄Π° јС Π½Π΅Π΄Π°Π²Π½ΠΎ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ расписао конкурс Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Ρƒ јСдног ΠΈΠ»ΠΈ вишС ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ… ΡƒΠ³ΠΎΠ²ΠΎΡ€Π° Π·Π° ΠΎΠ²Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

Π’ΠΈΠΌ Π‘Π΅Ρ€ΠΎΠΊΠ΅Π»Π», са Π²Π΅Π»ΠΈΠΊΠΈΠΌ искуством Ρƒ Ρ€Π°Π·Π²ΠΎΡ˜Ρƒ Π²Π΅Π»ΠΈΠΊΠΈΡ… Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π°, нијС ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΡΡ‚ΠΎΡ˜ΠΈ ΠΏΠΎ страни. На Ρ‚Π°ΠΊΠΌΠΈΡ‡Π΅ΡšΠ΅ смо Π΄Π΅Π»Π΅Π³ΠΈΡ€Π°Π»ΠΈ ΠΏΠ΅Ρ‚ΠΎΡ€ΠΎ запослСних, Π° Π΄Π²Π΅ Π½Π΅Π΄Π΅Ρ™Π΅ каснијС су Π·Π°ΡƒΠ·Π΅Π»ΠΈ ΠΏΡ€Π²ΠΎ мСсто Π½Π° ΡšΠ΅ΠΌΡƒ ΠΏΠΎΠ΄ (Π½Π΅)скромним ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈΠΌ Π½Π°Π΄ΠΈΠΌΠΊΠΎΠΌ Π‘Π΅ΠΊΠΈ Π¦Ρ…Π°ΠΌΠ΅Π»Π΅ΠΎΠ½. Π£ ΠΎΠ²ΠΎΠΌ Ρ‡Π»Π°Π½ΠΊΡƒ Ρ›Ρƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΠΈ ΠΎ Ρ‚ΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ су Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ. Надамо сС Π΄Π° Ρ›Π΅Ρ‚Π΅ Ρƒ Π½Π°Ρ€Π΅Π΄Π½ΠΈΡ… дСсСт ΠΌΠΈΠ½ΡƒΡ‚Π° Π±Π°Ρ€ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΠΈ Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²Ρƒ ΠΏΡ€ΠΈΡ‡Ρƒ, Π° највишС Ρƒ њој ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ Π½Π΅ΡˆΡ‚ΠΎ корисно ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ Ρƒ свом Ρ€Π°Π΄Ρƒ.

Али ΠΏΠΎΡ‡Π½ΠΈΠΌΠΎ са ΠΌΠ°Π»ΠΈΠΌ контСкстом.

ΠšΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡ˜Π° ΠΈ њСни услови

Π”Π°ΠΊΠ»Π΅, Π³Π»Π°Π²Π½ΠΈ Π·Π°Π΄Π°Ρ†ΠΈ учСсника Π±ΠΈΠ»ΠΈ су ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° јСдног ΠΈΠ»ΠΈ вишС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ… ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ… ΡƒΠ³ΠΎΠ²ΠΎΡ€Π°, ΠΊΠ°ΠΎ ΠΈ давањС ΠΏΡ€Π΅Π΄Π»ΠΎΠ³Π° Π·Π° ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°ΡšΠ΅ ВОН СкосистСма. ΠšΠΎΠ½ΠΊΡƒΡ€Ρ јС Ρ‚Ρ€Π°Ρ˜Π°ΠΎ ΠΎΠ΄ 24. сСптСмбра Π΄ΠΎ 15. ΠΎΠΊΡ‚ΠΎΠ±Ρ€Π°, Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ су ΠΎΠ±Ρ˜Π°Π²Ρ™Π΅Π½ΠΈ Ρ‚Π΅ΠΊ 15. Π½ΠΎΠ²Π΅ΠΌΠ±Ρ€Π°. ΠŸΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π΄ΡƒΠ³ΠΎ, с ΠΎΠ±Π·ΠΈΡ€ΠΎΠΌ Π΄Π° јС Π·Π° Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ успСо Π΄Π° ΠΎΠ΄Ρ€ΠΆΠΈ ΠΈ објави Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π΅ конкурса Π·Π° дизајн ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° Π¦++ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρƒ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚Π° Π’ΠΎΠ˜ΠŸ ΠΏΠΎΠ·ΠΈΠ²Π° Ρƒ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΡƒ.

Π˜Π·Π°Π±Ρ€Π°Π»ΠΈ смо Π΄Π²Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Π° ΡƒΠ³ΠΎΠ²ΠΎΡ€Π° са листС ΠΊΠΎΡ˜Ρƒ су ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ. Π—Π° Ρ˜Π΅Π΄Π½Ρƒ ΠΎΠ΄ ΡšΠΈΡ… користили смо Π°Π»Π°Ρ‚Π΅ дистрибуиранС са ВОН-ΠΎΠΌ, Π° Π΄Ρ€ΡƒΠ³ΠΈ јС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π½Π° Π½ΠΎΠ²ΠΎΠΌ Ρ˜Π΅Π·ΠΈΠΊΡƒ који су Ρ€Π°Π·Π²ΠΈΠ»ΠΈ наши ΠΈΠ½ΠΆΠ΅ΡšΠ΅Ρ€ΠΈ посСбно Π·Π° ВОН ΠΈ ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ Ρƒ Π₯аскСлл.

Π˜Π·Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎΠ³ програмског јСзика нијС ΡΠ»ΡƒΡ‡Π°Ρ˜Π°Π½. Π£ нашСм ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΈ Π±Π»ΠΎΠ³ ЧСсто Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠΎ ΠΎ Ρ‚ΠΎΠΌΠ΅ Π·Π°ΡˆΡ‚ΠΎ мислимо Π΄Π° јС слоТСност Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ… јСзика Π²Π΅Π»ΠΈΠΊΠΎ ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΈΠ²Π°ΡšΠ΅ ΠΈ Π·Π°ΡˆΡ‚ΠΎ ΠΈΡ… Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ вишС Π²ΠΎΠ»ΠΈΠΌΠΎ ΠΎΠ΄ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ€ΠΈΡ˜Π΅Π½Ρ‚ΠΈΡΠ°Π½ΠΈΡ…. Π£Π·Π³Ρ€Π΅Π΄, садрТи ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°.

Π—Π°ΡˆΡ‚ΠΎ смо ΡƒΠΎΠΏΡˆΡ‚Π΅ ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π° ΡƒΡ‡Π΅ΡΡ‚Π²ΡƒΡ˜Π΅ΠΌΠΎ?

Π£ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π·Π°Ρ‚ΠΎ ΡˆΡ‚ΠΎ су наша ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° нСстандардни ΠΈ слоТСни ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈ који Π·Π°Ρ…Ρ‚Π΅Π²Π°Ρ˜Ρƒ посСбнС Π²Π΅ΡˆΡ‚ΠΈΠ½Π΅ ΠΈ чСсто су ΠΎΠ΄ Π½Π°ΡƒΡ‡Π½Π΅ врСдности Π·Π° ИВ Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ†Ρƒ. Π‘Π½Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π°ΠΌΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎΠ³ ΠΊΠΎΠ΄Π° ΠΈ Π±Π°Π²ΠΈΠΌΠΎ сС њСговом ΠΏΠΎΠΏΡƒΠ»Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΎΡ’Π΅ ΡΠ°Ρ€Π°Ρ’ΡƒΡ˜Π΅ΠΌΠΎ са Π²ΠΎΠ΄Π΅Ρ›ΠΈΠΌ руским ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·ΠΈΡ‚Π΅Ρ‚ΠΈΠΌΠ° Ρƒ области рачунарства ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ°Π½Ρ‚Π½ΠΈ Π·Π°Π΄Π°Ρ†ΠΈ Ρ‚Π°ΠΊΠΌΠΈΡ‡Π΅ΡšΠ° ΠΈ укључСност Ρƒ наш ΠΎΠΌΠΈΡ™Π΅Π½ΠΈ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ Π±ΠΈΠ»ΠΈ су сами ΠΏΠΎ сСби ΠΎΠ΄Π»ΠΈΡ‡Π½Π° ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡ˜Π°, Π°Π»ΠΈ јС Π½Π°Π³Ρ€Π°Π΄Π½ΠΈ Ρ„ΠΎΠ½Π΄ постао Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΈ ΠΏΠΎΠ΄ΡΡ‚ΠΈΡ†Π°Ρ˜. πŸ™‚

ВОН Π±Π»ΠΎΡ†ΠΊΡ†Ρ…Π°ΠΈΠ½ ΠΈΡΡ‚Ρ€Π°ΠΆΠΈΠ²Π°ΡšΠ΅

ΠŸΠ°ΠΆΡ™ΠΈΠ²ΠΎ ΠΏΡ€Π°Ρ‚ΠΈΠΌΠΎ Π½ΠΎΠ²Π° достигнућа Ρƒ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½Ρƒ, Π²Π΅ΡˆΡ‚Π°Ρ‡ΠΊΠΎΡ˜ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ†ΠΈΡ˜ΠΈ ΠΈ машинском ΡƒΡ‡Π΅ΡšΡƒ ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΈΠΌΠΎ сС Π΄Π° Π½Π΅ пропустимо нијСдно Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ издањС Ρƒ свакој ΠΎΠ΄ области Ρƒ којима Ρ€Π°Π΄ΠΈΠΌΠΎ. Π”Π°ΠΊΠ»Π΅, Π΄ΠΎ ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΠ° Ρ‚Π°ΠΊΠΌΠΈΡ‡Π΅ΡšΠ° наш Ρ‚ΠΈΠΌ јС Π²Π΅Ρ› Π±ΠΈΠΎ ΡƒΠΏΠΎΠ·Π½Π°Ρ‚ са идСјама ΠΈΠ· ВОН Π±Π΅Π»ΠΎΠ³ ΠΏΠ°ΠΏΠΈΡ€Π°. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, ΠΏΡ€Π΅ ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΠ° Ρ€Π°Π΄Π° са ВОН-ΠΎΠΌ, нисмо Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π»ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Ρƒ ΠΈ стварни ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, Ρ‚Π°ΠΊΠΎ Π΄Π° јС ΠΏΡ€Π²ΠΈ ΠΊΠΎΡ€Π°ΠΊ Π±ΠΈΠΎ сасвим ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π°Π½ – Ρ‚Π΅ΠΌΠ΅Ρ™Π½ΠΎ ΠΏΡ€ΠΎΡƒΡ‡Π°Π²Π°ΡšΠ΅ Π·Π²Π°Π½ΠΈΡ‡Π½Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅ ΠΎ ОнлинС ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠΈ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π°.

Када јС конкурс ΠΏΠΎΡ‡Π΅ΠΎ, ΠΊΠΎΠ΄ јС Π²Π΅Ρ› Π±ΠΈΠΎ ΠΎΠ±Ρ˜Π°Π²Ρ™Π΅Π½, ΠΏΠ° смо Π΄Π° бисмо ΡƒΡˆΡ‚Π΅Π΄Π΅Π»ΠΈ Π²Ρ€Π΅ΠΌΠ΅ ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΡ‚Ρ€Π°ΠΆΠΈΠΌΠΎ Π²ΠΎΠ΄ΠΈΡ‡ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΠΈΠΌΠ΅ који јС написао корисника. НаТалост, ΠΎΠ²ΠΎ нијС Π΄Π°Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠ²Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π΅ – осим упутства Π·Π° склапањС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π° Π£Π±ΡƒΠ½Ρ‚Ρƒ, нисмо ΠΏΡ€ΠΎΠ½Π°ΡˆΠ»ΠΈ нијСдан Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π».

Π‘Π°ΠΌΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° јС Π±ΠΈΠ»Π° Π΄ΠΎΠ±Ρ€ΠΎ истраТСна, Π°Π»ΠΈ јС Ρƒ Π½Π΅ΠΊΠΈΠΌ областима Π±ΠΈΠ»Π° Ρ‚Π΅ΡˆΠΊΠ° Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅. ЧСсто смо ΠΌΠΎΡ€Π°Π»ΠΈ Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠΎ Π½Π° ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π΅ Ρ‚Π°Ρ‡ΠΊΠ΅ ΠΈ ΠΏΡ€Π΅Ρ’Π΅ΠΌΠΎ са описа апстрактних идСја Π½Π° високом Π½ΠΈΠ²ΠΎΡƒ Π½Π° Π΄Π΅Ρ‚Π°Ρ™Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅ ниског Π½ΠΈΠ²ΠΎΠ°.

Π‘ΠΈΠ»ΠΎ Π±ΠΈ лакшС Π΄Π° ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΡƒΠΎΠΏΡˆΡ‚Π΅ Π½Π΅ садрТи Π΄Π΅Ρ‚Π°Ρ™Π°Π½ опис ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ Ρ‚ΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина прСдставља свој стСк Ρ›Π΅ Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ ΠΎΠ΄Π²Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π΅ који ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρƒ ΠΏΠ°ΠΌΠ΅Ρ‚Π½Π΅ ΡƒΠ³ΠΎΠ²ΠΎΡ€Π΅ Π·Π° ВОН ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π½Π΅Π³ΠΎ Π΄Π° ΠΈΠΌ ΠΏΠΎΠΌΠΎΠ³Π½Ρƒ.

Никс: ΡΠ°ΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π°

Π£ Π‘Π΅Ρ€ΠΎΠΊΠ΅Π»Π»-Ρƒ смо Π²Π΅Π»ΠΈΠΊΠΈ Ρ„Π°Π½ΠΎΠ²ΠΈ Π½ΠΈΠΊ. Π‘Π° њим ΠΏΡ€ΠΈΠΊΡƒΠΏΡ™Π°ΠΌΠΎ нашС ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π΅ ΠΈ користимо ΠΈΡ… НикОпс, ΠΈ инсталиран Π½Π° свим нашим сСрвСрима НикОБ. Π—Π°Ρ…Π²Π°Ρ™ΡƒΡ˜ΡƒΡ›ΠΈ Ρ‚ΠΎΠΌΠ΅, свС нашС Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ су ΠΏΠΎΠ½ΠΎΠ²Ρ™ΠΈΠ²Π΅ ΠΈ Ρ€Π°Π΄Π΅ Π½Π° Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ систСму Π½Π° којСм сС Ник ΠΌΠΎΠΆΠ΅ инсталирати.

Па смо ΠΏΠΎΡ‡Π΅Π»ΠΈ са ΡΡ‚Π²Π°Ρ€Π°ΡšΠ΅ΠΌ Ник ΠΏΡ€Π΅ΠΊΡ€ΠΈΠ²Π°Ρ‡ са ΠΈΠ·Ρ€Π°Π·ΠΎΠΌ Π·Π° ВОН склоп. Π£Π· ΡšΠ΅Π³ΠΎΠ²Ρƒ ΠΏΠΎΠΌΠΎΡ›, ΡΠ°ΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ ВОН-Π° јС ΡˆΡ‚ΠΎ јС ΠΌΠΎΠ³ΡƒΡ›Π΅ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΡ˜Π΅:

$ cd ~/.config/nixpkgs/overlays && git clone https://github.com/serokell/ton.nix
$ cd /path/to/ton/repo && nix-shell
[nix-shell]$ cmakeConfigurePhase && make

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌΡƒ Π΄Π° Π½Π΅ ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° инсталиратС Π½ΠΈΠΊΠ°ΠΊΠ²Π΅ зависности. Ник Ρ›Π΅ ΠΌΠ°Π³ΠΈΡ‡Π½ΠΎ ΡƒΡ‡ΠΈΠ½ΠΈΡ‚ΠΈ свС Π·Π° вас, Π±ΠΈΠ»ΠΎ Π΄Π° користитС НикОБ, Π£Π±ΡƒΠ½Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΌΠ°Ρ†ΠžΠ‘.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ Π·Π° ВОН

Код ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΎΠ³ ΡƒΠ³ΠΎΠ²ΠΎΡ€Π° Ρƒ ВОН ΠΌΡ€Π΅ΠΆΠΈ Ρ€Π°Π΄ΠΈ Π½Π° ВОН Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΎΡ˜ машини (Π’Π’Πœ). Π’Π’Πœ јС слоТСнији ΠΎΠ΄ Π²Π΅Ρ›ΠΈΠ½Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈΡ… машина ΠΈ ΠΈΠΌΠ° Π²Π΅ΠΎΠΌΠ° интСрСсантну функционалност, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π΄ΠΈ са њим наставака ΠΈ Π²Π΅Π·Π΅ Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°.

Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, ΠΌΠΎΠΌΡ†ΠΈ ΠΈΠ· ВОН-Π° су ΠΊΡ€Π΅ΠΈΡ€Π°Π»ΠΈ Ρ‚Ρ€ΠΈ Π½ΠΎΠ²Π° програмска јСзика:

ΠŸΠ΅Ρ‚ΠΎ јС ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½ΠΈ стСк програмски јСзик који Π»ΠΈΡ‡ΠΈ Π½Π° Π§Π΅Ρ‚Π²Ρ€Ρ‚ΠΎ. ЊСгова супСр способност јС способност ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π΅ са Π’Π’Πœ-ΠΎΠΌ.

Π€ΡƒΠ½Π¦ јС програмски јСзик ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ… ΡƒΠ³ΠΎΠ²ΠΎΡ€Π° који јС сличан C ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½ јС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ јСзик - Π€ΠΈΡ„Ρ‚ АссСмблСр.

ΠŸΠ΅Ρ‚ΠΈ асСмблСр β€” ΠŸΠ΅Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡΠ°ΡšΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΎΠ³ ΠΊΠΎΠ΄Π° Π·Π° Π’Π’Πœ. ΠŸΠ΅Ρ‚ΠΈ асСмблСр Π½Π΅ΠΌΠ° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€. Ово ЈСзик спСцифичан Π·Π° ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½ (Π΅Π”Π‘Π›).

НашС Ρ‚Π°ΠΊΠΌΠΈΡ‡Π΅ΡšΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡˆΠ΅

ΠšΠΎΠ½Π°Ρ‡Π½ΠΎ, Π²Ρ€Π΅ΠΌΠ΅ јС Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π΅ Π½Π°ΡˆΠΈΡ… Π½Π°ΠΏΠΎΡ€Π°.

Асинхрони ΠΊΠ°Π½Π°Π» ΠΏΠ»Π°Ρ›Π°ΡšΠ°

Канал ΠΏΠ»Π°Ρ›Π°ΡšΠ° јС ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ ΡƒΠ³ΠΎΠ²ΠΎΡ€ који ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π²Π° корисника Π΄Π° ΡˆΠ°Ρ™Ρƒ ΠΏΠ»Π°Ρ›Π°ΡšΠ° Π²Π°Π½ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½Π°. Као Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚, ΡˆΡ‚Π΅Π΄ΠΈΡ‚Π΅ Π½Π΅ само Π½ΠΎΠ²Π°Ρ† (Π½Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ²ΠΈΠ·ΠΈΡ˜Π΅), Π²Π΅Ρ› ΠΈ Π²Ρ€Π΅ΠΌΠ΅ (Π½Π΅ ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° Ρ‡Π΅ΠΊΠ°Ρ‚Π΅ Π΄Π° сС слСдСћи Π±Π»ΠΎΠΊ ΠΎΠ±Ρ€Π°Π΄ΠΈ). Π£ΠΏΠ»Π°Ρ‚Π΅ ΠΌΠΎΠ³Ρƒ Π±ΠΈΡ‚ΠΈ ΠΌΠ°Π»Π΅ ΠΏΠΎ ΠΆΠ΅Ρ™ΠΈ ΠΈ ΠΎΠ½ΠΎΠ»ΠΈΠΊΠΎ чСсто ΠΊΠΎΠ»ΠΈΠΊΠΎ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ. Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, странС Π½Π΅ ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π΄Π° Π²Π΅Ρ€ΡƒΡ˜Ρƒ јСдна Π΄Ρ€ΡƒΠ³ΠΎΡ˜, ΠΏΠΎΡˆΡ‚ΠΎ јС правичност ΠΊΠΎΠ½Π°Ρ‡Π½ΠΎΠ³ ΠΏΠΎΡ€Π°Π²Π½Π°ΡšΠ° Π·Π°Π³Π°Ρ€Π°Π½Ρ‚ΠΎΠ²Π°Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΌ ΡƒΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ.

ΠŸΡ€ΠΎΠ½Π°ΡˆΠ»ΠΈ смо ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Ρ€Π΅ΡˆΠ΅ΡšΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π”Π²Π΅ странС ΠΌΠΎΠ³Ρƒ Π΄Π° Ρ€Π°Π·ΠΌΠ΅ΡšΡƒΡ˜Ρƒ потписанС ΠΏΠΎΡ€ΡƒΠΊΠ΅, ΠΎΠ΄ ΠΊΠΎΡ˜ΠΈΡ… свака садрТи Π΄Π²Π° Π±Ρ€ΠΎΡ˜Π° β€” ΠΏΡƒΠ½ износ који свака страна ΠΏΠ»Π°Ρ›Π°. Ова Π΄Π²Π° Π±Ρ€ΠΎΡ˜Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡˆΡƒ ΠΊΠ°ΠΎ вСкторски сат Ρƒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΠΌ дистрибуираним систСмима ΠΈ поставити рСдослСд Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° β€žΠΏΡ€Π΅ сС Π΄Π΅ΡΠΈΠ»ΠΎβ€œ. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ›ΠΈ ΠΎΠ²Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅, ΡƒΠ³ΠΎΠ²ΠΎΡ€ Ρ›Π΅ ΠΌΠΎΡ›ΠΈ Π΄Π° Ρ€Π΅ΡˆΠΈ сваки ΠΌΠΎΠ³ΡƒΡ›ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Π£ ствари, јСдан Π±Ρ€ΠΎΡ˜ јС Π΄ΠΎΠ²ΠΎΡ™Π°Π½ Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ ΠΎΠ²Π΅ идСјС, Π°Π»ΠΈ смо обојС оставили Ρ˜Π΅Ρ€ бисмо Π½Π° Ρ‚Π°Ρ˜ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΈΡ˜ΠΈ кориснички ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ. ΠŸΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ³Π°, ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠ»ΠΈ смо Π΄Π° унСсСмо износ ΡƒΠΏΠ»Π°Ρ‚Π΅ Ρƒ сваку ΠΏΠΎΡ€ΡƒΠΊΡƒ. Π‘Π΅Π· Ρ‚ΠΎΠ³Π°, Π°ΠΊΠΎ сС ΠΏΠΎΡ€ΡƒΠΊΠ° ΠΈΠ· Π½Π΅ΠΊΠΎΠ³ Ρ€Π°Π·Π»ΠΎΠ³Π° ΠΈΠ·Π³ΡƒΠ±ΠΈ, ΠΎΠ½Π΄Π°, ΠΈΠ°ΠΊΠΎ Ρ›Π΅ сви износи ΠΈ ΠΊΠΎΠ½Π°Ρ‡Π½ΠΈ ΠΎΠ±Ρ€Π°Ρ‡ΡƒΠ½ Π±ΠΈΡ‚ΠΈ Ρ‚Π°Ρ‡Π½ΠΈ, корисник ΠΌΠΎΠΆΠ΄Π° Π½Π΅Ρ›Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ΠΈΡ‚ΠΈ Π³ΡƒΠ±ΠΈΡ‚Π°ΠΊ.

Π”Π° бисмо тСстирали Π½Π°ΡˆΡƒ ΠΈΠ΄Π΅Ρ˜Ρƒ, ΠΏΠΎΡ‚Ρ€Π°ΠΆΠΈΠ»ΠΈ смо ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ° Ρ‚Π°ΠΊΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎΠ³ ΠΈ саТСтог ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΊΠ°Π½Π°Π»Π° ΠΏΠ»Π°Ρ›Π°ΡšΠ°. Π˜Π·Π½Π΅Π½Π°Ρ’ΡƒΡ˜ΡƒΡ›Π΅, ΠΏΡ€ΠΎΠ½Π°ΡˆΠ»ΠΈ смо само Π΄Π²Π°:

  1. Опис сличан приступ, само Π·Π° ΡΠ»ΡƒΡ‡Π°Ρ˜ Ρ˜Π΅Π΄Π½ΠΎΡΠΌΠ΅Ρ€Π½ΠΎΠ³ ΠΊΠ°Π½Π°Π»Π°.
  2. ΠŸΡ€ΠΈΡ€ΡƒΡ‡Π½ΠΈΠΊ, који ΠΎΠΏΠΈΡΡƒΡ˜Π΅ исту ΠΈΠ΄Π΅Ρ˜Ρƒ ΠΊΠ°ΠΎ ΠΈ наша, Π°Π»ΠΈ Π±Π΅Π· објашњСња ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²Π°ΠΆΠ½ΠΈΡ… Π΄Π΅Ρ‚Π°Ρ™Π°, ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су ΠΎΠΏΡˆΡ‚Π° исправност ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ° сукоба.

ΠŸΠΎΡΡ‚Π°Π»ΠΎ јС јасно Π΄Π° ΠΈΠΌΠ° смисла Π΄Π΅Ρ‚Π°Ρ™Π½ΠΎ описати наш ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΎΠ±Ρ€Π°Ρ›Π°Ρ˜ΡƒΡ›ΠΈ посСбну ΠΏΠ°ΠΆΡšΡƒ Π½Π° ΡšΠ΅Π³ΠΎΠ²Ρƒ исправност. ПослС Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡ˜Π°, ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° јС Π±ΠΈΠ»Π° спрСмна, Π° сада ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ Π²ΠΈ. ПоглСдај јС.

Π£Π³ΠΎΠ²ΠΎΡ€ смо ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π»ΠΈ Ρƒ Π€ΡƒΠ½Π¦-Ρƒ, Π° услуТни ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π΅ линијС Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Ρƒ са нашим ΡƒΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ Ρƒ потпуности смо написали Ρƒ Π€ΠΈΡ„Ρ‚-Ρƒ, ΠΊΠ°ΠΊΠΎ су ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ. Могли смо Π΄Π° ΠΈΠ·Π°Π±Π΅Ρ€Π΅ΠΌΠΎ Π±ΠΈΠ»ΠΎ који Π΄Ρ€ΡƒΠ³ΠΈ јСзик Π·Π° наш Π¦Π›Π˜, Π°Π»ΠΈ смо Π±ΠΈΠ»ΠΈ заинтСрСсовани Π΄Π° ΠΏΡ€ΠΎΠ±Π°ΠΌΠΎ Π€ΠΈΡ‚ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΎ сС ΠΎΠ½ понаша Ρƒ пракси.

Π”Π° Π±ΡƒΠ΄Π΅ΠΌ искрСн, Π½Π°ΠΊΠΎΠ½ Ρ€Π°Π΄Π° са Π€ΠΈΡ„Ρ‚-ΠΎΠΌ, нисмо Π²ΠΈΠ΄Π΅Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²Π΅ ΡƒΠ±Π΅Π΄Ρ™ΠΈΠ²Π΅ Ρ€Π°Π·Π»ΠΎΠ³Π΅ Π΄Π° ΠΏΡ€Π΅Ρ„Π΅Ρ€ΠΈΡ€Π°ΠΌΠΎ овај јСзик ΠΎΠ΄ ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΈΡ… ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅Π½ΠΈΡ… јСзика са Ρ€Π°Π·Π²ΠΈΡ˜Π΅Π½ΠΈΠΌ Π°Π»Π°Ρ‚ΠΈΠΌΠ° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠ°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ Ρƒ Ρ˜Π΅Π·ΠΈΠΊΡƒ заснованом Π½Π° стСку јС ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π½Π΅ΠΏΡ€ΠΈΡ˜Π°Ρ‚Π½ΠΎ, Ρ˜Π΅Ρ€ ΠΌΠΎΡ€Π°Ρ‚Π΅ стално Π΄Π° Π΄Ρ€ΠΆΠΈΡ‚Π΅ Ρƒ Π³Π»Π°Π²ΠΈ ΠΎΠ½ΠΎ ΡˆΡ‚ΠΎ јС Π½Π° стСку, Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ Π½Π΅ ΠΏΠΎΠΌΠ°ΠΆΠ΅ Ρƒ Ρ‚ΠΎΠΌΠ΅.

Π‘Ρ‚ΠΎΠ³Π°, ΠΏΠΎ нашСм ΠΌΠΈΡˆΡ™Π΅ΡšΡƒ, јСдино ΠΎΠΏΡ€Π°Π²Π΄Π°ΡšΠ΅ Π·Π° ΠΏΠΎΡΡ‚ΠΎΡ˜Π°ΡšΠ΅ Π€ΠΈΡ„Ρ‚Π° јС њСгова ΡƒΠ»ΠΎΠ³Π° јСзика Π΄ΠΎΠΌΠ°Ρ›ΠΈΠ½Π° Π·Π° Π€ΠΈΡ„Ρ‚ АссСмблСр. Али Π·Π°Ρ€ Π½Π΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π±ΠΎΡ™Π΅ ΡƒΠ³Ρ€Π°Π΄ΠΈΡ‚ΠΈ Π’Π’Πœ асСмблСр Ρƒ Π½Π΅ΠΊΠΈ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›ΠΈ јСзик, Π½Π΅Π³ΠΎ измислити Π½ΠΎΠ²ΠΈ Π·Π° ΠΎΠ²Ρƒ ΡΡƒΡˆΡ‚ΠΈΠ½ΡΠΊΠΈ Ρ˜Π΅Π΄ΠΈΠ½Ρƒ сврху?

Π’Π’Πœ Π₯аскСлл Π΅Π”Π‘Π›

Π‘Π°Π΄Π° јС Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°ΠΌΠΎ ΠΎ нашСм Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΎΠΌ ΡƒΠ³ΠΎΠ²ΠΎΡ€Ρƒ. ΠžΠ΄Π»ΡƒΡ‡ΠΈΠ»ΠΈ смо Π΄Π° Ρ€Π°Π·Π²ΠΈΡ˜Π΅ΠΌΠΎ Π½ΠΎΠ²Ρ‡Π°Π½ΠΈΠΊ са вишС потписа, Π°Π»ΠΈ писањС још јСдног ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΎΠ³ ΡƒΠ³ΠΎΠ²ΠΎΡ€Π° Ρƒ Π€ΡƒΠ½Π¦-Ρƒ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ досадно. Π–Π΅Π»Π΅Π»ΠΈ смо Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ ΠΌΠ°Π»ΠΎ укуса, Π° Ρ‚ΠΎ јС Π±ΠΈΠΎ наш сопствСни асСмблСрски јСзик Π·Π° Π’Π’Πœ.

Као ΠΈ Π€ΠΈΡ„Ρ‚ АссСмблСр, наш Π½ΠΎΠ²ΠΈ јСзик јС ΡƒΠ³Ρ€Π°Ρ’Π΅Π½, Π°Π»ΠΈ смо ΠΈΠ·Π°Π±Ρ€Π°Π»ΠΈ Π₯аскСлл ΠΊΠ°ΠΎ Π΄ΠΎΠΌΠ°Ρ›ΠΈΠ½ умСсто Π€ΠΈΡ„Ρ‚Π°, ΡˆΡ‚ΠΎ Π½Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° Ρƒ потпуности искористимо њСгов Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΈ систСм Ρ‚ΠΈΠΏΠΎΠ²Π°. Када Ρ€Π°Π΄ΠΈΡ‚Π΅ са ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΌ ΡƒΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠ°, Π³Π΄Π΅ Ρ†Π΅Π½Π° Ρ‡Π°ΠΊ ΠΈ ΠΌΠ°Π»Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Π²Π΅ΠΎΠΌΠ° висока, статичко ΠΊΡƒΡ†Π°ΡšΠ΅, ΠΏΠΎ нашСм ΠΌΠΈΡˆΡ™Π΅ΡšΡƒ, прСдставља Π²Π΅Π»ΠΈΠΊΡƒ прСдност.

Π”Π° бисмо дСмонстрирали ΠΊΠ°ΠΊΠΎ Π’Π’Πœ асСмблСр ΠΈΠ·Π³Π»Π΅Π΄Π° ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ Ρƒ Π₯аскСлл, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π»ΠΈ смо стандардни Π½ΠΎΠ²Ρ‡Π°Π½ΠΈΠΊ Π½Π° њСга. Π•Π²ΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ствари Π½Π° којС Ρ‚Ρ€Π΅Π±Π° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ ΠΏΠ°ΠΆΡšΡƒ:

  • Овај ΡƒΠ³ΠΎΠ²ΠΎΡ€ сС ΡΠ°ΡΡ‚ΠΎΡ˜ΠΈ ΠΎΠ΄ јСднС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅, Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ ΠΆΠ΅Π»ΠΈΡ‚Π΅. Када Π΄Π΅Ρ„ΠΈΠ½ΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ Ρƒ Ρ˜Π΅Π·ΠΈΠΊΡƒ Π΄ΠΎΠΌΠ°Ρ›ΠΈΠ½Π° (Ρ‚Ρ˜. Π₯аскСлл), наш Π΅Π”Π‘Π› Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° ΠΈΠ·Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π° Π»ΠΈ ΠΆΠ΅Π»ΠΈΡ‚Π΅ Π΄Π° постанС посСбна Ρ€ΡƒΡ‚ΠΈΠ½Π° Ρƒ Π’Π’Πœ-Ρƒ ΠΈΠ»ΠΈ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΡƒΠΌΠ΅Ρ‚Π½ΡƒΡ‚Π° Π½Π° мСсту ΠΏΠΎΠ·ΠΈΠ²Π°.
  • Као ΠΈ Π₯аскСлл, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ ΠΈΠΌΠ°Ρ˜Ρƒ Ρ‚ΠΈΠΏΠΎΠ²Π΅ који сС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°Ρ˜Ρƒ Ρƒ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ°. Π£ нашСм Π΅Π”Π‘Π›-Ρƒ, Ρ‚ΠΈΠΏ уноса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ јС Ρ‚ΠΈΠΏ стСка који Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΎΡ‡Π΅ΠΊΡƒΡ˜Π΅, Π° Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° јС Ρ‚ΠΈΠΏ стСка који Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ Π½Π°ΠΊΠΎΠ½ ΠΏΠΎΠ·ΠΈΠ²Π°.
  • Код ΠΈΠΌΠ° Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ stacktype, који ΠΎΠΏΠΈΡΡƒΡ˜Π΅ ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Π½ΠΈ Ρ‚ΠΈΠΏ стСка Π½Π° позивној Ρ‚Π°Ρ‡ΠΊΠΈ. Π£ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΠΌ ΡƒΠ³ΠΎΠ²ΠΎΡ€Ρƒ ΠΎ Π½ΠΎΠ²Ρ‡Π°Π½ΠΈΠΊΡƒ Ρ‚ΠΎ су Π±ΠΈΠ»ΠΈ само ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Π°Π»ΠΈ Ρƒ нашСм Π΅Π”Π‘Π›-Ρƒ ΠΎΠ½ΠΈ су Π·Π°ΠΏΡ€Π°Π²ΠΎ Π΄Π΅ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°Ρ˜Ρƒ сС Ρƒ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ°. Они ΠΌΠΎΠ³Ρƒ послуТити ΠΊΠ°ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΈΠ»ΠΈ изјавС којС ΠΏΠΎΠΌΠ°ΠΆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Ρƒ Π΄Π° ΠΏΡ€ΠΎΠ½Π°Ρ’Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π°ΠΊΠΎ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏ стСка. Наравно, Ρ‚Π°ΠΊΠ²Π΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π½Π΅ ΡƒΡ‚ΠΈΡ‡Ρƒ Π½Π° пСрформансС Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°ΡšΠ°, ΠΏΠΎΡˆΡ‚ΠΎ сС Π·Π° ΡšΠΈΡ… Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡˆΠ΅ Π’Π’Πœ ΠΊΠΎΠ΄.
  • Ово јС још ΡƒΠ²Π΅ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ написан Π·Π° Π΄Π²Π΅ Π½Π΅Π΄Π΅Ρ™Π΅, Ρ‚Π°ΠΊΠΎ Π΄Π° ΠΈΠΌΠ° још ΠΌΠ½ΠΎΠ³ΠΎ посла Π½Π° ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, свС инстанцС класа којС Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρƒ ΠΊΠΎΠ΄Ρƒ испод Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡˆΡƒ аутоматски.

Овако ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½ΠΎΠ²Ρ‡Π°Π½ΠΈΠΊΠ° са вишС потписа Π½Π° нашСм Π΅Π”Π‘Π›-Ρƒ:

main :: IO ()
main = putText $ pretty $ declProgram procedures methods
  where
    procedures =
      [ ("recv_external", decl recvExternal)
      , ("recv_internal", decl recvInternal)
      ]
    methods =
      [ ("seqno", declMethod getSeqno)
      ]

data Storage = Storage
  { sCnt :: Word32
  , sPubKey :: PublicKey
  }

instance DecodeSlice Storage where
  type DecodeSliceFields Storage = [PublicKey, Word32]
  decodeFromSliceImpl = do
    decodeFromSliceImpl @Word32
    decodeFromSliceImpl @PublicKey

instance EncodeBuilder Storage where
  encodeToBuilder = do
    encodeToBuilder @Word32
    encodeToBuilder @PublicKey

data WalletError
  = SeqNoMismatch
  | SignatureMismatch
  deriving (Eq, Ord, Show, Generic)

instance Exception WalletError

instance Enum WalletError where
  toEnum 33 = SeqNoMismatch
  toEnum 34 = SignatureMismatch
  toEnum _ = error "Uknown MultiSigError id"

  fromEnum SeqNoMismatch = 33
  fromEnum SignatureMismatch = 34

recvInternal :: '[Slice] :-> '[]
recvInternal = drop

recvExternal :: '[Slice] :-> '[]
recvExternal = do
  decodeFromSlice @Signature
  dup
  preloadFromSlice @Word32
  stacktype @[Word32, Slice, Signature]
  -- cnt cs sign

  pushRoot
  decodeFromCell @Storage
  stacktype @[PublicKey, Word32, Word32, Slice, Signature]
  -- pk cnt' cnt cs sign

  xcpu @1 @2
  stacktype @[Word32, Word32, PublicKey, Word32, Slice, Signature]
  -- cnt cnt' pk cnt cs sign

  equalInt >> throwIfNot SeqNoMismatch

  push @2
  sliceHash
  stacktype @[Hash Slice, PublicKey, Word32, Slice, Signature]
  -- hash pk cnt cs sign

  xc2pu @0 @4 @4
  stacktype @[PublicKey, Signature, Hash Slice, Word32, Slice, PublicKey]
  -- pubk sign hash cnt cs pubk

  chkSignU
  stacktype @[Bool, Word32, Slice, PublicKey]
  -- ? cnt cs pubk

  throwIfNot SignatureMismatch
  accept

  swap
  decodeFromSlice @Word32
  nip

  dup
  srefs @Word8

  pushInt 0
  if IsEq
  then ignore
  else do
    decodeFromSlice @Word8
    decodeFromSlice @(Cell MessageObject)
    stacktype @[Slice, Cell MessageObject, Word8, Word32, PublicKey]
    xchg @2
    sendRawMsg
    stacktype @[Slice, Word32, PublicKey]

  endS
  inc

  encodeToCell @Storage
  popRoot

getSeqno :: '[] :-> '[Word32]
getSeqno = do
  pushRoot
  cToS
  preloadFromSlice @Word32

ΠšΠΎΠΌΠΏΠ»Π΅Ρ‚Π°Π½ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ нашСг ΡƒΠ³ΠΎΠ²ΠΎΡ€Π° ΠΎ Π΅Π”Π‘Π›-Ρƒ ΠΈ Π½ΠΎΠ²Ρ‡Π°Π½ΠΈΠΊΡƒ са вишС потписа ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ Π½Π° ΠΎΠ²ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅. И још Π΄Π΅Ρ‚Π°Ρ™Π½ΠΎ испричана ΠΎ ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ΠΈΠΌ Ρ˜Π΅Π·ΠΈΡ†ΠΈΠΌΠ°, наш ΠΊΠΎΠ»Π΅Π³Π° Π“Π΅ΠΎΡ€Π³ΠΈΡ˜ Агапов.

Π—Π°ΠΊΡ™ΡƒΡ‡Ρ†ΠΈ ΠΎ конкурсу ΠΈ ВОН

Π£ΠΊΡƒΠΏΠ½ΠΎ, наш Ρ€Π°Π΄ јС Ρ‚Ρ€Π°Ρ˜Π°ΠΎ 380 сати (ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ ΡƒΠΏΠΎΠ·Π½Π°Π²Π°ΡšΠ΅ са Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΎΠΌ, састанкС ΠΈ сам Ρ€Π°Π·Π²ΠΎΡ˜). Π£ конкурсном ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Ρƒ учСствовало јС ΠΏΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°: ЦВО, Π²ΠΎΡ’Π° Ρ‚ΠΈΠΌΠ°, ΡΡ‚Ρ€ΡƒΡ‡ΡšΠ°Ρ†ΠΈ Π·Π° Π±Π»ΠΎΡ†ΠΊΡ†Ρ…Π°ΠΈΠ½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Π₯аскСлл софтвСра.

ΠŸΡ€ΠΎΠ½Π°ΡˆΠ»ΠΈ смо рСсурсС Π·Π° ΡƒΡ‡Π΅ΡˆΡ›Π΅ Ρƒ Ρ‚Π°ΠΊΠΌΠΈΡ‡Π΅ΡšΡƒ Π±Π΅Π· ΠΏΠΎΡ‚Π΅ΡˆΠΊΠΎΡ›Π°, Ρ˜Π΅Ρ€ јС Π΄ΡƒΡ… Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π°, блиског тимског Ρ€Π°Π΄Π° ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π΄Π° сС Π±Ρ€Π·ΠΎ ΡƒΡ€ΠΎΠ½ΠΈΠΌΠΎ Ρƒ аспСктС Π½ΠΎΠ²ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° ΡƒΠ²Π΅ΠΊ ΡƒΠ·Π±ΡƒΠ΄Ρ™ΠΈΠ². НСколико нСпроспаваних Π½ΠΎΡ›ΠΈ Π·Π° ΠΏΠΎΡΡ‚ΠΈΠ·Π°ΡšΠ΅ максималних Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Ρƒ условима ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ… рСсурса Π½Π°Π΄ΠΎΠΊΠ½Π°Ρ’ΡƒΡ˜Π΅ сС Π½Π΅ΠΏΡ€ΠΎΡ†Π΅ΡšΠΈΠ²ΠΈΠΌ искуством ΠΈ ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΈΠΌ успомСнама. ΠŸΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ³Π°, Ρ€Π°Π΄ Π½Π° Ρ‚Π°ΠΊΠ²ΠΈΠΌ Π·Π°Π΄Π°Ρ†ΠΈΠΌΠ° јС ΡƒΠ²Π΅ΠΊ Π΄ΠΎΠ±Π°Ρ€ тСст процСса компанијС, Ρ˜Π΅Ρ€ јС ΠΈΠ·ΡƒΠ·Π΅Ρ‚Π½ΠΎ Ρ‚Π΅ΡˆΠΊΠΎ постићи заиста ΠΏΡ€ΠΈΡΡ‚ΠΎΡ˜Π½Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π΅ Π±Π΅Π· Π΄ΠΎΠ±Ρ€ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡΠ°ΡšΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π΅.

ВСкст Π½Π° страну: Π±ΠΈΠ»ΠΈ смо импрСсионирани ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΎΠΌ посла који јС ΡƒΠ»ΠΎΠΆΠΈΠΎ ВОН Ρ‚ΠΈΠΌ. УспСли су Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄Π΅ слоТСн, Π»Π΅ΠΏ ΠΈ ΡˆΡ‚ΠΎ јС најваТнијС, Ρ€Π°Π΄Π½ΠΈ систСм. ВОН сС ΠΏΠΎΠΊΠ°Π·Π°ΠΎ ΠΊΠ°ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° са Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°Π»ΠΎΠΌ. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Π΄Π° Π±ΠΈ сС овај СкосистСм Ρ€Π°Π·Π²ΠΈΠΎ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС још ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΎΠ³Π° Π΄Π° сС ΡƒΡ€Π°Π΄ΠΈ, ΠΊΠ°ΠΊΠΎ Ρƒ ΠΏΠΎΠ³Π»Π΅Π΄Ρƒ њСговС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Ρƒ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈΠΌΠ°, Ρ‚Π°ΠΊΠΎ ΠΈ Ρƒ смислу ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°ΡšΠ° Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈΡ… Π°Π»Π°Ρ‚Π°. Поносни смо ΡˆΡ‚ΠΎ смо сада Π΄Π΅ΠΎ ΠΎΠ²ΠΎΠ³ процСса.

Ако Π½Π°ΠΊΠΎΠ½ Ρ‡ΠΈΡ‚Π°ΡšΠ° ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ° ΠΈ Π΄Π°Ρ™Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΈΡ‚Π°ΡšΠ° ΠΈΠ»ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ идСјС ΠΊΠ°ΠΊΠΎ Π΄Π° користитС ВОН Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°ΠΌ β€” Ρ€Π°Π΄ΠΎ Ρ›Π΅ΠΌΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΠΈ својС искуство.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€