Die Bedeutung von Berechtigungsformaten in Unix. Zahlenformat (Octal-Format) vs. Buchstabenformat
In der Welt der Unix-basierten Betriebssysteme sind Berechtigungen von Dateien und Ordnern ein grundlegendes Konzept. Diese Berechtigungen sind in verschiedenen Formaten dargestellt, darunter das Zahlenformat wie "0755" und das Buchstabenformat wie "rw-r--r--". In diesem Artikel werde ich die Unterschiede zwischen diesen beiden Formaten erläutern und wie sie sich auf die Zugriffsrechte von Dateien und Ordnern auswirken.
Das Zahlenformat, auch als Octal-Format bekannt, wird häufig verwendet, um Berechtigungen in Unix-Systemen festzulegen. Die Zahl "0755" besteht aus drei Oktalzahlen, die jeweils die Berechtigungen für den Eigentümer, die Gruppe und andere Benutzer darstellen.
stat -c "%a" /pfad/zum/ordner
Das Buchstabenformat wird mit "ls -l" oder "ll" ausgegeben, wenn du Dateien oder Ordner in einem Unix-Terminal auflistest. Hier ist eine Übersetzung des Formats "rw-r--r--":
ll /pfad/zum/ordner
Der Hauptunterschied zwischen den beiden Formaten besteht darin, wie die Berechtigungen dargestellt werden. Das Zahlenformat bietet eine kompakte Darstellung und ermöglicht es, Berechtigungen auf einen Blick zu erkennen, während das Buchstabenformat eine detailliertere, aber längere Darstellung bietet.
Die Wahl zwischen den beiden Formaten hängt von deinen persönlichen Vorlieben und Anforderungen ab. Beide ermöglichen die genaue Steuerung der Datei- und Ordnerzugriffsrechte in Unix-Systemen.
Test Driven Development (TDD) nach Robert C. Martin
Test Driven Development (TDD) ist eine Softwareentwicklungsmethode, bei der der Entwicklungsprozess auf das Schreiben von Tests vor der Implementierung des eigentlichen Codes ausgerichtet ist. Es folgt einem einfachen Zyklus, der aus drei Hauptphasen besteht. In diesem Blog-Artikel möchte ich die drei Stages des Test Driven Development (TDD) nach Robert C. Martin, auch bekannt als Uncle Bob, näher erläutern: die rote Kappe, die grüne Kappe und die blaue Kappe.
(Die Analogie der farbigen Kappen hilft Entwicklern, den TDD-Prozess besser zu verstehen und die verschiedenen Phasen zu visualisieren. Es betont die Idee, dass TDD ein iterativer Prozess ist, bei dem Tests und Codeentwicklung eng miteinander verflochten sind, um hochwertige Software zu erstellen. So beschreibt Robert C. Martin den Prozess des TDD. )
Die erste Phase, die "rote Kappe", ist der Ausgangspunkt. Hier schreibe ich den Test, bevor ich irgendeinen Code schreibe. Dieser Test sollte fehlschlagen, da der zugehörige Code noch nicht existiert. Das Beispiel in PHP sieht so aus:
public function testAddition()
{
$calculator = new Calculator();
$result = $calculator->add(2, 3);
$this->assertEquals(5, $result);
}
Nachdem der Test in der roten Kappe fehlgeschlagen ist, schreibe ich den minimalen Code, um den Test zum Bestehen zu bringen. Dabei ist das Ziel, den Test in der "grünen Kappe" erfolgreich durchzuführen:
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
}
In der letzten Phase, der "blauen Kappe", nehme ich mir Zeit, um den Code zu optimieren und zu verbessern, ohne die Funktionalität zu ändern. Refactoring ist entscheidend, um sauberen und wartbaren Code zu erhalten:
class Calculator
{
public function add(int $a, int $b): int
{
return $a + $b;
}
}
Die Kunst des Clean Code: Warum sauberer Code in der Softwareentwicklung unverzichtbar ist
Clean Code ist von Robert Cecil Martin definiert und revolutioniert die Art und Weise, wie wir programmieren. Es geht darum, Code verständlich, effizient und leicht wartbar zu gestalten. Hier sind einige Tipps in PHP, um Clean Code zu schreiben.
Natürlich, Flexibilität ist wichtig, besonders wenn sich die Anforderungen ändern, daher sind diese Regel eher als Richtlinien zu verstehen, als wie in Stein gemeißelte Gebote. Es ist jedoch eine gute Praxis, bei jedem Schritt des Programmierens sorgfältig über jede Zeile Code nachzudenken, nicht nur bei neuen Projekten. Dies gewährleistet Konsistenz und Qualität in deinem Code.
Sauberen Code zu schreiben, ist entscheidend, weil er:
Alle Funktionen, Methoden, Variablen, Ordner und Dateinamen sollten so benannt werden, dass der Code selbst wie ein gut verständliches Gedicht wirkt und Kommentare überflüssig werden. Abschließend, erinnere dich immer daran, dass Clean Code nicht nur eine Technik, sondern eine Denkweise ist. Es lohnt sich, in diese Fähigkeiten zu investieren, um zu einem besseren Entwickler zu werden.
Mehr Informationen: WIKIPEDIA
PDF-Erstellung auf Ubuntu: Verbinde deine JPGs spielend leicht
Ich möchte heute zeigen, wie du auf Ubuntu ganz einfach zwei JPG-Dateien zu einem PDF-Dokument zusammenführen kannst. Diese Aufgabe kann nützlich sein, wenn du mehrere Bilder in einer PDF-Datei teilen möchtest.
Schritt 1: Vorbereitung
Zuerst installiere das Programm "ImageMagick", wenn es noch nicht installiert ist. Öffne dein Terminal und gib den folgenden Befehl ein:
sudo apt-get install imagemagick
Schritt 2: Bilder zusammenführen
Nun können wir die beiden JPG-Dateien in ein PDF-Dokument zusammenführen. Verwende dazu den Befehl "convert" gefolgt von den Dateinamen der JPGs und dem gewünschten Namen für das PDF:
convert bild1.jpg bild2.jpg ausgabe.pdf
Das erstellte PDF, hier "ausgabe.pdf", enthält nun beide Bilder.
Schritt 3: Überprüfung
Um sicherzustellen, dass alles geklappt hat, öffne das PDF mit einem PDF-Viewer deiner Wahl.
Fertig! Du hast erfolgreich zwei JPG-Dateien zu einem PDF auf Ubuntu konvertiert.
Nützliche Tipps:
convert *.jpg merged.pdf
convert -density 300 bild1.jpg bild2.jpg ausgabe.pdf
Kompression: Du kannst die Bildkompression festlegen, um die Dateigröße des PDFs zu reduzieren. Hierfür stehen verschiedene Kompressionsmethoden zur Verfügung, z.B. JPEG-Kompression.
convert -compress jpeg -quality 90 bild1.jpg bild2.jpg ausgabe.pdf
In diesem Beispiel wird die JPEG-Kompression mit einer Qualität von 90 verwendet.
Seitengröße: Du kannst auch die Größe der PDF-Seiten anpassen. Standardmäßig wird die Größe der JPG-Dateien verwendet, aber du kannst eine benutzerdefinierte Seitengröße festlegen.
convert -page A4 bild1.jpg bild2.jpg ausgabe.pdf
Hier wird die A4-Seitengröße für das PDF verwendet.
Qualitätsstufen: Wenn du die Qualität der Bilder in der PDF-Datei weiter anpassen möchtest, kannst du die Qualität für jedes einzelne Bild separat festlegen.
convert -quality 80% bild1.jpg -quality 90% bild2.jpg ausgabe.pdf
Dies setzt die Qualität für das erste Bild auf 80% und für das zweite Bild auf 90%.
Experimentiere mit diesen Optionen, um die gewünschte Größe und Qualität für dein PDF-Dokument zu erreichen. Je nach deinen Anforderungen und Vorlieben kannst du die Parameter anpassen.
Achtung, solltest du folgende Fehlermeldung sehen:
convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.
Lies dir diese Lösungen durch:
Fehlerbehebung | stackoverflow
Für mich war es diese Lösung:
Fehlerbehebung | stackoverflow | Lösche Zeilen in der Datei /etc/ImageMagick-6/policy.xml
Webcam-Einrichtung unter Ubuntu: Guvcview im Handumdrehen
Wenn du deine Webcam unter Ubuntu nutzen möchtest, ist Guvcview eine großartige Wahl. Mit Guvcview kannst du deine Webcam schnell und einfach einrichten, um Videoaufnahmen und Videogespräche zu genießen. In diesem Blogbeitrag zeige ich dir Schritt für Schritt, wie du Guvcview unter Ubuntu installierst und konfigurierst.
Um Guvcview zu installieren, öffne dein Terminal und gib den folgenden Befehl ein:
sudo apt-get install guvcview
Gib dein Passwort ein, wenn du dazu aufgefordert wirst, und bestätige die Installation.
Starte Guvcview, indem du einfach "guvcview" in deinem Terminal eingibst und die Eingabetaste drückst.
Sobald Guvcview gestartet ist, kannst du deine Webcam auswählen und die Einstellungen nach deinen Wünschen anpassen. Du kannst die Auflösung, Bildfrequenz und vieles mehr festlegen.
Jetzt bist du bereit, deine Webcam unter Ubuntu mit Guvcview zu nutzen. Du kannst Videoaufnahmen starten oder an Videogesprächen teilnehmen, ohne weitere Konfigurationen vornehmen zu müssen.