552.txt ************************************************************************ * Edit v1.000 from 2022-09-28 to 2022-09-28 by MSc * ************************************************************************ IT-Handbuch fuer Fachinformatiker, Der Ausbildungsbegleiter Sascha Kersken Rheinverlag 2009, 9. Auflage ISBN 978-3-8362-7023-6 Seite Auszug ======================================================================== 17 Materialien zum Buch ------------------------------------------------------------------------ 19 Vorwort ------------------------------------------------------------------------ 27 1 Einfuehrung ------------------------------------------------------------------------ 27 1.1 Informationstechnik, Informatik und EDV ------------------------------------------------------------------------ 28 1.1.1 Fachrichtungen der Informatik ------------------------------------------------------------------------ 29 1.1.2 Oberblick ueber die lT-Ausbildung ------------------------------------------------------------------------ 36 1.2 Die Geschichte der Rechenmaschinen und Computer ------------------------------------------------------------------------ 38 1.2.1 Die Vorgeschichte ------------------------------------------------------------------------ 40 1.2.2 Die Entwicklung der elektronischen Rechner ------------------------------------------------------------------------ 49 1.2.3 Die Entwicklung der Programmiersprachen ------------------------------------------------------------------------ 55 1.3 Digitale Speicherung und Verarbeitung von Informationen ------------------------------------------------------------------------ 57 1.3.1 Digitale Bilddaten ------------------------------------------------------------------------ 58 1.3.2 Digitale Audiodaten ------------------------------------------------------------------------ 59 1.3.3 Digitale Speicherung von Text ------------------------------------------------------------------------ 59 1.4 Uebungsaufgaben ------------------------------------------------------------------------ 63 2 Mathematische und technische, Grundlagen ------------------------------------------------------------------------ 63 2.1 Einfuehrung in die Logik ------------------------------------------------------------------------ 64 2.1.1 Aussagen ------------------------------------------------------------------------ 65 2.1.2 Aussageformen ------------------------------------------------------------------------ 65 2.1.3 Logische Verknuepfungen ------------------------------------------------------------------------ 72 2.1.4 Mengenoperationen ------------------------------------------------------------------------ 76 2.1.5 Weitere wichtige Berechnungsverfahren ------------------------------------------------------------------------ 78 2.2 Informationsspeicherung im Computer ------------------------------------------------------------------------ 78 2.2.1 Zahlensysteme ------------------------------------------------------------------------ 84 2.2.2 Bits und Bytes ------------------------------------------------------------------------ 89 2.3 Elektronische Grundlagen ------------------------------------------------------------------------ 90 2.3.1 Einfache Schaltungen ------------------------------------------------------------------------ 93 2.3.2 Zusammengesetzte Schaltungen ------------------------------------------------------------------------ 97 2.4 Automatentheorien und -simulationen ------------------------------------------------------------------------ 98 2.41 Algorithmen ------------------------------------------------------------------------ 102 2.4.2 Die Turing-Maschine ------------------------------------------------------------------------ 107 2.4.3 Der virtuelle Prozessor ------------------------------------------------------------------------ 112 2.5 Uebungsaufgaben ------------------------------------------------------------------------ 112 2.5.1 Praktische Uebungen ------------------------------------------------------------------------ 113 2.5.2 Kontrollfragen ------------------------------------------------------------------------ 119 3 Hardware ------------------------------------------------------------------------ 119 3.1 Grundlagen ------------------------------------------------------------------------ 124 3.2 Die Zentraleinheit ------------------------------------------------------------------------ 125 3.2.1 Aufbau und Aufgaben des Prozessors ------------------------------------------------------------------------ 135 3.2.2 Der Arbeitsspeicher ------------------------------------------------------------------------ 137 3.2.3 Das BIOS ------------------------------------------------------------------------ 142 3.2.4 Bus- und Anschlusssysteme ------------------------------------------------------------------------ 151 3.3 Die Peripherie ------------------------------------------------------------------------ 152 3.3.1 Massenspeicher ------------------------------------------------------------------------ 166 3.3.2 Eingabegeraete ------------------------------------------------------------------------ 169 3.3.3 Ausgabegeraete ------------------------------------------------------------------------ 175 3.3.4 Soundhardware ------------------------------------------------------------------------ 176 3.4 Uebungsaufgaben ------------------------------------------------------------------------ 183 4 Netzwerkgrundlagen ------------------------------------------------------------------------ 183 4.1 Einfuehrung ------------------------------------------------------------------------ 183 4.1.1 Was ist ein Netzwerk? ------------------------------------------------------------------------ 185 4.1.2 Entstehung der Netzwerke ------------------------------------------------------------------------ 190 4.2 Funktionsebenen von Netzwerken ------------------------------------------------------------------------ 191 4.2.1 Das OSI-Referenzmodell ------------------------------------------------------------------------ 193 4.2.2 Das Schichtenmodell der Internetprotokolle ------------------------------------------------------------------------ 196 4.2.3 Netzwerkkommunikation ueber die Schichten eines Schichtenmodells ------------------------------------------------------------------------ 200 4.3 Klassifizierung von Netzwerken ------------------------------------------------------------------------ 200 4.3.1 Die Reichweite des Netzwerks ------------------------------------------------------------------------ 201 4.3.2 Die Netzwerktopologie ------------------------------------------------------------------------ 203 4.3.3 Der Zentralisierungsgrad des Netzwerks ------------------------------------------------------------------------ 209 4.4 Netzwerkkarten, Netzwerkkabel und Netzzugangsverfahren ------------------------------------------------------------------------ 211 4.4.1 Die verschiedenen Ethernet-Standards ------------------------------------------------------------------------ 216 4.4.2 Drahtlose Netze ------------------------------------------------------------------------ 221 4.5 Datenfernuebertragung ------------------------------------------------------------------------ 222 4.5.1 DSL-Dienste ------------------------------------------------------------------------ 224 4.5.2 Internetzugaenge ueber Mobilfunk ------------------------------------------------------------------------ 225 4.6 Die TCP/IP-Protokollfamilie ------------------------------------------------------------------------ 227 4.6.1 Netzzugang in TCP/IP-Netzwerken ------------------------------------------------------------------------ 228 4.6.2 IP-Adressen, Datagramme und Routing ------------------------------------------------------------------------ 254 4.6.3 Transportprotokolle ------------------------------------------------------------------------ 260 4.6.4 Das Domain Name System (DNS) ------------------------------------------------------------------------ 264 4.6.5 Verschiedene Internetanwendungsprotokolle ------------------------------------------------------------------------ 276 4.7 Uebungsaufgaben ------------------------------------------------------------------------ 289 5 Betriebssystemgrundlagen ------------------------------------------------------------------------ 290 5.1 Entwicklung der Betriebssysteme ------------------------------------------------------------------------ 290 5.1.1 Die Vorgeschichte ------------------------------------------------------------------------ 292 5.1.2 Die Geschichte von Unix ------------------------------------------------------------------------ 294 5.1.3 PC-Betriebssysteme ------------------------------------------------------------------------ 298 5.2 Aufgaben und Konzepte ------------------------------------------------------------------------ 299 5.2.1 Allgemeiner Aufbau von Betriebssystemen ------------------------------------------------------------------------ 306 5.2.2 Prozessverwaltung ------------------------------------------------------------------------ 311 5.2.3 Speicherverwaltung ------------------------------------------------------------------------ 313 5.2.4 Dateisysteme ------------------------------------------------------------------------ 319 5.3 Uebungsaufgaben ------------------------------------------------------------------------ 325 6 Windows ------------------------------------------------------------------------ 325 6.1 Allgemeine Informationen ------------------------------------------------------------------------ 325 6.1.1 Die verschiedenen Windows-Versionen ------------------------------------------------------------------------ 330 6.1.2 Windows-Dateisysteme ------------------------------------------------------------------------ 331 6.2 Windows im Einsatz ------------------------------------------------------------------------ 332 6.2.1 Die Windows -Benutzeroberflaeche ------------------------------------------------------------------------ 339 6.2.2 Die Windows-Konsole ------------------------------------------------------------------------ 343 6.2.3 Die Windows PowerShell ------------------------------------------------------------------------ 354 6.2.4 Windows-Konfiguration ------------------------------------------------------------------------ 359 6.3 Windows-Netzwerkkonfiguration ------------------------------------------------------------------------ 359 6.3.1 Allgemeine Einstellungen ------------------------------------------------------------------------ 361 6.3.2 TCP/IP-Dienstprogramme ------------------------------------------------------------------------ 364 6.3.3 Datei- und Druckserver unter Windows ------------------------------------------------------------------------ 365 6.3.4 Windows-Server ------------------------------------------------------------------------ 367 6.4 Uebungsaufgaben ------------------------------------------------------------------------ 373 7 Linux ------------------------------------------------------------------------ 375 7.1 Arbeiten mit der Shell ------------------------------------------------------------------------ 376 7.1.1 Booten und Log-in 376 ------------------------------------------------------------------------ 379 7.1.2 Virtuelle Terminals ------------------------------------------------------------------------ 380 7.1.3 Grundfunktionen der Shell ------------------------------------------------------------------------ 386 7.1.4 Hilfefunktionen ------------------------------------------------------------------------ 389 7.1.5 Pipes und Ein-/Ausgabeumleitung ------------------------------------------------------------------------ 392 7.1.6 Die wichtigsten Systembefehle ------------------------------------------------------------------------ 406 7.2 Konfigurations- und Administrationsaufgaben ------------------------------------------------------------------------ 407 7.2.1 Syslog und Log-Dateien ------------------------------------------------------------------------ 408 7.2.2 Programme automatisch starten ------------------------------------------------------------------------ 410 7.2.3 Software installieren ------------------------------------------------------------------------ 412 7.3 Automatisierung ------------------------------------------------------------------------ 412 7.3.1 Shell-Skripte ------------------------------------------------------------------------ 416 7.3.2 Weitere Hilfsmittel ------------------------------------------------------------------------ 418 7.4 Editoren ------------------------------------------------------------------------ 419 7.4.1 vi ------------------------------------------------------------------------ 427 7.4.2 Emacs ------------------------------------------------------------------------ 433 7.5 Grafische Benutzeroberflaechen ------------------------------------------------------------------------ 433 7.5.1 Der X-Server ------------------------------------------------------------------------ 435 7.5.2 Desktops ------------------------------------------------------------------------ 439 7.6 Netzwerkkonfiguration unter Linux ------------------------------------------------------------------------ 439 7.6.1 Grundeinstellungen ------------------------------------------------------------------------ 441 7.6.2 TCP/IP-Dienstprogramme ------------------------------------------------------------------------ 441 7.6.3 Datei- und Druckserver unter Linux ------------------------------------------------------------------------ 446 7.7 Uebungsaufgaben ------------------------------------------------------------------------ 446 7.7.1 Praktische Uebungen ------------------------------------------------------------------------ 446 7.7.2 Kontrollfragen ------------------------------------------------------------------------ 451 8 macOS ------------------------------------------------------------------------ 455 8.1 Mit Aqua arbeiten ------------------------------------------------------------------------ 457 8.1.1 Die Menueleiste ------------------------------------------------------------------------ 459 8.1.2 Das Dock ------------------------------------------------------------------------ 460 8.1.3 Der Finder ------------------------------------------------------------------------ 462 8.1.4 Mission Control und Dashboard ------------------------------------------------------------------------ 464 8.2 Systemkonfiguration ------------------------------------------------------------------------ 465 8.2.1 Besonderheiten der Mac Dateisysteme ------------------------------------------------------------------------ 466 8.3 macOS-Netzwerkkonfiguration ------------------------------------------------------------------------ 416 8.3.1 Serverdienste unter macOS ------------------------------------------------------------------------ 469 8.4 Uebungsaufgaben ------------------------------------------------------------------------ 473 9 Grundlagen der Programmierung ------------------------------------------------------------------------ 475 9.1 Die Programmiersprache C ------------------------------------------------------------------------ 476 9.1.1 Das erste Beispiel ------------------------------------------------------------------------ 479 9.1.2 Elemente der Sprache C ------------------------------------------------------------------------ 498 9.1.3 Die C-Standardbibliothek ------------------------------------------------------------------------ 504 9.2 Java ------------------------------------------------------------------------ 507 9.2.1 Grundlegende Elemente der Sprache Java ------------------------------------------------------------------------ 512 9.2.2 Objektorientierte Programmierung mit Java ------------------------------------------------------------------------ 518 9.2.3 Weitere Java-Elemente ------------------------------------------------------------------------ 530 9.3 Python ------------------------------------------------------------------------ 532 9.3.1 Das erste Beispiel ------------------------------------------------------------------------ 533 9.3.2 Grundelemente von Python ------------------------------------------------------------------------ 567 9.3.3 Objektorientierung in Python ------------------------------------------------------------------------ 590 9.3.4 Die Python-Standardbibliothek ------------------------------------------------------------------------ 595 9.4 Uebungsaufgaben ------------------------------------------------------------------------ 599 10 Konzepte der Programmierung ------------------------------------------------------------------------ 599 10.1 Algorithmen und Datenstrukturen ------------------------------------------------------------------------ 599 10.1.1 Ein einfaches Praxisbeispiel ------------------------------------------------------------------------ 602 10.1.2 Sortieralgorithmen ------------------------------------------------------------------------ 607 10.1.3 Suchalgorithmen ------------------------------------------------------------------------ 608 10.1.4 Ausgewaehlte Datenstrukturen ------------------------------------------------------------------------ 625 10.2 Regulaere Ausdruecke ------------------------------------------------------------------------ 627 10.2.1 Muster fuer regulaere, Ausdruecke ------------------------------------------------------------------------ 630 10.2.2 Programmierung mit regulaeren Ausdruecken ------------------------------------------------------------------------ 643 10.3 Systemnahe Programmierung ------------------------------------------------------------------------ 643 10.3.1 Prozesse und Pipes ------------------------------------------------------------------------ 648 10.3.2 Threads ------------------------------------------------------------------------ 652 10.4 Einfuehrung in die Netzwerkprogrammierung ------------------------------------------------------------------------ 652 10.4.1 Die Berkeley Socket API ------------------------------------------------------------------------ 658 10.4.2 Ein praktisches Beispiel ------------------------------------------------------------------------ 661 10.5 GUI- und Grafikprogrammierung ------------------------------------------------------------------------ 662 10.5.1 Zeichnungen und Grafiken erstellen ------------------------------------------------------------------------ 668 10.5.2 Animation ------------------------------------------------------------------------ 672 10.5.3 Programmierung fensterbasierter Anwendungen ------------------------------------------------------------------------ 686 10.6 Uebungsaufgaben ------------------------------------------------------------------------ 689 11 Mobile Development ------------------------------------------------------------------------ 690 11.1 iOS-Apps mit Xcode und Swift ------------------------------------------------------------------------ 690 11.1.1 iOS im Schnellueberblick ------------------------------------------------------------------------ 691 11.1.2 Xcode und Swift ------------------------------------------------------------------------ 693 11.1.3 Swift-Grundlagen ------------------------------------------------------------------------ 699 11.2 Eine iOS-App entwickeln ------------------------------------------------------------------------ 699 11.2.1 Das Projekt einrichten ------------------------------------------------------------------------ 702 11.2.2 Die Benutzeroberflaeche vorbereiten ------------------------------------------------------------------------ 702 11.2.3 Die Swift-Klasse fuer die Datenausgabe erstellen ------------------------------------------------------------------------ 707 11.2.4 Letzte Schritte ------------------------------------------------------------------------ 709 11.3 Uebungsaufgaben ------------------------------------------------------------------------ 711 12 Software-Engineering ------------------------------------------------------------------------ 712 12.1 Ueberblick ------------------------------------------------------------------------ 713 12.1.1 Der Entwicklungszyklus ------------------------------------------------------------------------ 714 12.1.2 Planung und Analyse ------------------------------------------------------------------------ 720 12.1.3 Entwurf ------------------------------------------------------------------------ 721 12.1.4 Implementierung und Test ------------------------------------------------------------------------ 723 12.1.5 Dokumentation ------------------------------------------------------------------------ 724 12.1.6 Konkrete Entwicklungsverfahren ------------------------------------------------------------------------ 728 12.2 Werkzeuge ------------------------------------------------------------------------ 728 12.2.1 UML ------------------------------------------------------------------------ 734 12.2.2 Entwurfsmuster ------------------------------------------------------------------------ 749 12.2.3 Unit-Tests ------------------------------------------------------------------------ 754 12.2.4 Weitere nuetzliche Software ------------------------------------------------------------------------ 759 12.3 Uebungsaufgaben ------------------------------------------------------------------------ 763 13 Datenbanken ------------------------------------------------------------------------ 764 13.1 Die verschiedenen Datenbanktypen ------------------------------------------------------------------------ 766 13.1.1 Einzeltabellendatenbanken ------------------------------------------------------------------------ 767 13.1.2 Relationale Datenbanken ------------------------------------------------------------------------ 775 13.1.3 Objektorientierte Datenbanken ------------------------------------------------------------------------ 778 13.2 MySQL - ­ein konkretes RDBMS ------------------------------------------------------------------------ 779 13.2.1 MySQL installieren und konfigurieren ------------------------------------------------------------------------ 782 13.2.2 Erste Schritte mit dem >>mysql<< Client ------------------------------------------------------------------------ 783 13.3 SQL-Abfragen ------------------------------------------------------------------------ 784 13.3.1 Datenbanken und Tabellen erzeugen ------------------------------------------------------------------------ 788 13.3.2 Auswahlabfragen ------------------------------------------------------------------------ 792 13.3.3 Einfuege-, Loesch- und Aenderungsabfragen ------------------------------------------------------------------------ 793 13.3.4 Transaktionen ------------------------------------------------------------------------ 794 13.4 MySQL-Administration ------------------------------------------------------------------------ 795 13.4.1 >>mysqladmin<< ------------------------------------------------------------------------ 795 13.4.2 Benutzerverwaltung ------------------------------------------------------------------------ 800 13.4.3 Import und Export von Daten, Backups ------------------------------------------------------------------------ 803 13.4.4 Konfigurationsdateien ------------------------------------------------------------------------ 804 13.4.5 Log-Dateien ------------------------------------------------------------------------ 805 13.4.6 Replikation ------------------------------------------------------------------------ 807 13.5 Grundlagen der Datenbankprogrammierung ------------------------------------------------------------------------ 811 13.6 CouchDB im Ueberblick ------------------------------------------------------------------------ 811 13.6.1 Das Konzept von CouchDB ------------------------------------------------------------------------ 812 13.6.2 Praktischer Einstieg in CouchDB ------------------------------------------------------------------------ 815 13.7 Uebungsaufgaben ------------------------------------------------------------------------ 815 13.7.1 Praktische Uebungen ------------------------------------------------------------------------ 816 13.7.2 Kontrollfragen ------------------------------------------------------------------------ 821 14 Server fuer Webanwendungen ------------------------------------------------------------------------ 821 14.1 HTTP im Ueberblick ------------------------------------------------------------------------ 822 14.1.1 Ablauf der HTTP-Kommunikation ------------------------------------------------------------------------ 825 14.1.2 HTTP-Statuscodes ------------------------------------------------------------------------ 829 14.1.3 HTTP-Header ------------------------------------------------------------------------ 835 14.2 Der Webserver Apache ------------------------------------------------------------------------ 835 14.2.1 Apache im Ueberblick ------------------------------------------------------------------------ 837 14.2.2 Apache-Module ------------------------------------------------------------------------ 839 14.2.3 Apache installieren ------------------------------------------------------------------------ 842 14.2.4 Apache-Konfiguration ------------------------------------------------------------------------ 857 14.3 PHP installieren und einrichten ------------------------------------------------------------------------ 857 14.3.1 Installation ------------------------------------------------------------------------ 861 14.3.2 Die PHP-Konfigurationsdatei >>php.ini<< ------------------------------------------------------------------------ 864 14.4 Virtualisierung und Container ------------------------------------------------------------------------ 865 14.4.1 Virtualisierungsloesungen im Ueberblick ------------------------------------------------------------------------ 866 14.4.2 VirtualBox als konkretes Beispiel ------------------------------------------------------------------------ 869 14.4.3 Container-Virtualisierung mit Docker ------------------------------------------------------------------------ 873 14.5 Uebungsaufgaben ------------------------------------------------------------------------ 873 14.5.1 Praktische Uebungen ------------------------------------------------------------------------ 873 14.5.2 Kontrollfragen ------------------------------------------------------------------------ 877 15 Weitere Internet-Serverdienste ------------------------------------------------------------------------ 877 15.1 Namens- und Verzeichnisdienste ------------------------------------------------------------------------ 877 15.1.1 Der DNS-Server BIND ------------------------------------------------------------------------ 884 15.1.2 Der Verzeichnisdienst OpenLDAP ------------------------------------------------------------------------ 893 15.2 Sonstige Server ------------------------------------------------------------------------ 893 15.2.1 >>vsftpd<<, ein FTP-Server ------------------------------------------------------------------------ 895 15.2.2 >>inetd<< und >>xinetd<< ------------------------------------------------------------------------ 898 15.3 Uebungsaufgaben ------------------------------------------------------------------------ 901 16 XML ------------------------------------------------------------------------ 903 16.1 Der Aufbau von XML-Dokumenten ------------------------------------------------------------------------ 904 16.1.1 Die grundlegenden Bestandteile von XML Dokumenten ------------------------------------------------------------------------ 911 16.1.2 Wohlgeformtheit ------------------------------------------------------------------------ 913 16.2 DTDs und XML Schema ------------------------------------------------------------------------ 914 16.2.1 Document Type Definitions (DTDs) ------------------------------------------------------------------------ 925 16.2.2 Namensraume ------------------------------------------------------------------------ 926 16.2.3 XML Schema ------------------------------------------------------------------------ 929 16.3 XSLT ------------------------------------------------------------------------ 930 16.3.1 Ein einfaches Beispiel ------------------------------------------------------------------------ 932 16.3.2 Wichtige XSLT- und XPath-Elemente ------------------------------------------------------------------------ 935 16.4 Grundlagen der XML-Programmierung ------------------------------------------------------------------------ 937 16.4.1 SAX ------------------------------------------------------------------------ 945 16.4.2 DOM ------------------------------------------------------------------------ 947 16.4.3 Das Python-Modul >>xml.etree<< ------------------------------------------------------------------------ 950 16.5 Uebungsaufgaben ------------------------------------------------------------------------ 950 16.5.1 Praktische Uebungen ------------------------------------------------------------------------ 950 16.5.2 Kontrollfragen ------------------------------------------------------------------------ 957 17 Weitere Datei- und Datenformate ------------------------------------------------------------------------ 957 17.1 Textdateien und Zeichensaetze ------------------------------------------------------------------------ 958 17.1.1 Das Problem des Zeilenumbruchs ------------------------------------------------------------------------ 960 17.1.2 Zeichensaetze ------------------------------------------------------------------------ 967 17.1.3 Textbasierte Dateiformate ------------------------------------------------------------------------ 969 17.2 Binaere Dateiformate ------------------------------------------------------------------------ 972 17.2.1 Bilddateiformate ------------------------------------------------------------------------ 976 17.2.2 Multimedia-Dateiformate ------------------------------------------------------------------------ 978 17.2.3 Archivdateien verwenden ------------------------------------------------------------------------ 982 17.3 Uebungsaufgaben ------------------------------------------------------------------------ 987 18 Webseitenerstellung mit HTML und CSS ------------------------------------------------------------------------ 988 18.1 HTML und XHTML ------------------------------------------------------------------------ 989 18.1.1 Die Grundstruktur von HTML-Dokumenten ------------------------------------------------------------------------ 991 18.1.2 Textstrukturierung und Textformatierung ------------------------------------------------------------------------ 999 18.1.3 Listen und Aufzaehlungen ------------------------------------------------------------------------ 1002 18.1.4 Hyperlinks ------------------------------------------------------------------------ 1007 18.1.5 Bilder in Webseiten einbetten ------------------------------------------------------------------------ 1011 18.1.6 Tabellen ------------------------------------------------------------------------ 1017 18.1.7 Formulare ------------------------------------------------------------------------ 1025 18.1.8 Einbetten von Multimedia-Dateien ------------------------------------------------------------------------ 1026 18.1.9 Metatags und Suchmaschinen ------------------------------------------------------------------------ 1029 18.2 Cascading Style Sheets(CSS) ------------------------------------------------------------------------ 1030 18.2.1 Platzieren von Stylesheets ------------------------------------------------------------------------ 1032 18.2.2 Stylesheet-Wertangaben ------------------------------------------------------------------------ 1034 18.2.3 Stylesheet-Eigenschaften ------------------------------------------------------------------------ 1038 18.2.4 Layer erzeugen und positionieren ------------------------------------------------------------------------ 1045 18.2.5 Die wichtigsten Neuerungen in CSS3 ------------------------------------------------------------------------ 1049 18.3 Uebungsaufgaben ------------------------------------------------------------------------ 1059 19 Webserveranwendungen ------------------------------------------------------------------------ 1059 19.1 PHP ------------------------------------------------------------------------ 1060 19.1.1 Sprachgrundlagen ------------------------------------------------------------------------ 1077 19.1.2 Klassen und Objekte ------------------------------------------------------------------------ 1092 19.1.3 lnclude-Dateien, Autoloader und Namespaces ------------------------------------------------------------------------ 1095 19.1.4 Webspezifische Funktionen ------------------------------------------------------------------------ 1100 19.1.5 Zugriff auf MySQL-Datenbanken ------------------------------------------------------------------------ 1112 19.1.6 Unit-Tests mit PHPUnit ------------------------------------------------------------------------ 1121 19.1.7 PHP als Kommandozeilensprache ------------------------------------------------------------------------ 1122 19.2 Eine REST-API implementieren ------------------------------------------------------------------------ 1123 19.2.1 Die API im Ueberblick ------------------------------------------------------------------------ 1125 19.2.2 Die Grundarchitektur der API ------------------------------------------------------------------------ 1127 19.2.3 Der komplette Quellcode ------------------------------------------------------------------------ 1145 19.2.4 Die API testen ------------------------------------------------------------------------ 1146 19.3 Uebungsaufgaben ------------------------------------------------------------------------ 1149 20 JavaScript und Ajax ------------------------------------------------------------------------ 1150 20.1 Grundlagen ------------------------------------------------------------------------ 1150 20.1.1 JavaScript im HTML-Dokument ------------------------------------------------------------------------ 1157 20.1.2 Formulare und Event-Handler ------------------------------------------------------------------------ 1174 20.1.3 Datums- und Uhrzeitfunktionen ------------------------------------------------------------------------ 1180 20.1.4 Manipulation von Bildern ------------------------------------------------------------------------ 1182 20.1.5 Browser- und Fensteroptionen ------------------------------------------------------------------------ 1188 20.2 Das Document Object Model (DOM) ------------------------------------------------------------------------ 1189 20.2.1 W3C-DOM im Ueberblick ------------------------------------------------------------------------ 1192 20.2.2 Eine DOM-Baum-Anzeige ------------------------------------------------------------------------ 1195 20.2.3 DOM-Anwendung in der Praxis ------------------------------------------------------------------------ 1198 20.2.4 Dokumentinhalte veraendern und austauschen ------------------------------------------------------------------------ 1200 20.2.5 >>data<< Attribute verwenden ------------------------------------------------------------------------ 1201 20.3 Ajax ------------------------------------------------------------------------ 1202 20.3.1 Die erste Ajax-Anwendung ------------------------------------------------------------------------ 1208 20.3.2 Datenaustauschformate: XML und JSON ------------------------------------------------------------------------ 1209 20.3.3 Groeszeres Beispiel: eine interaktive Laenderliste ------------------------------------------------------------------------ 1219 20.4 jQuery ------------------------------------------------------------------------ 1219 20.4.1 jQuery im Ueberblick ------------------------------------------------------------------------ 1223 20.4.2 Ein REST-Client mit jQuery ------------------------------------------------------------------------ 1233 20.5 Die JavaScript-Bibliothek React.js ------------------------------------------------------------------------ 1234 20.5.1 Einfuehrungsbeispiel ------------------------------------------------------------------------ 1239 20.5.2 Eigene React-Child-Komponenten definieren ------------------------------------------------------------------------ 1243 20.5.3 Einen API-Client mit React schreiben ------------------------------------------------------------------------ 1248 20.5.4 Der REST-Client im Detail ------------------------------------------------------------------------ 1260 20.6 Uebungsaufgaben ------------------------------------------------------------------------ 1263 21 Computer und Netzwerksicherheit ------------------------------------------------------------------------ 1264 21.1 PC-Gefahren ------------------------------------------------------------------------ 1264 21.1.1 Viren und Wuermer ------------------------------------------------------------------------ 1270 21.1.2 Trojaner und Backdoors ------------------------------------------------------------------------ 1272 21.1.3 Weitere Schaedlinge ------------------------------------------------------------------------ 1277 21.2 Netzwerk- und Serversicherheit ------------------------------------------------------------------------ 1277 21.2.1 Servergefahren ------------------------------------------------------------------------ 1279 21.2.2 Wichtige Gegenmasznahmen ------------------------------------------------------------------------ 1285 21.2.3 Kryptografie ------------------------------------------------------------------------ 1288 21.3 Uebungsaufgaben ------------------------------------------------------------------------ 1291 Anhang ------------------------------------------------------------------------ 1291 A Glossar ------------------------------------------------------------------------ 1303 B Zweisprachige Wortliste ------------------------------------------------------------------------ 1309 C Kommentiertes Literatur- und Linkverzeichnis ------------------------------------------------------------------------ 1321 Index ------------------------------------------------------------------------ ******* EOF ************************************************************