sarshogh / go-crazy

Solving hacker rank algorithms with Go lang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go-crazy

Goal of this repo:

  • Developing some utils/devkits around devops and platform level workloads
  • Practicing variety of software architecture styles (mostly around immutable micro-kernel with plugin, microservice with SAGA, grpc server-client agent communications, ...)
  • Making Generic Architecutre Fitness-Functions
  • Solving hacker rank algorithm with Go as fun ;P

Why?

I'd like keep my programming spirit alive since my career is going toward cloud and software architecure, I'd like to maitain my skills excellent as a Thoughtworker.
Also, I'd like to use this repo as a trainig material for my website and future articles and references.

TDD Development Approach

Every task on github board will represet one problem to tackle. My approach will be TDD, in my practice, means for solving each ticket, an MR will be raised from feature brach which has 3 commits such as:

  • Red state : commit(1) broken test
  • Green state : commit(2) small portion of code to pass test
  • Refactor state : commit(3) refactor code

Because TDD helps 10% faster development

Design Prinicples

I'd like to apply CleanCode, SRP,....
I'd like to apply DDD and CQRS with an imaginary context following Onion Architecure.

Design Patterns

Don't worry I won't do OOP design patterns with Go ;)
I'd like to demonstrate some patterns like plugin, state-machine, pull and push server-client grpc, ...

About

Solving hacker rank algorithms with Go lang


Languages

Language:Go 100.0%