Go

Go

BACKEND

Język programowania opracowany przez Google oferujący prostotę, wydajność i natywną współbieżność. Minimalistyczna architektura z szybką kompilacją, goroutynami do współbieżności i kompletną biblioteką standardową do budowania REST API, mikroserwisów i wydajnych aplikacji backendowych.

Czego się nauczysz

Prosta i zwięzła składnia z ultra-szybką kompilacją

Goroutyny i kanały do natywnej i lekkiej współbieżności

Bogata biblioteka standardowa (net/http, encoding/json, testing)

Zoptymalizowany garbage collector i niski ślad pamięciowy

Statyczna kompilacja produkująca samodzielne pliki binarne

Interfejsy i duck typing dla elastyczności bez dziedziczenia

Natywne testowanie z go test, benchmarki i race detector

Frameworki webowe (Gin, Echo, Fiber) i ORM (GORM, sqlx)

Jawna obsługa błędów z wzorcem sprawdzania błędów

Uproszczone wdrażanie (Docker, Kubernetes) ze statycznymi plikami binarnymi

Kluczowe tematy do opanowania

Najważniejsze pojęcia do zrozumienia tej technologii i zdania rozmów

1

Podstawy Go: typy, zmienne, funkcje, pakiety, importy

2

Struktury, metody, interfejsy i kompozycja (embedding)

3

Goroutyny: słowo kluczowe go, współbieżność vs równoległość, scheduler

4

Kanały: buforowane/niebuforowane, select, range, close, wzorce

5

Obsługa błędów: typ error, zawijanie błędów, panic/recover

6

Wskaźniki: &, *, przekazywanie przez wartość vs referencję, nil pointer

7

Wycinki i tablice: make, append, pojemność, podwycinki

8

Mapy: tworzenie, dostęp, usuwanie, iteracja, wartości zerowe

9

Interfejsy: pusty interfejs, asercje typów, przełączniki typów

10

Biblioteka standardowa: net/http, encoding/json, io, context

11

Serwery HTTP: http.Handler, http.HandlerFunc, multipleksery

12

Context: anulowanie, limity czasowe, wartości, propagacja

13

Testowanie: testy jednostkowe, testy table-driven, mockowanie, pokrycie

14

GORM: modele, migracje, asocjacje, preloading, hooki

15

Frameworki: Gin (routing, middleware), Echo, Fiber

16

Wzorce współbieżności: pule workerów, pipeline, fan-out/fan-in

17

Middleware: łańcuchowanie, uwierzytelnianie, logowanie, recovery

18

Wydajność: profilowanie (pprof), benchmarki, optymalizacje

19

Moduły: go.mod, wersjonowanie, zależności, vendoring

20

Wdrażanie: Docker multi-stage build, Kubernetes, statyczne pliki binarne