- Mathias Kettner - Linux Expert -Linux Consulting-Linux Training-Linux-Open Source Projects--
DeutschMathias Kettner
Linux from Experts
 

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.

Nutzen

Nach 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.

Der Dozent

Der Dozent Mathias Kettner ist Diplom Informatiker mit Auszeichnung. Er hat bei SuSE in Nürnberg die technische Basis von YaST2 entwickelt und umgesetzt und Erfahrung in vielen weiteren professionellen C++-Projekten unter Linux - für verschiedene Kunden, aber auch in eigenem Namen.

Im LinuxMagazin 2007/11 erschien ein Artikel von ihm über die Programmierung der von ihm in C++ unter Linux entwickelten Onlineplattform Tauschzone.

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)

Navigation


Fakten


Titel:Softwareentwicklung unter Linux
Dauer:5 Tage
Termin:auf Anfrage
Preis:1.980,- € zzgl. MwSt.

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

Zielgruppe


  • Softwareentwickler

Vorkenntnisse


  • Programmiersprache C oder C++
  • keine Linuxkenntnisse erforderlich!

Unterlagen


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 mit Spiralbindung, in Farbe auf 160g-Papier.

Weitere Leistungen


  • Mittagessen im Restaurant
  • freie Getränke
  • handsortierter Plantagenkaffee

Ort


Mathias Kettner
Open-Source-Schulungen
Steinstraße 44
81668 München
089 / 444 09 662
mk@mathias-kettner.de
.

*-*-*

HomepageSitemapImprintTermsDie Tauschzone

© 2008 Mathias Kettner, last updated at 05th of May 2008