Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2083
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    51

Alle Inhalte von Whiz-zarD

  1. Naja, Expression Web ist nun nicht gerade aktuell und die Entwicklung wurde auch schon vor 4 Jahren eingestellt. Von daher würde ich da auch die Finger von lassen. Eine Bewerbung würde ich auch nie als eine Webseite darstellen. Unbekannte URLs werden von Firmen nicht angeklickt und die Bewerbung wird sich erst gar nicht angeschaut. Wenn du aber ein paar Projekte hast, kannst du sie ja auch bei Github hochladen und im Lebenslauf ein Link zu deinem Gihub-Account setzen. Das wird in Bewerbungen schon eher anerkannt, da Github allgemein bekannt ist.
  2. Wofür brauchst du XAMPP, wenn du nur einen MySQL Server brauchst? Ich würde auch MariaDB nehmen anstatt MySQL. Davon abgesehen, dass ich den Quellcode doch recht gruselig finde, verstehe ich jetzt nicht, wo dein Problem liegt. Gut, ich kenne mich auch nicht mit JSF aus, aber du wirst ja wohl in der Lage sein, den Code zu debuggen und dann kannst du ja den Code Schritt-für-Schritt durchgehen und schauen, wo was schiefläuft.
  3. Whiz-zarD

    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.
  4. Joa, man sollte da nicht zu sehr verkrampft an die Sache rangehen. Was bringt es, wenn man die perfekte Firma findet aber dort keinen Ausbildungsplatz bekommt? Man sollte sich also erst mal bewerben. Außerdem darf man heutzutage sich auch nicht auf einziges Thema versteifen. Unix/Linux und C-Programmierung ist zwar schön und gut aber in der Wirtschaft werden überwiegend andere Leute gesucht. Leute, die mehr Sprachen, wie z.B. Java, C# oder JavaScript/TypeScript beherrschen und auch Techniken wie z.B. Microservices und Message Queues kennen. Inzwischen kommen auch immer mehr funktionale Sprachen in den Vordergrund. Nicht umsonst bekommen C# und Java immer mehr Features aus der funktionalen Programmierung und ganz ehrlich: Ich würde C# und Java immer vor C/C++ bevorzugen. C/C++ haben einfach zu viele Tücken, auf die man achten muss. Viele Sicherheitslücken in Geräten beruhen nämlich darauf, dass man Dinge nicht beachtet hat, wie z.B. die Sicherheitslücke in der Firmware der WLAN-Chips von Broadcom, wo man einfach versäumt hat, einen Speicherüberlauf zu überprüfen. Also einfach mal Bewerbungen rausschicken und schauen, wohin die Reise geht.
  5. 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.
  6. Whiz-zarD

    Regex: Tags in Tags

    Wie sehen denn die Fragmente aus?
  7. Whiz-zarD

    Regex: Tags in Tags

    Schön, dass es in Perl klappt ... Das Problem ist nicht der reguläre Ausdruck. Er hat einfach die falsche Methode verwendet.
  8. Whiz-zarD

    Regex: Tags in Tags

    Meine Frage, wieso du überhaupt das Ganze mit regulären Ausdrücken versuchst, hast du auch nicht beantwortet. Das .Net-Framework bietet dir schon möglichkeiten, ein XML-Dokument zu parsen. Wozu das Rad neu erfinden? Edit: Dein Problem ist, dass du die Match()-Methode aufrufst. Das gibt dir aber nur ein Ergebnis zurück. Du musst die Matches()-Methode aufrufen.
  9. Whiz-zarD

    Regex: Tags in Tags

    Wieso willst du überhaupt ein XML-Dokument mit Regulären Ausdrücken parsen?
  10. Linux-UNIX-Programmierung bzw. Programmierung mit C kommt eigentlich nur noch recht selten vor und zwar dann, wenn man Systemnah (z.B. bei embedded Systemen oder Programmierung von Treibern) programmiert. Wenn man Anwendungen schreiben will, die auch auf mehreren Plattformen laufen soll, werden heutzutage Web-Anwendungen entwickelt. Die Sprachen, die dann hier verwendet werden, haben eine höhere Abstraktion und der Entwickler kann sich mehr um seine Kernarbeit kümmern und muss nicht soviel "Rauschen" in seiner Anwendung implementieren (z.B. das Reservieren und Freigeben von Speicherplatz), weil die unteren Abstraktionsschichten einem schon vieles abnehmen.
  11. Nein, eben nicht, weil es hier nichts mehr gibt. Die Marseille-Kaserne in Appen (Unteroffizierschule der Luftwaffe) wurde verkleinert und die Eggerstedt-Kaserne in Pinneberg wurde geschlossen. Ebenso wie die Freiherr-von-Fritsch-Kaserne in Itzehoe. Ansonsten ist im Umkreis von über 50 km hier nichts mehr. Die nächste wäre in Boostedt (in der Nähe von Neu Münster) aber das ist nur ein Logistikzentrum. Für die Grundausbildung musste damals meine Cousine nach Bayern runter. Sie wohnt in Kiel ...
  12. Du müsstest eine kleine Anwendung schreiben, die einen sog. WatchService Implementiert: https://docs.oracle.com/javase/tutorial/essential/io/notification.html Ein WatchService löst ein Ereignis aus, wenn sich irgendwas im Ordner ändert. Dieses Ereignis hat als Information den Dateinamen. Die Anwendung öffnet die Datei und zeigt das Bild an. Für die Pfeiltasten ermittelst du einfach alle Dateien im Ordner und wanderst du der Liste einfach hin- und her. Wenn du Windows verwendest, würde ich aber C# verwenden, da man mit WinForms oder WPF leichter grafische Oberflächen basteln kann als mit Java. Unter C# verwendest du dann den FileSystemWatcher: https://msdn.microsoft.com/de-de/library/system.io.filesystemwatcher.created(v=vs.110).aspx
  13. 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...
  14. 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.
  15. Dann musst du aber erst mal eine Firma finden, die genau dein spezielles Wissen benötigt. Heutzutage wird mehr ein breites Wissen benötigt und da kann man nicht sagen, dass Microsoft blöd ist und deswegen 90% aller IT-Infrastrukturen ausblendet. Schon mal gerade in der Softwareentwicklung Microsoft mit vollen Dampf nach vorne prescht. C# wurde noch vor 10 Jahren müde belächelt. Heute ist es eine der meistverbreitesten Sprachen und da sie jetzt .Net Core Open-Source gestellt haben und auch unter Linux und macOS läuft, kann man plötzlich plattformübergreifende Anwendungen schreiben. Auch was die Cloud angeht, ist Microsoft sehr weit vorne. Mit ihren Azure Functions zeigen sie sehr gut, wohin die Reise gehen wird, denn plötzlich benötigt man nicht mal mehr eine Softwarearchitektur oder eine Datenbank, denn das übernimmt Azure. Man implementiert also nur noch seine Funktionalität. Die benötigten Daten bekommt man in seine Funktion schon reingereicht.
  16. 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.
  17. Lass mich raten: Blinder Hass gepaart mit Ahnungslosigkeit... Gerade C# ist eine der schönsten objektorientierte Sprachen, die man derzeit in der Wirtschaft findet. Java hinkt da meilenweit hinterher. Wie man PHP vorziehen kann, ist mir auch ein Rätsel. Da man immer mehr zu single-page-applikationen geht, wird die Verbreitung von PHP auch immer weniger. C++ wirst du in der Wirtschaft auch immer weniger sehen, da man die Sprache fast ausschließlich nur noch für hardwarenahe Entwicklung verwendet.
  18. Wie man ein Link in HTML setzt, findest du nicht selbst heraus? Eine Quelle, wo du es finden kannst: https://www.w3schools.com
  19. Zu 1) Klingt danach, als gäbe es ein Drop-Down-Menü, in der die Nutzer aufgelistet werden. Zu 2) Die Datenbank soll selber erstellt werden. Siehe den anderen Thread vom TE: Zu 3) Das Wort "Verlinkung" verwendet nur der TE. In der Aufgabenstellung steht, dass es Links geben soll, die zu einer weiteren Webseite führt. Zu 4) Da fehlt wohl noch ein ` am Ende der Query. Ich muss aber auch sagen, dass so eine Aufgabe für jemanden, der eine Ausbildung anfangen möchte, einfach zu viel ist. So etwas stellt man vielleicht Junior Entwickler, um deren Wissen zu überprüfen aber keinen potenziellen Anwärter für eine Ausbildung. Entweder hat der Betrieb kein Plan oder die suchen wirklich eine billige Arbeitskraft.
  20. An welches Gerät willst du den stick überhaupt anstecken?
  21. Eher, dass auf Teufelkommraus unbedingt alles eine grafische Oberfläche haben muss und in der sich alles abspielt und den Azubis OOP gar nicht beibringt.
  22. Hier mal ein Zitat aus Wikipedia (https://de.wikipedia.org/wiki/Aggregation_(Informatik)): Bei einer Aggregation können die Objekte auch ohne die Aggregation leben. Dies wäre z.B. beim "Dependency Injection" der Fall, wenn wir die Abhängigkeiten in eine Klasse reinreichen: public class Ehe { Person Mann; Person Frau; public Ehe(Person mann, Person frau) { this.Mann = mann; this.Frau = frau; } } Es müssen also zuerst die Personen erzeugt werden, bevor wir die Ehe erzeugen können. Die Personen können also ohne die Ehe leben. Bei einer Komposition hingegen könnte ein Objekt nicht alleine leben, was ein anderes Objekt erzeugt hat. Es ist dann also so, dass in einem Objekt (z.B. Haus) ein weiteres Objekt (z.B. Stockwerk) erzeugt wird und wenn das Haus-Objekt löscht wird, werden auch die Stockwerk-Objekte gelöscht. Beispiel public class Haus { private Stockwerk erdgeschoss; public Haus() { this.erdgeschoss = new Stockwerk(); } }
  23. Ist zwar schön und gut und trotzdem wird keine Firma jemanden einstellen, der nur Erfahrung mit RPG hat, wenn sie einen Java-Entwickler suchen, weil dieser erst mal in Java geschult werden muss. Kannst ja mal @MarcoDrost fragen, wie viele Java-Entwickler er an die Firmen vermittelt hat. Mit Sicherheit werden das nur sehr wenige gewesen sein, wenn überhaupt. Das Werkzeug sollte man also schon beherrschen, wenn man sich anderweitig bewirbt.
  24. Noch mal: Wozu braucht man Mocks? Mocks sind nichts weiter als ein Hilfskonstrukt und ein eher Zeichen, dass mit der Softwarearchitektur irgendwas nicht stimmt. Wenn man Mocks benötigt, hat man Abhängigkeiten. Sei es auch nur Abhängigkeiten zu Interfaces. Die Abhängigkeit ist aber da. Ohne ein Objekt, was ein bestimmtes Interface implementiert, kann ein anderes Objekt nicht leben. Die Frage ich aber, sind diese Abhängigkeiten überhaupt notwendig? Die reale Welt zeigt es doch deutlich: Nein. Als Beispiel hast doch der Blinker genannt. Wozu brauche ich dann nun ein Pseudo-Auto mit einem Pseudo-Motor, wenn ich nur den Blinker testen will? Stell dir eine Werkbank vor und auf dieser Werkbank liegt ein Blinker. Aus welchen Bauteilen besteht ein Blinker? Aus einem Blink-Relais, aus Kabeln und einem Leuchtmittel. Ich kann den Blinker also in seine Einzelteile zerlegen und einzeln testen. Ans Blink-Relais lege ich eine Spannung an und prüfe, ob das Relais auf und zu geht. Dem Leuchtmittel lege ich auch eine Spannung an und prüfe, ob sie leuchtet. Dann verbinde ich beide Teile mit einem Kabel (unsere Komposition) und lege wieder eine Spannung ans Relais an und siehe: Das Leuchtmittel blinkt. Wunderbar! Blinker getestet. Nächstes Bauteil... Das mache ich solange, bis ich alle Bauteile eines Autos getestet habe und kann nun die Teile ins Auto stecken und das Auto testen (wieder eine Komposition). Man sieht also, dass ein Mock-Objekt gar nicht von Nöten ist. Das Testen von Kompositionen wären dann die Integrationstests und das Testen einzelner, elementarer Bauteile wären unsere Unittests. Und hier noch mal zum Thema Inversion of Control und Dependecy Injection: Wann wird das mal wirklich benötigt? Beispiel Auto: Wenn ich sowieso nur ein Auto baue und das immer mit den selben Komponenten, wozu brauche ich dann Dependency Injection? Dependency Injection wird doch häufig nur des SOLID wegens implementiert aber oftmals wird das gar nicht benötigt. Man bläht also seine Anwendung nur unnötig auf. Dependecy Injection wird doch häufig nur verwendet, um tatsächlich Mock-Objekte in sein zu testendes Objekt stecken zu können aber überträgt man dies in die reale Welt, kommt doch was völlig absurdes raus: Man spricht immer davon, dass Softwareentwicklung ein Handwerk sei also wieso seinen Code nicht so entwickeln und testen, wie ein Handwerker seine Arbeit verrichtet? Ein Kfz-Mechatroniker braucht doch auch kein Motor aus Pappmaché, wenn er den Blinker testen will. Die Austauschbarkeit wird also nur häufig nur des Testen-Willens vorgeschoben. Im Produktionscode ist aber die Austauschbarkeit gar nicht gefordert. Vielleicht hat man nur eine Art von Blinkern. Man baut also in den Produktionscode ein Hilfskonstrukt nur für den Test ein. Für mich persönlich klingt das einfach völlig absurd. Dependency Injection bzw. Inversion of Control lässt sich auch durch Kompositionen realiseren, indem ich ein Interface und eine abstrakte Klasse für die Komposition erschaffe und für meine unterschiedlichen Konfigurationen in Klassen auslagere. Beispiel: public interface IKomposition { void TuEtwas(); } public abstract class KompositionBase : IKomposition { protected IAbhängigkeitA AbhängigkeitA { get; private set; } protected IAbhängigkeitB AbhängigkeitB { get; private set; } public KompositionBase(IAbhängigkeitA abhängigkeitA, IAbhängigkeitB abhängigkeitB) { this.AbhängigkeitA = abhängigkeitA; this.AbhängigkeitB = AbhängigkeitB; } public abstract void TuEtwas(); } public class KompositionA : KompositionBase { public KompositionA() : base(new AbhängigkeitA1Impl(), new AbhängigkeitB1Impl()) { } public override void TuEtwas() { /// Code } } public class KompositionB : KompositionBase { public KompositionB() : base(new AbhängigkeitA2Impl(), new AbhängigkeitB2Impl()) { } public override void TuEtwas() { /// Code } } Also kann ich doch die Klassen AbhängigkeitA1Impl, AbhängigkeitA2Impl, AbhängigkeitB1Impl und AbhängigkeitB2Impl einzeln testen und dann im Integrationstest KompositionA und KompositionB. Und siehe da, ich brauche nicht mal ein DI-Framework oder Mock-Objekte. Ein DI-Framework macht wirklich nur dann Sinn, wenn ich Kompositionen(!) über eine Konfiguration zusammenstecken möchte. Beispielsweise ich habe mehrere Kunden und Kunde A möchte, dass die Logs in die Datenbank geschrieben werden und Kunde B Logs in eine Datei oder Kunde A verwendet MSSQL und Kunde B OracleDB und ich möchte nicht für den Kunden ein eigenes Kompilat ausliefern. Diese Art von Konfiguration wird aber in vielen Fällen im Code gar nicht benötigt. Wer z.B. eine App ausliefert, die bei allen Kunden sowieso gleich funktioniert, braucht so etwas eigentlich gar nicht. Dann gehörst du leider zu den Personen der Ignoranten, die nicht mal neue Wege ausprobieren und ihre Erfahrungen teilen. Sorry. Leider besteht die Softwarentwicklung hauptsächlich nur aus Versuch-und-Irrtum und es geht darum, immer wieder neue Wege zu finden, wie man sich die Arbeit erleichtern kann. Gäbe es z.B. Robert C. Martin und andere, die das Clean Code voranbringen, nicht, würde man heute immer noch seitenlangen Spaghetti-Code in Excel und Access schreiben und lehren. Auch ein Softwareentwickler sollte sich weiterbilden und schauen, ob seine es inzwischen nicht andere Wege gibt, wie man Software entwickelt. Solche Sturköpfe habe ich auch in der Firma, wo ich arbeite und was produzieren sie? Unwartbaren und unleserlichen Spaghetti-Code, der in Regions und Kommentar-Blöcken geclustert wird und dann steht man dort vor einer 15.000 zeiligen Klasse, wo ReSharper schon schlapp macht, diese zu analysieren.

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