Konzeption und Implementierung einer dateibasierten Lösung zum Offline-Zugriff auf eine Enterprise 2.0 Plattform
|
|
- Sylvia Meyer
- vor 5 Jahren
- Abrufe
Transkript
1 Fakultät für Informatik Technische Universität München Konzeption und Implementierung einer dateibasierten Lösung zum Offline-Zugriff auf eine Enterprise 2.0 Plattform 8. August 2011 Bearbeiter: Kilian Wischer Betreuer: Dr. Thomas Büchner 1
2 1. Rückblick Kilian Wischer 2
3 Rückblick Ziel: Offline-Zugriff auf Tricia Technologie: Browser-Plugin HTML 5 Dateibasierte Lösung Grundidee: Synchronisationsprogramm 3 2 Internet 1 Lesen/ Verändern Synchronisation Ausspielen/ Einspielen lokaler Client Tricia lokale Festplatte SMB-Laufwerk Kilian Wischer 3
4 Anforderungen Lesezugriff: Inhalt der Wikiseiten Hybrid Table Dateianhänge Verfolgen von Referenzen Tags Kommentare Schreibzugriff: Notizen => HTML-Dateien Kilian Wischer 4
5 Agenda 1. Rückblick 2. Ordner/Datei-Struktur auf Samba-Laufwerk 3. Lokaler Lesezugriff 4. Lokaler Schreibzugriff 5. Synchronisation Kilian Wischer 5
6 2. Samba-Laufwerk Kilian Wischer 6
7 Plugin-Struktur core file jlan2 wiki hybridwiki offlinewiki Kilian Wischer 7
8 Ziel-Ordnerstruktur Kilian Wischer 8
9 Klassendiagramm Kilian Wischer 9 Path Directory Document * 1 parent child FacadePath Path FacadeDocument FacadeDirectory 1 1 Directory Document * 1 parent child * 1 parent child FacadePath Path VirtualDirectory FacadeDocument FacadeDirectory WikiInstance Directory OfflineDirectory MetaData Directory Virtual Document 1 1 Directory Document * 1 parent child * 1 parent child Sync Document Pages Directory OfflineAttach mentsdirectory Sync Directory MetaData Document
10 Zusammenspiel der Plugins Jlan2-Plugin File-Plugin «interface» DiskInterface startsearch(path : String) : SearchContext createfile() : NetworkFile getfileinformation() : FileInfo writefile() : int TriciaDiskDriverProxy startsearch(path : String) : SearchContext createfile() : NetworkFile getfileinformation() : FileInfo writefile() : int 1 SearchContext AssetSearchContext FacadePath getfacadepathbypath(path : String) : FacadePath getfilelength() : long getfullpath() : String getlastmodified() : long FacadeDirectory getchildren() : Iterator<FacadePath> FacadeDocument getreadonlyrandomaccessfile() : RandomAccessFile «abstract» VirtualDirectories Extension 1 TriciaDiskDriver OfflineWiki-Plugin startsearch(path : String) : SearchContext createfile() : NetworkFile getfileinformation() : FileInfo writefile() : int VirtualDirectory VirtualDocument OfflineWiki Plugin OfflineDirectory getchildren() : Iterator<FacadePath> WikiInstanceDirectory getchildren() : Iterator<FacadePath> Kilian Wischer 10
11 Sequenzdiagramm Alfresco Jlan Framework TriciaDiskDriverP roxy TriciaDiskDriver FacadePath VirtualDirectories Extension startsearch ("/Offline/home-wiki/*") startsearch ("/Offline/home-wiki/*") new AssetSearch Context getfacadepath bypath("/offline/home-wiki") getwikiinstance Directory("home-wiki") new WikiInstance Directory getchildren() Kilian Wischer 11
12 3. Lokaler Lesezugriff Kilian Wischer 12
13 Konzept Kilian Wischer 13
14 Template-System offlinewikipage.htm <html> <head> <title>tricia : $name.value()$</title> $cssreference$ </head> <body> <div id="pagecontent" class="tricia-page-content"> <h1>$name.value()$</h1> $content$ </div> </body> $javascript$ </html> Functions.java public static TemplateSubstitution offlinewikipage(final WikiPage wikipage, final FunctionParameters params) { return new TemplateSubstitution() public void putsubstitutions(template template) { template.put("content", new PrintSubstitution(Escaping.none) { public String print() { if(wikipage.content.get()!= null){ return repairlinks(wikipage.content.get()); else return ""; ); ; Kilian Wischer 14
15 Referenzierung Links auf: Wikiseiten Wikis Ordner Dateien Kilian Wischer 15
16 Referenzierung auf Wikiseite Online: /wikis/{wikiinstanzurlname/{wikipageurlname Offline:../../{wikiInstanzUrlName/pages/{wikiPageUrlName.html private static String repairlinks(string content){ List<TransientLink> links = RichStringProperty.getLinks(content); List<StringInsert> inserts = new ArrayList<StringInsert>(); for (TransientLink link : links) { String newlink = ""; String[] splittedlink = link.url.split("/"); if(splittedlink[1].equals("wikis")){ String wikiurlname = splittedlink[2]; newlink = "../../" + wikiurlname; if (splittedlink.length < 4) { //=> Link on wiki newlink = newlink + "/index.html"; else { // => Link on wikipage String wikipageurlname = splittedlink[3]; newlink = newlink + "/pages/" + wikipageurlname + ".html"; //... inserts.add(link.getinsert(newlink)); return StringInsert.insertAll(inserts, content); Kilian Wischer 16
17 Index-Datei Kilian Wischer 17
18 4. Lokaler Schreibzugriff Kilian Wischer 18
19 Konzept Kilian Wischer 19
20 Konzept Kilian Wischer 20
21 Realisierung Einblenden und Ausblenden von TinyMCE über jquery und CSS => offlinewiki.css, jquery und TinyMce in MetaData -Ordner Speichern über JavaScript (TiddlyWiki): Einlesen der kompletten HTML-Seite Einfügen des Textes aus TinyMCE Schreiben der kompletten HTML-Seite Kilian Wischer 21
22 Code function savenote(){ var input = tinymce.activeeditor.getcontent({ format: 'text' ); var newcontent = createnewhtmlcontent(input); var originalpath = document.location.tostring(); var localpath = getlocalpath(originalpath); savefile(localpath, newcontent); createchangesetfile(input); function createnewhtmlcontent(newcontent){ var originalpath = document.location.tostring(); var localpath = getlocalpath(originalpath); var oldhtmlfile = loadfile(localpath); var indexoflinenote = oldhtmlfile.indexof('<div id="offlinenote">'); var numberofcharacters = oldhtmlfile.indexof('<div id="endofofflinenote">') - oldhtmlfile.indexof('<div id="offlinenote">'); var oldofflinenote = oldhtmlfile.substr(indexoflinenote, numberofcharacters); var newofflinenote = '<div id="offlinenote"><hr id="hr">' + newcontent + '</div>'; var newhtmlfile = oldhtmlfile.replace(oldofflinenote, newofflinenote); return newhtmlfile; Kilian Wischer 22
23 5. Synchronisation Kilian Wischer 23
24 Two-Step-Synchronisation 2 1 lokale Festplatte SMB-Laufwerk Implementierung ist optimiert auf die Programme rsync und DirSync Pro Kilian Wischer 24
25 changeset.json function createchangesetfile(content){ var wikipageid = "$wikipageid$"; var changesetfile = loadfile(getchangesetfilepath()); var changesetstring = ""; var change = { "wikipageid": wikipageid, "content": content ; if (!changesetfile) { var newchangesetjsonarray = new Array(1); newchangesetjsonarray[0] = change; changesetstring = JSON.stringify(newChangesetJsonArray); else { var oldchangesetjsonarray = JSON.parse(changeSetFile); var oldjsonarraylength = jquery(oldchangesetjsonarray).length; var newchangesetjsonarray = new Array(oldJsonArrayLength + 1); for (var i = 0; i < oldjsonarraylength; i++) { newchangesetjsonarray[i] = oldchangesetjsonarray[i]; newchangesetjsonarray[oldjsonarraylength] = change; changesetstring = JSON.stringify(newChangesetJsonArray); savefile(getchangesetfilepath(), changesetstring); [! {"wikipageid":"19y6qlzrlibj9","content":"<p>termin: 15. Oktober 2011</p>", {"wikipageid":"133y2fn1mx2xs","content":"<p>die neue Offline-Funktionalität muss ich ausprobieren</p>", {"wikipageid":"19y6qlzrlibj9","content":"<p><b>termin:</b> 15. Oktober 2011 um 11 Uhr</p>"! ] Kilian Wischer 25
26 Vielen Dank für Ihre Aufmerksamkeit! Kilian Wischer 26
Konzeption und Implementierung einer dateibasierten Lösung zum Offline-Zugriff auf eine Enterprise 2.0 Plattform
FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Bachelorarbeit in Wirtschaftsinformatik Konzeption und Implementierung einer dateibasierten Lösung zum Offline-Zugriff auf eine Enterprise 2.0
MehrDomänenspezifische Sprachen
Domänenspezifische Sprachen Agenda: 'Programmiersprachen' 'Domänenspezifische' 'Sprachen' 'Vorteile' 'Technische' 'Erwartungen', 'Xtext' 'Demo'; 'Programmiersprachen' https://tagul.com https://tagul.com
Mehr16. Dezember 2004 Dr. M. Schneider, P. Ziewer
Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik
Mehrjquery Einstieg 2 CSS manipulieren; toggle, hide und show
jquery Einstieg 2 CSS manipulieren; toggle, hide und show Inhalt: 1. CSS-Eigenschaften manipulieren 2. Beispiel 2: Elemente ein- oder ausblenden - Animationen 3. Theorie - Methode.toggle() bzw. hide()
MehrPrüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr
MehrÜbungen zur Vorlesung Softwaretechnologie - Wintersemester 2018/19 - Dr. Günter Kniesel. Übungsblatt 10 Lösungen
Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2018/19 - Dr. Günter Kniesel Übungsblatt 10 Lösungen Aufgabe 1. Jahreszeitbedingte Anwendung von Entwurfsmustern (16 Punkte) Ein reichlich geschmückter
MehrPrüfung Softwareentwicklung I (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 B, IB 3 C Wintersemester 2013/14 Prüfung Softwareentwicklung I (IB) Datum : 03.02.2014, 08:30
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - Selektoren public class Rechteck
MehrPrüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B Sommersemester 2016 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2016, 16:30 Uhr Bearbeitungszeit
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
Mehr10. Felder (Arrays) Teil 2. Java-Beispiele: Echo.java Primzahlen.java Monate.java. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
10. Felder (Arrays) Teil 2 Java-Beispiele: Echo.java Primzahlen.java Monate.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 18. Nov. 2015 2 Techniken mit Arrays: Boolean-Anzeige-Feld
Mehrjavascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.
javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl
MehrAbstrakte Basisklassen
Softwareentwicklung II (IB) Abstrakte Basisklassen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 24.06.2018 15:20 Inhaltsverzeichnis Idee.........................................
MehrJavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten
Einführung in JavaScript anhand von Beispielen JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten Grundbedingungen die Einbindung erfolgt über ein Objektmodell (Objekte mit
MehrAufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
Mehr! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -
! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
Mehr1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen
1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ ] ( ) Infix-Operator Methodenaufruf new
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
Mehr"Nie mehr Nadel im Heuhaufen" zentrale Wissensnutzung bei der Allianz Suisse
"Nie mehr Nadel im Heuhaufen" zentrale Wissensnutzung bei der Allianz Suisse Robert Spaltenstein Leiter Groupware AMOS IT Suisse AG http://www.fotocommunity.de/pc/pc/display/11692030 Agenda Allianz Suisse
MehrFensterHai. - Integration von eigenen Modulen -
FensterHai - Integration von eigenen Modulen - Autor: Erik Adameit Email: erik.adameit@i-tribe.de Datum: 09.04.2015 1 Inhalt 1. Übersicht... 3 2. Integration des Sourcecodes des Moduls... 3 2.1 Einschränkungen...
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 3 Lösungsvorschlag Objektorientierte Programmierung 08. 05. 2006 Lösung 8 (Java und UML-Klassendiagramm
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrSchritt 4: Hallo Enterprise Bean
Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen
MehrWebengineering. jquery
Webengineering jquery Marcel Vilas 1 DHBW - Stuttgart jquery - Allgemein jquery ist eine JavaScript-Bibliothek (API) jquery ist eine Funktion (Funktionen sind Objekte) Vorteile: einfacher als vanilla JavaScript
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrInformatik II Übung 5 Gruppe 3
Informatik II Übung 5 Gruppe 3 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 5 Leyna Sadamori 29. März 2017 1 Administrativ Die Übung am 5. April fällt aus! Bitte in die Übung in HG G 3
MehrInformatik II Übung 2. Pascal Schärli
Informatik II Übung 2 Pascal Schärli pascscha@student.ethz.ch 08.03.2018 Code Expert Pascal Schärli 08.03.2018 2 Nachbesprechung Serie 1 Aufgabe 1 a) Induktionsbeweis über a möglich? Nein! Der Induktionsanfang
MehrWeb-basierte Anwendungssysteme PHP-Einführung
Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann
MehrJavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke
JavaScript Das umfassende Referenzwerk David Flanagan Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke O'REILLY Cambridge Köln Paris Sebastopol Tokyo Vorwort xiii 1: Einführung in
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber in den Übungen! Linux, OS X http://hhu-fscs.de/linux-install-party/
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem
MehrZusammenfassung: Programmieren 2 (C#)
Zusammenfassung: Programmieren 2 (C#) Arrays Eindimensional int[] feld; feld = new int[2]; int[] feld2 = new int[3]; int[] feld3 = new int[] 1, 2, 3 ; //oder int[] feld4 = 1, 2, 3 ; int laenge = feld3.length;
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner
MehrProgramminhalte extrahieren und modifizieren mit SAS. Katja Glaß
Programminhalte extrahieren und modifizieren mit SAS Katja Glaß Agenda Einleitung Einsatzgebiete Einleitung Manual Training SAS Makro Validierung Übersichten Einleitung Manual Training SAS Makro Validierung
MehrAbbildung : Aufruf des Wikis (Server: Interner Web-Server HTTPD auf Port 8080)
24.7.1 Projekte Texte in MarkDown-Syntax lassen sich schnell schreiben und gut lesen, denn Gambas-MarkDown bringt alles mit, was Sie u.a. für das Generieren von (einfachen) Webseiten benötigen. 24.7.1.1
MehrTinyMCE. Frederik Leidloff
TinyMCE Frederik Leidloff Übersicht 2 TinyMCE Lizenz Entwicklung Bug Beschreibung XSS und Same Origin Policy Problemlösung TinyMCE 3 Tiny Moxiecode Content Editor Anpassbar durch Themes und Plugins Sprache
MehrMicroservices. - Integration der Benutzeroberfläche - Version: Orientation in Objects GmbH. Weinheimer Str.
Microservices - Integration der Benutzeroberfläche - Version: 18.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler
Mehrsynedra View Embedded Michael Doppler, synedra it GmbH <m.doppler@synedra.com>
synedra View Embedded Michael Doppler, synedra it GmbH 2015 synedra information technologies Zusammenfassung IndiesemDokumentwirdbeschrieben,wiesynedraViewEmbeddedinApplikationenandererHerstellerintegriertwerdenkann.
MehrENTERPRISEY ANGULAR.JS
ENTERPRISEY ANGULAR.JS THE GOOD, THE BAD, AND THE UGLY EnterJS 2015 - Ralph Guderlei Technology Advisor @ @rguderlei ENTERPRISE APPLICATIONS? komplexe Datenmodelle (100+ Entities) komplexe Geschäftsprozesse
MehrLösungen der P1-Musterprüfungsaufgaben
Lösungen der P1-Musterprüfungsaufgaben 7.6.2012 Textformatierung Eine Textdatei wird eingelesen, aufeinander folgende White-space-Zeichen werden zu einem zusammengefasst, die Zeilenlänge wird angepasst
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 09:00-10:30 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Linux, OS X Freitag: http://hhu-fscs.de/linux-install-party/
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
MehrNILS HARTMANN. React MODERNE WEB-ANWENDUNGEN MIT. Slides: BED-CON BERLIN SEPTEMBER
NILS HARTMANN React MODERNE WEB-ANWENDUNGEN MIT Slides: http://bit.ly/bedcon-react BED-CON BERLIN SEPTEMBER 2017 @NILSHARTMANN NILS HARTMANN Programmierer aus Hamburg Java JavaScript, TypeScript Trainings
MehrInformatik II - Übung 03
Informatik II - Übung 03 Katja Wolff katja.wolff@inf.ethz.ch 15.03.2014 Besprechung Übungsblatt 2 Informatik II - Übung 03 15.03.2017 2 U2.A1 S Klammerdarstellung und eingerückter Form R P V S(R(H(K)),P(A(N,O),Q,T),V(J,F(G)))
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
MehrTechnische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018
Technische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018 Übungen zu Grundlagen der Programmierung Aufgabe 19 (Lösungsvorschlag) Rekursive Datenstruktur
MehrKapitel 9 Schnittstellen
Kapitel 9 Schnittstellen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Was ist eine Schnittstelle?
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Mehrn 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen
n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck
MehrProgrammieren in Java
Einführung in die Objektorientierung (Teil 2) - Objekt-Relationen - Pakete 2 Wiederholung (Klassen) In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften
MehrXML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1
XML Technologien Seminar WS 2011/2012 01.04.12 Einführung in HTML5 1 EINFÜHRUNG IN HTML5 Eine kurze historische Einführung HTML5 Ausblick und kritische Reflexion 01.04.12 Einführung in HTML5 2 Eine kurze
MehrDOM Document Object Model
DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente
MehrUlrich Stein
Von C nach MATLAB Einführung in MATLAB für Personen mit C-Kenntnissen Datentypen ähnlich in C und MATLAB, dort aber automatische Typzuweisung möglich double a = 2; Arrays a = double( 2 ); aber auch a =
MehrStacks, Queues & Bags. Datenstrukturen. Pushdown/Popup Stack. Ferd van Odenhoven. 19. September 2012
, Queues & Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 19. September 2012 ODE/FHTBM, Queues & 19. September 2012 1/42 Datenstrukturen Elementare Datenstrukturen
MehrVorbereitung auf die Prüfung. Arthur Zaczek
Vorbereitung auf die Prüfung Arthur Zaczek Jän 2015 1/38 Einleitung Einleitung 2/38 Inhalt Dieses Dokument soll Ihnen helfen, sich besser auf die Prüfung vorzubereiten. Es wird der Inhalt der LV mit der
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren
MehrSelbststudium OOP7 & ALG2 Auftrag
Selbststudium OOP7 & ALG2 Auftrag Kapitel 5.6 1. zu bearbeitende Aufgaben: 5.24 bis 5.30 5.24: Return Method Set entryset() V get(object key) Set keyset() V put(k key, V value) void
Mehr6 Speicherorganisation
6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrDynamisches Anzeigen von Informationen mit jqueryui Dialogs und Tabs
Dynamisches Anzeigen von Informationen mit jqueryui Dialogs und Tabs Dr. Gudrun Pabst BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 1 AGENDA Bitte warten
MehrUnicode Support Atomic Operations Thread Support Type-Generic Makros Sicherheit Ease-of-Use C11. Thomas Duckardt
C11 Thomas Duckardt Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 22.05.2014 1 / 22 Gliederung (Agenda)
MehrProgrammierstil in Java Coding-Standards und Dokumentation
Coding-Standards und Dokumentation SEP Felix Zenz 23.10.2017 Wissenschaftliche Betreuer: Prof. Dr. Peer Kröger, Janina Sontheim, Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr.
MehrMehr Dynamik in Apex mit Javascript und JQuery
Mehr Dynamik in Apex mit Javascript und JQuery Alexander Scholz its-people Frankfurt am Main Schlüsselworte: Javascript und JQuery in Apex einbinden, Elemente dynamisch anzeigen, Selectlisten aktualisieren,
MehrProgrammiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrProgrammieren in Java
Einführung in die Objektorientierung Objekt-Relationen 2 Klassen In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften eines Objektes die Fähigkeiten
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
Mehrπ auf (und mehr) Dezimalen Wegen π = 4 arctan(1) kann die Reihenentwicklung des Arkustangens verwendet werden.
π auf 10000000 (und mehr) Dezimalen Ac Wegen π = 4 arctan(1) kann die Reihenentwicklung des Arkustangens verwendet werden. n 2k+ 1 3 5 7 9 11 2n+ 1 k x x x x x x n x arctan( x)» å( - 1) = x - + - + - +
MehrProbeklausur. Musterlösung
Programmierkurs Probeklausur Dr. Steffen Müthing Abgabe 08. Februar 2019 IWR, Universität Heidelberg ipk-exercises:2018-ws-55-gc187ae0 Allgemeine Hinweise: Probeklausur Dieses Übungsblatt wird nicht bewertet.
MehrGuided Research: Antrittsvortrag
Fakultät für Informatik Technische Universität München Guided Research: Antrittsvortrag Layouting Enterprise Information Visualizations employing hybrid constraint satisfaction algorithms Sascha Roth,
MehrMarcus Lunzenauer. Templates zur Vereinheitlichung der Ausgabeerzeugung. virtuos Zentrum zur Unterstützung virtueller Lehre der Universität Osnabrück
Stud.IP Entwicklerworkshop Halle 29. März 2007 Marcus Lunzenauer Templates zur Vereinheitlichung der Ausgabeerzeugung Inhalt Überblick über die Vorteile durch die Verwendung von Templates Darstellung von
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
MehrInformatik II Übung 4 Gruppe 7
Informatik II Übung 4 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 4 Leyna Sadamori 20. März 2014 1 Administratives Text Encoding: UTF-8 Informatik II Übung 4 Leyna Sadamori 20.
MehrAPEX DESKTOP APPS. Interaktion mit dem Client System
APEX DESKTOP APPS Interaktion mit dem Client System About me Oracle > 8 Jahre APEX > 8 Jahre Freelancer seit 2016 Vorher APEX Entwickler im Versicherungsumfeld aktiver Open Source Entwickler auf Github
MehrJava - Webapplikationen
Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje
MehrParallele und funktionale Programmierung Wintersemester 2015/ Übung Abgabe bis , 10:00 Uhr
3. Übung Abgabe bis 10.11.2015, 10:00 Uhr Aufgabe 3.1: Java-Synchronisation a) An welchen Stellen im Code kann das Schlüsselwort synchronized verwendet werden? b) Wie nennt sich die Synchronisations-Art,
MehrNILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN. React.
NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN React http://bit.ly/react-lehmanns LEHMANNS MEDIA HAMBURG SEPTEMBER 2016 NILS HARTMANN @NILSHARTMANN OLIVER ZEIGERMANN @DJCORDHOSE HTTP://REACTBUCH.DE SINGLE
MehrUniversität Osnabrück Fachbereich Mathematik / Informatik 1. Übung Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc.
Universität Osnabrück Fachbereich Mathematik / Informatik 1. Übung Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. 1 Organisatorisches Übung: Dienstags, 12:00 14:00, regelmäßige
MehrWeb-Techniken Einführung in JavaScript
Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2
Mehrjquery! JavaScript Frameworks Dr. Cora Burger
jquery! JavaScript Frameworks Dr. Cora Burger Überblick 1. Anwendungsbeispiele 2. Einstieg 3. jquery 4. Erweiterung jqueryui 5. Plugin-Beispiele 6. Erweiterung jquery Easing 7. Zusammenfassung, Ausblick
MehrCode Beispiel: /* path element */ var el = rc.path("m l 0-50 l l 0-50 l l 0 50 l l 0 50 z");
SVG in APEX: Best Practices an Live Beispielen Tobias Arnhold Tobias Arnhold IT Consulting Heppenheim Schlüsselworte APEX, Raphaël, RaphaelJS, Visualisierung, Javascript, HTML5, SVG, UX, Design, APEX-AT-WORK
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrPlay Framework, MySQL, JPA, HQL, HTML, jquery,
Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe
MehrUmzug. ASP.NET-WebForms-Elemente in MVC weiterverwenden. Dr. Malte Clasen adesso AG
Umzug ASP.NET-WebForms-Elemente in MVC weiterverwenden Dr. Malte Clasen adesso AG Über uns Malte Clasen Softwareentwickler http://malteclasen.de adesso AG IT-Dienstleister http://adesso.de Rezeptefuchs.de
MehrProgrammieren in Java
Programmieren in Java Vorlesung 11: Generic Methods Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 15 Inhalt
MehrGrundlagen der Informatik 12. Strukturen
12. Strukturen Strukturen und deren Komponenten Strukturen im Projekt Dynamisch erstellte Strukturen Strukturen und Operatoren Strukturen und Funktionen Einfach verkettete Liste Grundlagen der Informatik
MehrUrsprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrForms Desktop Kooperation
Forms Desktop Kooperation Oracle Forms in Integration & Interaktion Forms Day 2019 Motivation Kennen Sie diese Argumente? Kein modernes GUI.. fehlende Komponenten Forms zu starr und wird als Insel empfunden
Mehr