Profession Backend developer on Go - course 105,600 rub. from SkillFactory, training 12 months, Date of February 15, 2023.
Miscellaneous / / November 29, 2023
Backend developer in Go is a technically ambitious and in-demand profession.
20 hours of interactive webinars 100 problems on algorithms 50 written programs
Basics of Go and Computer Science 1 block 4.5 months
Introductory block
• Key concepts in the IT field
• Classification of programming languages
• Modern technologies and Internet operation
• Computer architecture and operating systems
Go Language Basics
• Installing the environment, compiling and running Go programs, basic syntax (packages, variables and data types, constants, introduction to strings)
• Branches, cycles
• Functions and methods, structures
• Error and panic handling, interfaces, recursion
• Arrays, dictionaries, slices, strings, runes and byte slices
• + 1 week of practice
Algorithms and data structure in Go
• Introduction, complexity of algorithms and O-notation
• Array, list, queue, stack. Representation in memory
• Sorting algorithms
• Trees, graphs, search algorithms
• Hash tables, Hash maps, Hash functions
Multithreading Basics
• The concept of process and thread in the operating system
• Goroutines and basic synchronization
• Synchronization using atomics and channels
• Wait group, basic patterns for using goroutines
Project implementation: assemble a data processing pipeline
Developer tools 2 block 4.5 months
Linux Basics
• Installing Linux, working with the graphical shell
• User management, working with files, processes
• Linux network interfaces
Introducing Git
• Basics of version control systems, initializing a repository, synchronizing changes, writing changes to the repository
• Branching, Git Flow
Docker
• Docker Basics, Running Applications in a Container
• + 1 week of practice on GIT, Docker and Linux
Databases and SQL
• Relational databases, database design
• SQL Language, Transactions
• Indexes, triggers, views, stored procedures
• Working with SQL database in Go
NoSql Databases
• Document databases, unlike SQL
• Introduction to Mongo DB and Redis
• + 1 week of practice working with databases
Deep dive into GO
• Modules, profiling, debugging
• Testing
• Input Output. Regular Expressions
• Network applications
• Web applications
Project implementation: development of a news aggregator
Architecture, DevOps, queues 3 block 4 weeks
Architecture Basics
• Architectural principles
• Design Patterns
• Application delivery methods
• Message queues
Final project 3 weeks
Dividing a monolith into microservices
- Purpose of practice:
Learn to divide or “cut” a monolithic application - a previously developed news aggregator - into three microservices with their modifications.
- Project results for students:
Development of three microservices: news aggregator, API Gateway and comment moderation service
Comparison of monolithic and microservice architecture in practice
Replenishment of the portfolio on GitHub with a full-fledged project