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
|
||||
|
||||
- [NFS-Freigaben](dokus/linux/nutzer-id-nfs_freigaben.md)
|
||||
- [🖥️ Screen – Terminal-Multiplexer für Linux](dokus/linux/screen.md)
|
||||
- **Fedora**
|
||||
- [Fedora Workstation Suspend deaktivieren](dokus/linux/fedora/suspend-deaktivieren.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
|
||||
|
||||
- [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/git/git_workflow.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