Како научити рђу без инсталирања било ког софтвера

У овом чланку ћемо научити како да користимо ГитХуб акције за учење Руст-а из свог веб прегледача. Све ћемо кодирати, направити, тестирати, покренути и објавити са веб странице. Није потребан софтвер! Учите са ГитХуб-ом или нас пратите на Твиттер-у.

Руст је један од најврућих програмских језика данас. Алпха геекс то воли. То је најомиљенији програмски језик Стацковерфлов-а у последње 4 године заредом.

Једна од најјединственијих и најдражих карактеристика Руст-а је његов агресивни компајлер који вам помаже да осигурате исправност и сигурност пре него што се програм уопште покрене. Као резултат тога, програмери Руст-а могу писати високо ефикасне, али сигурне програме. Руст елиминише читаве класе програмских грешака, посебно оних грешака у извршавању које је тешко отклонити.

Ако нисте пробали, пробајте! Магично је. Верујем да би Руст могао бити следећа Јава или Руби - програмски језик који сви морају да науче у будућности.

Међутим, учење Руста обично захтева да на рачунар инсталирате гомилу алата за командну линију. Компајлер Руст је спор јер је целокупна парадигма Руст постављена да дубински анализира изворни код и проналази грешке у време компајлирања, уместо да се руши током извођења.

ИДЕ-ови Руст-а на мрежи, попут Руст Плаигроунд и РЕПЛ.ит, једноставни су алати који не користе све предности Руст-екосистема независних циљева компајлера и библиотека.

Па бисте се можда запитали - могу ли да покушам да научим Руст без потребе да инсталирам све те софтверске пакете на свој рачунар?

Па, са ГитХуб акцијама можете! Можете научити и експериментисати са Руст кодом директно у свом веб прегледачу. Хајде да почнемо!

ГитХуб Ацтионс олакшава аутоматизацију свих ваших софтверских токова рада, сада са ЦИ / ЦД светске класе. Изградите, тестирајте и примените свој код директно са ГитХуб-а. Направите прегледе кода, управљање пословницама и рад триажирања на начин који желите. Изворни код и радње тока посла за пример Хелло Ворлд могу се наћи у овом ГитХуб спремишту.

Здраво Свете

Прво створите ново ГитХуб спремиште и додајте Руст изворну датотеку. Додајмо src/main.rsдатотеку следећег садржаја.

fn main() { println!("Hello, world!"); }

Затим се вратите у основни /директоријум ГитХуб спремишта и додајте Cargo.tomlдатотеку. Ова датотека описује како систем терета Руст треба да изгради и упакује наш пројекат.

[package] name = "hello" version = "0.1.0" authors = ["ubuntu"] edition = "2018" [dependencies]

Сада имамо комплетан пројекат Руст. Хајде да га сада изградимо и покренемо.

Гитхуб акције

На картици Акције ГитХуб-а можемо додати токове посла повезане са овим пројектом. То су радње које Гитхуб аутоматски изводи када се догоде одређени догађаји, као што је гурање кода или урезивање. У нашем случају бисмо желели да ГитХуб аутоматски изгради и покрене main.rsи покаже нам резултате.

Акције тока посла и њихови окидачи догађаја дефинисани су у ymlдатотекама под .github/workflowsдиректоријумом. Можете да напишете сопствене ymlдатотеке или да одаберете неки од готових шаблона.

Овде бирамо шаблон Руст. ГитХуб вам омогућава да уредите rust.ymlдатотеку пре него што је пријавите у спремиште.

Узмимо минут овде да објаснимо како функционишу ГитХуб акције. Подразумевана rust.ymlдатотека то каже

  • Кад год корисник потисне код или прихвати захтеве за повлачењем у ово спремиште, покренуће се радње у овом rust.ymlтоку рада.
  • Ток посла ће створити виртуелну машину која покреће најновији Убунту оперативни систем. На овом Убунту систему, он ће затим извршити следеће кораке.
  • Провериће код из masterфилијале.
  • Покренуће cargo build --verboseнаредбу за компајлирање и изградњу Руст кода.
  • Покренуће cargo test --verboseнаредбу за извршавање тест случајева.
  • Сви стандардни и конзолски излази на систему Убунту из горње две команде биће снимљени ГитХуб акцијама и приказани на вебу.

Можете уредити последњи ред rust.ymlза извођење cargo runкоји покреће компајлирани бинарни програм. Наша ажурирана rust.ymlдатотека је следећа.

name: Rust on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/[email protected] - name: Build run: cargo build --verbose - name: Run run: cargo run

Сада кад год гурнете код у ово спремиште, rust.ymlизвршавају се радње у . Резултате можете видети на картици Радње.

Можете кликнути на резултат и кликнути на картицу за изградњу са леве стране да бисте видели детаље. Одељци за изградњу и покретање пружају најрелевантније детаље. Одељак Трчање приказује успешно штампање здравог света!

Даље, можете да додате зависности независних произвођача у Cargo.tomlи направите сложене апликације Руст на маин.рс. Сваки пут када неко притисне код, моћи ћемо да видимо резултате.

Тест Дривен Девелопмент (ТДД)

Наравно, врло мали број програмера заиста покреће своје програме за штампање текста на конзоли. Горе cargo runнаведено је само представа. У стварности, већина програмера пише функције и испитује случајеве за те функције. Најчешћи задатак након састављања и израде је покретање тест случајева. Да видимо како се то ради.

Направите ново ГитХуб спремиште, а затим додајте src/lib.rsдатотеку у наставку. Као што видите, дефинише функцију Руст и неколико тест случајева. Може се направити и објавити као пакет библиотеке Руст.

pub fn say(s: &str) -> String { let r = String::from("hello "); return r + s; } #[cfg(test)] mod tests { use super::*; #[test] fn say_hello() { let result = say("ssvm"); assert!(result.contains("hello ssvm")); } }

Затим се вратите у основни /директоријум ГитХуб спремишта и додајте следећу Cargo.tomlдатотеку.

[package] name = "hello" version = "0.1.0" authors = ["ubuntu"] edition = "2018" [lib] name = "hello_lib" path = "src/lib.rs" crate-type =["cdylib"] [dependencies]

Кликните на картицу Радње и додајте подразумевани ток рада Руст. Као што се сећате, подразумевани ток рада Руст се завршава са cargo test, што је управо оно што нам овде треба.

The workflow runs every time new code is pushed into this repository. You can click open a successful build, and see the output from the build and test actions.

What's next

Now you can experiment with your Rust code, and have GitHub build, test, and run it for you with complete console outputs, for free and without ever leaving your browser!

Resources

  • Learn to program in Rust
  • Learn more about GitHub Actions
  • Of course, the best way to run Rust programs on the server is inside a WebAssembly Virtual Machine. Checkout the open source Second State VM for that!
  • Learn about the BUIDL online IDE to code and deploy decentralized web apps on public blockchains

About the author

Др Мицхаел Иуан је аутор 5 књига о софтверском инжењерству. Његову најновију књигу Буилдинг Блоцкцхаин Аппс објавио је Аддисон-Веслеи у децембру 2019. Др. Иуан је суоснивач Сецонд Стате-а, старт-уп-а који финансира ВЦ који технологије ВебАссембли и Руст доноси облаку, блоцкцхаин-у и АИ апликацијама. Омогућава програмерима да на Ноде.јс. примене брзе, сигурне, преносиве и Руст функције без сервера

Пре друге државе, др Иуан је дуго био сарадник у отвореним изворима у Ред Хат-у, ЈБосс-у и Мозилла-и. Изван софтвера, др Иуан је главни истражитељ у Националном институту за здравље, са вишеструким наградама за истраживање рака и истраживања јавног здравља. Докторирао је астрофизику на Универзитету Тексас у Аустину.