Go

Netter Versuch: Fehlerbehandlung in Go

Wer kennt es nicht? Man gibt sich Mühe, entwirft, programmiert sorgfältig, testet sowohl manuell als auch automatisch, hat also ein gefühlt perfektes Programm. Und doch kommt es immer wieder zur Laufzeit zu Fehlern. Es sind Dateien beim Öffnen nicht vorhanden, sie haben ein falsches Format, sind wegen fehlender Rechte nicht les- oder schreibbar oder können wegen eines gefüllten Dateisystems nicht geschrieben werden. Gleiches gilt auch für das Netz. Adressen sind nicht zu erreichen, Latenzen zu groß, Zugriff wird nicht gestattet und Verbindungen brechen ab. Datenbanken oder Verzeichnisdienste liefern nicht die gesuchten Daten. Und wenn, dann enthalten sie vielleicht ungültige Werte. Die Liste der möglichen Bedrohungen ist unendlich.

Einflach flexibler: Plug-ins mit Go

Ein Großteil der Projekte auf Basis von Go sind reine Open-Source-Anwendungen oder unternehmensinterne Anwendungen, die Open Source nutzen. In beiden Fällen sind modulare Erweiterungen auf Basis vordefinierter APIs kein Problem. Als Entwickler eines Systems definiere ich ein Interface, und der erweiternde Entwickler kann es nach seinen Vorstellungen implementieren. Anschließend wird vom neuen Typ eine Instanz erzeugt und an mein System übergeben. So oder in ähnlicher Form ein altbekanntes Muster.

Coden in Go: Für das Plus an Produktivität und Effizienz

#Go

Die Programmiersprache Go wurde geschaffen, um ein Maximum an Effizienz und Produktivität zu erreichen. Programmierer, die bereits mit Java oder PHP vertraut sind, können in nur wenigen Wochen die wichtigen Grundlagen von Go erlernen (viele werden es ultimativ den „alten“ Sprachen vorziehen). In diesem Artikel untersucht Dewet Diener, VP of Engineering bei Curve, die Vor- und Nachteile der Golang und wie seine testgetriebene Entwicklung (TDD) die Arbeit erleichtert.

Kubernetes 1.17, neues Golang-Framework & die DevOpsCon 2019 – Unsere Top-Themen der Woche

Vergangene Woche segelte Kubernetes 1.17 in den Hafen von JAXenter ein und hatte insgesamt 22 Erweiterungen mit an Bord. Ebenfalls neu erschienen ist Goyave – ein Go-Framework, das Entwicklern beim Erstellen von Webanwendungen unterstützt. Daneben haben wir auch einen Blick auf ein von Entwicklern ziemlich beliebtes Thema geworfen: Programmiersprachen. Was sonst noch wichtig war, erfahrt Ihr in unserem Wochenrückblick.

Des Gophers neue Kleider: Go Modules revisited

Go 1.11 hat einen Paradigmenwechsel eingeleitet. Aus Go Packages werden versionierte Go Modules. Go Modules lösen den GOPATH ab und werden fester Bestandteil der Go Toolchain. Bis jetzt mussten Go Modules explizit aktiviert werden, doch mit Go 1.13 ändert sich das. Ihr lernt, was Go 1.13 in Sachen Go Modules bringt und was sich seit Go 1.11 getan hat.

Go Buffalo: Auf dem Büffel durch die Weiten des Webs

Die Weiten des Webs lieben Go. Aber auf der Suche nach dem passenden Web-Framework kann man sich leicht verirren. Die Suche hat jetzt ein Ende, denn mit Buffalo lernt ihr das vollständigste Ökosystem für Webanwendungen mit Go kennen. Mit diesem Büffel seid ihr auf jedem Ritt durch die Weiten des Webs richtig unterwegs.

Microframeworks, Jabel & Selbstest für Java-Entwickler – Unsere Top-Themen der Woche

Ein neuer Montag, ein neuer Wochenrückblick! Wir haben die spannendsten Beiträge der vergangenen Woche für Euch zusammengefasst: Unser Psychotest für Java-Entwickler verrät Euch, welcher Entwickler-Typ Ihr seid. Projekt Jabel ließ vor allem die Herzen der Java-8-Nutzer höherschlagen und die Ergebnisse des Freelancer Kompass 2019 liefern interessante Einblicke in die Arbeitswelt der Freelancer.

Go Modules Revisited: Aktiv by default

#Go

Go 1.11 hat einen Paradigmenwechsel eingeleitet. Aus Go Packages werden versionierte Go-Module. Go-Module lösen den GOPATH ab und werden fester Bestandteil der Go Toolchain. Bis jetzt mussten Go-Module explizit aktiviert werden. Mit Go 1.13 ändert sich das. Ihr lernt was Go 1.13 in Sachen Go Modules bringt und was sich seit Go 1.11 getan hat.

Go 1.13 ist da: Go Modules, Runtime und Bibliotheken im Fokus

#Go

Es kommt einem vor, als wäre das letzte Release von Go gerade erst geschehen, da erscheint pünktlich bereits der Nachfolger. Mit Go 1.13 hält Google das Versprechen, alle sechs Monate ein neues Release herauszubringen. Für die aktuelle Version wurden die Go Modules erneut aufgebohrt, außerdem die Runtime und die Bibliotheken überarbeitet.

Einführung in Go — ein Gopher im Netz

Mit dem Einzug der Clouds und Container in die Welt des Internets beziehungsweise der Rechenzentren konnte sich auch eine neue Programmiersprache etablieren, nämlich Go. Was Go besonders macht bzw. wo die Unterschiede zu Java liegen, erläutert Frank Müller in seiner Session auf der JAX 2019.

Go – Im richtigen Context

In nebenläufigen Serveranwendungen ist es ein gängiges Muster, dass Anfragen in unterschiedlichen Prozessen, in Go also Goroutinen, verarbeitet werden. Für eine überlappende Ausführung sind sie gleicher Natur, für unterschiedliche Bestandteile von Aufträgen wiederum individuell: Ein Netzwerk von Goroutinen, das sich um immer wieder neue Aufgaben kümmert, jede in einem eigenen Kontext stehend. In Go findet sich der entsprechende Kontext in context.Context wieder.

Kubernetes 1.15 bringt Unterstützung für Go-Module

Das zweite Release für Googles Orchestrierungsplattform Kubernetes in diesem Jahr ist erschienen und bringt wichtige Verbesserungen und interessante neue Features. Zu den wichtigsten Neuerungen gehören die Erweiterbarkeit um die zentralen Kubernetes-APIs, die Stabilität des Cluster-Lebenszyklus und die Verbesserung der Benutzerfreundlichkeit.

Go als Programmiersprache für Backend und Frontend

DIe Programmiersprache Go hat mittlerweile auch ein paar Jahre auf dem Buckel: In diesem Jahr feiert sie ihr 10-jähriges Jubiläum, die erste stabile Version erschien 2012. Im Interview mit Frank Müller, Senior Solution Engineer bei Loodse, sprachen wir auf der JAX 2019 über die wichtigsten Anwendungsgebiete und darüber, wie sich Googles Programmiersprache in den nächsten zehn Jahren entwickeln wird.

Angular 8, Microbenchmarks und IntelliJ IDEA 2019.2 – Unsere Top-Themen der Woche

Dem Feiertag geschuldet, war es eine kurze Woche auf JAXenter – doch die hatte es in sich: Angular 8 ist erschienen und hat einige spannende Neuerungen im Gepäck. Eberhard Wolff erklärt in seinem Video, welche Voraussetzungen ein guter Softwarearchitekt mitbringen muss. Und das Early-Access-Programm für IntelliJ IDEA 2019.2 ist angelaufen – wir haben die neue Version genauer unter die Lupe genommen.