wenn du den Inhalt vergleichen magst:

$ diff <(sort datei1) <(sort datei2)
10,11c10
< a
< a
---
> b

(ausgabe hängt von den dateien ab)

Wie viel Speicher eine Datei verbraucht = Größe der Datei:

$ du -h datei1 #mit Einheit
4    datei1

$ du datei1 #ohne Einheit

4.0K    datei1

Typ, Besitzer, Gruppe, Änderungsdatum und Name bekommst du mit:

$ ls -la test1                           
-rw-rw-r-- 1 user user 4 Nov  8 14:17 datei1


...zur Antwort

Was du willst ist eine Backuplösung die zwar jede 10 Minuten ein Backup macht, aber nicht alle Backups für immer speichert.

Es ist ja tatsächlich so, dass die die täglichen Backups schon alle 10 min wichtig sind, aber wenn du jetzt dir die Stände von vor 10 Tagen anschaust ist es dir in der Regal egal ob du das Backup von 9:15 oder 20:30 hast, meistens willst du einfach eines haben.

Das was du dafür brauchst ist ein durchdachtes Backup Rotations Schema. Das was ich beschrieben hab wird manchmal als Generationenprinzip oder Großvater-Vater-Sohn-Prinzip beschrieben:

https://de.wikipedia.org/wiki/Generationenprinzip

Tools mit denen ich nach dem Prinzip Backups erstelle sind:

  • Tarsnap (für den fpofessionenllen Bereich - leider teuer aber sorglos)
  • Borg Backup für alles Private

Beide können das oben beschriebene Prinzip und außerdem dedublizieren, komprimieren und verschlüsselen diese die Backups ganz nach belieben.

...zur Antwort

eine Möglichkeit wäre

read -p "Press enter to close"

Wartet darauf, dass der User "Enter" drückt.

Alternativ:

read -n 1 -s -r -p "Press any key to close"

erwartet egal welchen Tastendruck.

...zur Antwort
  1. Du könntest auf dem Ardunio der als Schlüssel agiert einen "Entschlüssler" programmieren. Funktionieren würde das dann so:
  • Schlüssel-arduino and Schloss-arduino anstecken. Schloss sendet verschlüsselte nachricht an Schlüssel, Schlüssel entschlüsselt diese Nachricht und schickt sie zurück an das Schloss. Wenn diese Nachricht richtig entschlüsselt wurde, wird das Schloss geöffnet.

2.Raspberry Pi kann mit einem Arduino komunizieren lassen: https://tutorials-raspberrypi.de/arduino-raspberry-pi-miteinander-kommunizieren-lassen/

...zur Antwort

ohne angabe des protokolls (http, https) interpretiert dein browser den link als relativ zur aktuellen seite, und somit in deinem fall zu localhost.

Was du willst, nennt sich "protocol-relative":

<a href="//google.de">google.de</a>

Einfach zwei Slash und es wird automatisch genommen was die Seite hat.

Mehr zu Protocol Relative URL (englisch):

https://www.paulirish.com/2010/the-protocol-relative-url/

Mehr zu deiner Frage allgemein (englisch):

https://superuser.com/a/1212336/865784

...zur Antwort

Ich würd eigentlich garnicht mit C anfangen, außer du willst sehr Hardware nah programmieren.

Falls du einfach nur mal ein paar Anwendungen programmieren willst, dann bleib bei Python. Ist eine sehr schöne Sprache.

Falls du doch unbedingt C oder C++ lernen willst und noch Null erfahrung hast, machs im Rahmen von Arduino.

Da gibts soooo viele Anleitungen für noch so Anfänger, und man hat nachher was Handfestes.

...zur Antwort

Schlagwort: Reverse Proxy

du brauchs einen dritten server der als reverse-proxy dient. Dann lässt du alles was 443 und 80 ist an den reverse-proxy weiterleiten und dieser leitet dann in einem internen Netz je nach header der http-Anfrage an die anderen Server weiter.

Für sowas wird gerne nginx benutzt.

Der Server mit dem Reverse-Proxy kann auch virtuell oder sogar in einem Docker-Container sein.

Mehr zu Reverse-Proxy:

https://de.wikipedia.org/wiki/Reverse_Proxy

Reverse Proxy mit Nginx:

https://www.linode.com/docs/web-servers/nginx/use-nginx-reverse-proxy/

...zur Antwort

ein Hash ist eine Art jede Form von Daten als immer gleich lange Zeichenkette darzustellen: Texte, Videos, Musik, Dokumente oder eben Passwörter.

Der Hash wird von einem Algorithmus erstellt. Die gängigsten sind:

  • MD5 – alles wird in einen 32-Zeichen uniquen langen Hash verwandelt
  • SHA1 – alles wird in einen 40-Zeichen uniquen langen Hash verwandelt
  • SHA256 – alles wird in einen 64-Zeichen uniquen langen Hash verwandelt

Deine Nachricht als ein String betrachtet (inklusive Titel) würde mit SHA1 diesen Hash ergeben: 38C7163FF7103981C98470C9350818B3F368C690

Wieso ist Hashing sicher?

Weil Hashs nicht einfach so rückgängig ausgerechnet werden können - nur über Brute Force. Das ist bei MD5 vielleicht noch "machbar" mit modernere Technik, aber bei SHA256 müsstest du schon 2256 Kombinationen ausprobieren. Das ist praktisch unmöglich. Wie Hashfunktionen mathematisch genau funktionieren kannst du hier nachlesen: https://de.wikipedia.org/wiki/Hashfunktion

Rainbowcrack benutzt Rainbowtables, das ist etwas anderes als "reines" Bruteforcen und ermöglicht zwar theoretisch ein schnelleres Cracken, aber bei SHA256 trotzdem unmöglich.

...zur Antwort
Ubuntu

Für Einsteiger in die Linux Welt: Ubuntu

Es kann gut sein, dass Ubuntu nicht die modernste, schlankeste, schnellste, tollste oder professionellste Distribution ist, allerdings hat Ubuntu einfach die größte Comunnity vorallem für Neueinsteiger.

Es gibt sehr wenig, wass ein normaler User braucht dass es nicht unter Ubuntu gibt. Es ist gut um mal täglich Linux zu nutzen und langsam in die Materie zu kommen.

...zur Antwort
pip install readchar

sollte eigentlich schon ausreichen.

Deinstalliere mal das package und installiere es neu.

Was ist deine pip und python version?

...zur Antwort
java

java entwickler werden immernoch am meisten gesucht. Javascript ist nett, weil du auch viel Clientseitig programmieren kannst. Aber wenn du das eine mal kannst, hast das andere auch schnell gelernt.

Wie andere schon gesagt haben: nicht von den Namen verwirrenlassen. JavaScript hat soviel von Java wie Kichererbsen vom Kichern - nichts.

...zur Antwort

fehlersuche in java ist dank stack-trace recht einfach. Versuch einfach etwas, wenn ein fehler kommt googlest du die excpetion -> 99,9999% gibts ne Lösung (vor allem bei Anfängerfehler wurde schon alles 100 mal beantwortet.)

...zur Antwort

Wenn du nur das Fragezeichen ersetzen willst:

for (int i = 0; i < test.length(); i++) {
    if (Character.isDigit(test.charAt(i))){
        count ++;
    }
}

Mit dem "enhanced Statement":

 for (char c : test.toCharArray()) {
    if (Character.isDigit(c)){
        count ++;
    }
}

Mit Streams (ab Java 8):

long count = test.chars().mapToObj(i -> (char) i).filter(Character::isDigit).count();
...zur Antwort

Gehen wir das Ganze mal Stück für Stück durch:

Du hast:

Die Klasse "Held" ist ein Datenobjekt oder auch "Entity" genannt. Diese hat einen Konstruktor der alle Felder setzt ("AllArgsConstructor")

Du willst:

Eine Klasse die Methoden bietet um Helden nach verschiedenen Kriterien zu finden oder "Filtern".

Du brauchst:

  1. Etwas wo die Helden gespeichert werden: Wo willst du diese Helden "lagern"? Du brauchst ein Objekt, dass alle Helden kennt und dir diese auch liefern kann. Im normalfall würden diese irgendwo in einer Datenbank liegen, aber um das Ganze etwas einfacher zu hatlen, sagen wir mal dass diese nur in einer Liste gespeichert werden sollen.
  2. Einen "Service" der die gewünschten Methoden bereitstellt. Dieser Service muss selbstverständig auf die Liste mit allen Helden zugriff haben.

Die nächsten Schritte:

Jetzt musst du 1. und 2. umsetzen. Möchte dir die Lösung aber nicht vorweg nehmen. Überlegen wir uns mal ein paar Details zu 1):

Die Liste soll am Besten von überall (Datensicherheit mal vorweg) aus gelesen und bearbeitet werden können. Die Liste muss aber auch zu einem Zeitpunkt im Programm "erstellt" werden (initierung). Außerdem darf es nicht mehr als eine Liste geben, da man sonst durcheinander kommen könnte und man ja alle Helden an einen Ort "lagern" will. Schau dir hier mal das Lösungsmuster(Pattern) "Singleton" an.

Punkt 2. ist die Antwort von regex9 ein guter Ansatz.

...zur Antwort

Schau am Besten mal hier: https://www.mikrocontroller.net/topic/355683
Da werden ein paar gute Bücher gennant. 

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.