Zum Inhalt springen

Han_Trio

Mitglieder
  • Gesamte Inhalte

    326
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Han_Trio

  1. Versuchs mal mit dem Modul "find" + dem Parameter "age". Siehe hier: https://docs.ansible.com/ansible/2.3/find_module.html -> "Select files whose age is equal to or greater than the specified time" Und eine praktische Anwendung hier: https://stackoverflow.com/questions/45855743/double-conditional-delete-all-folders-older-than-3-days-but-keep-a-minimum-of/45857847 (etwas anderer Fall, aber von der Syntax her vergleichbar) Sollte dann in etwa sowas hier sein: --- - hosts: all tasks: - name: find all files that are older than three days find: paths: "/path/to/folder/" age: "3d" file_type: directory register: dirsOlderThan3d - name: remove older than 3 days file: path: "{{ item.path }}" state: absent with_items: "{{ (dirsOlderThan3d.files }} (schnelles c+p keine Garantie für Funktionalität)
  2. Tatsächlich war das wohl mal ein Problem: https://github.com/fail2ban/fail2ban/issues/1593 wurde aber anscheinend "gelöst": https://github.com/fail2ban/fail2ban/pull/1619 Dieser Aussage nach solltest du safe sein, solange du zumindest ein korrekt funktionierendes jail hast. Da du ja ein SSH jail einrichtest, würd ich sagen: Probier es aus
  3. Schau dir mal unit files (von systemd) an. Hier sollte man mit After=mysql.service das erreichen können, was du meinst. Siehe auch hier: https://stackoverflow.com/questions/21830670/start-systemd-service-after-specific-service/21832006#21832006
  4. Soll das eine Art stop-motion Projekt werden? Da haben die Raspberry-Leute selber eine ganz coole Anleitung für: https://projects.raspberrypi.org/en/projects/push-button-stop-motion Das beinhaltet u.A. ein kleines Python-Script zum Erstellen der Bilder, aber die hast du ja bereits. Das Video aus den Standbildern wird hier erzeugt: https://projects.raspberrypi.org/en/projects/push-button-stop-motion/7 -> mit einem command (ffmpeg) auf dem Pi selber.
  5. "Aus dem Bauch raus" würd ich behaupten, es geht darum, dass im Umkehrschluss nicht von nicht-authorisierten Medien gestartet werden kann (?) Die entspr. Passage ist hier ein bisschen näher erläutert: https://www.vds10000-portal.de/doku.php?id=10k_kommentiert_public:10:10.3.6 Also, um das vielleicht zu verdeutlichen: Du verlierst dein Notebook, ich finde das und will mal schauen, was da so für schöne Dinge drauf sind. Ich würd mir ein Linux auf nen Bootstick spielen, dann boote ich dein Notebook damit.. und wenn du keine entspr. Gegenmaßnahmen ergriffen hast, würde ich mit minimalem Aufwand bereits vollen Zugriff haben. Oder noch einfacher, ich bau deine Platte aus, schließe sie extern bei mir an, und falls sie nicht verschlüsselt ist.. joah dann hab ich ebenfalls leichtes Spiel Allerdings lässt sich das auch recht einfach verhindern: - Booten von USB ausschalten (im BIOS) - BIOS durch Passwort schützen - Festplatte verschlüsseln Entscheidendes Stichwort ist hier wohl "fremde Medien" - also alles, was du nicht selbst authorisiert hast und jemand Anderes benutzen könnte.
  6. Nur zur Sicherheit: Das ist ein Schulprojekt, richtig? (und nicht in deinem Betrieb) Wenn das Ganze also NICHT produktiv / öffentlich zugänglich sein soll, kannst du dir mal XAMPP ansehen: https://www.apachefriends.org/de/index.html Das ist eine Software-Sammlung, in der u.a. ein Webserver, eine Datenbank und auch eine Webanwendung zur Administration der DB (phpmyadmin) enthalten ist. Lässt sich recht fix + komfortabel auf dem eigenen Rechner einrichten (wir hatten in der BBS damit auch gearbeitet), damit kann man dann auch entspr. präsentieren. Die andere Sache wäre dann die Konzeption und Befüllung der Datenbank (das könnten ja dann zB deine Mitstreiter erledigen.. ).
  7. Bist du sicher, dass das "eth0"-Interface vom remote Host verwendet wird? Ansonsten: Einen Schritt nach dem anderen Versuch erstmal, die remote IP überhaupt separat auszulesen, bevor du sie in eine Variable packst bzw. in eine Text-Datei schreiben willst. Hier zB sind unterschiedliche Methoden aufgeführt: https://www.middlewareinventory.com/blog/ansible-get-ip-address/ Eine Interface-spezifische (die du auch verwendest): - hosts: all gather_facts: yes tasks: # Getting the IP address of enp0s3 interface - debug: var=ansible_enp0s3.ipv4.address # Getting the IP address of eth0 interface - debug: var=ansible_eth0.ipv4.address -> für 2 spezifische remote Interfaces als Beispiel und dann noch unspezifisch, ausgelesen aus den sog. Ansible facts: - hosts: all tasks: - debug: var=hostvars[inventory_hostname]['ansible_default_ipv4']['address'] - debug: var=hostvars[inventory_hostname]['ansible_default_ipv6']['address'] Das "debug" dient dazu, einfach nur statements auszugeben, wenn sie ausgeführt werden. Versuch das vielleicht erstmal mit einem normalen Ansible run, ohne Variablen etc. - was das jew. ausgeben sollte, ist auf der Seite oben ebenfalls mit angegeben (nämlich eben nur die IP-Adresse). Wenn das funktioniert, dann kann man weiter überlegen, wie man das in eine Variable schmeißt + in eine Textdatei schreibt.
  8. BBiG §21 Abs. 2: (2) Bestehen Auszubildende vor Ablauf der Ausbildungsdauer die Abschlussprüfung, so endet das Berufsausbildungsverhältnis mit Bekanntgabe des Ergebnisses durch den Prüfungsausschuss. https://www.gesetze-im-internet.de/bbig_2005/__21.html Bei mir persönlich war es so, dass mein Ausbildungsvertrag bis 31.07. lief, ich jedoch bereits Mitte Juni erfolgreich die Ausbildung abgeschlossen habe. Am nächsten Tag begann also "vorzeitig" mein reguläres Arbeitsverhältnis - beide Verdienste (Ausbildungsvergütung und Gehalt) wurden für diesen Monat zeitlich anteilig zusammengefasst. In meinem Übernahmevertrag wurde entsprechend auch vorher das korrekte Datum eingetragen.
  9. "Normal" wird wohl auch immer in Zusammenhang mit dem entspr. Arbeitsvertrag zu sehen sein Für Akutes: Fällt bei uns unter Bereitschaft und wird 1,5x angerechnet. Genauer: Die bereitschaftshabende Person trägt die damit verbrachte Zeit explizit als Bereitschaftszeit ein, das System nimmt es x1,5 und schreibt es dem Stundenkonto gut. Anschließend abfeiern "nach Belieben", eine tatsächliche Auszahlung passiert nur in Ausnahmefällen. Für geplante, also länger im Voraus bekannte und terminierte Arbeiten, kann auch durchaus eine alternative Regelung getroffen werden, zB "ok ich mach das kommenden Samstag, dafür komme ich am Montag drauf dann nicht bzw. mache nur nen halben Tag" o.Ä.
  10. Moin, abseits von Ansible: Sei bereit, bei einem dist-upgrade potentiell mit.. unschönen Dingen zu rechnen. Es werden andere Versionen von Paketen eingesetzt, die ggf. gewisse Funktionen nicht mehr unterstützen, Konfig-Dateien befinden sich "plötzlich" an anderer Stelle, oder es wird gar ein Paket überhaupt nicht mehr ausgeliefert bzw. ersetzt. Muss alles nicht, kann aber. Ich kann grundsätzlich im Umgang mit Ansible empfehlen, alles, was man automatisieren möchte, vorher auch "zu Fuß" zu beherrschen, also in diesem Fall: Wie würde ein dist upgrade mit den einzelnen Commands in der Konsole ablaufen. Erspart hinterher ne Menge Zeit beim Troubleshooting. Konkret fällt mir an deinem Playbook eigentlich nur eine kleine Kritik ein: "shell: apt-get update" und "apt: update_cache=yes" machen genau das Gleiche -> siehe: https://docs.ansible.com/ansible/2.3/apt_module.html Es wird mit dem shell Modul auch funktionieren, aber grundsätzlich würde ich, falls ein passendes Modul vorhanden ist, immer dieses empfehlen. Außerdem bin ich persönlich ein Fan von Roles - aber das kommt mit der Zeit, es bezieht sich eher auf den Aufbau eines Playbooks in Bezug auf Übersichtlichkeit + Wiederverwendbarkeit. Wenn Playbooks später immer größer werden (und das WERDEN sie), ist diese Aufteilung umso sinnvoller. Also als Tips für die Zukunft: - mach das Ganze vorher auch "zu Fuß", damit du verstehst, was da passiert - setze dich mittelfristig mit der Auslagerung in Ansible-Rollen auseinander - die (noch fehlende) Spezifität in Bezug auf Debian hast du ja selber schon angesprochen. Vermutlich hast du dann von "Ansible Conditionals" bereits zumindest gehört
  11. Ich hab zwar keine Ahnung von Windows aber was du beschreibst, ist klassisches Load Balancing - dabei wird die jew. anfragende Verbindung auf eine von mehreren Maschinen weitergeleitet, die alle dieselbe Funktion erfüllen. Für den Benutzer passiert das Ganze quasi unsichtbar, vom Loadbalancing bekommt er im Normalfall nichts mit. Je nach Bedarf kann man dabei versch. Algorithmen nutzen, das üblichste wäre wohl das sog. "round robin" (dabei wird auf alle beteiligten Maschinen - ungewichtet - gleich verteilt, also eine nach der anderen, und dann irgendwann wieder von vorne). Man kann aber auch nach Auslastung gewichten, zB Anzahl der aktiven Verbindungen, oder auch "resource based" (das bezieht dann die aktuelle generelle Auslastung mit ein), also adaptiv / dynamisch.
  12. Alte Prüfungen durchzuarbeiten ist aus mehreren Gründen ein guter Ratschlag: - die letzten 5 Jahre haben sich als nutzbringend erwiesen, denn so hast du - quasi automatisch - auch einen guten Überblick über die verschiedenen Themen (zwar nie ganz 100%, denn es kommt ja auch mal etwas dazu oder fällt weg, aber schon ziemlich gut) - du kannst dich an die Art der Fragestellung gewöhnen, die manchmal etwas.. speziell ist -> du vergeudest keine wertvolle Zeit damit, erstmal rausfinden zu müssen, um was es überhaupt geht - es schafft einfach generell mehr Sicherheit (überschneidet sich mit Punkt 2) - du bist weniger nervös, hast mehr Zeit übrig, etc. Weil du es einfach schon kennst, sowohl inhaltlich als auch vom Ablauf her. Davon abgesehen, ich denke grundsätzlich (also abgesehen von alten Prüfungen) hast du bereits ein solides Lernkonzept ("was kann ich noch nicht so gut, genau daran arbeite ich spezifisch weiter"). Es wird immer wieder Themen geben, die du (noch) nicht kannst Ich weiß nicht, inwiefern das tatsächlich "normal" ist, aber auch bei meiner Prüfung kamen Dinge dran, die wir in der BBS nie hatten. Man kann sich dann drüber beschweren und rummaulen, dass das ja total unfair ist etc., oder aber man ist froh, dass man durch die alten Prüfungen darauf aufmerksam gemacht worden ist und so die Gelegenheit hatte, sich das trotzdem anzueignen. Speziell zum Thema Struktogramm / Pseudocode: Joah.. keine Ahnung, ehrlich gesagt - ich denke, auch hier ist man mit einem grundsätzlichen Training gut unterwegs. Also einerseits die Logik, die dahinter steckt, und dann halt die praktische Umsetzung, also "wie bringe ich das Ganze verständlich zu Papier". Der entscheidende Punkt ist wohl der, an dem die "Übersetzung" stattfindet vom Inhalt des Prüfungstextes hin zu einer Idee, wie man das Ganze durchführen könnte. Das Schöne an (Pseudo)code ist ja, dass es letztendlich egal ist, ob man zB eine Schleife nun über 100 Hühner, 35 Schüler, X Verpackungen oder Y Hotelzimmer drüber laufen lässt, der Mechanismus bleibt der gleiche. (ich hoffe, es ist klar, was ich meine). Was zählt, ist dass man selber drauf kommt und weiß, warum man so vorgeht. Müsste ich das Ganze auf wichtige Stichwörter eingrenzen, die man drauf haben sollte, so wären das Variablen, Schleifen und Bedingungen. Ansonsten halt: Üben, üben, üben wenn du noch ein praktisches Beispiel benötigst, kannst du ja mal nach "FizzBuzz" googlen. Und noch generelle Tips, wenn du dann letztendlich tatsächlich in der Prüfung sitzt: - Entscheide dich möglichst AM ANFANG, welches Thema du nicht bearbeitest. - Wenn du bei etwas nicht weiter kommst, lass es erstmal liegen für später. Drüber nachdenken kannst du auch später noch, und ich würde empfehlen, zuerst die sicheren Punkte mitzunehmen.
  13. Ist das deine Lösung, oder die mitgelieferte? -> Die ist nämlich falsch Tip: Das "0x" am Anfang sagt lediglich, dass es sich hier um eine hexadezimale Schreibweise handelt, der Ausdruck ist nicht Teil der Zahl.
  14. Meine Rechnung: 50W * 48h * 52 = 124800 Wh / Jahr Entspricht 124,8 kWh / Jahr 124,8 * 0,26€ = 32,448€ Differenz / Jahr -> 32€ Wenn ich jetzt mal die vermeintlich "korrekte" Lösung von 1298€ nehme und das durch die 32,448 teile, dann komme ich ziemlich exakt auf 40. -> Kann es sein, dass hier ein Teil der Aufgabe fehlt, und es nicht nur ein PC, sondern 40 sind? € ein Hoch auf die Schwarmintelligenz 😆
  15. Ich mach das zwar nur unter Linux, aber es kann hier sicher auch nicht schaden, nachzufragen: Hast du den Apache nach den vorgenommenen Änderungen neu gestartet bzw. reloaded, damit die Änderungen auch greifen?
  16. Ich würde schätzen, ich verbringe im HomeOffice ca. 2/3 produktiv und insgesamt 80%+ "sinnvoll". Wenn akut nix zu tun ist, findet sich tatsächlich eigentlich immer etwas - Weiterbildung + Optimierung im weitesten Sinne, Doku etc., was @Rabber auch schon angeführt hat. Das mag zwar nicht immer völlig "betriebsnah" sein, aber andererseits weiß man nie, wann man etwas Interessantes vielleicht doch mal gebrauchen kann
  17. Also du hast bereits: - eine (öffentliche) IP + einen Ubuntu-Server, der diese verwendet - eine registrierte Domain -> zumindest die A records für die Domain gesetzt (leer + www, oder auch "*") ? Schritt 1, den ich erstmal prüfen würde: Ist die Verknüpfung von Domain und IP überhaupt schon "durch"? Überprüfung ist recht leicht: Führe mal einen ping auf die Domain aus (also auf den Namen, nicht die IP). Wenn du eine Domain registrierst, kann es durchaus ein wenig dauern, bis dieser DNS-Eintrag sich "um die Welt" gearbeitet hat, also die Nameserver diese Verknüpfung hergestellt und auch weiter gereicht haben. Klingt aber eher allgemein, also nach DNS und nicht certbot-spezifisch. Im Zweifelsfall warte einfach mal ein wenig ab.
  18. Moin, falls du mit Englisch kein Problem hast, kann ich dir diese empfehlen: https://www.amazon.de/UNIX-Linux-System-Administration-Handbook/dp/0134277554 Umfangreich, detailliert, mMn auch sehr angenehm zu lesen. Es ist vielleicht für jemanden, der noch ganz am Anfang steht, leichter Overkill, aber man muss die >1000 Seiten ja auch nicht an einem Tag lesen Auf Youtube: - TutoriaLinux https://www.youtube.com/watch?v=bju_FdCo42w&list=PLtK75qxsQaMLZSo7KL-PmiRarU7hrpnwK -> Playlist "Linux Sysadmin Basics" - fängt tatsächlich bei den absoluten (theoretischen) Basics an, hat aber auch viele nützliche praktische Anteile, die man schnell gut gebrauchen kann. Derselbe Herr hat auch einen recht guten (wenn auch kostenpflichtigen) Kurs bei Udemy: https://www.udemy.com/course/hands-on-linux-self-hosted-wordpress-for-linux-beginners/ also ordentlicher Praxisanteil, sprich learning by doing. Ansonsten vielleicht noch dieses hier, speziell für bash (scripting): https://www.amazon.de/Shell-Programmierung-umfassende-Handbuch-Bourne-Again-Shell-UNIX-Administratoren/dp/3836263467 Das ist ebenfalls ziemlich umfangreich. Ich persönlich mag es v.a., weil es recht gut strukturiert ist, so habe ich es immer nah "am Mann" liegen, um mal was nachzuschlagen.
  19. Auch wenn das jetzt etwas blöd klingt: Du weißt zumindest, dass du etwas (noch) nicht weißt. Und das ist schon mehr, als manch andere wissen Will sagen: Du hast ein Gespür für deine eigene Unwissenheit, bzw. besser noch: Du bist dir deiner spezifischen Defizite bewusst. Das ist schonmal der erste Schritt, und so hast du zumindest den Vorteil, die Richtung bzw. Thematik grob zu kennen, und du kannst dich so gezielt auf die Suche nach Material begeben. Die Frage ist natürlich, wie, wo und womit - dafür hat es ja hier bereits ein paar gute Tips. Grundsätzlich zum Lernen: Mir hat geholfen, ein Thema in immer kleinere Teilschritte zu zerlegen, bis ich ein überschaubares "Mini-Thema" hatte, auf das ich mich konzentrieren konnte. Sobald ich dieses dann drauf hatte, ging es ans nächste, etc. Hat den Vorteil, man steht nicht einfach nur vor einem scheiß riesigen Berg und denkt sich "moah, das schaff ich NIE", sondern man kann erstmal einen kleinen Gipfel ersteigen, sich darüber freuen und dann die nächste Etappe angehen. Bis man sich dann irgendwann umschaut und merkt, dass man bereits die Hälfte hinter sich gebracht hat. Speziell zum Thema Subnetting: Das ist natürlich leider etwas, was man nicht mal "so eben" aus dem Ärmel schüttelt. Wenn dir also die sog. "CIDR notation" (das sind die Netz-Bezeichnungen /24, /28, etc) noch nichts sagt, dann spring eine Ebene zurück: Was genau ist eigentlich eine IP-Adresse, wie ist die aufgebaut? Dann kommst du recht schnell darauf, warum eine IP-Adresse in dezimaler Form aufgeschrieben wird, obwohl sie eigentlich binär ist -> Und dann sollte sich zB auch die Frage klären, warum in der Lösung von "2^4" (lies: 2 hoch 4) die Rede ist. Viel Erfolg!
  20. Ich frage mal andersrum: Was wollt ihr denn damit vermeiden, wenn ihr es eben nicht einfach nur in eine Kiste packen wollt? (ich tippe mal auf "oh, ja wir hatten mal 10 Stck, aber irgendwie sind die alle weg.. ) Wir haben ganz gute Erfahrungen mit Folgendem gemacht: Jede Person, die da ran darf, ist für "seine" Teile zuständig. Entweder, es hat jeder nur sein einzelnes, oder aber man teilt es auf, also bei 10 Stck und 2 Personen halt jeder 5. Die werden mit Namen beschriftet, und jedes Mal, wenn ein Teil "irgendwo" rumfliegt und jemand anders es findet, gibt er es höchstoffiziell dem Verantwortlichen zurück, aber halt so, dass es möglichst viele andere Leute auch mitbekommen. Der Verantwortliche hat dann gefälligst ne Menge Asche auf sein Haupt zu streuen, an Eides statt und im Namen des großen Nyarlathotep zu schwören, dass so etwas nie wieder vorkommt, und außerdem die nächste Runde Süßkram für's Büro auszugeben. Alternativ zB einmal pro Woche schauen, ob noch alle da sind. Falls nicht, s.o. Funktioniert super, mit vielen Dingen - nicht gesperrte Arbeitsmonitore sind auch so ein Thema
  21. Moin, ich persönlich halte es grundsätzlich so: 0 Recherche, ggf. versch. Quellen 1 Aufschreiben (möglichst in meinen eigenen Worten) 2 Verstehen / ergänzendes Nachrecherchieren 3 Anwenden (Praxis) 4 von vorn bis es sitzt "Stumpfes" Auswendig-lernen habe ich bereits zu Schulzeiten für wenig effektiv gehalten - das mag für Sachen funktionieren, die man ausschließlich kurzfristig (zB für eine Prüfung benötigt) benötigt und danach nie wieder, aber generell bleibt da (zumindest bei mir) quasi nichts hängen. Anwendung bzw. Praxis bringt Sicherheit; damit einhergehend fällt es zunehmend leichter, was wiederum einen gewissen Motivationsschub mit sich bringt. Was aber am wichtigsten ist: Ich muss Bock auf das Thema haben, dann flutscht es im Prinzip von selber, und ich bin auch gern bereit, Zeit zu investieren. Kann man sich nur leider nicht immer aussuchen..
  22. Vielleicht (?) wäre es sinnvoller, dich zuerst selbst zu fragen, in welche grobe Richtung du gehen möchtest? Und dann anhand dieser Vorstellung die Wahl einengen. Ansonsten hast du vermutlich immer ein wenig das aktuelle Henne-Ei Problem: Du kannst nicht sinnvoll suchen, weil du mit der Flut an Angeboten erschlagen wirst, aber andererseits fehlt dir eine +/- konkrete Vorstellung deiner Wunschtätigkeit(en) und damit eben die Möglichkeit, die Suche einzugrenzen. Gibt es denn einen (oder auch mehrere) Bereiche, für die du dich interessierst? Dann könntest du zB schonmal nach einschlägigen Stichworten suchen, gibt ja jede Menge
  23. Es geht ja eben darum, dass du NICHT explizit einen bestimmten Host bzw. eine bestimmte IP anpingst, sondern einen bestimmten Eintrag (-> eine URL, in diesem Beispiel "www"). Dahinter stehen mehrere IPs, die quasi alle zum selben Ziel führen -> das sog. Load Balancing / Lastverteilung. Anders gesagt: Du teilst die Anfragen auf, die an eine Adresse gestellt werden, auf mehrere IPs. Das, was "dahinter" erreicht wird, ist dasselbe (also immer die gleiche Webseite). Round Robin ist dann die Art der Verteilung, also zB, dass alle eingetragenen IPs im Wechsel bedient werden. € aber wie ich sehe, hat es sich bereits geklärt
  24. Lösen wir uns vielleicht mal kurz von Schleifen um die Negierung zu klären. Wenn du dir vorstellst, du hast eine Reihe von ganzen Zahlen, die an einer ganz bestimmten Stellen getrennt werden sollen, durch zwei (gegenteilige) Bedingungen. Die Trennung findet zwischen 6 und 7 statt; die eine Bedingung soll alles "links" davon abdecken, die andere alles "rechts" davon. Ungefähr so: [...] 5, 6 || 7, 8, [...] Wenn du nun also definierst, alles links der Trennung wäre "kleiner als 7", dann wäre die Negierung (für die rechte Seite) eben das Gegenteil davon, und das ist NICHT "größer als 7", denn dann würde die 7 von beiden Bedingungen nicht erfasst werden. Es muss also "größer oder gleich 7" sein. Es gilt also: "-lt 7" -> "-ge 7" Andersrum geht es auch: Du könntest sagen, alles rechts der Trennung wäre "größer als 6". Dann wäre die Negierung (für die linke Seite) NICHT "kleiner als 6", sondern eben "kleiner oder gleich 6" -> ansonsten würde die 6 rausfallen. Hier würde gelten: "-gt 6" -> "-le 6"
  25. until ($n -ge 7) bedeutet "bis der Wert von Variable n größer oder gleich 7 ist". Wenn du mit einem Wert von 6 in die Schleife reingehst, wird sie durchgeführt: Es wird "6" ausgegeben, anschließend wird der Wert von n um eins erhöht. Mit diesem neuen Wert (7) von n ist die "until" Bedingung dann erfüllt, und die Schleife wird verlassen (und zwar, BEVOR sie erneut ausgeführt wird). Zum Vergleich, so würde ich die entspr. Skripte in Bash schreiben: #!/bin/bash n=1 while [ $n -lt 7 ]; do echo "Schleifen Nummer: $n" n=$(( $n + 1 )) done ########## n=1 until [ $n -ge 7 ]; do echo "Schleifen Nummer: $n" n=$(( $n + 1 )) done Die Syntax ist halt leicht anders, und die beiden Teile sind kopfgesteuert, was die Bedingung angeht. Aber im Kern ist es genau das Gleiche. Hier ist vielleicht etwas besser ersichtlich, wann genau die Bedingung überprüft wird, und warum genau eben (in beiden Fällen) die Schleife verlassen wird, sobald n = 7 ist. Um die eigentliche Frage zu erörtern: Ich persönlich habe nichts gegen Vereinfachungen, um sich Sachen zu merken, aber wenn man schon sagt: "While und until lassen sich ersetzen, indem man die Bedingung negiert", dann sollte es auch klar ersichtlich sein, wie diese Negierung abläuft. Offensichtlich ist also, diesem Beispiel folgend, die Negierung von "-lt" NICHT "-gt", sondern eben "-ge".

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