od Podstaw
6 godz. 26 min · Go · Full-stack i Programowanie
Piotr KrzesajW 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.
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.
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.
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.
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ą.
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.
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.
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.
Witaj w kolejnej lekcji i w tej lekcji
napiszemy coś praktycznego czyli nasz pierwszy sklep w języku.
Aby to zrobić uruchomimy najpierw nasze Visual Studio kod a następnie stwórzmy
nowy plik i żeby stworzyć nasz pierwszy sklep w
języku go najpierw musimy ten plik zapisać w odpowiednim katalogu.
Przejdźmy do naszego katalogu domowego a następnie do katalogu go
do katalogu efekt dlatego że nasz domowy katalog to i nasz domowy katalog.
To są domyślne katalogi w których będziesz tworzył swoje projekty.
Następnie stwórzmy nasz własny katalog z
projektem i tu będzie kurs 1 i w tym katalogu kurs 1.
Stworzymy nasz plik Mein kropka.
Po stworzeniu pliku
tutaj mamy po lewej stronie ikonkę takiego katalogu więc musimy stworzyć drugi plik
nazwijmy go kropka mod czyli go kropka nad i w tym pliku GOG.com mod musimy
znać nazwę naszego modułu czyli piszemy moduł kurs 1
czyli nazwa naszego naszego modułu a następnie musimy zdefiniować jaką wersję
nasz kurs będzie używał i po zapisania tego pliku
przechodzimy z powrotem do pliku mamy go i piszemy sobie pakiet.
Mamy tutaj bardzo ważna rzecz każdy program musi się zaczynać od paczki map
i od funkcji main jak pewnie się domyślacie więc piszemy sobie funkcję Main
a następnie za pomocą paczki FM czyli FM czyli używamy paczki FM.
Czym jest paczka FM to to jest formatu formaty audio czyli
formatem In Out Loud i w tej paczce mamy kilka funkcji i mamy
tutaj paczkę funkcję Print Line i używamy tej funkcji
pętli do tego żeby wypisać sobie jako string.
Tutaj Hello world.
No i żeby uruchomić nasz program musimy przejść do zakładki bak i nacisnąć gaz jak
i po uruchomieniu zobaczymy że w konsoli pisało nam się Halo.
I to by było na tyle w tej lekcji.
Ja zapraszam Cię do kolejnego rozdziału.