Kurs Programowanie w Golang

Wprowadzenie

Koszyk Koszyk
  • Opis
  • Recenzje
  • Autor
  • Transkrypt
  • Pytania i odpowiedzi
  • QA

3 ocen

Wprowadzenie

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.

  1. Proste i szybkie wyjaśnienie zasad rządzących językiem Go
  2. Stworzenie kilku aplikacji wykorzystujących język Go
  3. Wykorzystanie biblioteki Gin w praktyce
  4. Wyjaśnienie i stworzenie projektu z użyciem GRPC
  5. Stworzenie struktury serwera w oparciu o najlepsze praktyki
  6. Rozwiązania pochodzące z prawdziwej pracy nad wieloma projektami

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.

Dlaczego wybrać właśnie ten kurs?

  1. 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!
  2. 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.
  3. 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ń.

Autor: Piotr Krzesaj

👋 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!

4

Średnia ocen autora

Ten kurs nie posiada jeszcze transkryptu. Choć bardzo się staramy, wygenerowanie transkryptów do wszystkich kursów jest bardzo czasochłonne. W wielu przypadkach wymaga zaangażowania drogiego oprogramowania i godzin pracy przy poprawianiu transkryptu tak, aby był on możliwie jak najlepszy.

Zależy nam na tym, aby przygotować transkrypty do wszystkich naszych treści. To jedyny sposób dla osób niedosłyszących, aby mogły wygodnie uczyć się technologii. Poza tym, transkrypty ułatwiają skanowanie kursu w poszukiwaniu informacji i jego indeksowanie.

Szukamy osób, które mogłyby nam pomóc w poprawianiu transkryptów. Jeśli masz chwilę wolnego czasu i interesuje Cię dany kurs, w zamian za taką pomoc chętnie udostępnimy Ci wybrany materiał. Wyślij swoje zgłoszenie tutaj, jeśli możesz pomóc nam rozwijać platformę.

  • Informacje
  • Lekcje

Autor: Piotr Krzesaj

Czas: 6 godzin 26 minut

Aktualizacja: 31.01.2022

  • Certyfikat w ramach Ścieżki
  • Dostęp z urządzeń przenośnych
  • Licencje dla firm i szkół
Podaruj w prezencie

Wstęp

  • Wprowadzenie

  • Instalacja Windows

  • Instalacja Linux

  • Instalacja macOS

  • Pierwszy skrypt

Najważniejsze elementy Go

  • Dokumentacja Go

  • Menadżer paczek

  • Podstawowe instrukcje Go

  • Rozwiązanie zadania

  • Wskaźniki

  • Struktury

  • Interfejsy

  • Sort, map, filter

  • Goroutines - wielowątkowość

Programowanie funkcyjne

  • Zmiana myślenia w programowaniu funkcyjnym

  • Planowanie pracy w języku funkcyjnym

  • Pierwszy projekt - Parsowanie jsona z użytkownikami

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

Tworzenie serwerów

  • Tworzenie serwera za pomocą wbudowanych paczek

  • Alternatywne paczki do tworzenia serwerów

  • Serwowanie statycznych plików

Gin

  • Korzystanie z szablonów

  • Praca z bazą GORM

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

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

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

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

  • Korzystanie ze Swaggo

GRPC

  • Co to jest GRPC?

  • Instalacja i użycie

  • Generowanie klienta GRPC

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

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

Docker

  • Zmienne środowiskowe

  • Co daje użycie Dockera

  • Tworzenie Dockerfile

  • Tworzenie i użycie docker-compose

Wdrażanie aplikacji

  • Wdrażanie na VPS

Podsumowanie

  • Zakończenie

}