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. Ja, das Buch ist zu empfehlen und eines der Pflichtlektüre, wenn es um Clean Code geht. Es ist aber ein Irrglaube, wenn du denkst, dass Clean Code gleichzeitig auch eine bessere Performance bietet. Clean Code ist einfacher zu lesen und zu warten aber das hat nichts mit Performance zu tun. Um Performance würde ich mir auch erst mal keine Gedanken machen, sondern es geht erst mal darum, sein Code sauberzuhalten. Wie Einrückungen gemacht werden ist Geschmackssache und auch von Sprache zu Sprache unterschiedlich. Java und C# haben eine nahezu identische Syntax und dennoch sind die empfohlenden Namenskonventionen von Klassen/Methoden unterschiedlich. Während in z.B. Java empfohlen wird, eine Methode so zu schreiben: public void method() { // mach was } Wird sie in C# so empfohlen: public void Method() { // mach was } Und Python definiert die Blöcke nicht mit geschweiften Klammern, sondern mit Tabs. Da wird man also gezwungen, sauer einzurücken. Man muss aber auch darauf achten, dass hier Java gemeint ist, denn in der C#-Welt wird dies ebenfalls nicht empfohlen. In der C#-Welt ist es üblich, dass Interfaces mit einem großen I anfangen und für den eigentlichen Namen nimmt man ein Adjektiv (z.B. IDisposable) oder ein Nomen (z.B. IList). In C# endet auch die konkrete Implementierung nicht mit Imp oder Impl. Das braucht man auch nicht, da schon durch das große I erkennbar ist, was ein Interface und was eine Klasse ist. (z.B. die Klasse List implementiert das Interface IList).
  2. Warum nicht? Ob ich jetzt mehrere Threads auf einer Maschine oder mehrere Prozesse auf mehreren Maschinen starte, spielt für die Parallelität keine Rolle. Fakt ist, es wird parallel etwas verarbeitet.
  3. Anstatt einen Monolithen zu bauen wird heutzutage die Microservice-Architektur bevorzugt. Man startet also nicht einzelne Threads, sondern ganze Prozesse, die untereinander mit einem Messagebroker kommunizieren. Die Microservice-Architektur lässt sich auch einfacher skalieren, da die Microservices auf unterschiedliche Server gehostet werden können und für jeden Microservice kann dann eine geeignete Persistenzschicht gewählt werden. Weil das vielfach einfach nicht nötig tut und over-engineering wäre. So lange es auch auf andere Wege funktioniert, die einfacher zu händeln sind, würde ich nicht auf eine Parallisierung setzen. Nicht überall ist eine Parallisierung schneller, da eine Parallisierung auch mehr Overhead bedeutet. In einigen Fällen ist eine Parallisierung sogar auch langsamer als eine sequentielle Abarbeitung. Besonders wenn die Threads miteinander kommunizieren und aufeinander warten müssen.
  4. Nicht immer ist eine Parallelisierung sinnvoll. Eine Parallelisierung ist nur dann sinnvoll, wenn man auch wirklich eine Berechnung parallelisieren kann und diese auch von der Parallelisierung profitiert. Etwas zu parallelisieren, nur damit die Berechnung 2 Sekunden dauert, anstatt 5, ist einfach unnütz. Du wirst selbst heute noch sehr wenig mit Parallisierung zu tun haben. Eher mit Nebenläufigkeiten, um Daten asychron zu berechnen/zu laden. Parallelisierung wird oftmals erst zum Thema, wenn es Performanceprobleme gibt. Ehrlich gesagt, würde ich mich schon freuen, wenn ich sogar von Entwicklern mit mehrjähriger Erfahrung kein Spaghetticode mehr ansehen muss. Es ist einfach traurig, dass selbst viele Freiberufler und Consulting Agenturen noch nie etwas von Clean Code oder SOLID gehört haben. Aber zum Thema: Warum sollte man es nicht erwähnen, dass man sich mit Themen wie Nebenläufigkeit schon mal auseinandergesetzt hat? Man erwartet ja kaum in Vorstellungsgesprächen, dass er alles ins Detail kennt. Selbst die Stichworte, die der TE aufgeschrieben hat, ist mehr als so manch ein Diplominformatiker weiß. Beim Vorstellungsgespräch kann man ja mit offenen Karten spielen und sagen, dass man sich bis jetzt nur in der Theorie damit auseinandergesetzt hat. Wenn ich einen Azubi einstellen würde, würde ich es auch nicht mal verlangen, dass er weiß wie man so etwas programmiert.
  5. Naja, was will man auch erwarten? Du bist kein ausgebildeter fachinformatiker, sondern die Firmen soll dich ausbilden. Wenn du schon alles weißt, bräuchtest du ja keine Ausbildung mehr. Außerdem muss man sich ja aus der Menge herausstechen. Da könnten solche Fachbegriffe schon hilfreich sein.
  6. Warum sollte man sowas nicht erwähnen? Das zeigt, dass du dich intensiver mit den Themen beschäftigst und da es um ein Ausbildungsplatz gehen soll, kann man sowieso nicht erwarten, dass du schon alles kennst. Die Nebenläufigkeit und die Parallelisierung sind auch ein sehr komplexe Themen. Siehe z.B. das Philosophenproblem (mal unter Wikipedia suchen).
  7. Ich gehe davon aus, dass er/sie meinte, dass der Informatiker nicht wissen muss, wie man ein Drucker oder ein Betriebssystem installiert. Informatiker wurden dann oft in der Wissenschaft eingesetzt um z.B. Algorithmen zu entwerfen. Da braucht man eigentlich keine Programmier-, oder Administratorkenntnisse. Die Informatik ist die Wissenschaft Informationen systematisch zu verarbeiten. Von Programmieren ist da erst einmal keine Rede.
  8. Ja, das tun sie. Aus mehreren Gründen: Die Anforderungen der Firmen gegenüber den Azubis ist deutlich gestiegen. Wo man früher zu meiner Zeit (ich bin jetzt 32 Jahre alt) Azubis noch mit Haupt- und Realschulabschluss eingestellt heute, wird heute schon Fachhochschulreife oder Abitur verlangt. Es ist schon sehr schwer, überhaupt Firmen zu finden, die ausbilden. Ich wohne in Raum Hamburg (aber noch in Schleswig-Holstein) und obwohl Hamburg neben Berlin als DIE IT-Stadt in Deutschland gilt, gibt es kaum Firmen, die FIAEler ausbilden. Auf der IHK-Lehrstellenbörse sind es gerade mal 18 Lehrstellen. Sind die Reaktionszeiten einiger Firmen extrem hoch. Von vielen Firmen bekommt man nicht mal eine Antwort. Ist das Einstigsgehalt eines Studienabsolventen höher, als einem Absolventen einer Ausbildung. Kann ich dir sagen: Die Anforderungen der Schulen werden weiter gesenkt. In Schleswig-Holstein ist es schon so, dass man ab der siebten Klasse nicht mehr sitzenbleiben kann. Man wird also komplett bis zur neunten Klasse durchgeschliffen und hat dann automatisch den Hauptschulabschluss (oder wie sich dieser heute nennt). In Schleswig-Holstein hat man auch nun die Noten der letzten Jahre verglichen und festgestellt, dass sie durchschnittlich so schlecht wie noch nie waren. Als Konsequenz daraus, wir das Niveau an Schulen wohl noch weiter gesenkt. Die andere Seite der Medaille ist aber, dass Schleswig-Holstein noch nie so viele Abiturabsolventen mit einem Schnitt von 1,0 hatte. Früher gabs pro Schule vielleicht alle drei oder Jahre mal so einen Absolventen. Heute sind es gleich mehrere pro Jahr. Da kann man eigentlich sehen, dass das heutige Abitur-Niveau eher dem Niveau des damaligen Realschulabschlusses gleicht. Das Bildungssystem von Schleswig-Holstein galt damals, gleich nach Bayern, als das härteste System in Deutschland. Bei den Wirtschaftsinformatikern spricht man auch Klischeehaft von den BWLern der Informatik. Ein Wirtschaftsinformatiker programmiert eigentlich auch nur sehr wenig, sondern ist eher für die Planung der Anwendungssysteme zuständig, um den Betrieb zu optimieren und automatisieren. Wenn du also Wirtschaftsinformatiker suchst, die auch programmieren können sollen, dann musst du schon schauen, wie deren Studium aussah. Allgemein kann man aber sagen, dass Wirtschaftsinformatiker, die auf einer Fachhochschule studiert haben, eher das Programmierhandwerk gelernt haben, als Absolventen einer Universität. Ja, das halte ich auch für Problematisch. Die Medienwelt spricht zwar von der "digital native"-Generation, da die jungen Leute heute mit Internet, Smartphones und Co. aufwachsen, aber kaum ein jugendlicher macht sich noch Gedanken darüber, wie die Technik überhaupt funktioniert. Ich gehe auch stark davon aus, dass nur die wenigen Jugendlichen wissen, was überhaupt ein Byte ist. Witzig fand ich auch die Story eines Arbeitskollegen, der berichtete, dass sein Sohn nicht mal mehr weiß, was eine Diskette ist aber gleichzeitig ist das heutige "Speichern"-Symbol immer noch eine Diskette. Die Jugendlichen kennen also das "Speichern"-Symbol, wissen aber gar nicht was das Symbol darstellen soll.
  9. Whiz-zarD hat auf Alex_winf01's Thema geantwortet in Java
    Nein. Ein Zeichensatzproblem wäre es nur, wenn anstatt ä ein kryptisches Zeichen geschrieben wird. Das ä wird dann vorher in ein ae umgewandelt.
  10. Whiz-zarD hat auf zukzuk's Thema geantwortet in Java
    Ah ja, stimmt. Ich bin kein großer Regex-Experte. * steht ja für 0..n. Unter java kannst du reguläre Ausdrücke mit der Pattern- und Matcher-Klasse auswerten: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html (Ich merke schon, ich müsste mich echt mal wieder mit Java beschäftigen. Nach 5 Jahren C# hat man doch vieles von Java verlernt ^^)
  11. Whiz-zarD hat auf zukzuk's Thema geantwortet in Java
    Dein Code ist auch komplett unübersichtlich. Teile es in Klassen und Methoden auf. Das ist ja reiner Spaghetticode. Die Methode macht viel zu viel. Zu deiner Frage: Der Ausdruck ".*" ist immer true, wenn der String nicht leer ist, da der Ausdruck bedeutet, dass beliebige Zeichen beliebig oft im String stehen dürfen. Die Frage ist also, was willst du damit ausdrücken? Edit: Interessant. Selbst bei leeren String gibt er True zurück.
  12. Natürlich geht das. Das Zauberwort habe ich schon im ersten Beitrag genannt: Ajax Was meinst du, wie z.B. Google Maps in eine Webseite eingebunden wird? Das ist auch nichts anderes als ein asynchroner HTTP-Request. Es gibt kein ICMP-Ping! Ping ist nur der Name eines Tools, was nur die Paketumlaufzeit mit Hilfe eines ICMP Echo-Rquests misst. Der Name des Tools ist völlig unerheblich. Du könntest auch ein eigenes Tool schreiben, was ein Echo-Request abfeuert und es "Hallo" nennen. Außerdem: Ein Echo Request ist so ziemlich nichtssagend, denn genauso gut könnte auch die Gegenstelle der Flaschenhals sein. Also nicht der Nutzer hat eine schlechte Verbindung, sondern der Server. Mit einem Echo Request würde man das nicht rausbekommen. Da müsste man sich u.a. dann schon die Route (z.B. mit dem Tool tracert (Windows) bzw. traceroute (Linux)) anschauen, die für das Datenpaket gewählt wurde. Netzwerkprobleme können so vielseitig sein. Es könnte auch ein DNS-Problem vorliegen. Die ganzen Probleme lassen sich nicht mit einem Echo-Request und einer UDP/TCP-Verbinung lokalisieren und deshalb ist es schon quatsch das Rad neuzuerfinden. Da wäre ich schon auf gängige Tools setzen. Ein Beispiel für ein Netzwerkproblem: Vor einem Jahr beklagten Kabel Deutschland/Vodafone Kunden, dass sie Probleme mit dem Spiel Diablo 3 hatten. Die Paketumlaufzeit zu den Diablo 3-Servern war extrem hoch (die werden schon im Spiel gemessen). Schuldig war die Route, die für diese Pakete gewählt wurde, da diese durch mehrere Netzwerke gingen, die sehr langsam waren. Kabel Deutschland/Vodafone hat deswegen extra für die Diablo 3-Server eine andere Route festgelegt.
  13. Das funktioniert aber nur so lange, wenn die Netzwerkverbindung tatsächlich steht aber diese nur langsam ist. Hat Kunde x gar keine Netzwerkverbindung, so kann er auch die Webseite nicht aufrufen. Ich bin zwar kein Netzwerkadministrator aber es gibt doch tonnenweise Tools für die Netzwerkanalyse.
  14. Wozu soll dann der Server dienen, wenn die Logik im Client liegt? Der Vorteil bei einer Client-Server-Applikation ist der, dass der Client dumm ist und nichts weiter macht, als die Eingabe vom Benutzer entgegen zu nehmen und die Resultate vom Server anzuzeigen. Der Client besitzt keinerlei Businesslogik. Außerdem müssste JavaScript dann auf native Anwendungen zurückgreifen (z.B. ping.exe) und wäre dann somit vom Betriebssystem abhängig und wäre somit nicht mehr Plattformunabhängig.
  15. Da frage ich mich eher, wieso man keine abstrakte Basisklasse verwendet, wenn die generierten Klassen schon so repetitiv, sodass man sie mit einem Codegenerator generieren kann? Wäre dann nicht vielleicht der Einsatz eines O/R-Mappers sinnvoller? Dokumentation ist sowieso so ein Thema für sich. Ja, in der Abschlussprüfung sollte man Wert drauf legen aber in der Praxis werden aber kaum Dokumentationen geschrieben. UML-Diagramme habe ich bis jetzt noch in keiner Softwareentwicklungsfirma gesehen. Klassendiagramme werden häufig dafür verwendet, um Abhängigkeiten festzustellen, die aufgelöst werden müssen oder um die Komplexität einer Klasse festzustellen. Also Dinge die man erst beim Refactoring braucht. Auch Ablauf- oder Sequenzdiagramme sieht man recht selten, weil die Abläufe der Software teils so komplex werden, sodass Diagramme nicht zu einer besseren Dokumentation beitragen und vereinfachte Diagramme, wie z.B. "Kunde drückt Button -> Server erstellt Report -> Server schickt Kunde den Report" braucht kein Mensch. Von Testprotokollen halte ich auch sehr wenig. Was soll den protokolliert werden? Üblicherweise schreibt man Unittests. Soll man die Ergebnisse der Unittests ausdrucken? Also das alles Grün ist? Ich gehe auch nicht davon aus, dass die IHK prüft, ob auch sinnvoll getestet wurde. Sprich, ob man die Testpyramide bestmöglich einhält. Ich halte die Vorgehensweise der IHK für sehr altmodisch. Auch das, was Rienne von der IHK zitert hat, hört sich für mich eher nach einem Wasserfallmodell an, wo schon vor der Implementierung klar ist, was und wie es implementiert werden soll. Das passt aber nicht zur heutigen agilen Softwareentwicklung und die Vorgaben der IHK sind mehr hinderlich als fördernd, weil sie ein völlig veraltetes Bild der Softwareentwicklung zeigen. Per Wasserfall hat man noch in den 80ern und 90ern entwickelt. Wer das heute noch tut ist auf dem Markt nicht mehr konkurrenzfähig, da der Markt sich rapide ändert und man muss mit diesen Änderungen klarkommen und das ist bei einem Wasserfallmodell nicht möglich und gerade durch das Wasserfallmodell entstehen solche Szenarien. Also im Klartext: unwartbarer Legacy Code, der historisch gewachsen ist, bei dem Refactoring eine komplette Neuentwicklung bedeuten würde. Wenn ich jedes Mal ein Cent bekommen würde, wenn ich höre, dass der Code speziell wäre, wäre ich schon Millionär.
  16. Ich hab zwar auch nicht so viel mit Javascript zu tun aber ich würde es als Client-server-applikation entwickeln. Der Client schickt per Ajax-technik ein HTTP-Request an den Server und der Server führt dann den Request (z.B. der ICMP-Echo-Request) aus und das Ergebnis schickt er zum Client zurück, welches der Client dann anzeigt.
  17. Ich wäre da auch sehr vorsichtig, denn es klingt nicht so ganz, dass ihr wisst, was ihr da tut. Wozu ein Verschlüsselungsalgorithmus? Baut ihr den Algorithmus selber? Was soll überhaupt verschlüsselt werden? Wird die Verbindung zum Server verschlüsselt? Wie wollt ihr es denn überhaupt hinbekommen, dass keine Rückschlüsse auf die Wahl und dem Login gezogen werden können? Schließlich muss gewährleistet werden, dass ein Mitarbeiter nur ein mal Wählen darf und gleichzeitig muss die Wahl anonym gespeichert werden. Es darf z.B. mit Hilfe von Zeitstempeln oder IP-Adressen keine Rückschlüsse gezogen werden, wer wen gewählt hat. Das muss unterbunden werden und das ist nicht gerade trivial. Dazu braucht man zwei physisch getrennte Systeme. Ich denke mal, dass ihr euch da ganz schön übernommen habt und auch gar nicht im Klaren seid, welche Risiken in so einen System sich verbergen. Da zerbrechen schon sehr viele ihren Kopf und es gibt ganze Firmen, die sich auf solche Systeme spezialisiert haben und ich denke nicht, dass ein Student aus dem zweiten Semester und ein Azubi dies mal so eben aus den Ärmeln schütteln können. Man liest ja immer wieder, dass E-Wahlen-Projekte wieder eingestellt werden.
  18. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in Coffeehouse's Themen
  19. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Nicht jeder ist Single und hat nur einen Ein-Person-Haushalt. Es gibt Menschen, die essen lieber am Abend mit seinem/ihrem Lebensgefährten und von einem Essen in der Firma hat der Partner nichts von. Folglich muss hier so oder so Geld ausgegeben werden. Außerdem: Woher soll das Essen denn kommen? Nicht jede Firma hat Platz für eine Kantine und von Fraß aus Alu-Schalen oder Fast-Food halte ich sowieso nicht viel.
  20. Naja, unter einem Ehrenamt verstehe ich was anderes ...
  21. Wenn es ehrenamtlich ist, kann man es doch auch mal vorstellen, oder nicht?
  22. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Bei uns ist Kaffee (ein Automat mit diversen Sorten), Wasser und Tee umsonst und zwei Mal in der Woche bekommen wir eine Obstlieferung. Bei uns gibt es zwar auch Mängel (in welcher Firma nicht?) aber die Chef-Etage schätzt unsere Arbeit, weil sie selber mal Softwareentwickler waren und aufgrund der hohen Komplexität unserer Software können wir uns auch keine hohe Fluktuation leisten, also wird versucht, es den Arbeitnehmern die Arbeit so angenehm und so sozial wie möglich zu gestalten. Home Office ist zu jeder Zeit möglich aber bei uns ist es so, dass physische Anwesenheit doch besser ist. Auch wird Sonderurlaub für Umzüge genehmigt. Wir arbeiten im Bankensektor und es schon sehr schwer Softwareentwickler zu finden, die auch was von Finanzmathematik verstehen. Also durchlaufen Neuangestellte erst mal durch eine mehrmonatige Schulung und wenn sie angelernt und auch produktiv sind, möchte man sie dann auch nicht unbedingt gleich an den nächsten Arbeitgeber verlieren. Jedes Jahr werden auch Gespräche über unser Wohlerfinden in der Firma geführt und ob es vielleicht Ideen gibt, was man verbessern könnte und diese werden auch auf ihre Machbarkeit überprüft. Derzeit wird geprüft, ob es möglich ist, mit mehreren Firmen eine Kindertagesstätte einzurichten, damit man die Kinder im Falle von Ferien, Schulausfällen, etc. mal für ein oder zwei Tage unterbringen kann. Es wird aber nicht versucht eine sog. Gated Community aufzubauen, wie man es hier schon häufig bei Startups sieht, wo dann quasi ein gewisser Gruppenzwang herrscht, doch bis 20 Uhr und länger in der Firma zu bleiben, um noch mit den Kollegen ein Bier zu trinken.
  23. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Nein, eben nicht: http://www.focus.de/finanzen/karriere/arbeitsrecht/urteilsspruch-zur-mehrarbeit-klauseln-zu-ueberstunden-sind-oft-unwirksam_aid_976632.html http://karrierebibel.de/ueberstunden/ (Im Abschnitt: "Arbeitsrecht: Sind Überstunden mit dem Gehalt abgegolten?") http://www.finanztip.de/arbeitsvertrag/arbeitsgesetz-ueberstunden/
  24. Whiz-zarD hat auf einen Beitrag in einem Thema geantwortet in IT-Arbeitswelt
    Das ist rechtlich gar nicht erlaubt. Es ist nur erlaubt, wenn im Vertrag eine explizite Anzahl an Überstunden steht, die damit abgegolten sind. Wenn nicht, ist der Vertrag nicht rechtens.
  25. Mal anders gefragt: Weißt du was Arrays sind?

Konto

Navigation

Suchen

Suchen

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.