en
Feedback
Rust

Rust

Open in Telegram

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Rust

Show more
2 230
Subscribers
+324 hours
+37 days
+230 days
Posts Archive
Rust
2 230
Выпуск Rust 1.87 Π’ дСнь празднования дСсятилСтия с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° выпуска языка программирования Rust 1.0 (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Rust Π±Ρ‹Π» основан Π² 2006 Π³ΠΎΠ΄Ρƒ, выпуск 0.1 Π±Ρ‹Π» сформирован Π² 2012 Π³ΠΎΠ΄Ρƒ, Π° пСрвая ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π² 2015 Π³ΠΎΠ΄Ρƒ) ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· Rust 1.87. Π―Π·Ρ‹ΠΊ сфокусирован Π½Π° бСзопасной Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ прСдоставляСт срСдства для достиТСния высокого ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΈ этом ΠΎΠ±Ρ…ΠΎΠ΄ΡΡΡŒ Π±Π΅Π· использования сборщика мусора ΠΈ runtime (runtime сводится ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ). ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Rust ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ ошибок ΠΏΡ€ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ указатСлями ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ области памяти послС Π΅Ρ‘ освобоТдСния, Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Ρ‚.ΠΏ. Для распространСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, обСспСчСния сборки ΠΈ управлСния зависимостями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ развиваСтся ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Cargo. Для размСщСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ поддСрТиваСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ crates.io. БСзопасная Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ обСспСчиваСтся Π² Rust Π²ΠΎ врСмя компиляции Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ссылок, отслСТиваниС владСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΡƒΡ‡Ρ‘Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (области видимости) ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ коррСктности доступа ΠΊ памяти Π²ΠΎ врСмя выполнСния ΠΊΠΎΠ΄Π°. Rust Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт срСдства для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ использованиСм, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ошибки Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, примСняСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ нСизмСняСмости (immutable) ссылок ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ логичСских ошибок. https://www.opennet.ru/opennews/art.shtml?num=63242 πŸ‘‰ @rust_lib

Rust
2 230
πŸš€ ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° Telegram ΠΊΠ°Π½Π°Π»ΠΎΠ² для программистов БистСмноС администрированиС, DevOps πŸ“Œ https://t.me/bash_srv Bash Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ https://t.me/win_sysadmin БистСмный Администратор Windows https://t.me/sysadmin_girl Π”Π΅Π²ΠΎΡ‡ΠΊΠ° Бисадмин https://t.me/srv_admin_linux АдминскиС ΡƒΠ³ΠΎΠ΄ΡŒΡ https://t.me/linux_srv Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Бисадмин https://t.me/devopslib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° дСвопса | DevOps, SRE, Sysadmin https://t.me/linux_odmin Linux: БистСмный администратор https://t.me/devops_star DevOps Star (Π—Π²Π΅Π·Π΄Π° ДСвопса) https://t.me/i_linux БистСмный администратор https://t.me/linuxchmod Linux https://t.me/sys_adminos БистСмный Администратор https://t.me/tipsysdmin Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Бисадмин (Ρ„ΠΎΡ‚ΠΎ ΠΆΠ΅Π»Π΅Π·Π°, Π±Ρ‹Π»ΠΎ/стало) https://t.me/sysadminof Книги для Π°Π΄ΠΌΠΈΠ½ΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ https://t.me/i_odmin ВсС для систСмного администратора https://t.me/i_odmin_book Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° БистСмного Администратора https://t.me/i_odmin_chat Π§Π°Ρ‚ систСмных администраторов https://t.me/i_DevOps DevOps: ПишСм ΠΎ Docker, Kubernetes ΠΈ Π΄Ρ€. https://t.me/sysadminoff Новости Линукс Linux 1C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://t.me/odin1C_rus CΡ‚Π°Ρ‚ΡŒΠΈ, курсы, совСты, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π° 1Π‘ https://t.me/DevLab1C 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 https://t.me/razrab_1C 1C Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ https://t.me/buh1C_prog 1C ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ | БухгалтСрия ΠΈ Π£Ρ‡Ρ‘Ρ‚ https://t.me/rabota1C_rus Вакансии для программистов 1Π‘ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ C++πŸ“Œ https://t.me/cpp_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C/C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° https://t.me/cpp_knigi Книги для программистов C/C++ https://t.me/cpp_geek Π£Ρ‡ΠΈΠΌ C/C++ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Python πŸ“Œ https://t.me/pythonofff Python акадСмия. https://t.me/BookPython Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° https://t.me/python_real Python ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ Π½Π° русском ΠΈ английском https://t.me/python_360 Книги ΠΏΠΎ Python Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://t.me/BookJava Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° https://t.me/java_360 Книги ΠΏΠΎ Java Rus https://t.me/java_geek Π£Ρ‡ΠΈΠΌ Java Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… GitHub БообщСство πŸ“Œ https://t.me/Githublib Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠ΅ ΠΈΠ· GitHub Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Data Base) πŸ“Œ https://t.me/database_info ВсС ΠΏΡ€ΠΎ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: iOS, Android πŸ“Œ https://t.me/developer_mobila Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° https://t.me/kotlin_lib ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠΎ Kotlin Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://t.me/frontend_1 ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ для frontend Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² https://t.me/frontend_sovet Frontend совСты, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°! https://t.me/React_lib ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ React js ΠΈ всС Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ связано Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ πŸ“Œ https://t.me/game_devv ВсС ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ³Ρ€ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ πŸ“Œ https://t.me/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ https://t.me/proglb Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста https://t.me/bfbook Книги для программистов Π‘ΠΈΠ³Π”Π°Ρ‚Π°, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ πŸ“Œ https://t.me/bigdata_1 Big Data, Machine Learning ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ πŸ“Œ https://t.me/bookflow Π›Π΅ΠΊΡ†ΠΈΠΈ, Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΈ, Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ с IT ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ https://t.me/rust_lib ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Rust https://t.me/golang_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go (Golang) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° https://t.me/itmozg ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, новости ΠΈΠ· ΠΌΠΈΡ€Π° IT https://t.me/php_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PHP программиста πŸ‘¨πŸΌβ€πŸ’»πŸ‘©β€πŸ’» https://t.me/nodejs_lib ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ Node js ΠΈ всС Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ связано https://t.me/ruby_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ruby программиста https://t.me/lifeproger Π–ΠΈΠ·Π½ΡŒ программиста. Авторский ΠΊΠ°Π½Π°Π». QA, тСстированиС πŸ“Œ https://t.me/testlab_qa Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° тСстировщика Π¨ΡƒΡ‚ΠΊΠΈ программистов πŸ“Œ https://t.me/itumor Π¨ΡƒΡ‚ΠΊΠΈ программистов Π—Π°Ρ‰ΠΈΡ‚Π°, Π²Π·Π»ΠΎΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ πŸ“Œ https://t.me/thehaking Канал ΠΎ кибСрбСзопасности https://t.me/xakep_2 Π₯Π°ΠΊΠ΅Ρ€ Free Книги, ΡΡ‚Π°Ρ‚ΡŒΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² πŸ“Œ https://t.me/ux_web Π‘Ρ‚Π°Ρ‚ΡŒΠΈ, ΠΊΠ½ΠΈΠ³ΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° πŸ“Œ https://t.me/Pomatematike Канал ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ https://t.me/phis_mat ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π€ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ https://t.me/matgeoru ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° | ГСомСтрия | Π›ΠΎΠ³ΠΈΠΊΠ° Excel Π»Π°ΠΉΡ„Ρ…Π°ΠΊπŸ“Œ https://t.me/Excel_lifehack https://t.me/mir_teh ΠœΠΈΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (Technology World) Вакансии πŸ“Œ https://t.me/sysadmin_rabota БистСмный Администратор https://t.me/progjob Вакансии Π² IT

Rust
2 230
Rustubble Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° прСдоставлСниС Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… прилоТСниях. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ TextInput β€” это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ настраиваСмоС тСкстовоС ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Rust. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Unicode, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство ΠΎΠΏΡ†ΠΈΠΉ настройки для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ: * ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Unicode: Π‘Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ символов Unicode. * ДинамичСская ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π²ΠΎΠ΄Π°: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ вставку ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ тСкста. * Гибкая настройка: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ отступы, плСйсхолдСр, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ тСкст ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст. * Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ курсором: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ курсора ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. https://github.com/warpy-ai/rustubble πŸ‘‰ @rust_lib

Rust
2 230
πŸ’» 100 ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ для изучСния Rust Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ 100-exercises-to-learn-rust ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· 100 Π·Π°Π΄Π°Ρ‡ для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Rus
πŸ’» 100 ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ для изучСния Rust Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ 100-exercises-to-learn-rust ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· 100 Π·Π°Π΄Π°Ρ‡ для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Rust. УпраТнСния ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ‚Π΅ΠΌ: ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТных Ρ‚Π΅ΠΌ Π²Ρ€ΠΎΠ΄Π΅ многопоточности ΠΈ асинхронного программирования. КаТдоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ часто сопровоТдаСтся ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌΠΈ пояснСниями. ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ, Ссли Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Rust ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ языка. https://github.com/mainmatter/100-exercises-to-learn-rust πŸ‘‰ @rust_lib

Rust
2 230
Blue Recorder - простой экранный Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€, написанный Π½Π° Rust Π½Π° основС Green Recorder ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для записи экрана Π½
Blue Recorder - простой экранный Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€, написанный Π½Π° Rust Π½Π° основС Green Recorder ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для записи экрана Π½Π° Linux. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΎ с использованиСм GTK4 ΠΈ ffmpeg. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ запись Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ практичСски Π½Π° всСх интСрфСйсах Linux с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ сСрвСра отобраТСния Wayland Π² сСссиях GNOME. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹: mkv, avi, mp4, wmv, gif ΠΈ nut. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись, Ρ‰Ρ‘Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π² области ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ Π²Ρ‹Π±Ρ€Π°Π² "ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись". Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ срСднСй ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ записи (Π½ΠΎ эта функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Π½Π° всСх интСрфСйсах). МоТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ источник Π°ΡƒΠ΄ΠΈΠΎΠ²Ρ…ΠΎΠ΄Π° ΠΈΠ· списка доступных устройств. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΈΡ… Π² интСрфСйсС β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сохранит ΠΈΡ… для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ запуска. Основано Π½Π° Green Recorder, пСрСписано Π½Π° Rust с ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΠΌΠΈ. https://github.com/xlmnxp/blue-recorder πŸ‘‰ @rust_lib

Rust
2 230
πŸ¦€ Zero-cost abstractions β€” ΠΌΠΈΡ„ ΠΈΠ»ΠΈ магия? Одна ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ Rust β€” zero-cost abstractions. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎ, Π½ΠΎ Ρ‡Ρ‚ΠΎ это Π½Π° Π΄
πŸ¦€ Zero-cost abstractions β€” ΠΌΠΈΡ„ ΠΈΠ»ΠΈ магия? Одна ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ Rust β€” zero-cost abstractions. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎ, Π½ΠΎ Ρ‡Ρ‚ΠΎ это Π½Π° Π΄Π΅Π»Π΅? πŸ“¦ Когда Ρ‚Ρ‹ пишСшь абстрактный ΠΊΠΎΠ΄ (Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Ρ€Π΅ΠΉΡ‚Ρ‹), Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡˆΡŒ Ρ†Π΅Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Но Π½Π΅ Π² Rust. 🧠 Rust-компилятор (LLVM) Π½Π° этапС компиляции ΠΌΠΎΠ½ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ (спСциализируСт) ΠΊΠΎΠ΄ β€” ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Π΅ конструкции Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅, Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ β€” Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅Ρ‚. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ‚Π²ΠΎΠΈ абстракции Π½Π΅ тормозят, Π° ΠΊΠΎΠ΄ остаётся Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

fn square<T: Copy + std::ops::Mul<Output = T>>(x: T) -> T {
    x * x
}
Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ компиляции становится ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ для i32, f64, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ β€” Π±Π΅Π· ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄Π°. ⚑️ Rust Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· страха ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π² пСрформансС. ИмСнно поэтому ΠΎΠ½ стал Π»ΡŽΠ±ΠΈΠΌΡ†Π΅ΠΌ систСмных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΈΡˆΡƒΡ‰ΠΈΡ… ΠΈ ΠΏΠΎΠ΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΈ ΠΏΠΎΠ΄ Π²Π΅Π±. 🧩 А Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ zero-cost ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π² своём ΠΊΠΎΠ΄Π΅? Π”Π΅Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π² коммСнтариях! πŸ‘‰ @rust_lib

Rust
2 230
βš™οΈΠ£ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Rust, Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ эффСктивно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками? Или ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΠ΅Ρ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊ устроСн процСсс сбор
βš™οΈΠ£ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Rust, Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ эффСктивно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками? Или ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΠ΅Ρ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊ устроСн процСсс сборки ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ Π² этом языкС? πŸ—“ΠΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ 24 апрСля Π² 20:00 мск ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Rust, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Rust-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π‘ΠΈ ABI (Application Binary Interface). Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ знания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Rust Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. πŸ‘¨β€πŸ’»Π£Ρ€ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ всСм, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒ свои знания Π² Rust, ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ систСмами. Π’Ρ‹ смоТСтС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. πŸ‘‰ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ Π²Π΅Π±ΠΈΠ½Π°Ρ€Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° большоС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Β«Rust Developer. ProfessionalΒ»: https://vk.cc/cKVaG7 Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576

Rust
2 230
🧡 ΠŸΠΎΡ‡Π΅ΠΌΡƒ .clone() Π² Rust β€” Π½Π΅ всСгда Π·Π»ΠΎ (ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ€Π΅Π΄Π΅Π½) МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π² Rust быстро усва
🧡 ΠŸΠΎΡ‡Π΅ΠΌΡƒ .clone() Π² Rust β€” Π½Π΅ всСгда Π·Π»ΠΎ (ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ€Π΅Π΄Π΅Π½) МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π² Rust быстро ΡƒΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚: Β«.clone() β€” это ΠΏΠ»ΠΎΡ…ΠΎΒ». И ΠΏΡ€Π°Π²Π΄Π°, Ссли Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всё подряд, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ красивый, Π½ΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π½ΠΎΠΉ ΠΊΠΎΠ΄. Но Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ .clone() Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ использованиС ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ. πŸ“Œ Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ .clone()? ΠœΠ΅Ρ‚ΠΎΠ΄ .clone() ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, создавая Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² памяти. Π­Ρ‚ΠΎ Π½Π΅ просто копия указатСля β€” это Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ:

let a = String::from("hello");
let b = a.clone(); // Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… `String`
Для простых Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, i32, bool, char) .clone() Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ β€” ΠΎΠ½ΠΈ Copy ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски. 🚩 Когда .clone() β€” сигнал Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΈ Если Π²Ρ‹ часто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ .clone(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«Π·Π°Ρ‚ΠΊΠ½ΡƒΡ‚ΡŒ компилятор», скорСС всСго, Ρƒ вас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ владСния ΠΈ заимствования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

fn takes_ownership(s: String) { /* ... */ }

let s = String::from("data");
takes_ownership(s.clone()); // Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ...
takes_ownership(s); // Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· `.clone()`
Π—Π΄Π΅ΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ: Π° Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅? Или Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ссылку:

fn takes_reference(s: &str) { /* ... */ }

let s = String::from("data");
takes_reference(&s);
βœ… Когда .clone() β€” Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ - Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ копию, ΠΈ это ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. - Π’ΠΈΠΏ Π΄Π΅ΡˆΡ‘Π² Π² ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (Arc, Rc, PathBuf β€” Π² Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ…). - ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ β€” ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ это Π½Π΅ ΡƒΠ·ΠΊΠΎΠ΅ мСсто. - Π’Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с immutability Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ контСкстС β€” Ρ‚Π°ΠΌ ΠΊΠ»ΠΎΠ½Ρ‹ часто ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Ρ‹. 🧠 Π’Ρ‹Π²ΠΎΠ΄ .clone() β€” это инструмСнт. Он Π½Π΅ Β«Π·Π»ΠΎΒ», Π° просто сигнал: здСсь стоит ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π΄ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ компилятор Β«Π½Π΅ ругался», скорСС всСго, Π²Ρ‹ пропускаСтС шанс Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ΄ΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ эффСктивный Rust-ΠΊΠΎΠ΄. πŸ‘‰ @rust_lib

Rust
2 230
Бписок рСсурсов для изучСния Rust β€” ДороТная ΠΊΠ°Ρ€Ρ‚Π° ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ уровня. https://github.com/ImplFerris/LearnRust
Бписок рСсурсов для изучСния Rust β€” ДороТная ΠΊΠ°Ρ€Ρ‚Π° ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ уровня. https://github.com/ImplFerris/LearnRust πŸ‘‰ @rust_lib

Rust
2 230
πŸ“– ΠΠ΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ руководство ΠΏΠΎ экосистСмС Rust https://blessed.rs/crates https://github.com/nicoburns/blessed-rs πŸ‘‰ @rust_li
πŸ“– ΠΠ΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ руководство ΠΏΠΎ экосистСмС Rust https://blessed.rs/crates https://github.com/nicoburns/blessed-rs πŸ‘‰ @rust_lib

Rust
2 230
ΠŸΠΎΠ»Π½Ρ‹ΠΉ курс Rust ΠΎΡ‚ Google πŸ¦€ Π­Ρ‚ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ курс ΠΏΠΎ языку программирования Rust, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Android Π² Google. Он ΠΈΠ·
ΠŸΠΎΠ»Π½Ρ‹ΠΉ курс Rust ΠΎΡ‚ Google πŸ¦€ Π­Ρ‚ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ курс ΠΏΠΎ языку программирования Rust, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Android Π² Google. Он ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ прСдназначался для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ использования для обучСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Android, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для всСх. ΠšΡƒΡ€Ρ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚: - ΠžΡΠ½ΠΎΠ²Ρ‹ языка Rust - Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ - Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ (ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, async, crate-экосистСма ΠΈ Ρ‚.Π΄.) - ИспользованиС Rust для Android ΠΈ WebAssembly - ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ упраТнСния ΠΈ практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, Ρ‚Π°ΠΊ ΠΈ для провСдСния ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… сСминаров. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с систСмным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° C/C++. https://github.com/google/comprehensive-rust πŸ‘‰ @rust_lib

Rust
2 230
5 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Rust, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Rust Ρ€Π°Π΄ΠΈ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ
5 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Rust, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Rust Ρ€Π°Π΄ΠΈ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ β€” Ρ€Π°Π΄ΠΈ скорости, Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ «всС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ языки ΡƒΠΆΠ΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»Β». Но Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ вас Π² этот ΡƒΠ³ΠΎΠ»ΠΎΠΊ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΌΠΎΡ‰ΠΈ, Π±Π΅Π· Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ знания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡƒΠ΅Π΄Π΅ΡˆΡŒ. ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Rust β€” это Π½Π΅ просто Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ с borrow checker, Π½ΠΎ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивным. Π’Π΅Π΄ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ язык Π½Π΅ спасСт ΠΎΡ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ², Ссли Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡΡ‚ΡŒ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Rust. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ стыдно ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ. https://habr.com/ru/companies/beget/articles/887160/ πŸ‘‰ @rust_lib

Rust
2 230
Dioxus Π­Ρ‚ΠΎ соврСмСнный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ UI Π½Π° Rust, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° React, Π½ΠΎ с прСимущСствами ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°
Dioxus Π­Ρ‚ΠΎ соврСмСнный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ UI Π½Π° Rust, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° React, Π½ΠΎ с прСимущСствами ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ Rust. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π½Π° Web, Desktop, Mobile ΠΈ Π΄Π°ΠΆΠ΅ TUI. https://github.com/DioxusLabs πŸ‘‰ @rust_lib

Rust
2 230
ИспользованиС OpenTelemetry Π² Rust Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСно, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ OpenTelemetry Π² Rust для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ трассировки
ИспользованиС OpenTelemetry Π² Rust Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСно, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ OpenTelemetry Π² Rust для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ трассировки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. OpenTelemetry β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для сбора ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов Π² распрСдСлСнных систСмах. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OpenTelemetry Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Rust, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ tracing ΠΈ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Jaeger. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ настройку ΠΈ использованиС трСйсов для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ с OpenTelemetry ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ opentelemetry_otlp. Π—Π°Ρ‚Π΅ΠΌ создаётся слой tracing_opentelemetry, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ этот ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, ΠΈ добавляСтся Π² подписчик трассировки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ инициализируСтся.

// note that here, localhost:4318 is the default HTTP address
// for a local OpenTelemetry collector
let tracer = opentelemetry_otlp
    ::new_pipeline()
    .tracing()
    .with_exporter(opentelemetry_otlp::new_exporter().http().with_endpoint("localhost:4318"))
    .install_batch(Tokio)
    .unwrap();

// log level filtering here
let filter_layer = EnvFilter::try_from_default_env()
    .or_else(|_| EnvFilter::try_new("info"))
    .unwrap();

// fmt layer - printing out logs
let fmt_layer = fmt::layer().compact();

// turn our OTLP pipeline into a tracing layer
let otel_layer = tracing_opentelemetry::layer().with_tracer(tracer);

// initialise our subscriber
subscriber
    .with(filter_layer)
    .with(fmt_layer)
    .with(otel_layer)
    // The error layer needs to go after the otel_layer, because it needs access to the
    // otel_data extension that is set on the span in the otel_layer.
    .with(ErrorTracingLayer::new())
    .init();
https://shuttle.rs/blog/2024/04/10/using-opentelemetry-rust πŸ‘‰ @rust_lib

Rust
2 230
ПишСм простой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° Rust ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Rust Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ растёт, Π° с Π½Π΅ΠΉ ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ экосистСма. И ΠΎΠ½ΠΎ Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²
ПишСм простой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° Rust ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Rust Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ растёт, Π° с Π½Π΅ΠΉ ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ экосистСма. И ΠΎΠ½ΠΎ Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, вСдь это СдинствСнный соврСмСнный язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ памяти ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° этапС компиляции, прСдоставляя ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΈ Π±ΠΎΠ³Π°Ρ‚ΡƒΡŽ систСму сборки (cargo), Π° Ρ‚Π°ΠΊΠΆΠ΅ всё большС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (ΠΊΡ€Π΅ΠΉΡ‚ΠΎΠ²). Π’ своСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅ я ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡΡŒ C++, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ основная Π΅Ρ‘ Ρ‡Π°ΡΡ‚ΡŒ связана с Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ систСм ΠΈ ядра, Π° ΠΈΠ· этого языка Π»Π΅Π³ΠΊΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ написанный Π½Π° Π‘ Windows API ΠΈ COM API. Rust β€” это язык для систСмного программирования, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ C/C++. ОсновноС нСудобство ΠΏΡ€ΠΈ этом создаёт Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΉ синтаксис, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для прСобразования Ρ‚ΠΈΠΏΠΎΠ² Π‘ Π² Ρ‚ΠΈΠΏΡ‹ Rust. Но это нСудобство ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ΄ΠΎΠ±Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ ΠΈ макросы. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, я Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ WDM. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Rust-вСрсия Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Β«BoosterΒ», ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я ΠΏΠΈΡˆΡƒ Π² своСй ΠΊΠ½ΠΈΠ³Π΅ (Windows Kernel Programming), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ любого ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π° любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. https://habr.com/ru/companies/ruvds/articles/882474/ πŸ‘‰ @rust_lib

Rust
2 230
Π’ΠΈΠ΄Π΅ΠΎ ΠΎ Rust Traits 0:00 - Introduction 0:39 - Visual Example 2:47 - Using Traits in Rust 4:56 - Using Traits with Functions 9:06 - Conditionally implement functions with trait bounds источник πŸ‘‰ @rust_lib

Rust
2 230
MinDNS ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ DNS-сСрвСр, написанный Π½Π° Rust, с систСмой ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. https://github.com/sammwyy/mindns πŸ‘‰
MinDNS ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ DNS-сСрвСр, написанный Π½Π° Rust, с систСмой ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. https://github.com/sammwyy/mindns πŸ‘‰ @rust_lib

Rust
2 230
Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π½Π° Rust – Π‘Π΅Ρ€Π²Π΅Ρ€ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с использованиСм Warp + JWT Π’ этом курсС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Rust для создания сСрвСра Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠšΡƒΡ€Ρ прСдставляСт собой ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, структурС ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° основС Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ². ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок, вопросам, связанным с JWT, ΠΈ практичСским Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ курса вас ΠΆΠ΄Π΅Ρ‚ практичСская дСмонстрация, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ процСсса создания Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π² соврСмСнных прилоТСниях. 0:00:00 Introduction and setup 0:06:42 Admin and user authentication 0:15:53 User data handling and roles 0:28:54 Introduction to user structures and attributes 0:45:41 Token management and claims analysis 1:01:48 Deep dive into roles and tokens 1:05:03 Error handling and permissions 1:14:58 Advanced error insights and JWT issues 1:29:19 Code analysis and issue resolution 1:31:24 Final touches and RS file exploration 1:34:50 Demo review and token creation https://www.freecodecamp.org/news/rust-tutorial-authentication-server/ πŸ‘‰ @rust_lib

Rust
2 230
Rust: бСзопасный парсинг с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π’ ΠΌΠΈΡ€Π΅ программирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… β€” это Π΄Π²Π° Π²Π°
Rust: бСзопасный парсинг с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π’ ΠΌΠΈΡ€Π΅ программирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… β€” это Π΄Π²Π° Π²Π°ΠΆΠ½Ρ‹Ρ… аспСкта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто находятся Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅. Однако Rust ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ эффСктивныС ΠΈ бСзопасныС парсСры, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ zero-copy Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π°Π²Ρ‚ΠΎΡ€ дСлится своими Π½Π°Ρ…ΠΎΠ΄ΠΊΠ°ΠΌΠΈ ΠΈ рассказываСт, ΠΊΠ°ΠΊ Rust ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ памяти, сохраняя ΠΏΡ€ΠΈ этом ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. πŸ“Œ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ zero-copy парсинг? Zero-copy β€” это Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· создания Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π² памяти. Π’ Rust это достигаСтся Π·Π° счёт ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ систСмы владСния ΠΈ заимствования (ownership & borrowing). ВмСсто копирования Π±Π°ΠΉΡ‚ΠΎΠ² Rust позволяСт ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. https://itnext.io/rust-the-joy-of-safe-zero-copy-parsers-8c8581db8ab2 πŸ‘‰ @rust_lib

Rust
2 230
Xplorer – красивый Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, написанный Π½Π° TypeScript ΠΈ Rust. НастраиваСмый соврСмСнный Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€
Xplorer – красивый Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, написанный Π½Π° TypeScript ΠΈ Rust. НастраиваСмый соврСмСнный Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows, GNU/Linux ΠΈ MacOS. https://github.com/kimlimjustin/xplorer πŸ‘‰ @rust_lib