- Azubi Weiterbildung – Digitale Kommunikation
- Azubi-Projektwoche – NETWAYS: where we live, work and dream.
- Azubi-Abteilungswoche
- Azubis erzählen: Januar 2015 Nadja
- Azubis erzählen: Februar 2015 Marius
- Azubis erzählen: Mai 2017 Gabriel
- Azubis erzählen: März 2015 Jean
- Azubis erzählen: April 2015 Alexander
- Azubis erzählen: Mai 2015 Nadja
- Azubis erzählen: Juni 2015 Marius
- Azubis erzählen: Juli 2015 Jean
- Azubis erzählen: September 2015 Alexander
- Azubis erzählen: November 2015 Nadja
- Azubis erzählen: Oktober 2016 Feu
- Schorsch erzählt – ein Jahr NETWAYS
- Mein erstes Mal PHP
- Technikwoche
Name: Alexander Klimov
Ausbildungsberuf: Fachinformatiker für Anwendungsentwicklung
Abteilung: Development
Lehrjahr: 2
„C hat keine DLLs, sondern nur Headers“, sagte einst einer meiner ehemaligen Berufsschulklassenkollegen.
Solch grob fahrlässige fachbezogene Aussagen gebe ich nicht von mir – zumindest seit ich bei NETWAYS ausgebildet werde. Das Gegenteil des obigen Zitats habe ich hier nicht gelernt, dafür aber einige andere sehr interessante Sachen, die ich diesmal vorstellen will.
Git
Wer von den Fachinformatiker-Auszubildenden kennt das nicht: In der Berufsschule wird im Fach Anwendungsentwicklung und Programmierung ein Programm schrittweise weiterentwickelt und es wird einem nahe gelegt, vor jeder größeren Erweiterung des Programms den Quellcode zu sichern, um ggf. auf einen älteren Stand zugreifen zu können. Für diesen Zweck ist die Versionskontrolle Git viel besser geeignet – nicht zuletzt auch weil das Pflegen von vielen Versionen viel „attraktiver“ ist. Ich hatte zu meinem Glück immer meinen Laptop dabei und kaum ein Programm, dessen Entwicklung nicht auf eine Schulstunde beschränkt war, ohne Git entwickelt.
$ mkdir AWP/Parkautomat && cd $_ $ git init $ editor parkautomat.cpp && git add $_ $ git commit -m "Implementiere einen übertrieben übertriebenen Parkautomaten" $ editor parkautomat.cpp && git add $_ $ git commit -m "Statte den Parkautomaten mit Funktionalität, die kein Mensch braucht, aus"
Zuletzt hat mich ein Kollege das Bisect-Kommando gelehrt. Dieses Wissen habe ich natürlich guten Willens bei nächstbester Gelegenheit weitergegeben.
Vim
Als ich bei NETWAYS angefangen habe, habe ich ernsthaft noch den Texteditor Nano verwendet – mit Ausreden wie „er genügt meinen Ansprüchen“. Aber kaum dass mir ein schönes neues Werkzeug in die Hände fällt, lasse ich den alten, primitiven Kram hinter mir. Auch in der Berufsschule hat der Editor gute Dienste geleistet. Es fiel mir viel leichter, damit zu arbeiten, als mit dem an der Schule propagierten Visual Studio. (Da liest mein Banknachbar in der 1. AWP-Stunde die 5-10-seitige bilderreiche Einführung in das letztgenannte Programm, während ich das zu schreibende Hallo-Welt-Programm schon längst mit Vim abgetippt und mit GCC kompiliert habe. Und – wer hätte das gedacht 😉 – es funktionierte!) Auch ich gehöre mittlerweile zu den Programmierern, die an ihrer .vimrc
hängen.
$ cat ~/.vimrc set bg=dark nu mouse=a ai et sts=4 sy on nmap <F4> :qa<CR> language de_DE.utf8 highlight Normal guibg=Black guifg=White
Puppet
… ist aus einer komplexen und automatisierten IT-Welt wie unserer nicht wegzudenken. Ob viele gleichartige Systeme aufwandarm aufgesetzt werden müssen oder die Entwicklungsumgebungs-VM eines Projektes mit einer Komanndozeile einsatzbereit sein muss – Puppet ist des Systemadministrators Freund und Helfer. Alleine die verglichen mit der konventionellen Bash verkürzte, intuitive und anti-redundante schreibweise für häufig verwendete Komponenten machen die Sprache attraktiv. Die Möglichkeit, Abhängigkeiten der Komponenten untereinander explizit zu definieren, nötigt bei komplexeren Beschaffungen der Systeme regelrecht zur Nutzung von Puppet. Im Rahmen eines Umbaus von Icinga Web 2 habe ich den Aufbau und die Funktionsweise von Puppet kennen gelernt. Mit Hilfe dieses Wissens habe ich für das jüngste von mir betreute Projekt von Grund auf Puppet-Manifeste geschrieben, um mir und anderen die Entwicklung zu erleichtern. Folgendes Beispiel installiert den Apache-Webserver auf Debian/Ubuntu, Fedora/RHEL, openSUSE/SLES und darauf basierenden Systemen:
$apache = $osfamily ? { 'Debian' => 'apache2', 'Suse' => 'apache2', 'RedHat' => 'httpd', } package { $apache: ensure => latest, } -> service { $apache: ensure => running, enable => true, }
SQL
Angesichts des hohen Datenaufkommens, das Anwendungen heutzutage zu bewältigen haben, sind relationale Datenbanken unverzichtbar. Die Vielzahl unterschiedlicher Datenbankmanagementsysteme fordert einen möglichst großen gemeinsamen Nenner der Abfragesprachen. Dieser wurde mit SQL 1986 geschaffen und ist – nicht nur meiner Meinung nach – absolute Pflichtlektüre eines jeden werdenden Fachinformatikers. Im Rahmen der Entwicklung einer Stammdatenverwaltungssoftware bin ich dieser interessanten Thematik gelehrt worden – und auch in der Berufsschule soll das noch auf mich zukommen. Einer der größten Nutzen relationaler Datenbanken ist die Möglichkeit, Datensätze nur ein mal speichern zu müssen und mehrfach darauf verweisen zu können. Folgendes Beispiel ist eine Abfrage der Klassen und -leitungen von Schülern:
SELECT sn.name, k.name, ln.name FROM schueler AS s INNER JOIN klasse AS k ON k.id=s.klasse_id INNER JOIN lehrer AS l ON l.id=k.lehrer_id INNER JOIN natuerliche_person AS sn ON sn.id=s.natuerliche_person_id INNER JOIN natuerliche_person AS ln ON ln.id=l.natuerliche_person_id;
Die Personalien von Schülern und Lehrern und evtl. anderen natürlichen Personen werden hierbei – da gleichartige Datensätze – in einer Tabelle gespeichert. Da bspw. ein Lehrer mehrere Klassenleitungen haben kann, wird er nur ein mal gespeichert und über lehrer.id
referenziert, um Redundanz zu vermeiden.
Fazit
Lehrjahre sind zwar keine Herrenjahre, können aber eine große Bereicherung sein – vor allem für die kommenden Herrenjahre. Und mein vergangenes Lehrjahr hat gezeigt: Sich reinzuhängen lohnt sich – auch bei den unbeliebten Berufsschulfächern.

0 Kommentare
Trackbacks/Pingbacks