


Assassin ⚡️ – Eine kostenlose Open-Source-Datenbank zum Töten langsamer Webseiten
Assassin ⚡️ - Töte langsame Webseiten
Assassin beendet Datenbanktransaktionen, die die Benutzeroberfläche blockieren.
Datenbankvorgänge können langsam sein, aber keine vorhandenen Datenbanken lösen dieses Problem auf die offensichtliche Weise: Schwierige Aufgaben an Web-Worker auslagern.
Ich wollte eine Datenbank erstellen, die Folgendes ist:
- Open Source
- Responsive
- Dezentral
- Optimiert für Web-Worker
- Entwickelt für privates Surfen
Deshalb habe ich meine eigene Datenbank mit JavaScript erstellt.
Merkmale ?
? Leichtgewicht: Wird mit weniger als 100 Zeilen clientseitigem Code ausgeliefert.
⚖️ Dezentralisiert: Ihre Datenbank hat keinen Single Point of Failure. Wenn der Server ausfällt, können Ihre Daten problemlos wiederhergestellt werden.
? Funktioniert beim privaten Surfen: Ich habe Datenbanken wie LevelDB, PouchDB und Gun recherchiert, die für die clientseitige Speicherung auf IndexedDB basieren. Ich wollte, dass diese Datenbanken effektiv sind, aber letztendlich habe ich diese Datenbank teilweise deshalb erstellt, weil IndexedDB beim privaten Surfen deaktiviert ist, was bedeutet, dass keine dieser Datenbanken für mich funktioniert.
Methoden:
- killer.connect(url) – Mit dem Server verbinden.
- killer.create(key,value) – Füge einen Eintrag zur Datenbank hinzu.
- killer.update(key,new value) – Aktualisiert den Wert eines Schlüssels in der Datenbank.
- killer.delete(key) – Einen Eintrag in der Datenbank löschen.
- Lesen Sie die Datenbank – Innerhalb eines Web-Workers oder des Hauptthreads können Sie über die Variable „Datenbank“ auf die Datenbank zugreifen.
Architektur:
- Datenmodell: Assassin ist ein Schlüssel-/Wertspeicher, der die Zuordnung eines Schlüssels zu seinem entsprechenden Wert unterstützt.
- Systemarchitektur: Das DAT-Protokoll verteilt und hostet Daten zwischen vielen Computern, sodass es keinen einzigen Ort gibt, an dem Daten gespeichert werden. Assassin verlässt sich für die Datenpersistenz auf das DAT-Protokoll. Die Metadaten der Schlüssel-Wert-Paare werden in einer verteilten Trie-Struktur gespeichert.
- Isolationsstufen: Die Isolationsstufe wird vom Endbenutzer der Datenbank bestimmt. Assassin ist auf eine niedrige Isolationsstufe ausgelegt.
- Speichermodell: Assassin sendet Daten an den Server, der die Metadaten dann im verteilten Dateisystem Hyperdrive speichert, das auf dem DAT-Protokoll basiert. Die Daten selbst werden zwischen mehreren Peers verteilt und gehostet.
- Hohe Verfügbarkeit: Assassin ist hochverfügbar und letztendlich konsistent. Assassin speichert bei Konflikten immer die letzten Änderungen an der Datenbank. Dieses CRDT kann sich später ändern.
Warum heißt es Assassin?
- Meine persönliche Website nutzt derzeit die Waffendatenbank.
- Gun hat viele Funktionen, die mir gefallen, und der Gründer ist ziemlich nett.
- Die Waffe funktioniert bei mir nicht mehr.
- Guns Speicheradapter RAD basiert auf IndexedDB, das im privaten Surfen deaktiviert ist.
- Gun synchronisiert Daten Peer-to-Peer über WebRTC, was in Web Workern nicht funktioniert.
- Assassin ist ein bisschen (im Ernst, sehr wenig) wie Gun, aber für Web-Worker.
- Waffenarbeiter = Attentäter ?
Gebaut mit ?
- Hyperdrive – Vielen Dank für den Aufbau einer Abstraktionsschicht auf dem DAT-Protokoll!
- HTML – Zum Erstellen der Webdemo
- CSS – Zum Gestalten der Webdemo
- JavaScript – Für Logik
- Node.js – Um der Logik zu dienen
Teilen Sie unbedingt Ihre Meinung zu:
- das Assassin GitHub-Repository
- der Gitter-Server
Und wenn Sie wirklich dazu beitragen möchten, Assassin besser zu machen, tragen Sie zum GitHub-Repo bei!
Assassin ist Open Source und wird es auch immer sein.
Unterstützen Sie mich bei:
- Ko-Fi
Markieren Sie das Repo auf GitHub, twittern Sie und teilen Sie es mit Ihren Freunden, Teams und Kontakten!
Das obige ist der detaillierte Inhalt vonAssassin ⚡️ – Eine kostenlose Open-Source-Datenbank zum Töten langsamer Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.

Die Kraft des JavaScript -Frameworks liegt in der Vereinfachung der Entwicklung, der Verbesserung der Benutzererfahrung und der Anwendungsleistung. Betrachten Sie bei der Auswahl eines Frameworks: 1. Projektgröße und Komplexität, 2. Teamerfahrung, 3. Ökosystem und Community -Unterstützung.

Einführung Ich weiß, dass Sie es vielleicht seltsam finden. Was genau muss JavaScript, C und Browser tun? Sie scheinen nicht miteinander verbunden zu sein, aber tatsächlich spielen sie eine sehr wichtige Rolle in der modernen Webentwicklung. Heute werden wir die enge Verbindung zwischen diesen drei diskutieren. In diesem Artikel erfahren Sie, wie JavaScript im Browser ausgeführt wird, die Rolle von C in der Browser -Engine und wie sie zusammenarbeiten, um das Rendern und die Interaktion von Webseiten voranzutreiben. Wir alle kennen die Beziehung zwischen JavaScript und Browser. JavaScript ist die Kernsprache der Front-End-Entwicklung. Es läuft direkt im Browser und macht Webseiten lebhaft und interessant. Haben Sie sich jemals gefragt, warum Javascr

Node.js zeichnet sich bei effizienten E/A aus, vor allem bei Streams. Streams verarbeiten Daten inkrementell und vermeiden Speicherüberladung-ideal für große Dateien, Netzwerkaufgaben und Echtzeitanwendungen. Die Kombination von Streams mit der TypeScript -Sicherheit erzeugt eine POWE

Die Unterschiede in der Leistung und der Effizienz zwischen Python und JavaScript spiegeln sich hauptsächlich in: 1 wider: 1) Als interpretierter Sprache läuft Python langsam, weist jedoch eine hohe Entwicklungseffizienz auf und ist für eine schnelle Prototypentwicklung geeignet. 2) JavaScript ist auf einen einzelnen Thread im Browser beschränkt, aber Multi-Threading- und Asynchronen-E/A können verwendet werden, um die Leistung in Node.js zu verbessern, und beide haben Vorteile in tatsächlichen Projekten.

JavaScript stammt aus dem Jahr 1995 und wurde von Brandon Ike erstellt und realisierte die Sprache in C. 1.C-Sprache bietet Programmierfunktionen auf hoher Leistung und Systemebene für JavaScript. 2. Die Speicherverwaltung und die Leistungsoptimierung von JavaScript basieren auf C -Sprache. 3. Die plattformübergreifende Funktion der C-Sprache hilft JavaScript, auf verschiedenen Betriebssystemen effizient zu laufen.

JavaScript wird in Browsern und Node.js -Umgebungen ausgeführt und stützt sich auf die JavaScript -Engine, um Code zu analysieren und auszuführen. 1) abstrakter Syntaxbaum (AST) in der Parsenstufe erzeugen; 2) AST in die Kompilierungsphase in Bytecode oder Maschinencode umwandeln; 3) Führen Sie den kompilierten Code in der Ausführungsstufe aus.

Zu den zukünftigen Trends von Python und JavaScript gehören: 1. Python wird seine Position in den Bereichen wissenschaftlicher Computer und KI konsolidieren. JavaScript wird die Entwicklung der Web-Technologie fördern. Beide werden die Anwendungsszenarien in ihren jeweiligen Bereichen weiter erweitern und mehr Durchbrüche in der Leistung erzielen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor
