| |
Softwareentwicklung unter Linux
Der zunehmende Erfolg von Linux bringt immer mehr Softwareentwickler
in die Situation, dass sie neuerdings auch für Linux entwickeln wollen
oder sollen. Selbst für erfahrene Fachleute ist der Einstieg in Linux
als Zielplattform kein Pappenstiel. Zwar sind die Sprachen C und C++
als solche unabhängig vom Betriebssystem. Aber viele andere Dinge sind
unter Linux eben doch anders.
Dabei ist der Umgang mit Linux als Arbeitsumfeld nur eine Baustelle.
Trotz der verfügbaren grafischen Oberflächen sind Grundkenntnisse
auf der Kommandozeile unabdingbar. Der sichere Umgang mit Dateien, das Editieren
von Textdateien und die Verwaltung von Prozessen gehört alleine schon
zum Installieren und Testen der eigenen Software zum Grundwissen.
Ein typischer Linux-Administrationskurs würde dieses Wissen sicher
auch vermitteln - aber ein Großteil der für einen Softwareentwickler
wichtigen Fragen bliebe dabei unbeantwortet: Wie funktionieren unter
Linux Compiler und Linker? Wie arbeitet man mit dynamischen
Bibliotheken? Welche Entwicklungsumgebung soll man verwenden? Gerade
beim Thema Systemprogrammierung treten die meisten Unterschiede zu
Windows zu Tage. So ist zum Beispiel die Art, wie man als Entwickler
unter Linux mit Prozessen undere deren Kommunikation umgeht, alles
andere als trivial.
Unsere Schulung Softwareentwicklung unter Linux verschafft
Ihnen als Linux-Neuling nicht nur einen schnellen und zielstrebigen,
spezielle auf Entwickler zugeschnittenen Einstieg in Linux. Sie führt
Sie auch ein in die gängigen Werkzeuge und Methoden, um unter Linux
Software mit C und C++ zu entwickeln. Dabei geben wir Ihnen neben den
Compilewerkzeugen und der Systemprogrammierung auch einen
Einstieg in die Entwicklung von grafischen Anwendung mit
der bekannten Qt-Bibliothek. Die beiden wichtigen Themen
Versionsverwaltung mit Subversion
und das Erstellen von installierbaren Softarepaketen mit RPM
runden den Kurs ab.
Das Besondere an diesem praktisch angelegten Workshop ist seine große
Stoffvielfalt. Alle relevanten Themen der Softwareentwicklung werden
besprochen. Dies ist möglich, weil wir uns geradlinig und zielstrebig
auf das Wichtige konzentrieren. Bei jedem Thema zeigen wir Ihnen, wie
sie weitere Details effektiv online nachschlagen können.
NutzenNach diesem Training können die Teilnehmer Linux auf der Kommandozeile
bedienen und sind in der Lage, alle wichtigen Aufgaben im
Test- / Entwicklungszyklus ihrer Software durchzuführen. Sie können
eigenständig und mit den unter Linux etablierten Methoden systemnahe
Programme schreiben, grafische Anwendungen mit Qt entwickeln,
eigene RPM-Pakete erstellen und ihren Quellcode mit Subversion verwalten.
Sie beherrschen das Schreiben eigener Makefiles, das richtige Einsetzen
von Compiler und Linker und das Debuggen mit dem GNU-Debugger auf Quellcodeebene.
Ferner sind Sie in der Lage, sich weiterführende Details zu den
angesprochenen Themen selbst zu erarbeiten und alle weiteren Schritte
eigenständig zu gehen.
| | |
|
Kursinhalt
Linux auf der Kommandozeile
- Aufbau der Befehlszeile
- Tastendrücke, Tricks und komfortables Editieren auf der Kommandozeile
- Zugriff auf Onlinehilfe
Linuxgrundlagen
- Pfadnamen unter Linux
- Navigieren durch das Dateisystem, die Befehle cd und ls
- Verzeichnisse anlegen und entfernen mit mkdir und rmdir
- Dateien anlegen und löschen mit touch und rm
- Dateien kopieren, umbenennen und verschieben mit cp und mv
- Suchen nach Dateien mit find
- Tipparbeit sparen durch Vervollständigen von Dateinamen und Befehlen mit der Tabulatortaste
- Befehle mit Pipes verbinden
- Zippen und Zusammenpacken von Dateien mit gzip und tar
- Prozesse anzeigen mit ps, pstree und top
- Prozesse abschießen mit kill und killall
Textdateien und Editoren
- Anzeigen von Textdateien mit cat, less und anderen Befehlen
- zwei Textdateien vergleichen mit diff
- Suchen von Texten in Dateien mit grep
- Textdateien editieren mit dem klassichen UNIX-Editor vi (nur kurz)
- der mächtige Texteditor EMACS und sein kleiner Bruder jmacs
- farbige Syntaxhervorhebung für Programmierer
- automatisches Einrücken
- automatisches Ergänzen von Bezeichnern in allen Programmiersprachen
- Arbeiten mit mehreren Dateien und Fenstern gleichzeitig
- die grafische Entwicklungsumgebung KDevelop
C/C++-Compiler und Linux unter Linux
- die GNU-Compiler-Collection (GCC) mit C-Compiler gcc und C++-Compiler g++
- der Linker ld
- Bibliothekeninformationen abrufen mit ldd
- Aufruf und Optionen von Compiler und Linker
- Suchpfade für Include-Dateien und Bibliotheken (Libraries) angeben
- Definition von Präprozessorvariablen
- Compiler-Warnungen konfigurieren
Automatische Compilation mit GNU-Make
- Einführung in Make, der Aufbau eines Makefiles
- automatisches Erstellen von Compilaten, wenn sich die Ausgangsdateien ändern
- spezielle Hilfsvariablen von Make, Definition von Compilationsregeln mithilfe von Mustern (Patterns)
- Variablen in Make verwenden, Zusammenhang zwischen Shell-, Umgebungs- und Präprozessorvariablen
- Textfunktionen, welche generische Makefiles ermöglichen
- mehrzeilige Shellskripte in Makefiles unterbringen
Der GNU-Debugger
- Einführung in die Funktionsweise von GDB, dem GNU-Sourcelevel-Debugger
- wie man den Quellcode so übersetzt, dass man mit dem Debugger auf Quellcodeeben arbeiten kann
- Bedienung des GDB mit der GDB-Kommandozeile, Abrufen von Onlinehilfe
- Andocken an bereits laufende Prozesse "im Fluge"
- Untersuchen des Aufrufstapels (Callstack), Bewegen zwischen den Stackframes
- Untersuchen von Variablen und Werten
- Debuggen mit Coredumps (Post-Mortem-Debuggen)
Einführung in Systemprogrammierung unter Linux/Unix
- Grundlagen der Systemprogrammierung
- wie Sie leicht an gute Onlinedokumentation zu allen Systemaufrufen kommen
- Arbeit mit Filedeskriptoren: die Systemcalls open, close, read und write
- Verwalten von Dateien: die Systemcalls remove, unlink, chmod, chown und andere
- Erzeugen von Prozessen und Laden von Programmen: die Systemaufrufe fork und execve
- Interprozesskommunikation mit Pipes, der Systemcall pipe.
- Klassische Methode, zu Unterprozessen über eine Pipe zu kommunizieren mit pipe, fork und execve
- konzertiertes Warten auf mehrere Dateien und Ereignissen mit select.
Grafische Programme entwickeln mit Qt von Trolltech
- Einführung in die Bibliothek Qt Version 4 von Trolltech
- Das Prinzip der Signale und Slots
- Der Meta Object Compiler (MOC), Makefiles für Qt-Programme schreiben
- Masken mit Knöpfen und Eingabefeldern
- automatisches dynamisches Layout mit QLayout
- Benutzerdialoge mit QDialog
- eigene Widgets erzeugen und mit QPainter grafisch malen
Versionsverwaltung mit Subversion (SVN), dem Nachfolger von CVS
- Grundlagen von Versionskontrolle und SVN
- Anlegen von Repositories, der Befehl svnadmin
- Übersicht über alle wichtigen Befehle von SVN
- Quellcodes auschecken mit svn co
- Dateien und Verzeichnisse hinzufügen und entfernen mit svn add und svn rm
- Änderungen Einchecken
- Zusammenführen von parallelen Änderungen in der gleichen Datei (Mergen)
- Abfragen, wer wann was wo geändert hat
- Subversion über SSH (z.B. um über das Internet verschlüsselt auf ein Repository zuzugreifen)
RPM - Pakete bauen mit dem RPM Package Manager
- Grundlagen von RPM
- Pakete von Hand installieren und entfernen
- wie man selbst RPM-Pakete baut
- Pakete bauen als normaler Benutzer (ohne root-Rechte)
|
|
| | |
|
|
| | |
|
Fakten
| Titel: | Softwareentwicklung unter Linux | | Ort: | München | | Dauer: | 5 Tage | | Termin: | auf Anfrage | | Preis (brutto): | 2.356,20 € inkl. MwSt. (Nettopreis 1.980,- €) | |
|
|
| | |
| | |
|
Themen
- Bedienung von Linux auf der Kommandozeile
- Bedienung des Editors EMACS
- Einsatz des GNU C/C++-Kompilers
- Kompilationssteuerung mit GNU Make
- Der Debugger GDB
- Versionskontrolle mit Subversion
- KDevelop - eine IDE für C/C++
- grafische Anwendungen entwickeln mit Qt
- systemnahe Programmierung unter Linux
- eigene Software mit RPM paketieren
|
|
| | |
| | |
|
Vorkenntnisse
- Programmiersprache C oder C++
- keine Linuxkenntnisse erforderlich!
|
|
| | |
| | |
|
Unterlagen
- Skript
- Übungen
- Lösungen
- Übersichtskarte
Unsere Schulungsunterlagen entwickeln wir in unserer eigenen Redaktion exklusiv für unsere Schulungen. Da wir diese kontinuierlich verbessern, und modernisieren, fertigen wir sie grundsätzlich für jede Veranstaltung zeitnah an.  Hochwertige und aktuelle Unterlagen - sehr übersichtlich gestaltet
|
|
| | |
| | |
|
Weitere Leistungen
- Mittagessen im Restaurant
- freie Getränke
- handsortierter Plantagenkaffee
|
|
| | |
| |