DEV Community

Discussion on: What’s a concept you understand now, but took you forever to grasp?

Collapse
 
cjbrooks12 profile image
Casey Brooks
  • The N+1 problem. It took bringing down the production website to really understand why it was such a huge problem. And then, when I reduced the time to do an expensive batch calculation from around 30 seconds per user (needing to batch around 20 users at a time) to just a couple of seconds for the entire batch, it really clicked how fast a database really is, and how ORMs are optimized to fix these problems if you know what you're doing.
  • Parsing expressions. I really like writing parsers and want to create a toy language someday, but expression parsing is something that eluded me for the longest time. The algorithms needed to parse an expression is just so dense and mentally difficult to grasp, despite the actual implementation needing very little code. I have a much better grasp on it now and can at least understand how these algorithms work, but there's still lots for me to learn before I could write my own toy language.
  • Caching. Ah who am I kidding, I still don't know this very well 😜