Alle Beiträge von Whiz-zarD
-
Überbrückungszeit im Bewerbungsschreiben beschreiben
Warum hast du dich überhaupt dafür entschieden?
-
Webentwickler kein "echter" Programmierer?
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).
-
Ausbildungsgehalt Anpassen?
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?
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?
Was lernt man dann beim Fachinformatiker, im Vergleich zum ITA, noch zusätzlich?
-
2020 Sommer FIAE (Ga1 / Hs5)
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)
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)
@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.
-
Funktionen
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
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?
-
WhatsApp Business
Weil man es immer wieder typisch Deutsch durchgeführt hat: Wir planen wasserfallmäßig alles durch und dann tauschen wir alles auf ein mal aus. Das kann nur nach hinten losgehen. Da geht Schleswig-Holstein endlich mal einen gangbareren Weg, indem erst mal dafür gesorgt wird, dass die Software Open Source wird. Im Hintergrund werkelt weiterhin erstmal Windows und erst wenn die Software Open Source und plattformunabhängig (sprich Web-Applikationen) ist, dann wird auch Windows ausgetauscht.
-
Firnenhardware privat nutzen: Fluch oder Segen?
Aufgrund von Sicherheitsrichtlinien, die wir auch zertifizieren müssen, ist es uns untersagt, ein privates Smartphone für dienstliche Zwecke zu verwenden. Was schon ein bisschen ärgerlich ist, da wir dann nicht mal kurz Whiteboards abfotografieren dürfen. Ein dienstliches Smartphone bekommen auch nur diejenigen, die eine höhere Position haben und es auch explizit beantragen. Es gibt nur sehr wenige, die ein dienstliches Smartphone haben aber das sind eh die Leute, die hauptsächlich unterwegs sind auf ein Smartphone angewiesen sind. Ein Zwang (bis auf die genannten Ausnahmen) gibt es bei uns nicht. Mein Vorgesetzter hat zwar meine private Nummer wenn er mich nach meinem Feierabend anruft, wird dies als Rufbereitschaft vergütet. Es kostet also Geld. Das ist aber in den 8 Jahren, wo ich dort arbeite, bis jetzt nur zwei Mal passiert. Wenn es halt Geld kostet, überlegt man es sich zwei Mal, ob es jetzt sein muss oder ob es auch bis morgen reicht.
-
Pointer Zeiger
Vielleicht muss man da ein bisschen weiter ausholen. Zeiger sind Variablen, die als Wert die Speicheradresse einer anderen Variable enthalten. Ein Array hingegen ist die Speicheradresse auf das erste Element des Arrays. Ein Array wird als ganzer Block im Speicher allokiert. feld1 und feld2 sind nun Arrays. Also eine Adresse. Das kannst du auch sehen, wenn du cout << feld1; ausführst. Dann wird eine Adresse ausgegeben. Um die Adresse des nächsten Elementes auszuweisen, kannst du cout << feld1 + 1; schreiben. Du wirst feststellen, dass die Adresse um 4 Bytes (bzw. 8 Bytes; je nach Compiler) höher ist, als die Adresse von feld1. Das liegt eben daran, dass ein Array, wie schon erwähnt, als ganzen Block im Speicher liegt. Da wird angeben müssen, welchen Datentyp das Array speichert, weiß das Programm nun, ab welcher Adresse das nächste Element anfängt. In unserem Fall 4/8 Bytes, da ein Integer 4/8 Bytes groß ist. In der Zeile 8 wird jetzt nun ein Array von int-Zeigern (also Adressen) erzeugt und besitzt zwei Elemente (int* ipf[2]), nämlich die Adressen von feld1 und feld2. In Zeile 9 wird die Adresse von feld1 gespeichert. In Zeile 10 wird zunächst der zweite Wert aus dem Array genommen. Das entspricht der Adresse von feld2 und holen uns dann mit dem Stern den Wert aus dieser Adresse: 29. Dann wird der Wert noch mit 1 addiert und ausgewiesen wird dann die 30. In Zeile 11 wird der erste Wert aus dem Array genommen. Also die Adresse von feld1 und mit dem Wert von der Variable ip substrahiert. Der Wert von ip ist ebenfalls die Adresse von feld1. Aber Achtung: Es wird nicht 13 - 13 gerechnet, sondern Adresse - Adresse. Das kannst du nämlich sehen, wenn du die Zeilen cout << ipf[0] << endl; cout << ip << endl; ausführst.
-
Projektantrag: Desktopanwendung zur Planung von Personaleinsatz
Wobei ich mich da immer frage, was denn dabei rauskommen soll? Entscheidet man sich für die Kaufen-Variante ist doch das gesamte Projekt hinfällig. Also dreht man es doch schon im Vorwege so hin, dass eine Eigenentwicklung günstiger sei und was hat man denn damit gezeigt? Dass man Kunden verarschen kann? Wenn man doch ganz ehrlich ist, gibt es doch inzwischen für jeden Kram eine Software und der Sinn und Zweck der Abschlussprüfung kann doch nicht sein, etwas völlig neues und innovatives, was die Welt noch nicht gesehen hat, auszudenken.
-
Projektantrag: Desktopanwendung zur Planung von Personaleinsatz
Ich finde diesen Satz sehr kritisch. Wer die Anwendung installiert hat, hat die Macht. Das ist kein Berechtigungskonzept und könnte dir u.U. beim Fachgespräch für Probleme sorgen. Du musst bedenken, dass du mit Personendaten zu tun hast. Personendaten erfordern einen besonderen Schutz. SQLite ist eine Dateibasierte Datenbank. Wie sollen gleichzeitig mehrere Leute auf die Datei zugreifen können? Sollte außerden nicht die Auswahl der benötigten Programmiersprache, Datenbank, etc. nicht während des Projektes stattfinden? Merkwürdig finde ich auch, dass du sowohl das Lasten- als auch das Pflichtenheft schreibst. Das Lastenheft schreibt aber eigentlich der Auftraggeber.
-
Sich wegbewerben - wie am besten so dass AG nichts merkt?
Nö.
-
Eine Plsql-Funktion sinnvoll debuggen
Debuggen kannst du mit dem SQL Developer von Oracle https://www.databasestar.com/sql-developer-debug/ Ab Version 12c ist aber wahrscheinlich dann noch eine ACL-Freigabe von Nöten https://musotraining.de/oracle/f?p=SCHULUNG:1001::Debuggen_in_12C_mit_Hilfe_des_SQL_Developers:::P1001_TIPPAUSWAHL:255
-
Besser in Programmieren werden
Kommt immer darauf an, was man von Katas erwartet und wie man die Lösung anderer betrachtet. Es geht ja darum, ein Problem in Teilprobleme zu zerlegen und diese Teilprobleme zu abzuarbeiten. Gerade wenn man nur üben möchte, muss man die Lösungen der anderen nicht im Wettbewerb sehen, sondern als eine mögliche Lösungsvariante. Es gibt dann kein Richtig oder Falsch und beim Betrachten der anderen Lösungen kann man noch den einen oder anderen Kniff dazu lernen. Ja, man kann auch ein kleines Projekt starten aber mir geht es immer so, dass ich zu wenig private Zeit habe, sich damit intensiv zu beschäftigen. Coding Katas sind in ein oder zwei Stunden erledigt. Die Zeit bekommt man schon mal eher hin. Da bekommt man dann schon eher Feedback, als bei einem Projekt.
-
Besser in Programmieren werden
Eigentlich gibt es da nur üben, üben und noch mehr üben. Du kannst ja z.B. auf Codewars.com ein paar Coding Katas machen. Coding Katas sind im Grunde Programmieraufgaben zum Üben. Du kannst auf der Plattform dein Ergebnis testen lassen und hochladen und du kannst deine Lösung mit anderen vergleichen, um darauf Erkenntnisse zu gewinnen, was du besser machen könntest.
-
Projektantrag: Desktopanwendung zur Planung von Personaleinsatz
Ich persönlich finde das schon zu viel. Bei einer 40 Stundenwoche wären dies 8,75 Tage. Zieht man davon noch 2 Tage für die Doku ab, sind es 6,75 Tage. Meinst du wirklich, du schaffst Projektplanung- und Management Datenbankmodellierung Import von Daten Export von Daten E-Mail-Benachrichtigung UI-Entwicklung sonstige Business-Logik innerhalb der 6,75 Tage?
-
Hilfe bei Strukturierung für Buchungssystem
Das ist immer das Problem bei einer Drei-Schichten-Architektur. Man fängt immer mit der Datenbank an, weil alles darauf aufbaut und sich somit Probleme einhandelt. Aber womit verdient man bei einer Software sein Geld? Bei der Speicherung von Daten in eine Datenbank oder bei der Geschäftslogik? Die Antwort sollte die Geschäftslogik sein. Also warum steht die nie im Vordergrund? Die Datenbank, also die Persistenzschicht ist doch nur ein Detail. Ob ich eine relationale Datenbank oder eine dokumentenbasierte Datenbank wähle, sollte erstmal egal sein. Darum bin ich inzwischen ein Freund der sog. Clean Architecture. Die stellt nämlich die Domänenlogik in den Vordergrund und alles andere wird nur als Detail hinzugefügt. Der Vorteil der Clean Architecture ist der, wenn sie man sie richtig anwendet, alles von einander getrennt ist und sich sogar einfach testen lässt. Auch kann man daraus ein Grundgerüst entwerfen, dies als Repository in eine Versionsverwaltung packen und für andere Projekte forken, da sie quasi universell einsetzbar ist. Clean Architecture stammt von Robert C. Martin aka Uncle Bob und man findet einige Videos von ihm dazu auf Youtube. Auch hat er dazu ein Buch geschrieben.
-
Warum sind alle Wohnung einfach scheiße?
Wenn du in Raum Hamburg suchst, darfst du aber nicht vergessen, dass dort eine Staffelmiete angesagt ist, die gleich schon nach einem Jahr sich um 5% erhöht. Bei einer Miete von 900 € wären es dann 45 € mehr. Aber genau aus diesem Grund hab ich mir damals eine Wohnung gekauft. Der Abtrag für die Kredite ist geringer als eine Miete und hab hier (bis zu bestimmten Grenzen) vollen Gestaltungsfreiraum. Für den Abtrag meiner Kredite bezahle ich ca.500 €/Monat. Der neue Mieter über mir bezahlt 850 € Kaltmiete. Nächstes Jahr sind es dann knapp 900 €, wegen der Staffelmiete. Sofern, er dann noch hier wohnen bleibt. Seitdem ich hier wohne ist jeder schon nach einem Jahr wieder aus der Wohnung ausgezogen. Die Wohnung hab ich mir aber vor sechs Jahren gekauft. Da waren sie zwar auch schon recht hoch aber noch bezahlbar. Die Preise ja sind heutzutage jenseits von Gut und Böse.
-
Access Datenbank oder Excel Sheet für Veranstaltungssitzpläne
Ich verstehe das Problem ehrlich gesagt auch nicht. Da hat man FIAE-Azubis und man nutzt sie nicht. Das wäre doch eine tolle Projekt-Arbeit für die Azubis... Microsoft hat inzwischen auch erkannt, dass Access nicht so toll ist und haben für Firmen, die keine große IT-Fachexpertise haben, Power Apps entwickelt. Ich denke mal kurz oder lang wird dies Access ablösen. Auch unabhängig davon verstehe ich das Problem nicht. Der Anwender soll doch nicht mit IDs rumhantieren, sondern dem Anwender muss eine geeignete UI gegeben werden, mit der er effizierter arbeiten kann. Wenn ihr dann also bei Access bleiben wollt, dann müsst ihr mit Access eine Eingabemaske bauen.
-
Hilfe!! Ich brauche dringend Hilfe meine Nachbarn behaupten ich wäre ein Hacker!
Ach, die "Ich hab einen Bekannten und der ist Profi!"-Ausrede. Wenn ich damals, als ich als PC-Techniker nebenbei gearbeitet habe, jedes Mal für diesen Satz einen Cent (damals noch ein Pfennig) bekommen hätte, wäre ich heute Millionär. Ich hab die Leute dann immer gefragt, warum dann der Profi nicht den PC zusammenbaut/nach Viren untersucht/whatever? Dann waren sie wieder ruhig. Also lag ich mit meiner These, dass es sich um einen Stümper handelt, richtig und er hat keinerlei Ahnung von Technik. Vielleicht den Typen dann mal auf den Pott setzen und sagen, dass dann der Freund mal die Sicherheit des WLANs überprüfen sollte, wenn man es so leicht hacken kann. Letzen Endes ist das alles Schwachsinn. Man kann auf das WLAN nicht zugreifen, wenn die WPA2 Authentifizierung nicht stattfand. Folglich sind auch keine Dateifreigaben daran schuld, weil man gar keinen Zugriff aufs Netzwerk hat.
-
Hilfe!! Ich brauche dringend Hilfe meine Nachbarn behaupten ich wäre ein Hacker!
Ganz ehrlich, ich würde da nichts tun und ihn zur Polizei watscheln lassen, sofern er das überhaupt tut, was ich bezweifle. Eine Hausdurchsuchung wird die Polizei nicht wegen einem Auszug aus einer Log-Datei machen. Zumal eine Hausdurchsuchung richterlich angeordnet werden muss. Ich glaub, die Richter haben was besseres zu tun. Die Log-Datei könnte ja auch gefälscht sein. Sofern sich die Polizisten überhaupt die Mühe machen, werden sie dich evtl. zu einem kurzen Gespräch einladen. Dann steht sowieso Aussage gegen Aussage und dann hat sich der Fall erledigt. Es ist auch niemanden zu Schaden gekommen. Was soll denn da nun gemacht werden? Dann soll er halt auf die Sicherheit seines preshared Keys (PSK) achten, wenn dies angeblich so leicht gehackt werden kann. Da hat man auch eine gewisse Teilschuld, wenn man z.B. "1234" als PSK auswählt. Die Frage ist auch, was da überhaupt geloggt wurde. Vielleicht hast du tatsächlich mal, das falsche WLAN angeklickt und hast versucht, sich bei seinem WLAN anzumelden oder da ist tatsächlich mal was durcheinander geraten, weil ihr vielleicht mal die gleiche SSID hattet (vielleicht habt ihr auch den gleichen Router?) oder er hatte eine Zeit lang ein offenes WLAN. Wenn, dann müsste man ja auch die Authentifizierung über WPA2 in den Logs finden können. Wenn du schreibst, er hätte noch weitere Access Points und Repeater, macht dies für mich sowieso keinen vertrauensvollen Eindruck. Vielmehr den Eindruck eines Stümpers, der nicht weiß, wie man das WLAN vernünftig konfiguriert und eher nach dem Prinzip "Viel hilft viel" agiert.