GRPC, Protobuf und connect

GRPC, Protobuf und connect

GRPC, Protobuf und Connect

Als Entwickler bin ich immer auf der Suche nach effizienten und zuverlässigen Technologien, die meine Arbeit verbessern und vereinfachen. In den letzten Jahren habe ich GRPC in zahlreichen Projekten eingesetzt und bin nach wie vor begeistert von den Vorteilen, die es bietet. Aber nicht nur weil es schnell und effizient ist - sondern weil es menschliche Absprachen und Teamarbeit einfacher macht. Wie funktioniert das und warum “Connect” noch mit reinspielt:

Dateien bereinigen mit fd und sd

Dateien bereinigen mit fd und sd

Das Problem

In einem Software Projekt mit mehreren Beteiligten kommen früher oder später unterschiedliche Coding-Stile zum Einsatz. Ob der uneinheitliche Zeilenumbruch, (versehentliche) Leerzeichen am Ende einer Zeile oder der fehlende Zeilenumbruch am Ende einer Datei: Hier muss man sich auf auf eine gemeinsamen Standard einigen.

Die Werkzeuge

Dabei kann das Projekt Editorconfig helfen. Man legt eine einfache Editorconfig-Datei in seinem Projekt ab und viele Editoren kümmern sich um den Rest.

Was passiert aber mit den bereits vorhandenen Dateien? Hier helfen ein paar einfache Kommandozeilenbefehle. Ich verwende dabei sd und fd, die für viele System verfügbar sind.

Umbenennen mit dem Lieblingseditor

Umbenennen mit dem Lieblingseditor

Dateien umbenennen ist oft mühsam. Wenn man ein Extra-Werkzeug benutzt, muss man es erst lernen. Das schreiben eines extra Skriptes kann aber oft zu aufwendig sein. Es wäre doch schön, wenn man direkt im Lieblingseditor die Dateinamen verändern könnte.

Hier kommt die Werkzeugsammlung renameutils zum Einsatz.

Installation

Installiert wird das ganze aus den üblichen Paketmanagern, also z.B.

brew install renameutils # macOS / Linuxbrew
pacman-S renameutils # Arch based
sudo apt install renameutils # Debian based

Benutzung

Nun gibt es die Befehle: qmv und qcp, mit denen Dateien umbenannt, bzw. kopiert werden können.

ip statt ifconfig unter macOS

ip statt ifconfig unter macOS

Viele moderne Linux Distributionen bieten mit iproute2 eine einfache Möglichkeit Netzwerkkonfiguration durchzuführen.

So zeigt z.B.

ip a s

die IP Adresse der Netzwerkschnittstellen an.

MacOS bietet dieses Tool aber nicht an. Also müssen wir auf ifconfig ausweichen. Blöd, wenn wir zwischen den Systemen wechseln und immer umdenken müssen.

Installieren wir mit der Hilfe von Homebrew ein kleines Hilfsscript:

brew install iproute2mac

Nun können wir auch mit

ip a s

die konfiguierten Netzwerkgeräte anzeigen. Wunderbar!

yay mit archarm nutzen

yay mit archarm nutzen

Viele Entwickler schätzen es aktuelle Werkzeuge zu nutzen. Ob Compiler, Editor oder Shell - neue Versionen haben neue Features, bereinigte Bugs und mehr.

Daher ist in den letzten Jahren die Linux Distribution “Arch” auch sehr beliebt geworden: Rolling Releases statt großer Versionssprünge erleichtern den Entwickleralltag. Auch auf dem Raspberry Pi läuft diese Distribution.

Aus der Community getrieben Pakete können aus dem AUR mit einem beliebigen Tool installiert werden. Derzeit verwende ich dafür gerne yay.