Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

stefan.macke

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von stefan.macke

  1. Naja, hexadezimal im Kopf rechnen zu können macht noch keinen guten ITler aus. Wo braucht man das in der Praxis!? Zum Einstieg empfehle ich das Handbuch für Fachinformatiker von Sascha Kersken. Das gibt eine gute Übersicht über allerlei IT-Kram Und es enthält auch einige Beispielaufgaben zu jedem Kapitel, um das Verständnis zu prüfen.
  2. Wir machen mehrere Projekte mit JavaEE. Spring ist eine Alternative zu EE. Die "reinen" EE-Standards, die häufig verwendet werden, sind wohl JPA als ORM (z.B. mittels Hibernate), JSF für das Frontend (z.B. mit PrimeFaces), JAX-RS für REST (z.B. Jersey) und CDI um alles zu verdrahten (mittels @Inject usw.). Aber das schöne an Java EE ist ja die große Auswahl (ich glaube es sind 32) an Spezifikationen, die aufeinander abgestimmt sind. Du kannst also z.B. auch JAXB für XML einsetzen oder JTA für Transaktionen, wenn du sie brauchst. Mit Version 7 sind einige wichtige Technologien ergänzt worden. Und die Schwergewichtigkeit der alten Versionen ist aufgelöst. Java EE 7 ist schon wirklich einfach und braucht wenig Code.
  3. Welche Kosten kalkulierst du denn überhaupt? Eure internen Projektkosten, die dem Kunden in Rechnung gestellt werden? Dafür ist egal, ob der Kunde sich einen Server angeschafft hat. Und falls ihr ihn im Auftrag des Kunden angeschafft habt, rechnest du den ganzen Server mit rein (denn den muss er euch ja bezahlen). Ob und wie der Kunde ihn dann abschreibt, ist für deine Projektkosten irrelevant. Falls du eine Amortisationsrechnung für den Kunden erstellst (warum auch immer das deine Aufgabe sein sollte), gehört die AfA natürlich mit dazu,
  4. Grundsätzlich solltest du dich als Prüfling mit der rechtlichen Lage bzgl. der Nutzung von Logos usw. auseinandersetzen. Aber ich vermute, dass kein Prüfer dir einen Punkt abziehen wird, wenn du nicht hinter jedes "Microsoft" im Text ein "(r)" schreibst (was ich tatsächlich schon so gesehen habe). Ich finde das für den Lesefluss eher nervig. Und in der Präsentation sieht das auch sehr seltsam aus. Ich würde mich als Prüfer dadurch sogar aufgefordert sehen, Fragen zum Thema Markenrecht zu stellen! Ich will nicht sagen, dass das Thema unwichtig ist. Die Präsentation ist allerdings nicht öffentlich und du verdienst kein Geld damit. Also sollten sich die rechtlichen Konsequenzen stark im Rahmen halten. Aber egal wie du dich entscheidest: Die Prüfer könnten dir im einen wie im anderen Fall Fragen dazu stellen. Also bereite dich entsprechend vor.
  5. Na das passt jetzt aber nicht so recht. Welches Lernmaterial ist denn didaktisch besser aufbereitet als ein fundiertes und lektoriertes Fachbuch? Ich würde Einsteigern immer zu einem (guten) Buch raten!
  6. Du kannst auch einfach eine Zeit lang in dem Beruf arbeiten und dann ohne zusätzliche Ausbildung eine Externenprüfung ablegen. Normalerweise sind dafür 5 Jahre einschlägige Berufserfahrung notwendig (z.B. bei kompletten Quereinsteigern, die 5 Jahre als Entwickler arbeiten ohne die geringste Ausbildung in diesem Bereich). Ich bin mir aber nicht sicher, ob du mit einer FISI-Ausbildung nicht sogar deutlich früher teilnehmen kannst. Denn der Prüfungsinhalt ist ja wirklich zu großen Teilen identisch (mind. GA2 und WiSo). Daher wird vielleicht sogar die Ausbildungszeit angerechnet oder so.
  7. Dann würde ich vorschlagen, du legst die Kosten des physikalischen Servers auf die VM um und rechnest sie deinem Projekt zu. Du wirst ja irgendwie herausbekommen, wie viele virtuelle Maschinen auf der Hardware laufen und wie die Lastverteilung ist. Dann kannst du das einfach umrechnen. Auch wenn die Kosten am Ende vielleicht nicht allzu hoch sind, würde ich sie nicht weglassen. Diese so genannten "eh da"-Kosten (weil die Hardware und die betreuenden Admins ja "eh da" sind, auch wenn das Projekt nicht umgesetzt wird) werden viele Prüfer hinterfragen. Ein häufiger Irrglaube bei Prüflingen ist nämlich, dass das Projekt bis auf ihre eigene Arbeitszeit nichts kostet. Aber es kommen halt auch die Stundensätze der Kollegen für die Besprechungen, die Kosten für die Infrastruktur, die des laufenden und zukünftigen Betriebs usw. hinzu.
  8. Das kommt ganz darauf an, was du lernen willst. Ich würde ein Buch vorschlagen, das zu der von dir verwendeten Programmiersprache passt. Alternativ geht immer "Clean Code" von Robert C. Martin. Nochmal zu den Vorkenntnissen: Meine eigene Auszubildende ist auch "bei 0" gestartet und hat die beste Abschlussprüfung in unserem Bundesland gemacht. Viele Ausbilder denken sogar, dass Vorkenntnisse negativ sind, weil diese meist nicht gerade dem entsprechen, was erfahrene Entwickler "sauberen Code" nennen würden. Und Halbwissen ist manchmal schwieriger geradezurücken als ganz neues Wissen zu vermitteln.
  9. Dazu brauchen wir noch ein paar mehr Informationen. Werden die Server ausschließlich für dein Projekt aufgesetzt und verwendet? Wenn nein, zu welchem Anteil nutzt dein Projekt die Server? Grundsätzlich nimmst du die Anschaffungskosten und verteilst sie anhand des Nutzungsanteils auf dein Projekt. Die Kosten einer Lizenz kannst du bestimmt bei eurer Buchführung erfragen. Wenn es eine Paketlizenz ist, dann teil halt die Gesamtkosten durch die Anzahl an Server. Alternativ bekommst du von der Buchführung einen pauschalen Betrag für den Einsatz eines Servers, in dem ggfs. auch Wartungsarbeiten und -verträge einkalkuliert sind.
  10. Ich feuer einfach mal los mit allem, was mir gerade einfällt Warum wird der Code überhaupt generiert? Wie wurde der Build-Prozess automatisiert? Wird der generierende Code getestet? Wie? Wird der generierte Code getestet? Wie? Alternativen zum MVC-Modell Wo wird bei MVC die Datenvalidierung durchgeführt? Unterschied Fat/Thin Controller Unterschied Fat/Anemic Model Warum wurde nicht Java 8 eingesetzt? Was wären Vorteile von Java 8 gewesen? Was ist ein Lambda-Ausdruck? Was kann man Schönes mit Streams in Java 8 machen? Unterschied checked/unchecked Exceptions in Java. Warum wurden die genannten Frameworks genutzt und nicht selbst programmiert? Wie greift man auf Annotationen zu (Reflection)? Wie definiert man eigene Annotationen in Java? Gäbe es Alternativen zur Lösung mit Annotationen? Was wären Vor-/Nachteile? Zu Generics: Type Erasure, Co-/Kontravarianz, Type Inference
  11. Mal ne ganz andere Frage: Warum liest denn dein/e Ausbilder/in die Doku nicht? Der/die sollte dir doch sinnvolle Hinweise geben können.
  12. Darauf würde ich mich als Prüfling nicht verlassen. SQL ist so wichtig, dass man es einfach können muss. Und es stehen auch nicht immer alle benötigten Befehle auf dem Beiblatt. Zumindest in GA1 für FIAE gab es schon mehrfach Aufgaben, die nicht nur mit der Befehlsreferenz lösbar waren. Es waren z.B. UNION oder ANY nicht angegeben.
  13. Nein. A LEFT OUTER JOIN B -> alle Sätze aus A und verknüpfte Sätze aus B, falls vorhanden. Falls kein passender Satz in B vorhanden ist, werden NULL-Werte für die Spalten geliefert. A RIGHT OUTER JOIN B -> alle Sätze aus B und verknüpfte Sätze aus A, falls vorhanden, ansonsten NULL-Werte.
  14. Das stimmt. Dafür kommen aber öfter mal andere Abfragen wie UPDATE oder CREATE TABLE dran anstatt "schwierige" SELECTs.
  15. Da kann ich widersprechen. Es gab schon mehrere Aufgaben, die ein LEFT OUTER JOIN erforderten. In einem Beispiel sollten u.a. Ferienhäuser mit ihren Kundenbuchungen ermittelt werden und es gab auch Häuser ohne Buchungen. Das kann ich bestätigen! Bei vielen Aufgaben gibt es die Hälfte der Punkte schon für ein "Auflisten" der Spalten und Tabellen. Also unbedingt immer hinschreiben, auch wenn man den Rest der Aufgabe vielleicht nicht lösen kann!
  16. Nein, das ist definitiv nicht so gemeint. Ich dachte, dass es aus dem Kontext heraus klar wäre. Ich ergänze das mal: Mein Artikel gibt die Empfehlung, von den drei gegebenen Möglichkeiten die - meiner Meinung nach - beste auszuwählen. Und ich sage auch nicht, dass man Pseudocode im Alltag verwendet, sondern dass man die Aufgabe "runterprogrammieren" kann (wie man es im Alltag in seiner Programmiersprache tut), anstatt Diagramme zu zeichnen (wie man es wohl eher nicht tut). Noch einmal zu deinen restlichen Ausführungen: Ich empfehle nicht Pseudocode als Werkzeug für die Praxis, sondern nur für die Prüfung, falls man vor die Wahl gestellt wird. Prüfungen in Baden-Württemberg erlauben z.B. explizit eine erlernte Programmiersprache. In den restlichen Bundesländern werden aber halt meistens nur die genannten Möglichkeiten erlaubt. Dazu sei auch noch einmal gesagt, dass Pseudocode nicht standardisiert ist und man im Zweifel auch einfach direkt Java oder eine andere Programmiersprache hinschreiben kann. Das geht immer als "Pseudocode" durch. Das stelle ich mal zur Diskussion. Du musst in max. 20 Minuten unter Zeitdruck eine komplexe Aufgabenstellung verstehen und dann noch in Code umsetzen. Im Vergleich zu "Nennen Sie die Aufgaben eines Projektleiters." sind das keinesfalls geschenkte Punkte.
  17. Das weiß ich. Ich weiß auch, dass man in SAP mit Java anstatt ABAP entwickeln kann. Die Frage ist doch, wer das tatsächlich macht! Und stehen z.B. wirklich alle Konzepte der OO zur Verfügung oder ist das nur rangefrickelt, weil es damals mal jemand haben wollte? Ich möchte nur darauf hinweisen, dass man sich als Host-Entwickler sehr wahrscheinlich noch ein zweites Paradigma aneignen muss. Ausnahmen gibt es natürlich immer.
  18. Das hat wenig damit zu tun, dass man nicht programmieren kann. Hast du dir mal die Aufgaben in der Prüfung angeschaut? Dafür hast du dann nur knapp 20 Minuten Zeit und bekommst genau so viele Punkte dafür wie für deutlich weniger komplexe Aufgaben. Es ist eine rein "wirtschaftliche" Entscheidung, diese Aufgaben zu streichen, weil sie enorm aufwändig sind. Viele Prüflinge verschenken wertvolle Prüfungszeit bei diesen Aufgaben. Auch hierzu: Schau dir bitte mal die Prüfungen an! Dort wird man meist explizit vor die Wahl zwischen Pseudocode, PAP oder Struktogramm gestellt. Es geht nicht darum, ob das in der Praxis genutzt wird oder nicht, sondern was die Prüfung fordert. Das mag alles sein, ist in der Prüfung aber irrelevant. Die Aufgaben müssen programmiersprachenunabhängig gestellt sein, da es keine Standardsprache für alle Prüflinge gibt. Und Lambdas, Iteratoren usw. gibt es nicht in allen Programmiersprachen. Daher werden die Aufgaben voraussichtlich noch lange Zeit mit Arrays, for-Schleifen usw. arbeiten. In Java oder C# arbeitet man heute vielleicht anders, aber viele Prüflinge verwenden ABAP, C, PHP (ohne OO) usw. Geh also bitte nicht von deiner Programmierumgebung aus, wenn du allgemeine Tipps zur Prüfung geben möchtest. Ich stimme dir zu. Ist aber - mal wieder - irrelevant für die Prüfung. if, switch, for, while usw. sind grundlegende Programmierkonstrukte, die alle Programmiersprachen bieten. Und die werden in der Prüfung abgefragt. "Schönes" Design von Klassen usw. ist nicht Teil der Prüfung. Dafür fehlt schlicht die Zeit. Abschließend vielleicht noch ein allgemeines Feedback, da ich schon häufiger deine Antworten auf Programmierfragen gelesen habe. Das Niveau der Prüfungen ist ein anderes, als du es vielleicht aus dem Alltag gewohnt bist. Es hilft den Prüflingen nicht, wenn du auf eine Frage nach einem switch-Statement mit "das ist doof, nimm lieber Polymorphie" anwortest. In der Praxis stimme ich dir 100%ig zu. In der Prüfung wird das aber nicht gefordert und ist teilweise sogar kontraproduktiv. Wenn du dir mal ein paar IHK-Prüfungen anschaust, wirst du das auch feststellen. Jetzt kann man natürlich darüber meckern, dass die IHK-Prüfungen nicht mit der Zeit gehen. Und das stimmt wahrscheinlich auch. Aber ändern können wir daran erstmal nichts. Stattdessen sollten wir die Prüflinge so gut es geht auf die Anforderungen der Prüfung vorbereiten. Dass sie in der Praxis moderne Techniken anwenden sollten, steht außer Frage! Und dafür ist das Abschlussprojekt da!
  19. Ich würde bei der Frage nach der Ausbildung nicht die Anforderungen der Abschlussprüfung vergessen. COBOL ist eine prozedurale Sprache, in der Prüfung wird aber viel Objektorientierung abgefragt. Daher lernen die Azubis bei uns z.B. mind. noch eine weitere Sprache wie Java dazu (wir arbeiten bei uns in der Versicherung mit Natural, das sehr ähnlich zu COBOL ist). Darauf würde ich auch bei der Auswahl des Ausbildungsbetriebs achten. Drei Jahre lang prozedural programmieren und dann eine Prüfung mit Schwerpunkt auf einem anderen Paradigma absolvieren könnte schwierig werden. Sicherlich lernt man das alles auch in der Berufsschule, aber die Anwendung in der Praxis verfestigt das Wissen wahrscheinlich besser. Ansonsten kann ich meinen Vorrednern nur zustimmen. Es wird wohl noch eine ganze Weile lang Jobs im COBOL-Umfeld geben. Aber die Tendenz ist in vielen Unternehmen auch, den teuren und schwerfälligen Mainframe-Bereich zu verlassen. Ob ich heute noch eine Karriere darauf aufbauen würde, weiß ich nicht. Ich würde beide Welten verbinden.
  20. Änderungen sind nicht nur zulässig, sondern ganz normal. Welches Projekt läuft in der Praxis genau nach Plan? Solange sich an deiner grundsätzlichen Aufgabe nichts ändert (also bspw. eine komplett andere Domäne für das zu programmierende Programm oder anstatt Active Directory auf einmal OpenLDAP), sollte das kein Problem sein. Für geringfügige Abweichungen vom Projektantrag wie die deine würde ich ein separates Kapitel mit genau dieser Überschrift vorsehen. Was genau hast du denn geändert? Wenn z.B. anstatt 3h jetzt 4h für die Doku anfallen, ist das ganz normal und muss nichtmal im o.g. Kapitel erwähnt werden (sondern nur in einem Soll-/Ist-Vergleich). Wenn du aber z.B. anstatt 20h Design auf einmal nur noch 2h brauchst, ist das natürlich eine andere Hausnummer.
  21. Du meinst bestimmt m:n- bzw. Many-to-many-Beziehung. 1 Kunde -> m Module und 1 Modul -> n Kunden.
  22. Dabei geht es eher um andere Dinge wie z.B. im Antrag steht Werkzeug X, wir haben jetzt aber doch Werkzeug Y verwendet oder im Antrag wollte der Kunde Feature X, jetzt will er aber doch Feature Y. Abweichungen bei der Zeitplanung sind ganz normal und werden meistens in einem Soll-/Ist-Vergleich am Ende der Dokumentation beschrieben. Deine Beschreibung sollte der Realität entsprechen! Wenn du wirklich TDD anwendest, gibt es keinen "Block" für Tests. Deine Entwicklungszeit verlängert sich einfach etwas durch das Schreiben der Tests. Also anstatt 5h für "Entwicklung der Logik" jetzt halt 7h (Beispiel). In vielen Dokus lese ich immer wieder Buzzwords wie TDD, Kanban, Scrum usw. und stelle dann in der Zeitplanung fest, dass das wirklich nur Schlagwörter waren. Eine lange Testphase oder ein detaillierter Entwurf mit einem Klassendiagramm gehören für mich genau zu solchen fragwürdigen Punkten (bei angeblicher Anwendung von TDD!). Analog wäre z.B. eine lange Entwurfsphase (oder die anderen "klassischen" Wasserfall-Phasen) bei Anwendung von Scrum ein Indiz dafür, dass die Methodik nicht korrekt angewendet wurde.
  23. Für eine Antwort, die dir ganz sicher einen Punktabzug erspart, wende dich bitte an deine IHK. Die helfen dir sicher gerne. Oder du stellst den genauen Wortlaut der Vorgaben hier zur Verfügung (und bekommst dann trotzdem nur eine unverbindliche Auskunft).
  24. Grundsätzlich ein guter Tipp. Aber das heißt nicht, dass die Kostenbetrachtung unwichtig ist. Im Gegenteil: das ist Pflichtprogramm in der Projektdokumentation! § 9, Verordnung über die Berufsausbildung im Bereich der Informations- und Telekommunikationstechnik
  25. Davon gehen die Prüfer allerdings nicht aus. Das würde einen Punktabzug geben, da die Fachbegriffe nicht korrekt verwendet wurden und außerdem die Kalkulation auch noch falsch ist. Davon mal abgesehen, dass kein Prüfling "Lohn" bekommt...

Konto

Navigation

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.