Ein unabhängiger Ratgeber für alle, die von null an programmieren lernen. Nicht verbunden mit der früheren Website auf dieser Domain, mit Unternehmen oder Schulen; wir verkaufen keine Kurse und versprechen keine Jobs.

Sicherheit

Sicherheit

Sicherheit scheint ein Thema für erfahrene Entwickler zu sein, doch Einsteiger gehen nicht weniger Risiken ein. Ein Übungsprojekt landet schnell samt E-Mail-Passwort in einem öffentlichen Repository, ein Skript aus einem beliebigen Forum wird ungeprüft ausgeführt, und eine Bibliothek mit ähnlichem Namen entpuppt sich als Fälschung. Die meisten dieser Pannen lassen sich mit ein paar einfachen Gewohnheiten verhindern. In diesem Bereich finden Sie die Risiken, denen Einsteiger am häufigsten begegnen, und die Grundlagen offener Lizenzen.

Ein Passwort, das einmal im Verlauf eines öffentlichen Repositorys gelandet ist, gilt als allen bekannt – und muss sofort geändert werden.

— Aus der Redaktion

So ist dieser Bereich aufgebaut: Wir beschreiben Risiken allgemein, ohne Namen von Programmen und Diensten und ohne erfundene Statistiken. Die Angaben zu Lizenzen sind allgemeine Informationen und keine Rechtsberatung.

Risiken für Einsteiger

Sechs Situationen, in die man in den ersten Monaten des Lernens leicht gerät.

Schlüssel und Passwörter im Code

Passwörter, Tokens und Zugangsschlüssel gehören nicht direkt in die Programmdateien und nicht ins Repository. Bewahren Sie sie in einer separaten Konfigurationsdatei oder in Umgebungsvariablen auf und setzen Sie diese Datei auf die Ignorierliste.

Anleitungen

Fremde Skripte aus dem Internet

Führen Sie keinen Code aus, den Sie nicht verstehen – vor allem keine Befehle, die Administratorrechte verlangen oder etwas nachladen. Lesen Sie das Skript zuerst und finden Sie heraus, was es tut.

Fehler

Gefälschte Pakete

Angreifer veröffentlichen Bibliotheken mit Namen, die bekannten ähneln, und setzen auf Tippfehler. Prüfen Sie den Namen anhand der offiziellen Dokumentation und sehen Sie nach, wer das Paket pflegt.

Werkzeuge

Veraltete Abhängigkeiten

In alten Versionen von Bibliotheken werden Schwachstellen gefunden, die in neueren behoben sind. Aktualisieren Sie Abhängigkeiten regelmäßig und lesen Sie nach, was sich geändert hat, besonders wenn sich die Hauptversionsnummer ändert.

Glossar

Schwache Passwörter

Ihr Konto beim Repository-Hosting schützt Ihren gesamten Code. Verwenden Sie ein langes, einmaliges Passwort, einen Passwortmanager und die Zwei-Faktor-Authentifizierung.

Fragen

Öffentliches Repository mit privaten Daten

Screenshots, Exporte, Adressen, Telefonnummern und Arbeitsdokumente sind in einem öffentlichen Repository für alle sichtbar. Prüfen Sie vor dem Veröffentlichen, welche Dateien in den Verlauf gelangen, und bewahren Sie Privates in privaten Repositorys auf.

Fragen

Open Source und Lizenzen

Open Source bezeichnet Programme, deren Quelltext unter einer offenen Lizenz für alle zugänglich ist. Eine solche Lizenz erlaubt es, den Code zu nutzen, zu untersuchen, zu verändern und weiterzugeben – allerdings unter bestimmten Bedingungen, etwa dass die Urheberangabe erhalten bleibt oder Änderungen unter derselben Lizenz veröffentlicht werden.

Die Definition von Open Source pflegt die Open Source Initiative, eine gemeinnützige Organisation, die 1998 gegründet wurde. Wenn Sie fremden Code in Ihr Projekt übernehmen, lesen Sie dessen Lizenz und erfüllen Sie ihre Bedingungen. Wenn Sie eigenen Code veröffentlichen, wählen Sie ausdrücklich eine Lizenz: Ohne sie ist für andere unklar, was sie mit Ihrem Code tun dürfen.

  • Fehler

    Befehl nicht gefunden, Syntaxfehler, Programm bleibt stumm, Konflikt im Repository, verlorene Änderungen – was Sie prüfen sollten.

  • Werkzeuge

    Die Grundausstattung ohne Marken: Code-Editor, Terminal, Interpreter oder Compiler, Versionsverwaltung, Repository-Hosting, Paketmanager.

  • Fragen

    Antworten zum Ratgeber, zum Lernen von null an und zu ersten Projekten in der Praxis.

Quellen

  • Open Source Initiative — The Open Source Definition
  • Git documentation

Daten und Definitionen stammen aus offizieller Dokumentation und Spezifikationen zum angegebenen Stand. Sprachen und Werkzeuge entwickeln sich weiter – prüfen Sie Details daher in den aktuellen Primärquellen.