| Zeile 173: |
Zeile 173: |
| | Siehe | | Siehe |
| | * https://www.golem.de/news/kuenstliche-intelligenz-so-funktioniert-chatgpt-2302-171644-3.html | | * https://www.golem.de/news/kuenstliche-intelligenz-so-funktioniert-chatgpt-2302-171644-3.html |
| | + | |
| | + | === Sprachmodelle === |
| | + | |
| | + | Viele andere Sprachmodelle kann man auch lokal (und kostenlos) testen. 32GB sind aber mindestens erforderlich, 64GB machen die Nutzung rascher. |
| | + | |
| | + | Als Tool bieten sich an: |
| | + | * [https://msty.ai/ Msty] an. |
| | + | * GPT4all |
| | | | |
| | == Datenbanken == | | == Datenbanken == |
| Zeile 226: |
Zeile 234: |
| | | | |
| | HSQLDB ist eine kleine Java-Datenbank, die auch In-Memory-Tabellen bietet. Zusammen mit Hibernate kann sie auch als Persistenzschicht für POJOs genutzt werden. | | HSQLDB ist eine kleine Java-Datenbank, die auch In-Memory-Tabellen bietet. Zusammen mit Hibernate kann sie auch als Persistenzschicht für POJOs genutzt werden. |
| | + | |
| | + | ==== AlaSQL ==== |
| | + | [https://github.com/AlaSQL/alasql/wiki/Sql AlaSQL] ist eine SQL-Abfragesprache für JSON-Daten. AlaSQL kann auch Excel-Tabellen lesen. |
| | | | |
| | === NoSQL === | | === NoSQL === |
| Zeile 231: |
Zeile 242: |
| | Siehe | | Siehe |
| | | | |
| | + | * [[SurrealDB]] |
| | + | * [https://github.com/nocodb/nocodb NocoDB] |
| | * [https://www.openxava.org/ate/matrify-alternative OpenXava] erlaubt mit einfachen [[Java]]-Klassen recht schnell Web-Datenbankanwendungen zu erstellen. | | * [https://www.openxava.org/ate/matrify-alternative OpenXava] erlaubt mit einfachen [[Java]]-Klassen recht schnell Web-Datenbankanwendungen zu erstellen. |
| | * [https://www.edgedb.com/docs/intro/quickstart#ref-quickstart EdgeDB] | | * [https://www.edgedb.com/docs/intro/quickstart#ref-quickstart EdgeDB] |
| | * LowDB - kann nicht als wirkliche Datenbank bezeichnet werden, aber möglicherweise sinnvoll für Persistenz von wenigen Daten. | | * LowDB - kann nicht als wirkliche Datenbank bezeichnet werden, aber möglicherweise sinnvoll für Persistenz von wenigen Daten. |
| | + | |
| | + | ==== Convex ==== |
| | + | |
| | + | [https://www.convex.dev/ Convex] |
| | + | |
| | + | * TypeScript im Server und im Client |
| | + | * Authentication |
| | + | * Authorization (sehr flexibel) |
| | + | * Nutzt generierten Code im Client - Projektstruktur wird von Convex grundsätzlich vorgegeben. |
| | + | * hat derzeit (Dezember 2025) [https://stack.convex.dev/object-sync-engine keine vollständige Offline-Funktionalität]. Aber angeblich schaut sich das Convex-Team das näher an. |
| | | | |
| | ==== CouchDB ==== | | ==== CouchDB ==== |
| Zeile 241: |
Zeile 264: |
| | ==== Echtzeit-Datenbanken ==== | | ==== Echtzeit-Datenbanken ==== |
| | | | |
| | + | * [[AceBase]] |
| | * https://rethinkdb.com/ | | * https://rethinkdb.com/ |
| | * Die in Google Firebase integrierte Echtzeitdatenbank | | * Die in Google Firebase integrierte Echtzeitdatenbank |
| | ** https://levelup.gitconnected.com/todo-app-using-firebase-react-typescript-ea0a34bd417d | | ** https://levelup.gitconnected.com/todo-app-using-firebase-react-typescript-ea0a34bd417d |
| − | * https://github.com/surrealdb/surrealdb | + | * [[SurrealDB]] |
| | * [[Supabase]] | | * [[Supabase]] |
| | | | |
| Zeile 263: |
Zeile 287: |
| | * [[IndexedDB]] | | * [[IndexedDB]] |
| | ** kann in [[Node.js]] z.B. zum Testen imitiert werden, siehe [https://www.npmjs.com/package/fake-indexeddb fake-indexeddb] | | ** kann in [[Node.js]] z.B. zum Testen imitiert werden, siehe [https://www.npmjs.com/package/fake-indexeddb fake-indexeddb] |
| | + | * [https://github.com/julienetie/db64 db64] ist ein kleiner Wrapper um [[IndexedDB]] |
| | + | * [https://github.com/jakearchibald/idb idb] ist wohl der häufigst genutzte Wrapper [[IndexedDB]] |
| | * [https://dexie.org/ Dexie.js], unterstützt auch [[TypeScript]] | | * [https://dexie.org/ Dexie.js], unterstützt auch [[TypeScript]] |
| | * [https://nanosql.io/ NanoSQL] | | * [https://nanosql.io/ NanoSQL] |
| Zeile 293: |
Zeile 319: |
| | ** [https://terminusdb.com/ TerminusDB] | | ** [https://terminusdb.com/ TerminusDB] |
| | * [https://immudb.io/ ImmuDb] | | * [https://immudb.io/ ImmuDb] |
| | + | * [[BigchainDB]] - blockchain-basiert |
| | | | |
| | | | |
| Zeile 546: |
Zeile 573: |
| | Siehe | | Siehe |
| | * https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html | | * https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html |
| | + | |
| | + | ==== Module ==== |
| | + | |
| | + | In JavaScript haben sich verschiedene Formate für Module etabliert. |
| | + | |
| | + | Allerdings scheint zumindest in ES6 nicht mehr sicher zu sein, dass beim Import eines |
| | + | Moduls von mehreren verschiedenen Modulen dieses eine Modul als Singleton importiert |
| | + | wird. Siehe Kommentare zur [https://stackoverflow.com/questions/69896862/javascript-imports-do-they-duplicate Stackoverflow-Frage]. |
| | | | |
| | === Coding Style === | | === Coding Style === |
| Zeile 636: |
Zeile 671: |
| | * [https://github.com/dkiyatkin/node-office node-office] nutzt unoconv zur Extrahierung von Text | | * [https://github.com/dkiyatkin/node-office node-office] nutzt unoconv zur Extrahierung von Text |
| | ** [https://wiki.ubuntuusers.de/unoconv/ unoconv] ist ein Kommandozeilentool zur Konvertierung von Office-Dokumenten, das ein installiertes OpenOffice oder LibreOffice nutzt. | | ** [https://wiki.ubuntuusers.de/unoconv/ unoconv] ist ein Kommandozeilentool zur Konvertierung von Office-Dokumenten, das ein installiertes OpenOffice oder LibreOffice nutzt. |
| | + | |
| | + | === Scannen mit JavaScript === |
| | + | |
| | + | Dokumente scannen kann man wohl auch aus dem Browser: Siehe |
| | + | * https://www.npmjs.com/package/scanner-js |
| | + | |
| | + | Aber auch das übliche Client-Server-Modell wird in JavaScript verwirklicht: |
| | + | * https://github.com/sbs20/scanservjs |
| | | | |
| | === Google Apps Script === | | === Google Apps Script === |
| Zeile 688: |
Zeile 731: |
| | | | |
| | === Diagramme darstellen in Javascript === | | === Diagramme darstellen in Javascript === |
| | + | ==== Darstellung von Kuchen- und Balkendiagrammen ==== |
| | + | |
| | + | * https://plotly.com/javascript/ |
| | | | |
| | ==== Darstellung von Graphen ==== | | ==== Darstellung von Graphen ==== |
| Zeile 693: |
Zeile 739: |
| | Siehe | | Siehe |
| | * [https://js.cytoscape.org/ Cytoscape] (MIT-Lizenz) | | * [https://js.cytoscape.org/ Cytoscape] (MIT-Lizenz) |
| | + | * [https://mermaid.js.org/ mermaid.js] - Darstellung von in Text-Notation beschriebenen Graphen |
| | + | ** https://blog.ordix.de/flowcharts-as-code-mit-mermaid-js |
| | * https://github.com/jpb12/react-tree-graph | | * https://github.com/jpb12/react-tree-graph |
| | + | * [https://kroki.io/ Kroki] ist ein freier HTTP-Dienst, der Diagramme erzeugt. Er basiert auf Open Source. |
| | | | |
| | === Test JavaScript === | | === Test JavaScript === |
| Zeile 740: |
Zeile 789: |
| | [[Category:Informationstechnik]] | | [[Category:Informationstechnik]] |
| | [[Category:Softwareentwicklung]] | | [[Category:Softwareentwicklung]] |
| | + | [[Category:Datenbank]] |
| | [[Category:Java-Tipps]] | | [[Category:Java-Tipps]] |
| | [[Category:Podcast]] | | [[Category:Podcast]] |