/all-about-tech

This repository is my topics that I was learn it and I wanna share it to other peoples as well. So we can grow up together!

Primary LanguageGo

All About Tech

Hi folks 👋️

All About Tech is a repository that I have to showing what I learned and what I want to learn in near future. Hopefully, it can be help us to learn something new easily rather than reading without any example of code. With Github, I can put more code and more example for us to getting more better context about the topic.

Like the title of the repository, the topic will around tech especially in the back end side. Why I created in repository? Because it's more easier to maintenance and grouping. Other people can contribute as well 😄️

So, let's start the thread! 🚀️

🧠️ What I learned

Overview Basic of Kubernetes (K8s)

Kubernetes, called K8s is a platform open source for automation deployment, scaling and managing many containers. K8s is an abbreviation of "Kubernetes" in which "ubernete" are replaced by "8".

In 2014 Google teams state the project Kubernetes will be set as Open source.

Overview Design Patterns

Design patterns is a solution to solving a common problem in software design. It's not only to solve one case, design patterns are coverage many cases in software design. You can use it as a blueprint, so it will be helping you to develop your code with a pattern. Design patterns are concepts, you cannot copy them into your program without an adjustment.

Overview Class Diagram

With Class Diagram we able to imagine the system as a blueprint. The blueprint will maps out attributes, methods, & relationships between classes. So, you can analyse concept of model that you want before you start coding.

Overview SOLID Definition

SOLID design principles were promoted by Robert C. Martin (Uncle Bob). It's best-known design principles in object oriented programming. SOLID is acronym of 5 principles of:

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Overview Code Smells

In general, code smells is not an issue. Even your code is have code smells, your code still working well. If we talk about "the definition of code smells", it will be refer to the fact that your code is not maintainable and not clean enough.

Overview Software Architecture

I have been working as a Backend Engineer almost for 5 years. At that time I always focused on how I code as fast as I could and just learning based on what I worked on. After that, I tried to take a look at the overseas opportunities and I realized that my skills were not capable of reaching the requirement. I too focus on how to code fast without knowledge of "How the components interact with each other" clearly.

In this article, I wanna share what I learned and hopefully, it can help me and you to understand clearer about a meaning of software architecture.

🍃️ What I want to share or learn

Hexagonal Architecture Status Versions

Overview Hexagonal Architecture

DDD & TDD in Programming Status Versions

Overview DDD & TDD in Programming

Time Complexity Status Versions

Overview Time Complexity

Space Complexity Status Versions

Overview Space Complexity

Clean Code Status Versions

Overview Clean Code

Software Design Status Versions

Overview Software Design

C4 Model Status Versions

Overview C4 Model

Clean Architecture Status Versions

Overview Clean Architecture

Database Types Status Versions

Overview Database Types

Vertical & Horizontal Scaling Status Versions

Overview Vertical & Horizontal Scaling

GraphQL with Golang Status Versions

Overview GraphQL

gRPC with Golang Status Versions

Overview gRPC

Diagram as Code Status Versions

Overview Diagram as Code

Algorithm Status Versions

Overview Algorithm

Overview Data Structures

Overview TCP vs UDP

Overview DBMS vs RDBMS

API Versioning Best Practices Status Versions

Overview API Versioning Best Practices