presentation-rust-webapps/rust_web.org

125 lines
3.3 KiB
Org Mode
Raw Normal View History

#+OPTIONS: ':nil *:t -:t ::t <:t H:3 \n:nil ^:t arch:headline
#+OPTIONS: author:t broken-links:nil c:nil creator:nil
#+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.
#+KEYWORDS: rust rocket diesel
2020-12-21 11:04:02 +01:00
#+AUTHOR: \href{mailto:rocket-presentation@onders.org}{finga}
#+EMAIL: rocket-presentation@onders.org
#+LANGUAGE: en
#+SELECT_TAGS: export
#+EXCLUDE_TAGS: noexport
#+CREATOR: Emacs 26.1 (Org mode 9.1.9)
#+OPTIONS: H:2
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [aspectration=1610]
2020-12-21 11:04:02 +01:00
# #+LATEX_HEADER: \hypersetup{colorlinks=true,linkcolor=gray}
#+LATEX_HEADER: \hypersetup{colorlinks=true,linkcolor=black,urlcolor=gray}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+BEAMER_THEME: Frankfurt
#+BEAMER_COLOR_THEME: seagull
#+BEAMER_FONT_THEME:
#+BEAMER_INNER_THEME:
#+BEAMER_OUTER_THEME:
#+BEAMER_HEADER: \institute[INST]{\href{https://cccsbg.at}{cccsbg}}
* Rust
** What is Rust?
2020-12-21 11:04:02 +01:00
#+BEGIN_CENTER
#+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
- About 10 years old (2010)
- Memory safe without gcing, optional ref counting
- Ownership, lifetimes, traits
- Variables are immutable by default and can be shadowed
- Performance of idiomatic Rust is comparable to the performance
of idiomatic cpp
** 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
- [[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]]
** What are we going to use?
*** Definitely
- [[https://rocket.rs][rocket]]
- [[https://diesel.rs][diesel]]
- log
*** Maybe
- anyhow
- lettre
- sha3
- serde
- chrono
** How to install
*** Install Rust
#+BEGIN_SRC sh
$ curl --proto '=https' --tlsv1.2 -sSf \
https://sh.rustup.rs | sh
#+END_SRC
*** Install nightly Rust
#+BEGIN_SRC sh
$ rustup toolchain install nightly
#+END_SRC
*** Install rustfmt
#+BEGIN_SRC sh
$ rustup component add rustfmt
#+END_SRC
*** Install clippy (Linter and static code analysis)
#+BEGIN_SRC sh
$ rustup component add clippy
#+END_SRC
* Rocket
** What is Rocket?
* Diesel
** What is an ORM?
** What is diesel capable of?
* Lets code something
* Conclusion
** What did we do?
** What did you hopefully learn!
** Some projects
- [[https://git.onders.org/finga/ldap0r][ldap0r]] (~300 SloC)
- [[https://git.onders.org/finga/filerly][filerly]] (wip)
** The End
#+BEGIN_CENTER
#+LaTeX:\includegraphics[width = 0.3\textwidth]{img/goodbye.jpg}
\Huge
Thanks for your attention!!1!
This is the end..
#+END_CENTER