¡GoConqr estrena diseño! Cuéntanos qué te parece.

Fichas

IT-Projekt - Group EPDGSF

Jona Mustafi Alemán 5,0Valoración media 5,0 de 5 (1 valoración) 200 fichas

IT-Projekt - Group EPDGSF

Fichas del conjunto (200)

  1. 1Was 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
  2. 2Wie wird der GWT-Client gestartet?Mit dem EntryPoint und mit der onModuleLoad()-Methode (main-Methode) wird der Client gestartet
  3. 3Was 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( )
  4. 4Definiere RootPanel- RootPanel: unterstes Panel und alle Panels werden darauf platziert
    - Dokument der Website: getMethode --> spricht Body (?) der HTML-Seite an
  5. 5Was ist ein div-layer und wie bezieht man ein?div-layer:
    - html-Element
    - legt fest wo der Inhalt geladen werden soll (Bereich)
    einbeziehen:
    - getMethode des RootPanels --> Ansprechen der Elemente mit ID
    z.B.
    RootPanel.get("main")
  6. 6Wie funktioniert das Rebase-Kommando?- Alle Änderungen, die auf einen Branch angewendet wurden auf einen Branch erneut anwenden
    (Zeichnung fehlt)
  7. 7Was 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
  8. 8Zeichnen Sie wie eine Verbindung zur DB erfolgtZeichnen Sie wie eine Verbindung zur DB erfolgt
  9. 9Erklären Sie das Tree-ObjektCommit --> 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)
  10. 10Schreiben Sie ein Klassendiagramm von Panel, Widget und ButtonSchreiben Sie ein Klassendiagramm von Panel, Widget und Button
  11. 11Was haben Frame und Panel gemeinsam?Frame: fasst mehrere andere Steuerelemente zu einer Gruppe zusammen
    Panel: Darstellungsfläche/Container zur Organisation von Steuerelementen
  12. 12Erstellen Sie ein neues Widget (Profilformular), das in einem Container festgehalten wirdErstellen Sie ein neues Widget (Profilformular), das in einem Container festgehalten wird
  13. 13Was 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.
  14. 14Was 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)
  15. 15Was 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
  16. 16Was 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
  17. 17Bilden Sie das Plumbing-Diagramm abBilden Sie das Plumbing-Diagramm ab
  18. 18Was sind Widgets?- Komponenten, in denen der Anwender interagiert
    - z.B. Buttons, Labels, Textboxes und Panels
  19. 19Was 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
  20. 20Was 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
  21. 21Was 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
  22. 22Schreiben Sie ein Sequenzdiagramm vom GWT-RPC MechanismusSchreiben Sie ein Sequenzdiagramm vom GWT-RPC Mechanismus
  23. 23Was 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
  24. 24Was 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
  25. 25Working tree?- Kollektion an Dateien in Repository
    --> Commiting erstellt persistenten Snapshot (commit object)
    Working tree?
  26. 26Branches?- erlauben die Arbeit an verschiedenen Versionen einer Dateikollektion
    - benannter Zeiger auf Commit
    - die default branch (master) wird als lokale branch automatisch erstellt
  27. 27Commit?- wenn man Änderungen committed, entsteht neues commit object
  28. 28Repository?- enthält Historie, Versionen, Branches & Tags
  29. 29HEAD?- symbolische Referenz, die auf ausgecheckte Branch deutet
  30. 30Plumbing-DiagrammPlumbing-Diagramm
  31. 31Relationale Datenbanken?- Zeilen (Datensätze)
    - Spalten (bestimmter Datentyp, Komponenten von Datensatz)
    - Beziehungen durch Schlüssel
  32. 32Synchrones Interface (Projekt)synchrone Schnittstelle für eine RPC-fähige Klasse zur Verwaltung
    - RemoteServiceRelativePath: Servlet-URL damit synchrones weiß, wo es implementiert wurde
  33. 33Asynchrones Interface (Projekt)- vom Clientcode verwendet
    - asynchrone Methoden für Aufruf des entfernten Dienstes
    - void damit Objekt direkt verschickt wird
  34. 34BusinessObject (Projekt)- BOs werden zwischen den Schichten verschickt
    - implements Serializable
    - Basisklasse für Klassen zum Umsetzen des Fachkonzepts
    - SerialVersionUID Prüfsumme serialisierter Objekte
  35. 35Server-Folder (Projekt)Compiler kompiliert von Java Source Code in Java Bytecode
  36. 36HCI 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
  37. 37src-Ordner? (Projekt)Java-Quell-Code-Dateien
  38. 38gwt.xml (Projekt)- Moduldefinitionsdatei
    - Code:
    Modulname
    erbt von anderem Modul Bibliotheken (z.B. Styles)
    Verbindung zum Java-Code
    Ordner dessen Klassen in JavaScript kompiliert werden
    ermöglicht super-dev-Mode
  39. 39JDBC?Java Database Connectivity
    - Schnittstelle zwischen Java-Plattform und Datenbanken
    - wird durch Treiber (Software) implementiert
    - speziell auf relationale DBs ausgerichtet
  40. 40JSON?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"}
  41. 41RPC?- 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
  42. 42war-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
  43. 43war --> WEB-INF --> (1) classes (2) lib (Projekt)(1) kompilierte Bytecode Klassen
    (2) jar Dateien --> mysqlconnector/Datenbanktreiber AppEngine JAR-Datei
  44. 44war-Ordner? (gesamt)war-Ordner? (gesamt)
  45. 45Vorgehen 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
  46. 46MySQL?relationales Datenbankverwaltungssystem
  47. 47(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
  48. 48SQL-Queries?Antwort folgt
  49. 49Inhalt 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)
  50. 50Rebase?eigenen Stand mit Stand anderer Branch überschreiben
  51. 51Merge?Branch A mit Branch B vergleichen & Unterschiede in die Branch holen
  52. 52Tag & Branch?- sind benannte Pointer
    - Branches ändern Pointer mit jedem neuen commit
    - Tags zeigen immer auf den selben commit
  53. 53Tag?- zeigt auf einen commit, der die Version eindeutig identifiziert
    - benannter Punkt zu dem man jederzeit zurückkehren kann
  54. 54Übersicht DB-ProzessÜbersicht DB-Prozess
  55. 55Driver Manager?- Singleton-Klasse
    - übernimmt Treiberverwaltung
  56. 56Commit Object?- Git Objekt wird anhand seines Hash identifiziert
    Commit-ID (SHA-1 Hash)
    Tree Object: ID
    Author
    Committer
    CommitMessage
    Vorgänger Commit
  57. 57Anonyme Klasse- gerne bei einmalige Objekterstellung verwendet
    - sie werden gleichzeitig definiert & initialisiert
    - Bsp.:
    button.addClickHandler(new ClickHandler(){
    public void onClick (ClickEvent event){}});
  58. 58Report- 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)
    Report
  59. 59Was ist Git?Distributed Version Control System
  60. 60EGit?- Set von Plugins (SW Komponenten) für Eclipse
    - enthält JGit Bibliothek (implementiert Git Funktionalität), um Git-Befehle auszuführen
  61. 61Normalisierung?- 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
  62. 62Result Sets?- Interface
    - enthält Ergebnismenge eines ausgeführten Statements --> eine Zeile pro zurückgegebenes Ergebnis (Datensatz)
  63. 63Schritte 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
  64. 64Annotations?Gibt Elementen Java Metadaten mit, die zur Laufzeit ausgelesen werden
  65. 65AJAX?Asynchronous JavaScript and XML
    Konzept der asynchronen Datenübertragung zwischen Browser & Server
  66. 66Wrapper?Kapseln primitive Datentypen in einfache Objekte
    (--> primitive Datentypen sind keine Objekte aber in Listen lassen sich nur Objekte speichern)
  67. 67Generics?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
  68. 68Interfaces?- keine Instanzen
    - Methoden werden NICHT implementiert
    - Attribute automatisch static final
    - Klasse kann mehrere Interfaces implementieren (Mehrfachvererbung)
  69. 69Abstrakte Klasse?- keine Instanzen
    - Methoden KÖNNEN implementiert werden
    - Klasse kann nur eine Klasse extenden
  70. 70Nested 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
  71. 71Seperation 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
  72. 72Gemeinsamkeiten 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)
  73. 73Marker 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)
  74. 74Wieso 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
  75. 75Entwicklungswerkzeuge: 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
  76. 768 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
  77. 77Widgets?Oberflächenelement mit denen der Nutzer interagiert
    - Button
    - TextBox
    - Panels
    - FlexTable
    - GellTable
  78. 78Panels?Layout der Benutzeroberfläche definieren
    - RootPanel: Basispanel
    RootPanel.get("div").add(panel);
    - Vertical- & Horizontal-Panel
  79. 79ACID?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)
  80. 80Unterteilung 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
  81. 81Vorgang 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
  82. 82Client-Folder (Projekt)CrossCompiler kompiliert von Java Source Code in Java Script
  83. 83DB Connection? (Projekt)- stellt Verbindung zu DB her
    - JDBC API für Zugriff auf DB
  84. 84Implementierungsklasse? (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)
  85. 85Unterschied 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
  86. 86Reset and Reflog?--> Reset: eigenen Stand auf anderen commit zurücksetzen
    --> Reflog: finden unsichtbarer commits (z.B. nach reset)
  87. 87Was 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)
  88. 88Was 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:
  89. 89Was 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.
  90. 90Was ist - Deklarierung - Initialisierung - InstanziierungDeklarierung: 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");
  91. 91Woher wissen Methoden, wann sie aufgerufen werden?Gar nicht.
    Sie werden durch den Aufruf der Speicheradresse (wo der Byte-Code der Methode steht) aufgerufen
  92. 92Vorteile von Git?- weniger Traffic: (nu die Änderungen werden geladen)
    - hohe Datensicherheit (Repositories liegen auf mehreren Computern und Servern)
    - hohe Geschwindigkeit (da weniger Daten)
  93. 93Was ist serializable?Ein Marker-Interface
  94. 94Was 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
  95. 95Was 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.
  96. 96Was ist ein Design-Pattern?Design-Pattern sind Lösungswege für wiederkehrende Design-Probleme in der SE
  97. 97Was 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.
  98. 98Polymorphieein Konzept in der objektorientierten Programmierung, das ermöglicht, dass ein Bezeichner abhängig von seiner Verwendung Objekte unterschiedlichen Datentyps annimmt
  99. 99Was 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.
  100. 100Was bedeutet "Permutation"?In der Kombinatorik ist es eine Anordnung von Objekten in einer bestimmten Reihenfolge
  101. 101Was 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.
  102. 102Was sind Widgets?Sind Komponenten, in denen er Anwender interagiert, z.B. Buttons, Labels oder Panels
  103. 103HCIHuman Computer Interaction (HCI)
    Benutzungsschnittstelle und ein Teil einer Anwendung, der es Benutzer erlaubt, mit dem Computer zu interagieren
    HCI
  104. 104Unterscheidung von - Instanzvariable - Klassenvariable - lokale VariableInstanzvariable: 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)
  105. 105In 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
  106. 106Was 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.
  107. 107Notation UML von BeziehungenNotation UML von Beziehungen
  108. 108Was ist ein Paket?- Ein Paket (package) ist ein "Namensraum" für die Organisation von Klassen und Schnittstellen
  109. 109Was 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);
  110. 110Was ist ein Mockup?Nicht funktionales Modell zur Darstellung der Systemanforderungen.
  111. 111Was 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)
  112. 112Was 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
  113. 113Was wird im Projekt serialisiert?Alle Business-Objekte
  114. 114Was sind Prozeduren in Java?Methoden
  115. 115Serialisierung 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
  116. 116Model-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
  117. 117Use Case ModellierungTextuelle 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
  118. 118Use-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
  119. 119Sequenzdiagramme--> Modellierung dynamischer Aspekte
    --> Darstellung des Nachrichtenaustauschs zwischen Objekten
    --> zeitliche Abfolge der Nachrichten wird dargestellt
    --> Objekte horizontal, Lebenslinien vertikal angeordnet
    --> Nachrichten als Pfeile zwischen Lebenslinien
    Sequenzdiagramme
  120. 120Separation of concernsdt.: 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
  121. 121- Software-Schichten - 3-Tier-ArchitekturBeschreibung: 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
  122. 122Anwendungsfälle/Use CasesBestandteile:
    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"
  123. 123Was 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
  124. 124Was 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
  125. 125Entwicklungszyklus in GWT- Projekt anlegen
    - Code entwickeln
    - Testen
    - Compilieren und konvertieren
  126. 126Vorteile 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)
  127. 127Welche 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
  128. 128Erklären Sie Reset und CloneReset: 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
  129. 129Was heißt Remote? Was ist ein Branch?Remote: heißt "entfernt"
    Branch: Ein "Zweigbaum"
  130. 130Unterschied zwischen Fetch und PullFetch: 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.
  131. 131Unterschied zwischen Merge und RebaseMerge: 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.
  132. 132Definieren Sie die Begriffe - Branch - Staging-Area - CommitBranch: 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.
  133. 133Vorgehen bei Entwicklung von BenutzungsschnittstellenAufgabenanalyse 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
  134. 134Schreiben Sie einen CSS-Code, der Folgendes realisiert: - Schriftgröße: 14px - Schrift: fett - Farbe: blauSchreiben Sie einen CSS-Code, der Folgendes realisiert: - Schriftgröße: 14px - Schrift: fett - Farbe: blau
  135. 135Was ist die Runtime?--> Phase nach der Entwicklung, wenn sich die Software im Einsatz befindet
    Werkzeuge:
    - Browser
    - Google App Engine
    - Management Console
  136. 136Was bedeutet RPC auf Deutsch?entfernter Methoden Aufruf
  137. 137Was macht das RemoteServiceServlet?Es serialisiert und deserialisiert
  138. 138Was ist die Applikationslogik?Darin werden alle Berechnungen und weitere logische Prozeduren berechnet und abgehandelt.
    Sie enthält Algorithmen, Regeln, Strukturen, Mapper-Instanzen
  139. 139Was ist die Buildtime?Entwicklungsphase einer Software
    Werkzeuge:
    - Eclipse
    - Google Plugin
    - Google Web Toolkit
    - Google App Engine
    - Google Cloud SQL
  140. 140Was 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
  141. 141Was ist der Unterschied zwischen einer Klasse und einem Objekt?Die Klasse dient als Bauplan der Objekte
  142. 142Was 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
  143. 143Entwicklungsprozess von Benutzungsschnittstellen1. Entwurfserkennung
    2. Entwurfsexploration
    3. Evaluation
    4. Implementierung
    Entwicklungsprozess von Benutzungsschnittstellen
  144. 144Was bedeutet static und was void?static bedeutet, dass die Methode eine Klassenmethode ist
    void bedeutet, dass die Methode kein Ergebnis berechnet
  145. 145ACID-PrinzipEigenschaften einer Transaktion:
    Die Transaktion muss
    - Atomicity (atomar)
    - Consistency (konsistent)
    - Isolation (isoliert)
    - Durability (dauerhaft)
    sein, damit sie stattfindet
  146. 146Welche Werkzeuge laufen während der Runtime?- Browser
    - Google App Engine
    - Management Code
  147. 147Welche 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
  148. 148Was 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
  149. 149Was 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
  150. 150Was 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.
  151. 151Was ist eine Annotation?Ist ein Sprachelement von Java und ein Compiler-Plugin. Annotations werden zur Kompilerlaufzeit ausgewertet.
    werden automatisch von Eclipse erstellt
  152. 152Was bedeutet AJAX?--> Asynchrones JavaScript und XML
    Ist das Konzept der asynchronen Datenübertragung zwischen Server und Browser
  153. 153Was 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
  154. 154Was 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.
  155. 155Erklärung von Pull Fetch MergePull: 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
  156. 156Serverseitige Sicht der Applogik- "AdministrationCommonImpl" und "AdministrationCommon" bilden die serverseitige Sicht, welche vollständig auf synchronen Funktionsaufrufen [basieren?]
  157. 157Was 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
  158. 158GitHub-BegriffeRepository --> 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
  159. 159Was bedeutet OCL?Object-Constraint-Language
    --> Textuelle Spezifikation in UML:
    Damit werden Randbedingungen bei der Modellierung festgelegt
  160. 160Was 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
  161. 161Was 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
  162. 162Was 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)
  163. 163Was 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.
  164. 164Was 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
  165. 165Wie ist eine Methode aufgebaut?Modifier + Rückgabewert + Name + Parameterbereich ()
    Beispiel:
    public int addieren (int a, int b){
    }
  166. 166Was passiert auf der Server und Client Seite beim Aufruf?--> Methodenaufruf der GUI
    --> AdministrationCommonImpl
    --> ruft über die Mapper Klassen Objekte aus DB ab
  167. 167Was 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
  168. 168Welche Gemeinsamkeiten haben ein Clickhandler und der RPC?--> Man kann sie beide als anonyme Klasse implementieren
  169. 169SaaS, PaaS, IaaSSaaS: Software as a Service, Nutzung i.d.R. über Browser
    PaaS: Platform as a Service
    IaaS: Infrastructure as a Service
  170. 170Was 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
  171. 171Für was verwendet man Typecasting?Für die Umwandlung von einem Datentyp in einen anderen
    Beispiel:
    Integer.toString
    (Umwandeln von Integer zu String)
  172. 172Wofür steht Hijar?--> Runtime
    Hauptbestandteil des Jar-Environments. Gibt an wo das SDK geparkt ist
  173. 173Was ist SDK?Antwort folgt
  174. 174Woher weiß Git, welchen Branch Sie momentan benutzen?Über den speziellen Zeiger mit dem Namen HEAD wird auf den aktuellen Branch auf den Repository verwiesen
  175. 175Definieren Sie die Begriffe - Repository - Tags - Working-TreeRepository: 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
  176. 176Was 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
  177. 177Was bedeutet CSS?--> Cascading Style Sheet
    - Stylesheet Sprache für HTML und XML-Dokumente
    - einheitliche vorgegebene Formatierungen für die Darstellung
  178. 178Was 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
  179. 179Was 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)
  180. 180Was 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
  181. 181Was 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
  182. 182Erklä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)
  183. 183Unterteilung von SQL mit den Begriffen DDL, DML und DCLDDL = Data Defintion Language
    --> CREATE und DROP
    DML = Data Manipulation Language
    --> INSERT, UPDATE, DELETE
    DCL = Data Control Language
    --> GRANT und REVOKE-Statements
  184. 184Was 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.
  185. 185Wo ist der Zusammenhang zwischen dem Anlegen eines AsyncCallback-Objektes und der ServiceProxy-Klasse?--> Der ServiceAsyncCall ist in der Service-Proxy implementiert
  186. 186Wie erstellt man eine Tabelle über SQL?Beispiel:
    CREATE TABELLE Filme
    (Titel VARCHAR (100), Laenge INTEGER);
  187. 187Welche 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
  188. 1886 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
  189. 189Erlä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.
  190. 190Vorteile 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)
  191. 191Fü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.
  192. 192Was ist Polymorphie? --> + 2 Arten davonAllgemeine 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.
  193. 193Aus was besteht das lokale Repository?- Besteht aus 3 Instanzen:
    -- Arbeitsverzeichnis auf Festplatte
    -- Staging Area, Zwischenablage
    -- HEAD bzw. Git-Verzeichnis
  194. 194GUI-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
  195. 195Was 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
  196. 196Was 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.
  197. 197Was 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.
  198. 198Schreiben Sie von einem ClickHandler eine anonyme Klasse und definieren Sie dieseClickHandler click = new ClickHandler(){
    public void onClick(ClickEvent event){
  199. 199Welche 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.
  200. 200Datenstruktur eines CommitsDatenstruktur besteht aus:
    - Commit ID (SHA-1 Hash)
    - Treeobject: ID
    - Autor
    - Committer
    - Commit Merge

Información

Descripción
mündliche Prüfung
Creado por
Jona Mustafi
Visitas
443
Valoración
Valoración media 5,0 de 5 (1 valoración)

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?