|
|
Inhalt
|
|
Inhaltsverzeichnis
1 Einführung 25
1.1 Informationstechnik, Informatik
und EDV 25
1.1.1 Fachrichtungen der
Informatik 26
1.1.2 Überblick über die
IT-Ausbildung 27
1.2 Die Geschichte der
Rechenmaschinen und Computer 33
1.2.1 Die Vorgeschichte 35
1.2.2 Die Entwicklung der
elektronischen Rechner 36
1.2.3 Entwicklung der
Programmiersprachen 45
1.3 Digitale Speicherung und
Verarbeitung von Informationen 51
1.3.1 Digitale Bilddaten
53
1.3.2 Digitale Audiodaten
54
1.3.3 Digitale Speicherung von
Text 55
1.4 Zusammenfassung 56
2 Mathematische und technische
Grundlagen 57
2.1 Einführung in die Logik 57
2.1.1 Aussagen 58
2.1.2 Aussageformen 59
2.1.3 Logische Verknüpfungen
60
2.1.4 Mengenoperationen 67
2.1.5 Weitere wichtige
Berechnungsverfahren 70
2.2 Informationsspeicherung im
Computer 72
2.2.1 Zahlensysteme 72
2.2.2 Bits und Bytes 78
2.3 Elektronische Grundlagen
82
2.3.1 Einfache Schaltungen
82
2.3.2 Zusammengesetzte
Schaltungen 86
2.4 Automatentheorien und
-simulationen 90
2.4.1 Algorithmen 90
2.4.2 Die Turing-Maschine
95
2.4.3 Der virtuelle Prozessor
99
2.5 Zusammenfassung 105
3 Hardware 107
3.1 Grundlagen 107
3.2 Die Zentraleinheit 111
3.2.1 Aufbau und Aufgaben des
Prozessors 112
3.2.2 Der Arbeitsspeicher
122
3.2.3 Das BIOS 124
3.2.4 Bus- und Anschlusssysteme
130
3.3 Die Peripherie 139
3.3.1 Massenspeicher 140
3.3.2 Eingabegeräte 152
3.3.3 Ausgabegeräte 156
3.3.4 Sound-Hardware 162
3.4 Zusammenfassung 163
4 Netzwerkgrundlagen 165
4.1 Grundlagen 165
4.1.1 Was ist ein Netzwerk?
165
4.1.2 Entstehung der Netzwerke
167
4.2 Funktionsebenen von Netzwerken
172
4.2.1 Das OSI-Referenzmodell
172
4.2.2 Das Schichtenmodell der
Internetprotokolle 175
4.2.3 Netzwerkkommunikation über
die Schichten eines Schichtenmodells
178
4.3 Klassifizierung von Netzwerken
181
4.3.1 Die Reichweite des
Netzwerks 182
4.3.2 Die Netzwerktopologie
183
4.3.3 Der Zentralisierungsgrad
des Netzwerks 184
4.4 Netzwerkkarten, Netzwerkkabel
und Netzzugangsverfahren 191
4.4.1 Die verschiedenen
Ethernet-Standards 192
4.4.2 Token Ring 197
4.4.3 Drahtlose Netze 198
4.4.4 Sonstige Zugangsarten
203
4.5 Datenfernübertragung 204
4.5.1 Netzwerkzugang per Modem
(analoge Telefonleitung) 205
4.5.2 ISDN 207
4.5.3 DSL-Dienste 209
4.6 Die TCP/IP-Protokollfamilie
211
4.6.1 Netzzugang in
TCP/IP-Netzwerken 212
4.6.2 IP-Adressen, Datagramme
und Routing 213
4.6.3 Transportprotokolle
240
4.6.4 Das Domain Name System
(DNS) 246
4.6.5 Verschiedene
Internet-Anwendungsprotokolle 250
4.7 Andere Protokollstapel 266
4.7.1 Die
AppleTalk-Protokollfamilie 266
4.7.2 Novell IPX/SPX 269
4.7.3 NetBEUI/SMB 270
4.8 Zusammenfassung 271
5 Betriebssystemgrundlagen
273
5.1 Entwicklung der Betriebssysteme
274
5.1.1 Die Geschichte von UNIX
276
5.1.2 PC-Betriebssysteme
277
5.2 Aufgaben und Konzepte 282
5.2.1 Allgemeiner Aufbau von
Betriebssystemen 282
5.2.2 Prozessverwaltung
289
5.2.3 Speicherverwaltung
294
5.2.4 Dateisysteme 296
5.3 Zusammenfassung 303
6 Windows 305
6.1 Allgemeine Informationen
305
6.1.1 Die verschiedenen
Windows-Versionen 305
6.1.2 Windows-Dateisysteme
309
6.2 Windows im Einsatz 310
6.2.1 Die
Windows-Benutzeroberfläche 310
6.2.2 Die Windows-Konsole
319
6.2.3 Die Windows PowerShell
323
6.2.4 Windows-Konfiguration
334
6.3 Windows-Netzwerkkonfiguration
341
6.3.1 Allgemeine Einstellungen
341
6.3.2 TCP/IP-Dienstprogramme
342
6.3.3 Datei- und Druckserver
unter Windows 346
6.3.4 Windows-Server 347
6.4 Zusammenfassung 349
7 Linux und UNIX 351
7.1 Arbeiten mit der Shell 353
7.1.1 Booten und Login 353
7.1.2 Virtuelle Terminals
356
7.1.3 Grundfunktionen der Shell
357
7.1.4 Hilfefunktionen 363
7.1.5 Pipes und
Ein-/Ausgabeumleitung 366
7.1.6 Die wichtigsten
Systembefehle 369
7.2 Konfigurations- und
Administrationsaufgaben 383
7.2.1 Syslog und Logdateien
383
7.2.2 Programme automatisch
starten 384
7.2.3 Software installieren
386
7.3 Automatisierung 388
7.3.1 Shell-Skripte 389
7.3.2 Weitere Hilfsmittel
392
7.4 Editoren 395
7.4.1 vi 395
7.4.2 Emacs 398
7.5 Grafische Benutzeroberflächen
401
7.5.1 Der X-Server 401
7.5.2 Desktops 403
7.6 Netzwerkkonfiguration unter
Linux 407
7.6.1 Grundeinstellungen
407
7.6.2 TCP/IP-Dienstprogramme
409
7.6.3 Datei- und Druckserver
unter Linux 409
7.7 Mac OS X 415
7.7.1 Mit Aqua arbeiten
417
7.7.2 Systemkonfiguration
421
7.7.3 Mac OS
X-Netzwerkkonfiguration 423
7.7.4 Serverdienste unter Mac OS
X 425
7.8 Zusammenfassung 426
8 Grundlagen der Programmierung
429
8.1 Die Programmiersprache C
430
8.1.1 Das erste Beispiel
431
8.1.2 Elemente der Sprache C
434
8.1.3 Die C-Standardbibliothek
452
8.2 Java 457
8.2.1 Grundlegende Elemente der
Sprache Java 459
8.2.2 Objektorientierte
Programmierung mit Java 463
8.2.3 Dateizugriffe in Java
469
8.3 Perl 471
8.3.1 Das erste Beispiel
472
8.3.2 Elemente der Sprache Perl
473
8.4 Ruby 484
8.4.1 Das erste Beispiel
485
8.4.2 Ruby-Grundelemente
487
8.4.3 Objektorientierung in Ruby
501
8.5 Zusammenfassung 512
9 Konzepte der Programmierung
515
9.1 Algorithmen und Datenstrukturen
515
9.1.1 Ein einfaches
Praxisbeispiel 515
9.1.2 Sortier-Algorithmen
518
9.1.3 Such-Algorithmen 522
9.1.4 Ausgewählte
Datenstrukturen 524
9.2 Reguläre Ausdrücke 529
9.2.1 Muster für reguläre
Ausdrücke 530
9.2.2 Programmierung mit
regulären Ausdrücken 534
9.3 Systemnahe Programmierung
537
9.3.1 Prozesse und Pipes
537
9.3.2 Threads 541
9.4 Einführung in die
Netzwerkprogrammierung 545
9.4.1 Die Berkeley Socket API
545
9.4.2 Ein praktisches Beispiel
552
9.4.3 Ein Ruby-Webserver
556
9.5 Verteilte Anwendungen mit J2EE
572
9.5.1 Enterprise Java Beans
(EJB) 573
9.5.2 Java Servlets 578
9.5.3 Web Services 579
9.6 GUI- und Grafikprogrammierung
582
9.6.1 Zeichnungen und Grafiken
erstellen 583
9.6.2 Animation 589
9.6.3 Programmierung
fensterbasierter Anwendungen 592
9.6.4 Java-Applets 606
9.7 Die Entwicklungsumgebung Eclipse
608
9.7.1 Überblick 608
9.7.2 Java-Entwicklung mit
Eclipse 609
9.8 Zusammenfassung 614
10 Software-Engineering 617
10.1 Überblick 618
10.1.1 Der Entwicklungszyklus
619
10.1.2 Planung und Analyse
620
10.1.3 Entwurf 626
10.1.4 Implementierung und Test
627
10.1.5 Dokumentation 628
10.1.6 Konkrete
Entwicklungsverfahren 629
10.2 Werkzeuge 632
10.2.1 UML 633
10.2.2 Entwurfsmuster 639
10.2.3 Unit-Tests 646
10.3 Zusammenfassung 651
11 Datenbanken 653
11.1 Die verschiedenen
Datenbanktypen 654
11.1.1 Einzeltabellendatenbanken
655
11.1.2 Relationale Datenbanken
657
11.1.3 Objektorientierte
Datenbanken 664
11.2 MySQL – ein konkretes DBMS
667
11.2.1 MySQL installieren und
konfigurieren 667
11.2.2 Erste Schritte mit dem
mysql-Client 671
11.3 SQL-Abfragen 671
11.3.1 Datenbanken und Tabellen
erzeugen 672
11.3.2 Auswahlabfragen 676
11.3.3 Einfüge-, Lösch- und
Änderungsabfragen 680
11.3.4 Transaktionen 682
11.4 MySQL-Administration 683
11.4.1 mysqladmin 683
11.4.2 Benutzerverwaltung
684
11.4.3 Import und Export von
Daten, Backups 689
11.4.4 Konfigurationsdateien
692
11.4.5 Logdateien 693
11.4.6 Replikation 695
11.5 Grundlagen der
Datenbankprogrammierung 697
11.6 Zusammenfassung 700
12 Server für Webanwendungen
703
12.1 HTTP im Überblick 703
12.1.1 Ablauf der
HTTP-Kommunikation 704
12.1.2 HTTP-Statuscodes
707
12.1.3 HTTP-Header 710
12.2 Der Webserver Apache 714
12.2.1 Apache im Überblick
714
12.2.2 Apache-Module 716
12.2.3 Apache installieren
717
12.2.4 Apache-Konfiguration
721
12.3 PHP installieren und einrichten
734
12.3.1 Installation 734
12.3.2 Die
PHP-Konfigurationsdatei php.ini
738
12.3.3 phpMyAdmin einrichten
741
12.4 Zusammenfassung 745
13 Weitere
Internet-Serverdienste 747
13.1 Namens- und Verzeichnisdienste
747
13.1.1 Der DNS-Server BIND
747
13.1.2 Der Verzeichnisdienst
OpenLDAP 753
13.2 Sonstige Server 763
13.2.1 vsftpd, ein FTP-Server
763
13.2.2 inetd und xinetd
764
13.3 Zusammenfassung 768
14 XML 769
14.1 Der Aufbau von XML-Dokumenten
771
14.1.1 Die grundlegenden
Bestandteile von XML-Dokumenten
771
14.1.2 Wohlgeformtheit 779
14.2 DTDs und XML Schema 781
14.2.1 Document Type Definitions
(DTDs) 781
14.2.2 Namensräume 792
14.2.3 XML Schema 793
14.3 XSLT 796
14.4 Grundlagen der
XML-Programmierung 799
14.4.1 SAX 800
14.4.2 DOM 807
14.5 Zusammenfassung 809
15 Weitere Datei- und
Datenformate 811
15.1 Textdateien und Zeichensätze
811
15.1.1 Das Problem des
Zeilenumbruchs 812
15.1.2 Zeichensätze 814
15.1.3 Textbasierte Dateiformate
821
15.2 Binäre Dateiformate 824
15.2.1 Bilddateiformate
827
15.2.2 Multimedia-Dateiformate
831
15.2.3 Archivdateien verwenden
833
15.3 Zusammenfassung 836
16 Webseitenerstellung mit
(X)HTML und CSS 839
16.1 HTML und XHTML 840
16.1.1 Die Grundstruktur von
HTML-Dokumenten 841
16.1.2 Textstrukturierung und
Textformatierung 843
16.1.3 Listen und Aufzählungen
849
16.1.4 Hyperlinks 852
16.1.5 Bilder in Webseiten
einbetten 857
16.1.6 Tabellen 860
16.1.7 Formulare 869
16.1.8 Einbetten von
Multimedia-Dateien 875
16.1.9 Meta-Tags und
Suchmaschinen 877
16.2 Cascading Stylesheets (CSS)
880
16.2.1 Platzieren von
Stylesheets 881
16.2.2 Stylesheet-Wertangaben
883
16.2.3 Stylesheet-Eigenschaften
885
16.2.4 Layer erzeugen und
positionieren 888
16.3 Zusammenfassung 891
17 Webserveranwendungen 893
17.1 PHP 893
17.1.1 Sprachgrundlagen
894
17.1.2 Klassen und Objekte
904
17.1.3 Webspezifische Funktionen
909
17.1.4 Zugriff auf
MySQL-Datenbanken 914
17.2 Ruby on Rails 920
17.2.1 Grundlagen 921
17.2.2 Ein Praxisbeispiel
922
17.3 Weitere Technologien im
Überblick 933
17.3.1 Content-Management,
Weblogs & Co. 934
17.3.2 Blogs und Wikis 935
17.4 Zusammenfassung 937
18 JavaScript und Ajax 939
18.1 JavaScript 939
18.2 JavaScript im HTML-Dokument
940
18.2.1 Erstes Beispiel: Ausgabe
ins Dokument 941
18.3 Formulare und Event-Handler
945
18.3.1 Erstes Beispiel 945
18.3.2 Zugriff auf Formulare und
ihre Elemente 946
18.4 Datums- und Uhrzeit-Funktionen
954
18.4.1 Datums- und
Uhrzeit-Methoden 955
18.4.2 Timeout – die
JavaScript-»Stoppuhr« 956
18.5 Manipulation von Bildern
957
18.5.1 Erstes Beispiel:
Austauschen eines Bildes auf Knopfdruck
957
18.5.2 Vorausladen von Bildern
959
18.5.3 Eine gut funktionierende
Rollover-Lösung 959
18.6 Browser- und Fenster-Optionen
964
18.6.1 Browser-Eigenschaften
964
18.6.2 Automatische Hyperlinks –
History und Location 966
18.6.3 Neue Browserfenster
öffnen 966
18.7 DHTML und DOM 971
18.7.1 W3C-DOM im Überblick
971
18.7.2 Eine DOM-Baum-Anzeige
974
18.7.3 DOM-Anwendung in der
Praxis 977
18.7.4 Dokumentinhalte verändern
und austauschen 979
18.8 Ajax 981
18.8.1 Die erste Ajax-Anwendung
982
18.8.2 Datenaustauschformate:
XML und JSON 988
18.8.3 Größeres Beispiel: Eine
interaktive Länderliste 989
18.9 Zusammenfassung 999
19 Computer- und
Netzwerksicherheit 1001
19.1 PC-Gefahren 1002
19.1.1 Viren und Würmer
1002
19.1.2 Trojaner und Backdoors
1007
19.1.3 Weitere Schädlinge
1009
19.2 Netzwerk- und Serversicherheit
1014
19.2.1 Servergefahren 1014
19.2.2 Wichtige Gegenmaßnahmen
1017
19.2.3 Kryptografie 1023
19.3 Zusammenfassung 1025
A Glossar 1031
B Zweisprachige Wortliste
1047
B.1 Englisch-Deutsch 1047
B.2 Deutsch-Englisch 1049
C Kommentiertes Literatur- und
Linkverzeichnis 1053
C.1 Allgemeine Einführungen und
Überblicke 1053
C.2 Mathematische und technische
Grundlagen 1054
C.3 Hardware 1054
C.4 Netzwerktechnik 1055
C.5 Betriebssystemgrundlagen
1055
C.6 Windows 1056
C.7 Linux und UNIX 1056
C.8 Grundlagen der Programmierung
1057
C.9 Konzepte der Programmierung
1059
C.10 Software-Engineering 1059
C.11 Datenbanken 1061
C.12 Server für Webanwendungen
1061
C.13 Weitere Internet-Serverdienste
1062
C.14 XML 1062
C.15 Webseitenerstellung mit HTML
und CSS 1062
C.16 Webserveranwendungen 1063
C.17 JavaScript und Ajax 1064
C.18 Computer- und
Netzwerksicherheit 1064
Index 1065
|
|
|