Inhaltsverzeichnis
Vorwort
Worum geht es in diesem Buch?
Kapitelübersicht
Für wen ist dieses Buch geeignet?
Danksagungen
1 Einführung
1.1 Informationstechnik, Informatik und EDV
1.1.1 Fachrichtungen der Informatik
1.1.2 Überblick über die IT-Ausbildung
1.2 Die Geschichte der Rechenmaschinen und Computer
1.2.1 Die Vorgeschichte
1.2.2 Die Entwicklung der elektronischen Rechner
1.2.3 Entwicklung der Programmiersprachen
1.3 Digitale Speicherung und Verarbeitung von Informationen
1.3.1 Digitale Bilddaten
1.3.2 Digitale Audiodaten
1.3.3 Digitale Speicherung von Text
1.4 Zusammenfassung
2 Mathematische und technische Grundlagen
2.1 Einführung in die Logik
2.1.1 Aussagen
2.1.2 Aussageformen
2.1.3 Logische Verknüpfungen
2.1.4 Mengenoperationen
2.1.5 Weitere wichtige Berechnungsverfahren
2.2 Informationsspeicherung im Computer
2.2.1 Zahlensysteme
2.2.2 Bits und Bytes
2.3 Elektronische Grundlagen
2.3.1 Einfache Schaltungen
2.3.2 Zusammengesetzte Schaltungen
2.4 Automatentheorien und -simulationen
2.4.1 Algorithmen
2.4.2 Die Turing-Maschine
2.4.3 Der virtuelle Prozessor
2.5 Zusammenfassung
3 Hardware
3.1 Grundlagen
3.2 Die Zentraleinheit
3.2.1 Aufbau und Aufgaben des Prozessors
3.2.2 Der Arbeitsspeicher
3.2.3 Das BIOS
3.2.4 Bus- und Anschlusssysteme
3.3 Die Peripherie
3.3.1 Massenspeicher
3.3.2 Eingabegeräte
3.3.3 Ausgabegeräte
3.3.4 Soundhardware
3.4 Zusammenfassung
4 Netzwerkgrundlagen
4.1 Einführung
4.1.1 Was ist ein Netzwerk?
4.1.2 Entstehung der Netzwerke
4.2 Funktionsebenen von Netzwerken
4.2.1 Das OSI-Referenzmodell
4.2.2 Das Schichtenmodell der Internetprotokolle
4.2.3 Netzwerkkommunikation über die Schichten eines Schichtenmodells
4.3 Klassifizierung von Netzwerken
4.3.1 Die Reichweite des Netzwerks
4.3.2 Die Netzwerktopologie
4.3.3 Der Zentralisierungsgrad des Netzwerks
4.4 Netzwerkkarten, Netzwerkkabel und Netzzugangsverfahren
4.4.1 Die verschiedenen Ethernet-Standards
4.4.2 Token Ring
4.4.3 Drahtlose Netze
4.4.4 Sonstige Zugangsarten
4.5 Datenfernübertragung
4.5.1 Netzwerkzugang per Modem (analoge Telefonleitung)
4.5.2 ISDN
4.5.3 DSL-Dienste
4.5.4 Internetzugänge über Mobilfunk
4.6 Die TCP/IP-Protokollfamilie
4.6.1 Netzzugang in TCP/IP-Netzwerken
4.6.2 IP-Adressen, Datagramme und Routing
4.6.3 Transportprotokolle
4.6.4 Das Domain Name System (DNS)
4.6.5 Verschiedene Internet-Anwendungsprotokolle
4.7 Andere Protokollstapel
4.7.1 Die AppleTalk-Protokollfamilie
4.7.2 Novell IPX/SPX
4.7.3 NetBEUI/SMB
4.8 Zusammenfassung
5 Betriebssystemgrundlagen
5.1 Entwicklung der Betriebssysteme
5.1.1 Die Geschichte von Unix
5.1.2 PC-Betriebssysteme
5.2 Aufgaben und Konzepte
5.2.1 Allgemeiner Aufbau von Betriebssystemen
5.2.2 Prozessverwaltung
5.2.3 Speicherverwaltung
5.2.4 Dateisysteme
5.3 Die allgegenwärtige Virtualisierung
5.3.1 Virtualisierungslösungen im Überblick
5.3.2 VMware Workstation als konkretes Beispiel
5.4 Zusammenfassung
6 Windows
6.1 Allgemeine Informationen
6.1.1 Die verschiedenen Windows-Versionen
6.1.2 Windows-Dateisysteme
6.2 Windows im Einsatz
6.2.1 Die Windows-Benutzeroberfläche
6.2.2 Die Windows-Konsole
6.2.3 Die Windows PowerShell
6.2.4 Windows-Konfiguration
6.3 Windows-Netzwerkkonfiguration
6.3.1 Allgemeine Einstellungen
6.3.2 TCP/IP-Dienstprogramme
6.3.3 Datei- und Druckserver unter Windows
6.3.4 Windows-Server
6.4 Zusammenfassung
7 Linux
7.1 Arbeiten mit der Shell
7.1.1 Booten und Login
7.1.2 Virtuelle Terminals
7.1.3 Grundfunktionen der Shell
7.1.4 Hilfefunktionen
7.1.5 Pipes und Ein-/Ausgabeumleitung
7.1.6 Die wichtigsten Systembefehle
7.2 Konfigurations- und Administrationsaufgaben
7.2.1 Syslog und Log-Dateien
7.2.2 Programme automatisch starten
7.2.3 Software installieren
7.3 Automatisierung
7.3.1 Shell-Skripte
7.3.2 Weitere Hilfsmittel
7.4 Editoren
7.4.1 vi
7.4.2 Emacs
7.5 Grafische Benutzeroberflächen
7.5.1 Der X-Server
7.5.2 Desktops
7.6 Netzwerkkonfiguration unter Linux
7.6.1 Grundeinstellungen
7.6.2 TCP/IP-Dienstprogramme
7.6.3 Datei- und Druckserver unter Linux
7.7 Zusammenfassung
8 Mac OS X
8.1 Mit Aqua arbeiten
8.1.1 Die Menüleiste
8.1.2 Das Dock
8.1.3 Der Finder
8.1.4 Exposé und Dashboard
8.2 Systemkonfiguration
8.2.1 Besonderheiten der Mac-Dateisysteme
8.3 Mac OS X-Netzwerkkonfiguration
8.3.1 Serverdienste unter Mac OS X
8.4 Zusammenfassung
9 Grundlagen der Programmierung
9.1 Die Programmiersprache C
9.1.1 Das erste Beispiel
9.1.2 Elemente der Sprache C
9.1.3 Die C-Standardbibliothek
9.2 Java
9.2.1 Grundlegende Elemente der Sprache Java
9.2.2 Objektorientierte Programmierung mit Java
9.2.3 Dateizugriffe in Java
9.3 Perl
9.3.1 Das erste Beispiel
9.3.2 Elemente der Sprache Perl
9.4 Ruby
9.4.1 Das erste Beispiel
9.4.2 Ruby-Grundelemente
9.4.3 Objektorientierung in Ruby
9.5 Zusammenfassung
10 Konzepte der Programmierung
10.1 Algorithmen und Datenstrukturen
10.1.1 Ein einfaches Praxisbeispiel
10.1.2 Sortier-Algorithmen
10.1.3 Such-Algorithmen
10.1.4 Ausgewählte Datenstrukturen
10.2 Reguläre Ausdrücke
10.2.1 Muster für reguläre Ausdrücke
10.2.2 Programmierung mit regulären Ausdrücken
10.3 Systemnahe Programmierung
10.3.1 Prozesse und Pipes
10.3.2 Threads
10.4 Einführung in die Netzwerkprogrammierung
10.4.1 Die Berkeley Socket API
10.4.2 Ein praktisches Beispiel
10.4.3 Ein Ruby-Webserver
10.5 Verteilte Anwendungen mit Java Enterprise Edition
10.5.1 Enterprise Java Beans (EJB)
10.5.2 Java Servlets
10.5.3 Webservices
10.6 GUI- und Grafikprogrammierung
10.6.1 Zeichnungen und Grafiken erstellen
10.6.2 Animation
10.6.3 Programmierung fensterbasierter Anwendungen
10.6.4 Java-Applets
10.7 Zusammenfassung
11 Software-Engineering
11.1 Überblick
11.1.1 Der Entwicklungszyklus
11.1.2 Planung und Analyse
11.1.3 Entwurf
11.1.4 Implementierung und Test
11.1.5 Dokumentation
11.1.6 Konkrete Entwicklungsverfahren
11.2 Werkzeuge
11.2.1 UML
11.2.2 Entwurfsmuster
11.2.3 Unit-Tests
11.3 Zusammenfassung
12 Datenbanken
12.1 Die verschiedenen Datenbanktypen
12.1.1 Einzeltabellendatenbanken
12.1.2 Relationale Datenbanken
12.1.3 Objektorientierte Datenbanken
12.2 MySQL – ein konkretes RDBMS
12.2.1 MySQL installieren und konfigurieren
12.2.2 Erste Schritte mit dem mysql-Client
12.3 SQL-Abfragen
12.3.1 Datenbanken und Tabellen erzeugen
12.3.2 Auswahlabfragen
12.3.3 Einfüge-, Lösch- und Änderungsabfragen
12.3.4 Transaktionen
12.4 MySQL-Administration
12.4.1 mysqladmin
12.4.2 Benutzerverwaltung
12.4.3 Import und Export von Daten, Backups
12.4.4 Konfigurationsdateien
12.4.5 Log-Dateien
12.4.6 Replikation
12.5 Grundlagen der Datenbankprogrammierung
12.6 Zusammenfassung
13 Server für Webanwendungen
13.1 HTTP im Überblick
13.1.1 Ablauf der HTTP-Kommunikation
13.1.2 HTTP-Statuscodes
13.1.3 HTTP-Header
13.2 Der Webserver Apache
13.2.1 Apache im Überblick
13.2.2 Apache-Module
13.2.3 Apache installieren
13.2.4 Apache-Konfiguration
13.3 PHP installieren und einrichten
13.3.1 Installation
13.3.2 Die PHP-Konfigurationsdatei »php.ini«
13.4 Zusammenfassung
14 Weitere Internet-Serverdienste
14.1 Namens- und Verzeichnisdienste
14.1.1 Der DNS-Server BIND
14.1.2 Der Verzeichnisdienst OpenLDAP
14.2 Sonstige Server
14.2.1 vsftpd, ein FTP-Server
14.2.2 inetd und xinetd
14.3 Zusammenfassung
15 XML
15.1 Der Aufbau von XML-Dokumenten
15.1.1 Die grundlegenden Bestandteile von XML-Dokumenten
15.1.2 Wohlgeformtheit
15.2 DTDs und XML Schema
15.2.1 Document Type Definitions (DTDs)
15.2.2 Namensräume
15.2.3 XML Schema
15.3 XSLT
15.4 Grundlagen der XML-Programmierung
15.4.1 SAX
15.4.2 DOM
15.5 Zusammenfassung
16 Weitere Datei- und Datenformate
16.1 Textdateien und Zeichensätze
16.1.1 Das Problem des Zeilenumbruchs
16.1.2 Zeichensätze
16.1.3 Textbasierte Dateiformate
16.2 Binäre Dateiformate
16.2.1 Bilddateiformate
16.2.2 Multimedia-Dateiformate
16.2.3 Archivdateien verwenden
16.3 Zusammenfassung
17 Webseitenerstellung mit (X)HTML und CSS
17.1 HTML und XHTML
17.1.1 Die Grundstruktur von HTML-Dokumenten
17.1.2 Textstrukturierung und Textformatierung
17.1.3 Listen und Aufzählungen
17.1.4 Hyperlinks
17.1.5 Bilder in Webseiten einbetten
17.1.6 Tabellen
17.1.7 Formulare
17.1.8 Einbetten von Multimedia-Dateien
17.1.9 Meta-Tags und Suchmaschinen
17.2 Cascading Style Sheets (CSS)
17.2.1 Platzieren von Stylesheets
17.2.2 Stylesheet-Wertangaben
17.2.3 Stylesheet-Eigenschaften
17.2.4 Layer erzeugen und positionieren
17.3 Zusammenfassung
18 Webserveranwendungen
18.1 PHP
18.1.1 Sprachgrundlagen
18.1.2 Klassen und Objekte
18.1.3 Include-Dateien, Autoloader und Namespaces
18.1.4 Webspezifische Funktionen
18.1.5 Zugriff auf MySQL-Datenbanken
18.1.6 Unit-Tests mit PHPUnit
18.2 Ruby on Rails
18.2.1 Grundlagen
18.2.2 Ein Praxisbeispiel
18.3 Weitere Technologien im Überblick
18.3.1 Content Management, Weblogs & Co.
18.3.2 Blogs und Wikis
18.4 Zusammenfassung
19 JavaScript und Ajax
19.1 JavaScript
19.2 JavaScript im HTML-Dokument
19.2.1 Erstes Beispiel: Ausgabe ins Dokument
19.3 Formulare und Event Handler
19.3.1 Erstes Beispiel
19.3.2 Zugriff auf Formulare und ihre Elemente
19.4 Datums- und Uhrzeit-Funktionen
19.4.1 Datums- und Uhrzeit-Methoden
19.4.2 Timeout – die JavaScript-»Stoppuhr«
19.5 Manipulation von Bildern
19.5.1 Erstes Beispiel: Austauschen eines Bildes auf Knopfdruck
19.5.2 Vorausladen von Bildern
19.5.3 Eine gut funktionierende Rollover-Lösung
19.6 Browser- und Fensteroptionen
19.6.1 Browser-Eigenschaften
19.6.2 Automatische Hyperlinks – History und Location
19.6.3 Neue Browserfenster öffnen
19.7 DHTML und DOM
19.7.1 W3C-DOM im Überblick
19.7.2 Eine DOM-Baum-Anzeige
19.7.3 DOM-Anwendung in der Praxis
19.7.4 Dokumentinhalte verändern und austauschen
19.8 Ajax
19.8.1 Die erste Ajax-Anwendung
19.8.2 Datenaustauschformate: XML und JSON
19.8.3 Größeres Beispiel: eine interaktive Länderliste
19.9 Zusammenfassung
20 Computer- und Netzwerksicherheit
20.1 PC-Gefahren
20.1.1 Viren und Würmer
20.1.2 Trojaner und Backdoors
20.1.3 Weitere Schädlinge
20.2 Netzwerk- und Serversicherheit
20.2.1 Servergefahren
20.2.2 Wichtige Gegenmaßnahmen
20.2.3 Kryptografie
20.3 Zusammenfassung
A Glossar
B Zweisprachige Wortliste
B.1 Englisch-Deutsch
B.2 Deutsch-Englisch
C Kommentiertes Literatur- und Linkverzeichnis
C.1 Allgemeine Einführungen und Überblicke
C.2 Mathematische und technische Grundlagen
C.3 Hardware
C.4 Netzwerktechnik
C.5 Betriebssystemgrundlagen
C.6 Windows
C.7 Linux
C.8 Mac OS X
C.9 Grundlagen der Programmierung
C.10 Konzepte der Programmierung
C.11 Software-Engineering
C.12 Datenbanken
C.13 Server für Webanwendungen
C.14 Weitere Internet-Serverdienste
C.15 XML
C.16 Webseitenerstellung mit HTML und CSS
C.17 Webserveranwendungen
C.18 JavaScript und Ajax
C.19 Computer- und Netzwerksicherheit
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.