Im Alltag sind Notizhefte, Notizbücher, Kalender, Tagebücher, Terminplaner, Loseblattsammlung mit Klemmvorrichtung, geheftete/gebundene Ringbücher mit/ohne Klebe-Bindung, usw. im Gebrauch.
Beim wissenschaftlichen Arbeiten fallen vielfältig "Schnipsel von Informationen" und "Informationsfragmenten" an, die ähnlich einem Puzzle zu einem "kohärenten Ganzen" werden sollen. Zu solchen "Informationsfragmenten" gehören z.B. Notizen , handschriftliche Vermerke, Quellenangaben, Literaturliste, Sammlung von Einfällen und Bemerkungen, Code-Fragmente, Merkzettel, Skizzenbücher mit Ideen, Terminkalender, ToDo-Liste, Erinnerungen, usw. Vielfältig Schnipsel fallen auch beim Information Retrieval an. Es soll ein einfaches, robustes, personalisiertes Toolchen mit Namen "eNotizen" entworfen, entwickelt, getestet werden. Infolge der eigenen Machbarkeit dieses Projektes soll anstelle der Top-Down-Sichtweise ( Big Data , WER hebt das "Datengold" und wofür? ) die Bottom-Up-Sichtweise Vorrang haben. Das Toolchen soll auf die eigenen Bedürnissen und Zielvorstellungen zugeschnitten sein ( Bottom-up ), alltagstauglich sein und auch selbst benutzt werden. Weltweit gibt es ( 2014 ) unermeßlich viele Datenspeicher und große Datenmengen , die i.a. in sog. "Daten-Kathedralen" zentralisiert gespeichert sind und durchforstet werden. Sehr grob geschätzt: Allein im festverkabelten, öffentlich zugänglichen Internet ( ohne Mobilfunk ) beträgt 2015 das Datenaufkommen mehr als ca. 700 Exabyte = 700.000.000.000.000.000.000 Byte (1 Exabyte = 1 10^18 Byte = 1 Mrd. Gigabyte). und der Datenaustausch im Mobilfunknetzen mehr als ca. 200 Exabyte In den "Daten-Kathedralen" ist 2015 ca. die 20 fache Datenmenge gespeichert. Zu einem weltweit operierenden Internetkonzern gehören z.B. 2 000 000 Domains. Siehe z.B. Internet . Für Big-Data gilt als handliches Maß 1 Zettabyte = 10^21 Byte. 1 Zettabyte entspricht grob mehreren Miliarden PC's. Siehe z.B. Byte-Größen . Wer besitzt eine gültige Bergbaulizenz für das "personalisierte Datengold"? Wer hebt das "Datengold" und wofür? Siehe z.B. Kathedrale und Basar .
Sprichwort: Viele kleine Leute, an vielen kleinen Orten, die viele kleine Dinge tun, können das Gesicht der Welt verändern.
Franz Kafka: Verbringe nicht die Zeit mit der Suche nach einem Hindernis, vielleicht ist keines da.
Für Webentwicklungen gibt es zahlreiche ( JavaScript ) Bibliotheken und Frameworks . Der technologischer Wandel bedingt Software-Anpassungen und Restrukturierungen ( Refactoring ). Bibliotheken schaffen Abhängigkeiten.
Für die Erstellung von ECMAScript-Bibliotheken gibt recht unterschiedliche Ansätze und notwendige Vorkenntnisse, wie z.B. Namespaces . Ein besonders robustes Code-Bibliothekens-Muster ( Pattern ) ist hier erklärt.
ECMAScript-Objekte sind von DOM-Tag-Objekten ( Node-Liste ) zu unterscheiden. Web-Bibliotheken arbeiten i.a. mit dem W3C-Document-Object-Model. Siehe z.B. Schnelleinstieg zu ECMAScript Objekte . Zu DOM-Tag-Objekten können dokumentenspezifische Besonderheiten hinzu kommen. Siehe z.B. DOM - Einführung.
Für DOM-Zugriffe auf Elemente ( nodes ) wird hier vorrangig .querySelectorAll() verwendet. .querySelectorAll() lieferte eine Node-Liste von DOM-Elementen.
Es sollen mehrere Bibliotheken geschrieben werden. Hier wird dom.js betrachtet. Im HTML-Header wird dom.js includiert, etwa
<script type="text/javascript" src="dom.js></script>
Nach dem Includieren steht ein Objekt dom zur verfügung. Für dom sind z.B. folgende Funktionen zu schreiben:
// für localStorage() und für dom-Zugriffe // --------------------------------------------- dom.setItem() dom.get_nodes() dom.getItem() dom.do_nodes() dom.delItem() dom.set_str() dom.delClear() dom.get_str() dom.getKeys() dom.get_notizen_von() dom.getSize()
Es sollen eigene Bibliotheken entwickelt werden, die sich leicht an neuen Anforderungen anpassen lassen. Insbesondere können optional weitere Bibliotheken erstellt werden:
Einige Multiple-Choice-Fragen als Self-Assessments-Möglichkeit DOM und Objekte und Funktionen
Erkärungen gibt es in der Veranstaltung.
Plagiate sind out!
Viel Freude bei der Ausarbeitung!
Letzter Abgabetermine So 12.00 Uhr