IT-Projekt - Group EPDGSF

Description

mündliche Prüfung
Jona Mustafi
Flashcards by Jona Mustafi, updated more than 1 year ago
Jona Mustafi
Created by Jona Mustafi over 6 years ago
436
4

Resource summary

Question Answer
Was ist GIT? - freie Software zur verteilten Versionsverwaltung von Dateien - speichert seine Dateien nicht als Serie von Änderungen oder Unterschieden, sondern als Serie von Schnappschüssen
Wie wird der GWT-Client gestartet? Mit dem EntryPoint und mit der onModuleLoad()-Methode (main-Methode) wird der Client gestartet
Was ist ein Proxy-Objekt? - Proxy = Stellvertreter/Vermittler --> Verbindung zwischen Client und Server - Objekt (zur Serialisierung der Parameter, zum Aufruf des Services, zum Deserialisieren) - wird mittels GWT.create( ) erstellt - passiert in onModuleLoad( )
Definiere RootPanel - RootPanel: unterstes Panel und alle Panels werden darauf platziert - Dokument der Website: getMethode --> spricht Body (?) der HTML-Seite an
Was ist ein div-layer und wie bezieht man <div> ein? div-layer: - html-Element - legt fest wo der Inhalt geladen werden soll (Bereich) <div> einbeziehen: - getMethode des RootPanels --> Ansprechen der Elemente mit ID z.B. <div id="main"></div> RootPanel.get("main")
Wie funktioniert das Rebase-Kommando? - Alle Änderungen, die auf einen Branch angewendet wurden auf einen Branch erneut anwenden (Zeichnung fehlt)
Was bedeutet Generics? - Festlegen von welchem Datentyp der Inhalt des Arrays, der Liste, des Vectors sein darf - erlaubt es Typen (Klassen und Interfaces) als Parameter bei der Definition von Klassen, Interfaces und Methoden zu verwenden - Vermeidung von Typecasting --> parametisierbare Klassen und Interfaces
Zeichnen Sie wie eine Verbindung zur DB erfolgt
Erklären Sie das Tree-Objekt Commit --> Git erzeugt für jedes Projektverzeichnis eine Prüfsumme und speichert diese als sogenanntes Tree-Object im Git-Repository - Commit-Objekt enthält Metadaten und den Zeiger zum Tree-Objekt des Wurzelverzeichnisses - Baum, der den Inhalt des Verzeichnisses auflistet und spezifiziert, welcher Dateiname zu welchem Blob (?) gehört + Zeiger auf Wurzel + Metadaten (Blob pro geänderte Datei Klasse)
Schreiben Sie ein Klassendiagramm von Panel, Widget und Button
Was haben Frame und Panel gemeinsam? Frame: fasst mehrere andere Steuerelemente zu einer Gruppe zusammen Panel: Darstellungsfläche/Container zur Organisation von Steuerelementen
Erstellen Sie ein neues Widget (Profilformular), das in einem Container festgehalten wird
Was bedeutet referentielle Integrität? - Datensätze dürfen (über ihre Fremdschlüssel) nur auf existierende Datensätze verweisen (RI-Regel) 1. Einfügen neuer Datensätze nur wenn in referenzierter Tabelle ein Datensatz mit entsprechendem Wert im Primärschlüssel oder Alternativschlüssel vorhanden ist. 2. Löschen oder Ändern eines Schlüssels in Primär-Datensatz nur wenn zu diesem Datensatz keine abhängigen Beziehungen stehen.
Was hat es mit dem SHA-1 Hash auf sich? SHA-1 = Security Hash Code - Prüfcode zum Abgleich der Versionsstände in GIT - Bei Commit: 1. HashCode ablegen 2. HashCode ist Versionsstand zugeordnet --> Änderungen werden vor Speicherung in Checksumme umgerechnet (SHA-1) - Referenz auf Änderungen wird erstellt - Secure Hash Algorithm erstellt 160-Bit Hashcode --> Zeichen (40)
Was macht die GWT, create Methode und die Proxy-Klasse? - Für jeden GWT-RPC --> Erstellung Proxy-Klasse - Proxy-Klasse (Vermittler) ermöglicht die Verbindung zwischen Client und Server Proxy-Objekt: - Vorgelagertes Objekt, dass Methodenaufrufe an die eigentliche Klasse z.B. Impl weiterleitet
Was ist der RPC bzw. GWT-RPC? Remote Procedure Call (Entfernter Methodenaufruf) - Verschicken von Java-Objekten zwischen Client & Server - Verbindung durch GWT-Proxy - Proxy serialisiert und schickt an Server - Auf Server: Servlet empfängt die Anfrage und deserialisiert und reicht weiter - Antwort wird serialisiert --> (schickt an) GWT Proxy - GWT-Proxy deserialisiert Daten zu Java-Objekten ____________________________________ - Client kann durch RPC Methoden, Funktionen und Prozeduren direkt auf dem Server ausführen lassen - JavaScriptObject XMLhttpRequest ist Basis für RPCs
Bilden Sie das Plumbing-Diagramm ab
Was sind Widgets? - Komponenten, in denen der Anwender interagiert - z.B. Buttons, Labels, Textboxes und Panels
Was steht in der Web.xml? - gibt die HTML-Seite an, die defaultmäßig geladen werden soll - Angaben über Servlets - ist Teil des Servlet-Standards für Web-Applikationen - Beschreibt die Klassen, Ressourcen und Konfigurationen der Applikation
Was ist der XML Http Request? - Verfahren zum Übertragen von Daten über das http-Protokoll --> Laden von Daten (dynamisch) ohne HTML Seite neu zu laden - Datenverarbeitung asynchron --> Skript muss nicht warten bis Anfrage beantwortet & kann solange andere Aufgaben bearbeiten
Was ist eine anonyme Klasse? Warum anonyme Klassen? - besitzt keinen Namen - erzeugt immer automatisch ein Objekt - Klassendeklaration und Objekterzeugung sind zu einem Sprachkonstrukt verbunden Warum? - kleine "einmal" Objekte mit einfachen Aufgaben zu definieren, z.B. ClickHandler, Callbacks
Schreiben Sie ein Sequenzdiagramm vom GWT-RPC Mechanismus
Was ist ein Servlet? - Klasse, deren Instanzen Anfragen an Webserver stellen und entgegennehmen - Vererbung von RemoteServiceServlet in z.B. AdminImpl ABLAUF: 1. Benutzer: Formular senden 2. Browser: Aktion auslösen (sendet Formulardaten an Webserver) 3. Webserver: übersetzt Aktionname --> Name Servletklasse (--> benutz dafür Web.xml) 4. Webserver: request --> ServletKlasse --> response 5. Browser: Antwort entgegennehmen + darstellen 6. Benuter: liest Antwort im Browser
Was bedeutet Normalisierung und welche Normalformen gibt es? - Aufteilung von Attributen (Tabellenspalten) in mehrere Relationen (Tabellen) --> Form zur Vermeidung von Redundanzen 1. Normalform: Nur atomare Merkmalswerte --> 1 Spalte nur 1 Wert 2. Normalform: abhängig von allen Schlüsselmerkmalen 2 NF = 1 NF + Nichtschlüsselmerkmale sind von Schlüsselmerkmalen abhängig 3. Normalform: nicht abhängig über Umwege --> z.B. Kontonr. (primär) Mitarbeitername und M-ID MA ist abhängig von M-ID --> aufteilen
Working tree? - Kollektion an Dateien in Repository --> Commiting erstellt persistenten Snapshot (commit object)
Branches? - erlauben die Arbeit an verschiedenen Versionen einer Dateikollektion - benannter Zeiger auf Commit - die default branch (master) wird als lokale branch automatisch erstellt
Commit? - wenn man Änderungen committed, entsteht neues commit object
Repository? - enthält Historie, Versionen, Branches & Tags
HEAD? - symbolische Referenz, die auf ausgecheckte Branch deutet
Plumbing-Diagramm
Relationale Datenbanken? - Zeilen (Datensätze) - Spalten (bestimmter Datentyp, Komponenten von Datensatz) - Beziehungen durch Schlüssel
Synchrones Interface (Projekt) synchrone Schnittstelle für eine RPC-fähige Klasse zur Verwaltung - RemoteServiceRelativePath: Servlet-URL damit synchrones weiß, wo es implementiert wurde
Asynchrones Interface (Projekt) - vom Clientcode verwendet - asynchrone Methoden für Aufruf des entfernten Dienstes - void damit Objekt direkt verschickt wird
BusinessObject (Projekt) - BOs werden zwischen den Schichten verschickt - implements Serializable - Basisklasse für Klassen zum Umsetzen des Fachkonzepts - SerialVersionUID Prüfsumme serialisierter Objekte
Server-Folder (Projekt) Compiler kompiliert von Java Source Code in Java Bytecode
HCI Dreieck? - Aufgabe/Ziel: Funktionalität abdecken - Technologie: Standardisierung, Konsistenz, Integration, Kompatibilität, Portabilität - Mensch: Verlässlich, verfügbar, sicher, Privatsphäre wahren, Datenintegrität
src-Ordner? (Projekt) Java-Quell-Code-Dateien
gwt.xml (Projekt) - Moduldefinitionsdatei - Code: <module rename to=' '/> Modulname <inherits name=' '/> erbt von anderem Modul Bibliotheken (z.B. Styles) <entry-point class=' '/> Verbindung zum Java-Code <source-path=' '/> Ordner dessen Klassen in JavaScript kompiliert werden <add-linker-name="xsiframe"/> ermöglicht super-dev-Mode
JDBC? Java Database Connectivity - Schnittstelle zwischen Java-Plattform und Datenbanken - wird durch Treiber (Software) implementiert - speziell auf relationale DBs ausgerichtet
JSON? Java Script Object Notation - Objekte können nicht in den Hauptspeicher übertragen werden - JSON transportiert Objekte per URL (POST-Request?) - ServiceDefTarget: Methoden zur Umwandlung {"name": "Nina"}
RPC? - Framework basierend auf AJAX-Kommunikation - Sinn: innerhalb HTML-Seite HTTP-Anfragen durchführen (nur Teile neu laden) - Asynchronität kann als Form der Parallelisierung gesehen werden
war-Ordner --> WEB-INF Ordner (Projekt) web.xml: Deployment-Descriptor/ Webanwendungsbeschreibung: serverseitigen Code in GWT Modul einbringen. --> HTML Adresse + Servlets Konfigurationsdateien, Bibliotheken und Java-Klassen appengine-web.xml: Konfigurationsdatei Appengine SDK in lib Ordner
war --> WEB-INF --> (1) classes (2) lib (Projekt) (1) kompilierte Bytecode Klassen (2) jar Dateien --> mysqlconnector/Datenbanktreiber AppEngine JAR-Datei
war-Ordner? (gesamt)
Vorgehen beim Erzeugen der Benutzungsschnittstelle? 1. Widget auswählen 2. Panels auswählen 3. Anwendung in Hostpage einbetten 4. Widgets & Panels in Quelldatei implementieren 5. Im Super-Development-Mode testen
MySQL? relationales Datenbankverwaltungssystem
(1) jobconfig.xml & (2) persistence.xml? (Projekt) (1) JavaDataObjects.Standardschnittstelle für den DB-Zugriff in Java --> bietet Zuordnung zwischen Java-Klassen & Datenbanktabellen (2) Java Persistence API (JPA) definiert Optionen für DB & Entity Manager
SQL-Queries? Antwort folgt
Inhalt der Commit Message? - Commit fügt neue Version ins repo ein - Commit Message besteht aus Header (50 char), Body (72 char), Footer (Metadaten --> key-value pairs)
Rebase? eigenen Stand mit Stand anderer Branch überschreiben
Merge? Branch A mit Branch B vergleichen & Unterschiede in die Branch holen
Tag & Branch? - sind benannte Pointer - Branches ändern Pointer mit jedem neuen commit - Tags zeigen immer auf den selben commit
Tag? - zeigt auf einen commit, der die Version eindeutig identifiziert - benannter Punkt zu dem man jederzeit zurückkehren kann
Übersicht DB-Prozess
Driver Manager? - Singleton-Klasse - übernimmt Treiberverwaltung
Commit Object? - Git Objekt wird anhand seines Hash identifiziert Commit-ID (SHA-1 Hash) Tree Object: ID Author Committer CommitMessage Vorgänger Commit
Anonyme Klasse - gerne bei einmalige Objekterstellung verwendet - sie werden gleichzeitig definiert & initialisiert - Bsp.: button.addClickHandler(new ClickHandler(){ public void onClick (ClickEvent event){}});
Report - setzen sich aus Paragraphs zusammen & diese aus Column & Row - Bei mehreren Paragraphs --> CompositeParagraph - Report, der aus mehreren Reports besteht --> compositeReport - Durch HTMLReportWriter in Zielformat bringen (Zielformat HTML)
Was ist Git? Distributed Version Control System
EGit? - Set von Plugins (SW Komponenten) für Eclipse - enthält JGit Bibliothek (implementiert Git Funktionalität), um Git-Befehle auszuführen
Normalisierung? - Spalten in mehrere Relationen aufteilen, um Anomalien zu vermeiden --> Einfüge-, Lösch- & Änderungsanomalien 1 NF: atomare Wertebereiche 2 NF: Nichtschlüssel voll funktional von Schlüsseln abhängig 3 NF: Keine transitive Anhängigkeit
Result Sets? - Interface - enthält Ergebnismenge eines ausgeführten Statements --> eine Zeile pro zurückgegebenes Ergebnis (Datensatz)
Schritte zum Login erstellen? 1. BO-Klasse erstellen 2. Interfaces 3. Implmethode 4. Servlet konfigurieren 5. Prüfen ob Nutzer eingeloggt ! AppEngine stellt API für UserService bereit, mit der Login realisiert wird
Annotations? Gibt Elementen Java Metadaten mit, die zur Laufzeit ausgelesen werden
AJAX? Asynchronous JavaScript and XML Konzept der asynchronen Datenübertragung zwischen Browser & Server
Wrapper? Kapseln primitive Datentypen in einfache Objekte (--> primitive Datentypen sind keine Objekte aber in Listen lassen sich nur Objekte speichern)
Generics? Parametrisierbare Klassen & Interfaces zur Zwischenspeicherung von Objekten - Einsatz hauptsächlich Java Collections - Fehler werden zur Compilerzeit erkannt (z.B. Tupecast erst zur Laufzeit) - speichert nur Objekte definierten Datentyps
Interfaces? - keine Instanzen - Methoden werden NICHT implementiert - Attribute automatisch static final - Klasse kann mehrere Interfaces implementieren (Mehrfachvererbung)
Abstrakte Klasse? - keine Instanzen - Methoden KÖNNEN implementiert werden - Klasse kann nur eine Klasse extenden
Nested Class/ Inner Class/ verschachtelte Klasse? Klasse innerhalb einer Klasse - fördert Lokalität des Gesamtsystems (Klassenname wird nicht außerhalb verbraucht) - Innere Klasse hat uneingeschränkt Zugriff auf äußere
Seperation of concerns? - Vorteil der 3-Tier-Architektur - Trennung von Zuständigkeiten + bessere Wartbarkeit + Schichten austauschbar + Sicherheit (Zugriff über Applogik) + Abhängigkeiten innerhalb System weniger komplex + Entwickler können in unterschiedlichen Schichten arbeiten
Gemeinsamkeiten RPC & ClickHandler? - beide anonym implementiert - liegen bis zum Aufruf passiv vor - werden aktiv durch Nutzer aktiviert - Eventloop (Ereignisschleife - wartet auf Ereignisse oder Meldungen & verteilt sie innerhalb des Programms)
Marker Interface? Entwurfsmuster (leere Klasse), die dem Compiler Informationen zu einem Objekt liefert/signalisiert was zu tun ist. (RPC Interfaces müssen das Remote Service extenden)
Wieso App Engine SDK? App Engine: Plattform zum Entwickeln & Bereitstellen von Webanwendungen auf Google Servern --> Eclipse Plugin: - Web Application Project erstellen - Deployment --> Developement Server: Server für Entwicklungszwecke
Entwicklungswerkzeuge: 1. SaaS? 2. PaaS? 3. IaaS? (4. DBaaS?) 1. Software as a Service --> Applikationen, Web-Services, z.B. IT-Projekt 2. Plattform as a Service --> Entwicklungsplattformen, z.B. Google App Engine 3. Infrastructure as a Service --> Berechnungen, Speicher, Kommunikation, z.B. Google 4. Database as a Service --> Cloud SQL
8 Regeln? 1. Konsistenz 2. Shortcuts 3. informatives Feedback 4. geschlossene Dialoge 5. Fehlervermeidung + einfache Fehlerbehandlung 6. Aktionen leicht umkehren 7. Kontrollbedürfnis unterstützen 8. Kurzzeitgedächtnis nicht überlasten
Widgets? Oberflächenelement mit denen der Nutzer interagiert - Button - TextBox - Panels - FlexTable - GellTable
Panels? Layout der Benutzeroberfläche definieren - RootPanel: Basispanel RootPanel.get("div").add(panel); - Vertical- & Horizontal-Panel
ACID? Eigenschaften für Transaktionen A- Atomacity: Ganz oder gar nicht (try{}) C- Consistency: Korrekte Daten (Integritätsbestimmungen) I- Isolation: Transaktionen laufen isoliert voneinander ab D- Durability: Persistenz (zu Integritätsbestimmungen: Bereichs-, Entitäts-, referenzielle Integrität, logische Konsistenz)
Unterteilung SQL? Structured Query Language - DDL: Data Definition Language CREATE, DROP, RENAME - DML: Data Manipulation Language INSERT INTO, SELECT, UPDATE, DELETE - DCL: Data Control Language GRANT, REVOLKE
Vorgang beim Anlegen eines neuen Web Application Projects? 1. New Web App. Project 2. MySQL Connector in lib Ordner legen 3. HTML-Datei in war-Ordner anpassen (titel, divs) 4. CSS- Datei in war-Ordner anpassen 5. gwt.xml in src-Ordner anpassen (EntryPoint, Ordner für Cross-Compilierung) 6. web.xml in WEB-INF (Servlets) 7. EntryPoint in Clientklasse
Client-Folder (Projekt) CrossCompiler kompiliert von Java Source Code in Java Script
DB Connection? (Projekt) - stellt Verbindung zu DB her - JDBC API für Zugriff auf DB
Implementierungsklasse? (Projekt) - extends RemoteServiceServlet - implements Administration - aggregiert sämtliche Applikationslogik - server-seitige Applikationslogik Sicht - läuft synchron ab - init( ) ist wie run-Methode - erfolgt durch GWT.create - @suppressWarnings("serial") --> compiler soll nicht serialVersionUID-Warnung werfen (entsteht wenn serialisierbare Klasse extended)
Unterschied zwischen einem Interface und einer abstrakten Klasse? - interface enthält nur Methodendeklaration --> enthält ausschließlich abstrakte Methoden und Konstanten - von abstrakten Klassen können keine Instanzen erzeugt werden, können nur als Superklasse verwendet werden - können abstrakte Methoden enthalten, welche von beerbten Klassen implementiert werden müssen - abstrakte Klassen können schon eigene Implementierungen von Klassen enthalten, Interfaces nicht
Reset and Reflog? --> Reset: eigenen Stand auf anderen commit zurücksetzen --> Reflog: finden unsichtbarer commits (z.B. nach reset)
Was ist ein Commit? - stellt die Änderung in einem Repository dar - ein Commit speichert Informationen über Zeitpunkt, Autor, Notiz und die Änderung selbst - jeder Commit besitzt eine eindeutige Hash-Summe --> Ein Commit ist eine Freischaltung einer individuellen Änderung einer Datei. Dabei wird jedes Mal eine einzigartige ID vergeben (mit dem Secure Hash Algorithm 1). Änderungen werden in Checksummen berechnet und mit diesen referenziert, aus einer 40 Zeichen langen Zeichenkette aus hexadezimal (--> erlaubt eine eindeutige Versionierung)
Was ist ein - Pull-Request? - Remote-Branch? Pull-Request: Programmierer A bittet Programmierer B die Änderungen von A in den Code von B zu integrieren. B muss die Änderungen vom A in dessen Git-Tree ziehen Remote-Branch:
Was sind Panels? Panels unterstützen die Strukturierung des User-Interfaces. Damit können Widgets beliebig platziert werden. In der Regel setzt man Widgets und Panels beim GWT auf das RootPanel. Das RootPanel ist das unterste Panel, alle anderen werden darauf platziert.
Was ist - Deklarierung - Initialisierung - Instanziierung Deklarierung: Festlegen der Variable, z.B. variable beer vom Typ String Initialisierung: Zuweisen eines Wertes zu einer Variable, z.B. String beer = "Rothaus"; Instanziierung: Erzeugen eines neuen Objekts aus einer Klasse, z.B.: String beer = new String("Becks");
Woher wissen Methoden, wann sie aufgerufen werden? Gar nicht. Sie werden durch den Aufruf der Speicheradresse (wo der Byte-Code der Methode steht) aufgerufen
Vorteile von Git? - weniger Traffic: (nu die Änderungen werden geladen) - hohe Datensicherheit (Repositories liegen auf mehreren Computern und Servern) - hohe Geschwindigkeit (da weniger Daten)
Was ist serializable? Ein Marker-Interface
Was ist der Unterschied zwischen Serialisierung in GWT und Java? In GWT kommt bei der Serialisierung ein JSON raus, da es auf JavaScript beruht. In Java z.B. XML
Was bedeutet Generics? Mit Generics ("generische Elemente") werden im Java-Umfeld Sprachmittel bezeichnet, mit denen Klassen und Methoden mit Typparametern parametrisiert werden können, um Typsicherheit trotz generischer Programmierung zu ermöglichen: Die Laufzeitumgebung prüft, ob der gleiche Datentyp verwendet wird und der Compiler prüft dies anschließend zusätzlich.
Was ist ein Design-Pattern? Design-Pattern sind Lösungswege für wiederkehrende Design-Probleme in der SE
Was ist der Unterschied zwischen einem Interface und einer abstrakten Klasse? Ein Interface darf keine Membervariable besutzen und lediglich nur aus Methodensignaturen ohne Methodenkörper bestehen. Diese Methoden müssen in der implementierten Klasse enthalten sein. Abstrakte Klassen enthalten Variablen und Methoden, dürfen aber nicht instanziiert werden. Sie spielen nur in der Vererbung als Superklasse und für die Polymorphie eine Rolle.
Polymorphie ein Konzept in der objektorientierten Programmierung, das ermöglicht, dass ein Bezeichner abhängig von seiner Verwendung Objekte unterschiedlichen Datentyps annimmt
Was ist eine Mapperklasse und was wird abgebildet? Eine Mapperklasse ist eine ganz normale Klasse. Sie bildet die Java-Objekte auf eine relationale DB ab. Je Business-Klasse gibt es einen dazugehörigen Mapper.
Was bedeutet "Permutation"? In der Kombinatorik ist es eine Anordnung von Objekten in einer bestimmten Reihenfolge
Was ist ein Singleton und wann wird es verwendet? Ein Singleton ist eine Klasse, von welcher nur eine Instanz erzeugt werden kann. Singletons werden verwendet, wenn man eine Klasse in einem Projekt an vielen Stellen verwenden möchte und die Klasse nicht überall als Parameter mitgeben möchte. Durch die static-Deklaration wird ermöglicht, dass es nur ein einziges Objekt vom jeweiligen Typ während des Programmablaufs gibt.
Was sind Widgets? Sind Komponenten, in denen er Anwender interagiert, z.B. Buttons, Labels oder Panels
HCI Human Computer Interaction (HCI) Benutzungsschnittstelle und ein Teil einer Anwendung, der es Benutzer erlaubt, mit dem Computer zu interagieren
Unterscheidung von - Instanzvariable - Klassenvariable - lokale Variable Instanzvariable: Private, nur gültig innerhalb einer Klasse Klassenvariable: Statische Variable, bis Klasse aus dem Speicher entfernt wird, hat nur eine Instanz Lokale Variable: Variablen nur innerhalb der Methode vorhanden und gültig (Formale Parameter: Übergabeparameter oder innerhalb erstellte)
In wechen drei Zuständen können Dateien sein? - Untracked: Datei wird nicht getrackt vom Git Repository (kein stagen oder commiten) - Tracked: Commited aber nicht gestaged - Modified: Die Datei wurde geändert, aber die Änderung noch nicht commited - Staged (vorgemerkt): Eine Datei wurde in ihren aktue
Was bedeutet "Mapping"? --> "abbilden" Das Abbilden von Objekten auf eine relationale DB. So entsteht ein Datensatz je Objekt (indirektes Mapping). Bei einer objektorientierten DB wäre es direktes Mapping.
Notation UML von Beziehungen
Was ist ein Paket? - Ein Paket (package) ist ein "Namensraum" für die Organisation von Klassen und Schnittstellen
Was muss man tun um einen Button in einem Panel anzuordnen? 1. Panel erzeugen: --> HorizontalPanel buttonPanel = new HorizontalPanel(); 2. Button erzeugen: --> Button hinzufuegen = new Button("Hinzufügen"); 3. Button dem Panel zuordnen --> buttonPanel.add(hinzufuegen);
Was ist ein Mockup? Nicht funktionales Modell zur Darstellung der Systemanforderungen.
Was ist ein Singleton? - Entwurfsmuster, welches sicherstellt, dass nur eine Instanz eines Objekts existiert - Klasse, von der es nur eine Instanz gibt, die nur einmal instanziiert wird (Mapperklassen)
Was sind Events und wie werden diese ausgelöst? Ein Event ist ein Ereignis und Ereignisse sind Objekte. Ein Event wird durch einen User ausgelöst, wenn er irgendwo drauf klickt
Was wird im Projekt serialisiert? Alle Business-Objekte
Was sind Prozeduren in Java? Methoden
Serialisierung von Objekten - bestehende Objekte werden als Daten Tupel in eine DB geschrieben (Überführung in textuelle Form) - Serialisierung eignet sich besonders für die Übertragung von Daten und für das Speichern einer Objektstruktur
Model-View-Controller-Muster (MVC) Beschreibung: grafische Benutzungsschnittstelle Model: Datenhaltung mit Zugriffsmethoden und ggf. weiterer Appl.-Logik View: viele Views möglich: reine Darstellung der Daten, Nutzung der Zugriffsmethoden des Modells Controller: Pro View 1 Controller. Beobachtet den Benutzer. Meldet View-Manipulation an Model. Vorteile: gute Entkopplung der Komponenten, beliebig viele Controller-View-Paare, sogar zur Laufzeit zuordenbar, Propagierung von Updates führt zu stets aktuellen Views Nachteile: sich häufig ändernde Daten führen zu permanenten View-Updates, die möglicherweise mit den Änderungen des Modells nicht mehr Schritt halten können
Use Case Modellierung Textuelle Beschreibung: ergänzt grafische Darstellung, mit folgendem Inhalt: Name, Ziel, Vorbedingungen, Nachbedingungen, Nachbedingungen im Sonderfall, Akteure, Normalablauf, Sonderfälle System: ist ein Betrachtungsgegenstand, dem UC's zuordenbar sind - sind schachtelbar - gliedern die durch die Akteure wahrgenommenen Verarbeitungseinheiten Assoziation: ist in UML der allgemeine Beziehungstyp - wird durch eine Kante zwischen zwei Elementen dargestellt - Bsp.: "Akteur x hat zu tun mit UC y" Generalisierungsbeziehung: gerichtete Kante, die vom spezielleren zum allgemeineren Begriff zeigt, Generalisierung zwischen Akteuren und zwischen UC's möglich
Use-Case-Modellierung Bemerkungen - UC's sollten in Hauptfunktionen und Basisfunktionen des Zielsystems gruppiert werden - UC's werden iterativ identifiziert und modelliert - Die Entwicklung der UC's erfordert eine enge Beteiligung der Klienten - UC's sind sehr gut geeignet für die Diskussion der Ist- und Soll-Prozesse im betrachteten System - Entwickler lernen dadurch Fachjargon und können dabei das Begriffslexikon pflegen und füllen - UC's sind eine gute Basis für a) erste Prototypen b) Testfälle für Systemtest c) Erstellung des Benutzerhandbuchs
Sequenzdiagramme --> Modellierung dynamischer Aspekte --> Darstellung des Nachrichtenaustauschs zwischen Objekten --> zeitliche Abfolge der Nachrichten wird dargestellt --> Objekte horizontal, Lebenslinien vertikal angeordnet --> Nachrichten als Pfeile zwischen Lebenslinien
Separation of concerns dt.: Trennung der Zuständigkeiten Ziel: Ein Aufgabenbereich pro Komponente! - Abdeckung mehrerer Aufgabenbereiche pro Komponente steigert die Komplexität unnötig --> Folgen: hoher Wartungsaufwand und kaum Wiederverwendung - Objektorientierung fördert SoC: Zusammengehörige Daten und Methoden werden in Klasse zusammengefasst --> Funktionale Aspekte lassen sich auch abtrennen
- Software-Schichten - 3-Tier-Architektur Beschreibung: Zusammenfassung logisch zusammengehörender Komponenten; Zusammenfassung von Dienstleistungen, die über eine Schnittstelle "nach oben" angeboten werden; Nutzung der Dienste einer Schicht ist nur für die direkt darüber befindliche erlaubt Vorteile: Kopplung nur direkt benachbarter Schichten. Kopplungsgrad bleibt zudem gering, da nur die nach außen geführten Dienste genutzt werden, Änderungen bleiben lokal. Pro Schicht entkoppelte Module mit jeweils hohem Zusammenhalt möglich, Änderungen auch lokal begrenzt 3-Tier-Architektur: Gruppierung und strikte Trennung grundlegender Aufgaben 1. Präsentationsschicht: Benutzungsschnittstelle, Darstellung der Informationen 2. Applikationsschicht: Business- bzw. Applikationslogik, fachliche Funktionalität 3. Datenhaltungsschicht: Bearbeitung persistenter Daten, Laden und Speichern von Daten
Anwendungsfälle/Use Cases Bestandteile: Akteure: Rolle eines Benutzers gegenüber dem betrachteten System. Steht aus Sicht des Systems extern. Use-Case: durch ein Ereignis angestoßen, was der Akteur auslöst: --> zielorientiert, was der Akteur damit bezweckt --> UC beschreibt Interaktionen zwischen System und Umwelt --> UC endet, wenn Ziel erreicht ist oder deutlich ist, dass Ziel nicht (!) erreicht ist --> UC beschreibt die Außensicht "was" das System leisten soll und welche Interaktion mit seiner Außenwelt erforderlich ist --> Vollständige Beschreibung des von außen wahrnehmbaren Systemverhalten pro UC sehr wichtig --> Benennung von UC stets mit Objekt + Verb + weitere klärende Bestandteile --> Bsp.: "Im Studiengang zurückmelden"
Was ist Git? - Versionsverwaltung für Software-Projekte --> es werden mehrere Version erzeugt, die sinnvoll verwaltet werden - Verteilte Versionsverwaltung --> ein Git-Repository besteht aus mehreren Bestandteilen. Es besteht aus diversen Branches. Branches bestehen aus Commits
Was sind CellWidgets? - dienen zur Datenpräsentation - sind zur Anzeige von Daten wie z.B. Listen oder Tabellen gut geeignet, da sie schnell große Datenmengen anzeigen können
Entwicklungszyklus in GWT - Projekt anlegen - Code entwickeln - Testen - Compilieren und konvertieren
Vorteile der 3-Tier-Architektur - Hohe Wartbarkeit und stabiles System (steht über Effizienz) - Personen können an verschiedenen Schichten arbeiten - Besser verständlich - Schichten sich austauschbar - Modularisierung (lose Kopplung) - fester Zusammenhalt (Kohesion) - Trennung der Zuständigkeiten (Separation of Concerns)
Welche drei Komponenten benötigen Sie, um ein Ereignis zu starten? - Widget, z.B. Button - Ereignis-Objekt, das erstellt wird - Interessenten-Objekt, das durch das Ergebnis-Objekt informiert werden
Erklären Sie Reset und Clone Reset: Man kann auf einen bestimmten Commit zurückspringen bzw. reseten Clone: Mit dem Befehl Clone kann man eine Kopie eines existierenden Git Repositorys anlegen. Jede einzelne Version jeder einzelnen Datei in der Historie des Repositorys wird heruntergeladen
Was heißt Remote? Was ist ein Branch? Remote: heißt "entfernt" Branch: Ein "Zweigbaum"
Unterschied zwischen Fetch und Pull Fetch: Es werden die Änderungen vom remote Repository ins lokale Repository, aber ohne in den eigenen Branch zu mergen. Pull: Pull= Fetch+Merge. Mit dem Befehl Pull wird das lokale Repository aktualisiert. Dabei lädt Git erst eine Arbeitskopie herunter und führt sie dann mit eigenen Stand zusammen.
Unterschied zwischen Merge und Rebase Merge: Man führt die Branches zusammen Rebase: Änderungen, die auf einen Branch angewandt wurden, können auch auf einen anderen Branch erneut angewandt werden. Git sucht die gemeinsamen Vorfahren der beiden Branches und die jeweiligen Differenzen temporär in einer Datei ab. danach wird der aktuelle Branch auf den Schnittpunkt der beiden Zweige zurückgesetzt und alle zwischengespeicherten Commizs nacheinander auf den Zielbranch angewandt.
Definieren Sie die Begriffe - Branch - Staging-Area - Commit Branch: Ist ein "Ast" des Repository. Dort werden verschiedene Funktionen isoliert voneinander entwickelt. Staging-Area: "Wartebereich", hier werden Dateien dem Index hinzugefügt, welche aber erst durch einen Commit bereitgestellt werden, wenn man mit den Änderungen zufrieden ist Commit: ist ein Commit-Objekt, das in Git gespeichert wird und eine neue Version des Branches erzeugt (SHA-1 Hash). Im Commit wird ein Schnappschuss mit den Objekten der Staging-Area, dem Autor, den Metadaten gespeichert.
Vorgehen bei Entwicklung von Benutzungsschnittstellen Aufgabenanalyse zur Gewährleistung der Funktionalität: - welche Aufgaben/Unteraufgaben sollen möglich sein - auch Betrachtung von Gelegenheitsaufgaben - Funktionalität muss vollständig sein, sonst kaum Nutzung oder Ablehnung - Standardisierung, Integration, Konsistenz, Portabilität - Verlässlichkeit, Verfügbarkeit, Sicherheit, Datenintegrität
Schreiben Sie einen CSS-Code, der Folgendes realisiert: - Schriftgröße: 14px - Schrift: fett - Farbe: blau
Was ist die Runtime? --> Phase nach der Entwicklung, wenn sich die Software im Einsatz befindet Werkzeuge: - Browser - Google App Engine - Management Console
Was bedeutet RPC auf Deutsch? entfernter Methoden Aufruf
Was macht das RemoteServiceServlet? Es serialisiert und deserialisiert
Was ist die Applikationslogik? Darin werden alle Berechnungen und weitere logische Prozeduren berechnet und abgehandelt. Sie enthält Algorithmen, Regeln, Strukturen, Mapper-Instanzen
Was ist die Buildtime? Entwicklungsphase einer Software Werkzeuge: - Eclipse - Google Plugin - Google Web Toolkit - Google App Engine - Google Cloud SQL
Was passiert bei einem RPC im RemoteServiceServlet? Die übermittelten Daten werden serialisiert und deserialisiert - RemoteServiceServlet ist die abstrakte Klasse zur Impl-Klasse - Die Impl-Klasse ist die Realisierung des Interfaces der synchronen Service-Klasse - Das ServiceServlet ist das Interface zur Service-Klasse
Was ist der Unterschied zwischen einer Klasse und einem Objekt? Die Klasse dient als Bauplan der Objekte
Was ist eine Wrapper-Klasse? Eine Wrapper-Klasse kapselt die jeweilige primitive Variable ab, in einem sehr einfachen Objekt. Dabei stellt die Wrapper-Klasse einige Methoden für den Zugriff auf die primitive Variable und nützliche Funktionen zur Verfügung
Entwicklungsprozess von Benutzungsschnittstellen 1. Entwurfserkennung 2. Entwurfsexploration 3. Evaluation 4. Implementierung
Was bedeutet static und was void? static bedeutet, dass die Methode eine Klassenmethode ist void bedeutet, dass die Methode kein Ergebnis berechnet
ACID-Prinzip Eigenschaften einer Transaktion: Die Transaktion muss - Atomicity (atomar) - Consistency (konsistent) - Isolation (isoliert) - Durability (dauerhaft) sein, damit sie stattfindet
Welche Werkzeuge laufen während der Runtime? - Browser - Google App Engine - Management Code
Welche Werkzeuge werden in der Buildtime verwendet? In welcher Schicht? - Eclipse - Google Cloud SQL (DB-Schicht) - Google App Engine (Applikationsschicht) - Google Web Toolkit (GUI, Editor, Report-Generator) - Google Plugin
Was ist ein Branch? - eine Referenz auf einen bestimmten Commit - eine Kopie des Repositorys, welche aber keinen weiteren Einfluss auf den Master bzw. andere Resporitories hat
Was ist GWT? --> Google Web Toolkit: Ist ein Framework, mit dem es möglich ist, komplexe und interaktive desktopähnliche AJAX-Applikationen zu erstellen. Die gesamte Entwicklung von Client und server kann in Java durchgeführt werden. Der mitgelieferte GWT-Compiler übersetzt den clientseitigen Java-Quelltext in JavaScript, HTML und CSS
Was ist die Applikationslogik? - befindet sich in der mittleren Schicht (Fachkonzept) - beinhaltet alle Verarbeitungsmechanismen der Anwendung - enthält die Algorithmen, Regeln und Strukturen, die notwendig sind, um die Elemente und Funktionen (zuordnen, erstellen, löschen, modifizieren, etc.) einer Anwendung beschreiben zu können.
Was ist eine Annotation? Ist ein Sprachelement von Java und ein Compiler-Plugin. Annotations werden zur Kompilerlaufzeit ausgewertet. werden automatisch von Eclipse erstellt
Was bedeutet AJAX? --> Asynchrones JavaScript und XML Ist das Konzept der asynchronen Datenübertragung zwischen Server und Browser
Was ist das Tree-Objekt? Wenn man einen Commit erstellt, dann erzeugt Git für jedes Projektverzeichnis eine Prüfsumme und speichert diese als sogenanntes tree-object im Git-Repository
Was ist ein Fork in GutHub? Ein Fork ist eine Gabelung, also ein Ableger eines Repositorys, die jeder jederzeit starten kann. Dort kann jeder privat vor sich hin entwickeln und am Ende weiter mit dem ursprünglichen Projekt zusammenführen.
Erklärung von Pull Fetch Merge Pull: Damit wird das lokale Repository mit den neuesten Änderungen versorgt und mit dem eigenen Stand zusammengeführt (merge) Fetch: Damit werden die Änderungen vom Remote Repository ins lokale Repository geladen, aber ohne in den eigenen Branch zu mergen Merge: Zusammenführen von unterschiedlichen Branches
Serverseitige Sicht der Applogik - "AdministrationCommonImpl" und "AdministrationCommon" bilden die serverseitige Sicht, welche vollständig auf synchronen Funktionsaufrufen [basieren?]
Was ist: - Remote Tracking Branch - Fetch - Pull - RTB: externe Branches, d.h. Referenzen, die den Zustand der Remote Repositorys lokal abbilden - Fetch: holt die neuesten Änderungen aus Remote Repository und aktualisiert die Remote Tracking Branches ohne die Branches zusammenführen --> lokale Branches bleiben unverändert - Pull: aktualisiert die lokalen Branches mit den Remote Branches und aktualisiert die anderen Remote Tracking Branches
GitHub-Begriffe Repository --> Lager bzw. Quelle für Daten Branch --> (dt. Zweig) eine Kopie vom Arbeitsstand, um z.B. neue Features zu testen Pull --> holt die neueste Version vom Remote Branch Fetch --> holt nur die neueste Version aus Remote Repository Merge --> Zusammenführen von Branches Fork --> Abspaltung des Zweugs eines Projektes in 2 oder mehrere Folgeprojekte Push --> Hochladen von Änderungen in ein Repository
Was bedeutet OCL? Object-Constraint-Language --> Textuelle Spezifikation in UML: Damit werden Randbedingungen bei der Modellierung festgelegt
Was ist ein Klassendiagramm? - ein Strukturdiagramm der UML zur grafischen Darstellung von Klassen, Schnittstellen sowie deren Beziehungen - Klasse ist Oberbegriff für die Beschreibung der gemeinsamen Struktur und des gemeinsamen Verhaltens von Objekten (Klassifizierung) - ermöglicht die Modellierung eines abgegrenzten Systems in der objektorientierten Analyse und Entwurf
Was sind Ereignisse in Java? Was sind mögliche Interessenten an Ereignissen? Wie wird ein Interessent informiert, wenn man darauf klickt? 1. Objekt vom Typ Event 2. z.B. ein ClickHandler mit der onClickMethode (ClickEvent event) 3. durch ein Ereignis
Was ist "Transient"? --> Das Gegenteil von persistent, vorübergehend. Sind z.B. Objekte, die nur zur Laufzeit existieren und nicht dauerhaft gespeichert werden (z.B. in einer DB)
Was ist Serialisierung? Serialisierung wird hauptsächtlich für die Persistierung von Objekten in Daten und für die Übertragung von Objekten über das Netzwerk bei verteilten Softwaresystem verwendet.
Was ist eine abstrakte Basisklasse? - eine spezielle Klasse, die mind. eine, aber auch mehrere abstrakte Methoden erhält (ohne Implementierung) - es können keine Objekte von innen erzeugt werden - eine Klasse gilt als abstrakt, sobald eine Methode vorhanden ist, die durch eine erbende Klasse implementiert werden muss
Wie ist eine Methode aufgebaut? Modifier + Rückgabewert + Name + Parameterbereich () Beispiel: public int addieren (int a, int b){ }
Was passiert auf der Server und Client Seite beim Aufruf? --> Methodenaufruf der GUI --> AdministrationCommonImpl --> ruft über die Mapper Klassen Objekte aus DB ab
Was ist ein CellTable und die Besonderheiten daran? CellTable ist eine Tabelle, in der man nicht (!) jede einzelne Zelle ansprechen kann. (--> nur in FlexTable möglich) Besonderheit: - diese kann z.B. geupdated werden - wird verwendet, um große Datenmengen anzuzeigen
Welche Gemeinsamkeiten haben ein Clickhandler und der RPC? --> Man kann sie beide als anonyme Klasse implementieren
SaaS, PaaS, IaaS SaaS: Software as a Service, Nutzung i.d.R. über Browser PaaS: Platform as a Service IaaS: Infrastructure as a Service
Was ist ein Fast Forward Merge? - beschleunigt beim Mergen: wenn keine Änderung im Branch erfolgt ist, dann kürzt GIT den Vorgang ab und setzt die Referenz des aktuellen Branch auf den zu mergenden Commit
Für was verwendet man Typecasting? Für die Umwandlung von einem Datentyp in einen anderen Beispiel: Integer.toString (Umwandeln von Integer zu String)
Wofür steht Hijar? --> Runtime Hauptbestandteil des Jar-Environments. Gibt an wo das SDK geparkt ist
Was ist SDK? Antwort folgt
Woher weiß Git, welchen Branch Sie momentan benutzen? Über den speziellen Zeiger mit dem Namen HEAD wird auf den aktuellen Branch auf den Repository verwiesen
Definieren Sie die Begriffe - Repository - Tags - Working-Tree Repository: Zentraler Ablageort von Software-Projekten. Dort werden Dokumente, Dateien, Metadaten etc. abgelegt, incl. Historie und die verschiedenen Versionen, die während der Zeit entstanden sind und alle Branches der Mitglieder Tags: Durch Tags lassen sich bestimmte Punkte in der Historie als besonders wichtig markieren. Working-Tree: Sammlung von Daten in denen .... Antwort folgt
Was ist ein Servlet? --> Alle Implementierungsklassen - Definiert eine Umgebung zum Ausführen von Java-Code auf Webservern, integriert einen Servlet-Container und einen HTTP-Server - Ist eine Sammlung von Klassen, die auf dem Server liegen und vom Client angesprochen werden können Servlet-Mapping: Gibt an unter welcher URL die Servlets angesprochen werden sollen
Was bedeutet CSS? --> Cascading Style Sheet - Stylesheet Sprache für HTML und XML-Dokumente - einheitliche vorgegebene Formatierungen für die Darstellung
Was ist eine Methode? - Methoden beschreiben das Verhalten von Objekten - über die Methode des Objektes können Objekte untereinander in Verbindung treten - können nur ausgeführt werden, wenn sie von einem Objekt aufgerufen werden
Was ist ein Panel? - ist ein Container, in dem verschiedene Objekte eingebaut werden können - VertikalPanel und HorizontalPanel bilden HTML-Dokumente in einer Tabelle - flowPanel ist eine untergeordnete Liste an HTML Elementen (div), passt es sich der Seitenstruktur an (bei Kompilierung wird aus dem flowPanel ein div)
Was sind Impl-Klassen? Impl-Klassen sind alle Klassen, welche vom Interface Methoden implementieren. Die Interfaces sind im Struktur-Ordner und die Impl-Klassen im Server-Ordner
Was sind die Vorteile von GWT? - Compiler compiliert Java Code der Anwendung in JavaScript --> Möglich, die Java Umgebung mit alles Features zu benutzen, eigene Testumgebung debuggen, Breakpoints setzen
Erklären Sie einen Clickhandler mit den Worten "Quelle" und "Senke"? Quelle: wird übersetzt als "Producer" Senke: wird übersetzt als "Consumer" --> Die Quelle produziert etwas und in der Senke verschwindet es dann wieder --> produziert man einen ClickEvent(Quelle), dann ist der Clickhandler dann die Senke, da er das ClickEvent verarbeitet. Code: new ClickHandler(){ public void onClick(ClickEvent event)
Unterteilung von SQL mit den Begriffen DDL, DML und DCL DDL = Data Defintion Language --> CREATE und DROP DML = Data Manipulation Language --> INSERT, UPDATE, DELETE DCL = Data Control Language --> GRANT und REVOKE-Statements
Was ist der Unterschied zwischen einem Primär- und Fremdschlüssel? Der Primärschlüssel ist die kleinste Einheit und der Fremdschlüssel referenziert auf einen Wert (referentielle Integrität) Wenn ein Fremdschlüssel auf eine andere Tabelle verweist, wird geprüft, ob der Wert als Primärschlüssel überhaupt existiert und stellt die Abhängigkeiten zwischen zwei Relationen dar und ist immer auf den Primärschlüssel bezogen.
Wo ist der Zusammenhang zwischen dem Anlegen eines AsyncCallback-Objektes und der ServiceProxy-Klasse? --> Der ServiceAsyncCall ist in der Service-Proxy implementiert
Wie erstellt man eine Tabelle über SQL? Beispiel: CREATE TABELLE Filme (Titel VARCHAR (100), Laenge INTEGER);
Welche Vorteile bietet die Nutzung eines relationalen Datenbanksystems? Vorteile: - Referentielle Integrität: es darf nur auf existierende Datensätze verwiesen werden -Mehrbenutzerfähigkeit: paralleler Zugriff möglich - Konsistenzerhaltung auch bei Systemabsturz: ständige Datensicherung auch bei Systemabsturz - Durch Datenkonsistenz werden Datenredundanzen vermieden
6 Schritte wie ein Servlet funktioniert? 1. Nutzer sendet Formular im Browser ab 2. Browser sendet Daten an Webserver 3. Webserver übersetzt Aktionsnamen des Formulars in den Namen ServletKlasse --> nutzt Datei namens Web-XML 4. Webserver ruft Methode request des Servlet auf und übergibt Datei mit Anfragedaten als Parameter. Methode response erzeugt Ausgabe, die der Webserver an den Browser sendet 5. Browser nimmt Antwort entgegen und stellt sie dar 6. Benutzer liest die Antwort im Browser
Erläutern Sie die Konzepte von AJAX - Asynchronous JavaScript and XML - ist ein Konzept zur asynchronen Datenübertragung zwischen einem Browser und dem Server. Dadurch ist es möglich HTTTP-Anfragen durchzuführen, während eine HTML-Seite angezeigt wird. Es ist dadurch möglich, Teile der Seite zu verändern, ohne sie komplett neu zu laden.
Vorteile der Trennung von Applikationslogik und Datenbank? - Seperation of Concerns (Trennung von Funktion und Interaktion) - Bessere Wartbarkeit (Änderungen wirken sich nur auf eine Schicht aus) - Skalierbarkeit der einzelnen Schichten (Schichten sind austauschbar) - Sicherheit (Zugriff nur über Applikationslogik)
Für was steht ACID? --> Abkürzung für die Eigenschaften von Transaktionen: - Atomic (Atomarität unteilbar): Die Transaktion wird entweder ganz oder gar nicht durchgeführt - Consistent (Konsistenz): Vor und nach Transaktion bleiben Daten widerspruchsfrei - Isolated (Isolation): Transaktionen laufen ungestört von anderen Transaktionen ab (es können nicht die selben Daten von verschiedenen Transaktionen genutzt werden) - Durable (Dauerhaft): Mit Commit abgeschlossene Änderungen sind persistent (dauerhaft) und nur durch weitere Transaktionen änderbar.
Was ist Polymorphie? --> + 2 Arten davon Allgemeine Bedeutung: Vielgestaltigkeit - Überladen (statische Polymorphie): Anhand der Methodensignatur (Übergabeparameter) wird entschieden, welche Methode aufgerufen wird, obwohl sie den gleichen Namen haben. - Überschreiben (dynamische Polymorphie): Vererbte Kindklassen haben genau dieselbe Methodensignatur wie die Elternklasse. Bei Aufruf wird die Elternmethode überschrieben mit der der Kinderklasse.
Aus was besteht das lokale Repository? - Besteht aus 3 Instanzen: -- Arbeitsverzeichnis auf Festplatte -- Staging Area, Zwischenablage -- HEAD bzw. Git-Verzeichnis
GUI-Dreieck (bezogen auf eigenes Projekt) Technologie: Standardisierung, Integration, Konsistenz (Verwendung einheitlicher Aktionsfolgen, Begriffen, Farben, ...), Portabilität (GWT, Google App Engine, SQL) Aufgabe/Ziel: Anforderungskatalog erfüllen, Funktionalität muss gegeben sein, stabiles und performancereiches System Mensch: Acht goldene Regeln --> Verlässlichkeit, Verfügbarkeit, Sicherheit, Datenintegrität: Kommands müssen wie angegeben funktionieren, System muss fehlerfrei sein, Privatsphäre des Benutzers muss gewährleistet sein
Was bedeutet Persistenz und Konsistenz? Persistenz: Ist der Begriff, der die Fähigkeit bezeichnet, Daten (oder Objekte) über eine Länge/Zeit (auch bei einem Programmabbruch) bereitzuhalten Konsistenz: bezeichnet die Korrektheit der in der DB gespeicherten Daten
Was ist der XMLHTTPRequest? --> Ist ein Verfahren zum Übertragen von Daten über das http-Protokoll. Es ermöglicht dem Skript einer Webseite, Daten dynamisch vom Webserver abzurufen, ohne dass dazu die HTML-Seite neu geladen werden muss. Die Daten werden asynchron verarbeitet und das hat den Vorteil, dass das Skript nicht auf die Antwort warten muss, sondern solange andere Aufgaben ausgeführt werden können. Es können sämtliche http-Anfragemethoden (z.B. GET, POST, HEAD, PUT) verwendet werden.
Was ist ein Clickhandler? Ein Interface. Ein Clickhandler ermöglicht es auf einen Klick zu reagieren. Es wird eine anonyme Klasse erzeugt und das Interface ClickHandler implementiert. Diese Klasse muss dann die Methode onClick() implementieren (ClickEvent event). Das Clickevent wird dann durch einen Klick erzeugt. Ein einziger ClickHandler ist die Instanz der Klasse, z.B. Button, die das Interface ClickHandler implementiert.
Schreiben Sie von einem ClickHandler eine anonyme Klasse und definieren Sie diese ClickHandler click = new ClickHandler(){ public void onClick(ClickEvent event){
Welche Rollen spielen Mapper bei einer Software? - Mapper stellen die Verbindung zur Applikation und Datenbank her. - Sie realisieren die Objekt-Orientierung in der relationalen Datenbank und führen die Statements aus. Nach dem Schema der BO's werden die Objekte zusammengebaut.
Datenstruktur eines Commits Datenstruktur besteht aus: - Commit ID (SHA-1 Hash) - Treeobject: ID - Autor - Committer - Commit Merge
Show full summary Hide full summary

Similar

Jekyll and Hyde
elliesussex
WAVES
toritorx
Henry VII Rebellions, political power and control
hawkhigh
English Literature Key Terms
charlotteoom
Essay Outline
Kai Ladd
Animal Farm- The Pigs
lianastyles17
GCSE Science - B1 - You and Your Genes - Genes, Chromosomes and DNA
GeorgeHaines
Physics 1A - Energy
Zaki Rizvi
OCR A-Level Computer Science from 2015 - Chapter 8 (Applications Generation)
Tyrone Muriithi
Preparing for ACT Math section
Don Ferris
Passing Dark Colored Urine
Batool Aldaher