Du lernst in diesem Fullstack Live-Event, mit Go für die Cloud zu entwickeln. Deine Go-Anwendung hat ein REST API, nutzt die PostgreSQL-Datenbank und läuft im Container oder als Binary in der Cloud. Du nutzt vom Webserver bis zu Unit-Tests die Standardbibliothek von Go. Mehr brauchst du nicht für deine erste Go App in der Cloud. Du willst noch höher hinaus? Zum Schluss bekommst du noch Reisetipps durchs Go-Universum, die dich in höhere Sphären führen.
Go ist die Sprache Nummer 1 für cloud-native Entwicklung: 14 von 19 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Go ist blitzschnell, hat starke Typen und Goroutinen die all Deine 64 Cores unter Dampf setzen. Deswegen liebt die Cloud Go.
Du lernst mit Go für die Cloud zu entwickeln. Deine Go Anwendung hat eine REST API, nutzt die PostgreSQL Datenbank und läuft im Container oder als Binary in der Cloud. Dazu lernst Du Sprache Go kennen. Du nutzt vom Web-Server bis zu Unit-Tests die Standardbibliothek von Go. Mehr brauchst Du nicht für Deine erste Go App in der Cloud.
Du willst noch höher hinaus? Zum Schluss bekommst Du noch Reisetips durchs Go Universum, die führen Dich auch in höhere Spähren.
JAX 2024: Go-über-den-Wolken und in der CloudJan Stamer
Go ist die Sprache Nummer 1 für Cloud-native Entwicklung: 19 von 26 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Go ist blitzschnell, hat starke Typen und Goroutinen die all deine 64 Cores unter Dampf setzen. Deswegen liebt die Cloud Go. Du lernst, mit Go für die Cloud zu entwickeln. Deine Go Anwendung hat eine REST API, nutzt die PostgreSQL-Datenbank und läuft im Container oder als Binary in der Cloud. Dazu lernst du die Sprache Go kennen. Du nutzt vom Webserver bis zu Unit-Tests die Standardbibliothek von Go. Mehr brauchst du nicht für deine erste Go-App in der Cloud. Du willst noch höher hinaus? Zum Schluss bekommst du noch Reisetipps durch das Go-Universum, die dich auch in höhere Sphären führen.
Go ist die Sprache Nummer 1 für cloudnative Entwicklung. Der Beweis: 19 von 25 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Aber was macht Go interessant für Java oder .NET-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem, eine moderne, mächtige Standardbibliothek und ist rasend schnell. Aber vor allem: Go macht Spaß. Mit einfachen praktischen Beispielen lernt ihr mit Go produktiv zu entwickeln. Wir beginnen mit dem Hello World. Dann ein kleines Kommandozeilen Tool und eine einfache Webanwendung. Dazu nutzen wir überwiegend die Standardbibliothek von Go. Ihr lernt wesentliche Konzepte von Go wie Interfaces, Goroutinen und Channels kennen. Zur Entwicklung nutzen wir die Go-Tools und eine moderne Entwicklungsumgebung. Nach unserem Workshop könnt ihr erste eigene Go-Anwendungen entwickeln. Und ihr seid bereit die nächsten Schritte mit Go zu gehen. Go ist eine Sprache für Macher. Also lasst uns machen!
IT-Tage 2021: Java to Go - Google Go für Java-Entwickler Jan Stamer
Die Programmiersprache Go ist angesagt – und das zu Recht. Populäre Projekte wie Kubernetes, Docker oder Terraform zeigen, dass Go bestens geeignet ist, um moderne Anwendungen für die Cloud zu entwickeln. Aber was macht Go interessant für Java-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem und ist rasend schnell. Aber vor allem: Go macht Spaß.
In dieser Session lernt Ihr die Sprache Go mit ihren Stärken und Schwächen aus Sicht eines Java Entwicklers kennen. Ihr bekommt einen sehr praxisbezogenen Einstieg, HandsOn anhand von kleinen Projekt Beispielen.
Go ist die Sprache Nummer 1 für cloud-native Entwicklung: 14 von 19 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Go ist blitzschnell, hat starke Typen und Goroutinen die all Deine 64 Cores unter Dampf setzen. Deswegen liebt die Cloud Go.
Du lernst mit Go für die Cloud zu entwickeln. Deine Go Anwendung hat eine REST API, nutzt die PostgreSQL Datenbank und läuft im Container oder als Binary in der Cloud. Dazu lernst Du Sprache Go kennen. Du nutzt vom Web-Server bis zu Unit-Tests die Standardbibliothek von Go. Mehr brauchst Du nicht für Deine erste Go App in der Cloud.
Du willst noch höher hinaus? Zum Schluss bekommst Du noch Reisetips durchs Go Universum, die führen Dich auch in höhere Spähren.
JAX 2024: Go-über-den-Wolken und in der CloudJan Stamer
Go ist die Sprache Nummer 1 für Cloud-native Entwicklung: 19 von 26 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Go ist blitzschnell, hat starke Typen und Goroutinen die all deine 64 Cores unter Dampf setzen. Deswegen liebt die Cloud Go. Du lernst, mit Go für die Cloud zu entwickeln. Deine Go Anwendung hat eine REST API, nutzt die PostgreSQL-Datenbank und läuft im Container oder als Binary in der Cloud. Dazu lernst du die Sprache Go kennen. Du nutzt vom Webserver bis zu Unit-Tests die Standardbibliothek von Go. Mehr brauchst du nicht für deine erste Go-App in der Cloud. Du willst noch höher hinaus? Zum Schluss bekommst du noch Reisetipps durch das Go-Universum, die dich auch in höhere Sphären führen.
Go ist die Sprache Nummer 1 für cloudnative Entwicklung. Der Beweis: 19 von 25 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Aber was macht Go interessant für Java oder .NET-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem, eine moderne, mächtige Standardbibliothek und ist rasend schnell. Aber vor allem: Go macht Spaß. Mit einfachen praktischen Beispielen lernt ihr mit Go produktiv zu entwickeln. Wir beginnen mit dem Hello World. Dann ein kleines Kommandozeilen Tool und eine einfache Webanwendung. Dazu nutzen wir überwiegend die Standardbibliothek von Go. Ihr lernt wesentliche Konzepte von Go wie Interfaces, Goroutinen und Channels kennen. Zur Entwicklung nutzen wir die Go-Tools und eine moderne Entwicklungsumgebung. Nach unserem Workshop könnt ihr erste eigene Go-Anwendungen entwickeln. Und ihr seid bereit die nächsten Schritte mit Go zu gehen. Go ist eine Sprache für Macher. Also lasst uns machen!
IT-Tage 2021: Java to Go - Google Go für Java-Entwickler Jan Stamer
Die Programmiersprache Go ist angesagt – und das zu Recht. Populäre Projekte wie Kubernetes, Docker oder Terraform zeigen, dass Go bestens geeignet ist, um moderne Anwendungen für die Cloud zu entwickeln. Aber was macht Go interessant für Java-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem und ist rasend schnell. Aber vor allem: Go macht Spaß.
In dieser Session lernt Ihr die Sprache Go mit ihren Stärken und Schwächen aus Sicht eines Java Entwicklers kennen. Ihr bekommt einen sehr praxisbezogenen Einstieg, HandsOn anhand von kleinen Projekt Beispielen.
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
node.js erlaubt die Ausführung von Javascript auf dem Server. Zusammen mit YUI3 gibt es jetzt auch noch einen echten DOM und plötzlich macht alles Spass :-)
Einführung in Rack und Rack-Middleware
Vortrag wurde am 24.11.2009 an der
Heinrich-Heine-Universität Düsseldorf im Rahmen der Rails User Group Düsseldorf von Hussein Morsy gehalten
Vortrag der OOP 2014
Überblick über die Vorteile der Programmiersprache Go für skalierbare Anwendungen sowie ein Einblick in hierbei zu beachtende Probleme und ihre Lösung.
Vortrag zur Socket-Programmierung von Dual-Stack-Anwendungen in Python von der PyCon DE 2011 Leipzig.
http://de.pycon.org/2011/schedule/sessions/42/
http://blip.tv/episode/5632211
Das Zend Framework 3 bietet mit seiner MVC-Komponente und mit dem Nebenprojekt Apigility bereits verschiedene Möglichkeiten, ein RESTful API auf Basis von PHP zu entwickeln. Doch auch das neue Microframework Expressive ist für den Betrieb eines RESTful Web Services geeignet. In der simpelsten Variante reichen nach der Installation der Skeleton Application nur wenige Zeilen Code für ein REST-API. Durch das offene Konzept sind jedoch auch komplexere API-Anwendungen flexibel und ohne großen Frameworkballast zu entwickeln. In diesem Vortrag erfahren Sie alles Wissenswerte zu Expressive und dem Aufbau einer RESTful Anwendung mit PHP.
CloudLand 2023: Rock, Paper, Scissors Cloud Competition - Go vs. JavaJan Stamer
Wir implementieren "Rock, Paper, Scissors" als Cloud-Anwendung. Das Frontend stellen wir, ihr implementiert das Backend gegen eine vorhandene REST API Definition. Dazu nutzt ihr entweder Go (betreut von Jan Stamer) oder Java (betreut von Lena Grimm). Zum Abschluss tauschen wir die gewonnenen Erfahrungen in einer Fishbowl Session aus.
Die "Rock, Paper, Scissors"-Anwendung fängt klein an wird immer weiter ausgebaut:
Stufe 1: Einfache REST API, über die gegen den Computer gespielt wird. Das Backend wird von Beginn an cloud-native aufgesetzt, gemäß den 12 Prinzipien der "Twelve-Factor-App".
Stufe 2: Wir erstellen ein Spiel, das wir per Link mit einem anderen Spieler teilen. Dazu muss das Backend die laufenden Spiele verwalten. Wir fangen an und halten die Spiele im Hauptspeicher. Danach persistieren wir die Spiele in einer Datenbank. Die Verwaltung der Spiele muss skalierbar und auf den Betrieb in dynamischen Cloud-Umgebungen eingestellt sein.
Stufe 3: Wer noch mehr schafft, kann in Echtzeit gegen andere spielen und bspw. ein Leaderboard mit Highscores umsetzen.
entwickler.de Go Day: Go Web Development 101Jan Stamer
HTTP/2, full json support and a great networking stack, all that is part of Go’s standard library. Just like everything else you need for a smashing web application. You can run your Go application on AWS Lambda, any operating system or in your browser with WebAssembly thanks to Go’s extreme portability.
You will learn the basics of web development with Go very hands on and with just the standard library of Go. Along the way we will touch essential tooling and dev setup. By then building a REST API or simple server rendered frontend is a piece of cake. And let us not forget to properly test the bastard, before putting it out in the wild.
Weitere ähnliche Inhalte
Ähnlich wie entwickler.de 05/2023: Go über den Wolken
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
node.js erlaubt die Ausführung von Javascript auf dem Server. Zusammen mit YUI3 gibt es jetzt auch noch einen echten DOM und plötzlich macht alles Spass :-)
Einführung in Rack und Rack-Middleware
Vortrag wurde am 24.11.2009 an der
Heinrich-Heine-Universität Düsseldorf im Rahmen der Rails User Group Düsseldorf von Hussein Morsy gehalten
Vortrag der OOP 2014
Überblick über die Vorteile der Programmiersprache Go für skalierbare Anwendungen sowie ein Einblick in hierbei zu beachtende Probleme und ihre Lösung.
Vortrag zur Socket-Programmierung von Dual-Stack-Anwendungen in Python von der PyCon DE 2011 Leipzig.
http://de.pycon.org/2011/schedule/sessions/42/
http://blip.tv/episode/5632211
Das Zend Framework 3 bietet mit seiner MVC-Komponente und mit dem Nebenprojekt Apigility bereits verschiedene Möglichkeiten, ein RESTful API auf Basis von PHP zu entwickeln. Doch auch das neue Microframework Expressive ist für den Betrieb eines RESTful Web Services geeignet. In der simpelsten Variante reichen nach der Installation der Skeleton Application nur wenige Zeilen Code für ein REST-API. Durch das offene Konzept sind jedoch auch komplexere API-Anwendungen flexibel und ohne großen Frameworkballast zu entwickeln. In diesem Vortrag erfahren Sie alles Wissenswerte zu Expressive und dem Aufbau einer RESTful Anwendung mit PHP.
CloudLand 2023: Rock, Paper, Scissors Cloud Competition - Go vs. JavaJan Stamer
Wir implementieren "Rock, Paper, Scissors" als Cloud-Anwendung. Das Frontend stellen wir, ihr implementiert das Backend gegen eine vorhandene REST API Definition. Dazu nutzt ihr entweder Go (betreut von Jan Stamer) oder Java (betreut von Lena Grimm). Zum Abschluss tauschen wir die gewonnenen Erfahrungen in einer Fishbowl Session aus.
Die "Rock, Paper, Scissors"-Anwendung fängt klein an wird immer weiter ausgebaut:
Stufe 1: Einfache REST API, über die gegen den Computer gespielt wird. Das Backend wird von Beginn an cloud-native aufgesetzt, gemäß den 12 Prinzipien der "Twelve-Factor-App".
Stufe 2: Wir erstellen ein Spiel, das wir per Link mit einem anderen Spieler teilen. Dazu muss das Backend die laufenden Spiele verwalten. Wir fangen an und halten die Spiele im Hauptspeicher. Danach persistieren wir die Spiele in einer Datenbank. Die Verwaltung der Spiele muss skalierbar und auf den Betrieb in dynamischen Cloud-Umgebungen eingestellt sein.
Stufe 3: Wer noch mehr schafft, kann in Echtzeit gegen andere spielen und bspw. ein Leaderboard mit Highscores umsetzen.
entwickler.de Go Day: Go Web Development 101Jan Stamer
HTTP/2, full json support and a great networking stack, all that is part of Go’s standard library. Just like everything else you need for a smashing web application. You can run your Go application on AWS Lambda, any operating system or in your browser with WebAssembly thanks to Go’s extreme portability.
You will learn the basics of web development with Go very hands on and with just the standard library of Go. Along the way we will touch essential tooling and dev setup. By then building a REST API or simple server rendered frontend is a piece of cake. And let us not forget to properly test the bastard, before putting it out in the wild.
betterCode() Go: Einstieg in Go, Standard-Library und ÖkosystemJan Stamer
Die Programmiersprache Go ist angesagt – und das zu Recht. Populäre Projekte wie Kubernetes, Docker oder Terraform zeigen, dass Go bestens geeignet ist, um moderne Anwendungen für die Cloud zu entwickeln. Aber was macht Go interessant für Java-Entwickler oder C++-Entwicklerinnen? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem und ist rasend schnell. Aber vor allem: Go macht Spaß.
An einfachen praktischen Beispielen lernst du mit Go zu entwickeln. Dazu lernst du wesentliche Konzepte von Go wie Interfaces, Goroutinen und Channels kennen. Du lernst die wichtigsten Entwicklungsumgebungen und Tools zur Go-Entwicklung kennen. Dann kannst du schon mit der mächtigen Standardbibliothek von Go eigene Anwendungen entwickeln. Zum Abschluss bekommtst du noch wichtige Reisetipps für deinen weiteren Weg durchs Go-Universum.
HTML spielt in modernen Web Anwendungen nur die zweite Geige.
JavaScript Frameworks wie Angular oder React spielen die erste. Aber muss das so sein? Mit Turbo (https://turbo.hotwire.dev/) stellt Basecamp (um Rails Gründer David Heinemeier Hansson) einen alternativen Ansatz vor, um moderne Web Anwendungen mit plain HTML zu entwickeln. Das Grundprinzip von Turbo: Über die Leitung geht nur HTML, gerendert wird auf dem Server.
HTTP/2, full json support and a great networking stack, all that is part of Go’s standard library. Just like everything else you need for a smashing web application. You can run your Go application on AWS Lambda, any operating system or in your browser with WebAssembly thanks to Go’s extreme portability.
You will learn the basics of web development with Go very hands on and with just the standard library of Go. Along the way we will touch essential tooling and dev setup. By then building a REST API or simple server rendered frontend is a piece of cake. And let us not forget to properly test the bastard, before putting it out in the wild.
JavaForum Nord 2021: Java to Go - Google Go für Java-EntwicklerJan Stamer
Die Programmiersprache Go ist angesagt – und das zu Recht. Populäre Projekte wie Kubernetes, Docker oder Terraform zeigen, dass Go bestens geeignet ist, um moderne Anwendungen für die Cloud zu entwickeln. Aber was macht Go interessant für Java-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem und ist rasend schnell. Aber vor allem: Go macht Spaß.
In dieser Session lernt Ihr die Sprache Go mit ihren Stärken und Schwächen aus Sicht eines Java Entwicklers kennen. Ihr bekommt einen sehr praxisbezogenen Einstieg, HandsOn anhand von kleinen Projekt Beispielen.
Karlsruher Entwicklertag 2021: Turbo powered Web AppsJan Stamer
HTML spielt in modernen Web Anwendungen nur die zweite Geige.
JavaScript Frameworks wie Angular oder React spielen die erste. Aber muss das so sein? Mit Turbo (https://turbo.hotwire.dev/) stellt Basecamp (um Rails Gründer David Heinemeier Hansson) einen alternativen Ansatz vor, um moderne Web Anwendungen mit plain HTML zu entwickeln. Das Grundprinzip von Turbo: Über die Leitung geht nur HTML, gerendert wird auf dem Server.
Jugs HH: Elefant unter Strom - von OldSQL über NoSQL zu NewSQL?Jan Stamer
Vortrag bei de Java User Group Hamburg:
„Relationale Datenbanken sind groß, alt, schwer und langsam wie ein Elefant. Richtig gut können die eigentlich gar nichts“, sagt Michael Stonebreaker. Er will den Elefanten mit der Datenbank VoltDB zeigen, dass auch mit ACID und SQL gute Skalierbarkeit und hohe Performance möglich sind.
10. Cloud Native Technologien befähigen
skalierbare Anwendungen
zu entwickeln und betreiben,
in modernen, dynamischen Umgebungen.
Cloud Native Computing Foundation
11. Skalierbarheisst ...
Last wird auf 2, 3, ... Instanzen verteilt
eine Instanz kann mehrCPU und Speicher
bekommen
ist nichts los, läuft auch nichts
#
#
#
16. TarifrechnerDogOp v0.2
Angebote in PostgreSQL DB speichern
#
Migration DatenbankSchema
#
Bereitstellung als Container
#
CRUD Operationen in REST API
#
19. Projekt DogOPaufsetzen
go mod init crossnative/dogop // Go Modul initialisieren
go get github.com/go-chi/chi/v5 // Chi Dependency einbinden
Projektstruktur
go.mod // Modul Deskriptor mit Dependencies
go.sum // Checksummen der Dependencies
36. Port perUmgebungsvariable
konfigurieren
// Oder mit envconfig von Kelsey Hightower
type Config struct {
Port string `default:"8080"`
}
function main() {
var config Config
err := envconfig.Process("dogop", &config)
if err != nil {
log.Fatal(err.Error())
}
http.ListenAndServe(fmt.Sprintf(":%v", config.Port), r)
}
37. Dockerfile fürDogOP
# 1. DogOp Builder
FROM golang as builder
WORKDIR /app
ADD . /app
RUN CGO_ENABLED=0 go build -ldflags="-w -s" -o build/dogop .
1
2
3
4
5
6
# 2. DogOp Container
7
FROM alpine
8
COPY --from=builder /app/build/dogop /usr/bin/
9
EXPOSE 8080
10
ENTRYPOINT ["/usr/bin/dogop"]
11
# 2. DogOp Container
FROM alpine
COPY --from=builder /app/build/dogop /usr/bin/
EXPOSE 8080
ENTRYPOINT ["/usr/bin/dogop"]
# 1. DogOp Builder
1
FROM golang as builder
2
WORKDIR /app
3
ADD . /app
4
RUN CGO_ENABLED=0 go build -ldflags="-w -s" -o build/dogop .
5
6
7
8
9
10
11
# 1. DogOp Builder
FROM golang as builder
WORKDIR /app
ADD . /app
RUN CGO_ENABLED=0 go build -ldflags="-w -s" -o build/dogop .
# 2. DogOp Container
FROM alpine
COPY --from=builder /app/build/dogop /usr/bin/
EXPOSE 8080
ENTRYPOINT ["/usr/bin/dogop"]
1
2
3
4
5
6
7
8
9
10
11
50. DatenbankSchema migrieren
DB Schema Update beim Start derAnwendung
#
DB Schema migrieren mit golang-migrate
#
SQL Migrations Skripte Teil des Binary
#