Masz już konto? Zaloguj się

Kurs Programowanie w Golang

Go to jeden z języków programowania, który zdobywa popularność w niesamowicie szybkim tempie. Zawdzięcza to przede wszystkim swojej prostocie i lekkości w pisaniu.

39 lekcji

6h 26min

4 (3 oceny)

Programowanie w Golang - od Podstaw

Go to jeden z języków programowania, który zdobywa popularność w niesamowicie szybkim tempie. Zawdzięcza to przede wszystkim swojej prostocie i lekkości w pisaniu. Powstaje coraz więcej narzędzi przydatnych dla programistów oraz firm, które tworzone są właśnie w tym języku jak np. Docker czy Kubernetes. Warto dodać, że Go jest mocno wspierany przez firmę Google. W tym kursie dowiesz się, w jaki sposób pisać aplikacje serwerowe w Go oraz jak radzić sobie z funkcyjnym charakterem tego języka. Aby najpierw zrozumieć rzeczy zaawansowane, należy solidnie opanować podstawy – w tym właśnie chcę Ci pomóc.

Witaj w świecie typów

W Go wszystko opiera się o typy. Czym one są? Tak zwane typy proste(string, int, float itd.) to tylko początek, interfejsy, struktury i nie tylko. Pokażę Ci jak używać wielu wątków Go i jakie są sposoby komunikacji między nimi, a także opowiem i pokażę na praktycznych przykładach jakie zagrożenia niesie ze sobą wykorzystywanie wielowątkowości.

Programowanie funkcyjne nie takie straszne

W Go nie mamy obiektowości znanej z wielu innych języków. Posiada zalążki obiektowości ale sprawia to wielu osobom problemy jak podejść do architektury aplikacji. Nauczę Cię jak podejść do funkcyjności w taki sposób aby wciąż nawet duże aplikacje były łatwo rozwijalne lub co ważniejsze, była możliwość podzielenia ich na mniejsze mikroserwisy gdy zajdzie taka potrzeba.

Z wielowątkowością wiąże się też wielka odpowiedzialność

Wśród programistów można usłyszeć głosy że w Go wielowątkowość jest świetnie rozwiązana i trudno się z tym nie zgodzić ale warto pamiętać że nasze mózgi działają jednowątkowo i często pomijamy zagadnienia takie jak wyścig wątków, deadlock i inne wyzwania, które stawia przed nami praca na dzisiejszych procesorach. Pokażę i wytłumaczę Ci w praktyce większość z nich i jak sobie z nimi radzić i na co uważać. Jeśli nie pracowałeś z językami wielowątkowymi to ta sekcja jest specjalnie dla Ciebie.

GRPC czyli jak przestać dbać o to co dzieje się w warstwie sieciowej

Zastanawiałem się wiele razy czy nie istnieje taka technologia w której piszę sobie jeden pliczek i z tego pliku do każdego języka mogę wygenerować sobie klienta i serwer jedną komendą. To jest w wielkim skrócie GRPC, nie musisz się przejmować czy używasz HTTP 1.1/2.0, czy używasz websocketów do transmisji, czy przesyłasz dane w formacie JSON, XML, Protobuf, czy jest moje API kompatybilne wstecz. Tym wszystkim zajmuje się GRPC. Wyjaśnię Ci czym dokładnie jest, dlaczego jest super i wreszcie jak tego używać razem z językiem Go. Napiszemy praktyczny projekt chatu w którym wykorzystamy funkcję server-streaming.

Tworzenie własnych obrazów Docker image

Pisząc aplikację chcemy aby uruchamiała się ona tak samo niezależnie czy uruchamiamy ją na Linuxie, macOS czy na Windowsie i z pomocą przychodzi nam Docker. Pokażę Ci jak z gotowej aplikacji napisanej w Go stworzyć obraz Dockerowy aby móc go uruchamiać na swoim komputerze bądź serwerze. Pokażę Ci również jak nasz obraz Dockerowy połączyć z bazą danych za pomocą Docker Compose aby móc cieszyć się działającą aplikacją uruchamianą jedną komendą.

Tworzenie serwerów HTTP

Kurs Go nie mógłby obejść się bez serwera HTTP stworzonego tylko z pomocą biblioteki wbudowanej w język Go. Dokładnie tak, nie musisz instalować nic poza językiem i już możesz tworzyć serwery co jest świetną wiadomością. Następnie pokażę Ci popularną bibliotekę Gin do tworzenia serwerów. Dzięki temu zobaczysz różnice i ocenisz czy warto zostać przy wbudowanej bibliotece czy może używać zewnętrznych.

Bazy danych

Jak w każdym języku serwerowym tak i w Go możemy się podłączyć pod bazę danych. Krok po kroku wyjaśnię Ci jak to zrobić prosto i przyjemnie używać baz SQL, które od dziesiątek lat cieszą się niezwykłą popularnością. Migracje, zapytania czy dbanie o połączenie to nie będzie dla Ciebie nic trudnego.

Dla kogo jest ten kurs?

Ten Kurs powstał z myślą o osobach, które chciałyby poszerzyć swoją wiedzę o język Go. Zakłada on że posiadasz już wiedzę z minimum jednego innego języka programowania i wiesz w jaki sposób działa komunikacja po protokole HTTP. Możesz też znać Go i chcieć zobaczyć jak dzielić programy na paczki tak aby były łatwo rozwijalne w przyszłości.

Czego się nauczysz?

  • Proste i szybkie wyjaśnienie zasad rządzących językiem Go

  • Stworzenie kilku aplikacji wykorzystujących język Go

  • Wykorzystanie biblioteki Gin w praktyce

  • Wyjaśnienie i stworzenie projektu z użyciem GRPC

  • Stworzenie struktury serwera w oparciu o najlepsze praktyki

  • Rozwiązania pochodzące z prawdziwej pracy nad wieloma projektami

Zawartość

Programowanie w Golang

9 rozdziały 39 lekcji 6h 26min

  • Wstęp

    9min

    Wprowadzenie

    Podgląd lekcji

    4min

    Instalacja Windows

    1min

    Instalacja Linux

    1min

    Instalacja macOS

    1min

    Pierwszy skrypt

    2min

  • Najważniejsze elementy Go

    1h 7min

    Dokumentacja Go

    2min

    Menadżer paczek

    2min

    Podstawowe instrukcje Go

    16min

    Rozwiązanie zadania

    7min

    Wskaźniki

    4min

    Struktury

    9min

    Interfejsy

    4min

    Sort, map, filter

    12min

    Goroutines - wielowątkowość

    10min

  • Programowanie funkcyjne

    36min

    Zmiana myślenia w programowaniu funkcyjnym

    Podgląd lekcji

    6min

    Planowanie pracy w języku funkcyjnym

    5min

    Pierwszy projekt - Parsowanie jsona z użytkownikami

    15min

    Pierwszy projekt - Zapis i odczyt z pliku użytkowników

    10min

  • Tworzenie serwerów

    19min

    Tworzenie serwera za pomocą wbudowanych paczek

    7min

    Alternatywne paczki do tworzenia serwerów

    Podgląd lekcji

    8min

    Serwowanie statycznych plików

    3min

  • Gin

    2h 14min

    Korzystanie z szablonów

    9min

    Praca z bazą GORM

    15min

    Tworzenia konta i logowania użytkownika - Część 1

    18min

    Tworzenia konta i logowania użytkownika - Część 2

    12min

    Tworzenia konta i logowania użytkownika - Część 3

    31min

    Tworzenia konta i logowania użytkownika - Część 4

    35min

    Korzystanie ze Swaggo

    15min

  • GRPC

    1h 33min

    Co to jest GRPC?

    4min

    Instalacja i użycie

    1min

    Generowanie klienta GRPC

    Podgląd lekcji

    15min

    Chat grupowy dla zalogowanych użytkowników - Część 1

    20min

    Chat grupowy dla zalogowanych użytkowników - Część 2

    54min

  • Docker

    20min

    Zmienne środowiskowe

    4min

    Co daje użycie Dockera

    2min

    Tworzenie Dockerfile

    4min

    Tworzenie i użycie docker-compose

    10min

  • Wdrażanie aplikacji

    7min

    Wdrażanie na VPS

    7min

  • Podsumowanie

    1min

    Zakończenie

    1min

Autor kursu

Piotr Krzesaj

Średnia ocen autora: 5

Bio
👋 Cześć! Zajmuję się tym co robię odkąd pamiętam, kiedyś uczyłem się z tutoriali dostępnych w internecie aż do teraz kiedy to ja spróbowałem swoich sił bo uwielbiam poznawać nowe rzeczy . Zaczynałem jako dziecko od zwykłej ciekawości, przez PHP 5.4, Objective-C(od iOS 6), Swifta(od powstania), Kotlina(2019), Rust'a, Go(od 2 lat) i piszę w każdym języku po trochę to do czego nadaje się najlepiej bo po prostu potrzebowałem go do czegoś użyć, więc dlaczego by go nie poznać. Obecnie zajmuje się głównie koordynacją pracy przy projektach oraz łączeniem kilku technologii ze sobą w jedną, spójną całość. Mam nadzieję że podoba Ci się moja praca, a tymczasem miłego oglądania!
Inne kursy tego autora
Programowanie w Golang

Dołącz do ponad 10 tys. zadowolonych z naszych kursów

Agnieszka Plata

19 stycznia 2022

Marcin Kaczor

25 stycznia 2022

Kurs przygotowany bardziej pod do doświadczonych programistów, język Go jest omówiony z grubsza. Dodatkowo jest w nim mały błąd, prowadzący myli slice z tablicą. Poza tym wszystko ok, dobrze się to oglądało. Czekam na kurs Microserwisy w Go :)

Marcin Szut

2 lutego 2022

Kurs Programowanie w Golang

  • 39 lekcji wideo

  • 6h 26min materiału

  • Ostatnia rewizja 31.01.2022

  • Certyfikat w ramach ścieżek

  • Dostęp z urządzeń mobilnych

Dlaczego wybrać właśnie ten kurs?

Efektywna nauka

Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!

Wiedza ekspertów

Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i pracować efektywniej.

Praktyczne przykłady

Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.

Pytania i odpowiedzi

Przeczytaj najczęściej zadawane pytania

Masz więcej pytań?

Porozmawiaj z nami na na czacie

Wyślij nam e-mail

Zadzwoń +48 880880606

Czy każdy kurs ma pliki źródłowe?

Nie każdy. Jeśli pliki są dostępne dla danego kursu, znajdziesz je w zakładce źródła. Niektóre kursy nie posiadają źródeł ponieważ nie są potrzebne, inne nie mogły być zamieszczone np. ze względu na prawa autorskie do wykorzystania komercyjnych prac naszych autorów. Staramy się aby kursy były maksymalnie praktyczne i chętnie pokazujemy zaplecze zawodowe naszych autorów, ale niekiedy nie możemy dołączyć go w postaci źródeł.

Jak jest skonstruowany kurs?

Kurs składa się z rozdziałów oraz lekcji. Staramy się, aby optymalnie kursy miały 5-7 rozdziałów po około 5-10 lekcji w każdym. W ten sposób nauka jest optymalna a podtrzymanie uwagi staje się łatwiejsze. Rekomendujemy przerabianie nie więcej niż jednego rozdziału naraz a po jego przerobieniu powtórzenie materiału we własnym zakresie.

Jak najlepiej wykorzystać kurs?

Potraktuj kurs jako inspirację do własnej pracy. Tam, gdzie się da staraj się powtarzać czynności, które wykonuje autor. Nie powtarzaj ich jednak bezmyślnie - spróbuj zmodyfikować przykłady i dostosować je do swoich potrzeb. W ten sposób przyswoisz materiał jeszcze lepiej!

Jak mogę uzyskać dostęp do kursu?

Możesz albo wykupić ten konkretny kurs przez koszyk, uzyskując do niego (i jego rewizji) bezterminowy dostęp, albo wykupić wariant abonamentu, który obejmuje dany kurs i w ten sposób oglądać go oraz inne materiały na platformie tak długo, jak Twój abonament jest aktywny.

Czy kurs jest aktualny?

Staramy się aby wszystkie materiały na stronie były aktualne. Nie znaczy to, że kurs powstał bardzo niedawno. Często na stronie znajdziesz trochę starsze kursy, jednak regularnie wykonujemy ich rewizję i zmieniamy lekcje - czy to przez dodanie stosownych komentarzy z aktualizacją, czy poprzez nagranie danej lekcji jeszcze raz. Datę ostatniej rewizji znajdziesz w informacjach o kursie.

Czym się różni kurs od warsztatu i ścieżki?

Kursy to kilku godzinne, kompleksowe opracowanie danego zagadnienia, podzielone na lekcje i rozdziały. Często uzupełniają je Warsztaty, które mają formę jednej dłuższej, praktycznej lekcji (30min-1h), natomiast ścieżki stanowią zbiór jednych i drugich materiałów - ułożoną z kursów i warsztatów playlistę, która pozwala Ci kompleksowo opanować dane zagadnienie.

We frontendzie nie można stać w miejscu, niezależnie od tego, czy jest się początkującym, czy zaawansowanym. Narzędzia i techniki się zmieniają, więc trzeba cały czas trzymać rękę na pulsie. Jako twórca kursów i programista mogę spokojnie polecić eduweb.pl jako aktualne i dobre źródło wiedzy.

Adam Romański

helloroman.com

Zacznij naukę w Programowanie w Golang

  • 39 lekcji wideo

  • 6h 26min materiału

  • Ostatnia rewizja 31.01.2022

  • Certyfikat w ramach ścieżek

  • Dostęp z urządzeń mobilnych