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.
W jednej z poprzednich lekcji pokazałem w
jaki sposób stworzyć za pomocą standardowych paczek do
slangu tej lekcji pokażę ci jak zaserwować sympatyczną stronę internetową czyli
przychodzi do nas programista ze swoją własną stroną internetową i chciałby
żebyśmy my ją udostępnili mu w internecie oczywiście możemy do tego użyć Androida
ale konfiguracja Hendrixa czasami przysparza problemów a jeśli znamy go to
możemy to zrobić za pomocą ponad 100 linijek kodu.
To co jest kupowałem z jednej z poprzednich lekcji i możemy sobie np.
stworzyć folder statek i w tym folderze start możemy stworzyć np.
indeks HTML i tym indeksie HTML np.
stwórzmy H1 i niech tutaj będzie.
XML CZYLI MAMY TUTAJ W NASZYM folderze statek folder HTML stwórzmy sobie
dodatkowo jakiś tam plik kropka CSS i w tym pliku CSS.
Dajmy sobie z tym dla H1 księgę to będzie np.
tekst kolor.
W zasadzie to kolor i zobaczmy że ten tekst ma być np.
niebieski i importuje ten tekst w Naszym HTML u.
żeby to zrobić to musimy.
Z tego co wiem to serce muszę sprawdzić niestety w Google import CSS HTML.
I to będzie link.
I tutaj użyjemy głośnik Man.
Kropka.
Albo po prostu prezesa jak już mamy taki
styl HTML to wchodzimy z powrotem do naszego banku lub usuwamy zbędną funkcję
i tutaj dajemy statek Chandler i to HTTP File serwer.
I tu będzie HTTP Dir.
I tu udajemy.
Nasz statek czyli nasz folder statek albo sam też nie pamiętam dokładnie w jaki
sposób i tutaj http: handel i tu dajemy spacer po silniku i straty handlowy.
Jeśli uruchomimy.
Typach konsol i wejdziemy
na nasz lokal chaos to zobaczymy że został za importowany plik teraz i mamy niebieski
HTML i w taki sposób możemy zaserwować stronę HTML ową bądź
jakąkolwiek inną za pomocą Langa i statycznych statycznych plików.
I to by było na tyle w tej lekcji.
Zapraszam Cię do kolejnej.