Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    1.637
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    29

Whiz-zarD hat zuletzt am 3. August gewonnen

Whiz-zarD hat die beliebtesten Inhalte erstellt!

1 Benutzer folgt

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Daedalic ist einer der ineffizientesten Haufen, den ich jemals gesehen habe. Die bekommen nichts auf die Kette. Die Jobangebote kenne ich inzwischen auch schon seit der Ankündigung vom Gollum-Spiel. Mehr als die halbe Belegschaft wurde vor einigen Jahren entlassen. Gut, die bestand eh nur aus Werksstudenten und Praktikanten. Es wurden auch mal großspurig zwei weitere Studios in Düsseldorf und München eröffnet. Inzwischen sind beide wieder geschlossen. Der Verlag Bastei Lübbe hatte auch vor einigen Jahren 51% Anteile von Daedalic gekauft. Inzwischen haben sie 41% wieder an Daedalic verkauft und behalten nur 10%. Daedalic agiert inzwischen mehr als ein Publisher für Indie-Games, wobei ich mich frage, wozu man hier noch großartig einen Publisher braucht? In Sachen Eigenproduktion haben sie nichts mehr zu bieten. Das Herr der Ringe-Spiel mit Gollum als Hauptfigur mag vielleicht noch erscheinen aber ich denke nicht, dass es international ein Erfolg haben wird, um den Laden noch halten zu können. Ich hab dort tatsächlich mal als Praktikant gearbeitet und es ist genau das eingetroffen, was ich vermutet hatte. Es mussten nur einige bestimmte Personen den Laden verlassen und schon geht er unter und genau diese Leute haben den Laden verlassen. Mein Praktikum war auch zu der Zeit, wo sie mit Deponia und Edna diverse Preise abgeräumt hatten. Jetzt kannst du mal raten, wie viel von dem Preisgeld an die Mitarbeiter ging.
  2. Getter sollten nichts setzen, weil es Seiteneffekte erzeugt, die man nicht haben möchte. Schaue dir dein Code genauer an: public int Healthbar { get { return Healthbar;} set { GetHealth(Toughness);} Was macht der Getter von Healtbar? Er ruft sich selbst auf und erzeugt eine unendliche Rekursion, was deine StackOverflowException auslöst.
  3. Ich glaube, dein Problem ist nicht das Array, sondern dass du das Prinzip der Objektorientierung noch nicht verstanden hast. Ich glaube, dass auch deine Methoden GetName(), GetGenus(), GetSex() und GetHealth() keine Getter sind, sondern Setter. Es macht keinen Sinn, einfach Getter aufzurufen. Was machen dann diese Methoden? Setzen sie evtl. deine Statuswerte? Mit der Codezeile BasicCharacter character = new BasicCharacter(); erzeugst du ein Objekt vom Typ BasicCharacter aber mit der Zeile characters[0] = new BasicCharacter(); erzeugst du ein weiteres Objekt. Beide Objekte sind aber unterschiedlich. Es sind also nicht die selben Objekte. Wenn du also im Array das selbe Objekt speichern möchtest, was du im oberen Code zuvor erzeugt hast, dann musst du characters[0] = character; schreiben.
  4. IT-Sicherheit hat auch wenig mit Kryptografie zu tun. Es geht also nicht darum, Schwachstellen in Verschlüsselungen zu finden. Wenn man es genau nimmt, ist IT-Sicherheit auch nur ein Teil der Datensicherheit und bei der Datensicherheit geht es um die Vertraulichkeit, Verfügbarkeit und Integrität der Daten. Bei der Vertraulichkeit geht es darum, den Zugriff auf Daten einzuschränken. Nicht jeder darf z.B. die Kundenverträge einsehen, etc. Bei der Verfügbarkeit geht es um die Ausfallwahrscheinlichkeit. Und bei der Integrität geht es darum, ob man den Daten vertrauen kann. Sind sie Manipulationssicher? Bei IT-Sicherheit geht es um die Sicherheit der IT-Systeme. Verwendet man hier also Standardlösungen? Hält man sie auf den aktuellen Stand? Welche Software ist im Unternehmen erlaubt und welche nicht? Gibt es ein Prozess, wenn man eine Unsicherheit im System findet? Wie sichert man die Verbindung ins Intranet? etc. Im Grunde hat nur die Integrität etwas mit Verschlüsselungen zu tun aber da geht es überwiegend darum, ob man die Best Practises einhält und nicht anfängt, das Rad neuzuerfinden.
  5. Kümmere dich erstmal um deine Umschulung. IT-Sicherheit muss nicht unbedingt was mit Softwareentwicklung zu tun haben.
  6. Natürlich ist sie erfolgreich, denn das Programm hat dir nichts gegenteiliges mitgeteilt. Hätte es nicht geklappt, hättest du ein "null" auf der Konsole ausgewiesen bekommen. Mit dem new-Operator befehligst du dem Gargabe Collector eine Instanz deiner Klasse zu erzeugen. D.h. der Gargabe Collector reserviert für dich den Speicher und gibt diesen auch wieder frei, wenn es keine Referenzen mehr auf dieses Objekt gibt. Die Referenz des Objektes speicherst du dann in dein Array. Um etwas weiter auszuholen, wie die Speicherverwaltung funktioniert: Es gibt erstmal zwei Arten von Datentypen: Wertetypen und Referenztypen. Wertetypen sind z.B. int, double, decimal, float, ... Sie haben eine definierte Größe. Referenztypen sind unsere Objekte. Sie haben eine variable größe. Je nachdem wie wir die Klassen schreiben. Dann gibt es zwei Arten von Speicherbereichen: Stack und Heap. Der Stack ist der Bereich, wo deine lokalen Variablen, je nach Zuständigkeitsbereich, abgelegt werden. Beispiel: public void Methode() { // i ist in der gesamten Methode sichtbar // da sie direkt im Methoden-Block deklariert wurde int i = 0; for(int x = 0; x < 100; x++) { int j = 0; // x und j sind nur im Block der for-Schleife sichtbar } } Wenn man Methode() aufruft, dann wird für die Methode die Variable i auf den Stack gespeichert. Für die for-Schleife werden die Variablen x und j gespeichert. Innerhalb der Schleife haben wir Zugriff auf i, da die Schleife innerhalb des Zustänidgkeitsbereich der Methode liegt. Ist die Schleife dann durch, dann können die Variablen die innerhalb der for-Schleife deklariert worden sind, wieder entfernt werden (x und j), weil wir sie nicht mehr brauchen und alles, was außerhalb der Schleife ist, kann nicht darauf zugreifen. Der Name "Stack" kommt daher, dass die Variablen immer auf einen Stapel gelegt werden. Dies ist möglich, weil die Größe einer Variable immer bekannt ist. Auch von Objekten, obwohl ich doch schrieb, dass sie unterschiedlich groß sind. Wieso das so ist, sehen wir gleich. Der Heap ist für die Objekte zuständig. Wenn wir also ein Objekt mittels dem new-Operator erzeugen, ermittelt der Garbage Collector, wie groß ein Objekt ist und sucht im Heap einen geeigneten Speicherbereich und gibt uns eine sog. Referenz zurück. Die Referenz nicht der Wert des Objektes, sondern eine Speicheradresse. Also die Adresse im Speicher, wo auch unser Objekt liegt. Die Adresse ist je nach 32- oder 64-Bit-Anwendung auch 32- oder 64-Bit lang und somit schließt sich auch der Kreis um den Stack. Wenn wir also nun: var player = new PlayerCharacter(); aufrufen, dann wird im Stack eine Variable mit dem Namen player gespeichert, die als Wert eine Speicheradresse besitzt. Etwas ähnliches passiert auch mit deinem Array. Genaugenommen speicherst du also nicht die Objekte in einem Array, sondern lediglich nur die Referenzen und durch die geschickte Syntax ist dann eine sog. explizite Deferenzierung, wie unter C/C++ nicht nötig, denn die Deferenzierung wurde mit Hilfe der sog. Punkt-Notation gelöst. Wenn du jetzt schreibst: Console.WriteLine(playerArray[0].Name); Wird mit dem Punkt (.) hinter playerArray[0] die Adresse dereferenziert. D.h. wir haben dann Zugriff auf die Eigenschaften/Methoden des Objektes. Mit der Dereferenzierung teilen wir also mit, dass wir den Inhalt des Speicherbereichs haben wollen. Ich hoffe, dass es erstmal so verständlich. Dass die Konsole "ProjektTerra.PlayerCharacter" ausgibt ist auch richtig. Die Methode WriteLine() ruft von deinem Objekt wiederrum die ToString()-Methode auf. Diese Methode steht jeder Klasse zur Verfügung und die Standard-Implementierung ist halt, dass der vollqualifizierte Name der Klasse zurückgegeben wird. Mit Hilfe des Schlüsselwortes override kannst du aber diese auch überschreiben: public class PlayerCharacter { public override string ToString() { // Deine Implementierung } }
  7. Die Frage ist, was willst du machen? Ein Studium ist nun mal keine Berufsausbildung. FHs und Unis sind Forschungseinrichtungen. Du lernst dort, wie man forscht. Zwar sind FHs praxisorientierter aber selbst dort wirst du nicht lernen, wie man einen Server oder ein Netzwerk einrichtet, sondern du lernst dort erstmal solide Grundlagen, die du für die Forschung benötigst. Also sowas wie lineare Algebra, Algorithmen und Datenstrukturen und theoretische Informatik, wobei in der theoretischen Informatik es weniger um Softwareentwicklung geht, sondern um die Beweisführung von Algorithmen. Vieles, was man in einem Studium lernt, wird man aber in der Praxis nicht gebrauchen.
  8. Möchtest du weiter als FISI arbeiten? Dann nein, ein Studium wäre nichts für dich.
  9. Gerade bei No Mans Sky hat das Team aber selber Schuld, weil sie selber einen Hype entwacht haben, den sie nicht gerecht wurden. Welche Mentalität? Es ging immer ums Geld. Warum kam es in den 80ern zum video game crash? Weil der Markt mit inkompatiblen Konsolen überschwemmt wurde, die alle ihre eigene Spielebibliothek hatten, die überwiegend aus schlechten Kopien der Arcade-Spielen bestanden. E.T. war nur die Spitze des Eisberges. Man hat Schrott am laufenden Band produziert. Viele scheinen auch die 90er zu romantisieren aber die Welt der Videospiele bestand mehr als aus Bullfrog, Blizzard, Westwood und id Software. Erinnert sich keiner mehr um die große Diskussion um die geschönten Screenshots? Das war ein großer Eklat in den 90ern und vom Sexismus will ich erst gar nicht sprechen. Nee, sorry, da sind wir schon ein großes Stück weiter, auch wenn der Sexismus in der Branche immer noch sehr hoch ist. Ich denke sowieso, dass es kurz oder lang wieder zu einem Crash kommen wird. Vielleicht nicht so heftig, wie in den 80ern und vielleicht sind wir da schon drinnen aber dass die Produktionskosten enorm in die Höhe steigen, zeigt, dass die derzeitige Entwicklung von Videospielen nicht haltbar ist. Mit Microtransactions hat man versucht, dagegen zu wirken aber das kam nicht gut an. Schon in den 90ern versuchte man es auch mit product placement aber dies kommt bei Spielern ebenfalls nicht gut an. Also wird man in Zukunft immer weniger größere Franchises sehen und irgendwann wird auch mal ein Call of Duty oder Assassins's Creed ausgelutscht sein. Ich denke, wir werden uns wieder mit simpleren Spielen begnügen müssen und seien wir doch mal ehrlich: Open World-Spiele sind jetzt auch nicht so der Hit. Ja, man kann sich vielleicht durch eine große Stadt bewegen aber sie ist komplett statisch und langweilig.
  10. Das eine schließt das andere doch nicht aus. Team-Building kann auch bedeuten zusammen Spaß zu haben. Sich auch privat näher kennenzulernen und je mehr man sich kennt, desto mehr Empathie kann man für den anderen aufbringen, was wiederum wichtig für die Zusammenhaltung des Teams ist.
  11. https://www.fh-wedel.de/bewerben/bachelor/computer-games-technology/ Ist zwar eine private FH und auch nicht gerade Günstig (weil Land Schleswig-Holstein meint, Fördergelder kürzen zu müssen) aber sie legt dennoch Wert auf Qualität und steht auch im engen Kontakt mit vielen großen Firmen rund um Hamburg.
  12. Richtig. Du kannst folgendes schreiben: var players = new Player[] { new PlayerCharacter(), new PlayerCharacter(), new PlayerCharacter() }; Und schon hättest du ein Array mit 3 Spielern. Mit dem new-Operator wird ein Objekt im Arbeitsspeicher (genaugenommen im sog. Heap) angelegt. Jedes Objekt hat somit seinen eigenen Speicherbereich und ist deswegen unabhängig von den anderen Objekten. Wenn wir also mit players[0] und players[1] auf die Objekte zugreifen wollen, haben wir unterschiedliche Objekte vom selben Typ.
  13. Bis auf Abschlussarbeiten wirst du nichts konkretes finden. Es hat schon seine Gründe, warum der Ausbildungsrahmenplan so allgemein verfasst wurde. Jedes Unternehmen ist anders und setzt einen anderen Fokus. Eine Firma entwickelt vielleicht mehr Stored Procedures in der Datenbank und dann liegt der Fokus mehr auf SQL, eine andere Firma verwendet vielleicht eine NoSQL-Datenbank und da kann durchaus kein SQL verwendet worden sein. etc. Der Ausbildungsrahmenplan bietet nur einen groben Überblick, was alles gelehrt werden sollte. Die Firmen können aber dennoch davon etwas abweichen. Welche Programmiersprachen gelehrt werden soll, wird ja auch nicht vorgegeben, da man nicht davon ausgehen kann, falls es vorgeschrieben wird, die Firma auch das Know-How besitzt. Wenn du also die Abschlussarbeiten anschaust und die Aufgaben lösen kannst, dann bist du doch gut dabei und ja, mich als Ausbilder kotzt es mich auch an, dass der Fokus eher auf dem Kaufmann liegt, da es heutzutage nicht mehr der Realität entspricht. Zum Thema "Gutes Verständnis von Objektorientierung und Datenmodellierung": Ich würde behaupten, dass selbst die meisten erfahrenen Softwareentwickler Objektorientierung nicht richtig verstanden haben. Der Vorteil von Objektorientierung liegt in der Umkehrung der Abhängigkeit und nicht, wie vielfach behauptet wird, in der Vererbung und Polymorphie, denn das kann auch C, auch wenn es nicht so komfortabel ist. Bei Datenmodellierung sehe ich auch, dass viele es falsch angehen. Oft wird Datenmodellierung gleichgesetzt mit "ER-Modell erstellen". So sehe ich das auch immer in hier den vorgestellten Abschlussprojekten. Objektorientierung und relationale Datenbanken passen aber nicht so recht zusammen. Deswegen muss man umständlich mit einem O/R-Mapper hin- und hermappen. Mit einer Datenbank, die zur Objektorientierung passt, wie z.B. dokumenbasierte Datenbanken, ist so ein Mapping nicht nötig und bietet sogar auch Vorteile. Warum stellt man also die Datenbank so in den Vordergrund? Die Datenbank ist doch nur für die Persistenz zuständig und es sollte doch egal sein, wie die Datenbank die Daten speichert. Wenn ich eine Liste von Key-Value-Pairs in die Datenbank speichern möchte, dann möchte ich das tun und sie nicht umständlich in eine Tabelle umwandeln. Ob man jetzt für einen Job geeignet ist, oder nicht, wird dir auch keiner beantworten können. Wenn aber ein Junior-Entwickler mit Wissen in Angular gesucht wird und man hat Wissen in Angular, dann ist man schon ein potenzieller Kandidat und wenn der Rest einen zusagt, dann sollte man sich einfach bewerben. Mehr als Nein können sie ja nicht sagen.

Fachinformatiker.de, 2021 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...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung