---
theme: gaia
paginate: true
title: Ruby-Schulung Linuxhotel Oktober 2026
---
<style>
  section {
    background: #fefefe;
    color: #004;
  }
  section.invert {
    background: #004;
    color: #fefefe;
  }

  section.lead h1 {
    font-size: 3em;
  }

  section.small p, section.small li {
    font-size: 0.6em;
  }

  section marp-pre {
    background: #002;
    border-radius: 5px;
  }

  section code {
    background: #002;
    border-radius: 5px;
  }

</style>

<!-- class: lead -->
# Letzter Tag

---

# Rails

---

<!-- class: -->

# Rails

- Klarer Fokus auf bestimmten Typ von Anwendungen
- Starke Konventionen (Convention over Configuration)
- Sehr komplettes Web-Framework
- Großes, gewachsenes Ökosystem
---
# Rails
## Fokus
- Datenbank <> Webserver <> Client
- Web best practices (Security, Accessibility etc.)
- HTML plus Hotwire als Gegenentwurf zu React & Co.

---

# Rails
## Convention over Configuration

- Alles hat seinen Platz
- Die einfachen Dinge sind einfach, komplexe Dinge sind möglich
- Aber: Diverse Architektur-Fallen für große Anwendungen
---
# Rails
## Fertige, Integrierte Lösungen für viele Probleme:

- Background-Processing (ActiveJob)
- Realtime-Updates (ActionCable/ SolidQueue)
- Mail in/out (ActionMailer)
- Authentifizierung
- Deployment (Kamal)

---
# Rails
## Breites Ökosystem
- Authentifizierung (z.B. OAuth, TOTP, Passkeys)
- Authorisierung
- Datenbanken (Search, Caches, andere Datenbanktypen)
- Anbindung von 3. Party-Services
---

# Rails
## Deployment
- Kamal als Komplettlösung für die Hetzners dieser Welt
- Irgendwas mit Docker
- (Heroku)

---

# Rails
## Installation
- Ruby-Abhängigkeiten
- Datenbank-Abhängigkeiten

---
# Rails
## Installation

```bash
gem install rails
rails new mein_app_name --sehr-viele-optionen
```
---
<!-- class: lead -->
![bg contain opacity:0.2](images/pet.jpg)

# Praxis

---
<!-- class: lead-->

# Rails and Beyond

---
<!-- class: -->
# Rails-Alternativen

- Hanami
- Sinatra für kleine Sachen
- Hoffentlich bald: Mosscap

---

# Sonstige Ruby-Dinge

- Webseiten: jekyll, bridgetown
- Projektmanagement: redmine, gitlab
- Social Media: Mastodon (Ursprünglich auch: Twitter)
- Dokumente erzeugen: prawn, hexapdf, axlsx
- HTML/XML: nokogiri, builder

---

# Das Buch!

![h:400](images/ruby6-beta-500.jpg)

---

## Danke!

[halfbyte.me](https://halfbyte.me)

### Schönes Wochenende