'Y'

Golang

Jest to podstawowy kurs języka programowania Go. Zawiera przegląd podstawowych typów danych, konstrukcji przepływu sterowania, specyfiki stylu programowania oraz wbudowanych narzędzi kompilatora.
Kod: DEV-040
Czas trwania: 32 godzin

Opis szkolenia

Szkolenie skierowane jest przede wszystkim do programistów, którzy mają doświadczenie w programowaniu w innych językach. Obejmuje możliwości i funkcje Go. Implementacja wbudowanych kontenerów i specyficzne cechy konstrukcji kontrolnych są szczegółowo omówione w praktycznych przykładach. Język programowania Go ma własną implementację podejścia obiektowego, dlatego szczególną uwagę przywiązuje się do dekompozycji domen opartych na interfejsie.

Go został opracowany z myślą o efektywnym wykorzystaniu obliczeń współbieżnych i równoległych - dlatego kurs zawiera liczne przykłady użycia algorytmów współbieżnych. Po prezentacji każdego nowego tematu następują praktyczne zadania. Zagadnienia związane ze korzystaniem ze standardowych funkcji biblioteki są sprawdzane, a także z wykorzystaniem pakietów innych firm.

Go zapewnia szeroki zestaw narzędzi wspierających procesy opracowywania i testowania, które są również omówione w tym kursie. Zajmuje się także niektórymi praktycznymi zadaniami, w tym interakcją z relacyjnymi bazami danych, i stanowi przykład implementacji interfejsu REST.

Plan szkolenia

Environment setup
  • Jak zainstalować i skonfigurować kompilator Go. Przykład pisania, kompilacji i uruchamiania prostego programu Go.

Go IDEs.
  • Jakie zintegrowane środowisko programistyczne można wykorzystać do pisania kodu w Go, jak je zainstalować i skonfigurować.

Go tools
  • Podstawowe wbudowane narzędzia wspierające proces rozwoju. Jak skompilować i uruchomić program Go, jak uzyskać dostęp do dokumentacji i dodać dokumentację do kodu

Directory structure / Go modules / Packages
  • Jak zorganizować strukturę katalogu projektu, aby była zgodna z ogólnie przyjętymi regułami. Metody dekompozycji kodu na osobne komponenty dla łatwej konserwacji i ponownego użycia

Installing dependencies
  • Używanie rozwiązań innych firm zamiast pisania własnego kodu. Zarządzanie zależnościami i rozproszone przechowywanie pakietów.

Data types and variables declaration / Zero values / Type conversions
  • Reprezentacja pierwotnych wartości w języku i wykonywanie podstawowych operacji w ich obrębie.

Containers: arrays, slices, maps
  • Jak przechowywać sekwencje wartości: tablice, wycinki i tabele skrótów (ich wewnętrzna reprezentacja i przypadki użycia).

Branching and loops: break, continue, fallthrough, goto
  • Opis algorytmów z pętlami i rozgałęzieniami, różnice w konstrukcjach składni Go od innych języków programowania.

Functions / Multiple return values / Variadic parameters / Function literals and closures
  • Definiowanie funkcji i przekazywanie parametrów. Funkcje z dowolną liczbą argumentów. Możliwości funkcjonalne, anonimowe funkcje i zamknięcia.

Types declarations / Constants / Iota / Structures / Embedded structs / Anonymous structs / Nested structs
  • Sposoby definiowania typów i stałych użytkowników, opisywania sekwencji wartości. Jak opisywać jednostki domeny za pomocą struktur języka.

Pointers / Value and references types
  • Zarządzanie pamięcią i wskaźnikami.

Defer statement
  • Odroczenie wywołania funkcji.

Error handling / Panic recover
  • Jak identyfikować i obsługiwać błędy czasu wykonywania. Sposoby pisania niezawodnego i odpornego kodu.

Methods and interfaces / Method expressions
  • Interfejsy i jego implementacja. Budowanie kodu obiektowego opartego na interfejsach. Metody

Concurrency vs parallelism / Goroutines / Memory model
  • Jak robić wiele rzeczy jednocześnie. Jednoczesne wykonywanie oparte na goroutinach. Model pamięci w Go.

Channels / Blocking and unblocking channels / Select statement
  • Pisanie niezawodnego kodu: wymiana danych między goroutynami w oparciu o kanały.

Waitgroups, mutexes, atomics
  • Synchronizowanie oddzielnych części programu.

Reading and writing files
  • Jak zapisywać dane między uruchomieniami oddzielnych programów.

Standard library: fmt, log, strings, time, sort, http, math, regexp
  • Wbudowane mechanizmy języka do rozwiązywania rutynowych zadań.

Testing and benchmarking
  • Jak zagwarantować stabilność kodu, przeprowadzając testy jednostkowe i jak znaleźć najbardziej skuteczne rozwiązanie dla zadania.

JSON encoding and decoding
  • Wymiana danych z programami napisanymi w innych językach.

Databases / PostgreSQL / MongoDB
  • Przechowywanie danych w relacyjnych bazach danych.

REST application example
  • Przykład pełnoprawnej aplikacji zaplecza.

Unsafe package
  • Rozszerzenia językowe do wykonywania niebezpiecznych funkcji.

Cele

  • Naucz się korzystać z typów danych i konstrukcji składniowych Go
  • Zapoznaj się z modelem obiektowym języka i jak go używać do projektowania komponentów programu
  • Poznaj niektóre główne trudności w tworzeniu współbieżnego kodu programu i sposoby ich przezwyciężenia
  • Dowiedz się, jak korzystać z wbudowanych narzędzi Go i opracowywać kod zgodnie z oczekiwaniami społeczności programistów
  • Naucz się rozwiązywać rzeczywiste zadania na poziomie aplikacji produkcyjnej

Grupa docelowa

  • Programiści, którzy mają doświadczenie w programowaniu w innych językach
  • Architekci, projektanci systemów, testerzy

Trener Online
Denys Zamiatin Software Development Consultant
Denys has over 20 years of experience in commercial software development. He has contributed, both as a developer and consultant, in a significant number of projects using wide range of languages and technologies such as Python, C++, JavaScript, Java, C#, PHP, Oracle, MySQL, MongoDB, Redis, Apache Spark and more.

Since 2005, Denys has been involved in the development of high loaded scalable systems in the field of machine learning and artificial intelligence. His last roles involved working as a consultant for software architecture development for distributed web systems and as a software developer for a project aimed at developing components for a distributed biometric authentication system.

He has a PhD in Image Processing and a Masters Degree in Computer Programming. And for the past 5 years Denys has been involved in developing and facilitating trainings.
Harmonogram w Online Cennik
Szkolenie zaplanowano na Online
10.05.2021 - 19.05.2021
Godziny szkolenia: 09:30-13:30
Lokalizacja: Online
Czas trwania: 32 godzin
Jezyk: Angielski
Trener
Denys Zamiatin
Software Development Consultant
-10% 2 200 zł
1 980 zł
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
10.05.2021 - 19.05.2021
Godziny szkolenia: 09:30-13:30
Lokalizacja: Online
Czas trwania: 32 godzin
Trener
Denys Zamiatin
Software Development Consultant
-10% 2 200 zł
1 980 zł
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Online 2200 zł
Bucharest 2200 zł
Kraków 2200 zł
Wroclaw 2200 zł

Uprzejmie informujemy, że płatność za każde szkolenie będzie realizowana w lokalnie obowiązującej walucie. Jednocześnie informujemy, że podane ceny mogą ulec zmianie w zależności od lokalizacji szkolenia oraz trybu jego realizacji. Do ceny netto widocznej przy wybranym szkoleniu należy doliczyć 23% podatku VAT.

Szkolenia, które mogą Cię zainteresować:
DEV-040102196

Zarejestruj się na następne szkolenie

Wybierz termin
Imię*
Nazwisko*
Firma
Email*
Numer telefonu*
Twój komentarz
Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.