Random Ideas
List of random ideas:
- Implement a mini version of Git to understand how it works.
- Implement a simple B+ tree based database.
- Implement a mini-redis using java like the curtisnewbie/mini-redis one in golang.
- Call it mini-jredis maybe, just try to be more familiar with socket programming in java.
- Have a look at netflix/conductor, understand roughly how it works and implement a mini workflow engine.
- It does seem like a workflow engine is roughly a distributed queue + an orchestrator service + some definitions of worker.
- https://github.com/Netflix/conductor
- https://github.com/conductor-sdk/conductor-examples/tree/main
- https://orkes.io/content/
- Document how to use pprof in golang.
- Write something about jvm performance evaluation. Document all the means to identify performance issue, e.g., CPU/IO/GC and so on.
- Implement a simple CI/CD application.
- Implement a rule engine.