a bunch of docs and examples that convey my own preferences on how to do things 🥰
Many times I found myself in the situation of trying to illustrate a concept and not having an example at hand. Some concepts are easy to explain ad hoc, but for many others, those examples are key and necessary. Other times, I just need clear examples of something I've done in the past to refresh my memory on a certain approach. Here's where I'll put together a bunch of information that I find valuable with the hopes you find value in it as well. I really hope you find this useful!
Mainly emojis, lots of them. Hopefully, one per sentence 🤞 Language is good and all, but emojis help bringing emotions to words. And I find that not only useful, but necessary.
Also, tons of go
. Go is my go-to language and I feel I can express myself the best with it.
You might also see examples in other languages at some point, but I wouldn't keep my hopes too high on that ʕ◔ϖ◔ʔ
Opinions as well. Everything you'll see here are my own personal opinions and preference, normally based on experience. But opinions can change as well the moment new information becomes available. Expect this repo to evolve as I change or redefine my own preferences 🧪 Feel free to bring new ideas to my attention. I'll be more than happy to learn from you!
You'll find examples to illustrate concepts as well. I don't know about you, but I need examples as close to real life™️ as possible to learn from. I'll try to guide explanations with examples as much as possible.
Of course this is limited to knowledge I've acquired. But going one step further, it will be limited to knowledge I feel comfortable sharing, thinking and talking about. Overall, whatever you find here is probably related to topics I'm interested in.
And what are some of those topics, you're asking? 🤔 Mainly techniques and principles that I believe help build more robust and maintainable software, different architectures that focus on those same principles, testing strategies I cannot live without and a bunch of API related content. On the other hand, you most likely will not find tutorials to specific pieces of technology, comments regarding platforms or companies or anything I never had the chance to experience.
Do not take this repo as a way to do things either. I don't use these stuff at all times myself! 🙅♀️ Your own context and situation are to be evaluated before choosing an approach. There's no silver bullet in software, treat this repo in the same way 🙂
Because there's no point in re-inventing the wheel, there's nothing new here. Everything you'll find are things that others use on their daily basis.
My suggestion is that you start at the semantic types chapter and find links to navigate from there. After those, I think moving onto hexagonal architecture is a good idea.
I'm always open to hear different opinions. In fact, without new opinions there's no way to neither challenge nor validate my own! Feel free to open an issue or reach out on twitter to start a conversation 🤝
Same thing if you think there's something missing, erroneous, not clear or improvable 🙏