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 thereisnospace erhalten in C# kleines Spiel, bitte um Hilfe   
    Ich sehe das ähnlich, wie @Gottlike. Dein Kenntnisstand ist noch nicht so weit, um so ein Projekt anzugehen. Ich will nicht zu Nahe treten aber dir ist OOP offenbar immer noch nicht so wirklich klar. Das fängt schon, wie gesagt, mit der statischen Klasse für den Spieler an. Wieso soll sie statisch sein? Das macht überhaupt keinen Sinn. Statische Klassen machen nur in wenigen Situationen wirklich Sinn. In der Praxis werden sie aber oft dann verwendet, wenn der Entwickler gar nicht weiß, was er eigentlich tut. 
    Das nächste ist, dass dir gar nicht klar ist, wie man Programmlogik von der Oberfläche trennt. Die Main-Methode einer klassichen WinForms-Anwendung besteht lediglich nur aus drei Zeilen Code:
    static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } Was du noch in die Main()-Methode reinkloppen willst, erschließt sich mir erst mal nicht. Ein erfahrener Entwickler wird mit Sicherheit diese Methode noch erweitern, z.B. mit der Initialisierung eines IoC-Containers oder sonstigen Frameworks aber das sind Techniken, mit denen du mit deinem Wissensstand noch nichts anfangen kannst. Ich vermute auch mal, dass dir die ganzen Designpatterns nichts sagen.
    Wenn man dein Beitrag auch durchliest, machst du dir viel mehr Gedanken, um die Oberfläche, anstatt um die Architektur der Software, daher ist das Ziel noch viel zu hochgesteckt. Fange mit Konsolenanwendungen an, um überhaupt OOP zu verstehen und um ein Gefühl dafür zu bekommen. Eine Oberfläche ist eigentlich nur ein schmuckes Beiwerk für eine Software. 
    Ich persönlich würde vielleicht vorschlagen, eine API für Schach zu entwerfen. Ohne Oberfläche. Also überlegen, welche Datenstruktur ein Schachbrett und die Figuren haben könnten und dann noch Logiken, die ermitteln, welche Figur welchen Zug machen kann. Testen kann man das Ganze ja auch mit Unittests. Eine grafische Oberfläche muss ja nicht immer eine gute Note bedeuten aber keine Ahnung, ob das nicht schon zu schwer ist. Eine einfachere Form wäre Dame oder noch einfacher: Tic-Tac-Toe.
     
  2. Danke
    Whiz-zarD hat eine Reaktion von allesweg erhalten in Update 15.6.   
    Kann man irgendwo angeben, dass das Forum die Posts nach standardmäßig Datum sortieren soll und nicht nach Bewertung? Das macht mich immer ganz wahnsinnig.
  3. Like
    Whiz-zarD hat eine Reaktion von pr0gg3r erhalten in Datenbankverbindung über Internet   
    Ein Datenbank-Server sollte nie direkt von Außen ansprechbar sein. Wenn, dann über ein VPN oder über ein geeignetes Administrationstool, was auf dem Server liegt (z.B. phpMyAdmin) und vor fremden Zugriff abgesichert ist.
    Ob du eine Datenbank für ein Multiplayer-Spiel brauchst, liegt auch am Spiel selbst. z.B. Minecraft kommt auch ohne Datenbank aus. Datenbanken sind nicht immer das Allheilmittel. 
    Ich würde auch kleinere Brötchen backen, bevor ich mich da an ein Multiplayer-Spiel ranwagen würde. Fange erstmal klein an. z.B. Tic-Tac-Toe und arbeite dich an größere Dinge. Selbst die Implementierung von Schach kann schon sehr kompliziert werden. 
     
  4. Like
    Whiz-zarD hat eine Reaktion von neinal erhalten in Discord - für die Zocker unter uns   
    IRC ist das einzig wahre
  5. Like
    Whiz-zarD hat eine Reaktion von KeeperOfCoffee erhalten in Discord - für die Zocker unter uns   
    IRC ist das einzig wahre
  6. Like
    Whiz-zarD reagierte auf stefan.macke in Projektarbeit ungenügend!   
    Ich stelle mal eine wilde Behauptung auf, ohne das beweisen zu können: Die Doku wurde einfach anhand meiner LaTeX-Vorlage "aufgefüllt". Das erklärt auch die Punktlisten anstatt des Fließtextes (die sind nämlich so in der Vorlage drin, nur dass sie dort auch Stichpunkte darstellen sollen). Es wurden einfach alle Punkte, die "aus dem Internet" stammen, 1-zu-1 ohne Sinn und Verstand übernommen und noch nicht einmal die Formatierung verändert.
    Zusätzlich zu den genannten Kritikpunkten (keine Begründungen, keine Methodik erkennbar, keine Artefakte vorhanden, fehlerhafte Wirschaftlichkeit, kein wirklich lesbarer Text) kann ich gut nachvollziehen, warum diese Arbeit ungenügend ist. Sie ist weit von einer professionellen Dokumentation eines Abschlussprojektes entfernt.
  7. Like
    Whiz-zarD reagierte auf arlegermi in Projektarbeit ungenügend!   
    Du hast unter Punkt 2.1 noch etwas vergessen hinsichtlich Anonymisierung.
    Zum Inhalt: Ich kann da jetzt keinen einzelnen Punkt erkennen, der zu den 25 Punkten geführt hat, aber kann mir schon vorstellen, dass es in der Summe vertretbar ist.
    Das mit den kaufmännischen Aspekten halte ich persönlich nicht für so dramatisch. In manchen Projekten (und bei manchen IHKs) braucht's das einfach nicht. (Edit, weil ich's zuerst vergessen hatte: Das heißt natürlich nicht, dass deine Kostenrechnung auch nur ansatzweise den Anforderungen entspricht.)
    In Sachen Rechtschreibung, Interpunktion und Grammatik hakt's an einigen Stellen.
    Auch wenn ich verstehe, dass du dich bei einem maximalen Umfang von zehn Seiten kurz halten musstest, hättest du schon tiefer in's Detail gehen müssen an einigen Stellen. So liest es sich tatsächlich nur wie eine Auflistung von Arbeitsschritten.
    Dass das "fiktiv" da ein Fehler war, wurde ja bereits angesprochen.
    Ich halte auch die Aussage, dass es sich bei dem, was du da implementiert hast, um eine Zwei-Faktor-Authentifizierung handelt, für gewagt. Ein zweiter Faktor befindet sich standardmäßig nicht auf dem Gerät, das authentifiziert werden soll (mTAN, TAN-Liste, Token-Generator, ... - das sind alles Dinge, die sich außerhalb des Rechners befinden).
    Ich halte es insgesamt zudem für höchst fragwürdig, einen Auszubildenden ein Login-System entwickeln zu lassen, das hohe Sicherheit verspricht. Ohne dir zu nahe treten zu wollen, aber das ist einfach eine Sache, bei der man Ahnung haben und das Problem systematisch betrachten muss. Das ganze ist in meinen Augen eine Geschichte, die sich nicht angemessen in 70 Stunden als Azubi-Projekt umsetzen lässt. Da müsste man vllt. auch nochmal den Antrag sehen, um beurteilen zu können, ob das nicht von vornherein absehbar war.
  8. Like
    Whiz-zarD hat eine Reaktion von Albi erhalten in In der Ausbildung das eigene Auto für Fahrten zum Kunden nutzen?   
    Was mich irritiert, wieso wird der Azubi alleine zu einem Kunden geschickt?
    Das kann man vielleicht im dritten Lehrjahr machen, wenn der Azubi den Kunden kennt und weiß, was zu tun ist (und selbst dann finde ich das ein bisschen heikel) aber in der Anfangszeit wird man ja wohl zusammen mit einem Mitarbeiter zum Kunden fahren. Wieso muss der Azubi dann sein Fahrzeug dafür hinhalten? Wäre es versicherungstechnisch nicht sinnvoller ein Mietwagen zu organisieren? Gängige Autovermieter bringen sogar für eine Gebühr das Auto direkt vor die Haustür. Man spart hier also am völlig falschen Ende...
  9. Like
    Whiz-zarD hat eine Reaktion von tegberts erhalten in Berufsschule? Sinnlos!   
    Dein Text klingt aber nicht so wirklich danach, als sei alles super.
    Sorry aber das, was ich von dir in diesem Forum gesehen habe, war keine objektorientierte Programmierung. Nur weil man eine objektorientierte Sprache verwendet, heißt es noch lange nicht, dass man auch Objektorientierung anwendet und Struktogramme braucht man im Alltag auch gar nicht. Struktogramme sind auch nicht einfacher zu lesen, als Code. Von daher kann man es auch gleich weglassen.
    Nicht nur das. Auch die Ausbildung gehört für mich komplett überarbeitet.
    Das ist echt schon abenteuerlich, was ich hier so über die Abschlussarbeiten- und Prüfungen lese.
    Die Azubis lernen veraltete und überholte Methoden, nur um die Prüfung bestehen zu können. Vieles, was sie in der Berufsschule lernen, können sie auch gleich nach der Abschlussprüfung wieder vergessen, weil es entweder in der Praxis gar nicht mehr angewendet wird oder so selten, sodass man sowieso erst mal einen Blick auf Google oder Wikipedia werfen muss. Meiner Meinung nach, setzt man auch die Prioritäten komplett falsch. Anstatt den Azubis drei Jahre lang Pseudo-Code und UML-Diagramme einzutrichtern, sollte man - vor allem den Anwendungsentwicklern - mehr sauberen Code beibringen aber offenbar ist selbst das in der Abschlussprüfung zu viel verlangt. Die offiziellen Lösungen der Programmieraufgaben in der Abschlussarbeit ist so ein schlechtgeschriebener Code, dass man davon Pickel bekommt, wenn man nur ihn ansieht. Von gravierenden Fehlern ganz zu schweigen.
    Was das Abschlussprojekt angeht, bin ich auch kein Freund vom Pflichten- und Lastenheft, was aber offenbar vielfach von der IHK gefordert wird. Das sind auch Fragmente aus einer alten Zeit. Ich habe inzwischen schon viele Projekte gesehen, wo ein Pflichten- und Lastenheft geschrieben wurde (ich habe auch schon sowas das eine oder andere Mal geschrieben) und ständig sind solche Projekte in die Hose gegangen, weil sich die Anforderungen ändern können oder gewisse Dinge sowohl vom Kunden als auch vom Entwickler nicht vollständig durchleuchtet worden waren. Beliebt sind auch Fehlinterpretationen. Sowohl Kunde als auch Entwickler schreiben den selben Wortlaut und dennoch reden sie einander vorbei. Viel wichtiger ist es, mit den Kunden ständig im Kontakt zu bleiben, damit man schnell auf Änderungen reagieren kann. Auch sollte man den Kunden immer mit dem Status informieren und ihm auch den derzeitigen Zwischenstand ungeschönt präsentieren und ihn nicht vor vollendeten Tatsachen stellen, wie es mit dem Pflichten- und Lastenheft der Fall wäre. Wenn man feste Termine mit den Kunden arrangiert, dann braucht man auch kein Lasten- und Pflichtenheft. Änderungswünsche können dann formlos festgehalten und im nächsten Meeting präsentiert werden.
    Ob und wann sich eine Entwicklung amortisiert hat, ist auch gar nicht die Aufgabe eines Entwicklers. Der Entwickler soll nur analysieren, wie aufwendig eine Implementierung ist. Mehr nicht. Auch lässt sich das als Entwickler oft gar nicht so einfach herausfinden, wie es um die Amortisierung steht. Dies ist nur bei In-House-Lösungen möglich. Wenn man eine Software für einen externen Kunden einführt, muss der Kunde diese Analyse vornehmen, weil der Entwickler kein Einblick in die Interna des Kundens hat. Auch eine Ist-Analyse ist hier gar nicht möglich, wenn der Kunde davon nicht redet.
    Wer in einem echten SCRUM-Team arbeitet, wird von solchen Analyse-Kram sogar ferngehalten. Nicht weil man den Entwickler dumm halten möchte, sondern weil jeder seine Kernkompetenzen besitzt und die Kernkompetenz eines Entwicklers ist die Softwareentwicklung und nicht das Ausloten der Wirtschaftlichkeit. Als Beispiel nehme ich mal diese Abschlussarbeit, die mit 100% bewertet wurde. Die Abschnitte "Projektkosten" und "Amortisationsdauer" lesen sich wie ein Standardtext, den man in jeder Abschlussarbeit reinknallen könnte. Diese Texte haben überhaupt keine Aussagekraft. Viel wichtiger wären doch technische Aspekte. In einem Nebensatz wird erwähnt, dass die Daten historisiert abgelegt werden sollen. Da werde ich als Entwickler doch sehr hellhörig, weil die Historisierung gar nicht trivial ist. Schon gar nicht in einer relationalen Datenbank. Da hätte ich schon ein Kapitel erwartet, dass sich mit diesem Thema auseinandersetzt. Was passiert z.B. wenn eine Spalte in einer Tabelle hinzukommt? Ich will ja nicht, dass die Azubis z.B. die Data Vault-Modellierung bis ins Detail verstehen und auch anwenden können aber wenn man schon so ein Thema anreißt, dann erwarte ich auch, dass man sich damit beschäftigt. Sei es auch nur, dass man die Risiken aufzählt. 
    Meiner Meinung nach müsste das gesamte System reformiert werden. Wer nach drei Jahren immer noch nicht verstanden hat, dass es keine if-Schleifen gibt, wird das nie verstehen. Ich finde, eine Berufsschule sollte dafür sein, um das in Firmen angelernte Wissen zu vertiefen und zu erweitern. z.B. mal ein Blick auf Datenstrukturen werfen, um ein Gespür zu bekommen, welche wann geeigneter ist. Der Unterschied zwischen einer verketteten Liste und einer Arrayliste ist wohl offenbar nur sehr wenigen bekannt oder dass in Java und C# Arrays als assoziative Arrays missbraucht werden, indem man den gesuchten Index als Konstante ablegt. Anstatt sinnlose Amortisierungsrechnungen aufzustellen, sollte man vielleicht mit den Azubis DDD üben (z.B. die Schule als Kunde) oder mit Hilfe von Coding Dojos sauberen Code oder TDD in Verbindung mit Continuous Testing üben. Auch wäre ein Blick auf funktionale Programmiersprachen nicht verkehrt, weil diese Sprachen immer mehr in kommen sind. Nicht weil sie trendige Hipster verwenden, sondern weil einfach gewisse Probleme, die man aus der Objektorientierung kennt, dort nicht existieren und daher für viele Aufgaben besser geeignet sind, als objektorientierte Sprachen.
    TL;DR:
    Gerade die IT-Welt ist so extrem wandelbar. Da ist es einfach nicht klug, einen Ausbildungsrahmenplan bis in alle Ewigkeit in Stein zumeißeln. Auch die Berufsschule und die IHK müssen hier wandelbar sein und Trends erkennen. Kein Azubi hat etwas davon, drei Jahre irgendeinen Quatsch zu lernen, was Prüfungsrelevant ist aber später keine Anwendung mehr findet. Eine Berufsschule sollte dafür da sein, ein Azubi auf den Berufsalltag vorzubereiten nicht nur für die Prüfung. Sie ist dafür da, Defizite, die in den Ausbildungsstätten vorkommen können, aufzuarbeiten und den Azubis ein Blick über den Tellerrand zu ermöglichen.
  10. Like
    Whiz-zarD hat eine Reaktion von HJST1979 erhalten in MVC und Datenbank verbindung   
    Die Models sollten dumme POJOs sein. Es gehört keine Datenbeschaffungslogik in diese Klassen, denn ansonsten hast du eine Abhängigkeit zwischen den Models und der Datenbank. Die Datenbeschaffungslogik liegt dann in den Repositories, die du mit Interfaces kapselst. Dann ist es tatsächlich egal, woher die Daten kommen. Sie können dann aus einer Datenbank,  aus einer XML-Datei oder sonst wo kommen.
    Frage 2 ist ein bisschen komplizierter. Es sollte nicht einfach eine Verbindung aufgebaut werden, die die ganze Zeit aktiv ist, solange die Anwendung läuft, sondern sie sollte so lange aktiv sein, wie sie auch benötigt wird. Es kann schon passieren, dass eine Anwendung gleich mehrere Verbindungen aufbaut. Dies ist z.B. in der Parallelisierung erforderlich, damit mehrere Zugriffe parallel verarbeitet werden können. Wenn z.B. eine Berechnung vier Threads aufbaut, dann werden auch vier Verbindungen aufgebaut und wenn die Threads mit ihrer Arbeit durch sind, dann werden die Verbindungen wieder geschlossen.
  11. Like
    Whiz-zarD hat eine Reaktion von Graustein erhalten in Immer erreichbar?   
    Nein, das Vorgehen kann man nicht nachvollziehen, denn eine Firma sollte einen Wegfall einer Arbeitskraft verkraften können. Stell dir mal vor, du liegst im Krankenhaus und die Systeme brechen zusammen. Meldet der Chef dann Insolvenz an, weil du nicht da bist? Das ist also ein hausgemachtes, personelles Problem, weil andere Mitarbeiter nicht geschult werden. Stattdessen wird der billige Weg gefahren und du wirst verheizt. 
  12. Like
    Whiz-zarD hat eine Reaktion von Albi erhalten in Immer erreichbar?   
    Nein, das Vorgehen kann man nicht nachvollziehen, denn eine Firma sollte einen Wegfall einer Arbeitskraft verkraften können. Stell dir mal vor, du liegst im Krankenhaus und die Systeme brechen zusammen. Meldet der Chef dann Insolvenz an, weil du nicht da bist? Das ist also ein hausgemachtes, personelles Problem, weil andere Mitarbeiter nicht geschult werden. Stattdessen wird der billige Weg gefahren und du wirst verheizt. 
  13. Like
    Whiz-zarD hat eine Reaktion von Albi erhalten in Immer erreichbar?   
    Ja klar, wieso sollte sich da auch was ändern? Du bist ja eh ständig erreichbar. Da muss man auch mal den A***** in der Hose haben und mal nein sagen. Freizeit ist nun mal Freizeit und keine pauschale Rufbereitschaft, nur weil der Chef mal schlecht geschissen hat. Wenn es dem Chef nicht gefällt, sollte man sich dann überlegen, die Firma zu wechseln, denn offenbar hat der Chef dann für seine Angestellten nichts übrig. Meine Chefs haben von mir noch nie irgendwelche privaten Kontaktdaten bekommen und werden es auch nie. Wenn, dann nur ein Firmen-Handy, welches ich nur Beachtung schenken würde, wenn es mit den Überstunden geklärt ist.
  14. Like
    Whiz-zarD hat eine Reaktion von JimTheLion erhalten in Immer erreichbar?   
    Ja klar, wieso sollte sich da auch was ändern? Du bist ja eh ständig erreichbar. Da muss man auch mal den A***** in der Hose haben und mal nein sagen. Freizeit ist nun mal Freizeit und keine pauschale Rufbereitschaft, nur weil der Chef mal schlecht geschissen hat. Wenn es dem Chef nicht gefällt, sollte man sich dann überlegen, die Firma zu wechseln, denn offenbar hat der Chef dann für seine Angestellten nichts übrig. Meine Chefs haben von mir noch nie irgendwelche privaten Kontaktdaten bekommen und werden es auch nie. Wenn, dann nur ein Firmen-Handy, welches ich nur Beachtung schenken würde, wenn es mit den Überstunden geklärt ist.
  15. Like
    Whiz-zarD hat eine Reaktion von HJST1979 erhalten in Casten zweier Objekte   
    B ist nicht abgelitten von A, daher kann B nicht zu A gecastet werden. Schon mal das eh keinen Sinn machen würde, weil B dann schon die Eigenschaften von A besitzen würde.
    Darüber hinaus macht deine convert()-Methode überhaupt keinen Sinn und ist auch syntaktisch falsch.
  16. Like
    Whiz-zarD hat eine Reaktion von Rabber erhalten in C# Sicherheits-Probleme (Passwörter in Datenbank)   
    Naja, klingt auch nicht so wirklich sicher:
    Irgendwo muss der Kram ja liegen, damit die Runtime den Code ausführen kann. Also liegen die DLLs ja irgendwo unverschlüsselt. Sei es auf der Festplatte oder im Speicher. Im Text schreiben sie ja selber, dass der Encryptor nichts nützt, wenn der Angreifer das geschützte Programm auf seinem eigenen Rechner ausführen kann:
    Fazit:
    Das Tool ist Nutzlos und Geldverschwendung. Wer eine Ausführungsdatei ausliefert hat eh keine Kontrolle drüber, wo diese ausgeführt wird und wenn sie irgendwo auf einem Server läuft, sollte der Server schon so abgesichert sein, sodass der Angreifer kein Dump vom Arbeitsspeicher ziehen kann.
    Es verhindert also gar nichts. Es erschwert es nur ein wenig. Für Leute mit krimineller Neigung sollte dies aber auch kein Problem darstellen.
  17. Like
    Whiz-zarD hat eine Reaktion von mintmaroo erhalten in Ein eigenes Projekt | PHP   
    Ich weiß auch nicht, was für ein Spiel das werden soll aber ich bezweifel, dass du nur mit JavaScript und PHP ein Browsergame hinbekommst. Im Hintergrund wird ja auch diverse Logik durchgeführt und die sollen ja nicht erst laufen, wenn der Spieler die Webseite aktualisiert und somit ein PHP-Skript anstößt, sondern die sollen ja von selbst angestoßen werden. 
    Beispiel: Du entwickelst ein Aufbau-Strategie-Spiel ala Travian und der Spieler macht ein Upgrade auf eine Holzfällerhütte und die Hütte produziert dann 10 anstatt 5 Tonnen Holz. Das Upgrade dauert eine Stunde. Dann muss auf dem Server ein Programm laufen, was dann nach einer Stunde den Status in der Datenbank ändert, damit die Menge des produzierten Holzes auch korrekt berechnet werden kann. Das PHP-Skript kann jetzt schlecht eine Stunde warten, weil du damit den Webserver überlasten würdest, wenn da plötzlich Tausend PHP-Skripte in der Warteschleife liegen. Schon mal die Standardkonfiguration von PHP ist, dass ein Skript maximal nur ein paar Minuten laufen darf, bevor es abbricht.
  18. Like
    Whiz-zarD hat eine Reaktion von HappyKerky erhalten in Den Weg zurück finden   
    Hmm ... Ich weiß nicht, wie deine C#-Kenntnisse sind aber wir suchen C#-Entwickler.
    Wenn du nicht vor manuellen Softwaretests zurückschreckst, suchen wir auch noch Leute fürs Testen. In der Testabteilung wurde schon mal einer eingestellt, der keinerlei Ausbildung abgeschlossen und die Schule abgebrochen hatte, um ihn eine Chance zu geben und wenn schon eine Fachinformatikerin-Ausbildung abgeschlossen hast du noch C# kannst, wäre es sogar vom Vorteil.
    Wir sind eine Firma in Hamburg, die in der Bankenbranche tätig ist. Bei uns arbeiten auch einige, die aus Moorrege oder Tornesch kommen und der Anfahrtsweg dauert mit der Bahn auch nur etwas mehr als eine halbe Stunde. Also sehr optimal. Wenn du willst, kann ich dir gerne die Stellenangebote per PN zuschicken. Eine Bewerbung wäre es wohl alle mal wert.
  19. Like
    Whiz-zarD hat eine Reaktion von Albi erhalten in FISI oder FIAE?   
    So einer wie dich, wird keiner nehmen wollen. Sorry aber das ist so. Du blickst nicht über den Tellerrand und bist auch recht naiv. Das IT-Handbuch vom Rheinwerk Verlag kratzt lediglich nur an der Oberfläche und bietet und beinhaltet bei weitem nicht alles, was man als Entwickler oder Systemintegrator benötigt. Es bietet also nur ein Rundumblick, was es da so gibt. Da habe ich einige Bücher zu einem bestimmten Thema hier stehen, die schon so dick sind, wie das IT-Handbuch selbst.
  20. Like
    Whiz-zarD hat eine Reaktion von Albi erhalten in Als FISI auch mal Programmieren dabei?   
    Sorry, dann ist die IT-Branche nichts für dich, denn die IT ist kreativ ...
    Wenn du einen stumpfsinnigen Job haben willst, wo du beim Pförtner das Gehirn abgeben kannst, dann bewirb dich bei VW fürs Arbeiten am Fließband.
  21. Like
    Whiz-zarD reagierte auf Chief Wiggum in Als FISI auch mal Programmieren dabei?   
    Wenn du so erfahren bist und dich in allen Sachen so perfekt auskennst: warum stellst du dann überhaupt Fragen in diesem Forum?
    Thread ist aufgrund chronischer Beratungsresistenz geschlossen.
  22. Like
    Whiz-zarD hat eine Reaktion von stefan.macke erhalten in Regex: Tags in Tags   
    Im Grunde ist es doch ein vollständiges XML-Dokument. Du bekommst halt nicht nur eins, sondern mehrere. Der Wurzelknoten ist halt <frame>. Nun kommt es halt auf den Kontext drauf an, was du mit den Daten vorhast. Wenn die XML-Struktur vorgegeben ist, könnte man dann den XmlSerializer verwenden und aus dem XML-Dokument ein POCO-Objekt erzeugen.
    [XmlRoot("frame")] public class Frame {     [XmlElement("id")]     public int Id { get; set; } } string xml = "<frame><id>1</id></frame>"; XmlSerializer serializer = new XmlSerializer(typeof(Frame)); Frame frame = (Frame)serializer.Deserialize(new StringReader(xml)); Um einfach über alle Kind-Elemente im Wurzelknoten zu iterieren kann man auch ein XDocument verwenden:
    string xml = "<frame><id>1</id></frame>"; XDocument xDoc = XDocument.Parse(xml); foreach(XElement element in xDoc.Root.Descendants()) {     Console.WriteLine($"{element.Name} -> {element.Value}"); } Ein XDocument lässt sich auch mittels Linq Filtern. 
    Eine weitere Möglichkeit, um Abfragen auf XML-Dokumenten abzusetzen wäre XPath und der XPathNavigator:
    string text = "<frame><id>1</id></frame>";            XPathDocument docNav = new XPathDocument(new StringReader(text)); XPathNavigator nav = docNav.CreateNavigator(); XPathNodeIterator nodes = nav.Select("//frame/*"); while (nodes.MoveNext()) {     Console.WriteLine($"{nodes.Current.Name} -> {nodes.Current.Value}"); } XPath ist eine vom W3C entwickelte Abfragesprache für XML-Dokumente. Eine Dokumentation findest du auch im Wikipedia-Artikel.
    Viele Wege führen nach Rom aber ich halte die Lösung mit regulären Ausdrücken eine der schlechtesten. Das ist sehr fehleranfällig, denn was passiert, wenn dazwischen irgendwo mal ein Leerzeichen oder ein Zeilenumbruch ist? Damit muss dein Ausdruck auch klar kommen können, denn das ist ja kein Fehler. Auch sind reguläre Ausdrücke schlecht lesbar. Ich denke mal, du selbst wirst den regulären Ausdruck binnen kürzester Zeit nicht mehr verstehen und muss erst mal wieder nachschauen, was der bedeutet. XML-Dokumente einlesen ist ein gelöstestes Problem und warum sollte man sich wieder selbst eine Lösung ausdenken? Selbst das .Net-Framework bietet hier sogar mehrere Lösungen an. Das Framework bietet mit der XmlDocument-Klasse sogar noch eine vierte Variante.
  23. Like
    Whiz-zarD hat eine Reaktion von pr0gg3r erhalten in Regex: Tags in Tags   
    Im Grunde ist es doch ein vollständiges XML-Dokument. Du bekommst halt nicht nur eins, sondern mehrere. Der Wurzelknoten ist halt <frame>. Nun kommt es halt auf den Kontext drauf an, was du mit den Daten vorhast. Wenn die XML-Struktur vorgegeben ist, könnte man dann den XmlSerializer verwenden und aus dem XML-Dokument ein POCO-Objekt erzeugen.
    [XmlRoot("frame")] public class Frame {     [XmlElement("id")]     public int Id { get; set; } } string xml = "<frame><id>1</id></frame>"; XmlSerializer serializer = new XmlSerializer(typeof(Frame)); Frame frame = (Frame)serializer.Deserialize(new StringReader(xml)); Um einfach über alle Kind-Elemente im Wurzelknoten zu iterieren kann man auch ein XDocument verwenden:
    string xml = "<frame><id>1</id></frame>"; XDocument xDoc = XDocument.Parse(xml); foreach(XElement element in xDoc.Root.Descendants()) {     Console.WriteLine($"{element.Name} -> {element.Value}"); } Ein XDocument lässt sich auch mittels Linq Filtern. 
    Eine weitere Möglichkeit, um Abfragen auf XML-Dokumenten abzusetzen wäre XPath und der XPathNavigator:
    string text = "<frame><id>1</id></frame>";            XPathDocument docNav = new XPathDocument(new StringReader(text)); XPathNavigator nav = docNav.CreateNavigator(); XPathNodeIterator nodes = nav.Select("//frame/*"); while (nodes.MoveNext()) {     Console.WriteLine($"{nodes.Current.Name} -> {nodes.Current.Value}"); } XPath ist eine vom W3C entwickelte Abfragesprache für XML-Dokumente. Eine Dokumentation findest du auch im Wikipedia-Artikel.
    Viele Wege führen nach Rom aber ich halte die Lösung mit regulären Ausdrücken eine der schlechtesten. Das ist sehr fehleranfällig, denn was passiert, wenn dazwischen irgendwo mal ein Leerzeichen oder ein Zeilenumbruch ist? Damit muss dein Ausdruck auch klar kommen können, denn das ist ja kein Fehler. Auch sind reguläre Ausdrücke schlecht lesbar. Ich denke mal, du selbst wirst den regulären Ausdruck binnen kürzester Zeit nicht mehr verstehen und muss erst mal wieder nachschauen, was der bedeutet. XML-Dokumente einlesen ist ein gelöstestes Problem und warum sollte man sich wieder selbst eine Lösung ausdenken? Selbst das .Net-Framework bietet hier sogar mehrere Lösungen an. Das Framework bietet mit der XmlDocument-Klasse sogar noch eine vierte Variante.
  24. Like
    Whiz-zarD hat eine Reaktion von rosek erhalten in Ausbildung zum Ausbilder   
    Es gibt Bildungszentren, die bieten auch einen zwei wöchigen Vollzeit-Kurs an. Dann braucht man auch nicht die ganzen 4 Monate da rumeiern und man hat es schnell rum. Das Problem ist nur, dass man in der Regel 6 Wochen vorher bei der IHK zur Prüfung anmelden muss. Die 1.000 € finde ich auch ein bisschen viel. Ab August werde ich auch meinen Ausbilderschein machen. In Raum Hamburg kostet so ein Kurs ca. 520 € plus 160 € Gebühren für die Prüfung. Also in Summe 680 €.
    Bei der Prüfung gibt es einen schriftlichen und mündlichen Teil. Im schriftlichen Teil geht es um die Theorie. Also um die Gesetze und welche Pflichten und welche Rechte ein Azubi hat. im mündlichen Teil geht es um die soziale Kompetenz. Also ob du in der Lage gibt, Themengebiete sachlich und verständlich einem Azubi beizubringen. Dafür wird entweder eine Unterweisungsprobe oder eine Präsentation durchgeführt.
    Ich würde aber mal in deiner Firma nachfragen, ob du vielleicht einen Zuschuss bekommst oder ob sie vielleicht die Kosten gänzlich übernehmen.
  25. Like
    Whiz-zarD hat eine Reaktion von JimTheLion erhalten in Regex: Tags in Tags   
    Wieso willst du überhaupt ein XML-Dokument mit Regulären Ausdrücken parsen?

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