Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Informatik (eBook)

Eine praktische Einführung mit Bash und Python
eBook Download: PDF | EPUB
2017 | 2. Auflage
242 Seiten
De Gruyter Oldenbourg (Verlag)
978-3-11-049687-1 (ISBN)

Lese- und Medienproben

Informatik -  Tobias Häberlein
Systemvoraussetzungen
Systemvoraussetzungen
29,95 inkl. MwSt
(CHF 29,25)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Die praktische Informatik lebt vom Ausprobieren verschiedener Lösungswege, dem Experimentieren mit Programmkonstrukten und Algorithmen, und allgemein vom 'Selbermachen'. Darauf baut das didaktische Konzept des Buchs auf: Anhand einer Vielzahl an Aufgaben kann der Student die präsentierten Konzepte selbst erfahren, mit Ihnen arbeiten und so die eigentlichen Probleme der Informatik wirklich verstehen.

Vorwort???????????????????????????? 5
Inhalt?????????????????????????? 11
1 Was ist Informatik????????????????????????????????????????????????????????? 15
2 Unix/Linux und Shell-Programmierung???????????????????????????????????????????????????????????????????????????????????????? 22
2.1 Grundlegendes???????????????????????????????????????????????? 22
2.1.1 Wozu dient ein Betriebssystem??????????????????????????????????????????????????????????????????????????????????????? 22
2.1.2 Unix vs. Linux?????????????????????????????????????????????????????? 24
2.1.3 Der Aufbau von Linux?????????????????????????????????????????????????????????????????? 24
2.1.4 Die Shell???????????????????????????????????????????? 25
2.1.5 Multitasking?????????????????????????????????????????????????? 26
2.1.6 Das Dateisystem von Unix?????????????????????????????????????????????????????????????????????????? 27
2.2 Erste wichtige Kommandos?????????????????????????????????????????????????????????????????????? 28
2.2.1 Aufbau von Shell-Kommandos?????????????????????????????????????????????????????????????????????????????? 29
2.2.2 Befehle für Verzeichnisse???????????????????????????????????????????????????????????????????????????? 30
2.2.3 Befehle für Dateien???????????????????????????????????????????????????????????????? 31
2.2.4 Befehle für die Benutzerverwaltung?????????????????????????????????????????????????????????????????????????????????????????????? 33
2.2.5 Befehle des Prozesssystems?????????????????????????????????????????????????????????????????????????????? 34
2.2.6 Sonstige Befehle?????????????????????????????????????????????????????????? 35
2.3 Textdateien erstellen und editieren mit vi?????????????????????????????????????????????????????????????????????????????????????????????????????????? 36
2.4 Features der Shell?????????????????????????????????????????????????????????? 38
2.4.1 Eingabe???????????????????????????????????????? 38
2.4.2 Wildcards???????????????????????????????????????????? 39
2.4.3 Umleitungen und Pipes???????????????????????????????????????????????????????????????????? 40
2.4.4 Shellvariablen?????????????????????????????????????????????????????? 43
2.4.5 Ausblendung von Sonderbedeutungen???????????????????????????????????????????????????????????????????????????????????????????? 45
2.4.6 Verknüpfungen von Kommandos???????????????????????????????????????????????????????????????????????????????? 46
2.5 Weitere Kommandos???????????????????????????????????????????????????????? 48
2.5.1 Das find-Kommando???????????????????????????????????????????????????????????? 48
2.5.2 Das grep-Kommando???????????????????????????????????????????????????????????? 50
2.5.3 Der cut-Befehl?????????????????????????????????????????????????????? 53
2.5.4 Das sort-Kommando???????????????????????????????????????????????????????????? 54
2.5.5 Die head- und tail-Kommandos?????????????????????????????????????????????????????????????????????????????????? 55
2.6 Shell-Programmierung?????????????????????????????????????????????????????????????? 55
2.6.1 Dateneingabe?????????????????????????????????????????????????? 56
2.6.2 Kommandozeilenparameter???????????????????????????????????????????????????????????????????????? 57
2.6.3 Bedingungen testen?????????????????????????????????????????????????????????????? 58
2.6.4 Programmschleifen???????????????????????????????????????????????????????????? 61
3 Python-Programmierung???????????????????????????????????????????????????????????? 65
3.1 Arbeiten mit Python???????????????????????????????????????????????????????????? 66
3.1.1 Python 3 vs. Python 2???????????????????????????????????????????????????????????????????? 66
3.1.2 Installation?????????????????????????????????????????????????? 67
3.1.3 Ein erstes Python-Programm?????????????????????????????????????????????????????????????????????????????? 67
3.1.4 Die Python-Shell?????????????????????????????????????????????????????????? 68
3.1.5 Python Notebooks?????????????????????????????????????????????????????????? 68
3.2 Einfache Datentypen???????????????????????????????????????????????????????????? 70
3.2.1 Zahlen?????????????????????????????????????? 70
3.2.2 Boolesche Werte???????????????????????????????????????????????????????? 70
3.2.3 Strings???????????????????????????????????????? 71
3.2.4 Variablen???????????????????????????????????????????? 71
3.2.5 Operatoren?????????????????????????????????????????????? 72
3.3 Grundlegende Konzepte???????????????????????????????????????????????????????????????? 74
3.3.1 Einrücktiefe?????????????????????????????????????????????????? 74
3.3.2 Kontrollfluss???????????????????????????????????????????????????? 75
3.3.3 Schleifenabbruch?????????????????????????????????????????????????????????? 79
3.3.4 Anweisungen vs. Ausdrücke???????????????????????????????????????????????????????????????????????????? 79
3.3.5 Funktionen?????????????????????????????????????????????? 81
3.4 Zusammengesetzte Datentypen???????????????????????????????????????????????????????????????????????????? 84
3.4.1 Listen und Sequenzen?????????????????????????????????????????????????????????????????? 84
3.4.2 Allgemeine Sequenzoperationen???????????????????????????????????????????????????????????????????????????????????? 86
3.4.3 Wichtige Operationen auf Listen???????????????????????????????????????????????????????????????????????????????????????? 88
3.4.4 Referenzen?????????????????????????????????????????????? 90
3.4.5 Tupel???????????????????????????????????? 91
3.4.6 Dictionaries?????????????????????????????????????????????????? 91
3.4.7 Strings (Fortsetzung)???????????????????????????????????????????????????????????????????? 94
3.5 Funktionale Programmierung?????????????????????????????????????????????????????????????????????????? 97
3.5.1 Listenkomprehensionen???????????????????????????????????????????????????????????????????? 98
3.5.2 Die map-Funktion?????????????????????????????????????????????????????????? 103
3.5.3 Die filter-Funktion???????????????????????????????????????????????????????????????? 105
3.5.4 Die reduce-Funktion???????????????????????????????????????????????????????????????? 107
3.6 Dateien und Verzeichnisse???????????????????????????????????????????????????????????????????????? 110
3.6.1 Datei-Objekte???????????????????????????????????????????????????? 111
3.6.2 Dateimanipulation mit Listenkomprehensionen???????????????????????????????????????????????????????????????????????????????????????????????????????????????? 114
3.6.3 Verzeichnisse???????????????????????????????????????????????????? 117
3.7 Objektorientierte Programmierung?????????????????????????????????????????????????????????????????????????????????????? 119
3.7.1 Definition und Verwendung einer Klasse?????????????????????????????????????????????????????????????????????????????????????????????????????? 120
4 Programmierung mit regulären Ausdrücken???????????????????????????????????????????????????????????????????????????????????????????????? 125
4.1 Verwendung Regulärer Ausdrücke in Python?????????????????????????????????????????????????????????????????????????????????????????????????????? 125
4.1.1 Das Kommando re.findall???????????????????????????????????????????????????????????????????????? 126
4.1.2 Das Kommando re.sub???????????????????????????????????????????????????????????????? 127
4.1.3 Das Kommando re.search?????????????????????????????????????????????????????????????????????? 130
4.2 Komponenten Regulärer Ausdrücke???????????????????????????????????????????????????????????????????????????????????? 131
4.2.1 Einfache Konstrukte???????????????????????????????????????????????????????????????? 132
4.2.2 Rückwärtsreferenzen (Backreferences)?????????????????????????????????????????????????????????????????????????????????????????????????? 138
4.2.3 Greedy vs. Non-Greedy???????????????????????????????????????????????????????????????????? 140
4.2.4 Lookahead???????????????????????????????????????????? 141
4.3 Reguläre Ausdrücke vs. Suchausdrücke mit Listenkomprehensionen?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 144
5 Datenbanken und Datenbankprogrammierung???????????????????????????????????????????????????????????????????????????????????????????????? 149
5.1 Wozu Datenbanken????????????????????????????????????????????????????????? 149
5.1.1 Daten-Persistenz?????????????????????????????????????????????????????????? 149
5.1.2 Dateisystem als Datenspeicher???????????????????????????????????????????????????????????????????????????????????? 149
5.1.3 Anforderungen an Persistenzmechanismen?????????????????????????????????????????????????????????????????????????????????????????????????????? 150
5.2 Datenbankmanagementsysteme (DBMS)???????????????????????????????????????????????????????????????????????????????????????? 151
5.2.1 Transaktionskonzept???????????????????????????????????????????????????????????????? 151
5.2.2 Funktionsweise eines DBMS???????????????????????????????????????????????????????????????????????????? 152
5.2.3 Einsatz von DBMS?????????????????????????????????????????????????????????? 153
5.3 Relationale DBMS?????????????????????????????????????????????????????? 153
5.3.1 Tabellen, Schemata, Zeilen, Spalten???????????????????????????????????????????????????????????????????????????????????????????????? 153
5.3.2 Erstellen einer Tabelle in MySQL mit Python???????????????????????????????????????????????????????????????????????????????????????????????????????????????? 154
5.4 SQL-Abfragen?????????????????????????????????????????????? 158
5.4.1 Relationenalgebra???????????????????????????????????????????????????????????? 158
5.4.2 Das SELECT-Kommando???????????????????????????????????????????????????????????????? 159
5.4.3 Zählen und Statistiken?????????????????????????????????????????????????????????????????????? 162
5.4.4 Joins: Verknüpfung von Tabellen???????????????????????????????????????????????????????????????????????????????????????? 163
5.5 Entwurf relationaler DBMS???????????????????????????????????????????????????????????????????????? 164
5.5.1 Entity-Relationship-Diagramme???????????????????????????????????????????????????????????????????????????????????? 164
5.5.2 Umsetzung in ein relationales Modell?????????????????????????????????????????????????????????????????????????????????????????????????? 167
5.5.3 Normalisierung?????????????????????????????????????????????????????? 169
5.6 Nicht-Relationale DBMS?????????????????????????????????????????????????????????????????? 172
5.6.1 CouchDB: Datenverfügbarkeit vs. Datenkonsistenz???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 172
5.6.2 Funktionsprinzipien???????????????????????????????????????????????????????????????? 173
5.6.3 JSON?????????????????????????????????? 176
5.6.4 Erzeugen einer CouchDB-Datenbank mit Python???????????????????????????????????????????????????????????????????????????????????????????????????????????????? 177
5.6.5 Benutzerdefinierte Views mit MapReduce?????????????????????????????????????????????????????????????????????????????????????????????????????? 179
6 Internet und Internetprogrammierung???????????????????????????????????????????????????????????????????????????????????????? 184
6.1 Einführung in die Funktionsweise des Internet???????????????????????????????????????????????????????????????????????????????????????????????????????????????? 184
6.1.1 Geschichtliches???????????????????????????????????????????????????????? 184
6.1.2 Netzwerk-Protokolle???????????????????????????????????????????????????????????????? 185
6.1.3 Das TCP/IP-Referenzmodell???????????????????????????????????????????????????????????????????????????? 185
6.1.4 Internetworking???????????????????????????????????????????????????????? 187
6.1.5 Sockets???????????????????????????????????????? 188
6.1.6 Host, Server, Client?????????????????????????????????????????????????????????????????? 189
6.2 Socketprogrammierung?????????????????????????????????????????????????????????????? 190
6.3 Dateitransfer mit FTP???????????????????????????????????????????????????????????????? 193
6.4 HTML und Datentransfer von URLs???????????????????????????????????????????????????????????????????????????????????? 195
6.4.1 HTML?????????????????????????????????? 195
6.4.2 Datentransfer von URLs?????????????????????????????????????????????????????????????????????? 196
6.5 Dynamische Web-Seiten???????????????????????????????????????????????????????????????? 198
6.5.1 htmlgen: Generierung von HTML-Code?????????????????????????????????????????????????????????????????????????????????????????????? 198
6.5.2 Ein einfacher Web-Server?????????????????????????????????????????????????????????????????????????? 200
6.5.3 Ein erstes CGI-Skript???????????????????????????????????????????????????????????????????? 201
6.5.4 Komplexere CGI-Skripte?????????????????????????????????????????????????????????????????????? 202
7 Nebenläufige und Parallele Programmierung???????????????????????????????????????????????????????????????????????????????????????????????????? 205
7.1 Grundlegendes???????????????????????????????????????????????? 205
7.1.1 Prozesse, Tasks und Threads???????????????????????????????????????????????????????????????????????????????? 205
7.1.2 Nebenläufigkeit vs. Parallelität?????????????????????????????????????????????????????????????????????????????????????????? 206
7.1.3 Multithreading, Time-Sharing und Threadzustände???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 207
7.1.4 Programmierung mit Threads vs. Multi-Core-Programmierung?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 208
7.2 Parallele Rechnerarchitekturen?????????????????????????????????????????????????????????????????????????????????? 208
7.2.1 NOWs?????????????????????????????????? 209
7.2.2 SMPs und Mehrkern-Prozessoren???????????????????????????????????????????????????????????????????????????????????? 209
7.2.3 GPUs?????????????????????????????????? 210
7.2.4 Hardware-seitiges Multithreading?????????????????????????????????????????????????????????????????????????????????????????? 212
7.3 Techniken Paralleler Programmierung???????????????????????????????????????????????????????????????????????????????????????????? 212
7.3.1 Locks???????????????????????????????????? 212
7.3.2 Message-Passing???????????????????????????????????????????????????????? 213
7.3.3 Bulk Synchronous Parallel Model (BSP)???????????????????????????????????????????????????????????????????????????????????????????????????? 213
7.4 Multithread-Programmierung in Python?????????????????????????????????????????????????????????????????????????????????????????????? 214
7.4.1 Das threading-Modul???????????????????????????????????????????????????????????????? 215
7.4.2 Verwendung von Locks?????????????????????????????????????????????????????????????????? 216
7.4.3 Das queue-Modul???????????????????????????????????????????????????????? 219
7.5 Multicore-Programmierung in Python?????????????????????????????????????????????????????????????????????????????????????????? 222
7.5.1 Das multiprocessing-Modul???????????????????????????????????????????????????????????????????????????? 222
7.5.2 Das mpi4py-Modul?????????????????????????????????????????????????????????? 225
Literatur???????????????????????????????? 233
Stichwortverzeichnis?????????????????????????????????????????????????????? 234

Erscheint lt. Verlag 21.11.2017
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 3-11-049687-9 / 3110496879
ISBN-13 978-3-11-049687-1 / 9783110496871
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 2,1 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

EPUBEPUB (Wasserzeichen)
Größe: 29,9 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Discover tactics to decrease churn and expand revenue

von Jeff Mar; Peter Armaly

eBook Download (2024)
Packt Publishing (Verlag)
CHF 24,60