From 95b92ebd02bfdc911cb9425dd37003e5400eaf1e Mon Sep 17 00:00:00 2001 From: megamichi Date: Fri, 8 Nov 2024 13:05:32 +0100 Subject: [PATCH] adding oneline.md and reformat everything --- .gitignore | 1 + .idea/.gitignore | 3 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 7 ++ .idea/modules.xml | 8 ++ .idea/tipps_und_tricks.iml | 8 ++ .idea/vcs.xml | 6 + README.md | 73 +------------ git/git.md | 74 +++++++++++++ michi_git.md => git/michi_git.md | 0 python/oneline.md | 103 ++++++++++++++++++ 11 files changed, 222 insertions(+), 67 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/tipps_und_tricks.iml create mode 100644 .idea/vcs.xml create mode 100644 git/git.md rename michi_git.md => git/michi_git.md (100%) create mode 100644 python/oneline.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..db8786c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..f97522f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/tipps_und_tricks.iml b/.idea/tipps_und_tricks.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/tipps_und_tricks.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index f1160ad..bb15aa1 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,8 @@ -Bei dem Error `fatal: refusing to merge unrelated histories` den Befehl `git pull origin master --allow-unrelated-histories` verwenden und das Problem ist gelöst. +# Tipps und Tricks zu verschiedenen Sachen -### [Michis Git Verstäännis](./michi_git.md "Git isz doof") - -### [YT Tutorial](https://youtube.com/playlist?list=PLNmsVeXQZj7rbmmqb1Lt_RGU4DEhelTrR&si=U-ldkXilfRgSsBYn) - -### Der Reponame "main" ist voreingestellt, es gehen auch andere. - -Am Beispiel dieses Readme.md: - -``` -git checkout -b main -git add README.md -git commit -m "first commit" -git remote add origin git@teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git -git push -u origin main -``` - ॐ wn@magma:~/python/tipps_und_tricks→git:(main) vi README.md - ॐ wn@magma:~/python/tipps_und_tricks→git:(main) - ॐ wn@magma:~/python/tipps_und_tricks→git:(main) ✗ git push -u origin main -Branch 'main' folgt nun Remote-Branch 'main' von 'origin'. -Everything up-to-date - ॐ wn@magma:~/python/tipps_und_tricks→git:(main) ✗ git commit README.md -[main a0d4d5c] geändert: README.md - 1 file changed, 11 insertions(+), 1 deletion(-) - ॐ wn@magma:~/python/tipps_und_tricks→git:(main) git push -u origin main ->> Objekte aufzählen: 5, fertig. -Zähle Objekte: 100% (5/5), fertig. -Delta-Kompression verwendet bis zu 4 Threads. -Komprimiere Objekte: 100% (2/2), fertig. -Schreibe Objekte: 100% (3/3), 535 Bytes | 535.00 KiB/s, fertig. -Gesamt 3 (Delta 0), Wiederverwendet 0 (Delta 0), Pack wiederverwendet 0 -remote: . Processing 1 references -remote: Processed 1 references in total -To teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git - 83c741e..a0d4d5c main -> main -Branch 'main' folgt nun Remote-Branch 'main' von 'origin'. - -# ssh - -Ein Zugriff auf den Teetopf über https ist komplexer und unsicherer als über **ssh** -ssh ist ein unverzichtbare universelles "Schweizermesser" für professionelles und sicheres Arbeiten im Netz. -Um _forgejo_ auf teapot mit ssh zu bedienen, muss mensch einen zweiteiligen Schlüssel generieren. -Das vom Server bevorzugte, weil am schwersten zu knackende Verschlüsselungssystem ist ed25519. -Einfach zu erzeugen: -``` -ssh-keygen -t ed25519 -``` -Das zum Entsperren des Schlüssels notwendige lokale Passwort sollte böse und gemein sein, sonst ist die Übung im Falle eines geklauten Rechners fürn A... -Je nach verwendetem Desktopsystem bietet Linus natürlich an, sich die Passphrase wegzuspeichern. -Um damit das remote System zu bedienen, muss der öffentliche Teil des Schlüssels dort abgelegt werden. Lokal ist das zumeist die Datei -``` -~/.ssh/id_ed25519.pub -``` -Die klappste in die Zwischenablage und bunkerst sie in deinem Profil im _forgejo_ -**Auf keinen Fall den privaten Schlüssel hochladen oder überhaupt jemals irgendwo durch irgendwelche Leitungen schicken!** -Sollte das versehentlich passiert sein, kannste den Schlüssel löschen und nen neuen anlegen. -Der Publickey darf im Fernsehen gesendet werden, das schadet nix. - -Eine prima Seite mit Infos zu git und ssh schrieb der Patrick Asmus, klixdu hier: [SSH-Keys für gitea](https://www.media-techport.de/2023/08/howto-ssh-schluessel-fuer-gitea-einfache-einrichtung/ "HP Patrick Asmus") - -Wenn alles passt, kannst du mit der Befehlsverbindung **&&**, was soviel bedeutet wie "If Exitcode=OK then" die nötigen Kommandos zusammenfassen: -``` -vi README.md && git commit -m "Mein Kommentar" README.md && git push -u origin main -``` - -und du hast die aktuelle Version im lokalen und im entfernten Repo. -Das funktioniert nicht bei nicht eigenen Repos, wenn die auf "privat" geschaltet sind. +## Git +- [Git README](./git/git.md "Git ist doof") +- [YT Tutorial (Morpheus)](https://youtube.com/playlist?list=PLNmsVeXQZj7rbmmqb1Lt_RGU4DEhelTrR&si=U-ldkXilfRgSsBYn) +## Python +- [One Line Python Scripts](./python/oneline.md) \ No newline at end of file diff --git a/git/git.md b/git/git.md new file mode 100644 index 0000000..c0924fa --- /dev/null +++ b/git/git.md @@ -0,0 +1,74 @@ +# Alles rund um Git + +## Readme's +- [Michis Git Verstännis](./michi_git.md "Git ist doof") + + +## Weiteres: +### Der Reponame "main" ist voreingestellt, es gehen auch andere. +> Am Beispiel dieses Readme.md: +> _Setup:_ +> ``` +> git checkout -b main +> git add README.md +> git commit -m "first commit" +> git remote add origin git@teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git +> git push -u origin main +> ``` +> _Bash:_ +> ``` +> $ vi README.md +> $ git push -u origin main +> Branch 'main' folgt nun Remote-Branch 'main' von 'origin'. +> Everything up-to-date +> $ git commit README.md +> [main a0d4d5c] geändert: README.md +> 1 file changed, 11 insertions(+), 1 deletion(-) +> ॐ wn@magma:~/python/tipps_und_tricks→git:(main) git push -u origin main +> >> Objekte aufzählen: 5, fertig. +> Zähle Objekte: 100% (5/5), fertig. +> Delta-Kompression verwendet bis zu 4 Threads. +> Komprimiere Objekte: 100% (2/2), fertig. +> Schreibe Objekte: 100% (3/3), 535 Bytes | 535.00 KiB/s, fertig. +> Gesamt 3 (Delta 0), Wiederverwendet 0 (Delta 0), Pack wiederverwendet 0 +> remote: . Processing 1 references +> remote: Processed 1 references in total +> To teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git +> 83c741e..a0d4d5c main -> main +> Branch 'main' folgt nun Remote-Branch 'main' von 'origin'. +> ``` + +## SSH Setup + +Ein Zugriff auf den Teetopf über https ist komplexer und unsicherer als über **ssh** +ssh ist ein unverzichtbare universelles "Schweizermesser" für professionelles und sicheres Arbeiten im Netz. +Um _forgejo_ auf teapot mit ssh zu bedienen, muss mensch einen zweiteiligen Schlüssel generieren. +Das vom Server bevorzugte, weil am schwersten zu knackende Verschlüsselungssystem ist ed25519. +Einfach zu erzeugen: +``` +ssh-keygen -t ed25519 +``` +Das zum Entsperren des Schlüssels notwendige lokale Passwort sollte böse und gemein sein, sonst ist die Übung im Falle eines geklauten Rechners fürn A... +Je nach verwendetem Desktopsystem bietet Linus natürlich an, sich die Passphrase wegzuspeichern. +Um damit das remote System zu bedienen, muss der öffentliche Teil des Schlüssels dort abgelegt werden. Lokal ist das zumeist die Datei +``` +~/.ssh/id_ed25519.pub +``` +Die klappste in die Zwischenablage und bunkerst sie in deinem Profil im _forgejo_ +**Auf keinen Fall den privaten Schlüssel hochladen oder überhaupt jemals irgendwo durch irgendwelche Leitungen schicken!** +Sollte das versehentlich passiert sein, kannste den Schlüssel löschen und nen neuen anlegen. +Der Publickey darf im Fernsehen gesendet werden, das schadet nix. + +Eine prima Seite mit Infos zu git und ssh schrieb der Patrick Asmus, klixdu hier: [SSH-Keys für gitea](https://www.media-techport.de/2023/08/howto-ssh-schluessel-fuer-gitea-einfache-einrichtung/ "HP Patrick Asmus") + +Wenn alles passt, kannst du mit der Befehlsverbindung **&&**, was soviel bedeutet wie "If Exitcode=OK then" die nötigen Kommandos zusammenfassen: +``` +vi README.md && git commit -m "Mein Kommentar" README.md && git push -u origin main +``` + +und du hast die aktuelle Version im lokalen und im entfernten Repo. +Das funktioniert nicht bei nicht eigenen Repos, wenn die auf "privat" geschaltet sind. + + +## Bei dem Error `fatal: refusing to merge unrelated histories` +den Befehl `git pull origin master --allow-unrelated-histories` verwenden und das Problem ist gelöst. diff --git a/michi_git.md b/git/michi_git.md similarity index 100% rename from michi_git.md rename to git/michi_git.md diff --git a/python/oneline.md b/python/oneline.md new file mode 100644 index 0000000..7eadafa --- /dev/null +++ b/python/oneline.md @@ -0,0 +1,103 @@ +# Python Programme in einer Zeile code schreiben + +Wenn du Scripte bis zur einer Zeile Code verkürzen möchtest; Hab ich hier ein paar Möglichkeite aufgeschrieben. +Eine ist Lambda, weiteres findest du in Inhaltsverzeichniss: + +## Inhaltsverzeichnis: +1. [Lambda](##-lambda-funktionen-grundlage) +2. [Semikolons](##-semikolon) +3. [Listen definieren](#-list-comprehension) +4. [Mehrfachzuwesungen](##-variablen-mehrfachzuwesungen) + +## Lambda Funktionen Grundlage +Lambda wird benutzt um eine **Anonyme Funktion** zu definieren +> Beispiel: +> ``` +> funcbla = +> funcbla() +> ``` + +Oder du kannst eine lambda Funktion direkt ausführen: +> `()()`oder `")` <-- **locale variablen werden genutzt** +### Lambda Ausdrücke: +man definiert eine Ausdruck so: +> ``` +> lambda : if else +> ``` + +> Beispiel: +> ``` +> print((lambda x : "ungerade" if x%2 else "gerade")(123)) +> ``` +> Output: `ungerade` +> +> **Wenn du eine Funktion in einen Lambda Ausdruck verwendest, muss sie eine Variable zurückgeben. +> Lambda gibt entweder `ungerade` oder `gerade` im Beispiel and print() zurück.** + + +## Semikolon +Nutze ein `;` um mehrere Funktionen in einer Zeile zu verketten +> Beispiel: +> ``` +> func1() +> func2() +> ``` +> wird zu: +> ``` +> func1();func2() +> ``` + + +# List Comprehension +Mit List Comprehensions kann man Listen in einer zeiler definieren und darüber iterieren: +> Beispiel: +> ``` +> list1 = [] +> for x in range(10): +> list1.append(x) +> ``` +> wird zu: +> ``` +> list1 = [ for x in range(10)] +> ``` + +Mann kan auch if statements in Comprehentions nutzen: +``` +newlist = [expression for item in iterable if condition == True] +``` +> Beispiel: +> ``` +> list1 = ["a", "b", "c", "d", "e"] +> list2 = [x for x in fruits if "a" in x] +> ``` +> ^ Addiert Das Objekt x zu list2 wenn `if "a" in x` also eine "a" in den String Objekt ist. + + +## Variablen Mehrfachzuwesungen +variablen sind was sehr nützliches was nicht fehlen darf! +Man kann sie auf verschiedene arten zuwei?en, eine davon ist mit Mehrfachzuweisungen: +> ``` +> var1 = 1 +> var2 = 2 +> var3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +> ``` +> wir zu: +> ``` +> var1, var2, var3 = 1, 2, [x for x in range(10]``` + +### Stapel = Stapel +In Grunde kann man mit Mehrfachzuweisungen Stapel(Tuple) entpacken oder packen: +> Packen eines Tupels in eine Variable +> ``` +> var1 = a,b,c +> ``` +> soviel wie: +> "var = tulple" +> ^ "Anfenger Hinweiss: Wenn man das untenstehenliegene Prinzip verstanden hat ist man flexibler" + +> Packen eines Tupels in einen Tuple: +> ``` +> var1, var2, var3 = 1, 2, 3 +> ``` +> soviel wie: +> "tuple = tulple"