v0.10.0
This commit is contained in:
parent
a3091b204c
commit
2db64d2583
@ -94,6 +94,7 @@ Unter `./tools/` befinden sich Programme/ Skripte (aktuell in Typescript und Pyt
|
|||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
- [NFS-Freigaben](dokus/linux/nutzer-id-nfs_freigaben.md)
|
- [NFS-Freigaben](dokus/linux/nutzer-id-nfs_freigaben.md)
|
||||||
|
- [🖥️ Screen – Terminal-Multiplexer für Linux](dokus/linux/screen.md)
|
||||||
- **Fedora**
|
- **Fedora**
|
||||||
- [Fedora Workstation Suspend deaktivieren](dokus/linux/fedora/suspend-deaktivieren.md)
|
- [Fedora Workstation Suspend deaktivieren](dokus/linux/fedora/suspend-deaktivieren.md)
|
||||||
- [Fedora-Handbuch für Debian/Ubuntu-Umsteiger](dokus/linux/fedora/fedora-handbuch-umstieg.md)
|
- [Fedora-Handbuch für Debian/Ubuntu-Umsteiger](dokus/linux/fedora/fedora-handbuch-umstieg.md)
|
||||||
@ -143,6 +144,7 @@ Unter `./tools/` befinden sich Programme/ Skripte (aktuell in Typescript und Pyt
|
|||||||
#### ts - js - node
|
#### ts - js - node
|
||||||
|
|
||||||
- [Einstieg in JavaScript-Dialekte und TypeScript-Konfiguration](dokus/js-ts/js-ts-dialekte.md)
|
- [Einstieg in JavaScript-Dialekte und TypeScript-Konfiguration](dokus/js-ts/js-ts-dialekte.md)
|
||||||
|
- [🛠️ better-sqlite3: Die leistungsstarke SQLite-Bibliothek für Node.js](dokus/js-ts/better-sqlite3.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
112
dokus/js-ts/better-sqlite3.md
Normal file
112
dokus/js-ts/better-sqlite3.md
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# 🛠️ better-sqlite3: Die leistungsstarke SQLite-Bibliothek für Node.js
|
||||||
|
|
||||||
|
- [🛠️ better-sqlite3: Die leistungsstarke SQLite-Bibliothek für Node.js](#️-better-sqlite3-die-leistungsstarke-sqlite-bibliothek-für-nodejs)
|
||||||
|
- [📜 Entstehung und Motivation](#-entstehung-und-motivation)
|
||||||
|
- [📦 Installation](#-installation)
|
||||||
|
- [⚖️ Lizenz](#️-lizenz)
|
||||||
|
- [🌐 Community und Unterstützung](#-community-und-unterstützung)
|
||||||
|
- [🚀 Features](#-features)
|
||||||
|
- [🔍 Unterschiede zu `node-sqlite3`](#-unterschiede-zu-node-sqlite3)
|
||||||
|
- [🧠 Best Practices](#-best-practices)
|
||||||
|
- [📚 Quellen](#-quellen)
|
||||||
|
- [🧩 Fazit](#-fazit)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**better-sqlite3** ist eine moderne, synchron arbeitende SQLite-Bibliothek für Node.js, die sich durch hohe Performance, einfache Bedienung und umfassende Funktionalität auszeichnet. Sie wurde entwickelt, um die Schwächen anderer SQLite-Bindings wie `node-sqlite3` zu überwinden und bietet eine robuste Alternative für Entwickler, die mit SQLite in JavaScript arbeiten möchten.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📜 Entstehung und Motivation
|
||||||
|
|
||||||
|
Die Bibliothek wurde von [Joshua Wise](https://github.com/JoshuaWise) entwickelt und wird unter dem GitHub-Projekt [WiseLibs/better-sqlite3](https://github.com/WiseLibs/better-sqlite3) gepflegt. Ziel war es, eine SQLite-Binding zu schaffen, die:
|
||||||
|
|
||||||
|
- **Synchron arbeitet**, um die Komplexität asynchroner APIs zu vermeiden
|
||||||
|
- **Sicher und effizient** ist, ohne auf Low-Level-C-APIs zurückgreifen zu müssen
|
||||||
|
- **Einfach zu bedienen** ist, mit klaren Methoden und verständlicher API
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install better-sqlite3
|
||||||
|
```
|
||||||
|
|
||||||
|
Erfordert Node.js **v14.21.1 oder höher**. Prebuilt-Binaries sind für LTS-Versionen verfügbar.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚖️ Lizenz
|
||||||
|
|
||||||
|
Die Bibliothek steht unter der **MIT-Lizenz**, was eine freie Nutzung, Modifikation und Verbreitung erlaubt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 Community und Unterstützung
|
||||||
|
|
||||||
|
- Über **6.000 GitHub-Stars** und eine aktive Entwicklergemeinschaft
|
||||||
|
- Unterstützt durch Spenden via GitHub Sponsors, Patreon und PayPal
|
||||||
|
- Wird von tausenden Entwicklern täglich verwendet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Features
|
||||||
|
|
||||||
|
- **Schnelle Performance**: Benchmarks zeigen, dass `better-sqlite3` in vielen Fällen deutlich schneller ist als `node-sqlite3`
|
||||||
|
- **Sichere Transaktionen**
|
||||||
|
- **Benutzerdefinierte Funktionen und Aggregate**
|
||||||
|
- **Virtuelle Tabellen und Erweiterungen**
|
||||||
|
- **64-Bit-Integer-Unterstützung**
|
||||||
|
- **Worker-Thread-Support für große/langsame Abfragen**
|
||||||
|
- **Einfache API**: z. B. `db.prepare(...).get()` für eine einzelne Zeile
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 Unterschiede zu `node-sqlite3`
|
||||||
|
|
||||||
|
| Merkmal | better-sqlite3 | node-sqlite3 |
|
||||||
|
|-------------------------------|----------------------------------|----------------------------------|
|
||||||
|
| API-Typ | Synchron | Asynchron |
|
||||||
|
| Speicherverwaltung | JavaScript (GC) | Low-Level C |
|
||||||
|
| Performance | Sehr hoch | Deutlich langsamer in Benchmarks |
|
||||||
|
| Komplexität | Einfach | Komplexer |
|
||||||
|
| Erweiterbarkeit | Hoch | Eingeschränkt |
|
||||||
|
|
||||||
|
> Benchmarks zeigen z. B. beim Einfügen von 100 Zeilen eine bis zu **15-fache Geschwindigkeitssteigerung** gegenüber `sqlite3`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧠 Best Practices
|
||||||
|
|
||||||
|
- **WAL-Modus aktivieren** für bessere Performance:
|
||||||
|
|
||||||
|
```js
|
||||||
|
db.pragma('journal_mode = WAL');
|
||||||
|
```
|
||||||
|
|
||||||
|
- **Transaktionen nutzen** für Bulk-Inserts:
|
||||||
|
|
||||||
|
```js
|
||||||
|
const insert = db.prepare('INSERT INTO users (name) VALUES (?)');
|
||||||
|
const insertMany = db.transaction((names) => {
|
||||||
|
for (const name of names) insert.run(name);
|
||||||
|
});
|
||||||
|
insertMany(['Alice', 'Bob', 'Charlie']);
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Quellen
|
||||||
|
|
||||||
|
- [better-sqlite3 auf npm](https://www.npmjs.com/package/better-sqlite3)
|
||||||
|
- [GitHub-Projektseite](https://github.com/WiseLibs/better-sqlite3)
|
||||||
|
- [Vergleich mit node-sqlite3 auf npm](https://www.npmjs.com/package/better-sqlite3)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧩 Fazit
|
||||||
|
|
||||||
|
**better-sqlite3** ist eine exzellente Wahl für Node.js-Projekte, die SQLite nutzen möchten. Die Kombination aus Performance, einfacher API und aktiver Community macht sie zur bevorzugten Lösung gegenüber traditionellen Bindings wie `node-sqlite3`.
|
||||||
|
|
||||||
|
Wenn du mit SQLite arbeitest und dir Synchronität, Geschwindigkeit und Klarheit wichtig sind – dann ist better-sqlite3 dein Werkzeug der Wahl.
|
109
dokus/linux/screen.md
Normal file
109
dokus/linux/screen.md
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# 🖥️ Screen – Terminal-Multiplexer für Linux
|
||||||
|
|
||||||
|
- [🖥️ Screen – Terminal-Multiplexer für Linux](#️-screen--terminal-multiplexer-für-linux)
|
||||||
|
- [📦 Installation](#-installation)
|
||||||
|
- [🚀 Eine neue Screen-Sitzung starten](#-eine-neue-screen-sitzung-starten)
|
||||||
|
- [🔄 Sitzung trennen (detach)](#-sitzung-trennen-detach)
|
||||||
|
- [🔙 Sitzung wieder verbinden (reattach)](#-sitzung-wieder-verbinden-reattach)
|
||||||
|
- [❌ Sitzung beenden](#-sitzung-beenden)
|
||||||
|
- [🧠 Nützliche Shortcuts](#-nützliche-shortcuts)
|
||||||
|
- [📁 Weitere Tipps](#-weitere-tipps)
|
||||||
|
|
||||||
|
`screen` erlaubt dir, mehrere Shell-Sitzungen zu starten, zu trennen und später wieder aufzurufen – ideal für Serverprozesse wie Game-Server, die im Hintergrund laufen sollen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install screen
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Eine neue Screen-Sitzung starten
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -S sitzungsname
|
||||||
|
```
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -S 7dtd
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Sitzung trennen (detach)
|
||||||
|
|
||||||
|
Drücke:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Ctrl + A, dann D
|
||||||
|
```
|
||||||
|
|
||||||
|
➤ Die Sitzung läuft weiter im Hintergrund.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔙 Sitzung wieder verbinden (reattach)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -r sitzungsname
|
||||||
|
```
|
||||||
|
|
||||||
|
Oder alle Sitzungen anzeigen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -ls
|
||||||
|
```
|
||||||
|
|
||||||
|
Dann verbinden mit:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -r <ID oder Name>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ❌ Sitzung beenden
|
||||||
|
|
||||||
|
1. Zurück in die Sitzung:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -r sitzungsname
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Beende den laufenden Prozess (z. B. mit `Ctrl + C` oder `exit`)
|
||||||
|
|
||||||
|
3. Oder Sitzung direkt killen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
screen -S sitzungsname -X quit
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧠 Nützliche Shortcuts
|
||||||
|
|
||||||
|
| Shortcut | Funktion |
|
||||||
|
|------------------|-------------------------------------|
|
||||||
|
| `Ctrl + A, D` | Sitzung trennen (detach) |
|
||||||
|
| `Ctrl + A, C` | Neue Shell in der Sitzung öffnen |
|
||||||
|
| `Ctrl + A, N` | Nächste Shell |
|
||||||
|
| `Ctrl + A, P` | Vorherige Shell |
|
||||||
|
| `Ctrl + A, "` | Alle Shells anzeigen |
|
||||||
|
| `Ctrl + A, K` | Aktuelle Shell killen |
|
||||||
|
| `Ctrl + A, ?` | Hilfe anzeigen |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📁 Weitere Tipps
|
||||||
|
|
||||||
|
- Du kannst mehrere Shells in einer Sitzung öffnen und zwischen ihnen wechseln.
|
||||||
|
- Ideal für Game-Server, Backups, oder lang laufende Prozesse.
|
||||||
|
- Funktioniert auch über SSH – perfekt für Remote-Server.
|
||||||
|
|
||||||
|
---
|
@ -26,3 +26,5 @@ dokus/products/voltcraft625logicprobe/voltcraft625-logic-probe-anleitung.md
|
|||||||
dokus/grundlagen/wahrheitstabelle.md
|
dokus/grundlagen/wahrheitstabelle.md
|
||||||
dokus/git/git_workflow.md
|
dokus/git/git_workflow.md
|
||||||
dokus/frameworks/havok-engine.md
|
dokus/frameworks/havok-engine.md
|
||||||
|
dokus/linux/screen.md
|
||||||
|
dokus/js-ts/better-sqlite3.md
|
||||||
|
Loading…
x
Reference in New Issue
Block a user