
Whiz-zarD
Mitglieder-
Gesamte Inhalte
2076 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
50
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Whiz-zarD
-
Webseite zum Austausch von Rezepten
Whiz-zarD antwortete auf DevOpsIsCool's Thema in Skript- und Webserverprogrammierung
Es gibt da ja mehrere Möglichkeiten. Entweder du entwickelst mittels Java Server Pages (jsp) deine Java Applikation, die dann auf einem Webserver läuft oder du entwickelst eine sog. Single Page Anwendung mit Angular, React, Aurelia oder einem anderen Framework und rufst dann per Ajax eine Web-API auf, die du mit Java entwickelst. -
Danke. Ich hab schon an meine Kenntnisse gezweifelt.
-
Frankfurt am Main? Eine Bank? Wenn ja, dann wird sich da nicht wirklich viel ändern zu deinem jetzigen Beruf. Banken sind bekannt dafür, dass sie intern wie eine Behörde agieren.
-
Das ist MySQL... Wäre mir neu, dass MSSQL sowas in der SQL-Syntax integriert hat. Ich kenne nur den Weg über sqlcmd aber gut, ich bin auch kein MSSQL-Experte.
-
Nein aber es gelten besondere Regeln. https://www.bafoeg-rechner.de/FAQ/bafoeg-ueber-30.php Keine Ahnung, die Situation von @Jette genau aussieht.
-
Doch, in der Schule ist man genauso lange anwesend, wie bei einer Vollzeitbeschäftigung... Berufsschule darfst du nicht mit einer allgemeinbildenen Schule vergleichen, wo die Schüler um 10 Uhr hingehen schon um 14 Uhr Schluss haben.
-
In der Regel hat man Blockunterricht. D.h. man geht 4 mal im Jahr a 4 - 5 Wochen zur Berufsschule.
-
So, wie ich das verstehe, dauert die Ausbildung in Teilzeit weiterhin 3 Jahre. Lediglich nur die Arbeitsstunden werden reduziert. Die Berufsschule ist weiterhin Vollzeit. Zumindest lese ich das hier raus. Angesichts der doch überwiegend miserablen Berufsschulen, gerade im IT-Bereich, würde ich mir so eine Ausbildung zweimal überlegen. Man verbringt halt weniger Zeit in der Firma und dort lernt man am meisten. Die Berufsschulen schaffen es oftmals nicht, das Grundwissen aufzuarbeiten. Da würde doch viel auf der Strecke bleiben.
-
Ich denke, dass dies sogar noch sehr optimistisch ist. Ich gehe davon aus, dass nahezu 100% aller Projekte den Zeitplan nicht einhalten. Ich halte sowieso nichts von exakter Stundenangabe, wie lange man für eine Tätigkeit benötigt. Der Zeitplan sollte lediglich nur ein Indiz sein, dass man das Projekt auch in der Zeit schaffen kann und eine gewisse Komplexität aufweist. In der Ausbildungsverordnung steht ja auch folgender Satz drinnen: (Analog für die FISIs) Laut Ausbildungsverordnung dürfen es sogar auch weniger sein. Es dürfen nur die 35/70 Stunden nicht überschritten werden. Die IHK sieht es aber anders, denn da müssen es exakt 35/70 Stunden sein, was aber eigentlich nicht stimmt. Da sieht man auch recht deutlich, dass man es hier überwiegend mit Bürokraten zu tun hat. Das gilt auch für die Softwareentwicklung. Niemand kann im Vorwege sagen, dass eine Implementierung einer Lösung exakt 20 Stunden dauert. Auch in der Softwareentwicklung entwickelt man Strategien, um ein Problem zu lösen. Ob die Strategien aufgehen oder ob man noch Gegensteuern muss, weiß man im Vorwege nicht. Darum gibt es ja seit über 15 Jahren den Ansatz der agilen Softwareentwicklung, wo man eben in Iterationen arbeitet und schnell Feedback bekommt. Dieses Verfahren ist aber durch die IHK in der Abschlussprüfung gar nicht möglich, da die exakten Stunden einzuhalten sind, die man vorher beim Einreichen des Projektes festgelegt hat. Abweichungen sind zwar Möglich aber müssen später begründet werden und können ggf. nachteilig in die Benotung einfließen.
-
Sinn und Zweck von Arbeitszeugnissen
Whiz-zarD antwortete auf Whiz-zarD's Thema in Jobsuche, Bewerbung und Zeugnisse
Ich habe schon in einigen Firmen gearbeitet und habe auch einige Arbeitszeugnisse aber in keinem wird die Firma beschrieben und die Aufgabenbereiche hat man dann auch auf einen Satz reduziert. Da lässt sich auch nicht so viel herauslesen, was man gemacht hat. Da steht dann so viel, wie Ja, als Mechatroniker (mein damaliger Beruf) sollte man Konstruktionszeichnungen lesen können. So viel nützliches bietet also das Arbeitszeugnis nicht. Laut einigen Quellen im Internet ist Deutschland auch hier mal wieder ein Exot. Kein anderes Land kennt sowas, wie Arbeitszeugnisse. Das hatte ich mir auch schon fast gedacht. Für viele Personaler scheint es lästig zu sein, so etwas zu schreiben und die Mitarbeiter selbst beauftragen, es zu schreiben, ohne es sich noch mal genauer anzuschauen. Also eigentlich nur ein Stück Papier, womit man sein A***** abwischen kann. -
Ich habe es hier schon öfters gelesen, dass man in Betrieben anfordern kann, ein gutes Arbeitszeugnis zu bekommen. Auch kann man es selbst schreiben, wie in diesem Thread z.B. Da fragt man sich schon, welchen Sinn und Zweck überhaupt noch Arbeitszeugnisse haben, wenn man diese sowieso grundlegend und sogar gewollt Manipulieren kann? Welchen Mehrwert haben dann die Firmen, wenn sie so ein Zeugnis lesen? Sie können sich ja nicht mal sicher sein, dass das Zeugnis der Wahrheit entspricht. Wozu also das Ganze? Das ist doch letzen Endes nur ein Nachweis, dass ich in Firma X gearbeitet habe. Mehr nicht. Dafür braucht man aber kein Arbeitszeugnis, sondern nur eine offizielle Bestätigung. Ist das Zeugnis nur mal wieder der deutschen Bürokratie geschuldet oder läuft das im Ausland so ähnlich?
-
MB / MiB ∙ PAP traditionell & modern?
Whiz-zarD antwortete auf Reda's Frage in Systemadministratoren und Netzwerktechniker
Wieso ist "Reisen" eine Ein- und Ausgabe? -
MB / MiB ∙ PAP traditionell & modern?
Whiz-zarD antwortete auf Reda's Frage in Systemadministratoren und Netzwerktechniker
Das "Pfeil auf Pfeil zeigen" ist schon richtig. In Rechtecke werden Operationen abgebildet. Man fängt ja nicht immer von vorne mit dem Tanken an, nur weil der Tank noch nicht voll ist. Die Operation "Tanken" soll ja so lange laufen, bis der Tank voll ist, daher soll sie ja auch so lange laufen, bis die nächste Operation erreicht ist. Das angeblich "moderne" Diagramm ist Mist, weil eine Abfrage, ob der Tank voll ist, keine Operation ist und somit auch gegen die ISO-Norm verstößt. Das kannst du auch im Wiki-Artikel lesen: https://de.wikipedia.org/wiki/Programmablaufplan -
Bewerbung bei jobcenterfinanzierter Ausbildung
Whiz-zarD antwortete auf zitronenfalterin's Thema in Ausbildung im IT-Bereich
Sorry aber das bieten sie jeden Bäcker mit einer Mehlallergie an. Die Wirtschaft schreit "Fachkräftemangel!" also wird jeder in so eine Umschulung gesteckt. Ich stelle mir auch die Frage, was es noch bringen soll, mit 50 eine Ausbildung anzufangen? Nach einer FIAE-Ausbildung fängt man dann als Junior Entwickler an und bei 50-jährigen wird man wohl nicht mehr über diesen Status hinauskommen, daher wird so ein Entwickler nicht wirklich rentabel für ein Unternehmen sein. Selbst wenn du die Ausbildung absolvierst, sehe ich wenig bis keine Chancen, überhaupt einen Job zu bekommen. -
Aus eigener Erfahrung kann ich sagen, dass beide Punkte ein Trugschluss sind. Das Argument "Wenn man es selbst entwickelt, dann hat man keine Abhängigkeiten" habe ich schon so oft gehört und jedes Mal war es ein Fehler. Das Problem ist, dass man sich zu viel ins Unternehmen holt, was gar nicht das Kerngeschäft des Unternehmens ist. Als Beispiel kann ich die Firma nennen, wo ich gerade arbeite. Sie haben ihr O/R-Mapper selbst entwickelt, genau aus den genannten Gründen. Das Ding wird zunehmend ein gigantisches Problem, weil der performancetechnisch einfach nur Mist ist. Wir entwickeln eine Software für Banken. Wir müssen uns also nicht nur mit unserem Kerngeschäft auseinandersetzen, sondern haben noch Technologien, wie z.B. der O/R-Mapper warten. Sprich, wir können uns nicht zu 100% mit den Aufgaben der Kunden beschäftigen, weil wir selber intern zu viel an der Backe haben. Kostengünstige Wartung erreicht man auch nicht, indem man die Applikation selbst entwickelt, denn irgendwer muss man auch den Entwickler dafür bezahlen. Also entweder kommandiert man ein Entwickler ab, der sich eigentlich um das Tagesgeschäft kümmern sollte und somit für diese Zeit kein Geld in die Kassen spült oder ich muss einen einstellen, der sich ausschließlich mit der In-House-Software beschäftigt. Nur weil man keine Lizenzverträge hat, heißt es noch lange nicht, dass eine Software günstiger ist. Eine In-House-Lösung kann auch sehr teuer werden. In den meisten Fällen wird diese nur Stiefmütterlich behandelt. Sprich, die wird halt irgendwie hingefrickelt. Interessiert doch eh keinen. Tests werden vernachlässigt, weil sie überflüssig sind und Geld kosten. Also lässt man sie weg. Ein Refactoring findet dann auch nicht statt. Läuft doch. Jeder frickelt neue Funktionen rein und nach einem Jahr ist die Applikation instabil, unwartbar und nur noch lästig. Also ja, in der Theorie hast du recht (reicht vielleicht auch bei der Abschlussarbeit) aber die Praxis sieht leider anders aus.
-
Was heißt für dich "Programm-Start"? Wo ist denn das zu finden, was du meinst?
-
Das schon eher (auch wenn das auch nicht nicht sauber ist). Ein Hinweis, dass die beiden genannten Zeilen nicht in die Fight-Klasse gehören, ist auch deren Funktion. Du bewegst den Spieler und ein Monster erscheint. Das ist aber noch vor dem Kampf und somit verletzt man das sog. Single-Responsibility-Prinzip. Sprich, die Klasse hat mehr als eine Zuständigkeit, indem die Klasse den Spieler bewegt, das Ereignis auslöst und den Kampf an sich.
-
Konstruktoren sollte keine Logik besitzen. Wie der Name schon sagt, dient er zur Konstruktion eines Objektes. Daher sollte der Konstruktor auch nur dafür verwendet werden. Sprich, die Zeilen: player.MoveTo(World.LocationById(World.location_id_fight)); MonsterAppear(this, new EventArgs()); Sollten da raus.
-
Du reichst Player und Monster in den Konstruktor der Fight-klasse rein und speicherst diese dann als Membervariable in dieser Klasse ab.
-
Die Methode ist doch in der Spieler-Klasse definiert, dann kannst du doch die Eigenschaften/Methoden der Klasse aufrufen public int Attack(Monster monster) { var attack = this.GetDamage(); monster.TakeDamage(attack); return monster.CurrentHitpoints; } private int GetDamage() { // Logik }
-
Das ist eigentlich auch der richtige Weg. Die Attack()-Methode in der Player-Klasse verursacht einige Probleme. Zum einen vermischt man Datenhaltung mit der Logik. Wenn man es weiterspinnt, dann wird es ja bei der Attack()-Methode nicht bleiben. Dann gibt es vielleicht noch eine Talk()-, eine Walk()-, eine Use()-, etc. Methode. Die Klasse hat dann mehrere Zuständigkeiten. Sie hält also nicht nur die Daten des Spielers, sondern ist auch noch für den Kampf, fürs Reden, fürs Laufen, etc. zuständig. Darüber hinaus wird die Player-Klasse von der Monster-Klasse abhängig. Das mag vielleicht in einem einigen Projekt nicht so schlimm sein aber wenn man z.B. die Monster in ein separates Projekt auslagert, so wird es schon etwas problematischer, wenn man dann die Player-Klasse einzeln testen möchte. Eine Klasse, die den Kampf koordiniert, dient dann als "Verbindungsstück" (Integration) zwischen Spieler, Monster und ggf. der UI und die Player- und Monster-Klassen können als "dumme" Objekte (POCOs) behandelt werden und brauchen dann keinerlei Logik.
-
INotifyPropertyChanged Ein anderes Stichwort wäre "Data Binding"
-
Wenn du es vernünftig machen willst, dann ja, denn das sind die Grundkonzepte der Objektorientierung. Wenn du fehlerhaften, unwartbaren, unübersichtlichen, komplizierten und verdoppelten Code produzieren willst, dann nein. Weil du dich strikt weigerst, etwas neues zu lernen: Man könnte dir von Patterns, etc. erzählen aber das ist einfach vergeudete Mühe, weil du die sowieso nicht einsetzen willst.
-
Ein weiterer Tipp: Solche Konstruktoren, wie z.B. public Player(int curHP, int maxHP, int gold, int curExp, int maxExp, int level, int attack) { ... } Sind unter C# nicht nötig und auch beim Aufruf schlecht lesbar. Keiner wird auf den ersten Blick verstehen, welche Parameter was ist: private Player _player = new Player(20, 20, 0, 0, 10, 1, 2); Man muss den Konstruktor kennen, um zu wissen, was z.B. die letzte 2 bedeutet. C# bietet hier den Objectinitializer, der das Ganze lesbarer macht: private player = new Player { CurHP = 20, MaxHP = 20, Gold = 0, CurExp = 0, MaxExp = 10, Level = 1, Attack = 2 }; Anstatt eine List<Monster> zu nehmen, um darüber dann zu iterieren, um das jeweilige Monster mit der Id herauszusuchen, verwendet ein Dictionary<int, Monster>. Beispiel: public Dictionary<int, Monster> monsters = new Dictionary<int, Monster> { { monster_id_wolf, new Monster(monster_id_wolf, "Wolf", 10, 10, 1, 10, 2, 1) }, { monster_id_bee, new Monster(monster_id_bee, monster_id_bee, "Bee", 1, 1, 1, 1, 1, 1) } } Dann brauchst du die MonsterById()-Methode nicht mehr, sondern kannst direkt mit monsters[monster_id_wolf] darauf zugreifen. Natürlich kannst du auch hier den oben genannten Tipp mit dem Konstruktor nehmen. Ansonsten ist da noch sehr viel, was man anders machen sollte aber darüber zu reden bringt wohl nichts.