
Whiz-zarD
Mitglieder-
Gesamte Inhalte
2083 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
51
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Whiz-zarD
-
Wenn du genauso sprichst, wie du schreibst, wäre eine Abmahnung noch ein mildes Urteil... Dies ist schon geschäftsschädigend und hätte in den meisten Firmen eine Kündigung bedeutet. Um in deinen Worten es auszudrücken: Hör auf zu heulen sonst stopfe ich dir dein Maul! (Findest du die Wortwahl nicht toll? Gut, dann überlege mal welchen Bullshit du geschrieben hast!)
-
Frage zu Dapper
Whiz-zarD antwortete auf JukeGirls4Days's Frage in Anwendungsentwickler und Programmierer
Was ist denn schon "Industriestandard"? Wenn ich hier so allgemein die Threads anschaue, dann denke ich mir, dass in Deutschland noch Plaintext-SQL und ein eigenes Mapping der Standard ist. Fakt ist, dass Dapper zu den meistbekanntesten Micro-O/R-Mappern zählt (wenn nicht sogar der bekannteste). Alleine deswegen, weil Stackoverflow darauf aufbaut. Es hat also eine gewisse Reife erreicht und wird auch produktiv eingesetzt und stammt nicht von zwei Hinterhof-BWL-Studenten, die das neben ihrem Studium zusammenfrickeln. Wir haben in einer Software auch Dapper im Einsatz, weil wir was leichtgewichtiges haben wollten. Eine Austauschbarkeit der Datenbank war uns nicht wichtig, da dies eh nicht vorkommen wird und da Dapper gut dokumentiert ist und aufgrund seiner Kompaktheit haben es auch neue Entwickler einfacher, sich dort einzuarbeiten und ich kenne kein C#-Entwickler, der nicht mal was davon gehört hat. Wenn ich mir die Posts von @JukeGirls4Days anschaue, glaube ich nicht, dass der derzeitige Chef irgendwas verlangt. Offenbar ist es eine reine Frickelbude. -
Frage zu Dapper
Whiz-zarD antwortete auf JukeGirls4Days's Frage in Anwendungsentwickler und Programmierer
Nur weil du eine Instanz der Klasse SqlConnection hast, heißt es noch lange nicht, dass du eine Verbindung zum Datenbankmanagementsystem (DBMS) aufgebaut hast. Schaue dir dazu mal die Dokumentation dieser Klasse an. Um eine Verbindung aufzubauen, gibt es noch die Methode Open(). Die Execute()-Methode ist eine sog. Extension Method von Dapper, die intern ebenfalls die Open()-Methode aufruft und die Verbindung via Close() schließt, wenn er fertig ist. Siehe: https://github.com/StackExchange/Dapper/blob/e2ffcdd1a4007d4184917b05a647040a6cf304e2/Dapper/SqlMapper.cs#L532 -
Das Auditing ist ja nur dafür gedacht, um Benutzeraktivitäten, die auf der Datenbank ausgeführt werden, nachzuvollziehen und nicht um die Daten zu verifizieren. Für Migrationen baut man eigentlich ein ETL-Prozess auf (Extract, Transform, Load). Entweder baut man sowas per Hand oder man holt entsprechende sich Tools. Oracle bietet dazu das Tool Data Integrator an. Es werden also zuerst die Daten aus dem Quellsystem geholt und dann in das Format des Zielsystems überführt und erst dann in das Zielsystem geschrieben.
-
(kostenloses) Wissensmanagment und Content?
Whiz-zarD antwortete auf pkranig2023's Thema in IT-Arbeitswelt
-
(kostenloses) Wissensmanagment und Content?
Whiz-zarD antwortete auf pkranig2023's Thema in IT-Arbeitswelt
Letzen Endes geht es auch um Werbung in eigener Sache. Wenn Microsoft ein tolles neues Feature in Office einbaut aber keiner was davon erfährt, weil man für dieses Wissen Geld bezahlen muss, dann verwendet auch keiner dieses Feature, weil keiner davon Kenntnis genommen hat. Office spricht ja so gut wie jede Personengruppe an. Sei es ein Schüler/Student, der Normalverbraucher oder ein Millionenschwerer Weltkonzern. Dass z.B. Schüler nicht unbedingt Geld für eine Schulung ausgeben möchten, sollte klar sein. Genauso ist es mit neuen Features in Azure, Visual Studio, C#, .NET Core, usw. Irgendwie müssen ja neue Features präsentiert werden. Auch Softwareberater und Freelancer schreiben Tutorials und machen Videos, um Aufmerksamkeit zu bekommen, um ihre Reichweite zu erhöhen, um somit neue Kunden zu binden. Dann gibt es wiederum eine große Gruppe, die dies einfach nur Just for fun machen ihr Wissen mit der Allgemeinheit zu teilen. Warum auch nicht? -
Jaein. Visual Studio 2019 benutzt Visual C++. Das ist ein eigener Kompiler von Microsoft. Der Kompiler unterstützt einen erweiterten Befehlssatz, die im C++-Standard nicht enthalten sind. Anders als andere C++-Kompiler, wie z.B. gcc, wird auch kein Maschinencode erstellt, sondern Bytecode, der über die CLR (Common Language Runtime) ausgeführt wird. Ähnlich wie bei der JVM in Java. Du könntest aber mit Visual Studio Code arbeiten. Dies ist eine modular aufgebaute IDE, die über Erweiterungen auch C++ unterstützt. Kaum jemand benutzt UML richtig. Es wird häufig gesagt, dass man UML nutzt aber es ist nur UML-ähnlich. UML selber ist zu viel zu aufgebläht und man verstrickt sich zu sehr in die Feinheiten der Darstellungen. Eine nette Anekdote: Letzte Woche saßen wir mit unseren Anfängern zusammen und haben mal UML-Konform ein Klassendiagramm gezeichnet. Es war nur eine simple Aufgabe, die aus vier Klassen bestand. Wir haben dafür über drei Stunden benötigt, weil wir uns nicht einigen konnten, wie die Verbindungen zwischen den Klassen aussehen soll. Alle meinten zwar das selbe aber jeder hatte eine andere Auffassung, wie es darzustellen sei. Sprachen ändern sich kaum. C++ gibt es jetzt schon seit über 35 Jahren. Was sind schon 4 Jahre? Es heißt immer, die Softwareentwicklung sei ein schnelllebiges Geschäft aber so stimmt dies nicht. Was Frameworks angeht, ja aber was Sprachen angeht, arbeiten wir immer noch mit den selben Konzepten, die schon seit den 1960ern erarbeitet worden sind. Ansonsten ist deine Frage nicht zu beantworten, da es immer darauf ankommt, was der Arbeitgeber einsetzt. Es bringt ja z.B. nichts sich mit Selenium auseinanderzusetzen, wenn der Arbeitgeber keine Web-Applikationen entwickelt. Es kommt also eher darauf an, was du später machen möchtest.
-
Warum gibt es kein Fernstudium zum Informatiktechniker?
Whiz-zarD antwortete auf alamanda333's Thema in IT-Weiterbildung
Der Informatiktechniker ist doch eh nur so eine bayerische Insellösung, die keiner kennt. Die ILS hat aber ihren Sitz in Hamburg und die SGD in Darmstadt. Die kennen wohlmöglich den Informatiktechniker nicht und warum sollten sie extra für ein einzelnes Bundesland Sonderstudiengänge anbieten? -
.NET Fehlermeldung - Netzwerkproblem?
Whiz-zarD antwortete auf Tician's Frage in Systemadministratoren und Netzwerktechniker
Nur wenn du das using drumherum verwendest. Ansonsten kann man doch mit netstat -b sehen, welche Applikation die Verbindung aufrecht erhält. Vielleicht wirst du daraus ja schlauer, was los ist. -
.NET Fehlermeldung - Netzwerkproblem?
Whiz-zarD antwortete auf Tician's Frage in Systemadministratoren und Netzwerktechniker
Naja, irgendwann macht das Betriebssystem dicke Backen. Ich weiß nicht, wie es heute geregelt ist. Dafür kenne ich mich mit der Serveradministration nicht gut aus aber früher war die maximale Anzahl an aktiven TCP-Verbindungen begrenzt. Dann würde auch eine Erhöhung der Portrange nichts nützen, wenn die maximale Anzahl schon erreicht ist. Es reicht auch nicht, dein Programm zu schließen, um die Verbindungen zu beenden, da sog. unmanaged Code ausgeführt wird, um die Verbindung zu erstellen. In solchen Fällen muss dann dann der TCP-Client das IDisposable-Interface implementieren und du musst dann entweder Dispose() aufrufen oder mit dem using arbeiten, damit der Speicher sauber aufgeräumt wird. Darum meine Frage, wie die Verbindungen aufgebaut werden. -
.NET Fehlermeldung - Netzwerkproblem?
Whiz-zarD antwortete auf Tician's Frage in Systemadministratoren und Netzwerktechniker
Wenn dein Programm Daten von A nach B schiebt und dabei immer eine Verbindung (TCP?) erstellt, muss sie ja auch irgendwann wieder geschlossen werden. Wenn du sagst, dass da sehr viele aktive Verbindungen sind, kann ich mir vorstellen, dass sie nicht richtig geschlossen werden und daher aktiv bleiben und irgendwann sind die Ports aufgebraucht. Eine vergrößerung der Portrange würde dann nur vorübergehend helfen, bis diese dann auch wieder voll ist. Wie wird dann die Verbindung aufgebaut? -
Erstmal würde ich .NET Core nehmen, anstatt das .NET-Framework. Für die Kommunikation mit der Datenbank würde ich auch Entity Framework Core nehmen, anstatt direkt ADO.NET. Entity Framework Core präferiert den Code First ansatz. D.h. man schreibt zuerst den Code und daraus werden die Tabellen erzeugt. Der umgekehrte Weg ist allerdings auch möglich: https://entityframeworkcore.com/approach-database-first
-
Ob das den TE nach 13 Jahren noch interessiert? Who knows?
-
Tipps um den ersten Webservice zu schreiben (ASP.NET)
Whiz-zarD antwortete auf TheWorldDrown's Frage in Anwendungsentwickler und Programmierer
Wo genau liegt das Problem? Ändere halt GET in POST und gib die Daten im HTTP Message Body an. Das ist alles. Falls du ASP.NET verwendest, müssen die Daten im JSON-Format vorliegen. ASP.NET deserialisiert das Dokument und du bekommst im Controller schon das konkrete Objekt. Hier ist doch auch alles geschrieben. Da findest du auch ein Beispiel für POST. -
Überbrückungszeit im Bewerbungsschreiben beschreiben
Whiz-zarD antwortete auf nimi.b14's Thema in Jobsuche, Bewerbung und Zeugnisse
Warum hast du dich überhaupt dafür entschieden? -
Nein, das ist definitiv kompletter Blödsinn und das war noch nie so. Diese Ansicht stammte noch aus den 90ern, wo man noch der Meinung war, man könnte mit Designer-Tools ala Dreamweaver, MS Frontpage oder auch damals Adobe Photoshop ein komplettes Webdesign mitsamt HTML-Grundgerüst bauen. Man hat aber schon sehr früh erkannt, dass dies so nicht funktioniert, da das generierte HTML-Dokument grauenvoll und unwartbar war. Es ist heute immer noch so, dass man das HTML-Gerüst per Hand baut, weil bis jetzt keine zufriedenstellende Unterstützung dafür gefunden wurde. Heute gibt es zwar Adobe XD, womit man UI-Prototypen erstellen kann, der dann etwas Unterstützung anbietet aber bei der konkreten Implementierung setzt man dann weiterhin Entwickler ein, die dies dann qualitätsgesichert umsetzen und wenn man dann Richtung Single-Page-Applications schaut, sind Entwickler auch unentbehrlich, da diese sich auch um den aktuellen Zustand der Web-Applikation kümmern müssen (z.B. mit dem Framework Redux).
-
Nein, eben nicht. Ein Azubi bekommt kein Gehalt, sondern eine Ausbildungsvergütung. Das ist ein himmelweiter Unterschied. Die Ausbildungsvergütung kann man quasi wie ein Taschengeld sehen, damit der Azubi laufende Kosten bezahlen kann. Geregelt ist die Ausbildungsvergütung durch §17 BBiG. Das Gehalt hingegen ist eine Gegenleistung des Arbeitgebers für die vom Arbeitnehmer erbrachten Leistungen. Du sollst aber während der Ausbildung ein Beruf erlernen. Folglich bringst du auch kaum Leistungen und kannst auch nicht nach Leistung bezahlt werden. Natürlich kannst du beim Chef nach einer besseren Vergütung nachfragen, weil dein Chef dich als billige Arbeitskraft missbraucht aber das ist nicht Sinn und Zweck der Ausbildung. Und ja, natürlich übernimmt der Azubi auch irgendwann Aufgaben und zeigt auch eine gewisse Leitung aber der Azubi hat einen Ausbildungsvertrag unterschrieben und ist dann nicht verpflichtet, für das Unternehmen wirtschaftlich zu sein, wie es bei einem Arbeitsvertrag der Fall wäre.
-
Fachinformatiker oder Bachelor of Science?
Whiz-zarD antwortete auf Damon R's Thema in IT-Weiterbildung
Ich mein, ich bin ja auch ITA (Informationstechnischer Assistent für Medieninformatik) aber dies war eine private Berufsfachschule, die zusammen mit einer FH den Unterricht gestaltet, sodass wir quasi die selben Kurse wie die Bachelor-Studenten hatten. Nur die Gestaltung der Prüfungen/Klausuren war etwas anders. Die Schule ist auch in Raum Hamburg sehr bekannt und wer das nötige Kleingeld beisammen hat, würde ich eher die Schule empfehlen, anstatt einer FIAE-Ausbildung, weil das eben schon FH-Niveau hat und nach dieser Ausbildung würde ich auch keinem mehr ein Studium empfehlen. Höchstens, wenn einer tatsächlich vor hat, noch das Master-Studium zu absolvieren. Deswegen wundert es mich, warum man nach einem ITA-Abschluss noch eine FIAE-Ausbildung anstreben möchte und wollte mal gerne wissen, was da noch in der Ausbildung fehlt. -
Fachinformatiker oder Bachelor of Science?
Whiz-zarD antwortete auf Damon R's Thema in IT-Weiterbildung
Was lernt man dann beim Fachinformatiker, im Vergleich zum ITA, noch zusätzlich? -
2020 Sommer FIAE (Ga1 / Hs5)
Whiz-zarD antwortete auf Soios's Thema in Prüfungsaufgaben und -lösungen
Ja, ich hab auch lange gebraucht, bis ich das Datenbankmodell überhaupt verstanden habe, da dies gegen jeglicher Logik spricht. Für gewöhnlich wird einem Patienten ein Bett zugeteilt und ein Bett ein Zimmer, da nun mal mehrere Betten in einem Zimmer stehen können. Hier ist es aber so, dass einem Patienten ein Zimmer zugeteilt wurde. Damit hat man nun zwangsläufig das Problem, dass ein Zimmer nur ein Bett haben kann, weil man sonst nicht nachvollziehen kann, welcher Patient nun in welchem Bett liegt. Die Aufgabe hätte auch "Erstellen Sie eine SQL-Anweisung, mit der alle freien Zimmer am 21.04.2020 wie folgt aufgelistet werden" lauten können. Das Ergebnis ist das gleiche. -
2020 Sommer FIAE (Ga1 / Hs5)
Whiz-zarD antwortete auf Soios's Thema in Prüfungsaufgaben und -lösungen
Das stimmt nicht. Das Ergebnis passt exakt zum SQL-Statement. Das witzige ist, dass das besagte Bett das einzige ist, was tatsächlich an dem Tag belegt ist und dennoch wird es als nicht belegt ausgewiesen. Der Grund dafür liegt nämlich daran, dass nur geschaut wird, ob das Bett noch belegt ist (pa.PatAuf_EntlassDatum is null) oder ob das Entlassungsdatum kleiner als 21.04.2020 ist. Das ist eine komplett falsche Abfrage. Es wird überhaupt nicht der Zeitraum betrachtet, wo die Betten tatsächlich belegt waren. Das sieht man schon daran, dass das Aufnahmedatum in der Musterlösung überhaupt nicht vorkommt. Ich kann das Entlassungsdatum entfernen, dann wir das bett als belegt ausgewiesen bzw. taucht im Ergebnis nicht mehr auf. Füge ich das Datum wieder hinzu, dann ist das Bett plötzlich unbelegt. -
2020 Sommer FIAE (Ga1 / Hs5)
Whiz-zarD antwortete auf Soios's Thema in Prüfungsaufgaben und -lösungen
@Rienne: Das Problem ist, dass Bett "07785688" (ID 4) am 21.04.2020 belegt ist, aber in der Musterlösung angegeben wird, dass es nicht belegt sei. Ich würde sagen, dass die Musterlösung (mal wieder) falsch ist. Ich kann mir nicht erklären, warum das Bett mit der ID 4 am 21.04.2020 frei sein sollte. Wie du schon richtig erkennst, ist das Bett belegt. Vielleicht braucht man mal die komplette Aufgabe. Vielleicht stehen da noch Hinweise drinnen. Ich würde vielleicht sogar mit MINUS arbeiten. Also zu erst alle Betten ermitteln, die es gibt und dann die davon abziehen, die in diesem Zeitraum belegt waren: SELECT Bett.Bett_Nummer FROM Bett MINUS SELECT Bett.Bett_Nummer FROM Bett INNER JOIN Zimmer ON Zimmer.Z_BettID = Bett.Bett_ID INNER JOIN Patient_Aufenthalt ON Patient_Aufenthalt.PatAuf_ZID = Zimmer.Z_ID WHERE DATE '2020-04-21' BETWEEN Patient_Aufenthalt.PatAuf_AufnahmeDatum AND Patient_Aufenthalt.PatAuf_EntlassDatum Als Ergebnis erhalte ich ja die Liste, mit Betten, die nicht belegt waren. Deine Lösung mit dem IN-Operator könnte ggf. Performace-Probleme verursachen, wenn deine Unterabfrage zu viele Ergebnisse liefert. Den IN-Operator sollte man nur dann nehmen, wenn man weiß, dass die Menge überschaubar ist, weil der IN-Operator erstmal alle Daten ermittelt, bevor er ausgeführt werden kann. -
Die Problematik ist wohl, dass du nicht verstehst, wie Funktionen funktionieren. Falls in eine Funktion Parameter übergeben werden müssen, dann werden immer Kopien der Parameter übergeben. Das wird "call-by-value" genannt. Das ist in sofern nützlich, dass die Variablen im inneren der Funktion eine anderen Gültigkeitsbereich haben und sie außerhalb der Funktion unberührt bleiben. Es gibt aber manchmal Situationen, da möchte man den Wert einer Variable, der außerhalb der Funktion gilt, ändern. Dann muss man die Variable als Referenz in die Funktion überreichen. Das nennt sich dann "call-by-reference" und hier kommen wir nun zu deinen Fragen: Das & ist der sog. Adress-Operator. Es wird also direkt die Adresse von s1 übergeben. Also a ist die Adresse von s1. Angenommen die Adresse von s1 ist 0x00000001, dann ist a ebenfalls 0x00000001. Das ist das besagte call-by-reference. Wir können direkt mit dem Objekt arbeiten. Dies ist wiederum ein Zeiger. Ein Zeiger ist ja eine Variable, die als Wert eine Adresse besitzt. Im Funktionsaufruf f(s1, &s2); überreichen wir der Funktion die Adresse von s2 (wegen dem Adress-Operator). Da es sich hier um Call-by-Value handelt, wird die Adresse kopiert und in einen anderen Speicherbereich abgelegt. Das ist unser Zeiger. Der Zeiger hat dann die Adresse 0x00000002 und als Wert 0x00000001. Der Pfeil ist ebenfalls ein Zugriffs-Operator, wie der Punkt, allerdings für Zeiger. Anstatt dem Pfeil könntest du auch die Dereferenzierung verwenden. Also (*b).x = 2;
-
Abschlussprüfung: Welche Sprache und welche IDE
Whiz-zarD antwortete auf Varys's Thema in IHK-Prüfung allgemein
In der Prüfung geht es nicht darum, was dir später mehr bringt, sondern welche Sprache du besser beherrscht, um ein gutes Ergebnis zu erzielen. Es ist kontraproduktiv eine Sprache zu verwenden, die zwar vielleicht Zukunftssicherer ist aber mit der man sich überhaupt nicht auskennt. Und in C# brauchst du keine expliziten Getter/Setter schreiben. Das macht der Kompiler. Worauf willst du hinaus?