Informacije o kursu

Nivo:

osnovni/srednji

Početak:

29. jun

Trajanje:

2h

Broj polaznika:

30

Prijave do:

25. jun

Predavač:

Ilya Ivankin

Cijena:

besplatno

Go Lang workshop

Building a TODO-list Service in Go with MongoDB

This course is designed for developers who want to master the Go programming language and learn how to create web services connected to databases using MongoDB. Throughout the course, you will build a TODO-list service step by step, implementing the core CRUD operations (Create, Read, Update, and Delete tasks).

 

⏱️ Date: Saturday, June 29, 14:15h

📍 Place: Coinis Hub sala (ETF)

🧑‍💻Lecturer: Ilya Ivankin, Independent Expert

This workshop is FREE

What You Will Learn in the Course

  1. Go Basics: At the beginning of the course, you will get acquainted with the basics of Go, its syntax, and key features such as strong typing, simplicity, and high performance. We will also cover installing and setting up Go on your system.
  2. Working with MongoDB: You will learn what MongoDB is, how it stores documents, and why it is ideal for applications with dynamic and complex data structures. We will cover basic operations with MongoDB, including connecting to the database, inserting, reading, and updating documents.
  3. Creating Data Models: You will learn how to create data models in Golang corresponding to MongoDB document structures. We will cover how to use Golang packages to work with MongoDB and correctly define data structures using annotations.
  4. Interfaces and Abstraction: One of the critical topics of the course will be using interfaces to abstract application logic and separate it into different layers. This will allow you to create a flexible and easily testable architecture where the database logic is separated from the main service logic.
  5. Developing the HTTP Server: You will learn how to create an HTTP server in Go using the `net/http` package and the Gorilla Mux framework for routing. We will cover how to set up routing and handle various HTTP requests.
  6. Implementing Service Functionality: At this stage, you will learn how to implement the main functions of the TODO-list service, including adding new tasks, updating existing ones, retrieving a list of all tasks, and marking tasks as completed. You will also learn how to handle errors and return correct HTTP responses.
  7. Practical Examples and Assignments: You will complete practical assignments to reinforce the knowledge gained throughout the course. You will independently implement parts of the service and test your solutions with test data.

About the Lecturer:

Ilia Ivankin, Independent Expert. As a lead software engineer with extensive experience in electrical and electronics engineering, Ilia has contributed seriously to award-winning projects with millions of users. His expertise extends to implementing reactive flow architectures and integrating message brokers for seamless communication. He creates and conducts profiling with load tests to optimize system performance. With a strong background in Kubernetes (k8s), he is well-versed in deploying and managing containerized applications in a cloud-native environment.

_____________________________________________________

Ovaj kurs je namijenjen programerima koji žele da ovladaju Go programskim jezikom i nauče kako da kreiraju web servise povezane sa bazama podataka koristeći MongoDB. Tokom kursa, korak po korak ćete izgraditi TODO-list servis, implementirajući osnovne CRUD operacije (Create, Read, Update, i Delete zadataka).

 

⏱️ Datum: Subota, 29. jun, 14:15h

📍 Mjesto: Coinis Hub sala (ETF)

🧑‍💻 Predavač: Ilya Ivankin, nezavisni ekspert

✅ Ova radionica je BESPLATNA

Šta ćete naučiti na kursu

Osnove Go jezika: Na početku kursa, upoznaćete se sa osnovama Go jezika, njegovom sintaksom i ključnim karakteristikama kao što su jednostavnost i visoke performanse. Takođe ćemo obraditi instalaciju i podešavanje Go jezika na vašem računaru.

Rad sa MongoDB: Naučićete šta je MongoDB, kako čuva dokumente i zašto je idealan za aplikacije sa dinamičnim i složenim strukturama podataka. Obradićemo osnovne operacije sa MongoDB-om, uključujući povezivanje sa bazom podataka, insertovanje, čitanje i ažuriranje dokumenata.

Kreiranje modela podataka: Naučićete kako da kreirate modele podataka u Golangu koji odgovaraju strukturama dokumenata u MongoDB-u. Obradićemo kako koristiti Golang pakete za rad sa MongoDB-om i pravilno definisanje struktura podataka koristeći anotacije.

Interfejsi i abstrakt: Jedna od ključnih tema kursa biće korišćenje interfejsa za abstrakt aplikacione logike i njeno razdvajanje u različite slojeve. Ovo će vam omogućiti da kreirate fleksibilnu i lako testiranu arhitekturu gde je logika baze podataka odvojena od glavne logike servisa.

Razvoj HTTP servera: Naučićete kako da kreirate HTTP server u Go jeziku koristeći net/http paket i Gorilla Mux framework za rutiranje. Obradićemo kako postaviti rutiranje i rukovati raznim HTTP zahtjevima.

Implementacija funkcionalnosti servisa: U ovoj fazi, naučićete kako da implementirate glavne funkcije TODO-list servisa, uključujući dodavanje novih zadataka, ažuriranje postojećih, dobijanje liste svih zadataka i označavanje zadataka kao završenih. Takođe ćete naučiti kako da rukujete greškama i vraćate ispravne HTTP odgovore.

Praktični primeri i zadaci: Završavaćete praktične zadatke kako biste učvrstili znanje stečeno tokom radionice. Samostalno ćete implementirati djelove servisa i testirati svoja rješenja sa testnim podacima.

O predavaču:

Ilia Ivankin, nezavisni ekspert. Kao vodeći softverski inženjer sa bogatim iskustvom u elektro inženjeringu, Ilia je značajno doprinio nagrađivanim projektima sa milionima korisnika. Njegova stručnost uključuje implementaciju reaktivnih arhitektura toka i integraciju brokerskih poruka za nesmetanu komunikaciju. Kreira i sprovodi profilisanje sa opterećenjima kako bi optimizovao performanse sistema. Sa jakom pozadinom u Kubernetes (k8s), dobro je upućen u postavljanje i upravljanje kontejnerizovanim aplikacijama u cloud-native okruženju.

Ostali kursevi