Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2.020
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    48

Reputationsaktivitäten

  1. Like
    Whiz-zarD hat eine Reaktion von Albi erhalten in [JAVA] Suche gute Online Guides/Kurse etc   
    Der Berufsalltag kümmert sich nicht mehr um Java-Grundwissen, da man davon ausgeht, dass man das Grundwissen beherrscht, daher sucht man im Berufsalltag eher Tutorials zu bestimmten Themen, wie z.B. zu bestimmten Frameworks. In dem anderen Thread von dir, habe ich ja z.B. Hibernate genannt. 
    Als Anfänger wäre aber das Lernen der SOLID-Prinzipien  nicht verkehrt oder such dir Coding Katas und versuche, die zu bearbeiten. Am meisten lernt man eben durch Übung und nicht durch Tutorials. Tutorials zeigen dir nicht, wie man Software schreibt, sondern verdeutlichen nur bestimmte Techniken und Technologien anhand eines simplen Beispiels. Diese Beispiele repräsentieren aber oft nicht den Weg, wie man Software schreiben sollte.
  2. Danke
    Whiz-zarD hat eine Reaktion von Bioernus erhalten in Maschine-Maschine-Kommunikation via http? (C#, .NET)   
    Schaue dir mal RabbitMQ an. Das ist genau das, das du haben willst.
  3. Danke
    Whiz-zarD hat eine Reaktion von Bioernus erhalten in Maschine-Maschine-Kommunikation via http? (C#, .NET)   
    Jop. Genau so.
    Deine beiden Systeme verbinden sich mit RabbitMQ und tauschen darüber ihre Nachrichten aus. System A schickt eine Nachricht an RabbitMQ und System B nimmt dann die Nachricht entgegen und umgekehrt. Der Vorteil ist nun, dass die Systeme nichts voneinander wissen müssen und die Anzahl der Systeme könnten nun auch unendlich sein. Kann sein, dass du noch ein weiteres System hat, was grundsätzlich alle Nachrichten empfangen soll, z.B. fürs Logging, fürs Monitoring oder für ein Event Store.
    Es gibt nun auch mehrere Lösungsansätze. Je nach dem, wie groß die vom System A erstellte Datensatz ist, kann mich sich nun überlegen, den Datensatz als Nachricht zu verschicken. Ich habe aber schon Systeme gesehen, die legen den Datensatz auf einem Dateisystem oder in eine Datenbank ab und schicken als Nachricht, dass eine neuer Datensatz vorhanden sei und wo er liegt, um somit den Netzwerktraffic gering zu halten. 
    Für C# gibt es sogar noch EasyNetQ, was die Nutzung von RabbitMQ erleichtert. 
  4. Like
    Whiz-zarD hat eine Reaktion von JimTheLion erhalten in Maschine-Maschine-Kommunikation via http? (C#, .NET)   
    Schaue dir mal RabbitMQ an. Das ist genau das, das du haben willst.
  5. Like
    Whiz-zarD hat eine Reaktion von -roX- erhalten in Fehlende Treiber   
    https://downloadcenter.intel.com/product/90590/Intel-H110-Chipset
  6. Like
    Whiz-zarD hat eine Reaktion von TheOod erhalten in Probeprojekt in der Schule   
    Nein...
    MD5 ist keine Hashfunktion für Passwörter und sollte dafür auch nicht verwendet werden.
  7. Danke
    Whiz-zarD hat eine Reaktion von Se_bas_tian erhalten in Meinung zur Änderung der Ausbildung - Java entfällt   
    Sehe ich genauso. Es ist egal, ob man jetzt Xamarin.Android oder das Android SDK nimmt. Der Unterschied ist da nicht besonders groß. Die Methoden und Klassen sind da weitgehend gleich. Entscheidend ist, dass man versteht, wie Android tickt. Ein Umschwenken auf Java ist dann nicht mehr ganz so tragisch, wenn man unbedingt mit Java entwickeln möchte. 
  8. Danke
    Whiz-zarD hat eine Reaktion von Se_bas_tian erhalten in Meinung zur Änderung der Ausbildung - Java entfällt   
    Sollen denn noch Android-Apps gebaut werden?
    Sofern ihr Android-Apps noch bastelt, werdet ihr wohl C# und Xamarin verwenden und der Vorteil von Xamarin ist halt, dass ihr Apps schreiben könnt, die nicht nur auf Android laufen, sondern auch unter Windows und iOS. Im Spielebereich wird dann wohl Unity verwendet und unter Unity verwendet man ebenfalls C#. Da ist es schon Sinnvoll Java zu streichen und komplett auf C# zu setzen. So kann man Einarbeitungszeit einsparen und die Zeit in den relevanten Themen stecken. Von daher denke ich mal, passt das schon recht gut. Es sollte halt klar sein, dass eine Ausbildung oder Umschulung die Softwareentwicklung nicht vollumfänglich erfassen kann, denn dafür ist das Gebiet einfach zu groß und daher muss man eben Abstriche im Kauf nehmen. 
     
  9. Like
    Whiz-zarD hat eine Reaktion von RubberDog erhalten in Probeprojekt in der Schule   
    Nein...
    MD5 ist keine Hashfunktion für Passwörter und sollte dafür auch nicht verwendet werden.
  10. Like
    Whiz-zarD hat eine Reaktion von Rabber erhalten in Wie beruflich PHP-Entwickler werden?   
    Kommt drauf an. Dependency Injection ist zwar ein schönes Mittel, um konkrete Abhängigkeiten zu entkoppeln aber die Abhängigkeiten bleiben bestehen, wenn auch nur in Form eines Interfaces. Dependency Injection kann somit auch schnell zur Pest werden, wenn man die Klassen nicht klein genug hält und man plötzlich 10 oder mehr Abhängigkeiten über den Konstruktor in die Klasse reinwirft. Dann muss man wieder 10 oder mehr Klassen mocken, bevor man die eigentliche Klasse testen kann. Das minimiert nicht den Testaufwand. 
    Um dieses Symptom zu bekämpfen, wurden dann IoC-Container entwickelt, die dann über ein Bootstrapping die Abhängigkeiten der Klassen auflöst und wie von Geisterhand die Objekte instanziiert. Meiner Meinung nach löst dies aber nicht das Problem, sondern man verlagert es nur an eine andere Stelle und bläht sein Code mit Infrastruktur auf. Zusätzlich können auch Fehler im Bootstrapping auftauchen und plötzlich werden dann die falschen Abhängigkeiten in eine Klasse injiziert. Also muss man auch das Bootstrapping testen. Unter Umständen kann es dann auch soweit kommen, dass man den Code nicht mehr lesen kann, da man nicht mehr weiß, welche Implementierung gerade wo verwendet wird. 
    Meiner Meinung nach, benötigen wir ein anderes Verständnis über die Softwareentwicklung aber ich denke, das würde jetzt hier zu weit führen.
    tl;dr: Dependency Injection, ja ist ein gutes Mittel aber das Drumherum muss auch stimmen, um die Vorteile genießen zu können.
    @dnyc: Versuche doch, einen Ausbildungsplatz zu bekommen. Bei deiner vorherigen Ausbildung als IT-Kaufmann kann ich mir vorstellen, dass du auch die Ausbildung verkürzen kannst. Ich denke mal, dass es in der heutigen Zeit Quereinsteiger doch sehr schwer haben. PHP ist auch keine allzu moderne Sprache mehr und inzwischen auch schon etwas verpönt, sodass man auch kaum Chancen hat, eine Firma zu finden, die bereit sind, einen Quereinsteiger in der PHP-Entwicklung einzustellen. Also Frontend-Entwickler mit Angular oder React hat man derzeit wohl bessere Chancen. Allerdings sehe ich heute nur noch eine Chance als Praktikant in die Branche reinzukommen, wenn man nicht eine Ausbildung oder ein Studium anstrebt. Besonders Startups suchen häufig Praktikanten.
    Bei Facebook und Co. wird aber nicht ausschließlich PHP verwendet. PHP wird überwiegend für die Logik verwendet und ist mehr historisch begründet, weil Zuckerberg damals mit PHP angefangen hat. Inzwischen mussten sie aber vieles tun, damit es überhaupt performant bleibt, indem sie z.B. ein Compiler gebaut haben, der den PHP-Code in Maschinensprache übersetzt. Auch das JavaScript-Framework React stammt von Facebook. Die Klassische Entwicklung mit PHP hat nämlich den Nachteil, dass das Erstellen des HTML-Dokumentes auf dem Server geschieht. Wenn jetzt nun eine Million Nutzer eine klassische PHP-Webseite aufrufen, müssen die Server eine Million HTML-Dokumente erzeugen, die wohlmöglich zu 95% immer gleich aussehen (Header, Footer, ...). Das ist sehr rechenintensiv. Da kommen dann Angular oder React ins Spiel und verlagern die Erstellung der HTML-Dokumente auf den Client (der Browser), da der Client eh die Leistung dafür hat. Auf diese Weise entlastet man den Server enorm. Der Server sendet also nur noch die reinen Daten zum Client und der Client generiert aus diesen Daten die Ansicht. Ein weiterer Vorteil ist nun, dass Angular oder React nicht die Webseite jedes Mal neu generieren, sondern im DOM einfach nur die Elemente austauschen. So bekommt man das Gefühl, dass es sich nicht um eine Webseite handelt, sondern um eine App. Das Prinzip nennt sich dann auch Single-Page-Application.
  11. Haha
    Whiz-zarD hat eine Reaktion von KeeperOfCoffee erhalten in Fragen zu PL/SQL   
    Mein Beileid.
    Ich habe auch viel mit PL/SQL zu tun und das ist keine Sprache, die man sich freiwillig antun möchte.
  12. Like
    Whiz-zarD hat eine Reaktion von JimTheLion erhalten in C# Zufallszahlen erstellen und Wiedergeben   
    Performance ist nicht das Problem. Über Performance würde ich mich erst Gedanken machen, wenn es wirklich ein Problem mit dieser gibt. Performanceoptimierung heißt in den meisten Fällen, dass der Code unübersichtlicher wird.
    Wie man den Code nun übersichtlicher macht, ist ein recht großes Thema und lässt sich auch nicht mit einfachen Worten erklären. Wenn du 10 Entwickler an die Aufgabe lässt, wirst du 11 Lösungen bekommen.
    In der Objektorientierung hat sich aber das sog. SOLID-Prinzip bewährt. Das S steht für "Single-Responsibility-Principle", das besagt, dass eine Methode oder eine Klasse nur für eine Sache zuständig sein soll. Wenn man jetzt deine button1_Click()-Methode anschaut, dann sie quasi für alles zuständig ist. Also sie würfelt, analysiert und macht die Ausgabe. Ich weiß es, weil ich die Aufgabe kenne und auch deine Gedanken dahinter verstanden habe aber kann ein anderer erkennen, dass der folgende Code ein Würfel sein soll?
    Random Zufall = new Random(); [...] int Zahl = Zufall.Next(1, 7); Nicht so wirklich, oder? Er sieht nur, dass du dort Zufallszahlen zwischen 1 und 6 generierst aber das es ein Würfel sein soll, lässt sich in diesem Kontext nicht herauslesen. Also würde ich im ersten Schritt genau daraus einen Würfel bauen. Also wir erstellen eine Klasse, die einen Würfel repräsentiert. Diese Klasse hat dann eine Roll()-Methode, die dann uns eine Zufallszahl zurückgibt. Das Endergebnis würde dann so aussehen:
    int number = dice.Roll(); So lässt sich dann auch im Kontext lesen, dass wir es mit einem Würfel zu tun haben, der gewürfelt wird.
    Analog das selbe gilt auch fürs Analysieren. Da würde ich auch eine Klasse bauen, die genau das übernimmt. Da könnte es dann z.B. eine Analyse()-Methode geben, die als Parameter die Nummer entgegennimmt und sie entsprechend eingruppiert. Eine GetCount()-Methode könnte dann die Anzahl zurückliefern:
    int number = dice.Roll(); analyser.Analyse(number); [...] label3.Text = "Es wurde " + analyser.GetCountOfNumber(1) + " mal die Eins gewürfelt"; Natürlich könnte man noch viel mehr erzählen. z.B. über MVC (Model-View-Controller), etc aber ich denke, das würde zu weit führen. Ich denke, dass selbst mein Text schon zu weit geht.
    Zum Thema String vs. StringBuilder vs. Stringinterpolation:
    Ich denke mal, der TE kann mit dem Wort "immutable" nichts anfangen. Ich bin mir nicht mal sicher, ob der TE überhaupt eine Ausbildung macht oder nur ein Schüler auf einer allgemeinbildende Schule ist. Daher sollte man ihn vielleicht auch mal erklären, was immutable heißt. Zumal es performancetechnisch wohl keinen allzu großen Unterschied macht, ob er die Strings verkettet und somit einen neuen erzeugt oder einen StringBuilder verwendet. Wenn er einen eigenen StringBuilder verwendet, dann muss jedes Mal die Clear()-Methode aufgerufen werden, was den Code zumüllen würde. Darüber hinaus müsste er jedes String-Fragment mit der Append()-Methode zusammenführen, was schlecht lesbar ist.
    Daher würde ich hier auf den StringBuilder verzichten und die Stringinterpolation verwenden. Diese verwendet intern auch nur die string.Format()-Methode und in dieser Methode wird ein gecachter StringBuilder verwendet, der eben die Clear()-Methode aufruft.
    Ob man jetzt also
    "Es wurde " + Eins + " mal die Eins gewürfelt"; oder
    $"Es wurde { Eins } mal die Eins gewürfelt"; ist aus meiner Sicht erst mal irrelevant. Da es sich hier um eine Mikrooptimierung des Code handelt. Dann läuft der Code halt 10 Nanosekunden langsamer. Na und? Wir reden hier nicht von einem Hochverfügbarkeitssystem, was die Zahlen in Echtzeit anzeigen soll.
    Ja, man kann die Problematik ansprechen aber geht es nicht erst mal darum, den Code lesbarer zu machen? Im Idealfall liest sich der Code wie ein Buch und da sollte die Reise hingehen und nicht welche Mikrooptimierung man nun unbedingt einbauen muss.
  13. Danke
    Whiz-zarD hat eine Reaktion von Mttkrb erhalten in Liste Filtern mit bestimmten Werten   
    Sorry, aber dann hat er keine Ahnung.
    Ein Code sollte im Idealfall wie ein Prosatext zu lesen sein. Wenn man dann anfängt Kommentare schreiben zu müssen, um den Code zu erklären, dann macht man was falsch. Zu mal, solche Kommentare irgendwann lügen, da der Code angepasst wird aber nicht der Kommentar.
    Ein Kommentar sollte, wenn überhaupt, das "Wieso" erklären und nicht das "Was". Das "Was" erzählt schon der Code.
    Und was ist an den Code nicht verständlich? Es ist eine simple Überprüfung, wann zwei Person-Objekte als gleich zu betrachten sind. Dafür wird ein Hashwert und eine Equals()-Methode benötigt. Der Hashwert ist im Grunde nichts weiter, als eine Zahl, die das Objekt repräsentiert. Es ist quasi eine Performanceoptimierung. Bei meinem Comparer gibt es aber noch einen Fehler. Die GetHashCode()-Methode berücksichtigt auch den Wert und daher funktioniert es nicht. Die XOR-Verknüpfung von Wert muss raus.
    public class PersonComparer : IEqualityComparer<Person> { public bool Equals(Person x, Person y) { if (x == null || y == null) return false; return x.Vorname == y.Vorname && x.Nachname == y.Nachname && x.Geburtsdatum == y.Geburtsdatum; } public int GetHashCode(Person obj) { return obj.Vorname.GetHashCode() ^ obj.Nachname.GetHashCode() ^ obj.Geburtsdatum.GetHashCode(); } } Intern verwendet Distinct() eine Art HashSet, die aber speziell für LINQ entwickelt wurde. Distinct() vergleicht die Werte über einen Comparer. Wenn man keinen Comparer verwendet, wird intern ein DefaultComparer verwendet. Wie dieser genau arbeitet, weiß ich allerdings auch nicht.
    Nicht desto Trotz, lässt sich nun ein eigenen Comparer implementieren. GetHashCode() ermittelt aus dem Objekt eine Zahl. Dazu gibt es etliche Artikel, wie die Methode zu implementieren ist. Die Empfehlung ist, von den jeweiligen Properties den Hashwert ermitteln (die Methode befindet sich am Objekt selber) und diese dann mit einem XOR zu verknüpfen. Damit bekommt man einen eindeutigen Hashwert. Das HashSet kann dann daraufhin sehr performant ermitteln, ob  beide Objekte gleich sind, da er er nur zwei Zahlen miteinander vergleichen muss. Zusätzlich gibt es noch die Equals()-Methode, die eine weitere Überprüfung darstellt, falls dann doch zwei Hashwerte gleich sind.
    Du könntest auch einfach bei GetHashCode() eine 0 zurückgeben. Dann ist der Hashwert immer 0 und bei jedem Objektvergleich würde die Equals()-Methode ziehen. Diese Variante kann aber ggf. zu einer schlechten Performance führen.
    public int GetHashCode(Person obj) { return 0; } Dann macht der Code genau das, was du willst und du brauchst kein Boilercode, wo du zig Listen, mehre LINQ-Ausdrücke erstellst.
  14. Like
    Whiz-zarD hat eine Reaktion von maestro impostor erhalten in Liste Filtern mit bestimmten Werten   
    Sorry, aber dann hat er keine Ahnung.
    Ein Code sollte im Idealfall wie ein Prosatext zu lesen sein. Wenn man dann anfängt Kommentare schreiben zu müssen, um den Code zu erklären, dann macht man was falsch. Zu mal, solche Kommentare irgendwann lügen, da der Code angepasst wird aber nicht der Kommentar.
    Ein Kommentar sollte, wenn überhaupt, das "Wieso" erklären und nicht das "Was". Das "Was" erzählt schon der Code.
    Und was ist an den Code nicht verständlich? Es ist eine simple Überprüfung, wann zwei Person-Objekte als gleich zu betrachten sind. Dafür wird ein Hashwert und eine Equals()-Methode benötigt. Der Hashwert ist im Grunde nichts weiter, als eine Zahl, die das Objekt repräsentiert. Es ist quasi eine Performanceoptimierung. Bei meinem Comparer gibt es aber noch einen Fehler. Die GetHashCode()-Methode berücksichtigt auch den Wert und daher funktioniert es nicht. Die XOR-Verknüpfung von Wert muss raus.
    public class PersonComparer : IEqualityComparer<Person> { public bool Equals(Person x, Person y) { if (x == null || y == null) return false; return x.Vorname == y.Vorname && x.Nachname == y.Nachname && x.Geburtsdatum == y.Geburtsdatum; } public int GetHashCode(Person obj) { return obj.Vorname.GetHashCode() ^ obj.Nachname.GetHashCode() ^ obj.Geburtsdatum.GetHashCode(); } } Intern verwendet Distinct() eine Art HashSet, die aber speziell für LINQ entwickelt wurde. Distinct() vergleicht die Werte über einen Comparer. Wenn man keinen Comparer verwendet, wird intern ein DefaultComparer verwendet. Wie dieser genau arbeitet, weiß ich allerdings auch nicht.
    Nicht desto Trotz, lässt sich nun ein eigenen Comparer implementieren. GetHashCode() ermittelt aus dem Objekt eine Zahl. Dazu gibt es etliche Artikel, wie die Methode zu implementieren ist. Die Empfehlung ist, von den jeweiligen Properties den Hashwert ermitteln (die Methode befindet sich am Objekt selber) und diese dann mit einem XOR zu verknüpfen. Damit bekommt man einen eindeutigen Hashwert. Das HashSet kann dann daraufhin sehr performant ermitteln, ob  beide Objekte gleich sind, da er er nur zwei Zahlen miteinander vergleichen muss. Zusätzlich gibt es noch die Equals()-Methode, die eine weitere Überprüfung darstellt, falls dann doch zwei Hashwerte gleich sind.
    Du könntest auch einfach bei GetHashCode() eine 0 zurückgeben. Dann ist der Hashwert immer 0 und bei jedem Objektvergleich würde die Equals()-Methode ziehen. Diese Variante kann aber ggf. zu einer schlechten Performance führen.
    public int GetHashCode(Person obj) { return 0; } Dann macht der Code genau das, was du willst und du brauchst kein Boilercode, wo du zig Listen, mehre LINQ-Ausdrücke erstellst.
  15. Like
    Whiz-zarD hat eine Reaktion von äymm erhalten in Liste Filtern mit bestimmten Werten   
    In Distinct kann man auch einen Comparer mitgeben:
    var listDis = liste.Distinct(new PersonComparer()).ToList(); public class PersonComparer : IEqualityComparer<Person> { public bool Equals(Person x, Person y) { if (x == null || y == null) return false; return x.Vorname == y.Vorname && x.Nachname == y.Nachname && x.Geburtsdatum == y.Geburtsdatum; } public int GetHashCode(Person obj) { return obj.Vorname.GetHashCode() ^ obj.Nachname.GetHashCode() ^ obj.Geburtsdatum.GetHashCode() ^ obj.Wert.GetHashCode(); } }  
  16. Like
    Whiz-zarD hat eine Reaktion von arlegermi erhalten in Liste Filtern mit bestimmten Werten   
    In Distinct kann man auch einen Comparer mitgeben:
    var listDis = liste.Distinct(new PersonComparer()).ToList(); public class PersonComparer : IEqualityComparer<Person> { public bool Equals(Person x, Person y) { if (x == null || y == null) return false; return x.Vorname == y.Vorname && x.Nachname == y.Nachname && x.Geburtsdatum == y.Geburtsdatum; } public int GetHashCode(Person obj) { return obj.Vorname.GetHashCode() ^ obj.Nachname.GetHashCode() ^ obj.Geburtsdatum.GetHashCode() ^ obj.Wert.GetHashCode(); } }  
  17. Like
    Whiz-zarD hat eine Reaktion von auxiliam erhalten in Ist der Beruf für mich? (FiAE)   
    Da ich einige Kontakte zu Malern und Schriftstellern habe, kann ich sagen, dass es zwischen Künstlern und Softwareentwicklern sehr viele Gemeinsamkeiten existieren. Daher würde ich schon den Entwickler auch als einen kreativen Beruf ansehen. Auch ein Maler/Schriftsteller arbeitet systematisch und methodisch. Ein Maler/Schriftsteller versucht eine Ästhetik in seine Werke zu bringen. Genauso, wie der Entwickler, der mit Clean Code, Design Patterns und Architektur seine Weise von Ästhetik zum Ausdruck bringt. 
    Schriftsteller schreiben auch nicht gleich drauf los, sondern recherchieren auch erst mal diverse Themen und erarbeiten sich ein Konzept.
    Man gilt auch nicht als unkreativ, nur weil man kein großes Projekt vor Augen hat. Projekte in der Softwareentwicklung entstehen auch oft nur aus einer Problemlösung heraus. Marc Zuckerberg ist auch nicht von der Toilettenschüssel gefallen und hatte plötzlich die Idee von Facebook, sondern es entstand einfach daraus, dass die Entwicklung des offizielle Online-Jahresbuch der Harvard Universität, aufgrund von Datenschutzbedenken, zu langsam lief und er entwickelte halt ein System, wo die Studenten selbst ihre Daten online stellen konnten. Somit umging er die Datenschutzbedenken, weil jeder selber für seine Daten verantwortlich ist.
    Ich denke mal, dass man gewisse Menschen als kreativ ansieht, liegt daran, dass man deren Methodik nicht kennt. Man kennt nur eine leere Leinwand und auf dieser Leinwand entsteht wie von Geisterhand dann eine Mona Lisa aber Leonardo da Vinci musste auch auch erst mal Methoden kennenlernen und entwickeln, um so etwas malen zu können.
    Halte ich persönlich nicht wirklich für Schlau. Egal bei welchem Beruf. Wer so handelt, bei dem ist eigentlich schon Burn-Out oder eine Depression vorprogrammiert. Ich rede da leider aus Erfahrung. Man sollte schon eine gewisse Affinität mitbringen. Gerade als Softwareentwickler ist das meiner Meinung nach ein Muss, weil man auch dann bereit ist, etwas neues zu lernen. Ich hab auch ein paar Kollegen, die meinten, mit ihrem Wissen aus dem Studium, was sie mal vor 20 Jahren abgeschlossen haben, genug Wissen über die Softwareentwicklung gelernt haben, sodass sie nichts mehr neues Wissen lernen müssen. Sie sind inzwischen aber schon sehr kleinlaut geworden, als wir zwei Werksstudenten eingestellt haben, die mit ihrem Wissen jetzt schon meilenweit voraus sind. 
    In meiner Assistentenausbildung zum Medieninformatiker habe ich viele solcher Menschen kennengelernt. Kaum einer hat die Ausbildung abgeschlossen. Die meisten haben schon nach einem Semester gemerkt, dass Softwareentwicklung doch für sie nichts ist. Das muss nicht auf dich zutreffen aber die Frage, die du dir stellen solltest ist, ob du wirklich Lust darauf hast, 8 Stunden täglich auf den Bildschirm zu glotzen und Code zu lesen? Die meiste Zeit des Tages verbringst du damit, Code zu lesen, ihn zu verstehen und zu begreifen, was der eigentlich tut. Das kann auf die Dauer sehr anstregend werden. 
    Diejenigen, die von Java abraten, haben selber keine Ahnung und plappern dummes Zeug nach, was sie mal im Internet gelesen haben und/oder sind Fanboys/girls anderer Sprachen. Java wird noch lange Zeit eine der am meistverbreitesten Sprachen bleiben. Android-App werden ja auch mit Java entwickelt. Wenn man die imperative Programmierung lernen möchte, ist es erstmal egal, welche Sprache man nimmt, weil sie alle die selben Grundkonzepte besitzen (z.B. Schleifen oder Verzweigungen). Mache dir also da erst mal keine Sorgen.
    Um noch mal auf deine eigentliche Intention einzugehen: Die Frage, ob der FIAE was für dich ist, kannst nur du beantworten. Wenn du meinst, dass dies was für dich sein kann, dann mach es. Probiere es aus. Es geht fast allen Menschen so, die kurz vor der Beendigung der Schule stehen und nicht wissen, was sie später machen wollen, wenn man nicht gerade ihr Hobby zum Beruf machen können und wollen. Du brauchst dir aber keine Sorgen um deine Kreativität machen. In Laufe der Jahre entwickelt man einen Programmierstil und auch ein Gedankenmuster, an denen man sich entlang hangelt und diese immer wieder Stück-für-Stück verbessert und korrigiert. Es ist halt ein ständiger Lernprozess.
  18. Haha
    Whiz-zarD hat eine Reaktion von Gooose erhalten in Ist der Beruf für mich? (FiAE)   
    Vom Taschenrechner würde ich sehr stark abraten. Das geht nur in die Hose.
  19. Haha
    Whiz-zarD hat eine Reaktion von KeeperOfCoffee erhalten in Ist der Beruf für mich? (FiAE)   
    Vom Taschenrechner würde ich sehr stark abraten. Das geht nur in die Hose.
  20. Danke
    Whiz-zarD hat eine Reaktion von Ryotsun erhalten in Ist der Beruf für mich? (FiAE)   
    Größere Dinge teilt man auch in kleinere Dingen auf, sodass sich überschaubar und machbar sind. Wenn jetzt jemand z.B. einen Messenger entwickeln möchte, fängt ja auch nicht sofort an, sondern überlegt im ersten Schritt, aus welchen Bestandteilen ein Messenger besteht. Also z.B. aus einem Login, einem Kontakte-Fenster und einem Chat-Fenster, dann überlegt man sich, wie der Login funktionieren kann, usw. usw.
    In einer Firma wird man ja auch dann nicht alleine an diesem Messenger sitzen, sondern in einem oder ggf. in mehreren Teams, die die Arbeiten aufteilen. Die Teams sind dann in ihren bestimmten Kompetenzen aufgeteilt. So übernimmt ein Team dann z.B. das Front-End (also, das was der Benutzer im Endeffekt sieht), ein anderes Team das Back-End (also der Server, der im Hintergrund läuft) und ein anderes Team verbindet Front-End mit dem Back-End. So muss man dann nicht alles bis ins Detail wissen.
    Ich selber arbeite in einer Firma, die Software für Banken entwickelt. Ich habe aber auch nicht so viel Wissen über das Finanzwesen und wenn wir eine neue Anforderung bekommen, haben wir ein Team, was sich nur mit den fachlichen Themen beschäftigt und uns Entwicklern helfen, die Anforderungen umzusetzen, indem für sie uns z.B. Gesetzestexte in eine verständliche Sprache übersetzen.
    Dann viel Glück.
  21. Like
    Whiz-zarD hat eine Reaktion von 201X20w5m3 erhalten in Ist der Beruf für mich? (FiAE)   
    Da ich einige Kontakte zu Malern und Schriftstellern habe, kann ich sagen, dass es zwischen Künstlern und Softwareentwicklern sehr viele Gemeinsamkeiten existieren. Daher würde ich schon den Entwickler auch als einen kreativen Beruf ansehen. Auch ein Maler/Schriftsteller arbeitet systematisch und methodisch. Ein Maler/Schriftsteller versucht eine Ästhetik in seine Werke zu bringen. Genauso, wie der Entwickler, der mit Clean Code, Design Patterns und Architektur seine Weise von Ästhetik zum Ausdruck bringt. 
    Schriftsteller schreiben auch nicht gleich drauf los, sondern recherchieren auch erst mal diverse Themen und erarbeiten sich ein Konzept.
    Man gilt auch nicht als unkreativ, nur weil man kein großes Projekt vor Augen hat. Projekte in der Softwareentwicklung entstehen auch oft nur aus einer Problemlösung heraus. Marc Zuckerberg ist auch nicht von der Toilettenschüssel gefallen und hatte plötzlich die Idee von Facebook, sondern es entstand einfach daraus, dass die Entwicklung des offizielle Online-Jahresbuch der Harvard Universität, aufgrund von Datenschutzbedenken, zu langsam lief und er entwickelte halt ein System, wo die Studenten selbst ihre Daten online stellen konnten. Somit umging er die Datenschutzbedenken, weil jeder selber für seine Daten verantwortlich ist.
    Ich denke mal, dass man gewisse Menschen als kreativ ansieht, liegt daran, dass man deren Methodik nicht kennt. Man kennt nur eine leere Leinwand und auf dieser Leinwand entsteht wie von Geisterhand dann eine Mona Lisa aber Leonardo da Vinci musste auch auch erst mal Methoden kennenlernen und entwickeln, um so etwas malen zu können.
    Halte ich persönlich nicht wirklich für Schlau. Egal bei welchem Beruf. Wer so handelt, bei dem ist eigentlich schon Burn-Out oder eine Depression vorprogrammiert. Ich rede da leider aus Erfahrung. Man sollte schon eine gewisse Affinität mitbringen. Gerade als Softwareentwickler ist das meiner Meinung nach ein Muss, weil man auch dann bereit ist, etwas neues zu lernen. Ich hab auch ein paar Kollegen, die meinten, mit ihrem Wissen aus dem Studium, was sie mal vor 20 Jahren abgeschlossen haben, genug Wissen über die Softwareentwicklung gelernt haben, sodass sie nichts mehr neues Wissen lernen müssen. Sie sind inzwischen aber schon sehr kleinlaut geworden, als wir zwei Werksstudenten eingestellt haben, die mit ihrem Wissen jetzt schon meilenweit voraus sind. 
    In meiner Assistentenausbildung zum Medieninformatiker habe ich viele solcher Menschen kennengelernt. Kaum einer hat die Ausbildung abgeschlossen. Die meisten haben schon nach einem Semester gemerkt, dass Softwareentwicklung doch für sie nichts ist. Das muss nicht auf dich zutreffen aber die Frage, die du dir stellen solltest ist, ob du wirklich Lust darauf hast, 8 Stunden täglich auf den Bildschirm zu glotzen und Code zu lesen? Die meiste Zeit des Tages verbringst du damit, Code zu lesen, ihn zu verstehen und zu begreifen, was der eigentlich tut. Das kann auf die Dauer sehr anstregend werden. 
    Diejenigen, die von Java abraten, haben selber keine Ahnung und plappern dummes Zeug nach, was sie mal im Internet gelesen haben und/oder sind Fanboys/girls anderer Sprachen. Java wird noch lange Zeit eine der am meistverbreitesten Sprachen bleiben. Android-App werden ja auch mit Java entwickelt. Wenn man die imperative Programmierung lernen möchte, ist es erstmal egal, welche Sprache man nimmt, weil sie alle die selben Grundkonzepte besitzen (z.B. Schleifen oder Verzweigungen). Mache dir also da erst mal keine Sorgen.
    Um noch mal auf deine eigentliche Intention einzugehen: Die Frage, ob der FIAE was für dich ist, kannst nur du beantworten. Wenn du meinst, dass dies was für dich sein kann, dann mach es. Probiere es aus. Es geht fast allen Menschen so, die kurz vor der Beendigung der Schule stehen und nicht wissen, was sie später machen wollen, wenn man nicht gerade ihr Hobby zum Beruf machen können und wollen. Du brauchst dir aber keine Sorgen um deine Kreativität machen. In Laufe der Jahre entwickelt man einen Programmierstil und auch ein Gedankenmuster, an denen man sich entlang hangelt und diese immer wieder Stück-für-Stück verbessert und korrigiert. Es ist halt ein ständiger Lernprozess.
  22. Like
    Whiz-zarD hat eine Reaktion von Sullidor erhalten in Probezeit Kündigungsszensario   
    Bei einer Ausbildung gilt das BBiG und das BBiG sagt, dass es keine Kündigungsfrist gibt.
  23. Danke
    Whiz-zarD hat eine Reaktion von RubberDog erhalten in Probezeit Kündigungsszensario   
    Das gilt auch für dich... 
    BBiG §22
    Die Probezeit dauert in einer Ausbildung maximal 4 Monate. 
  24. Danke
    Whiz-zarD hat eine Reaktion von RubberDog erhalten in Probezeit Kündigungsszensario   
    Bei einer Ausbildung gilt das BBiG und das BBiG sagt, dass es keine Kündigungsfrist gibt.
  25. Like
    Whiz-zarD hat eine Reaktion von mancharta erhalten in Bürostuhl   
    Kunstleder... Damit kannst du den Stuhl spätestens nach 3 Jahren wegschmeißen. Das gilt auch für den teuren DX Racer-schrott. 

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...