Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche

IT-Berufe-Podcast Archiv

214 Episoden
47 Minuten
Die ansprechende Gestaltung der Projektpräsentation ist das Thema der zweiundsechzigsten Episode des Anwendungsentwickler-Podcasts. TL;DR Für deine Projektpräsentation empfehle ich dir, deine eigene Arbeit anhand aussagekräftiger Diagramme, Screenshots und Fotos zu zeigen und dem Ablauf deines Projekts zu folgen. Dazu gehören technische Details sowie Kosten und eine Amortisationsrechnung. Gestalte deine Folien einheitlich und gut lesbar, wobei dir ein heller Hintergrund mit dunkler Schrift und die Drittelregel helfen. Beachte die Vorgaben deiner IHK, bereite dich auf technische Ausfälle vor und übe deinen Vortrag so oft, dass du die vorgegebene Zeit einhältst. Kapitelmarken [00:00:00] Einstieg und Thema Projektpräsentation [00:01:51] Einfluss auf die Note und das Fachgespräch [00:05:05] Vorgaben deiner IHK beachten [00:06:21] Projekthighlights und eigene Arbeit zeigen [00:07:24] Fachliche Kompetenz visuell darstellen [00:08:46] Aufbau entlang der Projektphasen [00:09:43] Inhalt und Kriterien für die Bewertung [00:10:49] Technik und Wirtschaftlichkeit einbeziehen [00:11:31] Persönliche Projektarbeit im Mittelpunkt [00:12:14] Auf technische Ausfälle vorbereiten [00:14:11] Einheitlicher Stil für deine Folien [00:16:28] Texte und Diagramme lesbar zeigen [00:18:08] Folienformat auf Beamer und Leinwand abstimmen [00:19:35] Inhalte mit der Drittelregel platzieren [00:21:39] Heller Hintergrund und dunkle Schrift [00:23:01] Projektinhalte mit Bildern vermitteln [00:24:55] Fotos, Mockups und Screenshots einsetzen [00:27:46] Cliparts und beliebige Stockbilder vermeiden [00:28:44] Corporate Design und Platz für Inhalte [00:32:50] Animationen zum Verständnis einsetzen [00:34:35] Zwischenfolien für die Agenda [00:37:01] Datenschutz durch ausgedachte Beispieldaten [00:38:20] Anwendung als Screencast zeigen [00:39:49] Handout und Bewertung des Vortrags [00:40:14] Vortragszeit einhalten und üben [00:40:58] Präsentationssoftware auswählen [00:42:07] Bücher zur Foliengestaltung [00:43:45] Links und Beispielpräsentationen [00:44:13] PowerPoint-Vorlage mit Drittellinien [00:45:11] Checkliste und Newsletter [00:46:06] Feedback und Verabschiedung Inhalt Mit der Projektpräsentation kannst du deine Endnote stark beeinflussen. Sie zählt nicht nur 25% der Note von Teil A, sondern gibt auch die Richtung für das Fachgespräch vor. Daher kannst und musst du dich von deiner besten Seite zeigen. Oftmals hat ein Großteil des Prüfungsausschusses deine Dokumentation gar nicht gelesen und sieht dich ausschließlich in der Präsentation (und dem anschließenden Fachgespräch). Also widme ihr die gebührende Vorbereitungszeit! Achtung: Wenn deine IHK konkrete Vorgaben bzgl. Inhalt, Zielgruppe, Gestaltung usw. der Projektpräsentation macht, dann halte dich unbedingt daran! Allgemeine Tipps Picke dir nur die Highlights deines Projekts raus und unterstreiche diese durch entsprechende Abbildungen, Diagramme, Graphen. Zeige dein methodisches Vorgehen. Das heißt: UML, ERM, MockUps, EPKs, Netzplan, Quelltext von coolen Algorithmen, Screenshots usw. Den Aufbau würde ich relativ klassisch strukturieren, z.B. in Projektumfeld, Projektidee, Projektrealisierung und Projektergebnis. Auf keinen Fall die Technik (= UML, ERM usw.) und Wirtschaftlichkeit (= Kosten, Amortisation usw.) vergessen! Die Präsentation ist keine Verkaufsshow! Weder für dein Produkt, noch für dein Unternehmen. Verlasse dich nicht auf funktionierendes Internet oder Technik! Konkrete Gestaltungstipps Auf ein stimmiges Gesamtbild (Farben, Schrift, Animationen immer gleich) achten. Alle Texte und insb. Quelltexte und auch Grafiken müssen gut lesbar sein. Zoome ggfs. in wichtige Bereiche rein. Ich empfehle als Folienformat 4:3. Folien dritteln (Hilfslinien nutzen) und die Inhalte optisch ansprechend platzieren. Ich würde wenn immer es geht, einen hellen Hintergrund und eine dunkle Schrift benutzen. Denn viele Beamer sind leider etwas schwach im Kontrast und bei umgekehrter Farbwahl erkennt man dank "grauem" Hintergrund dann nichts mehr. Bilder sind immer besser als Text. Vorstellung des Azubis und des Unternehmens mit Fotos der Mitarbeiter oder des Gebäudes. Fotos der bisherigen Papierdokumente bei der Ist-Analyse. Architektur der Anwendung mit UML-Diagrammen verdeutlichen. Mockups und Screenshots der Anwendung zeigen. Cliparts sind gruselig! Kein Corporate Design verwenden, sondern das Layout, das den Inhalt am besten transportiert. Ich würde gar keine Vorlage nehmen, sondern mit den weißen Folien anfangen. Weg mit dem Firmenlogo, der Seitenzahl und dem Datum auf jeder Folie! Rein mit den bildschirmfüllenden Grafiken, Bildern, Diagrammen usw.! Das CI kann auch mit Farben usw. des Unternehmens umgesetzt werden. Animationen sparsam und sinnvoll einsetzen, z.B. zur Unterstützung der Inhalte (Text/Grafiken nacheinander einblenden). Keine mitlaufende Agenda verwenden (nimmt zu viel Platz weg), sondern Zwischenfolien. Datenschutz beachten. Aber Daten nicht schwärzen, sondern durch Pseudodaten austauschen. Vielleicht kannst du Videos der fertigen Anwendung einbauen. Sonstiges Du brauchst kein Handout! Halte unbedingt die vorgegebene Zeit ein! Das Tool (PowerPoint, Prezi usw.) ist irrelevant. Beispielpräsentationen Literaturempfehlungen Der Präsentationsmeister Garr Reynolds zeigt in Presentation Zen Design* viele praxisnahe Tricks und Gestaltungsmerkmale für ansprechende Präsentationsfolien. Eine absolute Leseempfehlung! * Nancy Duarte, die mit ihrem Unternehmen Duarte Design einen Oscar für die Präsentation von Al Gore in An Inconvenient Truth* bekommen hat, gibt in Slide:ology* viele praktische Tipps für ein ansprechendes Foliendesign. * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Inhalte der Projektpräsentation - Anwendungsentwickler-Podcast #11 Seitenverhältnis der Folien in der Projektpräsentation: 16:9 oder 4:3? Vorlage für die Projektpräsentation der IT-Berufe Drittel-Regel Technische Inhalte kann man nicht mit Bildern illustrieren - Mythen der Projektpräsentation Cliparts werten die Folien auf! - Mythen der Projektpräsentation Corporate Design ist Pflicht - Mythen der Projektpräsentation Animationen sind verboten! - Mythen der Projektpräsentation Die Agenda muss auf jeder Folie stehen - Mythen der Projektpräsentation Handout zur Projektpräsentation Einhaltung der Vortragszeit (15 Minuten) bei der Projektpräsentation Einsatz von Prezi für die Projektpräsentation Weitere Infos zur ProjektpräsentationDu suchst noch mehr Tipps rund um die Projektpräsentation? Dann schau doch mal in diese Artikel- und Podcast-Kategorie: Alle Artikel rund um die Projektpräsentation.Und wenn du dich für meinen Newsletter einträgst, kannst du dir jetzt sofort meine Checkliste für die Projektpräsentation herunterladen.Jetzt anmelden! Zusammenfassung Prüfungsrahmen und Vorbereitung Mit Blick auf die Sommerprüfung 2016 beschreibe ich einen Prüfungsrahmen, in dem Projektpräsentation und Fachgespräch gemeinsam bewertet werden. Für beide Teile sind insgesamt 30 Minuten vorgesehen, die in der Praxis häufig gleichmäßig aufgeteilt werden. Daraus ergibt sich für die Präsentation rechnerisch ein Anteil von etwa 25 Prozent an Teil A beziehungsweise einem Achtel der Gesamtnote. Die gemeinsame Bewertung beider Teile ist dabei zu beachten. Wenn du mit deiner Präsentation einen guten Eindruck hinterlässt, wirkt dieser auch in das anschließende Fachgespräch hinein. Plane deshalb ausreichend Zeit ein, um deine Folien zu gestalten und deinen Vortrag mehrfach zu üben. Erkundige dich bei deiner IHK nach der erlaubten Vortragszeit und den Vorgaben für deine Folien. Halte vorgeschriebene Elemente ein, etwa Foliennummern oder eine mitlaufende Agenda. Auch Vorgaben zum Corporate Design und zur maximalen Folienzahl haben Vorrang vor meinen Empfehlungen. In der von mir beschriebenen Bewertungsmatrix entfallen ungefähr 50 Prozent auf den Inhalt und etwa 15 Prozent auf die Foliengestaltung. Diese Angaben beziehen sich auf meinen Prüfungsausschuss. Inhalte auswählen und den Projektablauf zeigen Für die meist vorgesehenen 15 Minuten wählst du die Stellen deines Projekts aus, an denen deine fachliche Kompetenz sichtbar wird. Zeige, welche Aufgaben du selbst übernommen hast und wie du dabei vorgegangen bist. Ein interessanter Ausschnitt aus deinem Quellcode eignet sich dafür; einfache Getter und Setter haben wenig Aussagekraft. Anhand des Projektablaufs lässt sich dein Vortrag nachvollziehbar strukturieren. Wenn du nach dem Wasserfallmodell gearbeitet hast, gehst du von der Analyse über den Entwurf zur Implementierung und anschließend zu den Tests. Berücksichtige die Projektphasen entsprechend der Arbeit, die du darin geleistet hast. Mit UML-Diagrammen oder einem ER-Modell zeigst du, wie du deine Software entworfen hast. Mockups machen sichtbar, wie du die Oberfläche vorbereitet hast. Ergänzend kannst du Screenshots der fertigen Anwendung zeigen. Zur wirtschaftlichen Seite gehören die Projektkosten und eine Amortisationsrechnung. Deine zeitliche Planung lässt sich beispielsweise durch ein Gantt-Diagramm oder einen lesbaren Netzplan darstellen. Stelle dich und dein Unternehmen kurz vor. Ein Foto mit etwa 20 Sekunden Erläuterung reicht für die Unternehmensvorstellung häufig aus. Die Prüfer:innen bewerten deine persönliche Arbeit und dein methodisches Vorgehen. Unternehmensgröße und ausführliche Angaben zu Standorten tragen dazu wenig bei. Jede Grafik sollte einen fachlichen Inhalt vermitteln. Aussagekräftige Bilder und lesbare Details Aus meiner Arbeit mit IT-Azubis empfehle ich dir, die im Projekt entstandenen Grafiken direkt in deine Folien einzubauen. Ein Klassendiagramm zeigt deine Architektur, während ein Screenshot die fertige Oberfläche sichtbar macht. Für weitere Inhalte eignen sich konkrete Bilder aus deinem Arbeitsumfeld: ...
45 Minuten
Die Kapitel 5 bis 7 (Betriebssystemgrundlagen, Windows und Linux) des IT-Handbuchs für Fachinformatiker sind Thema der einundsechzigsten Folge des Anwendungsentwickler-Podcasts. TL;DR Im fünften Buchclub zum Handbuch für Fachinformatiker von Sascha Kersken gehe ich mit dir die Betriebssystemgrundlagen sowie die Kapitel zu Windows und Linux durch. Für deine Prüfung stehen allgemeine Aufgaben von Betriebssystemen, Dateisysteme und Linux-Dateirechte im Fokus; zum Thema Virtualisierung empfehle ich zusätzliche Literatur. Das Linux-Kapitel hilft dir beim Einstieg in die Shell und beim Arbeiten mit einem eigenen Server, während du unter Windows mit PowerShell Aufgaben automatisieren kannst. Die Einschätzungen zur Prüfung beziehen sich auf den Stand der Episode aus dem Jahr 2016. Kapitelmarken [00:00:20] Buchclub Teil 5: Betriebssysteme, Windows und Linux [00:01:06] Einordnung des macOS-Kapitels [00:02:06] Windows-Grundlagen und allgemeine Prüfungskonzepte [00:03:36] Feedback der IT-Azubis zu den Buchkapiteln [00:05:14] Windows-Tastenkombinationen und Alt + Tab [00:06:09] Linux-Kapitel als Hilfe beim Einrichten eines Servers [00:07:43] Geschichte der Betriebssysteme [00:08:46] Prüfungsthemen und begründete Betriebssystemwahl [00:10:03] Dateisysteme und Dateirechte [00:11:19] Linux-Distributionen und wichtige Verzeichnisse [00:13:12] Kapitel 5: Aufgaben eines Betriebssystems [00:15:03] Kernel und grundlegende Systemkonzepte [00:17:02] Prozesse, Threads und nebenläufiges Programmieren [00:18:03] Speicherverwaltung und Paging [00:18:37] Dateisysteme, Linux-Verzeichnisse und Zugriffsrechte [00:20:07] Virtualisierung und zusätzliche Prüfungsliteratur [00:21:11] Kapitel 6: Windows im Arbeitsalltag [00:22:52] Aufgaben mit PowerShell automatisieren [00:24:31] Windows konfigurieren und Netzwerkfehler suchen [00:25:27] Kapitel 7: Linux-Distributionen und Shell-Grundlagen [00:27:25] Hilfe, Pipes und wichtige Linux-Befehle [00:28:20] Linux-System verwalten und einen eigenen Server betreiben [00:29:09] Linux konfigurieren und Software installieren [00:30:18] Bash-Skripte und Cronjobs [00:31:27] Editoren: vi und Emacs [00:33:45] Grafische Oberflächen und Linux-Netzwerk konfigurieren [00:35:14] CUPS, Samba und Linux in einer VM ausprobieren [00:36:09] macOS und das eigene Betriebssystem kennenlernen [00:37:18] Ausblick auf den nächsten Buchclub [00:41:06] Pseudocode in der schriftlichen Abschlussprüfung [00:42:07] Programmfehler mit Konsolenausgaben suchen [00:43:09] Kommende Prüfungsthemen und geplantes Buch zur Projektpräsentation Inhalt Die drei Kapitel enthalten dieses Mal wenig prüfungsrelevante Inhalte, dafür sehr viel Praxis. Ich wünschte, ich hätte die Kapitel schon vor einigen Monaten mit meinen Auszubildenden gelesen. Gerade die Inhalte von Kapitel 7 zum Thema Linux hätten meine Azubis direkt bei der Installation Ihrer Linux-Server anwenden können. Betriebssystemgrundlagen 5.1 Entwicklung der Betriebssysteme Historie wie immer spannend, aber weder prüfungs- noch praxisrelevant. 5.2 Aufgaben und Konzepte Allgemeine Aufgaben von Betriebssystemen sind wichtig. Beim Lernen den Fokus auf die Unterschiede zwischen Windows und Linux legen. Verständnis von Prozessmodell, Threads und Deadlocks hilft bei der Programmierung. Speicherverwaltung ist eher was fürs Studium. Dateisysteme sind prüfungsrelevant. 5.3 Die allgegenwärtige Virtualisierung Wichtige Prüfungsinhalte! Das Kapitel reicht aber zur Vorbereitung nicht aus. Windows 6.1 Allgemeine Informationen Windows-Historie ist irrelevant für die Prüfung. Viele Inhalte haben eher den Charakter eines Hanbuchs. 6.2 Windows im Einsatz Windows-Konsole ist veraltet. PowerShell ist absolut praxisrelevant und einen tieferen Einstieg wert. 6.3 Windows-Netzwerkkonfiguration Viele wichtige Programme für die Praxis. Linux 7.1 Arbeiten mit der Shell Ein paar Distributionen sollte man nennen können. Funktionen der Shell sind absolut wichtig für die Praxis. Viele hilfreiche Shortcuts werden gezeigt. Alle gezeigten Befehle sind wichtig für die Praxis. 7.2 Konfigurations- und Administrationsaufgaben Auch hier werden wirklich viele relevante Inhalte vermittelt - für die Praxis. 7.3 Automatisierung Für uns Anwendungsentwickler ein interessantes Kapitel, da man Linux mit ein wenig Programmierkenntnissen perfekt skripten kann. 7.4 Editoren Hier ist eigentlich nur ein Kapitel wichtig: Vim! ;-) Emacs kann man vernachlässigen. :-P 7.5 Grafische Benutzeroberflächen Wer arbeitet schon mit einer GUI unter Linux!? 7.6 Netzwerkkonfiguration unter Linux Wieder sehr praxisrelevant! Mac OS Rheinwerk Computing :: IT-Handbuch für Fachinformatiker - 8 Mac OS X Hat für mich keine praktische Relevanz und enthält keine Inhalte für die Prüfung. Literaturempfehlungen *(direkt beim Rheinwerk-Verlag bestellen*) Wenn du richtig tief in Vim einsteigen willst, empfehle ich Practical Vim* von Drew Neil. * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Zusammenfassung Die besprochenen Buchkapitel Für den fünften Buchclub zum Handbuch für Fachinformatiker von Sascha Kersken habe ich mit meinen IT-Azubis die Kapitel 5 bis 7 gelesen: Betriebssystemgrundlagen sowie Windows und Linux. Kapitel 8 zu macOS habe ich ergänzend selbst durchgearbeitet. Meine Einschätzungen zur Abschlussprüfung beziehen sich auf den damaligen Stand im Jahr 2016. Beim Lesen empfanden meine IT-Azubis viele Abschnitte als Benutzerhandbuch, weil Einstellungen anhand von Screenshots beschrieben werden und zahlreiche Fakten aufeinanderfolgen. Diese Kapitel eignen sich zum Nachschlagen. Wie viel du daraus mitnimmst, hängt auch davon ab, wie vertraut du bereits mit dem jeweiligen Betriebssystem bist. Bei meinen IT-Azubis waren beispielsweise einige Windows-Tastenkombinationen noch unbekannt, darunter Alt + Tab zum Wechseln zwischen Fenstern. Worauf du dich für die Prüfung vorbereiten kannst Als Prüfer interessieren mich die allgemeinen Aufgaben eines Betriebssystems und die Gründe, aus denen du dich für ein System entscheidest. Bei einer Aufgabe zur betrieblichen Infrastruktur kannst du etwa Kosten berücksichtigen oder prüfen, welcher Support verfügbar ist und wie sich das System in das vorhandene Netzwerk einfügt. Zu den im Podcast genannten Prüfungsthemen gehören: Aufgaben von Betriebssystemen: Du solltest erläutern können, wie ein Betriebssystem Prozesse und Speicher verwaltet. Dazu kommen die Hardwaresteuerung und die Ein- und Ausgabe. Dateisysteme: Die Eigenschaften eines Dateisystems beeinflussen, welche Betriebssysteme darauf zugreifen können und welche Rechte sich vergeben lassen. FAT32 wird als Beispiel für den gemeinsamen Zugriff mit Windows und Linux genannt. Linux-Dateirechte: Du solltest das grundlegende Rechtemodell einschließlich der Oktaldarstellung verstehen. Linux-Distributionen: In einer bereits gesehenen Prüfungsaufgabe sollten mehrere Distributionen genannt werden. Im Buch stehen beispielsweise Debian und Red Hat sowie openSUSE. Linux-Verzeichnisse: Die Aufgaben wichtiger Verzeichnisse können abgefragt werden. Unter /etc findest du beispielsweise Konfigurationsdateien. Virtualisierung: Dazu kamen in den damaligen Prüfungen regelmäßig Aufgaben vor. Die Geschichte einzelner Betriebssystemversionen hat für die Prüfung wenig Gewicht. Sie zeigt, wie sich die Systeme entwickelt haben; zum Hintergrund von Linux gehört auch der Name Linus Torvalds. Betriebssystemgrundlagen Kernel und weitere Systembestandteile Der Kernel übernimmt die grundlegende Steuerung des Rechners. Im Buch werden Mikro-Kernel und monolithische Kernel behandelt. Den Begriff "monolithisch" begegnest du auch beim Entwickeln von Software, wenn viele Bestandteile eng miteinander verbunden sind. Gerätetreiber und Systemprogramme gehören ebenfalls zu den Grundlagen. Über Schnittstellen können Anwendungsprogramme mit dem Betriebssystem zusammenarbeiten. Solches Wissen hilft dir, die Werkzeuge zu verstehen, mit denen du täglich arbeitest. Prozesse und nebenläufige Programme Beim Entwickeln von Programmen mit mehreren Threads musst du berücksichtigen, dass Race Conditions oder Deadlocks auftreten können. Das Buch führt in die Begriffe ein und behandelt außerdem das Unix-Prozessmodell. Für deine Arbeit als Fachinformatiker:in Anwendungsentwicklung werden diese Konzepte relevant, sobald du nebenläufig programmierst. Speicher und Dateien Beim Paging werden Speicherinhalte beispielsweise auf eine Festplatte ausgelagert. Wenn dein System viel Speicher auslagern muss, kann es langsamer werden. Die ausführlichen Berechnungen zur Speicheradressierung haben in meinem Arbeitsalltag wenig Bedeutung. Mit Dateisystemen beschäftige ich mich genauer, weil ihre Eigenschaften beeinflussen, wie du ein System einsetzen kannst. Im Buch werden unter anderem NTFS und FAT32 sowie Linux-Dateisysteme behandelt. Zur Linux-Verzeichnisstruktur gehören beispielsweise /bin und /usr; auch die Aufgaben von /dev und /var solltest du kennen. Bei den grundlegenden Linux-Dateirechten wird zwischen Eigentümer:in, Gruppe und allen anderen unterschieden. Für diese Kategorien lassen sich die Rechte Lesen, Schreiben und Ausführen vergeben. Im Buch geht es auch darum, wie du diese Rechte kombinierst und als Oktalzahl darstellst. Unter Windows behandelt das Kapitel die Rechtevergabe mit NTFS sowie Laufwerksbuchstaben und Regeln für Dateinamen. Virtualisierung vertiefen Für deine Prüfungsvorbereitung empfehle ich zusätzliche Literatur zur Virtualisierung, weil das Buch die allgemeinen Grundlagen auf wenigen Seiten behandelt. Anschließend folgt eine Anleitung für VMware Workstation. Dieser Abschnitt ist vor allem dann relevant, wenn du mit diesem Produkt arbeitest. Windows im Arbeitsalltag Im Windows-Kapitel findest du Hinweise zu Systemeinstellungen und zum Explorer. Auch Tastenkombinationen und die Konsole werden beschrieben. Durch das Feedback meiner IT-Azubis wurde mir deutlich,...
57 Minuten
Um am Arbeitsplatz lange gesund zu bleiben, gibt es eine Vielzahl von ergonomischen Eingabegeräten und Büromöbeln. In der sechzigsten Episode des Anwendungsentwickler-Podcasts zeige ich, wie mein Büro aussieht, und gebe Tipps für ergonomisches Arbeiten. TL;DR An meinem Arbeitsplatz wechsle ich regelmäßig zwischen Sitzen und Stehen, damit ich mich beim Programmieren mehr bewege. Ergonomische Möbel und Eingabegeräte helfen dabei, den Körper zu entlasten, wenn du sie passend einstellst und deine Haltung regelmäßig wechselst. Zu meinen Erfahrungen gehören vertikale Mäuse und eine geteilte Tastatur; außerdem arbeite ich mit kurzen Pausen nach der Pomodoro-Technik. Für deine Gesundheit als IT-Azubi spielen auch ausreichend Schlaf und Bewegung außerhalb der Arbeit eine Rolle. Kapitelmarken [00:00:01] Ergonomie in der IT-Ausbildung [00:01:51] Word-Vorlage für die Projektdokumentation und Feedback [00:04:17] Mein Arbeitsplatz im Büro und zu Hause [00:05:28] Höhenverstellbarer Schreibtisch und Wechsel zwischen Sitzen und Stehen [00:06:52] Ergotron Workfit als Steharbeitsplatz zu Hause [00:09:20] Günstige Möglichkeiten für einen Steharbeitsplatz [00:11:41] Bürostuhl passend einstellen [00:14:26] Weiche Polster für die Armlehnen [00:15:34] Haltung wechseln und mehr bewegen [00:16:40] Zwei Monitore sinnvoll aufstellen [00:20:01] Monitorhöhe und Hinweise zur Körperhaltung [00:22:23] Erfahrungen mit vertikalen Mäusen [00:26:01] Die Maus mit beiden Händen bedienen [00:27:58] Mauspad mit Handballenauflage [00:28:39] Ergonomische Tastaturen und Arbeiten per Tastatur [00:31:53] Maus und Tastatur regelmäßig reinigen [00:33:14] f.lux und Twilight für wärmere Bildschirmfarben [00:35:16] Pomodoro-Technik und Timer für Arbeitspausen [00:36:55] Texte mit Spracherkennung diktieren [00:37:57] Pausen für Bewegung und Wasser [00:39:53] Lernen beim Sport und Gesundheitsangebote im Betrieb [00:41:56] Getränke und grüne Smoothies [00:43:43] Zusätzliche Schritte im Arbeitsalltag [00:45:41] Bücher und Podcasts zu Gesundheit und Schlaf [00:48:49] Weitere Quellen und Arbeiten am Laufband-Schreibtisch [00:51:25] Fachartikel über Xtext und Xtend [00:52:26] Vergleich von Java-EE-7-Application-Servern [00:53:20] Buchprojekt zur IHK-Projektpräsentation Inhalt Hardware Auf der Arbeit habe ich einen höhenverstellbaren Schreibtisch. Zu Hause arbeite ich mit einem höhenverstellbaren "Roboterarm", dem Ergotron Workfit*. * Wer nicht so viel Geld in den Schreibtisch investieren möchte, der kann sich für wenig Geld einen Stehschreibtisch selbst bauen (siehe Warum ich meinen Schreibtisch entsorgt habe von Markus Cerenak). Egal ob du einen Stehschreibtisch hast oder nicht, wichtig ist, dass du oft deine Position wechselst. Mein Bürostuhl ist der Topstar Open Art*. Er lässt sich sehr flexibel einstellen und ist bequem und ergonomisch. * Auf die Lehnen meines Bürostuhls habe ich weiche Ellenbogen-Auflagen montiert. Wenn du zwei Monitore verwendest, achte darauf dass einer von beiden gerade vor deinem Gesicht platziert wird. Ansonsten hast du immer eine leichte Schräghaltung und das ist nicht gut für deinen Nacken. Es gibt sogar einen Monitor, der dir Vorschläge zu deiner Körperhaltung macht. Ich habe ihn jedoch noch nicht selbst getestet. * Auf dem obigen Foto siehst du tatsächlich meinen Arbeitsplatz. Ich habe zwei vertikale Mäuse, jeweils eine für die linke* und die rechte* Hand. * Als Mausunterlage verwende ich ein - bzw. zwei ;-) - ergonomisches Mauspad* mit Handballenauflage. * Ich benutze jetzt seit vielen Jahren das Microsoft Natural Ergonomic Keyboard 4000*. Wichtig dabei ist, dass du das Zehnfingersystem lernst. * Eine "perfekte" Tastatur soll die Kinesis KIN-ADVWUSBHY* sein. Leider konnte ich sie noch nicht selbst testen. * Auch Sauberkeit zähle ich zur gesunden Arbeit dazu. Reinige regelmäßig deine Eingabegeräte. Ich desinfiziere zum Beispiel alle zwei Wochen Maus und Tastatur mit Reinigungstüchern. Software Wer abends lange am PC arbeitet kann danach meist nur schlecht einschlafen. Die kostenfreie Software f.lux hilft dabei, indem sie die blauen Anteile des Lichts aus dem Monitor filtert. Das gleiche geht auch mit dem Handy. Die entsprechende kostenlose Software heißt Twilight. Um deine Arbeit in Pomodoros einzuteilen, ist ebenfalls kostenlose Software hilfreich. Ich verwende z.B. Clockwork Tomato auf dem Handy und Flowkeeper auf dem PC. Wenn du häufig Texte tippen musst, dann schau dir als Alternative zum Tippen doch einmal eine Spracherkennungssoftware an. Ich habe diesen Text zum Beispiel in mein Android-Handy diktiert, und den Text danach nur noch kurz überarbeitet. Die Spracherkennung funktioniert heutzutage wirklich sehr gut und kann dir viel Tipparbeit abnehmen. Tipps Für regelmäßige Pausen und um daran erinnert zu werden, die Position zu verändern, kannst du die Pomodoro-Technik anwenden. In den Pausen kannst du auch gut ein paar kurze Übungen absolvieren (z.B. 18 geniale Tipps für mehr Bewegung am Arbeitsplatz). Aber auch beim Tippen und bei der Arbeit mit der Maus ist Abwechslung wichtig. Fast alle für Softwareentwickler wichtigen Programme lassen sich sowohl mit der Tastatur, als auch mit der Maus steuern. Wechsel doch einfach mal das Eingabegerät. Trink zwischendurch häufig Wasser. Auch das kannst du sehr gut mit der Pomodoro-Technik verbinden. Da wir uns als Softwareentwickler ständig weiterbilden müssen, verbinde doch einfach Fortbildung und Gesundheit, indem du Lernvideos zum Beispiel auf dem Crosstrainer oder dem Laufband anschaust oder Podcast wie diesen während des Fitnesstrainings hörst. Mach doch mal einen Gesundheitskurs - insb. für den Rücken - bei deiner Krankenversicherung oder der Volkshochschule mit. Meist reicht es schon, wenn du Ideen bekommst, was du ändern kannst. Noch ein persönlicher Tipp bezüglich der Ernährung: Green Smoothies sind schnell zubereitet, lecker und eine gesunde Alternative zu Cola. Von der Autorin der Healthy Smoothie Bible* habe ich zum ersten Mal beim - sehr empfehlenswerten - Read to Lead Podcast gehört. Und noch zwei kleine Tipps für mehr Bewegung. Parke dein Auto so weit weg wie möglich vom Eingang deines Unternehmens. Dadurch musst du wenigstens etwas mehr Bewegung an den Tag legen. Und wenn du die Toilette besuchst, nimm doch einfach die im anderen Geschoss deines Gebäudes. So baust du ein paar Treppenstufen in Deinen Alltag ein. Kleinigkeiten machen schon einen Unterschied. Literaturempfehlungen Mein Buchtipp Nummer 1 ist The Healthy Programmer*. Darin findest Du noch viele weitere Tipps und Hinweise zum gesunden Arbeiten. Der Autor überträgt z.B. die testgetriebene Softwareentwicklung auf die Gesundheit. So prüfst du mit Unit-Tests deinen Gesundheitszustand. * Das Buch zur Pomodoro-Technik habe ich schon mehrfach in meinen Artikeln verlinkt und kann es absolut weiterempfehlen. Es ist sehr kurzweilig und wird deinen Arbeitsalltag eventuell komplett verändern. * Viele tolle - und vor allem leckere - Smootie-Rezepte gibt es hier: * Zwei sehr empfehlenswerte Podcasts zum Thema Gesundheit sind The Model Health Show von Shawn Stevenson - der auch ein tolles Buch zum Thema Schlafen* geschrieben hat - und das inzwischen leider eingestellte Get Up And Code. * In der c't* erschien in Ausgabe 24/2015 ein guter Artikel zu ergonomischen Büromöbeln: Ergonomisch arbeiten: Wie Sie trotz Bürojob fit bleiben. Bei Ergotopia gibt es eine tolle Infografik zum Thema Sitzen: Infografik: Sitzen kann tödlich sein! Bewegungsmangel Folgen... Und hier nochmal auf Englisch: Sitting is killing you. John Sonmez hat eine umfangreiche "Anleitung" für die Arbeit auf dem Laufband geschrieben: The Complete Guide to Treadmill Desk Walking While Working. Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Zusammenfassung Tisch und Stuhl passend einstellen In meinem Büro arbeite ich an einem höhenverstellbaren Schreibtisch, den ich mehrfach am Tag hoch- oder herunterfahre. Dabei wechsle ich ungefähr stündlich zwischen Sitzen und Stehen. Ergonomie gehört auch zu den prüfungsrelevanten Themen deiner Ausbildung als Fachinformatiker:in Anwendungsentwicklung. Zu Hause habe ich einen Ergotron Workfit am Schreibtisch befestigt. Dieser bewegliche Metallarm trägt einen Monitor sowie eine Ablage für Tastatur und Maus. Er lässt sich in der Höhe einstellen und zur Seite drehen. Über einen zweiten Monitor mit demselben Bild kann ich am gleichen PC zwischen meinem Sitzplatz und meinem Stehplatz wechseln. Die im Podcast genannten Preise stammen aus der damaligen Zeit: Für einen höhenverstellbaren Schreibtisch rechne ich mit etwa 1.000 Euro, während mein Ergotron ungefähr 350 Euro gekostet hat. Als günstigere Möglichkeiten kommen infrage: Ein Laptopständer für etwa 30 Euro, dessen Höhe sich passend einstellen lässt. Ein Aufsatz für den vorhandenen Schreibtisch, den ich für ungefähr 25 Euro bei Ikea gesehen habe. Eine selbst gebaute Lösung, zu der du unter "Standing Desk DIY" Anleitungen findest. Eine umgedrehte Kiste, mit der ich vor dem Kauf ausprobiert habe, wie sich Arbeiten im Stehen anfühlt. Bei deinem Bürostuhl sollten sich die Sitzhöhe und die Armlehnen an deinen Körper anpassen lassen. Eine bewegliche Rückenlehne folgt deinen Bewegungen. Eine Lordosestütze gibt dem unteren Rücken Halt. Meine Stühle im Homeoffice haben damals jeweils ungefähr 300 Euro gekostet. Auf den Armlehnen habe ich zusätzlich weiche Polster angebracht, damit meine Ellenbogen bequem aufliegen. Solche Kissen können den Druck beim Auflegen abmildern. Die Haltung regelmäßig wechseln Auch während du sitzt, kannst du dich strecken oder zwischendurch aufstehen und durch den Raum gehen. Durch wechselnde Haltungen werden andere Muskeln beansprucht, während zuvor belastete Bereiche sich entspannen können. Langes Stehen belastet den Körper ebenfalls, weshalb ich meine Position über den Tag hinweg wechsle. Monitore aufstellen Mein Hauptmonitor steht direkt vor meinem Gesicht. Links daneben befindet sich ein zweiter Bildschirm,...
39 Minuten
Wir beenden das Thema Netzwerkgrundlagen im Rahmen des Buchclubs zum Handbuch für Fachinformatiker von Sascha Kersken in der neunundfünfzigsten Episode des Anwendungsentwickler-Podcasts. TL;DR Ich schließe das Kapitel zu den Netzwerkgrundlagen im Handbuch für Fachinformatiker ab und gebe dir Hinweise für deine Prüfung als IT-Azubi. Im Mittelpunkt stehen die TCP/IP-Protokollfamilie und Aufgaben zu IP-Adressen, insbesondere zum Subnetting. Dazu kommen Internetzugänge sowie Dienste wie DNS und DHCP, deren Grundlagen du auch in der Praxis brauchst. Für Subnetting empfehle ich dir, mit binär geschriebenen Adressen zu rechnen und die reservierten Adressen für das Netz und den Broadcast einzubeziehen. Kapitelmarken [00:00:01] Einstieg und Abschluss der Netzwerkgrundlagen [00:01:23] Datenfernübertragung und entfernte Netzwerke [00:02:24] Modems und historische Internetzugänge [00:04:34] ISDN und mögliche Prüfungsfragen [00:05:48] DSL, weitere Zugänge und PPP [00:06:29] Mobiles Internet und Übertragungsgeschwindigkeiten [00:08:00] TCP/IP-Protokollstapel und Schichten [00:10:32] Point-to-Point Protocol [00:10:47] IP-Adressen, Adressklassen und CIDR [00:13:10] Subnetting und binär geschriebene Subnetzmasken [00:16:11] Subnetting üben und reservierte Adressen einplanen [00:18:35] IP-Protokoll und IP-Header [00:19:10] IPv6 in Prüfung und Praxis [00:20:43] IP-Routing und Standard-Gateway [00:22:10] Routing-Protokolle RIP und OSPF [00:22:48] DHCP und automatische Netzwerkkonfiguration [00:23:18] NAT im Heimnetz [00:23:50] TCP und UDP [00:24:55] TCP-Drei-Wege-Handshake [00:25:48] Ports und Dienste an einer IP-Adresse [00:28:00] DNS und Namensauflösung [00:28:45] Anwendungsprotokolle und E-Mail-Versand mit SMTP [00:30:00] Absenderangaben und Sicherheit bei SMTP [00:30:51] MIME-Typen, E-Mail-Anhänge und HTTP [00:32:37] Newsgroups und World Wide Web [00:33:05] Übungsaufgaben und alte Prüfungen [00:34:28] Nächster Buchclub und verlinkte Lernmaterialien [00:36:40] Vorlage zur Projektdokumentation und Newsletter [00:37:25] Ausblick auf Ergonomie am Arbeitsplatz Inhalt 4.5 Datenfernübertragung Modems sind heute in der Praxis nicht mehr relevant. ISDN wird immer noch gerne abgefragt. DSL sollte heutzutage selbstverständlich sein. Ebenso die Mobilfunkvarianten. 4.6 Die TCP/IP-Protokollfamilie Das komplette Kapitel ist prüfungsrelevant. Allerdings war es für Einsteiger etwas harte Kost. IP-Adressklassen benutzt niemand mehr. Sie sind aber historisch von großer Bedeutung und sollten auch heute noch verstanden werden. Wichtig: Am besten gleich angewöhnen, in Binärschreibweise zu arbeiten. Subnetting, Supernetting, CIDR: Höchst prüfungsrelevant. Ihre praktische Anwendung ist notwendiges Wissen. Subnetting wird sehr gut und verständlich erklärt. Es ist aber wichtig, Aufgaben dazu zu machen, um es wirklich zu verstehen. Die Tabellen waren ab und an etwas zu viel. Bitberechnungen kann man sich auch selbst zusammenklicken. IP-Header (4 und 6) sind eher etwas für FISIs. IPv6 ist absolut relevant für die Prüfung. Es kommen in fast allen Prüfungen Aufgaben dazu dran. Routing ist sowohl für die Praxis, als auch für die Prüfung sehr wichtig. Die Diagramme sehen auch schon fast so aus wie in den Prüfungen. Die Routingprotokolle sind eher etwas für FISIs. Weitere wichtige Themen: DHCP, NAT. TCP und UDP sind auch sehr wichtig, insb. der Three-Way-Handshake. Header sind eher nice to know. Die Port-Liste enthält viele wichtige Ports, die man durchaus auswendig können sollte. DNS als ein zentrales Basisprotokoll des Internets sollte jeder ITler in- und auswendig kennen. Auch der Aufbau von Domains war schon Prüfungsbestandteil. Protokolle Telnet: irrelevant für die Praxis FTP: wichtig, aber in der Praxis unsicher E-Mail: wichtig, schön finde ich die Erläuterung des Ablaufs beim Versand mit SMTP Newsgroups: praktisch irrelevant 4.7 Andere Protokollstapel In der neuen Auflage - zu recht - nicht mehr enthalten. Literaturempfehlungen Na was wohl? ;-) *(direkt beim Rheinwerk-Verlag bestellen*) Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts 4 Netzwerkgrundlagen - Rheinwerk Computing :: IT-Handbuch für Fachinformatiker Zusammenfassung Internetzugänge und Datenfernübertragung Mit den Unterkapiteln zur Datenfernübertragung und zur TCP/IP-Protokollfamilie schließe ich Kapitel 4 des Handbuchs für Fachinformatiker ab. Meine Hinweise zur Prüfung beziehen sich auf die im Buchclub besprochenen Prüfungen und meine Erfahrungen als Ausbilder. Über Datenfernübertragung, kurz DFÜ, greifst du auf entfernte Netzwerke zu. Dazu gehört beispielsweise der Internetzugang über deinen Provider. Für die verschiedenen Zugänge solltest du die ausgeschriebenen Abkürzungen kennen und einschätzen können, welche Geschwindigkeiten sie erreichen. Modem steht für Modulator/Demodulator. Die beschriebenen Geräte erreichten 56 kbit/s. Ich ordne dieses Thema vor allem historisch ein. ISDN bedeutet Integrated Services Digital Network. Für Prüfungsfragen kommen die Funktionsweise und Kanalbündlung infrage, außerdem Dienste wie Anklopfen. Ich empfehle dir, ISDN auch als angehende:r Fachinformatiker:in Anwendungsentwicklung anzuschauen. DSL steht für Digital Subscriber Line. Du solltest die verschiedenen Varianten kennen, darunter symmetrisches und asymmetrisches DSL, sowie ihre Geschwindigkeiten. Auch Satellitenverbindungen werden angesprochen. PPP und PPPoE gehören zu den Protokollen, mit denen du dich für die Prüfung beschäftigen solltest. PPP steht für Point-to-Point Protocol. Bei mobilen Internetzugängen werden EDGE, UMTS, HSPA und LTE behandelt. Im Buch werden für UMTS 384 kbit/s genannt; für LTE spreche ich beispielhaft von 100 Mbit/s. Mit solchen Angaben lassen sich Aufgaben zur Dauer eines Datentransfers rechnen. TCP/IP und die Schichten Im Buch werden Protokolle und Verfahren den Bereichen des TCP/IP-Protokollstapels zugeordnet: | Bereich | Beispiele aus dem Kapitel | | --- | --- | | Hardware | Ethernet, Token Ring, Modem, ISDN, DSL | | Netzzugang | PPP, CSMA/CD | | Internetschicht | IP, ICMP | | Host-to-Host-Transportschicht | TCP, UDP | | Anwendungsschicht | SMTP, FTP, HTTP | Der Befehl ping arbeitet mit ICMP. Für die Prüfung solltest du die Abkürzungen ausschreiben können und wissen, welche Aufgaben hinter den Begriffen stehen. Auch Fragen dazu, wo ein Protokoll im OSI-Schichtenmodell liegt oder welche Hardware zu einer Schicht gehört, kommen infrage. IP-Adressen und Subnetting Bei den historischen IP-Adressklassen entscheidet das Bitmuster am Anfang der Adresse über die Klasse. Klasse A beginnt beispielsweise mit einer Null, Klasse B mit den Bits 10. Solche Zuordnungen werden in den angesprochenen Prüfungen weiterhin abgefragt. Mit CIDR, ausgeschrieben Classless Inter-Domain Routing, legt die Subnetzmaske fest, welcher Teil einer IP-Adresse zum Netz und welcher zum Host gehört. Im Kapitel werden außerdem Adressbereiche behandelt, einschließlich Broadcast und Multicast. Zu Subnetting kommen typische Aufgaben vor, bei denen du einen vorgegebenen Adressbereich in Teilnetze aufteilen sollst. Dabei muss jedes Teilnetz genug Adressen für die geforderte Anzahl an Clients enthalten. Das gehört auch für Fachinformatiker:innen Anwendungsentwicklung zum Grundwissen. Ich empfehle dir, IP-Adressen und Subnetzmasken für diese Aufgaben binär aufzuschreiben. In der Maske markieren die Einsen den Netzanteil, während die Nullen den Hostanteil kennzeichnen. Dadurch kannst du die Grenze auch dann ablesen, wenn sie innerhalb eines Oktetts liegt. Für die Anzahl der Clients musst du zwei reservierte Adressen einplanen: Die niedrigste Adresse bezeichnet das Netz. Die höchste Adresse ist die Broadcast-Adresse. Bei 16 Clients brauchst du deshalb mindestens 18 Adressen. Mit vier Hostbits stehen 16 Adressen zur Verfügung; für diese Aufgabe sind fünf Hostbits erforderlich. Durch wiederholtes Rechnen mit Zweierpotenzen lernst du, die passende Maske zu bestimmen. Ich empfehle dir die Übungsaufgaben im Buch und zusätzliche Subnetting-Aufgaben. Die abgedruckten Tabellen kannst du aus dem Rechenprinzip selbst herleiten. IP-Header, IPv6 und Routing Am Aufbau eines IP-Headers kannst du nachvollziehen, welche Informationen eine Firewall prüft, um über ein Paket zu entscheiden. Für Fachinformatiker:innen Systemintegration gewichte ich dieses Wissen stärker. Als angehende:r Fachinformatiker:in Anwendungsentwicklung solltest du den Aufbau für dein Verständnis durchlesen. IPv6 war in vielen der zuletzt besprochenen Prüfungen enthalten, auch im Prüfungsteil Ganzheitlich 2. Wegen der knappen IPv4-Adressen spielt es ebenfalls für die Praxis eine wichtige Rolle. Die weltweite Umstellung läuft bereits seit Jahren; einen festen Zeitpunkt für ihren Abschluss kann ich daraus nicht ableiten. Beim IP-Routing solltest du verstehen, wie Rechner über einen Router andere Netze erreichen und welche Rolle das Standard-Gateway dabei spielt. Typische Prüfungsaufgaben zeigen mehrere Netze, in denen du passende IP-Adressen oder Gateways eintragen sollst. Dieses Wissen hilft dir bei der Fehlersuche, wenn eine falsch konfigurierte Route den Internetzugang verhindert. Im Buch werden dazu praktische Beispiele gezeigt, unter anderem mit netstat, das offene Netzwerkverbindungen anzeigt. Auch die Routing-Protokolle RIP und OSPF werden vorgestellt. Wenn du als angehende:r Fachinformatiker:in Anwendungsentwicklung unter Zeitdruck lernst, gebe ich diesen Protokollen eine geringere Priorität. DHCP und NAT Mit DHCP, dem Dynamic Host Configuration Protocol, erhält ein Rechner seine Netzwerkkonfiguration automatisch. Das Protokoll gehört zu den relevanten Themen für die Prüfung und deinen Arbeitsalltag. Bei NAT, Network Address Translation, werden im beschriebenen Heimnetz die internen IP-Adressen hinter der externen Adresse des Routers verborgen. Als Beispiel dient die Fritzbox. Du solltest verstehen, wie das funktioniert und was du beim Konfigurieren einer Firewall berücksichtigen musst. ...
37 Minuten
Wir setzen den Buchclub zum Handbuch für Fachinformatiker von Sascha Kersken mit dem vierten Kapitel fort. In der achtundfünfzigsten Episode des Anwendungsentwickler-Podcasts geht es also um Netzwerkgrundlagen. TL;DR Mit Kapitel 4 des Handbuchs für Fachinformatiker von Sascha Kersten gehe ich mit dir Netzwerkgrundlagen durch, die du als IT-Azubi auch in der Anwendungsentwicklung für die Praxis und die Abschlussprüfung brauchst. Beim OSI-Modell und dem TCP/IP-Schichtenmodell solltest du die Schichten kennen und passende Geräte sowie Protokolle zuordnen können. Dazu kommen Netzwerktypen, Topologien und Serveraufgaben mit ihren Hardwareanforderungen. Für Ethernet und WLAN gehören auch Kabelstandards sowie die Zugangsverfahren CSMA/CD und CSMA/CA zum Lernstoff. Kapitelmarken [00:00:20] Buchclub: Netzwerkgrundlagen und Prüfungsrelevanz [00:02:32] Paketvermittelte Datenübertragung [00:03:28] Internetgeschichte, RFCs und World Wide Web [00:05:48] Das OSI-Referenzmodell [00:09:36] Prüfungsaufgaben zum OSI-Modell [00:10:17] TCP/IP-Stack und DDN-Modell [00:12:21] Schichtenmodelle am Beispiel eines Websiteaufrufs [00:14:06] Netzwerke nach Reichweite: LAN, MAN, WAN und GAN [00:16:11] Topologien und strukturierte Verkabelung [00:18:29] Client-Server und Peer-to-Peer [00:20:32] Serverarten und Hardwareanforderungen [00:24:17] Netzwerkkarten und IEEE-Standards [00:26:27] Ethernet und CSMA/CD [00:27:13] Netzwerkkabel, RJ45 und Netzwerkgeräte [00:29:13] WLAN-Standards und CSMA/CA [00:30:29] Ausblick auf TCP/IP und Datenfernübertragung [00:31:33] Weitere Buchclub-Termine: Betriebssysteme, Windows und Linux [00:33:15] Kontakt, Shownotes und Open Book [00:34:25] Word-Vorlage für die Projektdokumentation Inhalt 4.1 Einführung Paketvermittlung ist Grundlage. Geschichte ist nice to know. Hypertext usw. ist wichtig, wird aber in späteren Kapiteln noch vertieft. 4.2 Funktionsebenen von Netzwerken OSI-Referenzmodell ist absolutes Pflichtprogramm für jeden Prüfling. Ebenso das DDN-Modell. Beide werden auch für Einsteiger gut verständlich erklärt (schönes Beispiel mit Telefonverbindung). 4.3 Klassifizierung von Netzwerken LAN, MAN, GAN, WAN sind wichtig zu wissen. Die verschiedenen Topologien sind absolut prüfungsrelevant. Zu den verschiedenen Serverarten kommen häufig Transferaufgaben ("Wählen Sie die Hardware aus.") vor. 4.4 Netzwerkkarten, Netzwerkkabel und Netzzugangsverfahren IEEE-Standards muss man nicht (komplett) auswendig kennen. CSMA/CD und CSMA/CA sind prüfungsrelevant. Verkabelung ist ebenso relevant für die Prüfung. Drahtlosnetzwerke gehören zum Grundwissen jedes ITlers. Hier darf man auch die IEEE-Standards kennen. Literaturempfehlungen Na was wohl? ;-) *(direkt beim Rheinwerk-Verlag bestellen*) Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts 4 Netzwerkgrundlagen - Rheinwerk Computing :: IT-Handbuch für Fachinformatiker Zusammenfassung Netzwerkgrundlagen für deine IT-Ausbildung Im Buchclub bespreche ich mit dir den ersten Teil von Kapitel 4 des Handbuchs für Fachinformatiker von Sascha Kersten. Meine IT-Azubis haben das Kapitel ebenfalls gelesen und ihre Rückmeldungen beigetragen. Für dich als angehende:r Fachinformatiker:in Anwendungsentwicklung gehört das Thema zum Grundwissen, weil die heutige IT-Infrastruktur auf Netzwerktechniken wie TCP/IP und DNS basiert. Datenpakete und die Geschichte des Internets Bei der paketvermittelten Datenübertragung werden Daten als kleine Pakete durch das Netzwerk geschickt. Das Prinzip lässt sich mit Paketen vergleichen, die über verschiedene Verteilzentren ihr Ziel erreichen. Darauf beruhen das Internet und die Netzwerke in Unternehmen oder bei dir zu Hause. Die Einführung behandelt auch die Schaltkreisvermittlung anhand des Telefons. Mit dem historischen Hintergrund des ARPANET wird verständlich, weshalb ausfallsichere Verbindungen beim Internet eine Rolle spielen. Fällt ein Knoten oder eine Leitung aus, können Daten über andere Wege ihr Ziel erreichen. RFC steht für Request for Comments. Solche Dokumente beschreiben unter anderem Standards für Netzwerkprotokolle. Das World Wide Web und Hypertext werden zusammen mit HTML kurz angesprochen. Das Buch vertieft diese Grundlagen später im Kapitel zur Webentwicklung. Aus meinen bisherigen Prüfungen kenne ich wenige Fragen zur Internetgeschichte oder zu RFCs. Diese Themen helfen dir dabei, die heutigen Techniken zu verstehen. Das OSI-Referenzmodell Mit seinen sieben Schichten beschreibt das OSI-Modell, wie Daten zwischen zwei Seiten übertragen werden. Die unterste Schicht, die physikalische Ebene beziehungsweise Physical Layer, behandelt den Transport einzelner Bits, etwa über Kabel oder Funk. Auf der siebten Schicht, der Anwendungsschicht beziehungsweise Application Layer, arbeiten anwendungsbezogene Protokolle wie HTTP und FTP. Auch SMTP gehört dorthin. Für die schriftliche und mündliche Prüfung solltest du: die deutschen und englischen Namen aller Schichten kennen, die Aufgaben der einzelnen Schichten beschreiben können, Netzwerkgeräte den passenden Schichten zuordnen, Protokolle im Modell einordnen und erklären können, wie die Schichten zusammenarbeiten. Im Buch wird das Modell anhand eines Telefongesprächs und eines Netzwerkbeispiels erläutert. Meine IT-Azubis fanden diese Beispiele verständlich. Ich empfehle dir das Kapitel als Grundlage, wenn du dich mit den Schichtenmodellen beschäftigst. TCP/IP-Stack und DDN-Modell Das Schichtenmodell der Internetprotokolle wird auch TCP/IP-Stack oder DDN-Modell genannt. Es umfasst vier Ebenen: Netzzugangsschicht Internetschicht Host-to-Host-Transportschicht Anwendungsschicht Die Anwendungsschicht fasst die drei oberen Schichten des OSI-Modells zusammen. Weil das Internet auf TCP/IP basiert, begegnet dir dieses Modell in der Praxis häufig. Im Buch findest du auch die Zuordnung zwischen beiden Modellen. Ich habe bereits eine Prüfungsaufgabe gesehen, bei der die Schichtnamen beider Modelle ergänzt und Beispielprotokolle genannt werden sollten. Beispiel: Eine Website aufrufen Wenn du im Browser eine Website öffnest, fordert ein HTTP-GET-Befehl eine Ressource vom Server an. Dieser Befehl gehört zur Anwendungsschicht. Auf dem Weg durch die weiteren Schichten werden die Daten für den Transport aufbereitet und mit Adressinformationen versehen. Auf der untersten Ebene werden Bits über die jeweilige Verbindung übertragen, etwa über ein LAN-Kabel oder eine Mobilfunkverbindung. Netzwerke nach Reichweite einordnen Das Kapitel nennt vier Begriffe für die räumliche Reichweite: LAN: Local Area Network MAN: Metropolitan Area Network WAN: Wide Area Network GAN: Global Area Network Du solltest die Begriffe kennen und einem Beispiel zuordnen können. Eine Prüfungsaufgabe kann etwa ein Bürogebäude innerhalb einer Stadt zeigen, deren Netzwerke du passend beschriften sollst. In meinem Arbeitsalltag als Anwendungsentwickler spielen diese Kategorien eine geringe Rolle. Topologien und strukturierte Verkabelung Das Buch behandelt Bus, Stern, Ring und Baum. Du solltest erkennen können, wie die Knoten miteinander verbunden sind und welche Folgen der Aufbau für das Netzwerk hat. Bei einer Sterntopologie verbinden sich alle Knoten mit einer zentralen Komponente. Fällt sie aus, ist die Kommunikation im Netzwerk unterbrochen. In einem Ring sind die Knoten hintereinander zu einem Kreis verbunden. Dabei können längere Wege entstehen, weil Daten mehrere Knoten passieren müssen. Wenn du ein Bürogebäude strukturiert verkabelst, brauchst du dieses Wissen für die Anschlüsse auf einer Etage sowie für die Verbindungen zwischen Etagen und Außenstellen. Prüfungsaufgaben können Zeichnungen enthalten, deren Topologie du benennen sollst. Auch eine begründete Empfehlung für einen konkreten Anwendungsfall kann gefragt sein. Client-Server und Peer-to-Peer Bei Client-Server-Netzwerken kommunizieren mehrere Clients mit einem zentralen Server. Dessen Verfügbarkeit ist für die angebotenen Dienste entscheidend. In Peer-to-Peer-Netzwerken tauschen die beteiligten Geräte Daten direkt miteinander aus. Beispiele sind BitTorrent und eMule. Dateien können parallel von mehreren Peers übertragen werden, wodurch sich die Last verteilt. Dabei müssen die Peers synchronisiert werden. Für eine Prüfungsaufgabe solltest du die Eigenschaften beider Ansätze erklären und auf den vorgegebenen Anwendungsfall übertragen können. Serveraufgaben und passende Hardware Zu den behandelten Serverarten gehören File-Server und Print-Server sowie Mail-, Web-, Verzeichnisdienst- und Anwendungsserver. Ich ergänze den Datenbankserver, der ebenfalls eigene Anforderungen mitbringt. Ein File-Server stellt Dateien bereit, etwa über ein Netzlaufwerk. Dafür steht ausreichend Speicherplatz im Vordergrund; als mögliche Speicherlösungen werden RAID, NAS und SAN genannt. Ein Verzeichnisdienstserver begegnet dir beispielsweise bei der Anmeldung über Active Directory. Bei einem Webserver kann die CPU-Leistung für die eingehenden Anfragen wichtig sein. Ein Datenbankserver braucht viel RAM, damit häufig abgefragte Daten schnell verfügbar sind. Ein Anwendungsserver erleichtert die zentrale Wartung von Anwendungen. Er braucht passende Ressourcen, und die Arbeit mit ihm hängt von der Netzwerkverbindung ab. In Prüfungen kann gefragt sein, welche Serverarten du aus deinem Betrieb kennst und welche Aufgaben sie haben. Außerdem solltest du passende Hardware auswählen und Anforderungen an Backups berücksichtigen können. Ethernet, Kabel und Netzzugang Die IEEE-802-Standards beschreiben verschiedene Netzwerktechniken. Für dich ist insbesondere IEEE 802.11 als Standardfamilie für drahtlose Netzwerke relevant. Die vollständige Liste der IEEE-Gruppen auswendig zu lernen, empfehle ich für die Anwendungsentwicklung nicht. Bei Ethernet gehört CSMA/CD, ausgeschrieben Carrier Sense Multiple Access with Collision Detection, zum Lernstoff. Das Verfahren regelt den gemeinsamen Zugriff auf das Übertragungsmedium und erkennt Kollisionen....
6 Minuten
In dieser Sonderausgabe des Anwendungsentwickler-Podcasts stelle ich meine Microsoft Word-/LibreOffice-Vorlage für die Projektdokumentation der IT-Berufe vor. Inhalt Schon seit langer Zeit kannst du dir auf dieser Seite meine Vorlage für die Projektdokumentation herunterladen. Allerdings nur für LaTeX. Wenn du stattdessen lieber mit Microsoft Word* oder LibreOffice arbeiten möchtest, gibt es nun unter dieperfekteprojektdokumentation.de meine Vorlage zum Download. Dies hier sind nur einige Beispiele der Inhalte: Komplette Gliederung einer üblichen Projekdokumentation inkl. Anhang. Beispielinhalte (z.B. Entity-Relationship-Model, Klassendiagramm, Kostenrechnung, Nutzwertanalyse) für zentrale Gliederungspunkte. Gesamte Formatierung über leicht zu ändernde Formatvorlagen. Verzeichnisse (Inhalt, Abbildungen, Tabellen, Listings) werden automatisch generiert. Automatisch generiertes Abkürzungs- und Literaturverzeichnis. Ansprechende Gestaltung inkl. Deckblatt und Kopf- und Fußzeile. Einfache Konfiguration der Metadaten (z.B. Autor und Unternehmen) über Dokumenteigenschaften. Inkl. Checkliste zur Projektdokumentation mit über 100 Punkten. Alternativ kommst du über diesen Link direkt zum Shop bei Digistore24, wo du die Vorlage mit wenigen Klicks kaufen kannst: Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts
43 Minuten
Nach der Vorbereitung des Abschlussprojekts beende ich nun meine zweiteilige Reihe zur Durchführung des Abschlussprojekts mit Projektantrag und Umsetzung in der siebenundfünfzigsten Episode des Anwendungsentwickler-Podcasts. TL;DR Für dein Abschlussprojekt empfehle ich dir, etwa ein halbes Jahr vor dem Projektantrag ein passendes betriebliches Thema auszuwählen und die Anforderungen früh aufzuschreiben. Mit einem groben Architekturentwurf und geplanten Artefakten kannst du überschaubare Arbeitspakete bilden, deren Aufwand schätzen und den Antrag nach den Vorgaben deiner IHK schreiben. Während du das Projekt umsetzt, hältst du deine Arbeitszeiten fest und schreibst die Projektdokumentation parallel, wobei du Zwischenergebnisse direkt sicherst. Hole regelmäßig Feedback von deinem/deiner Ausbilder:in ein und plane genügend Zeit ein, um die Dokumentation zu korrigieren. Kapitelmarken [00:00:00] Hinweise zur Projektdokumentation [00:00:30] Projektantrag und Projektarbeit vorbereiten [00:01:25] Der Weg zum Projektantrag [00:02:20] Ein geeignetes betriebliches Thema auswählen [00:04:47] Anforderungen strukturiert aufschreiben [00:07:22] Das Lastenheft mit dem Fachbereich erarbeiten [00:08:21] Die Anwendung grob entwerfen und Features planen [00:11:25] Artefakte für die Dokumentation einplanen [00:13:24] Den Aufwand in kleinen Arbeitspaketen schätzen [00:15:08] Einen passenden Projektplan erstellen [00:17:27] Den Antrag nach den Vorgaben der IHK schreiben [00:19:29] Feedback zum Antrag und Freigabe im Unternehmen [00:21:25] Mit der eigentlichen Projektarbeit beginnen [00:23:13] Artefakte während der Entwicklung erstellen [00:25:12] Methoden und Zeitplanung aufeinander abstimmen [00:26:25] Arbeitszeiten erfassen und Abweichungen begründen [00:27:36] Eingesetzte Technologien verstehen und erklären [00:29:21] Die Projektdokumentation parallel schreiben [00:30:37] Zwischenergebnisse sichern [00:32:06] Zeitaufwand für Details begrenzen [00:34:05] Regelmäßig Feedback zur Dokumentation einholen [00:35:29] Zeit für Korrekturen und Layout einplanen [00:36:30] Material für die Projektpräsentation sammeln [00:38:23] Rückblick auf die Vorbereitung und Projektarbeit [00:39:49] Literaturempfehlung zur Projektarbeit [00:40:30] Shownotes und Beitrag zur Wirtschaftlichkeit [00:41:05] Schulungsunterlagen zu Java EE [00:41:46] Newsletter und Checklisten Inhalt Der Weg zum Projektantrag Geeignetes Thema auswählen. Anforderungen strukturiert aufnehmen und gleich in verwertbarer Form dokumentieren (lassen), z.B. als Lastenheft. Grobdesign der Anwendung erstellen. Zu verwendende Artefakte planen. Aufwand schätzen. Projekt-/Iterationsplan erstellen. Projektantrag schreiben. Auf Genehmigung des Projektantrags warten. Umsetzung der Projekts Methoden anwenden und direkt dokumentieren und Artefakte sammeln. Reihenfolge hängt vom gewählten Entwicklungsprozess ab. Wasserfall: Design, Implementierung, Test, Abnahme usw. in einzelnen Phasen Agil: Design/Test/Implementierung in Iterationen Benötigte Zeit im Blick behalten. Alle verwendeten Technologien und Begriffe sofort klären. Projektdokumentation parallel zur Umsetzung schreiben (sonst vergisst man später die Hälfte). Zwischenergebnisse dokumentieren (z.B. Entwürfe, Screenshots) und direkt in die Dokumentation einbauen. Nicht zu viel Zeit mit Details verschwenden (z.B. pixelgenaue Positionierung in Weboberflächen, unwahrscheinliche Sonderfälle in Tests). Laufend Feedback von Ausbilder/in einholen. Auch (oder gerade) für die Dokumentation. Genug Zeit für den Feinschliff der Projektdokumentation einplanen (z.B. Textsatz mit Grafiken, Korrekturen durch Ausbilder/in). Ggfs. schon Ideen für Projektpräsentation festhalten, z.B. Artefakte, die sich gut für Folien eignen oder witzige Ideen für die Foliengestaltung. Literaturempfehlungen Für die Durchführung des Abschlussprojekts habe ich - anders als für die Vorbereitung auf die schrifliche Prüfung - nur eine Buchempfehlung: Clevere Tipps für die Projektarbeit* von Anselm Rohrer. Das Buch habe ich auch bei der Erstellung meiner Vorlage für die Projektdokumentation verwendet. * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Themenfindung für das Abschlussprojekt Inhalte des Projektantrags Muss die Projektbearbeitungszeit (70 Stunden) wirklich genau eingehalten werden? Zusammenfassung Ein geeignetes Thema finden Etwa ein halbes Jahr vor der Abgabe des Projektantrags empfehle ich dir, ein Thema aus deiner betrieblichen Praxis auszuwählen. Kläre dabei, ob dein Unternehmen das Projekt unterstützt und welche Ansprechpersonen dir zur Verfügung stehen. Die eingesetzten Technologien solltest du bereits kennen und beherrschen. Das Thema muss dir ermöglichen, die Fähigkeiten zu zeigen, die du als Fachinformatiker:in Anwendungsentwicklung laut Ausbildungsverordnung brauchst. Dazu gehören beispielsweise der Umgang mit einer Datenbank und das Entwickeln einer Oberfläche samt Anwendungslogik. Prüfe außerdem, welchen Mehrwert das Projekt deinem Unternehmen bringt und ob du berechnen kannst, wann sich die Kosten amortisieren. Bei einem Migrationsprojekt kann es schwierig werden, geeignete Entscheidungsgrundlagen wie eine Nutzwertanalyse zu erarbeiten. Prüfe deshalb früh, welche fachlichen und wirtschaftlichen Aspekte dein Thema abdeckt. Ausführlichere Hinweise zur Themenwahl findest du in meiner Episode 24; Episode 25 behandelt den Projektantrag. Anforderungen vor dem Antrag aufschreiben Wenn du ein Thema gefunden hast, klärst du mit dem Fachbereich oder dem/der Kund:in, was die Anwendung leisten soll. Halte die Anforderungen strukturiert fest. Dafür kommen unter anderem folgende Formen infrage: Ein Lastenheft beschreibt, was der Fachbereich oder der/die Kund:in erwartet. User Stories folgen dem Muster "Als Rolle möchte ich Funktion, damit Begründung". Ein Beispiel: "Als Bankkund:in möchte ich mich anmelden können, um meinen Kontostand zu kontrollieren." Mit MoSCoW ordnest du Anforderungen den Kategorien Must, Should, Could und Won’t zu. Orientiere dich an den Abläufen deines Unternehmens, damit die beteiligten Personen mit deinen Unterlagen arbeiten können. Formuliere Anforderungen so konkret, dass sie nachvollziehbar sind, etwa durch eine vorgegebene Antwortzeit des Systems. Bereite die Unterlagen gleich so vor, dass du später passende Auszüge in den Anhang deiner Projektdokumentation übernehmen kannst. Wenn ein Lastenheft bereits vor der eigentlichen Projektzeit fertig ist, muss deine Zeitplanung diesen Stand korrekt berücksichtigen. Das Lastenheft kommt seinem Zweck nach vom Fachbereich oder von dem/der Kund:in. In der Praxis schreiben es häufig Entwickler:innen, weil den Auftraggebenden die Erfahrung damit fehlt. In meinem Unternehmen erarbeiten Entwickler:innen und Fachbereich es gemeinsam. Die Anwendung grob entwerfen Bevor du den Aufwand schätzt, brauchst du eine Vorstellung davon, wie deine Anwendung aufgebaut sein soll. Kläre die Architektur und welche Komponenten daraus entstehen. Auch die geplante Datenbank und die Oberfläche müssen so weit feststehen, dass du die Arbeit einschätzen kannst. Der detaillierte Entwurf gehört zur eigentlichen Projektarbeit. Für den Antrag reicht ein grober Entwurf, aus dem sich deine Arbeitspakete ergeben. Ich empfehle dir, einzelne Features über die beteiligten Schichten hinweg zu planen. Bei einem Login kannst du beispielsweise einschätzen, welche Tabellen und Logikklassen erforderlich sind und wie die passende Oberfläche aussieht. Dabei berücksichtigst du auch, dass während der Entwicklung Änderungen entstehen können. Artefakte im Antrag einplanen Überlege beim groben Entwurf, welche Unterlagen dein methodisches Vorgehen später belegen. Je nach Projekt eignen sich beispielsweise: eine Architekturskizze oder ein UML-Komponentendiagramm, ein ER-Modell beziehungsweise ein Tabellenmodell, ein Klassendiagramm, ein Use-Case-Diagramm. Nenne die geplanten Artefakte bereits im Projektantrag. Als Prüfer möchte ich daraus erkennen können, wie du die Software methodisch entwickelst und welche Nachweise ich später in deiner Dokumentation finde. Aufwand schätzen und den Projektplan erstellen Zerlege die Arbeit in überschaubare Pakete, deren Dauer du anhand deiner Erfahrungen aus früheren Projekten einschätzen kannst. Ein Login-Formular oder ein Klassendiagramm lässt sich konkret beschreiben und zeitlich einordnen. Aus den geschätzten Zeiten entsteht dein Projektplan. Darin muss erkennbar sein, wie du das Projekt gliederst und ob der Umfang innerhalb der vorgesehenen Zeit machbar ist. Die hier behandelte Projektarbeit hat einen Zeitrahmen von 70 Stunden, einschließlich der Artefakte und der Projektdokumentation. Passe den Plan an den Entwicklungsprozess deines Unternehmens an: Bei einem klassischen Vorgehen kann ein Gantt-Diagramm die zeitlichen Abläufe darstellen. Bei einem agilen Vorgehen bietet sich ein Iterationsplan an, der Features sowie zugehörige Tests enthält und Feedback nach den Iterationen berücksichtigt. Die geplanten Zeiten müssen zu den Methoden passen, mit denen du arbeitest. Den Antrag nach den Vorgaben deiner IHK schreiben Mit dem Projektplan kannst du die weiteren geforderten Angaben ausarbeiten. Dazu zählen die Ausgangssituation und die Begründung des Projekts. Beschreibe außerdem, wer das Ergebnis benötigt und welche Schnittstellen dein Projekt hat. Informiere dich früh über die Vorgaben deiner IHK. Manche IHKs verlangen ein Onlineformular mit festgelegten Feldern, andere erlauben ein mehrseitiges PDF. Richte deinen Antrag nach dem Format und den Inhalten aus, die deine IHK erwartet. Lass deinen/deine Ausbilder:in den Antrag vor der Abgabe prüfen. Dabei geht es um die Eignung des Themas und darum, ob deine Planung nachvollziehbar ist. Auch sprachliche Fehler sollten dabei korrigiert werden. Bei meiner IHK muss das Unternehmen den Antrag zusätzlich mit einer separaten PIN freigeben. Das Projekt umsetzen und dabei dokumentieren ...
35 Minuten
Wir setzen den Buchclub zum Handbuch für Fachinformatiker von Sascha Kersken mit dem dritten Kapitel fort. In der sechsundfünfzigsten Episode des Anwendungsentwickler-Podcasts geht es also um Hardware. TL;DR Im Buchclub zum Handbuch für Fachinformatiker von Sascha Kersken gehe ich mit dir das Hardwarekapitel durch. Für dich als IT-Azubi gehören der Aufbau eines PCs und die Arbeitsweise seiner Komponenten zum Grundwissen. In den besprochenen Prüfungsaufgaben spielen vor allem Schnittstellen und Massenspeicher eine Rolle, wobei du RAID genauer lernen solltest. Bei Aufgaben zu Peripheriegeräten brauchst du deren Eigenschaften, um passende Hardware auszuwählen; für Rechenaufgaben helfen dir bekannte Kapazitäten und Übertragungsraten. Wenn dir ein Wert fehlt, halte eine Annahme fest und rechne damit weiter, um Teilpunkte für deinen Lösungsweg zu bekommen. Kapitelmarken [00:00:01] Einstieg in den Buchclub [00:00:35] Themenwahl und Mitmachen beim Buchclub [00:02:08] Aufbau des Hardwarekapitels [00:02:33] EVA-Prinzip [00:03:23] Von-Neumann-Architektur [00:04:17] Rechnergeschichte und Geräteklassen [00:04:48] PC-Bauteile anhand von Bildern erkennen [00:06:11] Zentraleinheit und Aufbau der CPU [00:07:48] Leistungsmerkmale sowie 32 und 64 Bit [00:09:07] Prozessorarchitekturen und Maschinenbefehle [00:09:55] Arbeitsspeicher und RAM-Arten [00:10:29] BIOS und UEFI [00:11:27] Bussysteme und IRQs [00:12:37] Anschlüsse für Erweiterungskarten [00:13:39] Laufwerksanschlüsse [00:14:28] USB, drahtlose Schnittstellen und Übertragungsraten [00:16:58] Peripherie und Massenspeicher [00:18:14] RAID-Level und verfügbare Speicherkapazität [00:19:57] Optische Datenträger und Rechenaufgaben [00:22:13] Teilpunkte durch Annahmen und Teillösungen [00:23:31] Formate optischer Datenträger [00:23:51] Eingabegeräte und Scanner [00:24:37] Grafikkarten und Standardauflösungen [00:25:21] Monitore passend zu Anforderungen auswählen [00:26:16] Druckerarten und ihre Eigenschaften [00:27:02] Sound-Hardware und Rückblick auf die Peripherie [00:28:14] Netzwerkgrundlagen und nächste Buchclub-Termine [00:29:18] Handbuch und ältere Open-Book-Ausgabe [00:30:28] CeBIT-Folien zu Java EE 7 [00:31:59] Website mit Tipps zur Prüfung [00:32:28] Newsletter und Materialien zum Abschlussprojekt [00:33:17] Ausblick auf die nächsten Episoden Inhalt Grundlagen EVA-Prinzip und von Neumann-Architektur sollte jeder Informatiker gehört haben. Rechnergeschichte ist nice to know, aber für die Prüfung irrelevant. Bild des Computers war hilfreich für meine Azubis. Die Anschlüsse müssen teilweise im Detail für die Prüfung bekannt sein. Die Zentraleinheit Hier gab es einige Wiederholungen. Aufbau der Zentraleinheit sollte jedem Informatiker bekannt sein. In der Prüfung wird er aber weniger abgefragt. Aufbau des Prozessors und Architekturen sind ebenfalls spannend, aber unwichtig für die Prüfung. Es gab aber mal eine Frage zu x86 vs. 64 Bit. Stack Overflow muss jeder mal gehört haben. Unterschiedliche RAM-Arten sind unwichtig für die Prüfung. Abschnitte zu BIOS, Bus, IRQ sind interessant, aber nicht relevant für die Prüfung. Die verschiedenen Steckplätze auf dem Mainboard sowie die Laufwerksanschlüsse usw. gehören zum Grundwissen. Auch die Abkürzungen lernen! Die Peripherie Sehr viele Inhalte, die man sich nicht komplett merken kann. Massenspeicher sind wichtig für die Prüfung (insb. Vor- und Nachteile). Die genaue Einteilung der Festplatte ist nicht wichtig. RAID ist absolutes Pflichtprogramm. Ebenso optische Speichermedien, wobei die bunten Bücher unwichtig sind. Hinweis: Geschwindigkeiten lernen! Tastatur/Maus/Scanner sind wenig prüfungsrelevant. Die verschiedenen Grafikauflösungen sollte man gehört haben. Bei den Monitoren sind insb. die Unterschiede und Vor- und Nachteile interessant. Das gleiche gilt für Drucker. Zur Soundhardware habe ich noch nie Prüfungsaufgaben gesehen. Nächster Buchclub: 18.04.2016, Kapitel 4 (Netzwerkgrundlagen) Literaturempfehlungen Ist doch wohl klar, oder? ;-) *(direkt beim Rheinwerk-Verlag bestellen*) Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts 3 Hardware - Rheinwerk Computing :: IT-Handbuch für Fachinformatiker Zusammenfassung Hardware im Buchclub Mit meinen beiden IT-Azubis habe ich Kapitel 3 des Handbuchs für Fachinformatiker von Sascha Kersken besprochen. Es behandelt die Grundlagen der Hardware sowie die Zentraleinheit und Peripheriegeräte. Meine Hinweise zur Prüfung beruhen auf den Aufgaben, die ich zum Zeitpunkt der Episode im Jahr 2016 kannte. Grundlagen und Aufbau eines PCs Wenn du als Fachinformatiker:in Anwendungsentwicklung programmierst, arbeitest du an der Verarbeitung von Daten. Das EVA-Prinzip beschreibt den Ablauf von der Eingabe über die Verarbeitung bis zur Ausgabe und gehört zum Grundwissen in der IT. Zur Von-Neumann-Architektur gehören Steuerwerk und Rechenwerk sowie Hauptspeicher und Ein- beziehungsweise Ausgabeeinheiten. Auch heutige PCs folgen diesem grundlegenden Aufbau. Direkte Prüfungsfragen dazu sind mir bisher kaum begegnet. Die Bilder im Buch zeigen einen PC von außen und geben Einblick in sein Inneres. Anhand des Mainboards kannst du Bauteile und Anschlüsse erkennen. Meine Azubis fanden diesen Praxisbezug hilfreich, weil die Abbildungen den Einstieg erleichtern, wenn du bisher selten einen PC geöffnet hast. Für die Prüfung haben die Geschichte der Rechner und die Einteilung in Geräteklassen wie Desktop-PC oder Laptop nach meinen bisherigen Erfahrungen wenig Gewicht. Zentraleinheit und Prozessor Zum Bereich der Zentraleinheit zählen neben der CPU auch Arbeitsspeicher und ROM sowie Chipsatz und Bussysteme. Im Buch erfährst du, wie ein Prozessor intern arbeitet und welche Aufgaben seine Bestandteile übernehmen. Dazu gehören: die ALU als arithmetisch-logische Einheit, Register, das Steuerwerk, Caches, etwa Level 1 und Level 2. Mit diesem Wissen kannst du Angaben zu einem PC besser einordnen, etwa wenn beim Kauf mit der Größe eines Caches geworben wird. Zu diesen Details habe ich bisher wenige Prüfungsaufgaben gesehen. Mit 32 und 64 Bit solltest du dich genauer beschäftigen, weil mir dazu bereits eine Prüfungsaufgabe begegnet ist. Gefragt wurde nach den Vorteilen von 64 Bit. Du solltest erklären können, welche praktischen Folgen die Wortbreite für einen Rechner oder sein Betriebssystem hat. Weitere Abschnitte behandeln Prozessorarchitekturen wie RISC und CISC sowie Maschinenbefehle und Assembler. Auch die verschiedenen RAM-Arten werden beschrieben. Die ausführlichen technischen Details dieser Themen hatten in den mir bekannten Prüfungen wenig Gewicht. BIOS und Bussysteme Das Buch beschreibt das BIOS einschließlich seiner Menüpunkte und Updates ausführlich. Zum Zeitpunkt der Episode werden neue PCs bereits mit dem Nachfolger UEFI ausgeliefert, den das Kapitel ebenfalls behandelt. Einzelne BIOS-Menüpunkte spielen für die besprochenen Prüfungen kaum eine Rolle. Bei Bussystemen geht es unter anderem um serielle und parallele Datenübertragung. Die früher nötige manuelle Zuordnung von IRQs übernimmt inzwischen das Betriebssystem. Für solche Details würde ich beim Lernen wenig Zeit einplanen. Schnittstellen für die Prüfung lernen Bei den Anschlüssen solltest du genauer hinsehen, weil dazu Prüfungsfragen vorkommen. Lerne die ausgeschriebenen Bezeichnungen der Abkürzungen und die Eigenschaften der jeweiligen Schnittstellen. Erweiterungskarten: Bei PCI und PCI Express sowie AGP solltest du die Unterschiede kennen und eine passende Schnittstelle begründen können. Laufwerke: Das Kapitel behandelt SCSI und IDE sowie deren Weiterentwicklungen SAS und SATA. Dazu gehören auch Begriffe wie Master und Slave beim älteren IDE-Anschluss. Weitere Anschlüsse: USB und FireWire kommen als Themen infrage. Präge dir bei den jeweiligen Versionen die Übertragungsraten ein. Drahtlose Verbindungen: Bei WLAN und Bluetooth brauchst du Kenntnisse über die Standards und ihre Geschwindigkeiten. Für eine Aufgabe, in der du die Dauer einer Datenübertragung berechnen sollst, brauchst du die Datenmenge und die passende Übertragungsrate. Im Podcast dient das Übertragen von 300 MB über USB 1.1 als Beispiel. Massenspeicher und RAID Bei Aufgaben zu Backups musst du begründen können, welches Speichermedium zu den Anforderungen passt. Dafür brauchst du die Eigenschaften magnetischer und optischer Datenträger. Auch den grundlegenden Aufbau einer Festplatte solltest du kennen. Sehr genaue Angaben zu Startadressen oder zur Position einzelner Bytes auf einer Festplatte haben in den besprochenen Prüfungen wenig Gewicht. RAID ist in den mir bekannten Prüfungen häufig vorgekommen, auch im damaligen Prüfungsteil Ganzheitliche Aufgabe 1 für Fachinformatiker:innen Anwendungsentwicklung. Für dieses Thema solltest du zusätzliche Literatur heranziehen, da das Buch einen Einstieg bietet. Lerne mindestens diese RAID-Level: RAID 0, RAID 1, RAID 5, RAID 01, RAID 10. Du solltest darstellen können, wie die Festplatten in den jeweiligen Verbünden zusammenarbeiten. RAID 0 arbeitet mit Striping, RAID 1 mit Mirroring. Außerdem brauchst du die Anzahl der erforderlichen Festplatten und die verbleibende Speicherkapazität. Bei RAID 5 sind mindestens drei Festplatten erforderlich. Die verteilten Paritätsinformationen beanspruchen die Kapazität einer Festplatte, sodass bei drei gleich großen Festplatten die Kapazität von zwei für Daten zur Verfügung steht. Optische Datenträger und Rechenaufgaben Zu CD und DVD sowie Blu-ray solltest du die Kapazitäten der verschiedenen Formate kennen. Dazu kommen Unterschiede wie beschreibbare und wiederbeschreibbare Medien oder doppelseitige Varianten. Die farbig benannten Standardwerke zur CD, etwa das Red Book, sind mir bisher als Prüfungsinhalt kaum begegnet. Bei Rechenaufgaben können die einfachen Übertragungsgeschwindigkeiten gefragt sein. Aus einer einfachen Geschwindigkeit lässt sich eine angegebene mehrfache Geschwindigkeit berechnen. Ebenso brauchst du Kapazitätsangaben,...
29 Minuten
Wie steige ich in die Bearbeitung des Abschlussprojekts ein? Eine häufige Frage vieler Prüflinge. Daher widme ich die fünfundfünfzigste Folge des Anwendungsentwickler-Podcasts der Durchführung des Abschlussprojekts. TL;DR Ich empfehle dir, dich ein halbes bis ein Jahr vor deinem Abschlussprojekt gezielt vorzubereiten und die nötigen Fähigkeiten bereits in früheren Ausbildungsprojekten zu üben. Erfasse Anforderungen gemeinsam mit dem Fachbereich und vergleiche deine geschätzten Zeiten mit dem gemessenen Aufwand. Übe auch die Diagramme für deine Projektdokumentation, damit du sie im Fachgespräch erklären kannst. Für das Abschlussprojekt wählst du eine Technologie, die du bereits beherrschst; das eigentliche Projekt vorab umzusetzen, verstößt gegen die Prüfungsregeln. Kapitelmarken [00:00:00] Einstieg und Hinweise zur Projektdokumentation [00:00:29] Fragen zum Einstieg ins Abschlussprojekt [00:01:30] Podcast auf fachinformatiker.de und Möglichkeiten zum Mitmachen [00:04:35] Frühzeitig auf das Abschlussprojekt vorbereiten [00:07:03] Projektplanung vor dem Antrag und Anlaufstellen für Hilfe [00:08:31] Prüfungsregeln und erlaubte Vorbereitung [00:10:36] Anforderungen erfassen und mit dem Fachbereich abstimmen [00:13:26] Aufwand schätzen und Projektzeit aufteilen [00:16:01] Zeiten erfassen und mit Schätzungen vergleichen [00:17:19] UML-Diagramme für Dokumentation und Prüfung üben [00:20:33] ER-Modelle und Tabellenmodelle vorbereiten [00:21:12] Vertraute Technologien und Vorbereitung aufs Fachgespräch [00:23:51] Methoden beherrschen und eine Dokumentationsvorlage vorbereiten [00:25:32] Ausblick auf Projektantrag und Projektablauf [00:26:22] Literaturempfehlung zur Projektarbeit [00:27:05] Git-Cheat-Sheet und Bilder für die Projektpräsentation [00:28:11] Newsletter mit Checklisten zur Projektarbeit [00:28:40] Ausblick auf den Buchclub zu Hardware und Netzwerkgrundlagen Inhalt Vorbereitung im Vorfeld des Abschlussprojekts Die Vorbereitung auf das Abschlussprojekt beginnt bereits lange Zeit vor der eigentlichen Projektdurchführung. Formulierung von Anforderungen so früh wie möglich üben. Bei üblichen Aufgaben Zeiten tracken, um später besser schätzen zu können. Erstellung von UML-Diagrammen usw. bereits in früheren Projekten üben. Synergien nutzen und alles was ("legal") im Vorfeld erledigt werden kann, bereits abarbeiten. Beispiele: Einarbeitung in neue Frameworks, Architektur erproben, Datenbank ausprobieren, Oberflächendesign umsetzen, Literatur durcharbeiten. Kurzum: Alles, was im Abschlussprojekt verwendet wird, bereits vorher lernen. Literaturempfehlungen Für die Durchführung des Abschlussprojekts habe ich - anders als für die Vorbereitung auf die schrifliche Prüfung - nur eine Buchempfehlung: Clevere Tipps für die Projektarbeit* von Anselm Rohrer. Das Buch habe ich auch bei der Erstellung meiner Vorlage für die Projektdokumentation verwendet. * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Häufige Fragen im Forum - Fachinformatiker-Podcast #1 Aufbau und Ablauf der Abschlussprüfung Vorbereitung auf die schriftliche Abschlussprüfung Zusammenfassung Frühzeitig auf das Abschlussprojekt vorbereiten Ich empfehle dir, etwa ein halbes bis ein Jahr vor dem Abschlussprojekt mit der gezielten Vorbereitung anzufangen. Viele der erforderlichen Fähigkeiten kannst du schon ab dem ersten Ausbildungsjahr in kleineren Projekten üben. Das Abschlussprojekt trägt wesentlich zu deiner Abschlussnote bei und gibt dir viel Spielraum, deine Fähigkeiten als Fachinformatiker:in für Anwendungsentwicklung zu zeigen. Schon beim Projektantrag musst du wissen, welches Ziel du erreichen möchtest und welche Aufgaben dafür anfallen. Dazu gehört, die benötigten Ressourcen festzulegen und die verfügbare Zeit auf die Aufgaben zu verteilen. Wenn du dabei Unterstützung brauchst, kannst du dich an dein:e Ausbilder:in wenden. Auch die IHK oder das Forum fachinformatiker.de kommen als Anlaufstellen infrage. Du kannst mir ebenfalls eine E-Mail schreiben. Die Prüfungsregeln einhalten Wenn du das Abschlussprojekt bereits vor dem Antrag ganz oder teilweise umsetzt, verstößt du gegen die Prüfungsregeln. Das kann dazu führen, dass du durch die Prüfung fällst und sie ein halbes Jahr später wiederholen musst. Als Vorbereitung kannst du die vorgesehenen Technologien in anderen Projekten erproben und die Methoden für deine Projektarbeit üben. Auch eine Vorlage für die spätere Dokumentation kannst du schon erstellen. Anforderungen mit dem Fachbereich klären Übe in früheren Projekten, selbst mit den Personen zu sprechen, die deine Software später verwenden sollen. Halte ihre Anforderungen schriftlich fest, beispielsweise in einem Lastenheft oder als User-Stories. Kund:innen und Fachbereiche können häufig nur ungefähr beschreiben, was sie erwarten. Durch gezielte Fragen findest du heraus, welche Details noch fehlen. Dazu gehören beispielsweise Erwartungen an die Bedienbarkeit oder an die Geschwindigkeit der Anwendung. Gehe deine aufgeschriebenen Anforderungen anschließend mit dem Fachbereich durch. So kannst du Missverständnisse klären, bevor sie sich auf deinen Projektantrag auswirken. Mit meinen IT-Azubis übe ich das bereits ab dem ersten Ausbildungsjahr: Sie sprechen selbst mit den beteiligten Kolleg:innen, deren Rückmeldungen wir anschließend gemeinsam besprechen. Aufwand schätzen und Zeiten messen Für das in dieser Episode beschriebene Abschlussprojekt stehen 70 Stunden zur Verfügung. Diese Zeit muss im Antrag nachvollziehbar auf einzelne Aufgaben verteilt sein. Ich empfehle dabei eine Genauigkeit bis auf eine halbe Stunde. Ein pauschaler Block von 40 Stunden für das Programmieren lässt offen, welche Arbeitsschritte du vorgesehen hast. In meinem Prüfungsausschuss würde ein solcher Antrag abgelehnt, weil ein großer Teil der Projektzeit zu ungenau geplant wäre. Schätze deshalb schon bei früheren Aufgaben, wie lange du dafür brauchst. Erfasse anschließend die verbrauchte Zeit und vergleiche sie mit deiner Schätzung. Dafür reicht eine Stoppuhr auf dem Handy; falls dein Betrieb bereits ein System zum Erfassen der Arbeitszeiten hat, kannst du dort nachsehen. Durch diesen Vergleich lernst du, deinen Aufwand besser einzuschätzen, und hast Erfahrungswerte für den späteren Antrag. Diagramme an eigener Software üben Erstelle die Diagramme für deine spätere Dokumentation schon in früheren Ausbildungsprojekten. Die folgenden UML-Diagramme werden in der Episode als prüfungsrelevant und für die Praxis hilfreich genannt: Use-Case-Diagramme Aktivitätsdiagramme Zustandsdiagramme Klassendiagramme Sequenzdiagramme Ein Klassendiagramm zeigt den statischen Aufbau deiner objektorientierten Software. Mit einem Use-Case-Diagramm kannst du auf einer abstrakten Ebene darstellen, welche Funktionen die Anwendung ihren Anwender:innen bietet. Auch ER-Modelle und Tabellenmodelle kannst du vorab üben. Lass dir von deinem:deiner Ausbilder:in oder von Kolleg:innen Rückmeldung zu deinen Diagrammen geben. Im Fachgespräch musst du Details erklären können, etwa die verschiedenen Pfeile für Beziehungen zwischen Klassen. Wenn du die Diagramme an eigener Software erprobst, lernst du ihre Bedeutung im Zusammenhang mit deiner Arbeit kennen. Vertraute Technologien einsetzen Für dein Abschlussprojekt empfehle ich dir die Technologie, die du am besten beherrschst. Mit der Sprache und den Frameworks aus deinem Arbeitsalltag kannst du deinen Aufwand verlässlicher einschätzen. Deine Erfahrung hilft dir außerdem, Fehlerquellen zu erkennen. Falls du eine bestimmte Technologie für das Abschlussprojekt vorgesehen hast, arbeite bereits in früheren Projekten damit. Das gilt auch für Architekturkonzepte und Datenbanken sowie für das Gestalten der Oberfläche. Fachliteratur kannst du ebenfalls frühzeitig lesen. Die verfügbare Projektzeit ist eng bemessen. Wenn du darin erst ein unbekanntes Framework lernen musst, entstehen Risiken für deinen Zeitplan und die Qualität deines Codes. Deine technischen Kenntnisse brauchst du außerdem im Fachgespräch, wenn Prüfer:innen zu deiner Software nachfragen. Weiterführende Angebote Zum Nachlesen empfehle ich dir "Clevere Tipps für die Projektarbeit" von Ansem Rohrer. Das Buch enthält konkrete Hinweise zur Projektarbeit und war auch eine Grundlage für meine eigene LaTeX-Vorlage zur Projektdokumentation. Weitere Angebote aus der Episode: Unter dieperfekteprojektdokumentation.de findest du weitere Informationen von mir zur Projektdokumentation. Die Shownotes stehen unter anwendungsentwicklerpodcast.de/55. Auf fachinformatiker.de habe ich eine Podcast-Episode zu häufigen Fragen aus dem Forum veröffentlicht. Dort kannst du Rückmeldung geben. Wenn du selbst Erfahrungen aus der IT-Ausbildung beitragen möchtest, kannst du dich bei mir oder über das Kontaktformular des Forums melden. Besonders willkommen sind auch Perspektiven aus anderen IT-Berufen. Im Blog findest du ein Git-Cheat-Sheet, das wichtige Befehle und die Funktionsweise von Git auf einer DIN-A4-Seite darstellt. Ein weiterer Blogbeitrag behandelt Clip-Arts in der Projektpräsentation. Für deine Folien empfehle ich passende Bilder. Über anwendungsentwicklerpodcast.de/newsletter erhältst du kostenlos Checklisten zum Projektantrag sowie zur Dokumentation und Präsentation. Du kannst dich jederzeit wieder abmelden. Die angekündigten Themen zum Schreiben des Projektantrags und zum konkreten Ablauf des Projekts folgen in einer weiteren Episode. Für die nächste Woche ist zunächst eine Buchclub-Folge zum "Handbuch für Fachinformatiker" angekündigt, in der ich mit meinen IT-Azubis die Kapitel zu Hardware und Netzwerkgrundlagen bespreche. Transkription der gesamten Episode Automatisch erzeugte Transkription der Episode [0:00] Hi, hier ist Stefan. In dieser Podcast-Episode geht es um die Projektdokumentation. Wenn [0:05] du dazu noch mehr Informationen von mir haben willst, dann schau doch mal auf meiner Website [0:08] vorbei unter dieperfekteprojektdokumentation.de....
44 Minuten
Mit Java EE 7 ist es recht einfach möglich, mehrschichtige Enterprise-Anwendungen zu programmieren. In der vierundfünfzigsten Episode des Anwendungsentwickler-Podcasts gibt es eine Lernzielkontrolle zur Enterprise Edition von Java. TL;DR Mit meiner Lernzielkontrolle zu Java EE 7 kannst du prüfen, wie gut du die Plattform und ihre Webtechnologien kennst. Java EE bündelt aufeinander abgestimmte Spezifikationen, deren APIs langlebige Anwendungen ermöglichen; ein Application-Server stellt die benötigte Infrastruktur bereit. Für die Praxis stehen JPA für den Datenbankzugriff sowie JSF für Weboberflächen im Mittelpunkt, ergänzt durch CDI und REST-Services mit JAX-RS. Wenn du Java EE in deinem Abschlussprojekt einsetzt, erwarte ich im Fachgespräch, dass du die verwendeten Technologien und ihre Zusammenhänge erklären kannst. Kapitelmarken [00:00:01] Einstieg in die Lernzielkontrolle zu Java EE 7 [00:01:20] Die Java-Editionen ME, SE und EE [00:02:37] Java EE als Sammlung von Spezifikationen [00:03:30] Versionsnummern von Java und Java EE [00:04:15] WebSockets und langlebige standardisierte APIs [00:06:00] Zusammenspiel der Spezifikationen [00:07:37] Java Community Process und Specification Requests [00:09:35] Container und Application-Server [00:12:30] Server einrichten und verwalten [00:12:55] Web Profile und Full Profile [00:15:32] Beispiele für Application-Server [00:16:54] Java-EE-Spezifikationen im Überblick [00:18:07] APIs und Referenzimplementierungen [00:19:17] Wichtige Referenzimplementierungen und ihre Aufgaben [00:20:50] JPA: Objekte in Datenbanken speichern [00:21:22] Entitäten mit @Entity und @Id kennzeichnen [00:24:41] Beziehungen und Kardinalitäten mit JPA abbilden [00:28:14] Daten mit JPQL und Criteria-API abfragen [00:30:20] NoSQL mit Hibernate OGM anbinden [00:31:33] Weboberflächen mit JSF und Backing Beans [00:33:02] Expression Language und getrennte Seitenlogik [00:34:19] HTTP-Requests mit Servlets verarbeiten [00:34:45] Dependency Injection mit CDI [00:36:41] Eindeutige und mehrdeutige Abhängigkeiten [00:37:23] REST-Services mit JAX-RS und JSON [00:38:57] AngularJS an Java EE anbinden [00:39:51] Java EE im Abschlussprojekt und Fachgespräch [00:41:04] Dokumentation und weiterführende Links [00:41:39] CeBIT-Vortrag und Artikel zu relationalen Datenbanken [00:42:45] Feedback und Newsletter [00:43:27] Ausblick: Einstieg ins Abschlussprojekt Inhalt Welche Versionen von Java gibt es? ME, SE, EE Was ist Java EE? Die Enterprise Edition. Eine Sammelspezifikation für mehrere Teilspezifikationen. Ermöglicht die Entwicklung von mehrschichtigen Enterprise-Anwendungen. Wer definiert die Standards in Java EE? Der Java Community Process bearbeitet Java Specification Requests. Wie werden Java EE-Anwendungen ausgeführt? In einem Container, dem Application Server. Welche Profile gibt es in Java EE? Web und Full Welche Application Server gibt es? WebSphere, Weblogic, JBoss, Wildfly, Glassfish, TomEE, Jetty, Tomcat Wie heißen die Referenzimplementierungen für die zentralen Komponenten von Java EE? JSF: Mojarra, JPA: EclipseLink, CDI: Weld, JAX-RS: Jersey, Bean Validation: Hibernate Validator, JAX-WS: Metro Was ist JPA? Java Persistence API Wie persistiere ich meine Daten mit JPA? Konfiguration in persistence.xml, Annotation @Entity, weitere Annotationen wie @Id oder @ManyToMany Wie werden Daten abgefragt? Mittels JPQL oder der Criteria API. Kann man auch NoSQL-Datenbanken anbinden? Ja, z.B. mit Hibernate OGM. Was ist JSF? Java Server Faces Was ist ein Servlet? Eine Java-Klasse, die Requests verarbeitet. Was ist CDI? Contexts and Dependency Injection Was ist JAX-RS? Java API for RESTful Web Services Wie veröffentliche ich eine REST-Ressource? Mittels Annotationen wie @Path, @GET und @Produces Literaturempfehlungen Die "offizielle" Dokumentation von Oracle ist definitiv einen Blick wert: Java Platform, Enterprise Edition: The Java EE Tutorial Release 7 - Contents. Als deutschsprachiges Buch kann ich Professionell entwickeln mit Java EE 7* empfehlen: * Sehr geholfen haben mir auch die Pluralsight-Kurse von Antonio Goncalves. Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Java Platform, Enterprise Edition – Wikipedia Difference between Java SE/EE/ME? - Stack Overflow Java EE - Technologies | Oracle Technology Network | Oracle Java Community Process – Wikipedia Java Specification Request – Wikipedia O Java EE 7 Application Servers, Where Art Thou? – Antonio's Blog Introducing the Java EE Web Profile - JAXenter Java EE Compatibility Java Persistence API – Wikipedia Java Persistence Query Language - Wikipedia, the free encyclopedia JavaServer Faces – Wikipedia Servlet – Wikipedia Contexts and Dependency Injection – Wikipedia Java API for RESTful Web Services – Wikipedia Zusammenfassung Java-Editionen und zeitlicher Kontext Meine Lernzielkontrolle richtet sich an dich als IT-Azubi und behandelt Java EE 7 auf dem Stand der Aufnahme im März 2016. Die Beispiele entstehen mit Java 8, während Java EE 8 zu diesem Zeitpunkt noch vorbereitet wird. Die Versionsnummern der Sprache und der Enterprise-Plattform entwickeln sich eigenständig. Zu den Java-Editionen gehören: Java ME, Micro Edition: Eine reduzierte Variante für mobile Geräte und beispielsweise Set-Top-Boxen. Java SE, Standard Edition: Sie umfasst die grundlegenden Java-Funktionen, mit denen du etwa Dateien verarbeitest oder Datenbankverbindungen aufbaust. Java EE, Enterprise Edition: Sie enthält Java SE und ergänzt die Plattform um weitere APIs und Spezifikationen. Was Java EE festlegt Unter Java EE 7 sind 38 Spezifikationen zusammengefasst. Sie beschreiben Schnittstellen und legen fest, wie bestimmte Aufgaben gelöst werden, beispielsweise das Speichern von Objekten in einer relationalen Datenbank. Für die ausführbare Funktion sorgt jeweils eine Implementierung. Wenn ich gegen diese standardisierten APIs programmiere, kann ich meine Anwendung auf einem anderen Server betreiben, der dieselben Spezifikationen erfüllt. Beim Weiterentwickeln der Plattform soll die Kompatibilität erhalten bleiben, damit Anwendungen über Jahre einsetzbar bleiben. Als sogenannte Umbrella-Spezifikation stimmt Java EE die enthaltenen Standards aufeinander ab. Dadurch lässt sich etwa Dependency Injection innerhalb anderer Java-EE-Technologien einsetzen, wodurch weniger Code nötig wird, um die Komponenten miteinander zu verbinden. Mit Java EE 7 kommt unter anderem eine standardisierte WebSocket-API hinzu. Wie neue Standards entstehen Über den Java Community Process, JCP, durchläuft ein Java Specification Request, JSR, einen festgelegten Prozess vom Vorschlag bis zur fertigen Spezifikation. Die beteiligten Mitglieder prüfen unter anderem, welche Standards bereits existieren und wie sich ein Vorschlag umsetzen lässt. Dieser Prozess kann mehrere Jahre dauern. JSRs betreffen auch Funktionen der Java-Sprache. Für eine neue Java-EE-Version werden passende Spezifikationen ausgewählt und so zusammengeführt, dass sie zusammenarbeiten. Anwendungen im Container betreiben Meine Java-EE-Anwendung deploye ich in einen Application-Server, der sie startet und als Container die Infrastruktur bereitstellt. Dazu gehören beispielsweise Datenbankverbindungen und benannte Dienste. Auch Queues für Messaging können dort bereitstehen. Die Anwendung fordert die benötigten Ressourcen beim Server an. Damit das funktioniert, müssen die Ressourcen eingerichtet sein und ihre Namen zur Anwendung passen. Der Container übernimmt außerdem Aufgaben wie das Verwalten von Abhängigkeiten, wodurch weniger Setup-Code in der Anwendung erforderlich ist. Ein:e Administrator:in verwaltet den Server und richtet dort beispielsweise Datenbankverbindungen ein. Häufig übernimmt ein:e Entwickler:in diese Aufgaben selbst, etwa über die Weboberfläche des Servers. Profile passend zur Anwendung wählen Full Profile: Der Server stellt sämtliche Funktionen bereit, die Java EE spezifiziert. Dazu gehören auch Technologien für umfangreichere Enterprise-Anwendungen, etwa JMS und die vollständigen EJB-Funktionen. Web Profile: Es umfasst eine kleinere Auswahl für klassische Webanwendungen, beispielsweise JSF und CDI. JAX-RS gehört standardmäßig nicht dazu. Für eine Anwendung mit CRUD-Operationen auf Datenbanktabellen reicht die kleinere Auswahl häufig aus. Wenn der Server nur die benötigten Komponenten lädt, sinkt der Aufwand beim Starten und Deployen sowie der Bedarf an Ressourcen. Beispiele für Server Als bekannte Produkte gehören IBM WebSphere und Oracle WebLogic zum Java-Umfeld. Hinzu kommen JBoss und die Open-Source-Variante WildFly. GlassFish ist die Open-Source-Referenzimplementierung der Java-EE-Plattform. TomEE gibt es in verschiedenen Varianten, etwa mit Web Profile oder zusätzlichen REST-Funktionen. Tomcat bietet einen reduzierten Funktionsumfang. Jetty lässt sich direkt aus einem Java-Prozess starten, was beispielsweise automatisierte Tests einer Webanwendung erleichtert. Wichtige Spezifikationen und ihre Referenzimplementierungen Eine Referenzimplementierung setzt die Funktionen um, die eine Spezifikation vorgibt. Für die folgenden Technologien gehören diese Namen zum Grundlagenwissen: | Spezifikation | Aufgabe | Referenzimplementierung | | --- | --- | --- | | JSF, JavaServer Faces | Weboberflächen erstellen | Mojarra | | JPA, Java Persistence API | Objekte in Datenbanken speichern | EclipseLink | | CDI, Contexts and Dependency Injection | Abhängigkeiten bereitstellen | Weld | | JAX-RS | REST-Webservices anbieten | Jersey | | Bean Validation | Daten anhand von Regeln prüfen | Hibernate Validator | | JAX-WS | SOAP-Webservices anbieten | Metro | Für JPA gibt es beispielsweise auch Hibernate als alternative Implementierung. Weitere Java-EE-Spezifikationen betreffen unter anderem Servlets und JavaServer Pages. JNDI ermöglicht Lookups anhand von Namen, während JMS Nachrichten überträgt. APIs für Transaktionen und Autorisierung gehören ebenfalls zur Pl
34 Minuten
Es wird Zeit für den ersten Buchclub im Anwendungsentwickler-Podcast. Und welches Buch wäre besser geeignet als das Handbuch für Fachinformatiker? Daher besprechen wir in der dreiundfünfzigsten Episode die ersten zwei Kapitel des Buchs. TL;DR Ich gehe mit dir die ersten beiden Kapitel des Handbuchs für Fachinformatiker:innen von Sascha Kersken durch und ordne die Inhalte anhand meiner bisherigen Prüfungserfahrungen ein. Für deine Ausbildung brauchst du logische Grundlagen und Mengenlehre, die du beim Programmieren und in SQL anwendest. Beim Rechnen in Prüfungen kommen Zahlensysteme sowie Angaben zu Speichergrößen und digitalen Medien hinzu. Die Kapitel behandeln außerdem die Geschichte der Informatik und technische Grundlagen bis zur Turing-Maschine. Kapitelmarken [00:00:00] Einstieg in den Buchclub zum IT-Handbuch [00:02:00] IT-Berufe und gemeinsame Prüfungsgrundlagen [00:04:39] Geschichte der Computer [00:05:49] Entwicklung und Eigenschaften von Programmiersprachen [00:07:34] Logisches Programmieren mit Prolog [00:09:16] FORTRAN und COBOL in bestehenden Systemen [00:10:06] Abwärtskompatibilität von C++ und Smalltalk [00:11:33] Analoge und digitale Informationen [00:13:40] Farbtiefe, Audioqualität und Speicherbedarf [00:15:12] Zeichensätze und fehlerhafte Umlaute [00:15:54] Aussagenlogik beim Programmieren [00:17:10] Mengenlehre als Grundlage für SQL [00:18:58] Zahlensysteme in Prüfung und Praxis [00:20:44] Maßeinheiten und binäre Vorsilben [00:22:23] Zweierpotenzen und typische Bitlängen [00:25:17] Elektronische Grundlagen und Schaltungen [00:26:18] Automaten und Laufzeit von Algorithmen [00:28:52] Turing-Maschine und virtueller Prozessor [00:29:59] Rückmeldungen zu den ersten beiden Kapiteln [00:32:07] Nächster Buchclub zu Hardware und Netzwerken [00:33:06] Scrum-Broschüre und Animationen in Projektpräsentationen [00:33:46] Ausblick auf die Lernzielkontrolle zu Java EE 7 Inhalt IT-Berufe und Studienrichtungen, Aufbau und Ablauf der Abschlussprüfung Guter Überblick zum Einstieg. Man sollte die Berufe kennen. Geschichte der Computer Für mich eine spannende Zeitreise. Für die Prüfung irrelevant. Entwicklung der Programmiersprachen Das ist unser Brot und Butter :-) Man sollte kennen/erklären können: Maschinencode, Assembler, Fortran, Cobol, Basic, C, imperative/prozedurale Programmierung, Smalltalk, C++, Java, C#, LISP, Prolog Was bedeutet Abwärtskompatibilität bei C++? C-Code ist auch gültiger C++-Code. Wo wird Smalltalk in der Praxis eingesetzt? Nirgends ;-) Was sind Beispiele für logische Programmierung? Prädikatenlogik in Prolog. Digitale Speicherung und Verarbeitung von Informationen Unterschied analog/digital wird gut erklärt. Für die Prüfung sollte man übliche Farbtiefen und Sampling-Raten und -Tiefen kennen. Zeichensätze werden nur kurz behandelt, kommen später aber noch einmal. Siehe auch Zeichensätze und -kodierung. Einführung in die Logik Wichtiges Kapitel für alle Informatiker. Wenig direkt prüfungsrelevant, sondern Transferwissen. Wofür brauchen wir die Mengenlehre? SQL macht nichts anderes als Mengenoperationen. Informationsspeicherung im Computer Wo braucht man die unterschiedlichen Zahlensysteme in der Praxis? Dual: Subnetting, Oktal: Linux-Dateirechte, Hex: MAC-Adresse Die Vorsilben der Maßeinheiten muss man auswendig kennen. Welche Zweierpotenzen sollte man auswendig können? 1-10, 16, 24, 32, 48, 64, 128 Elektronische Grundlagen Nett zu wissen, aber für die Prüfung eher unwichtig. Automatentheorien und -simulationen Komplexität ist ein wichtiges Thema für die Praxis, aber für die Prüfung irrelevant. Auch die Turing-Maschine sollte jeder Informatiker kennen, aber in der Prüfung wird sie eher nicht Thema sein. Der virtuelle Prozessor verdeutlicht gut verständlich die Abläufe in einer CPU. Allgemeines Feedback zum Buch Der Autor erzählt sehr persönlich. Man fühlt sich als Leser angesprochen. Roter Faden in Kapitel 2 fehlt ein wenig. Komplexität und elektrische Schaltungen waren schwer zu verstehen. Nächster Buchclub: 04.04.2016, Kapitel 3 (Hardware) und 4 (Netzwerkgrundlagen) Literaturempfehlungen Na was wohl? ;-) *(direkt beim Rheinwerk-Verlag bestellen*) Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts 1 Einführung 2 Mathematische und technische Grundlagen Zusammenfassung Die ersten beiden Kapitel im Buchclub Für den ersten Buchclub habe ich mit meinen IT-Azubis die ersten rund 100 Seiten des Handbuchs für Fachinformatiker:innen von Sascha Kersken gelesen. Dazu gehören die Einführung sowie die mathematischen und technischen Grundlagen. Meine Hinweise zu Prüfungen beruhen auf den Aufgaben, die ich bis zu dieser Folge kennengelernt habe. IT-Berufe und gemeinsame Grundlagen Als Fachinformatiker:in für Anwendungsentwicklung programmierst du Software. In der Systemintegration gehören vor allem Aufgaben als Administrator:in dazu, etwa Software einzurichten und zu konfigurieren. IT-Systemelektroniker:innen kümmern sich um Hardware und Verkabelung. Zu ihrem Beruf gehören auch elektrotechnische Arbeiten. Die im Buch beschriebenen kaufmännischen Berufe ordne ich grob so ein: Informatikkaufleute kümmern sich beispielsweise um den Einkauf von IT-Ausstattung, während IT-Systemkaufleute Kund:innen beraten und IT-Produkte verkaufen. Im Berufsalltag können sich diese Aufgaben überschneiden. In der damals behandelten schriftlichen Prüfung Ganzheitliche Aufgabe 2 kommen gemeinsame Grundlagen verschiedener IT-Berufe vor. Als angehende:r Anwendungsentwickler:in kannst du deshalb auch Aufgaben zur strukturierten Verkabelung bekommen. Das Buch stellt außerdem Studienrichtungen und den Ablauf der IHK-Abschlussprüfung vor. Der Überblick über die Berufe gehört zum Allgemeinwissen rund um deine Ausbildung. Computergeschichte und Programmiersprachen Die Geschichte der Computer führt unter anderem über Röhrenrechner bis zum C64, meinem ersten Computer. Historisches Wissen hilft dir, die Herkunft heutiger Ideen zu verstehen. Beispielsweise greifen heutige Sprachen Konzepte der funktionalen Programmierung aus den 1950er-Jahren auf. Fragen nach historischen Jahreszahlen gehören nach meinen bisherigen Erfahrungen kaum zu den Prüfungsaufgaben. Das Buch beschreibt, wie sich Programmiersprachen entwickelt haben, angefangen bei Maschinencode und Assembler. Als Entwickler:in solltest du die Eigenschaften verschiedener Sprachen kennen, damit du eine passende Sprache für deine Aufgabe auswählen kannst. C arbeitet prozedural; C# unterstützt objektorientiertes und teilweise funktionales Programmieren. Die Namen allein geben wenig Auskunft über die Eigenschaften einer Sprache. Mit Prolog arbeitest du auf Basis von Fakten und Regeln. Aus einer Wissensbasis über Familienbeziehungen lassen sich beispielsweise verwandte Personen abfragen. Auch ein Sudoku lässt sich damit lösen. Bei diesem deklarativen Ansatz beschreibst du das gewünschte Ergebnis, ähnlich wie bei einer SQL-Abfrage. FORTRAN und COBOL sind weiterhin in bestehenden Systemen vertreten. Gerade bei Banken und Versicherungen gibt es umfangreichen COBOL-Code, für den Entwickler:innen gebraucht werden. Bei der im Buch beschriebenen Abwärtskompatibilität von C++ zu C geht es darum, vorhandenen C-Code in C++ weiterzuverwenden und um Möglichkeiten wie Objektorientierung zu ergänzen. Smalltalk wird als frühe konsequent objektorientierte Sprache vorgestellt. Mir ist aus meiner Praxis kein Projekt bekannt, das damit arbeitet. Analoge und digitale Informationen Analoge Signale haben stetige Werte. Digitale Daten werden durch diskrete Werte dargestellt. Wenn ein gespeicherter Wert zwischen den verfügbaren Stufen liegt, muss er einer dieser Stufen zugeordnet werden, wodurch Genauigkeit verloren geht. Bei digitalen Bildern solltest du übliche Farbtiefen kennen. Im Buch wird für JPEG-Bilder 24 Bit genannt. Solche Angaben können bei Aufgaben zum Speicherbedarf vorausgesetzt werden. Für Audio in CD-Qualität brauchst du die Werte 44,1 Kilohertz Abtastrate, 16 Bit Abtasttiefe und üblicherweise zwei Tonkanäle für Stereo. Daraus lässt sich zusammen mit der Dauer der Speicherbedarf berechnen. Auch grundlegende Geschwindigkeiten von Übertragungsverfahren und Datenträgern können für Rechenaufgaben gebraucht werden. Genannt werden beispielsweise ISDN und DSL sowie die einfache Geschwindigkeit eines CD-ROM-Laufwerks. Zeichensätze und Zeichencodes wie ASCII und Unicode begegnen dir beim Umgang mit Textdateien. Falsch dargestellte Umlaute sind ein typisches Problem. Dazu verweise ich auf eine eigene Podcastfolge; das Buch behandelt das Thema später ausführlicher. Logik und Mengenlehre beim Programmieren Für Bedingungen in deinem Code brauchst du Aussagenlogik. In Prüfungen wendest du dieses Wissen vor allem innerhalb von Programmieraufgaben an, etwa wenn du eine Fallunterscheidung für eine Prüfziffer brauchst. Arbeite das Kapitel so durch, dass du Bedingungen selbst nachvollziehen kannst. Mengenlehre bildet eine Grundlage relationaler Datenbanken. Schnittmengen und Vereinigungsmengen begegnen dir in SQL wieder. Wenn du verstehst, welche Mengen eine Abfrage miteinander verknüpft, kannst du ihre Ergebnisse herleiten. In den von mir betrachteten Prüfungen der vorhergehenden Jahre kam SQL regelmäßig vor, häufig als größere Aufgabe mit 25 Punkten. Die mathematischen Grundlagen helfen dir dabei, solche Aufgaben zu bearbeiten. Zahlensysteme und Speichergrößen Zwischen dem Dualsystem und anderen Zahlensystemen umzurechnen gehört zum Prüfungswissen. Für Subnetting rechne ich mit Dualzahlen, weil sich Netzanteile und die gesetzten Bits einer Subnetzmaske damit direkt erkennen lassen. Das Oktalsystem begegnet dir bei Linux-Dateirechten. Hexadezimale Zahlen stehen beispielsweise in MAC-Adressen und IPv6-Adressen. Ein Byte besteht aus acht Bit. Die Vorsilben für größere Datenmengen solltest du kennen und bei Aufgaben genau lesen: Kilo und Mega stehen für Potenzen von 1000; Kibi und Mebi stehen für Potenzen von 10
35 Minuten
Für viele Auszubildende zählt das Führen des Ausbildungsnachweises - des Berichtshefts - nicht gerade zu den Lieblingstätigkeiten. Es wird also Zeit, sich in der zweiundfünfzigsten Episode des Anwendungsentwickler-Podcasts einmal eingehender mit ihm auseinanderzusetzen. TL;DR Mit deinem Berichtsheft hältst du fest, was du während deiner IT-Ausbildung gemacht und gelernt hast, und kannst bei Problemen deinen Ausbildungsverlauf belegen. Es gehört zu den Voraussetzungen für die Abschlussprüfung; eine Note bekommst du dafür nicht. Ich empfehle dir, deine Einträge regelmäßig während der Arbeitszeit zu schreiben und zeitnah von deinem/deiner Ausbilder:in unterschreiben zu lassen. Welche Form und Fristen für dich gelten, klärst du mit deiner zuständigen IHK; beim Schreiben kannst du zugleich mit LaTeX üben oder über deinen Lernfortschritt nachdenken. Kapitelmarken [00:00:01] Einstieg: Das Berichtsheft in der IT-Ausbildung [00:01:32] Ausbildungsaufgaben nachweisen und sich absichern [00:03:15] Gesetzliche Pflicht und Voraussetzungen für die Prüfung [00:04:31] Während der Arbeitszeit schreiben und Berichte durchsehen lassen [00:05:34] Sonderfälle: Externe Prüflinge und dual Studierende [00:07:16] Vorlagen der IHK und eine Vorlage für LaTeX [00:08:35] Inhalte aus Betrieb und Berufsschule [00:09:25] Ausbildungsfremde Aufgaben festhalten und ansprechen [00:10:25] Ausdruck, Mappe und handschriftliche Berichte [00:12:26] Software wählen und Dateien sichern [00:14:11] Mein Ablauf mit Wiki und LaTeX [00:14:48] Wie ausführlich die Einträge sein sollen [00:16:13] Berichte regelmäßig aktualisieren [00:17:32] Nachträglich schreiben und unstimmige Angaben vermeiden [00:18:55] Wie Prüfer:innen das Berichtsheft durchsehen [00:19:15] Berichtsheft zur Prüfung vorlegen [00:20:17] Digitale Abgabe und Fristen der IHK [00:21:35] Folgen eines fehlenden Berichtshefts [00:22:27] Das Berichtsheft und die Prüfungsnote [00:23:33] Feste Termine für das Schreiben einplanen [00:24:12] Sich absichern und für das Abschlussprojekt üben [00:25:19] Sprachlich sorgfältig schreiben [00:26:09] Mit Technik arbeiten und Abläufe automatisieren [00:27:09] Über den eigenen Lernfortschritt nachdenken [00:28:02] Erfolge im Berichtsheft festhalten [00:29:08] Berichte zeitnah unterschreiben lassen [00:30:19] Ideen für Blogbeiträge sammeln [00:31:14] Tagesberichte aus erfassten Projektzeiten erzeugen [00:32:28] Kontakt, Themenwünsche und Newsletter [00:33:52] Ausblick auf den Buchclub zum IT-Handbuch Inhalt Von vielen Azubis wird das Berichtsheft als nervige Pflicht angesehen, aber es gibt auch einen konkreten Grund, warum es erforderlich ist. Und mit ein wenig Einsatz kann das Führen des Berichtshefts sogar Spaß machen. Warum muss ich überhaupt ein Berichtsheft führen? Laut § 43 (Zulassung zur Abschlussprüfung) des Berufsbildungsgesetzes (BBiG) "Berufsbildungsgesetz (BBiG)") gilt: Zur Abschlussprüfung ist zuzulassen, [...] wer an vorgeschriebenen Zwischenprüfungen teilgenommen sowie vorgeschriebene schriftliche Ausbildungsnachweise geführt hat [...] Das bedeutet, dass man nur zur Prüfung zugelassen wird, wenn man sein Berichtsheft ordnungsgemäß geführt hat. U.a. in § 7 (Berichtsheft) der Verordnung über die Berufsausbildung im Bereich der Informations- und Telekommunikationstechnik wird darüber hinaus das Berichtsheft für die IT-Berufe noch etwas genauer beschrieben: Der Auszubildende hat ein Berichtsheft in Form eines Ausbildungsnachweises zu führen. Ihm ist Gelegenheit zu geben, das Berichtsheft während der Ausbildungszeit zu führen. Der Ausbildende hat das Berichtsheft regelmäßig durchzusehen. Es gibt also eine eindeutige gesetzliche Regelung zum Berichtsheft. Und daran hat sich jeder Ausbildungsbetrieb, aber auch jeder Azubi zu halten. Wir schauen in der Prüfung auch durchaus in die Berichtshefte und nehmen Stichproben von den vermittelten Inhalten. Gerade bei etwas schlechteren Prüflingen ist häufig die Frage, ob der Ausbildungsbetrieb eine Mitschuld trägt. Und das lässt sich nur anhand der Ausbildungsinhalte nachweisen. Und genau dieser wichtige Grund spricht auch aus Sicht des Prüflings für die korrekte Pflege des Berichtshefts. Es ist nämlich der einzige schriftliche Nachweis für ein Fehlverhalten des Ausbildungsbetriebs. Wenn der Ausbildende den Azubi drei Jahre lang nur Kaffee kochen lässt und das auch immer brav im Berichtsheft unterzeichnet hat, hat der Azubi später bei Problemen in der Abschlussprüfung die Möglichkeit, sich über das Ausbildungsunternehmen zu beschweren. Natürlich sollte man nicht bis zur Abschlussprüfung damit warten. Also wenn im ersten Jahr außer einfachen Hilfstätigkeiten kein ausbildungsrelevanter Inhalt im Berichtsheft steht, wird es als Azubi Zeit, tätig zu werden und die zuständige IHK zu kontaktieren. Wann sollte ich das Berichtsheft pflegen? Ich kenne einige Azubis, die das Führen des Berichtshefts nicht so ernst nehmen, und teils kurz vor der Prüfung Nachtschichten einlegen, um ein Berichtsheft zu produzieren. Das würde ich definitiv nicht empfehlen! Zusätzlich dazu, dass damit der gesamte Sinn des Berichtshefts hinfällig wird, ist es auch einfach schwierig, sich Ausbildungsnachweise für drei Jahre aus den Fingern zu saugen. Und wenn man dann noch alle Nachweise mit dem gleichen Datum unterschreibt, macht man es dem Prüfungsausschuss leicht, den Schwindel zu erkennen. Eine vernünftige Ausbilderin wird darauf achten, dass das Berichtsheft regelmäßig geführt wird und den notwendigen Qualitätsanforderungen genügt. Rechtschreibfehler usw. sollten also im Berichtsheft nicht auftauchen. Auch sollte das Berichtsheft regelmäßig ausgedruckt und abgeheftet werden, damit nicht kurz vor der Prüfung die große Panik einsetzt oder man das Berichtsheft gar ganz vergisst. Damit hat man als Azubi auch regelmäßig eine Unterschrift des Ausbildenden und könnte sich ggfs. bei der IHK beschweren, wenn es Probleme gibt. Ein guter Ausbildungsbetrieb wird kein Problem damit haben, regelmäßig das Berichtsheft abzuzeichnen. Was heißt nun regelmäßig? Das kommt wohl wieder einmal auf die IHK an. Bei der IHK Oldenburg (siehe Berichtsheft kaufmännisch) sind die Ausbildungsnachweise als Wochenprotokolle zu führen und einmal monatlich zu unterzeichnen. Das ist meiner Meinung nach auch sinnvoll, da man als Anwendungsentwickler ja durchaus länger an Projekten arbeitet und nicht täglich etwas zu berichten hat (z.B. "Heute habe ich eine Schleife programmiert."). Ich habe aber auch schon (dicke) Berichtshefte gesehen, die aus Tagesprotokollen bestanden. Also: Informiere dich bei deiner IHK, wie das Berichtsheft zu führen ist. Normalerweise sollte dein Ausbildungsbetrieb das aber auch wissen. In welcher Form sollte das Berichtsheft geführt werden? Ich habe schon einige Berichtshefte gesehen, die handschriftlich geführt wurden. Ich finde allerdings das passt nicht so recht zu einem IT-Beruf. Außerdem ist das ein ziemlicher Aufwand. Ich würde also getippte Berichte empfehlen. Natürlich könnte man nun eine Word-Datei anlegen - ggfs. auf Basis einer bestehenden Vorlage der IHK -, aber auch davon rate ich ab. Schließlich sind wir doch ITler! Also bevorzuge ich etwas modernere Methoden. Ich empfehle, das Berichtsheft in einem Wiki oder einer Plain-Text-Datei (z.B. mit Markdown) mit Versionierung (z.B. mit Git) zu führen. Das erleichtert die Korrekturen und auch die Prüfung durch den Ausbilder. Im Firmenwiki kann der Ausbilder sich jederzeit ein Bild vom Stand des Berichtshefts machen und ggfs. schon Korrekturen einbringen. In Word-Dateien ist das einfach umständlicher. Aus den Wiki-Texten kann man dann z.B. ein LaTeX-Dokument füllen und hat auf Knopfdruck ein perfekt gesetztes Berichtsheft. Meine Azubis haben das Ganze so schon umgesetzt. Zusammenfassung Warum muss ich überhaupt ein Berichtsheft führen? Um dich gegenüber deinem Ausbildungsunternehmen abzusichern, falls du keine adäquate Ausbildung bekommst. Bin ich verpflichtet, das Berichtsheft zu führen? Ja. Das regelt §43 des BBiG: Zur Abschlussprüfung ist zuzulassen, [...] wer an vorgeschriebenen Zwischenprüfungen teilgenommen sowie vorgeschriebene schriftliche Ausbildungsnachweise geführt hat [...] Und die Verordnung über die Berufsausbildung im Bereich der Informations- und Telekommunikationstechnik sagt: Der Auszubildende hat ein Berichtsheft in Form eines Ausbildungsnachweises zu führen. Ihm ist Gelegenheit zu geben, das Berichtsheft während der Ausbildungszeit zu führen. Der Ausbildende hat das Berichtsheft regelmäßig durchzusehen. Ich bin dualer Student oder externer Prüfling. Muss ich auch ein Berichtsheft führen? Externe Prüflinge müssen häufig kein Berichtsheft führen, sondern nur einen Praxisbericht schreiben. Kannst du mir eine verbindliche Auskunft darüber geben, ob und wie ich mein Berichtsheft zu führen habe? Nein. Das kann nur die für dich zuständige IHK. Gibt es Vorlagen für das Berichtsheft? LaTeX-Vorlage für das Berichtsheft Ausbildungsnachweis für die Berufsausbildung, IHK Oldenburg Was gehört ins Berichtsheft? Die Tätigkeiten, die du im Rahmen deiner Ausbildung durchgeführt hast. Was du gelernt hast. Die Inhalte in der Berufsschule. In welcher Form soll ich das Berichtsheft führen? Am häufigsten sehe ich ausgedruckte DIN A4-Blätter in stabilen Schnellheftern aus Pappe*. Einige Prüflinge lassen ihr Berichtsheft sogar binden. Es gibt aber auch IHKen, die das Berichtsheft online haben möchten. Einige Prüflinge führen das Berichtsheft auch handschriftlich (davon würde ich aber abraten). * Wie soll ich das Berichtsheft technisch führen? Mit einem Textverarbeitungsprogramm deiner Wahl, z.B. LaTeX, Word* oder einem simplen Texteditor. Auf jeden Fall so, dass du es später einfach in die von der IHK gewünschte Form bringen kannst. Darf ich das Berichtsheft während der Arbeitszeit führen? Ja (siehe oben). Wie detailliert müssen die Einträge sein? Meiner Meinung nach reichen Wochenprotokolle mit einer Auflistung der wichtigst
51 Minuten
Softwareentwickler haben viel zu tun und stehen häufig unter Zeitdruck. Um die verfügbare Zeit optimal nutzen zu können, gebe ich in der einundfünfzigsten Episode des Anwendungsentwickler-Podcasts einige Tipps zum Thema Produktivität. TL;DR Mit meinen Tipps kannst du als IT-Azubi bei der täglichen Arbeit Zeit sparen und deinen Code leichter weiterentwickeln. Zehnfingersystem und Tastenkürzel helfen dir dabei, deinen Computer zügig zu bedienen, während passende Programme wiederkehrende Eingaben übernehmen. Beim Programmieren wählst du die Sprache passend zur Aufgabe und hältst deinen Code mit einfachen, wiederverwendbaren Lösungen übersichtlich. Für langfristig produktives Arbeiten gehören außerdem Git und gründliches Lernen dazu; automatisierte Tests sowie Build-Werkzeuge erleichtern dir wiederkehrende Abläufe. Kapitelmarken [00:00:20] Produktiver arbeiten im Alltag als Softwareentwickler:in [00:01:54] Das Zehnfingersystem lernen [00:05:26] Tipptraining mit TIPP10 [00:06:26] Den Computer mit der Tastatur bedienen [00:08:11] Tastenkürzel lernen mit MouseFeed [00:10:14] Eigene Tastenkürzel und MoreUnit [00:11:47] Weniger eingeben mit CLCL [00:13:13] Zugangsdaten mit KeePass eintragen [00:14:34] Textbausteine und Makros mit AutoHotkey [00:15:51] Texte mit Vi und Vim bearbeiten [00:18:08] Vim Adventures und Practical Vim [00:18:58] Texte in Markdown schreiben und mit Git versionieren [00:20:47] Dateien mit Everything finden [00:23:30] Die passende Programmiersprache wählen [00:26:41] Statische und dynamische Typisierung [00:27:20] Code mit Git versionieren [00:28:02] In geeignete Werkzeuge und Lernangebote investieren [00:31:39] Neue Technologien und Framework-Versionen kennenlernen [00:33:12] Reguläre Ausdrücke für Textmuster [00:34:07] Excel und Calc im Entwicklungsalltag [00:35:12] Zeit zum gründlichen Lernen einplanen [00:36:12] Mit anderen Softwareentwickler:innen austauschen [00:37:44] DRY: Funktionen zentral ablegen [00:38:29] KISS: Einfache Lösungen wählen [00:39:29] YAGNI: Aktuelle Anforderungen umsetzen [00:40:55] Automatisierte Tests und Regressionen [00:42:31] Build-Abläufe automatisieren und Continuous Integration [00:44:53] Rückblick auf die Tipps zum Programmieren [00:46:03] Links und Buchempfehlungen [00:47:16] Weitere Tipps und Blogartikel [00:48:21] Newsletter und Buchclub zum Handbuch für Fachinformatiker:innen Inhalt Zeit sparen Lerne das 10-Finger-System, z.B. mit Tipp10. Nutze deine Tastatur* und nicht die Maus*. Lerne die wichtigsten Shortcuts deiner Tools. In Eclipse hilft dir z.B. MouseFeed dabei. Definiere dir eigene Shortcuts für häufig benötigte Funktionen, z.B. für ReRun Tests. Ggfs. brauchst du Tools wie MoreUnit dafür. Vermeide zu tippen, wo immer es geht. Ich nutze dafür z.B. CLCL, KeePass und AutoHotkey (siehe auch Tools für Softwareentwickler). Nutze Vim als Editor. Hiermit kannst du ihn spielerisch lernen: VIM Adventures. Lerne ein einfaches Textformat, wie z.B. Markdown (siehe auch Warum ich Markdown liebe). Verschwende keine Zeit mit der Suche nach Dateien. Everything ist die Antwort auf alle Fragen. Produktiv programmieren Verwende die beste Sprache für die Lösung deines Problems (statisch vs. dynamisch, Java vs. C#). Verwende eine Versionsverwaltungssoftware wie Git. Verwende die besten Tools, auch wenn sie Geld kosten, z.B. eine gute IDE. Lerne neue Technologien. Erfinde das Rad nicht ständig neu. Neue Frameworks wie Java EE 7 erfordern (vielleicht) weniger Code. Reguläre Ausdrücke lösen viele Probleme. Excel* ist ein mächtiges Werkzeug für allerlei Aufgaben. Nimm dir Zeit zum Lernen und lies auch gerne mal ein Buch, anstatt Dinge nur halb zu verstehen. Tausche dich mit anderen Entwicklern aus, z.B. in Foren oder bei Offline-Treffen. Befolge die zentralen Prinzipien der Softwareentwicklung. DRY KISS YAGNI Schreibe automatisierte Tests (siehe auch Test everything). Automatisiere alles. Literaturempfehlungen Wenn du den Umgang mit dem besten Editor der Welt perfektionieren willst, lernst du am besten vom "Meister". Practical Vim* ist voll von direkt anwendbaren Tipps zum Umgang mit Vim. * Das Buch Pro Git* habe ich hier im Blog schon ein paar Mal empfohlen. Es hat mir beim Verständnis der Funktionsweise von Git sehr geholfen und ist voll mit praxisnahen Informationen. * Wenn dir die oben genannten Prinzipien der Softwareentwicklung noch nicht viel sagen, dann ist es Zeit für Clean Code*. Das Buch muss jeder Softwareentwickler gelesen haben. * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Zusammenfassung Im Alltag Zeit sparen Für meine IT-Azubis gehört Zeit zum Lernen und Ausprobieren zur Ausbildung. Gegen Ende der Ausbildung, besonders vor der Abschlussprüfung, steigt der Zeitdruck. Auch im späteren Alltag als Softwareentwickler:in helfen eingeübte Handgriffe und passende Werkzeuge dabei, Aufgaben zügig zu erledigen. Das Zehnfingersystem lernen Wenn du täglich Code und andere Texte schreibst, lohnt es sich, das Zehnfingersystem zu beherrschen. Durch regelmäßiges Üben prägen sich die Wege zu den Tasten ein, sodass du beim Tippen auf den Bildschirm schauen kannst. Bereits eingeübte Gewohnheiten umzustellen braucht Zeit. Ich habe dafür mehrere Wochen täglich geübt. Das kostenlose Programm TIPP10 beginnt mit der Grundstellung auf A, S, D, F sowie J, K, L, Ö. Weitere Zeichen kommen schrittweise hinzu. Für Softwareentwickler:innen gibt es Übungen mit Klammern und Sonderzeichen. Ich empfehle dir, das übliche Tastaturlayout zu lernen. Damit kannst du auch beim Pair Programming oder an einem anderen Arbeitsplatz mit vertrauten Tasten arbeiten. Programme mit der Tastatur bedienen Probiere für eine Stunde oder einen Tag aus, deinen Computer über die Tastatur zu bedienen. Bei alltäglichen Aufgaben lassen sich viele Aktionen direkt per Tastenkürzel ausführen. Die Kontextmenütaste einer Windows-Tastatur öffnet das Rechtsklickmenü; mit Enter kannst du beispielsweise eine Suche abschicken. Lerne vor allem die Kürzel für Funktionen, die du häufig aufrufst. In Eclipse unterstützt dich das Plugin MouseFeed dabei: Nach wiederholten Mausklicks auf eine Funktion zeigt es das passende Tastenkürzel an. Für häufig aufgerufene Funktionen ohne Kürzel regt es an, eines festzulegen. Eigene Tastenkürzel lassen sich an deinen Arbeitsablauf anpassen. Ich habe mir beispielsweise eines zum erneuten Ausführen meiner Tests eingerichtet. Das Eclipse-Plugin MoreUnit ermöglicht außerdem, mit Strg+J zwischen einer Klasse und dem zugehörigen Test zu wechseln. Wiederkehrende Eingaben abkürzen Für Texte, die du immer wieder eingibst, empfehle ich dir diese Werkzeuge: CLCL speichert mehrere Einträge der Zwischenablage. In meiner Konfiguration bleiben die letzten 30 kopierten Inhalte verfügbar. So kannst du mehrere Textstellen nacheinander kopieren und später einzeln einfügen. KeePass verwaltet deine Zugangsdaten. Mit einem passenden Browser-Plugin lassen sich Benutzername und Passwort per Tastenkürzel eintragen und das Formular abschicken. AutoHotkey ersetzt kurze Eingaben durch längere Texte, etwa eine Grußformel oder deine E-Mail-Adresse. Das kostenlose Programm kann auch Makros ausführen, die mehrere Tastendrücke und Eingaben verbinden. Vi beziehungsweise Vim lernen Mit Vi/Vim kannst du Texte mit wenigen Tastendrücken bearbeiten. Über H, J, K und L bewegst du dich durch den Text, während deine Hände nahe an der Grundstellung bleiben. Auch beim Ersetzen und Bearbeiten von Text helfen kurze Befehle. Für den Einstieg brauchst du Übung, weil viele Tasten eigene Befehle auslösen. Ein Cheat Sheet hilft dabei, sie nachzuschlagen. Ich empfehle dir das Spiel Vim Adventures, um Befehle spielerisch kennenzulernen, sowie das Buch Practical Vim mit Beispielen für den Arbeitsalltag. Texte in einem einfachen Format schreiben Ich schreibe meine Texte in Markdown. Damit kannst du beispielsweise Überschriften und Listen direkt im Text kennzeichnen. Für Fettschrift setzt du jeweils zwei Sternchen vor und hinter die betreffende Stelle. Weitere einfache Textformate sind Textile und die MediaWiki-Syntax. Solche Dateien lassen sich mit Git versionieren. Dadurch kannst du nachvollziehen, wie sich ein Text entwickelt hat, einzelne Änderungen vergleichen und frühere Stände wiederherstellen. Dateien mit Everything finden Das kostenlose Windows-Programm Everything erfasst Dateinamen auf deiner Festplatte. Anschließend kannst du Dateien durch Eingeben eines Namens schnell finden. Die hier beschriebene Suche arbeitet anhand der Dateinamen; die Inhalte der Dateien werden dabei nicht als Volltext erfasst. Produktiv programmieren Die Sprache passend zur Aufgabe wählen Wenn du mehrere Programmiersprachen kennst, kannst du einschätzen, welche für deine Aufgabe geeignet ist. Dabei zählen auch die verfügbaren Bibliotheken und das Umfeld, in dem dein Programm laufen soll. Für Skripte unter Windows empfehle ich PowerShell. Bei Office-Aufgaben kommt .NET infrage, während Erweiterungen für WordPress in PHP entstehen. Für dynamische Websites ist beispielsweise Ruby on Rails eine Möglichkeit. Auch das Typsystem gehört zu dieser Entscheidung: Mit dynamisch typisierten Sprachen lassen sich erste Lösungen mit wenig Code schreiben. Statisch typisierte Sprachen ermöglichen Unterstützung durch die IDE, etwa beim Springen zu einer Typdefinition, und helfen beim langfristigen Weiterentwickeln des Codes. Code mit Git versionieren Mit Git kannst du Änderungen nachvollziehen und Unterschiede zwischen mehreren Ständen ansehen. Beim Ausprobieren hast du einen gespeicherten, funktionierenden Stand, zu dem du zurückkehren kannst. Git funktioniert auch lokal auf deinem Rechner. Ich verwende Git für meinen Code und meine Texte. Als Buch zum Einstieg empfehle ich Pro Git, das auch kostenlos verfügbar ist. Geeignete Werkzeuge und Lernangebote auswählen Beziehe beim Kauf von Software die Zeit ein, die sie dir bei deiner Arbeit spart. Wenn du zwei Stunden suchst, um zehn Euro für ein geeignetes Programm einzusparen,...
37 Minuten
Da ich gerade wieder einen Haufen Projektanträge für das Abschlussprojekt gelesen habe, geht es in der fünfzigsten Episode des Anwendungsentwickler-Podcasts um die häufigsten Fehler im Projektantrag und wie man sie als Prüfling vermeiden kann. TL;DR Aus meinen Erfahrungen als Prüfer zeige ich dir 14 häufige Fehler im Projektantrag: Damit dein Abschlussprojekt als Fachinformatiker:in Anwendungsentwicklung beurteilt werden kann, muss erkennbar sein, wie du methodisch vorgehst und welche technische Tiefe deine Aufgabe hat. Beschreibe das betriebliche Problem verständlich, benenne die geplanten Technologien und berücksichtige, ob sich das Projekt wirtschaftlich lohnt. Teile deine Projektzeit in konkrete Arbeitsschritte auf, beachte die Vorgaben deiner IHK und lass deinen Antrag vor dem Einreichen gegenlesen. Kapitelmarken [00:00:01] Thema: Häufige Fehler im Projektantrag [00:00:20] 50. Episode und Erfahrungen mit aktuellen Projektanträgen [00:02:07] Fehler 1: Lange Projektphasen genauer aufteilen [00:04:34] Fehler 2: Methodisches Vorgehen erkennbar machen [00:06:37] Fehler 3: Geplante Artefakte benennen [00:08:38] Fehler 4: Wirtschaftlichkeit berücksichtigen [00:10:28] Fehler 5: Programmiersprache und Technologien angeben [00:12:27] Fehler 6: Technische Tiefe deutlich machen [00:15:02] Fehler 7: Projektzeit vollständig und konkret verplanen [00:17:26] Fehler 8: Projektphasen angemessen gewichten [00:19:09] Fehler 9: Zeit für die Projektdokumentation begrenzen [00:20:17] Fehler 10: Dokumentation für Anwender:innen und Entwickler:innen einplanen [00:22:32] Fehler 11: Das betriebliche Problem verständlich beschreiben [00:26:27] Fehler 12: Verständliche Sätze schreiben [00:27:24] Fehler 13: Rechtschreibung und Grammatik prüfen [00:29:20] Fehler 14: Sachlich und passiv formulieren [00:30:37] Rückblick auf die 14 häufigsten Fehler [00:33:42] Vertiefende Artikel in den Shownotes [00:34:09] Bloghinweise zu Laserpointern und Java 8 [00:34:58] Aktualisierte Checkliste für den Projektantrag [00:35:59] Ausblick: Produktivität für Softwareentwickler:innen Inhalt Lange Projektphasen von teils 40 Stunden werden nicht weiter runtergebrochen. Eine methodische Softwareentwicklung wird nicht deutlich. Zu erstellende Artefakte werden nicht genannt. Die Betrachtung der Wirtschaftlichkeit wird vergessen. Zu verwendende Programmiersprache und -plattform werden nicht genannt. Die technische Tiefe wird nicht deutlich. Die Projektzeit wird nicht exakt verplant (Puffer). Die Zeitplanung ist nicht sinnvoll (Verhältnis passt nicht). Die Problemstellung ist unverständlich. Es wird zu viel Zeit für die Dokumentation eingeplant (teils 20 Stunden). Benutzer- und/oder Entwicklerdokumentation werden nicht eingeplant. Der Text ist schwer verständlich (z.B. ohne Einleitung mitten ins Thema einsteigen). Der Text ist voller Rechtschreibfehler. Der Prüfling schreibt in der Ich-Perspektive. Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Inhalte des Projektantrags Ist die Projektdokumentation Teil der Bearbeitungszeit des IHK-Abschlussprojekts? Wie viel Zeit sollte man für die Projektdokumentation einplanen? Muss die Projektbearbeitungszeit (70 Stunden) wirklich genau eingehalten werden? Die Wirtschaftlichkeit interessiert niemanden – Mythen der Projektpräsentation Erzählperspektive der Projektdokumentation Weitere Infos zum ProjektantragDu suchst noch mehr Tipps rund um den Projektantrag? Dann schau doch mal in diese Artikel- und Podcast-Kategorie: Alle Artikel rund um den Projektantrag.Und wenn du dich für meinen Newsletter einträgst, kannst du dir jetzt sofort meine Checkliste für den Projektantrag herunterladen.Jetzt anmelden! Zusammenfassung 14 häufige Fehler im Projektantrag Als Prüfer muss ich anhand deines Antrags einschätzen können, ob dein Projekt zum Berufsbild Fachinformatiker:in Anwendungsentwicklung passt und innerhalb der vorgesehenen Zeit machbar ist. Die Zeitbeispiele hier beziehen sich auf 70 Stunden Projektzeit. Meine Empfehlungen zu einzelnen Zeitansätzen sind persönliche Richtwerte; bei IHK-spezifischen Fragen gelten die Vorgaben deiner zuständigen IHK. 1. Lange Projektphasen genauer aufteilen Wenn du 40 Stunden pauschal für das Programmieren einplanst, bleibt offen, welche Aufgaben du bearbeitest und wie du dabei vorgehst. Teile solche Phasen in konkrete Arbeitsschritte auf, damit sich der Aufwand fachlich beurteilen lässt. Mein Richtwert liegt bei höchstens acht Stunden pro Arbeitsschritt, also einem ganzen Arbeitstag. 2. Zeigen, wie du methodisch Software entwickelst Beschreibe, mit welchen Methoden du deine Lösung planst. Bei einer Datenbank lässt sich beispielsweise ein Entity-Relationship-Modell vorsehen, während bei objektorientierter Software nachvollziehbar werden sollte, wie du Klassen und Architekturschichten entwirfst. Der Antrag muss erkennen lassen, dass du planvoll Software entwickelst und auf Qualität achtest. 3. Geplante Artefakte benennen Über die Ergebnisse deiner einzelnen Arbeitsschritte wird dein Vorgehen greifbar. Nenne die Artefakte, die du im Projekt erstellen wirst. Je nach Aufgabe kommen beispielsweise infrage: Lastenheft und Pflichtenheft ER-Modell oder Tabellenmodell für die Datenbank UML-Diagramme, etwa Use-Case-, Klassen-, Aktivitäts-, Zustands- oder Sequenzdiagramme Architekturskizzen oder Paketdiagramme Mock-ups für die Oberfläche EPKs, Struktogramme oder Programmablaufpläne Welche davon passen, ergibt sich aus deinem Projekt. Mit ihnen lässt sich erkennen, wie du Anforderungen und technische Zusammenhänge durchdenkst. 4. Prüfen, ob sich das Projekt wirtschaftlich lohnt Zum Abschlussprojekt gehört ein Praxisbezug. Plane deshalb ein, Kosten und benötigte Ressourcen zu betrachten und den wirtschaftlichen Vorteil deiner Lösung zu prüfen. Dafür erwarte ich etwa zwei bis drei Stunden; eine Amortisationsrechnung sollte ergänzend berücksichtigt werden. 5. Die konkreten Technologien nennen Gib an, welche Programmiersprache du einsetzt und auf welcher Plattform deine Anwendung laufen soll. Auch die Datenbank und eingesetzte Frameworks gehören in den Antrag. Diese Angaben helfen mir, den Aufwand einzuschätzen, weil ein Framework bestimmte Aufgaben bereits übernimmt und damit beeinflusst, wie viel Zeit du dafür brauchst. 6. Die technische Tiefe deutlich machen Beschreibe deine Aufgabe so konkret, dass der fachliche Anspruch erkennbar wird. Dazu gehören technische Anforderungen und Angaben dazu, was du selbst entwickeln wirst. Das Projekt muss die berufsspezifischen Fähigkeiten zeigen, die nach einer dreijährigen Ausbildung erwartet werden. Bleibt der Umfang deiner eigenen Entwicklungsarbeit unklar, kann der Antrag abgelehnt werden. 7. Die gesamte Projektzeit konkret verplanen Ordne die verfügbaren 70 Stunden vollständig konkreten Aufgaben zu. Pauschale Pufferzeiten halte ich für ungeeignet; einige IHKen verlangen allerdings einen Puffer, weshalb du ihre Vorgaben prüfen musst. Auch pauschal reservierte Stunden für spätere Fehler werfen Fragen auf, solange Umfang und Art dieser Fehler unbekannt sind. Tests lassen sich bereits während der Entwicklung einplanen, beispielsweise als Unit-Tests. 8. Die Projektphasen angemessen gewichten Wenn du zwei Stunden für die Analyse und 45 Stunden fürs Programmieren vorsiehst, fehlt aus meiner Sicht ausreichend Zeit, um die Anforderungen zu klären. Berücksichtige neben dem Implementieren auch Analyse und Entwurf sowie Qualitätssicherung und gegebenenfalls Abnahme. Die Zeitansätze müssen zum jeweiligen Aufwand passen. In einem Projekt zur Anwendungsentwicklung sollte das Implementieren den größten Anteil erhalten. 9. Für die Projektdokumentation angemessen viel Zeit vorsehen Ob die bewertete Projektdokumentation innerhalb der 70 Stunden entstehen muss, hängt von deiner IHK ab. Prüfe das vorab. Falls sie zur Projektzeit zählt, empfehle ich etwa sieben bis acht Stunden dafür. Mehr als zehn Stunden halte ich bei diesem Projektumfang für zu viel. 10. Dokumentation für Anwender:innen und Entwickler:innen berücksichtigen Plane diese Dokumente ein, sofern sie für dein Projekt sinnvoll sind. In vielen IHK-Bewertungsschemata werden sie separat bewertet. Für ein überschaubares Handbuch mit Screenshots und kurzen Erläuterungen setze ich ungefähr drei bis vier Stunden an. Wenn die Dokumentation für Entwickler:innen aus bereits geschriebenen Quelltextkommentaren erzeugt wird, etwa mit Javadoc, rechne ich für das Erzeugen und Bereitstellen ungefähr eine halbe Stunde. Zusätzlicher Aufwand muss entsprechend berücksichtigt werden. 11. Das betriebliche Problem verständlich beschreiben Führe so in dein Projekt ein, dass eine betriebsfremde Person den Zusammenhang versteht. Beschreibe dein Unternehmen und die relevante Infrastruktur, bevor du das Problem und das Projektziel erläuterst. Erkläre interne Produktnamen ebenso wie betriebsspezifische Fachbegriffe. Lass eine Person außerhalb deines Unternehmens prüfen, ob sie versteht, worum es geht. Bei Kolleg:innen sind viele Begriffe bereits bekannt, sodass fehlende Erläuterungen beim Gegenlesen leicht übersehen werden. 12. Verständliche Sätze schreiben Achte beim Überarbeiten darauf, ob verschachtelte Sätze oder unklare Einschübe den Text schwer lesbar machen. Auch fehlende Sätze können Zusammenhänge unterbrechen. Eine externe Person kann dir beim Gegenlesen zeigen, an welchen Stellen sie hängen bleibt. Wenn ich als Prüfer den Inhalt nicht nachvollziehen kann, lässt sich die Eignung des Projekts nicht beurteilen. 13. Sprachliche Fehler korrigieren lassen Prüfe deinen Antrag auf Rechtschreibfehler und achte beim Gegenlesen auch auf Grammatik sowie Zeichensetzung. Falls dir das schwerfällt, hole dir Unterstützung, beispielsweise bei deinem/deiner Ausbilder:in oder einer anderen Person, die sprachlich sicher ist. Ein sorgfältig geprüfter Antrag vermittelt, dass du auf die Qualität deiner Arbeit achtest. 14. Den Antrag sachlich formulieren Für technische Projekttexte empfehle ich eine neutrale, passive Schreibweise....
40 Minuten
Nachdem beim letzten Mal das Erstellen des Entity-Relationship-Modells Thema war, widmen wir uns in der neunundvierzigsten Episode des Anwendungsentwickler-Podcasts den Schritten bei der Erstellung eines Tabellenmodells. TL;DR Ich zeige dir, wie du ein ER-Modell in ein relationales Tabellenmodell überträgst: Entitätstypen werden zu Tabellen, deren Spalten einen Datentyp erhalten und festlegen, ob NULL erlaubt ist. Bei 1:n-Beziehungen gehört der Fremdschlüssel auf die n-Seite; für m:n-Beziehungen legst du eine Zuordnungstabelle an. Für deine Prüfung gehören klar gekennzeichnete Schlüssel und die dritte Normalform dazu, während du bei zusammengesetzten Schlüsseln prüfen musst, ob sie jeden Datensatz eindeutig bestimmen. Kapitelmarken [00:00:01] Einstieg ins Tabellenmodell [00:00:31] Relationale Datenbanken in Geschäftsanwendungen [00:02:02] Tabellen, Relationen und Beziehungen [00:03:36] Fremdschlüssel und Kardinalitäten [00:04:54] Primärschlüssel und Fremdschlüssel kennzeichnen [00:05:40] Spalten und Datentypen [00:06:55] Datentypen für die Prüfung [00:08:24] NULL und Pflichtfelder [00:09:48] Tabellenmodelle zeichnen [00:11:07] Vom ER-Modell zum Tabellenmodell [00:12:14] Entitätstypen als Tabellen übernehmen [00:14:11] 1:1-Beziehungen abbilden [00:16:29] Fremdschlüssel bei 1:n-Beziehungen [00:18:26] Zuordnungstabellen für m:n-Beziehungen [00:19:51] Fachliche Namen für Zuordnungstabellen [00:21:40] Zusammengesetzte Primärschlüssel [00:22:18] Beziehungsattribute und wiederholte Zuordnungen [00:24:05] Anonyme IDs als Primärschlüssel [00:26:15] Schritte beim Übertragen im Überblick [00:27:15] Zusätzliche Angaben in Prüfungsdiagrammen [00:30:23] Dritte Normalform in der Prüfung [00:31:28] Bewusst denormalisieren für schnellere Abfragen [00:32:24] Prüfungsfrage zu Beziehungen und Normalformen [00:33:32] Literatur und Übungsaufgaben [00:35:26] Seven Databases in Seven Weeks [00:36:23] Einzelprojekt und Teilprojekt beim Abschlussprojekt [00:37:08] Erfahrungen aus der Spieleentwicklung [00:37:55] Kontakt und Newsletter [00:38:51] Ausblick auf Fehler im Projektantrag Inhalt Modellierung mit Tabellenmodellen Welche Bestandteile hat ein Tabellenmodell? Tabellen (Relationen) mit Name, Spalten, Datentypen; Beziehungen mit Kardinalitäten; Primär- und Fremdschlüssel werden gekennzeichnet (z.B. mit PK und FK). Wie kommt man vom ER-Modell zum Tabellenmodell? Jeder Entitätstyp wird zu einer Tabelle. Attribute werden zu Spalten dieser Tabellen. Datentypen der Spalten bestimmen. m:n-Beziehungen durch Fremdschlüssel in Zwischentabellen auflösen. Ggfs. Attribute der Beziehung als Spalten ergänzen. 1:n- und 1:1-Beziehungen durch Fremdschlüssel auflösen. Bei 1:1 ist die Position des Fremdschlüssels egal, bei 1:n muss er in die n-Tabelle. Tipps zur Prüfung und Praxis Immer alle Informationen einzeichnen, auch wenn sie nicht explizit gefragt sind. Drei Datentypen reichen: VARCHAR, NUMBER und DATE. Wenn eine Tabelle einen zusammengesetzten Schlüssel mit mehr als 2 Attributen hat, führe einen anonymen Primärschlüssel ein. Achte auf ein normalisiertes Modell in dritter Normalform (die weiteren Normalformen sind irrelevant). Du solltest trotzdem erklären können, wann man von der Normalisierung abweichen kann/sollte. Die 1:n-Beziehungen werden in der 3. Normalform aufgelöst, die m:n-Beziehungen in der 2. Literaturempfehlungen Einsteigern ins Thema Datenmodellierung empfehle ich die Artikelreihe von Dr. Veikko Krypczyk im Entwickler Magazin. Der erste Artikel ist frei verfügbar: Datenbanken: Grundlagen und Entwurf - entwickler.de. Im Handbuch für Fachinformatiker ist das komplette Kapitel 13 dem Thema Datenbanken gewidmet. *(direkt beim Rheinwerk-Verlag bestellen*) Am besten übst du die Datenbankmodellierung mit Prüfungsaufgaben der IHK. Dazu empfehle ich die Prüfungstrainer für die Abschlussprüfung*. * Ein tolles Buch, um einmal über den Tellerrand der relationalen Datenbanken hinweg zu schauen, ist Seven Databases in Seven Weeks*. Eine relationale Datenbank (PostgreSQL) wird vorgestellt, aber der Rest des Buches behandelt die unterschiedlichsten Typen von (NoSQL-)Datenbanken und ihre Besonderheiten - gerade auch ber der Datenmodellierung. Absolut lesenswert für jeden Softwareentwickler. * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Relationale Datenbanken - Häufige Fragen im Fachgespräch - Anwendungsentwickler-Podcast #17 Normalisierung - Häufige Fragen im Fachgespräch - Anwendungsentwickler-Podcast #18 SQL - Häufige Fragen im Fachgespräch - Anwendungsentwickler-Podcast #19 Zusammenfassung Tabellen und ihre Beziehungen Als Fachinformatiker:in für Anwendungsentwicklung arbeitest du häufig an Geschäftsanwendungen, deren Daten in relationalen Datenbanken liegen. Beispiele aus dem Unternehmensumfeld sind Oracle und Microsoft SQL Server. Auch DB2 gehört dazu. Eine Relation bezeichnet im Tabellenmodell eine Tabelle. Darin stehen zusammengehörige Daten, etwa die Attribute einer Person. Beziehungen zwischen Tabellen zeichnest du als Verbindungslinien ein und versiehst sie mit Kardinalitäten. Im Tabellenmodell bilden Fremdschlüssel diese Beziehungen ab. Zu jeder Spalte gehört außerdem ein Datentyp, damit sich aus dem Modell eine lauffähige Datenbank erstellen lässt. Was du in eine Tabelle einträgst Eine Tabelle zeichnest du als Rechteck mit einem Namen. Für ihre Spalten hältst du folgende Angaben fest: Spaltenname: Er ergibt sich aus dem jeweiligen Attribut. Datentyp: Er legt fest, welche Werte die Spalte aufnehmen kann. NULL erlaubt: Du kennzeichnest, ob ein Wert fehlen darf. Pflichtfelder erhalten NOT NULL. Schlüssel: Mit PK für Primary Key markierst du den Primärschlüssel. FK steht für Foreign Key, also Fremdschlüssel. Die Kürzel kannst du vor oder hinter die betreffende Spalte schreiben, solange eindeutig erkennbar bleibt, worauf sie sich beziehen. Für die Zeichnung reicht eine Verbindungslinie zwischen den Tabellen. Über die gekennzeichneten Schlüssel lässt sich zuordnen, welche Spalten zusammengehören. Um eine Kardinalität einzutragen, formulierst du die Beziehung in beide Richtungen. Bei der Aussage "Eine Artikelgruppe enthält mehrere Artikel" steht das n an der Tabelle Artikel. Datentypen für deine Prüfung Da Datenbanksysteme unterschiedliche Typen anbieten, empfehle ich dir für Prüfungsaufgaben einfache Bezeichnungen, die dein:e Prüfer:in zuordnen kann: VARCHAR für Zeichenketten, etwa einen Namen. NUMBER für Zahlen, wobei du bei Bedarf Nachkommastellen angibst. DATE für Datumswerte. Damit lassen sich auch Datumsoperationen ausführen, beispielsweise ein Jahr abziehen. Wahrheitswerte kannst du bei fehlendem Boolean-Typ durch eine Zahl mit den Werten 0 und 1 abbilden. Bietet das Datenbanksystem einen passenden Boolean-Typ, kannst du diesen verwenden. Vom ER-Modell zum Tabellenmodell Entitätstypen übernehmen Für jeden Entitätstyp legst du eine Tabelle an und überträgst dessen Attribute als Spalten. Den im ER-Modell unterstrichenen Primärschlüssel kennzeichnest du mit PK. Anschließend vergibst du für jede Spalte einen Datentyp und entscheidest, ob NULL erlaubt ist. Ein Geburtsdatum erhält beispielsweise DATE; für einen Namen passt VARCHAR. Dieser Schritt lässt sich direkt aus dem ER-Modell ableiten und bringt dir bei einer entsprechenden Prüfungsaufgabe bereits Punkte. 1:1-Beziehungen abbilden Bei einer 1:1-Beziehung kannst du den Fremdschlüssel in einer der beiden Tabellen unterbringen. Im Beispiel gehört zu einem Benutzerkonto genau ein Login, das wiederum genau diesem Konto zugeordnet ist. Du kannst deshalb eine Login-ID in der Tabelle User hinterlegen oder eine User-ID in Login. Ich wähle den Ort danach, wie die Daten fachlich zusammengehören. Wenn das Benutzerkonto die Haupttabelle bildet und das Login ergänzende Daten enthält, lege ich die User-ID als Fremdschlüssel in Login ab. 1:n-Beziehungen abbilden Bei einer 1:n-Beziehung kommt der Fremdschlüssel in die Tabelle auf der n-Seite. Jeder Artikel gehört im Beispiel zu genau einer Artikelgruppe, während eine Gruppe mehrere Artikel enthält. Die Tabelle Artikel erhält daher eine Artikelgruppen-ID als Fremdschlüssel. So enthält jede Zelle einen atomaren Wert. Mehrere Artikel können über dieselbe Gruppen-ID derselben Artikelgruppe zugeordnet sein. m:n-Beziehungen abbilden Für eine m:n-Beziehung legst du eine zusätzliche Zuordnungstabelle an. Sie enthält die Schlüssel der beiden beteiligten Tabellen als Fremdschlüssel. Daraus entstehen zwei 1:n-Beziehungen. Eine Rechnung kann beispielsweise mehrere Artikel enthalten, und ein Artikel kann auf mehreren Rechnungen vorkommen. Die Zuordnungstabelle erhält deshalb eine Rechnungs-ID sowie eine Artikel-ID. Diese beiden Spalten bilden üblicherweise gemeinsam den Primärschlüssel. Ich empfehle dir einen fachlich passenden Namen wie Rechnungsposition. In der Prüfung wird auch ein zusammengesetzter Tabellenname wie Artikel_Rechnung akzeptiert. Attribute an Beziehungen und zusammengesetzte Schlüssel Wenn eine Beziehung eigene Attribute besitzt, überträgst du diese in die Zuordnungstabelle. Bei einer Rechnungsposition gehören beispielsweise Preis und Menge dazu. Prüfe dann, ob die beiden Fremdschlüssel gemeinsam jeden Datensatz eindeutig bestimmen. Wenn du wiederholte Käufe eines Artikels durch dieselbe Person abbilden möchtest, reicht die Kombination aus Kunden-ID und Artikel-ID für eine Historie allein nicht aus. Mit einem zusätzlichen Datum im Schlüssel lassen sich Käufe zu unterschiedlichen Zeitpunkten unterscheiden. Für meine Praxis empfehle ich bei Schlüsseln mit mehr als zwei Spalten eine zusätzliche anonyme ID als Primärschlüssel. Dadurch lassen sich Beziehungen in SQL-Abfragen einfacher formulieren. Bei einem zusammengesetzten Schlüssel müssen die zugehörigen Spalten in einem Join vollständig berücksichtigt werden; ein vergessener Bestandteil kann zu falschen Ergebnissen führen. In Prüfungsaufgaben empfehle ich dir, zusammengesetzte Schlüssel zu modellieren,...