From 2db64d2583621d6d3e157f1e3c0beb9fd2be9961 Mon Sep 17 00:00:00 2001 From: "Adam Skotarczak (DEVELOP)" Date: Wed, 6 Aug 2025 19:22:59 +0200 Subject: [PATCH] v0.10.0 --- README.md | 2 + VERSION | 4 +- dokus/js-ts/better-sqlite3.md | 112 ++++++++++++++++++++++++++++++++++ dokus/linux/screen.md | 109 +++++++++++++++++++++++++++++++++ tools/collector/processed.log | 2 + 5 files changed, 227 insertions(+), 2 deletions(-) create mode 100644 dokus/js-ts/better-sqlite3.md create mode 100644 dokus/linux/screen.md diff --git a/README.md b/README.md index b163ab3..9561867 100644 --- a/README.md +++ b/README.md @@ -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) --- diff --git a/VERSION b/VERSION index 2d7efb1..91c0647 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -0.9.0 -20.07.2025 \ No newline at end of file +0.10.0 +06.08.2025 \ No newline at end of file diff --git a/dokus/js-ts/better-sqlite3.md b/dokus/js-ts/better-sqlite3.md new file mode 100644 index 0000000..160f1a5 --- /dev/null +++ b/dokus/js-ts/better-sqlite3.md @@ -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. diff --git a/dokus/linux/screen.md b/dokus/linux/screen.md new file mode 100644 index 0000000..335179b --- /dev/null +++ b/dokus/linux/screen.md @@ -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 +``` + +--- + +## ❌ 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. + +--- diff --git a/tools/collector/processed.log b/tools/collector/processed.log index 9369d54..5a34bd8 100644 --- a/tools/collector/processed.log +++ b/tools/collector/processed.log @@ -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