https://www.gravatar.com/avatar/2a389171c064e3f0739eea781acea0f4?s=240&d=mp

Welcome

URLs in Go kodieren

Das Paket net/url ist ein nĂŒtzliches Paket um in Go mit URLs, Pfaden und Parametern umzugehen. Man kann Parameter in ein URL kodieren lassen oder Sonderzeichen automatisch umwandeln. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package main import ( "fmt" "log" "net/url" ) func main() { //set the URL baseUrl, err := url.Parse("https://www.google.com/search") if err != nil { log.

Kennwörter in Go verschlĂŒsseln

Go hat von vorne herein bereits viele hilfreiche Pakete. Eines davon ist das Paket bcrypt mit dem sich z.B. Kennwörter sicher verschlĂŒsseln lassen: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package main import ( "fmt" "golang.org/x/crypto/bcrypt" ) func main() { pw := "SecretPassword" bs, err := bcrypt.GenerateFromPassword([]byte(pw), 2) //let's look at the encrypted password fmt.Printf("encryption result: %s\n", string(bs)) err = bcrypt.

Go routinen und Fehlerbehandlung

Bei einem kleinen Projekt an dem ich gerade arbeite habe ich gerade mit dem Thema Fehlerbeahndlung in Verbindung mit Goroutinen zu tun. Ich habe hier eine Library geschrieben, welche verschiedene Methoden fĂŒr eine Bestellung anbietet. NatĂŒrlich habe ich brav darauf geachtet, dass im Fall der FĂ€lle ein Fehler zurĂŒckgegeben wird. Aber wie ist das wenn ich nun eine Methode als Goroutine starte. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package main import ( "fmt" ) type order struct { id string } func (o *order) create(id string) error { //do something useful with the order if id == "OD-002" { err := fmt.

RegulĂ€re AusdrĂŒcke - Wenn sie nur nicht so praktisch wĂ€ren

Ich habe lange einen Bogen um regulĂ€re AusdrĂŒcke gemacht. Jedes Mal wenn ich es mit dem Thema zu tun bekam war die instinktive Reaktion die Flucht. Ich habe mich immer mal wieder versucht diesem Thema zu nĂ€hern. Die ganzen schlauen Menschen, die regulĂ€re AusdrĂŒcke beherrschen, können ja nicht ganz falsch liegen. Ich habe allen Mut zusammen genommen und mich durchgekĂ€mpft. Ich muss ganz ehrlich zugeben ich bin immer noch nicht der allergrĂ¶ĂŸte Fan regulĂ€rer AusdrĂŒcke.

Pointer in Go

Ein Pointer in Go, oder auch Zeiger verweist auf die Speicheradresse an der ein Wert gesichert ist. Um die Speicheradresse fĂŒr eine Variable auszugeben verwendet man das & Zeichen: 1 2 3 4 5 6 7 8 func main() { x := 10 fmt.Println(x) fmt.Println(&x) fmt.Printf("%T\n", x) fmt.Printf("%T\n", &x) } Gibt man Typ der Speicheradresse ausgeben, so ist er *int. Da * ist der Operator fĂŒr einen Pointer, dass heißt, die Speicheradresse ist ein Pointer zu einem int.

Einmal E-Mail Hölle und zurĂŒck

UPDATE August 2020 Der folgende Artikel ist zwar fĂŒr den einen oder anderen interessant, spiegelt aber mittlerweile nicht mehr meinen aktuellen Ansatz zum Thema E-Mail wieder. Ich habe mich mittlerweile von allen genannten Tools getrennt und habe stattdessen seit Juni einen HEY. Ich werde hierzu noch einen Beitrag schreiben 😊 |||||||||||||||||||||||||| Kennt Ihr das? Ihr bekommt gefĂŒhlt tausende Benachrichtigungen, Status Updates, BestellbestĂ€tigungen und vieles mehr? Man bekommt so viel Zeug im Laufe des Tages und das meiste davon ist es einfach nicht wert auch nur geöffnet zu werden.