More content
This commit is contained in:
parent
d905cb2050
commit
0d8c15d2e3
1 changed files with 58 additions and 15 deletions
73
rust_web.org
73
rust_web.org
|
@ -3,9 +3,9 @@
|
||||||
#+OPTIONS: d:(not "LOGBOOK") date:t e:t email:nil f:t inline:t num:t
|
#+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: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t
|
||||||
#+OPTIONS: timestamp:t title:t toc:t todo:t |:t
|
#+OPTIONS: timestamp:t title:t toc:t todo:t |:t
|
||||||
#+TITLE: rust, rocket and diesel
|
#+TITLE: Rust, Rocket and Diesel
|
||||||
#+SUBTITLE: web apps with rust
|
#+SUBTITLE: Web apps with rust
|
||||||
#+DESCRIPTION: An introduction to rust, rocket and diesel.
|
#+DESCRIPTION: An introduction to Rust, Rocket and Diesel.
|
||||||
#+KEYWORDS: rust rocket diesel
|
#+KEYWORDS: rust rocket diesel
|
||||||
#+AUTHOR: \href{mailto:rocket-presentation@onders.org}{finga}
|
#+AUTHOR: \href{mailto:rocket-presentation@onders.org}{finga}
|
||||||
#+EMAIL: rocket-presentation@onders.org
|
#+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}
|
#+LaTeX:\includegraphics[width = 0.65\textwidth]{img/Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg}
|
||||||
#+END_CENTER
|
#+END_CENTER
|
||||||
|
|
||||||
*** Rust: the language
|
*** Rust, the language
|
||||||
- About 10 years old (2010)
|
- About 10 years old (2010)
|
||||||
- Memory safe without gcing, optional ref counting
|
- Memory safe without gcing, optional ref counting
|
||||||
- Ownership, lifetimes, traits
|
- Ownership, lifetimes, traits
|
||||||
|
@ -44,16 +44,16 @@
|
||||||
|
|
||||||
** Where to get infos
|
** Where to get infos
|
||||||
|
|
||||||
*** Chat (Discord)
|
*** Docs...
|
||||||
- [[https://discord.gg/rust-lang][The Rust Programming Language]]
|
|
||||||
- [[https://discord.com/invite/tcbkpyQ][The Rust Programming Language Community Server]]
|
|
||||||
|
|
||||||
*** Some links
|
|
||||||
- [[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/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://doc.rust-lang.org/std/][The Rust Standard Library]]
|
||||||
- [[https://cheats.rs][cheats.rs]]
|
- [[https://cheats.rs][cheats.rs]]
|
||||||
- [[https://cargo.io][cargo.io]]/[[https://lib.rs][lib.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?
|
** What are we going to use?
|
||||||
|
|
||||||
*** Definitely
|
*** Definitely
|
||||||
|
@ -76,17 +76,17 @@
|
||||||
https://sh.rustup.rs | sh
|
https://sh.rustup.rs | sh
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Install nightly Rust
|
*** Install nightly Rust (needed for Rocket)
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
$ rustup toolchain install nightly
|
$ rustup toolchain install nightly
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Install rustfmt
|
*** Install rustfmt (code formatter)
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
$ rustup component add rustfmt
|
$ rustup component add rustfmt
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Install clippy (Linter and static code analysis)
|
*** Install clippy (linter and static code analysis)
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
$ rustup component add clippy
|
$ rustup component add clippy
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
@ -94,6 +94,41 @@
|
||||||
* Rocket
|
* Rocket
|
||||||
|
|
||||||
** What is 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
|
* Diesel
|
||||||
|
|
||||||
|
@ -109,9 +144,17 @@
|
||||||
|
|
||||||
** What did you hopefully learn!
|
** What did you hopefully learn!
|
||||||
|
|
||||||
** Some projects
|
** Two small projects
|
||||||
- [[https://git.onders.org/finga/ldap0r][ldap0r]] (~300 SloC)
|
|
||||||
- [[https://git.onders.org/finga/filerly][filerly]] (wip)
|
*** [[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
|
** The End
|
||||||
#+BEGIN_CENTER
|
#+BEGIN_CENTER
|
||||||
|
|
Loading…
Reference in a new issue