diff --git a/rust_web.org b/rust_web.org index 628d79b..847e16e 100644 --- a/rust_web.org +++ b/rust_web.org @@ -3,9 +3,9 @@ #+OPTIONS: d:(not "LOGBOOK") date:t e:t email:nil f:t inline:t num:t #+OPTIONS: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t #+OPTIONS: timestamp:t title:t toc:t todo:t |:t -#+TITLE: rust, rocket and diesel -#+SUBTITLE: web apps with rust -#+DESCRIPTION: An introduction to rust, rocket and diesel. +#+TITLE: Rust, Rocket and Diesel +#+SUBTITLE: Web apps with rust +#+DESCRIPTION: An introduction to Rust, Rocket and Diesel. #+KEYWORDS: rust rocket diesel #+AUTHOR: \href{mailto:rocket-presentation@onders.org}{finga} #+EMAIL: rocket-presentation@onders.org @@ -34,7 +34,7 @@ #+LaTeX:\includegraphics[width = 0.65\textwidth]{img/Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg} #+END_CENTER -*** Rust: the language +*** Rust, the language - About 10 years old (2010) - Memory safe without gcing, optional ref counting - Ownership, lifetimes, traits @@ -44,16 +44,16 @@ ** Where to get infos -*** Chat (Discord) - - [[https://discord.gg/rust-lang][The Rust Programming Language]] - - [[https://discord.com/invite/tcbkpyQ][The Rust Programming Language Community Server]] - -*** Some links +*** Docs... - [[https://doc.rust-lang.org/book/][The rust book]] (~$ rustup docs --book~), [[https://doc.rust-lang.org/rust-by-example/][Rust by example]] - [[https://doc.rust-lang.org/std/][The Rust Standard Library]] - [[https://cheats.rs][cheats.rs]] - [[https://cargo.io][cargo.io]]/[[https://lib.rs][lib.rs]] +*** Chat (Discord) + - [[https://discord.gg/rust-lang][The Rust Programming Language]] + - [[https://discord.com/invite/tcbkpyQ][The Rust Programming Language Community Server]] + ** What are we going to use? *** Definitely @@ -76,17 +76,17 @@ https://sh.rustup.rs | sh #+END_SRC -*** Install nightly Rust +*** Install nightly Rust (needed for Rocket) #+BEGIN_SRC sh $ rustup toolchain install nightly #+END_SRC -*** Install rustfmt +*** Install rustfmt (code formatter) #+BEGIN_SRC sh $ rustup component add rustfmt #+END_SRC -*** Install clippy (Linter and static code analysis) +*** Install clippy (linter and static code analysis) #+BEGIN_SRC sh $ rustup component add clippy #+END_SRC @@ -94,6 +94,41 @@ * Rocket ** What is Rocket? + #+BEGIN_QUOTE + Rocket is a web framework for Rust that makes it simple to write + fast, secure web applications without sacrificing flexibility, + usability, or type safety. + #+END_QUOTE + +*** Features + +**** Col left + :PROPERTIES: + :BEAMER_col: 0.45 + :END: + - Type Safe + - Extensible + - Templating + - Cookies + +**** Col right + :PROPERTIES: + :BEAMER_col: 0.45 + :END: + - Streams + - Testing (Unit tests) + - Typed URIs + +** Where to get infos? + +*** Docs... + - [[https://rocket.rs/v0.4/guide/][Rocket Guide]] + - [[https://api.rocket.rs/v0.4/rocket/][Rocket API docs]] + - [[https://github.com/SergioBenitez/Rocket/tree/v0.4/examples][Examples]] + +*** Chat + - Matrix: [[https://chat.mozilla.org/#/room/%23rocket:mozilla.org][#rocket:mozilla.org]] + - IRC on Freenode: [[https://kiwiirc.com/client/chat.freenode.net/#rocket][#rocket]] * Diesel @@ -109,9 +144,17 @@ ** What did you hopefully learn! -** Some projects - - [[https://git.onders.org/finga/ldap0r][ldap0r]] (~300 SloC) - - [[https://git.onders.org/finga/filerly][filerly]] (wip) +** Two small projects + +*** [[https://git.onders.org/finga/ldap0r][ldap0r]] + - LDAP password reset tool + - ($\sim$ 300 SloC) + - First release + - Tests + +*** [[https://git.onders.org/finga/filerly][filerly]] + - File sharing a la NextCloud + - Not ready yet, work in progress... ** The End #+BEGIN_CENTER