Es gibt viele Ressourcen im Internet, aber nicht jedes Bild oder Video dürfen wir einfach so nutzen. Sollten wir es doch tun, könnte es teuer werden, wenn wir Post von einem (Abmahn-)Anwalt bekommen. Das muss aber nicht sein. Denn inzwischen gibt es viele Plattformen, die kostenlose und frei nutzbare Ressourcen zur Verfügung stellen. Da ich immer wieder selber auf der Suche nach guten Alternativen bin, schreibe ich mal eine lose Liste zusammen:
Wichtig: Du bist selber dafür verantwortlich die Lizenz der einzelnen Ressource zu prüfen. Nicht jede Plattform stellt das Material unter der Public Domain Lizenz zur Verfügung!
Ich habe einige Domains in meinem Portfolio, die ich inzwischen alle bei INWX registriert habe. Der Registrar aus Berlin wurde mir vor langer Zeit mal empfohlen und ich hatte bisweilen nie Probleme damit. INWX hat auch ein DynDNS Feature on board. Ich habe heute gesehen, dass man inzwischen wohl 1 Domain bzw. ein DynDNS Konto frei hat (ich meine, das war nicht immer so).
Da ich schon 2 kostenlose DynDNS Domains verwende, um mein Synology NAS aus dem Web erreichbar zu machen, dachte ich es wäre am geschicktesten, diese neue Adresse auch über dasselbe Interface zu verwalten, also in der Diskstation. Leider bietet Synology standardmäßig INWX nicht als Provider an, aber das lässt sich mit wenigen Schritten nachrüsten.
Anmerkung: Ich erkläre hier nicht was DynDNS ist und was man damit machen kann. Dazu gibt es im Netz schon genügend Ressourcen.
1. DynDNS Konto einrichten
Im INWX Konto gibt es den Menüpunkt DynDNS. Dort kann man ein neues DynamicDNS Konto erstellen. Man kann jede Domain verwenden, die im eigenen INWX Konto registriert ist. Sub-Domains sind auch möglich.
Den Benutzernamen, Passwort und den Hostnamen gut merken, den brauchen wir später in der Diskstation.
Zweitens, die Update-URL ist auch wichtig: https://dyndns.inwx.com/nic/update?myip=
2. DDNS in der Diskstation
In der Systemsteuerung unter Externe Zugriff können neue DDNS Einträge hinterlegt werden. Die Diskstation übermittelt die eigene IP dann regelmäßig an die Dienste. Leider gibt es aktuell keinen INWX Serviceanbieter. Mit ein bisschen Terminal und vim Action lässt sich das aber beheben.
2.1. DDNS Provider Config anpassen
Logt euch mit SSH auf eurem NAS ein und fügt folgende Zeilen zur Datei /etc.defaults/ddns_provider.conf hinzu. Ihr braucht Root Rechte, um die Datei zu bearbeiten (sudo su -)
Das praktische ist, dass INWX einfach den DynDNS Standard verwendet und somit genau so funktioniert, wie jeder andere DynDNS Anbieter. Wir müssen über die Config der Diskstation nur sagen, wie der Endpoint heißt. Dies ist die Update-URL von INWX. __MYIP__ ist hier der Platzhalter für die eigene IP, die die Diskstation ausfüllt.
2.2. DDNS einrichten
Zurück auf der Diskstation können wir nun einen neuen DDNS Eintrag hinzufügen unter Systemsteuerung > Externer Zugriff > DDNS.
Hier haben wir nun auch INWX zur Auswahl und können unseren Benutzernamen, Password und die Domain eintragen.
Nun steht uns INWX als DynDNS Provider zur Verfügung.
Fazit
So einfach ist es neue DynDNS Provider mit der Synology Diskstation zu verheiraten. Und dank dem kostenlosen DynDNS Konto von INWX kann ich sogar eine eigene Domain verwenden und meine Dienste nun damit managen.
Auf digitalbunker.dev wurde ein interessanter Artikel gepostet, der erklärt wie UUIDs generiert werden.
Ein paar Punkte fand ich sehr interessante. Zum einen, dass es mehrere Versionen und Varianten gibt, wie die UUIDs generiert werden. Und die verwendete Version und Variation steht in der UUID immer drin an einer bestimmten stelle.
Zum anderen wurde die Frage gestellt, wie „eindeutig“ diese UUIDs sind. Also könnte es nicht doch vorkommen, dass ein Duplikat generiert wird. Theoretisch stimmt das, aber die Wahrscheinlichkeit ist doch eher gering. So schreibt der Autor, dass bei 10,000,000,000,000 [10 Billionen] UUIDs, die Chance auf zwei gleiche UUIDs wohl bei 0.00000006 % liegt. (Bei Version 4, die PRNG verwendet)
Wenn man Version 1 verwendet, die einen Timestamp nutzt, müsste man sein System schon für über 1.500 Jahre laufen lassen, bis sich der Timestamp im Jahre 3603 wiederholt. Wer so lange plant, sein System zu nutzen, der hat sicherlich noch andere Probleme, als UUIDs.
Der Tipp kommt nicht von mir, aber ich finde die Idee super. Freek Van der Herten hat auf Twitter einen Tipp geteilt, wie er die aktuelle Datenbank, die in .env hinterlegt ist, in seiner Datenbank GUI (SequelPro, TablePlus, etc.) öffnen kann mit einem simplem CLI Script.
Ich hatte heute das Problem, dass ich für ein Demo Projekt tausende Zahlen brauchte um meine Datenbank zu befüllen. Sicherlich kann man das auch mit PHP & Co. machen, aber es geht tatsächlich auch direkt in SQL.
Ich hatte drei Anwendungsfälle:
Ich brauche ganze Zahlen (integer)
Ich brauche Geldbeträge (float)
Ich möchte einen Bereich (min, max) angeben können, um die Demo Daten glaubhafter zu machen.
Mit RAND() kann man eine Zahl zw. 0 und 1 generieren und mit etwas Math-Magic kann man dann auch noch einen Bereich festlegen. Und mittels FLOOR() wird draus eine natürliche Zahl.
Beispiel für eine Zahl zw. 20 und 100:
SELECT FLOOR( RAND() * (100 - 20) + 20) as randomValue;
+-------------+
| randomValue |
+-------------+
| 50 |
+-------------+
1 row in set (0.00 sec)
Beispiel für einen Geldbetrag zwischen 0,50 und 100,00: (wir generieren einen Cent Betrag und rechnen anschließend durch 100)
SELECT FLOOR( RAND() * (10000 - 50) + 50) / 100 as randomValue;
+-------------+
| randomValue |
+-------------+
| 45,65 |
+-------------+
1 row in set (0.00 sec)
Das Speichern ist dann nun ein leichtes. Ich hab so z.B. ein UPDATE durchgeführt, weil die Spalten mit leeren Werten schon existierten:
UPDATE facts
SET value = FLOOR( RAND() * (10000 - 50) + 50)
WHERE id IN (1,2,3,4)