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.

Whiz-zarD

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von Whiz-zarD

  1. Ich finde es schon bezeichnend, dass es nicht mal konkret eine Beispielkarte gibt, sondern nur einen virtuellen Produktkarton und wenn man eine Beispielkarte sieht, dann nur in Form eines Fotos, in der eine Frau eine Karte hält und man gute Augen braucht, um die Frage lesen zu können. Scheint so, als seien sie selbst vom Produkt nicht so überzeugt aber verkaufen es für teures Geld.
  2. Die Main-Klasse wird ja nicht die einzige Klasse sein, die eine Datenbankverbindung benötigt. Wenn du nun in jeder anderen Klasse Main.getConnection() aufrufst, lassen sich die Klassen nicht mehr isoliert testen, weil sie Abhängig von Main sind. Du musst in jedem Test erst mal die main()-Methode aufrufen, weil die Methode die Verbindung aufbaut.
  3. Statische Klassen sind die Hölle, wenn man mal einen Unittest schreiben will. Sowas immer als Dependency Injection in die Klasse reinreichen und nicht überall im Code verstreut Main.getConnection() aufrufen. So etwas macht die Klassen erst recht untestbar.
  4. Ja, eben. Also warum so ein kompliziertes Beispiel, wie ein Taschenrechner, der nichts taugt? Für mich ist sogar der Spaghetticode-Taschenrechner kontraproduktiv, weil der Code so unübersichtlich wird, sodass der Anfänger schnell den Überblick verliert, was bei einem Anfänger zu Frust führen kann. Zu solchen Taschenrechnern findet man z.B. auf Youtube tausend Videos und in vielen ist es sogar so, dass der Sprecher sogar den Überblick verliert und ins Stottern gerät, weil er ein Fehler produziert hat. Ja, wenn der auch was taugen würde aber er ist eben unflexibel und hält die Operatorreihenfolge nicht ein. Zu einem vernünftigen Taschenrechner gehört nun mal etwas mehr, als nur vier if-Anweisungen für die Grundrechenarten, die dann in einer Methode/Funktion verwurstelt werden und da rumgestülpt weiteren Code, nur damit die Oberfläche keine Zicken macht. Man sollte sich dann auch mit binären Bäumen und mit der Prä- und Postfix-Schreibweise eines mathematischen Ausdruckes beschäftigt haben, was einem Anfänger nicht zuzumuten wäre. Mit diesem Spaghetticode-Taschenrechner gaukelt man dem Anfänger nur vor, es hätte praktischen Bezug aber diese Taschenrechner sind Beispiele, wie man nicht programmieren sollte.
  5. Ein Taschenrechner, der nichts taugt. Super. Ein Taschenrechner ist für mich eines der denkbar schlechtesten Übungen, die man sich nur vorstellen kann. Am Ende kommt nur ein Haufen Spaghetticode raus, der so ziemlich gegen jedes Prinzip der Softwareentwicklung verstößt und der Taschenrechner kann nur zwei Zahlen verarbeiten. Eine Operatorreihenfolge (Punkt- vor Strichrechnung) und Klammern kennt er nicht. Um if-anweisungen zu erklären, kann man auch bessere Beispiele nehmen, wie z.B. das FizzBuzz-Spiel.
  6. Ist zwar schon und gut, dass du in der Main-Methode ein Objekt der ConnectionToMySQL-Klasse erzeugst, aber das tust du in der Aufgaben-Klasse auch und in der Aufgaben-Klasse baust du keine Verbindung zum Server auf. DU willst also somit zwei Verbindunegen aufbauen, wobei du in der Main-Methode connect() aufrufst aber nicht in der Aufgaben-Klasse. Deswegen auch die NullReferenceException.
  7. Welche Zeile ist denn nun genau Zeile 64 in der ConnectionToMySQL.java? Du kannst auch mit dem Debugger Schritt-für-Schritt dein Code durchlaufen und den Status der jeweiligen Objekte anschauen. Irgendeins muss davon ja NULL sein.
  8. Was in den Berufsschulen gelehrt wird und was in der Prüfung vorkommt, sind zwei unterschiedliche Paar Schuhe. Eine Prüfung ist auch ohne einer Programmiersprache machbar. Die Pseudocode-Beispiele, die man im Wikipedia-Artikel findet, reichen alle male. Das Problem ist eher, dass die Programmieraufgaben, aufgrund ihrer eingeschränkten Sichtweise (z.B. Arrays anstatt Listen, deren Größe erst mal initialisiert werden müssen) oftmals umfangreicher werden, als sie es überhaupt sein müssen. Auch ist die Aufgabenstellung oft sehr merkwürdig aber ein FISI dürfte wohl sowieso keine allzu großen Programmieraufgaben bekommen.
  9. C++ wäre für einen FISI wie mit Kanonen auf Spatzen schießen. Ich vermute mal, dass er damit sowieso nicht viel anfangen kann. Da ein FISI eher mit Scripten arbeitet und die PowerShell von Microsoft objektorientiert aufgebaut ist, wäre es wohl nicht verkehrt, die Grundprinzipien der Objektorientierung zu erklären. Explizit eine Programmiersprache auszuwählen braucht man nicht und ich weiß nicht mal, ob überhaupt eine Programmieraufgabe in den Abschlussprüfungen vorkommt. Wenn ja, dann ist sie auch mittels Pseudocode lösbar. Also reichen auch ein paar Trockenübungen für die imperative Programmierung.
  10. Du verstehst die Aufgabe nicht richtig Du sollst nicht die Kunden selektieren, sondern den einen Kunden, der am meisten seine lieblingspizza bestellt hat. Am Ende soll also nur eine einzige Ergebniszeile rauskommen.
  11. Oh, Okay.
  12. Du kannst dir auch direkt ein Plugin schreiben, was die Daten holt. Die Entwickler von Rainmeter bieten ja ein SDK an. https://github.com/rainmeter/rainmeter-plugin-sdk
  13. 1) Es geht darum, Dinge zu gruppieren und zu sortieren. Was du gruppieren und wie du es sortieren sollst, steht doch in der Aufgabe. 2) Hier soll ebenfalls was gruppiert werden 3) Es soll über eine WHERE-Bedingung rausgefunden werden, welche Pizza teuerer als 9 € ist 4) Ebenfalls eine Gruppierung 5) Die Tabellen Bestellung und Kunde müssen gejoined werden und dann den Kunden mit der E-Mail-Adresse a@f raussuchen 6) Schau dir mal die AVG()-Funktion (= Average) an. 7) Eine Sortierung auf den Bestellungen 8) Eine Sortierung mit Filterung auf den Bestellungen 9) Genauer, wie die Aufgabe kann man es nicht mehr beschreiben, ohne die Lösung zu präsentieren
  14. Das frage ich mich auch. Weiß du überhaupt, was "Dependency Injection" bedeutet? Die Properties-Klasse verwendet er wohl, weil man darüber XML-Dateien lesen und schreiben kann. Also geht es im Grunde nicht um einen XML-Validator, sondern lediglich um einen XML-Parser. "var" hat man in Java 9 eigentlich auch nur aufgrund der Lesbarkeit eingeführt, weil man somit unnötigen Code sparen kann. "static var" klingt in der Tat sehr gruselig und würde einem "static object" gleichkommen. Ich kenne nun das "var" unter Java nicht ganz so gut, da ich mit Java schon seit Jahren nicht mehr entwickelt habe aber unter C# würde dies gar nicht funktionieren und würde auch eher auf die "Dinge, die man nie tun sollte"-Liste gehören.
  15. Delphi ist eine Programmiersprache. Bist du dir sicher, dass du eine Software für ein Wochenplan schreiben möchtest? Es klingt nicht nämlich nicht so, als wüsstest du, was Delphi ist.
  16. Ja, so meinte ich das. Pro Bestellung nur eine Sorte aber dafür eine gewisse Anzahl.
  17. Verstehe ich das richtig, dass man pro Bestellung nur eine Pizza bestellen kann?
  18. Ich bin da etwas anderer Meinung. Ja, eine Ausbildung ist dazu da, jemanden auszubilden. Das steht außer Frage aber ich denke schon, dass das Reinschnuppern in die Tätigkeiten eines Entwicklers nicht falsch ist, um ein besseres Bild vom Beruf zu bekommen. Ich kenne inzwischen sehr viele Leute, die zwar "voll bock" auf Programmieren hatten aber nach kurzer Zeit doch gemerkt haben, dass es nichts für sie ist, weil sie komplett falsche Vorstellungen hatten. Ja, dafür ist zwar auch die Probezeit gedacht aber ich finde, es ist dann schon vergeudete lebensmühe, Bewerbungen zu schreiben, Vorstellungsgespräche zu führen, dann einen Ausbildungsplatz annehmen und erst dann zu merken, dass der Beruf für einen nichts ist. Dann doch lieber einen, der schon mal ein bisschen Erfahrungen gesammelt hat und weiß, worauf er sich einlässt. Ob man jetzt stur seinen wirren Code schreibt, nur weil man anfänglich schon programmiert hat, hängt von jeder Person selber ab, ob er die Ratschläge aus der Ausbildung annimmt oder nicht. Ich kenne welche, die hatten vor ihrer Ausbildung keine Berührungspunkte zur Softwareentwicklung und schreiben selbst Jahre nach ihrer Ausbildung immer noch Spaghetticode. Diese Personen haben die selbe Assistentenausbildung absolviert, wie ich und die Ausbildung ist schon nicht schlecht. Die Schule genießt vor allem in Norddeutschland einen sehr guten Ruf. Ich für meinen Teil programmiere schon seit ich 8 Jahre alt bin und habe die Ratschläge in der Ausbildung dankend angenommen und leite hier in der Firma eine Clean Code-Initiative. Man kann also nicht pauschal sagen, nur weil man schon vorher Dinge entwickelt hat, sei man für die Ausbildung als FIAEler ungeeignet.
  19. Das ändert dennoch nichts an der Tatsache, dass du es hier mit einem DropDownMenü zu tun hast. Ob da rum nun ein DataGrid ist oder nicht, ist doch völlig wurscht. Fakt ist, du willst den Anteil anzeigen, der in der Datenbank gespeichert ist und zusätzlich die verfügbaren Optionen.
  20. Ich weiß jetzt nicht, was du dir jetzt davon versprichst. Die Problematik wird die selbe bleiben.
  21. Wenn du die Anteile 0, 25, 50, 75 und 100 mit in der Dropdownmenü haben willst, dann musst du diese in die DataTable packen und nicht direkt ins Dropdownmenü. Ich bin zwar jetzt nun auch kein WebForms-Experte aber um den konkreten Wert anzuzeigen, anstatt "System.Data.DataRowView" reicht es evtl. schon die Eigenschaft DataTextField und DataValueField (damit der konkrete Wert ausgewählt wird) zu setzen. Also: ddl.DataTextField = "anteil"; ddl.DataValueField = "anteil"; Ansonsten weiß er nicht, was er anzeigen soll und führt einfach auf dem Objekt die ToString()-Methode aus, was eben genau zu deinem Effekt führt.
  22. Whiz-zarD hat auf Ma Lte's Thema geantwortet in C und C++
    Frag doch mal deinen Lehrer oder deine Schulkollegen. Aus dieser Beschreibung lässt sich nicht herauslesen, was das Programm tun soll. Es kann also sein, dass einfach per Code die Liste befüllen sollst oder über die Kommandozeile. Das weiß aber wohl dein Lehrer besser als wir.
  23. Wenn wir tatsächlich darüber sprechen, dass du eine XML-Datei nach Fehler überprüfen willst, dann würde ich dir sehr stark davon abraten, dies selbst zu schreiben, da das nicht so trivial ist, wie du dir das wohl vorstellst. Wieso verwendest du nichts fertiges? Oder soll das eine Übungsaufgabe sein? Aber ehrlich gesagt, verstehe ich denen gesamten Text nicht. Wofür dient ModelAusgabe? Was für Getter und Setter besitzt sie? Wenn du das Model-View-Controller-Pattern benutzen willst, dann ist ControllerAusgabe nicht die richtige Klasse. Der Controller sollte am besten das Model reingereicht bekommen. Das Parsen der XML-Datei geschieht also außerhalb des Controllers. Der Controller sollte nur zwischen der View und dem Modell koordinieren. Dein "FileRead" nennt sich auch Parsing bzw. Deserialisierung und dafür gibt es auch schon fertige Klassen, die eine XML-Datei deserialisieren.

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.