Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2083
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    51

Alle Inhalte von Whiz-zarD

  1. Du musst die XML-Datei einlesen und durch die Elemente iterieren und die, die du umgewandelt haben möchtest, mit der WebUtility.HtmlEncode()-Methode umwandeln und zum Schluss die XML-Datei neu speichern.
  2. Ich weiß auch nicht, warum man hier jetzt noch nachtreten muss.
  3. Das sind leider alle Informationen, die ich gerade finden kann. Die Information stammt aus diesem Buch.
  4. Ich bin mir da jetzt nicht ganz sicher, ob .NET 4.6 abwärtskompatibel zu 4.5.1 ist. Es genügt aber auf den Maschinen, wo 4.6 läuft 4.5.1 zu installieren. Du brauchst es nicht deinstallieren. Nicht unbedingt. Es gab in der Vergangenheit schon breaking Chances, die dafür sorgten, dass .NET nicht abwärtskompatibel war.
  5. XML-Dateien sollten nicht mit regulären Ausdrücken geparsed werden: https://stackoverflow.com/questions/6751105/why-its-not-possible-to-use-regex-to-parse-html-xml-a-formal-explanation-in-la Du merkst ja selber, dass es gar nicht so trivial ist, da du z.B. auch Zeilenumbrüche berücksichtigen müsstest. Das beste ist, du lässt die XML-Datei mittels einer geeigneten Bibliothek (mit welcher Sprache entwickelst du?) und löschst dann die Einträge aus der DOM-Struktur und generierst eine neue XML-Datei.
  6. Ich muss gestehen, dass ich mit Hibernate direkt noch nicht gearbeitet habe, sondern mit dem .Net-Ableger NHibernate. Dort gibt man in der SessionFactory den Connectionstring mit. Der kann ja dynamisch erzeugt worden sein. Du kannst bei Hibernate auch die Konfiguration überschreiben: http://stackoverflow.com/questions/18033288/programmatically-configure-hibernate-with-dynamic-username-and-password Wie das jetzt unter Java implementiert wird, weiß ich nicht. Das letzte Mal, als ich mit Java entwickelt habe, ist schon einige Jahre her. Ich entwickle hauptsächlich mit C#. Wir haben es so gelöst, wenn das FormClosed-Event vom Hauptfenster ausgeführt wird, schließen wir die Verbindung. Also ja, ein shutdown Hook.
  7. Wo ist denn das Problem, den Nutzer die Möglichkeit zu schaffen, Benutzername, Passwort, Server, Port, etc. über die Anwendung anzugeben anstatt die Werte statisch im Code zu schreiben? Du erzeugst einfach eine Singleton-Klasse, die die Konfiguration speichert. Mit Hilfe des Singletons kannst du eine Datenbank-Verbindung aufbauen, die du dann in dein Controller reichst. In diesem Zusammenhang schaue dir mal Hibernate ORM an. Das ist ein Object/Relational-Mapper (O/R-Mapper). O/R-Mapper haben die Aufgabe, Relationale Daten, wie sie in einer relationalen Datenbank stehen, in Objekte, gemäß der Objektorientierung, zu wandeln. O/R-Mapper kapseln schon deine Geschäftslogik von der Datenzugriffsschicht ab, sodass du in der Geschäftslogik gar nicht weißt, woher die Daten stammen.
  8. Eine CSS-Datei benötigt keine verbundene Spalten. Die CSS ist nur für die grafische Darstellung der Spalten da. Der Fehler liegt also im HTML-Dokument, da eben nicht genügend Spalten verbunden werden, damit die Spalte bis zum Ende geht und nicht nach der achten aufhört.
  9. Das Problem ist doch, dass 8 Spalten verbunden werden und nicht 10 und anstatt den Fehler zu korrigieren, soll er ausgeblendet werden? Spricht nicht gerade für den Betrieb ...
  10. Ich versteh nicht, wo genau dein Problem ist. Kannst du es vielleicht mal anhand eines Beispiels erläutern?
  11. Visual Studio ist eher mehr für andere Sprachen geeignet und nicht für C. Die Programmierung mit C funktioniert ja auch nur, weil Visual C++ auf C aufbaut. Ich würde da auch eher Code::Blocks nehmen.
  12. Es sind ja 10 Ausgaben auf dem Bildschirm. Ich kann es mir nur so vorstellen, dass eine Schleife gebaut werden soll, die 10 mal durchlaufen wird und jedes Mal eine Ausgabe machen soll. Dann würde man mit einer switch-Anweisung 4 mal x und 4 mal y einen Wert zuweisen aber es stimmt schon, dass es merkwürdig ist, dass im printf() von a und b die Rede ist aber in der Aufgabe selbst von x und y. Irgendwas passt da nicht.
  13. Wie gesagt, das ist ein bisschen abhängig vom Kontext, wann man eine Verbindung aufbaut und wieder schließt. Für die UI haben wir auch eine Verbindung, die wir ein mal beim Starten der Anwendung öffnen und dann beim Beenden schließen, damit man eben nicht Tausend Mal eine Verbindung aufbaut.
  14. 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.
  15. Frage 1 und 2 verstehe ich nicht. Was willst du damit sagen? Frage 3 und 4 haben quasi die selbe Antwort: Schaue dir das Repository Pattern an.
  16. Eigentlich ist der genaue Datentyp hier nicht egal, da wir es mit Geldbeträgen zu tun haben und die eine besondere Vorsicht benötigen. Theoretisch wäre ein Integer sogar besser. Genau genommen ist die Aufgabe sehr lückenhaft. Die Methode heißt GetSumCurrentOrder(). Der Name suggeriert also, dass die Methode überhaupt keinen Eingangsparameter hat, sondern dass die Klasse schon die Bestellung im "Bauch" hat. Also müsste man erst mal die Gesamtsumme ausrechnen. Dann die Versandkosten und dann den Rabatt. function GetSumCurrentOrder(Wert: Integer) Summe:Integer summe = GetSumme() return summe + GetVersandkosten(summe) - GetRabatt(summe) end function
  17. Richtig. Es ist eine Abschlussprüfung. Da kann man eigentlich schon erwarten, dass man nach einer dreijährigen Ausbildung weiß, was genau ein Array ist und was nicht. Man muss sich doch auch mal im Klaren machen, was denn der Sinn von Pseudocode oder NS-Diagrammen ist. Es soll doch den Algorithmus darstellen, der dann von oben nach unten in eine Sprache geschrieben werden kann. Wenn ich aber gleich als erstes das Ergebnisarray deklariere, dann kann ich den Pseudcode oder das NS-Diagramm in vielen Sprachen einfach nicht umsetzen. Das Diagramm funktioniert dann vielleicht in PHP aber für C, C++, Java oder C# passt es nicht. Also ist der Pseudocode/das NS-Diagramm schon auf die jeweilige Zielsprache gemünzt und lässt sich nicht auf eine andere Sprache 1:1 übertragen. Man muss also schon die Eigenheiten der verwendeten Sprache kennen aber genau das sollte doch der Pseudocode oder das NS-Diagramm verhindern und das sind Dinge, die mich ein bisschen stören. Mag sein, dass der Prüfungsausschuss es nicht ganz so genau nimmt, denn man will die Azubis ja nicht durchfallen lassen aber ich finde das doch ein bisschen unschön.
  18. Jaein. Wenn man es genau betrachtet, ist dies auch falsch. Ein Array ist eigentlich ein zusammenhängender Block im Speicher. Man muss also schon im Vorwege wissen, wie groß dieser Block werden soll. Ein leeres Array wäre ein Array in der Größe von 0 Bytes. Du könntest dort also keine Daten speichern. Es gibt zwar schwachtypisierte Sprachen, die sowas kennen, wie leere Arrays, die dynamisch befüllt werden können, wie z.B. PHP aber dies sind genaugenommen keine Arrays sondern andere Datenstrukturen, wie z.B. Hashtabellen (im Falle von PHP) oder verkettete Listen. Also auch dein Pseudocode wäre von der Sprache abhängig. Unter C# oder Java könnte man dein Pseudocode nicht implementieren. Wenn man die Aufgabe genau betrachtet, ist das eigentlich auch nur eine Filterung mit einer anschließenden Sortierung. Ein sprachunabhängiger Pseudocode müsste also weg von der imperativen und hin zur funktionalen Vorgehensweise: function erstelleFluege(Datum : date, Plaetze : Integer): Flug[] Ergebnis = Filter Linien_Fluege Kriterium: getFlugDatum() == Datum UND getSitzplaetze() > Plaetze Sortiere Ergebnis nach getFlugDatum() return Ergebnis Wie man dann nun den Filter implementiert, ist dann den Entwickler überlassen. Mit C# und Linq wäre der gesamte Algorithmus sehr simpel: public Flug[] ErstelleFluege(DateTime datum, int platze) { return this.LinienFluege .Where(flug => flug.FlugDatum == datum && flug.Sitzplaetze > plaetze) .OrderBy(flug => flug.FlugDatum) .ToArray(); } Ich brauche also keine Arrays definieren oder sonst was. Das übernimmt das Framework für mich. Das er rein muss, ist mir schon klar. Mir ist aber nicht klar, ob der Prüfungsausschuss es akzeptiert, den Sortieralgorithmus als Blackbox zu betrachten, oder ob dieser als Pseudocode mit abgebildet werden muss.
  19. Diese Aufgaben sind einfach zum Heulen ... Wie will man ein Array erzeugen, wenn man nicht mal weiß, wie viele Elemente letztendlich das Array haben muss? Eigentlich müsste man eine verkettete Liste erzeugen, welches dann später in ein Array umgewandelt wird... Die Problematik sieht man schon bei deinem Code: Auswahl_Fluege[] = null Du setzt das Ergebnis-Array auf null und dementsprechend gibt es eine NullReferenceException, wenn du darauf zugreifen willst. Du müsstest das Array initialisieren aber mit wie vielen Elementen? Das wissen wir gar nicht, da wir die Elemente noch ermitteln müssen. Das klassische Henne-Ei-Problem... Dein Code mag vielleicht in einigen Sprachen, wie z.B. PHP funktionieren, weil Arrays dort im Grunde keine Arrays sind, sondern Hashtabellen. Es bleibt aber weiterhin das Problem, dass Auswahl_Fluege Null ist. Wenn der Code für PHP geeignet sein soll, dann müsstest du: Auswahl_Fluege = Array(); schreiben. Ich könnte noch mehr über die Aufgabe meckern aber ich lasse es mal hierbei. Ansonsten würde ich deine Lösung schon als richtig ansehen. Das einzige, was ich nicht weiß, ist, da die Rede von einer Sortierung ist und ich nicht weiß, ob nicht vielleicht ein Pseudocode für ein Sortieralgorithmus verlangt ist aber bei der Anzahl der massiven Fehlgriffen in der Aufgabenstellung gehe ich mal nicht davon aus.
  20. Es wusste aber jeder bescheid, da ja auch nur diejenigen gefilmt werden, die die Kamera auch aufgestellt haben ... Es war nun mal kleines Lager und außer den Lagerarbeiter hatte dort keiner Zutritt. Ein Schild wäre ja noch akzeptabel gewesen aber der Betriebsrat wollte die Kamera nicht und drehte es so hin, als hätte der Vorstand diese Kamera dort aufgestellt, was aber gelogen war. Also nahm der Betriebsrat die Erschwerung der Arbeit in Kauf, nur um den Vorstand ein reinwürgen zu können. Wer in einer Werkshalle bzw. in einem Lager ein Techtelmechtel veranstaltet, raucht oder Alkohol trinkt, handelt sowieso grob fahrlässig und wer erwischt wird, ob mit Kamera oder nicht, muss sowieso mit Konsequenzen rechnen. Was ist letztendlich damit nur sagen will, ist dass ein Betriebsrat nun mal nicht unbedingt die Heilige Kuh sein muss. Er kann für ein Unternehmen nützlich sein aber wie gesagt, ich habe schon etliche Probleme mit einem Betriebsrat gesehen, sodass dieser auch schon für die Mitarbeiter mehr hinderlich als nützlich war.
  21. Ja, die Vertretung aber nicht der Vormund.
  22. Ich vermute mal Führerschein. Bin mir da aber auch nicht sicher.
  23. Es gab aber hinterher keine Lösung. Alles blieb so wie beim alten. Der Betriebsrat hat jede Lösung abgeblockt.
  24. Und genau da haben wir es: Wenn die Mitarbeiter etwas entscheiden, wieso muss noch der Betriebsrat dazu noch ins Boot geholt werden? Der Abteilungsleiter war ja informiert und fand die Idee gut, da man so die Regalfächer in 10 Meter Höhe besser beobachten könnte. Das Problem war allerdings nur, dass die Kamera auch den dahinterliegenden Gang gefilmt hatte, weil man eben durch das Regal durchgucken konnte. Dies hat der Betriebsrat dann als Spionage der Mitarbeiter, seitens des Arbeitgebers, betrachtet und hat dann angefordert, die Arbeitserleichterung wieder zu entfernen. Das Ende vom Lied war, dass die beteiligten über den Betriebsrat verärgert waren und die unbeteiligten verärgert über den Arbeitgeber waren, weil sie die Spionage-Pille schluckten. Es wurde also gar nicht versucht, eine gemeinsame Lösung zu finden.
  25. Wie gesagt, ich habe schon viele Firmen gesehen und ich empfand den Betriebsrat meist als hinderlich und als ein Störenfried, da der mehr damit beschäftigt ist, sich selbst zu profilieren. Als Beispiel nenne ich mal eine Aktion, die man bei einem großen Konzern passiert ist: Dort haben Mitarbeiter von sich aus eine Kamera ein einem Hochregal befestigt, um die Lagerung im Regal besser überwachen zu können. Also Überwachung im Sinne von "schauen, ob das Lager noch voll ist und was nachbestellt werden muss". Der Betriebsrat hat den sofortigen Abbau gefordert und haben es so hingestellt, als hätte der Arbeitgeber die Kamera aufgebaut, um die Mitarbeiter zu überwachen, was aber gar nicht der Wahrheit entsprach.

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