Assassin ⚡️ - 一個開源、免費的資料庫,用於殺死緩慢的網頁
刺客 ⚡️ - 殺死緩慢的網頁
Assassin 致力於殺死阻塞 UI 的資料庫事務。
資料庫操作可能會很慢,但是現有的資料庫都沒有以明顯的方式解決這個問題:將困難的任務外包給網路工作者。
我想建立一個資料庫:
- 開源
- 有回應
- 去中心化
- 針對網路工作者進行了最佳化
- 專為私人瀏覽設計
這就是我使用 JavaScript 建立自己的資料庫的原因。
特徵 ?
? 輕量級:客戶端程式碼少於 100 行。
⚖️ 去中心化:您的資料庫沒有單點故障。如果伺服器發生故障,您的資料也可以輕鬆檢索。
? 適用於隱私瀏覽:我研究了 LevelDB、PouchDB 和 Gun 等資料庫,它們依賴 IndexedDB 進行客戶端儲存。我希望這些資料庫有效,但我最終創建了這個資料庫,部分原因是 IndexedDB 在隱私瀏覽中被停用,這意味著這些資料庫都不適合我。
方法:
- Killer.connect(url) - 連接到伺服器。
- Killer.create(key,value) - 新增一個項目給資料庫。
- Killer.update(key,new value) - 更新資料庫中某個鍵的值。
- Killer.delete(key) - 刪除資料庫中的項目。
- 讀取資料庫 - 在 Web Worker 或主執行緒中,您可以透過名為 database 的變數存取資料庫。
建築學:
- 資料模型:Assassin 是一個鍵/值存儲,支援將鍵映射到對應的值。
- 系統架構:DAT 協定在多台電腦之間分發和託管數據,因此沒有一個儲存資料的位置。 Assassin 依靠 DAT 協定進行資料持久化。鍵值對的元資料儲存在分散式 trie 結構中。
- 隔離等級:隔離等級由資料庫的最終使用者決定。 Assassin 被設計為具有較低的隔離等級。
- 儲存模型:Assassin 將資料傳送到伺服器,然後伺服器將元資料儲存在基於 DAT 協定建構的分散式檔案系統 Hyperdrive 中。資料本身在多個對等點之間分發和託管。
- 高度可用:Assassin 高度可用且最終一致。當發生衝突時,Assassin 總是保存對資料庫所做的最後編輯。此 CRDT 稍後可能會變更。
為什麼叫刺客?
- 我的個人網站目前使用 Gun 資料庫。
- Gun有很多我喜歡的功能,而且創辦人也很nice。
- 槍對我沒效了。
- Gun 的儲存適配器 RAD 依賴 IndexedDB,它在隱私瀏覽中被停用。
- Gun 透過 WebRTC 點對點同步數據,在 Web Worker 中不起作用。
- Assassin 有點(說真的,非常小)像 Gun,但適用於網路工作者。
- 槍手=刺客?
用 建構?
- Hyperdrive - 感謝您在 DAT 協定之上建立抽象層!
- HTML - 用於建立網路示範
- CSS - 用於設定 Web 示範的樣式
- JavaScript - 用於邏輯
- Node.js - 服務邏輯
請務必分享您的意見:
- 刺客 GitHub 儲存庫
- Gitter 伺服器
如果你真的想幫助 Assassin 變得更好,請為 GitHub 儲存庫做出貢獻!
Assassin 是開源的,而且永遠都是。
支持我:
- Ko-Fi
在 GitHub 上為儲存庫加註星標,發推文,並在您的朋友、團隊和聯絡人之間分享!
以上是Assassin ⚡️ - 一個開源、免費的資料庫,用於殺死緩慢的網頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務
