HighLoad System Design
Jan 2024 at A closed underground Software/System Design school
The Book "Designing Data-Intensive Applications" by Martin Kleppmann
This is a reverse timeline of the courses I have taken and the books I have studied, along with a quick summary of what I learned.
The Book "Designing Data-Intensive Applications" by Martin Kleppmann
Studying and Practicing the book "Exercises in Programming Style" by Cristina Videira Lopes
An in-depth course on all the basic principles of functional programming.
Quick and practical start in all major programming styles and architectures.
Learning the way to understanding legacy projects and make changes to them without breaking things. Techniques for right way to thinking of refactoring, testing and modernizing old codebases.
High Level Design. Practice in designing software project with focusing on a class system, following the proposed methodology step by step.
The book "Object Calisthenics" by Jeff Bay and its discussions.
The courses studies the low-level design of object-oriented programming (OOP) class structures and explores a deep understanding of the principles of object-oriented development, including SOLID. It covers topics such as inheritance, composition, dynamic binding, and polymorphism in the context of programming in large systems of any complexity
The book "Concepts, Techniques, and Models of Computer Programming" and other works by Peter Van Roy
Continue your exploration of the Go programming language as you learn about functions, methods, and interfaces. Topics include the implementation of functions, function types, object-orientation in Go, methods, and class instantiation. As with the first course in this series, you’ll have an opportunity to create your own Go applications so you can practice what you’re learning.
The book "Functional Programming Using F#" by Michael R. Hansen
From the book "Concepts, Techniques, and Models of Computer Programming" and other works by Peter Van Roy
Basics of Go language. Topics include data types, protocols, formats, and writing code that incorporates RFCs and JSON.
Based on material from Carnegie Mellon 15-121 and Stanford CS106B. The topics include the analysis of algorithmic complexity, linked lists, variable-size arrays, stacks, queues, hash tables, universal hashing, perfect hashing, associative arrays, sets, caches, and Bloom filters. The topics cover the implementation and analysis of these data structures and algorithms, including their strengths and weaknesses, as well as different methods for dealing with collisions and errors.
2 months of deep dive into GIT, Docker, Kubernetes and Gitlab CI/CD.
Developing a good coding style, dased on "Code Complete" by Steve McConnell and "Clean Code" by Robert C. Martin
Engaged in programming and creating test cases.