2 minutes
Go Challenge 2
When setting out with the challenge, I went with a “no excuses policy”, and less than a week in, it’s already taken effect.
Last wednesday, I did not have time to complete the challenge, effectively resetting the counter.
I’m at day 3 now, which I’m fairly confident that I’ll be able to complete, along with days 4 and 5.
My challenge hours have been spent on the Let’s Go book, and I have some new insights.
First up, the database layer in Go. I wish Oracle would give support to a project (more than writing blog posts about using Godror). My workplace is very “Oracle centric”, and I believe this act of neglect will lead to more people not considering the Oracle ecosystem. I certainly will avoid it and push for databases with broader support.
Though, in this regard, I found out that Cx Oracle, the library I use with Python, also wraps around a C Library (ODPI-C) and the Go code was inspired by Cx Oracle. I’m still torn between Godror and go-ora, which is a pure Go driver.
I also went through the routing chapter in the book and followed a link to Blake Mizerany’s Three fallacies of dependencies talk, which is quite insightful. As a python developer, I believe all the world’s problems can be solved with imports. On the way, we import so much clutter to our codebase and start depending on other people’s project and ideas. I usually try to be frugal in Go imports, but will make an extra effort in the future to consider “do I really need this import?”. Sometimes we import something to save us from writing 10-20 lines of code, only to end up reading 100-200 lines of documentation. Does that really make sense?
In that regard, I’d say Alex Edward’s book misses the mark with the “Alice” micro dependency, which offers middleware chains for your http handlers. But I guess one could argue that importing dependencies, knowing what can make your life better and reading other people’s codebases is also an important learning exercise.
Templates are still quite nice, and the book’s experience will come in handy when redoing some websites I own in Hugo. The main target for this refactor is the ClinicoMais website, which is made in Vue, though serves purely static content by now. I could insult my old self for making that decision but my heart was in the right place. Shipping fast is important, and I’m very confortable around Vue, so what I did made sense at the time.