Änderungen

Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:  
== Aktuelles ==
 
== Aktuelles ==
   −
* Siehe  
+
Siehe  
** [http://www.heise.de/developer heise.de]
+
* [http://www.heise.de/developer heise.de]
** [http://www.golem.de golem.de]
+
* [http://www.golem.de golem.de]
 
* [http://www.heise.de/developer/podcast/ Heise.de - Podcast für Entwickler]
 
* [http://www.heise.de/developer/podcast/ Heise.de - Podcast für Entwickler]
 +
* [https://open.hpi.de/courses Kurse zu IT des Hasso-Plattner-Instituts]
    
== Programmiertechniken ==
 
== Programmiertechniken ==
Zeile 143: Zeile 144:  
* [http://www.eclipse.org/jubula/ Eclipse Jubula] kann u.a. [[Java Swing]]-Anwendungen testen.
 
* [http://www.eclipse.org/jubula/ Eclipse Jubula] kann u.a. [[Java Swing]]-Anwendungen testen.
 
* [https://www.qfs.de/de/index.html QF-Test], eine proprietäre Testsuite u.a. für [[Java]]-Desktopanwendungen z.B. mit [[Swing]]
 
* [https://www.qfs.de/de/index.html QF-Test], eine proprietäre Testsuite u.a. für [[Java]]-Desktopanwendungen z.B. mit [[Swing]]
 +
 +
=== Low Code ===
 +
 +
Low Code oder [https://de.wikipedia.org/wiki/No-Code-Plattform No Code] sind Entwicklungsumgebungen, die mit verhältnismäßig mächtigen Elementen arbeiten, um rasch Anwendungen entwickeln zu können.
 +
 +
Beispiele:
 +
 +
* [https://www.airtable.com/pricing Airtable]
 +
* [https://www.make.com/ Make], früher als Integromat bezeichnet
    
== Reguläre Ausdrücke ==
 
== Reguläre Ausdrücke ==
Zeile 151: Zeile 161:  
== Künstliche Intelligenz ==
 
== Künstliche Intelligenz ==
    +
 +
=== Allgemeines ===
 
Siehe [[Neuronale Netze]]
 
Siehe [[Neuronale Netze]]
 +
 +
=== ChatGPT ===
 +
 +
ChatGPT ist eine künstliche Intelligenz, mit der man Dialoge im WhatsApp-Stil führen kann. Es kann nach Anmeldung auf openai kostenlos genutzt werden.
 +
 +
Eine lustige Anwendung ist [https://www.ricoshet.com/ ricoshet.com]; dort spricht - nach Vorgabe eines Themas - ChatGPT mit sich selbst.
 +
 +
Siehe
 +
* https://www.golem.de/news/kuenstliche-intelligenz-so-funktioniert-chatgpt-2302-171644-3.html
    
== Datenbanken ==
 
== Datenbanken ==
Zeile 205: Zeile 226:     
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 210: Zeile 234:  
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]
 +
* LowDB - kann nicht als wirkliche Datenbank bezeichnet werden, aber möglicherweise sinnvoll für Persistenz von wenigen Daten.
    
==== CouchDB ====
 
==== CouchDB ====
Zeile 221: Zeile 249:  
* 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
 +
* [[SurrealDB]]
 +
* [[Supabase]]
    
=== Datenbanken als Service ===
 
=== Datenbanken als Service ===
Zeile 238: Zeile 268:  
* [[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 255: Zeile 287:     
* https://restdb.io/features/
 
* https://restdb.io/features/
 +
 +
=== Append-only Datenbanken ===
 +
 +
Unveränderliche Datenbanken, also Datenbanken, die die gesamte Historie bis zum Erreichen des aktuellen Status behalten, (Insert-only- bzw. Append-only-Datenbanken) gibt es in unterschiedlicher Ausprägung.
 +
 +
Z.B.
 +
* Oracle Immutable Tables (oder Blockchain-Tables)
 +
* temporale Tabellen mit "as of <timestamp>"-Operator
 +
** [https://mariadb.com/kb/en/system-versioned-tables/ MariaDB]
 +
* Datenbanken mit Versionskontrolle
 +
** [https://www.dolthub.com/ Dolt]
 +
** [https://terminusdb.com/ TerminusDB]
 +
* [https://immudb.io/ ImmuDb]
 +
* [[BigchainDB]] - blockchain-basiert
 +
 +
 +
Siehe auch
 +
* https://www.dolthub.com/blog/2022-03-21-immutable-database/
 +
* https://en.wikipedia.org/wiki/Merkle_tree
    
== Webbrowser steuern ==
 
== Webbrowser steuern ==
Zeile 340: Zeile 391:  
* [http://www.htmlgoodies.com/html5/client/the-complete-guide-to-building-html5-games-with-canvas-svg.html#fbid=1sCuPBXjCgS Anleitung zum Bau von HTML5-Spielen auf Basis des Canvas-
 
* [http://www.htmlgoodies.com/html5/client/the-complete-guide-to-building-html5-games-with-canvas-svg.html#fbid=1sCuPBXjCgS Anleitung zum Bau von HTML5-Spielen auf Basis des Canvas-
 
Elements]
 
Elements]
 +
 +
==== HTML5 Web Share API und Web Share Target API ====
 +
 +
Auf Mobil-Browsern wird die Web Share API, mit der Webapplikationen Inhalte mit nativen Apps "teilen" können, bereits weitverbreitet.
 +
 +
Eher suchen muss man noch die [https://w3c.github.io/web-share-target/level-2/ Web Share Target API], mit der Webapplikationen im nativen "Teilen"-Dialog der Smartphones bzw. im "Öffnen mit ..."-Dialog der Desktops erscheinen können. In [[Chrome]] scheint es sich noch hinter einer Einstellung zu verstecken. Zu den Einstellungen kommt man mit chrome://flags.
 +
 +
Siehe
 +
* https://mconverter.eu/blog/web_share_target_api/
 +
* https://web.dev/web-share-target/
 +
    
==== HTML5 Frameworks ====
 
==== HTML5 Frameworks ====
 +
===== React =====
 +
Siehe [[React]]
 
===== Ember.js =====
 
===== Ember.js =====
   Zeile 576: Zeile 640:  
* [https://www.npmjs.com/package/word-extractor?activeTab=readme word-extractor] - liest nur Text
 
* [https://www.npmjs.com/package/word-extractor?activeTab=readme word-extractor] - liest nur Text
 
* [https://github.com/mwilliamson/mammoth.js mammoth.js] erzeugt simples HTML aus Word.  
 
* [https://github.com/mwilliamson/mammoth.js mammoth.js] erzeugt simples HTML aus Word.  
 +
** [https://jstool.gitlab.io/demo/preview-ms-word-docx-document-in-browser/ Mammoth-Online-Demo]
 
* [https://www.npmjs.com/package/any-text any-text] ermöglicht, den Text eines Docx-Dokuments auszulesen.
 
* [https://www.npmjs.com/package/any-text any-text] ermöglicht, den Text eines Docx-Dokuments auszulesen.
 
* [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 629: Zeile 702:  
** https://medium.com/@gajus/parsing-absolutely-anything-in-javascript-using-earley-algorithm-886edcc31e5e
 
** https://medium.com/@gajus/parsing-absolutely-anything-in-javascript-using-earley-algorithm-886edcc31e5e
 
* PEG.js kann mit Hilfe eines Plugins auch TypeScript-Parser bauen.
 
* PEG.js kann mit Hilfe eines Plugins auch TypeScript-Parser bauen.
 +
 +
=== Diagramme darstellen in Javascript ===
 +
==== Darstellung von Kuchen- und Balkendiagrammen ====
 +
 +
* https://plotly.com/javascript/
 +
 +
==== Darstellung von Graphen ====
 +
 +
Siehe
 +
* [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://kroki.io/ Kroki] ist ein freier HTTP-Dienst, der Diagramme erzeugt. Er basiert auf Open Source.
    
=== Test JavaScript ===
 
=== Test JavaScript ===
Zeile 675: Zeile 762:  
[[Category:Informationstechnik]]
 
[[Category:Informationstechnik]]
 
[[Category:Softwareentwicklung]]
 
[[Category:Softwareentwicklung]]
 +
[[Category:Datenbank]]
 
[[Category:Java-Tipps]]
 
[[Category:Java-Tipps]]
 
[[Category:Podcast]]
 
[[Category:Podcast]]

Navigationsmenü