Effizienter arbeiten im Terminal: Wichtige Shortcuts für Profis
Ich möchte heute über einige wichtige Terminal Shortcuts sprechen, die dir helfen können, schneller und effizienter zu arbeiten.
Tastaturpfeil nach oben im Terminal
STRG + R
!! + ENTER
STRG + A
STRG + E
STRG + C
Einführung in die Verwendung von Docker exec -it
In diesem Blogartikel werde ich euch zeigen, wie ihr die docker exec -it-Funktion effektiv nutzen könnt, um in einen laufenden Docker-Container einzusteigen. Dies ist besonders nützlich, um Befehle im Container auszuführen und Debugging durchzuführen.
Codebeispiel 1: Docker exec -it für den Einstieg in einen Container
docker exec -it containername /bin/bash
Diese Zeile startet eine interaktive Bash-Shell innerhalb des Containers mit dem Namen containername. Ihr könnt nun Befehle innerhalb des Containers ausführen.
Codebeispiel 2: Dateien im Container bearbeiten
docker exec -it containername vi /pfad/zur/datei.txt
Mit diesem Befehl könnt ihr eine Datei im Container öffnen und bearbeiten. Das ist hilfreich, wenn ihr Konfigurationsdateien ändern müsst.
Codebeispiel 3: Installation von Software im Container
docker exec -it containername apt-get install paketname
Ihr könnt Softwarepakete direkt im Container installieren, ohne den Container neu zu erstellen.
Codebeispiel 4: Anzeigen von Container-Logs
docker exec -it containername tail -f /var/log/container.log
Mit diesem Befehl könnt ihr die Protokolldateien eines Containers anzeigen, um Fehler zu diagnostizieren.
Codebeispiel 5: Docker exec -it mit einem anderen Benutzer
docker exec -it -u benutzername containername /bin/bash
Ihr könnt als ein anderer Benutzer in den Container einsteigen, indem ihr -u benutzername hinzufügt.
Nützliche Tipps:
Verwendet docker ps zum Auffinden von Container-IDs und -Namen. Stellt sicher, dass der Container gestartet ist, bevor ihr docker exec -it verwendet. Beachtet, dass ihr den Container nicht verlassen könnt, wenn ihr die Shell mit exit verlasst.
Mit diesen docker exec -it-Tipps und Codebeispielen seid ihr bestens gerüstet, um Docker-Container effizient zu verwalten und zu debuggen. Happy Dockering!
Laravel Testing: Versteh den Unterschied zwischen Feature und Unit Tests
Als ich bei einer Firma erstmals mit dem richtigen Testen von Applikationen konfrontiert wurde, lernte ich es leider falsch- bzw. verstand Anfangs nicht ganz den Unterschied, wann man was verwenden sollte... Warum? Ich habe leider anfangs die Testlogik von den Unternehmen übernommen - leider hat das Unternehmen das aber Falsch gemacht und hatte unmengen Featuretests im Unittestordner.. Weil ich neu dort war und mit testen noch nicht so viel anfangen konnte- habe ich es falsch übernommen. Leider, damit dir das nicht auch passiert, gibts hier einen kleinen Guide.
In der Welt des Laravel-Entwicklungsprozesses und generell im Developmentbereich ist es entscheidend, Tests zu schreiben, um sicherzustellen, dass unsere Anwendungen stabil und fehlerfrei funktionieren. Es gibt jedoch zwei Haupttypen von Tests, die du kennen solltest: Feature Tests und Unit Tests. Lass uns einen genaueren Blick darauf werfen.
public function test_user_can_login()
{
$user = User::factory()->create();
$response = $this->post('/login', [
'email' => $user->email,
'password' => 'password',
]);
$response->assertRedirect('/dashboard');
$this->assertAuthenticatedAs($user);
}
public function test_user_has_full_name()
{
$user = new User();
$user->first_name = 'John';
$user->last_name = 'Doe';
$this->assertEquals('John Doe', $user->full_name());
}
Es ist wichtig, sowohl Feature Tests als auch Unit Tests in deiner Laravel-Anwendung zu verwenden, um eine umfassende Testabdeckung sicherzustellen und Fehler frühzeitig zu erkennen. Denke daran, dass Feature Tests die Benutzerinteraktion nachbilden, während Unit Tests auf die kleineren Einheiten deines Codes fokussieren.
Laravel: Factories in einem Package nutzen
In diesem Blogbeitrag möchte ich über die Verwendung von Laravel Factories sprechen, einem nützlichen Werkzeug in der Laravel-Welt. Mit Laravel Factories können wir Daten für unsere Tests effizient erstellen, ohne sie manuell eingeben zu müssen. Das spart Zeit und sorgt für konsistente Testdaten. Ich zeige dir, wie du Laravel Factories in deinen Projekten in einem Package nutzen kannst. In unserem Beispiel ist das Package ein unterpackage von Laravia und nennt sich Content. (Im Namespace ersichtlich)
In Laravel sollten Factories in der Regel im Verzeichnis database/factories innerhalb deines Laravel-Projekts erstellt werden. Die Namenskonvention für Factory-Dateien ist, den Namen des Modells in Kleinbuchstaben zu verwenden, gefolgt von "Factory.php". Zum Beispiel, wenn du eine Factory für ein Modell namens "Content" erstellst, sollte die Factory-Datei "ContentFactory.php" heißen.
"autoload": {
"psr-4": {
"Laravia\\Content\\Database\\Factories\\": "./src/database/factories"
}
},
"autoload-dev": {
"psr-4": {
"Laravia\\Content\\Database\\Factories\\": "./src/database/factories",
}
},
namespace Laravia\Content\Database\Factories;
use Laravia\Content\App\Models\Content;
use Illuminate\Database\Eloquent\Factories\Factory;
class ContentFactory extends Factory
{
//Sagt deinem Package model zu welcher Klasse die Factory gehört
protected $model = Content::class;
//Erstelle die Definition
public function definition()
{
return [
'body' => $this->faker->text(),
];
}
}
namespace Laravia\Content\App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Laravia\Content\Database\Factories\ContentFactory;
class Content extends Model
{
use HasFactory;
protected static function newFactory()
{
return ContentFactory::new();
}
}
Content::factory()->create(['body' => 'linux']);
Checke mit Laravel, ob du in der Console bist
Laravel bietet eine einfache Möglichkeit, zu überprüfen, ob du gerade in der Konsolenanwendung arbeitest. Dies kann in bestimmten Szenarien sehr nützlich sein, z. B. wenn du bestimmte Aufgaben nur in der Konsole ausführen möchtest. Hier ist, wie du das in Laravel machst:
if (app()->runningInConsole()) {
// Du befindest dich in der Konsolenanwendung
}
Der obige Code verwendet die app()-Funktion, um die Anwendung zu überprüfen und festzustellen, ob sie im Konsolenmodus ausgeführt wird. Wenn ja, kannst du deine Konsolenbefehle ausführen. Andernfalls werden die Webanwendungsaufgaben ausgeführt.
Diese Funktion ist besonders hilfreich, wenn du Artisan-Befehle in Laravel entwickelst und sicherstellen möchtest, dass sie nur in der Konsole ausgeführt werden.