Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Whiz-zarD

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von Whiz-zarD

  1. Woher stammt der Code? Stammt er von dir? Funktioniert er oder wo liegen konkret deine Fragen? Meine C-Kenntnisse sind auch schon sehr stark angerostet, aber der Code ist auch recht schwierig zu lesen, weil s1 und w ständig getauscht werden. Schauen wir uns aber mal den Code an: 1 //Next-Verkettung ######################################### 2 (*w)->next = *s1; 3 *s1=(*w); 4 (*w)=(*s1)->next; 5 (*w)=(*w)->prev; 6 (*w)->next=(*s1); //Zeitpunkt 3 7 //Prev-Verkettung############################################# 8 (*w)=(*s1); 9 (*w)=(*w)->next;//auf 2.Block 10 (*s1)->prev=(*w)->prev; 11 (*w)->prev = (*s1); Wir haben folgende Ausgangssituation: e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ Wir haben also ein Ring. Bestehend aus e0, e1 und e2. Der Code fügt nun zwischen e0 und e1 ein neues Element (e3) hinzu. *w zeigt auf e3 und *s1 auf e1. e3 hat erstmal keine Verbindung in den Ring. e3 *w = e3 *s1 = e1 e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ In der zweiten Zeile wird *w->next auf s1 gesetzt: e3────┐ *w = e3 │ *s1 = e1 ↓ e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ In Zeile 3 wird *s1 mit *w ersetzt und in zeile 4 *w wird ersetzt mit *s1->next. Damit werden beide getauscht und der Ring hat einen neuen "Anfang": e3────┐ *w = e1 │ *s1 = e3 ↓ e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ In zeile 5 wird wiederum *w mit *w->prev getauscht und zeigt somit auf e0. e3────┐ *w = e0 │ *s1 = e3 ↓ e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ Nun wird *w->next auf *s1 gesetzt und somit ist e3 schon mal in eine Richtung in den Ring integriert: e3────┐ *w = e0 ↑ │ *s1 = e3 │ ↓ e0 ←- e1 ←→ e2 ↑ ↑ └───────────┘ Allerdings zeigt der prev-Zeiger von e1 noch auf e0 und e3 hat noch kein Prev-Zeiger auf e0. Dies geschieht nun im Prev-Block. *w wird in Zeile 8 und 9 auf e1 gesetzt: e3────┐ *w = e1 ↑ │ *s1 = e3 │ ↓ e0 ←- e1 ←→ e2 ↑ ↑ └───────────┘ Nun wird *s1->prev auf *w-prev gesetzt: e3────┐ *w = e1 ↑ │ *s1 = e3 ↓ ↓ e0 ←- e1 ←→ e2 ↑ ↑ └───────────┘ Und zum Schluss *w->prev auf *s1: e3←───┐ *w = e1 ↑ │ *s1 = e3 ↓ ↓ e0 e1 ←→ e2 ↑ ↑ └───────────┘ Und der Ring ist fertig. Allerdings halte ich den Code für zu viel, denn im Grunde ist das ja nur ein Umbiegen der Zeiger. Wir kennen doch den "Anfang" des Ringes (*s1) und das Element (*w), was hinzugefügt werden soll. Dann kann man doch im ersten Schritt *w->next auf *s1 und *w->prev auf *s1->prev setzen. w─────┐ │ │ ↓ ↓ s0 ←→ s1 ←→ s2 ↑ ↑ └───────────┘ Und im zweiten Schritt *w->prev->next auf *w und *w->next->prev auf *w w←────┐ ↑ │ ↓ ↓ s0 s1 ←→ s2 ↑ ↑ └───────────┘ Das wären dann 4 Zeilen Code.
  2. Richtig. Es sollen 0,0941 Minuten sein? Denk mal logisch drüber nach. Wie kann der Transfer plötzlich 350 Mal so schnell sein, obwohl die Transferrate sich verringert und die Datenmenge sich erhöht hat? Schau dir noch mal die Einheiten deiner Werte an.
  3. Sorry aber das ist kein Forum, wo jemand deine Hausaufgaben macht. Hier ist auch ein bisschen Eigeninitiative gefragt und @Chief Wiggum hat dir quasi schon den Weg zur Lösung beschrieben. Du hast doch gesagt, dass du Prozentrechnung kannst. Wo ist denn das Problem auf die Datenmenge 10% zu addieren und die Datentransferrate auf 45% zu reduzieren? Was sind denn 45% von 16.000 KBit/s? Und wenn du 10% auf die 36,96 GBit dazuaddierst? Wenn dies hast, ist das das selbe, wie in Aufgabe 1. Aufgabe 3 ist der umgekehrte Weg. Die Zeit ist vorgegeben und du sollst ausrechnen, wie viele Daten in dieser Zeit übertragen werden können. Von deiner maximalen Geschwindigkeit von 128 KBit/s steht dir nur 57% zur Verfügung. Wie viel bleibt dir von der Geschwindigkeit übrig und wie hoch ist die Datenmenge, die dann pro Tag übertragen werden können? Aufgabe 4 ist das selbe wie Aufgaben 1 und 2.
  4. Das Problem von Zertifikaten ist, dass sie nur begrenzt gültig sind. Nach ein paar Jahren ist das Ding nicht mehr Gültig und dann kann man es quasi nur noch wegschmeißen und dafür sind Zertifikate einfach zu teuer. Zertifikate lohnen eher, wenn man sich als Berater oder Trainer selbstständig machen möchte, um zu zeigen, dass man die aktuellen Technologien kennt. Für einfache Entwicklertätigkeiten sind die eigentlich nicht zu gebrauchen, da es dem Auftraggeber oft egal ist, mit welcher Technik oder Programmiersprache sein Problem gelöst wird. Hauptsache es wird gelöst und das möglichst kostengünstig. Als Privatmensch ohne Kundenkreis wird es schon schwer, Fuß zu fassen. Wir haben auch einen freiberuflichen Entwickler engagiert, der seine Dienste auch als Trainer für Projektmanagement anbietet aber er hat kaum Kunden. Um an Ideen zu kommen, was Menschen wollen, wird auch inzwischen an vielen Hochschulen das sog. Design Thinking gelehrt. Man erstellt fiktive Personen und überlegt, welche Bedürfnisse diese haben und welche Probleme für diese Bedürfnisse bestehen und überlegt sich dann Lösungen, die dann entwickelt werden.
  5. Wie gesagt, dies würde nur mit Left Joins klappen. Dann wird das Ergebnis aber dementsprechend breit. Wenn man nicht in die Breite gehen möchte, der muss dann pro Tabelle ein eigenes Select-Statement generieren lassen. Dies ist dann aber abhängig von der jeweiligen Datenbank, welche Sprache dort zum Einsatz kommt, denn mit reinem SQL ist dies nicht möglich.
  6. Nein, das geht nicht. Das geht nur höchstens, wenn im Ergebnis alle Zeilen von allen Tabellen enthalten wären. Angenommen wir hätten folgende Tabellen: Tabelle Z ID a b Tabellenname 1 abc aaa A 2 def bbb B Tabelle A ID WertA 1 Foo Tabelle B ID WertB 2 Bar Eine Relationale Datenbank kann nur eine zweidimensionale Tabelle zurückliefern. Jede Zeile hat den gleichen Ergebnissatz. Wir können nicht sagen, dass Zeile 1 die Spalten von Tabelle A besitzt und Zeile 2 die Spalten von Tabelle B. Datenbanken, die pro Zeile unterschiedliche Ergebnisse zurückliefern können sind dokumentenorientierte Datenbanken. Damit dies überhaupt auch mit relationalen Datenbanken funktioniert, müsste man Tabelle Z mit allen anderen Tabellen mit einem Left Join verknüpfen: SELECT * FROM Z LEFT JOIN A ON Z.ID = A.ID LEFT JOIN B ON Z.ID = B.ID Dann würden wir folgendes Ergebnis bekommen: Ergebnis ID a b Tabellenname WertA WertB 1 abc aaa A Foo (null) 2 def bbb B (null) Bar Das Ergebnis geht dann weiter in die Breite, je mehr Tabellen gejoint werden müssen und je mehr Spalten die Tabellen besitzen.
  7. Mit relationalen Datenbanken nicht möglich. Was soll denn da auch als Ergebnis herauskommen? Das Ergebnis wäre pro Zeile auch immer ein anderes, da Tabelle A andere Spalten besitzt als Tabelle B.
  8. Von "Heidi" und "Als die Tiere den Wald verließen" war ich auch nie ein großer Fan. Mit langsam meine ich nicht, dass da nicht viel passiert, sondern einfach den Schnitt. Ich kann es schlecht beschreiben. Ich finde, die Stimmen wurden noch höher und irgendwie müssten die Charaktere sich wie auf LSD bewegen und im Hintergrund muss die Landschaft vorbeisausen. Mich persönlich macht das alles sehr unruhig. Auch die simplen Formen, wie z.B. in deinen Beispielen (Dreieck als Gesicht), finde ich auch einfach schrecklich.
  9. Natürlich. Gib dem Zauber Zucker!
  10. Vielfältiger ist vielleicht das falsche Wort. Liebevoller erzählt wohl eher und vor allem langsamer. Mit meinem Neffen habe zusammen schon sehr viel angeschaut und ich merke jedes Mal in mir eine gewisse Unruhe aufsteigen, weil die Cartoons von heute sehr schnell geschnitten sind. Bei den Cartoons aus den 80ern/90ern empfinde ich dies nicht so. Das beste Lied stammt immer noch von den Racoons
  11. Stimmt schon. Vom Aufbau sind sie schon ein wenig speziell. Ich hab darin ein bisschen geblättert und finde den Aufbau gar nicht mal so schlecht und unsere Schülerpraktikanten haben diese Lektüre verwendet und fanden die Bücher bis jetzt immer gut und das konnte man auch sehen. Aber mal Online eine Vorschau lesen oder mal in eine Buchhandlung gehen, um mal zu schauen, ob man dort ein Exemplar in die Finger bekommt, sollte man immer tun. Das Buch muss auch zu einem ein wenig passen. Es bringt ja nichts, ein Buch zu kaufen, was zwar vollgestopft mit Wissen ist aber so geschrieben ist, sodass es für einen eine Qual ist, dies zu lesen.
  12. Und was soll das jetzt bringen? Ubuntu basiert auf Debian. Du tauschst also ein Betriebssystem, was auf Debian basiert (Raspbian) gegen ein Betriebssystem, was auf Debian basiert (Ubuntu) aus.
  13. Weil dies das offizielle Betriebssystem und mit der besten Unterstützung für den Raspberry ist.
  14. Metty Ach Gott. Das Ding hatte ich schon völlig vergessen. Ja, Zini ist richtig.
  15. Sogar während des Frühstücks. Aber das TV-Kinderprogramm war damals vielfältiger.
  16. Ich kenne jetzt nur das Java- und das C#-Buch der "Schrödinger programmiert"-Reihe aber die sind sehr gut und daher schmeiße ich mal "Schrödinger programmiert C++" in den Raum.
  17. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Oder so.
  18. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Der Begriff "ausbilden" ist hier schwammig. Das richtige Wort wäre "weiterbilden". Es handelt sich um ein Weiterbildungsprojekt für interne- und externe Mitarbeiter. Der Abschluss ist nämlich der geprüfte IT-Entwickler und dieser Abschluss befindet sich auf Meisterebene. Es findet auch vorher ein Auswahlverfahren statt, da sie nur die besten der besten der besten einstellen wollen. Folglich müssen die Bewerber schon Berufserfahrung haben. Das deckt sich auch mit den Bedingungen, die erfüllt werden müssen, um überhaupt den Titel "geprüfter IT-Entwickler" tragen zu dürfen: Quelle: https://de.wikipedia.org/wiki/Geprüfter_IT-Entwickler Wie gesagt, Fachinformatiker (in beiden Richtungen) bildet VW schon lange aus. Sie bieten jetzt nur ein Weiterbildungskurs. Sie wollen wohl damit Quereinsteiger und Studienabbrecher, die dennoch in der IT arbeiten, ködern.
  19. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Wo soll diese Information herkommen? VW ist unterteilt in mehrere Tochterfirmen und die Volkswagen Group IT (ehemals Autovision GmbH) und die Financial Services bilden schon seit Ewigkeiten Fachinformatiker aus.
  20. Klingt für mich ein bisschen scheinheilig. Es ist ja nicht so, dass man nicht von außen auf interne Ressourcen zugreifen könnte. Sei es z.B. per VPN. Also das wäre kein Showstopper, nur weil die Software lokal gehostet wird.
  21. Die Suche nach einer OCR-Software ist demnach ja auch kein FISI-Thema. "Evaluation, Installation und Konfiguration einer Rechnungssoftware zum Einsatz in der Produktiv Umgebung." Was ist daran jetzt so schwer?
  22. Eine Abrechnung ist doch nichts weiter als eine Abschlussrechnung und dafür gibt es fertige Lösungen. Das muss man nicht selbst entwickeln und somit brauchst du auch kein FIAEler.
  23. Warum macht man die Eingabe nicht gleich digital und spart sich den OCR-Kram, der nicht zuverlässig funktionieren wird?

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.