Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2.021
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    48

Alle Inhalte von Whiz-zarD

  1. Wieso if-then-else? Die Berechnung steht doch in der Aufgabe. Das ist nur nur ein abtippen.
  2. Der Code ist auch genug Dokumentation. Nur in dem Code steckt die Wahrheit. Separate Dokumentationen können lügen.
  3. Du hättest dich als C#-Entwickler auch als Junior Java-Entwickler bewerben können. C# und Java sind vom Grundkonzept nicht sehr verschieden.
  4. Ich hab mir es mal mit dem AutoMapper angeschaut. Das Problem ist wohl, dass die Properties Key und Value im KeyValuePair nicht gesetzt werden können. Sprich, sie besitzen nur einen Getter und keinen Setter. AutoMapper kann daher die Properties wohl nicht setzen. Außerdem würdest du mit deiner Idee kein Dictionary<Guid, PriceValue> bekommen, sondern List<KeyValuePair<Guid, PriceValue>> Das ist was anderes.
  5. Wieso verwendest du AutoMapper dafür? Du kannst auch ganz einfach die ToDictionary()-Methode von LINQ verwenden. var dict = priceValues.ToDictionary( keySelector: x => x.CurrencyId, elementSelector: x => x ); Oder habe ich da was falsch verstanden?
  6. Es gibt nun mal nicht für alles einen vorgefertigten Lösungsweg. Die sind aber essentiell für die Lösung. z.B. ist überhaupt nicht klar, ob die Paletten gedreht oder sogar gestapelt werden können oder ob auch die Last im LKW verteilt werden muss, also z.B. ob schwere Paletten unten liegen und dann leichtere Paletten oben drauf? Davon war bis jetzt nie die Rede und erfordert mehr als hier bekannt war, denn es muss nicht nur ausgerechnet werden, welche Paletten nun dazu führen, dass die Ladung optimal verteilt werden, sondern es müssen ja noch die Positionen der einzelnen Paletten bestimmt werden, wo sie sich dann im LKW befinden. Ich denke auch nicht, dass es hier einen einfachen Rechenweg gibt, sondern hier muss man wohl mit Kombinatorik ran. Sprich, man muss alle Kombinationen durchspielen und überprüfen, was die beste Kombination ist. Ich würde also die Liste der Paletten nehmen und mir die erste Palette schnappen und über ein Interationsverfahren alle Kombinationen mit allen anderen Paletten raussuchen, die die Fläche des LKWs bzw. das Volumen des LKWs, sofern Paletten stapelbar sind, nicht überschreiten, denn das sind die Kandidaten, die in den LKW reinpassen könnten. Nun muss man mit der Liste der Kombinationen rumspielen und schauen, welche der Kombinationen tatsächlich in den LKW passen. Dafür muss dann die Länge, Breite und sofern Stapelbar die Höhe berücksichtigen. Hier steckt der meiste Gehirnschmalz drinnen. Wenn man dann mögliche LKW-Beladungen gefunden hat, wählt man die mit der größten Fläche bzw. mit dem größten Volumen und streicht diese Paletten aus der Gesamtliste und fängt von Vorne an.
  7. Wer googlen muss, ist kein echter ITler.
  8. Der Code ist nicht kompilierfähig, da die Variable cruisefuelgtog nicht deklariert wurde.
  9. Ganz ehrlich? Ich würde das Thema WPF und besonders MVVM weglassen, denn ich denke, dass es wenig Sinn macht, damit zu arbeiten, wie es gedacht war, da die Grundlagen der (objektorientierten) Programmierung eindeutig fehlen. Ich brauche mir da nur den Code der Konsolenanwendung sehen und sehe da sehr viele Probleme. Z.B. das eher nach struktureller Programmierung vorgegangen wurde, anstatt objektorientiert. Im MVVM zu erklären, müsste man wohl damit anfangen, was überhaupt Klassen sind. Wenn es nicht unbedingt eine grafische Oberfläche sein soll, würde ich sie auch lassen, da eben gewisse Kenntnisse Voraussetzungen sind, um überhaupt zu verstehen, was man da eigentlich macht. Wenn es aber eine grafische Oberfläche haben soll, würde ich mal die Benutzersteuerelementen in den raum werfen.
  10. Dann soll der Chef mit offenen Karten spielen, anstatt so einen Bullshit zu reden. Letzen Endes ist es immer noch die Entscheidung von @DieMstar, ob er/sie dort bleiben möchte, oder nicht. Ein Chef hat das zu akzeptieren und man hält keine Mitarbeiter, wenn man denen eine Waffe vor die Brust hält. Schließlich kann man auch ein ruhiges Gespräch führen und sagen, was Sache ist, wenn der Chef tatsächlich bedacht war, ein Ausbildungsvertrag anzubieten. Und du würdest sie dann anbrüllen, dass sie auf dem Stuhl sitzenbleiben soll? Dein Beispiel hinkt nämlich komplett. Wenn sie fragen würde, ob ich auch was vom Imbiss haben möchte, dann weiß sie nämlich nicht, dass ich was koche und ich kann sie darauf hinweisen und brülle sie nicht an, dass sie gefälligst auf dem Stuhl zu sitzen hat. Sehe ich genauso. Überstunden sind eine Ausnahme und nicht die Regel. In den meisten Arbeitsverträgen kann ein Chef zwar Überstunden verordnen aber auch nur wenn es wirklich nicht anders geht und es darf kein Dauerzustand sein. Wenn es ein Dauerzustand ist, dann wird hier eindeutig misswirtschaft betrieben, indem man die Mitarbeiter absichtlich verschleißt, weil die Mitarbeiter das Spiel ja mitspielen.
  11. Kann ich bestätigen. Noch schlimmer sieht es eigentlich nur noch in der Spielebranche aus, wo keine Azubis ausgebildet werden, sondern noch eine Stufe runtergeht und Praktikanten sucht, die ein Pflichtpraktikum absolvieren müssen. Die muss man erst gar nicht bezahlen.
  12. Da fragt man sich, wieso man für so einen Chef arbeitet?
  13. Davon gehe ich auch sehr stark aus. Wenn man nach vorhandenen Kenntnissen fragt, ist eine Sache, aber schon gezielt nach Programmiersprachen und Frameworks nachzufragen und einen potenziellen Kandidaten gleich zwei Tage antanzen zu lassen, klingt nicht gerade so, als wollen sie jemanden ausbilden, sondern einfach eine billige Arbeitskraft unter dem Deckmantel einer Ausbildung.
  14. Man muss das immer relativ betrachten. Programmcode kann man in der Regel verständlicher schreiben, als Stored Procedures, weil sie nun mal sehr viele Restriktionen haben. Die Frage ist: "Was ist wichtiger? Lesbarer Code oder bessere Performance?" Ist es wirklich wichtig, dass der Nutzer schnellstmöglich eine Antwort erhält? Oder kann er auch mal ein paar Sekunden warten? An der Software, an der ich arbeite, wurden ebenfalls sehr viele Kennzahlberechnungen als Stored Procedure abgelegt. Die Folge ist, dass sie sehr komplex sind und sie kaum einer noch versteht. Das Debugging ist extrem schwierig. Es wurden Tablefunctions verwendet, die wie gesagt, nicht mit dem Debugger debugged werden können. Da ist man wieder dabei, nach alter Väter Sitte, Ausgaben auf der Konsole zu machen, um zu sehen, was passiert. Ich bin der Meinung, man sollte erst mal mit einem lesbaren und verständlichen Code anfangen und erst dann, wenn die Performance zwickt, sollte man sich über die Performance unterhalten.
  15. Sehe ich persönlich nicht so. Stored Procedures haben zwar den Vorteil, dass sie von der Datenbank auf Fehler überprüft werden aber man verschiebt nur die Logik, die sonst im Programmcode steht, in die Datenbank und das kann je nach Szenario Probleme bereiten. Wenn man anfängt, für jeden Kleinkram eine Stored Procedure zu schreiben, müllt man die Datenbank damit zu. Zumal die Verwaltung von Stored Procedures eh sehr schlecht ist. Ein anderes Problem ist, wenn die Stored Procedure mehrere Werte oder sogar ganze Tabellen zurückliefern soll. Tabellen als Rückgabewert ist z.B. in MySQL sowieso nicht möglich. Bei Oracle gibt es die sog. Tablefunctions aber die haben einen sehr großen Programmier-Overhead und lassen sich auch nicht debuggen.
  16. Dann musst du eh fragen. Aus Erfahrung sind solche Frameworks eh nicht dokumentiert und du musst dich selbst dort einarbeiten.
  17. Da wirst du sowieso nicht drumherumkommen. Kann ja auch sein, dass sie einen O/R-Mapper verwenden, wie z.B. Entity Framework. Es ist für mich sowieso erstaunlich, wie viele Firmen heutzutage immer noch mit stumpfen SQL-Abfragen direkt auf die Datenbank gehen und daraus immer manuell selbst die Datenobjekte erzeugen, anstatt ein O/R-Mapper zu verwenden.
  18. Ich kenne mich mit Visual Basic auch nicht aus, da ich mit C# arbeite. (Keine Ahnung, wie man heutzutage eh auf die Idee kommt, mit Visual Basic zu arbeiten) aber offenbar handhabt Visual Basic die Events ein bisschen anders. Es steht wohl direkt in der Methoden-Signatur. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click End Sub
  19. Ja, wenn du diese Methode dem Klick-Event zugewiesen hast.
  20. Was ist aber, wenn du nicht weißt, was aufgerufen werden soll? Das Problem hast du ja bei den Events, wenn du eine grafische Oberfläche entwickelst. Für jedes Element einer grafischen Oberfläche gibt es ja zig Events. Beispiel wäre ein ja Klick auf ein Button. Woher soll der Button jetzt nun wissen, was passieren soll? Das programmierst du nun mit Hilfe eines Delegates und weist dem Delegate eine Methode zu. button1.Click += Button1_Click; // ... private void Button1_Click(object sender, EventArgs e) { // Code } Nun weiß der Button, dass er die Methode Button1_Click() aufrufen soll, wenn das Click-Event ausgelöst wurde. Ohne den Delegates müsstest du eine Ableitung vom Button schreiben und dort Methoden überschreiben. Das würde dazu führen, dass du für jedes Element auf der Oberfläche eine Ableitung benötigst.
  21. In strukturierten Programmiersprachen (z.B. C) nennt man sowas auch Funktionszeiger. Ein Delegate ist ein sog. Funktionstyp. Es gibt drei Arten von Typen. Wertetypen, wie z.B. Int, decimal, float beinhalten einen Wert. Ich schreibt hier C#-Code, da ich mit der Visual Basic-Syntax nicht ganz so vertraut bin: int wert = 23; Referenztypen besitzen eine Referenz zu einem Objekt: // Definition einer Klasse public class ClassA { // Code } // Erzeugung einer Instanz einer Klasse ClassA klasseA = new ClassA(); Die Variabel klasseA besitzt als Wert nun die Speicheradresse, wo das Objekt im Speicher gespeichert wurde. Darum kannst du auch nicht zwei Objekte mit dem Vergleichsoperator auf Gleichheit überprüfen. Also: ClassA klasseA1 = new ClassA(); ClassA klasseA2 = new ClassA(); Console.WriteLine(klasseA1 == klasseA2); // Es wird false zurückgewiesen, weil die Speicheradressen unterschiedlich sind Funktionstypen also die Delegates besitzen eine Referenz zu einer Methode. Beispiel: public class ClassA { // Defintion eines Delegates public delegate int Berechnung(int x, int y); // Funktionstyp als private Klassenvariable private Berechnung berechnung; // Über den Kontruktor wird das Delegate mitgegeben public ClassA(Berechnung berechnung) { this.berechnung = berechnung; } // Ausgabe des Ergebnisses des Delegates public void Ausgabe(int x, int y) { Console.WriteLine(this.berechnung(x, y)); } } Nun kann man bei der Erzeugung der Instanz von KlasseA ein Delegate mitliefern, der beschreibt, was die Berechnung tun soll: ClassA classA = new ClassA(Summiere); classA.Ausgabe(10, 10); private int Summiere(int x, int y) { return x + y; } Da das Delegate und die Methode Summiere() die selbe Methodensignatur (die selben Parameter) aufweisen, kann ich jetzt nun die Summiere()-Methode als Delegate mitliefern. Es ist also eine Referenz auf die Methode. Wenn man jetzt nun die Ausgabe()-Methode von klasseA ausführt, wird das Delegate ausgeführt und das Delegate zeigt auf die Summiere()-Methode und dann werden beide Zahlen addiert. Auf diese Weise kann man nun das Verhalten einer Klasse bestimmen. Ein anderes Beispiel wären die Events bei grafischen Oberflächen. Wenn du z.B. auf ein Button klickst, wird ja das OnClick()-Event aufgerufen und du kannst über das Event programmieren, was bei einem Mausklick passieren soll. Events sind auch Delegates.
  22. Zu diesem Thema hatte ich mal angefangen, ein Tutorial zu schreiben, wie man es richtig macht. Leider komme ich kaum dazu, es weiterzumachen. Teil 1 also einige Grundlagen, die man für ein Taschenrechner braucht, ist präsentierfähig, wenn aber auch nicht perfekt geschrieben und es fehlt wohl noch einiges zum besseren Verständnis. Mein "Lektor" kommt leider auch nicht dazu, es zu lesen.
  23. In den Aufgaben sollst du das komplette HTML-Dokument mit PHP generieren lassen und nicht nur die Ausgabe.
  24. Warum so kompliziert? Einfach einen lokalen Webserver aufsetzen und direkt im Webordner das Git-Repository aufsetzen. Dann kannnst du deine Änderungen direkt testen und wenn alles gut läuft, kannst du es bei dir einchecken und ein Pull-Request zum zentralen Repository machen.
  25. Programmiersprache: Egal Kenntnisse: Irgendein Sortieralgoritnmus Was genau möchtest du denn hören? Das hier ist kein Forum, man deine Hausaufgaben macht. Wie sehen denn deine Überlegungen aus?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...