
Blogs | Shashank Shekhar
Introduction 🔗When building and running code on a production server, it’s crucial to be aware of memory usage, CPU cycles, and other key performance indicators (KPIs) like the time complexity and duration of function calls. Software engineers often obtain and analyze these KPIs to optimize running programs and debug issues, such as memory leaks and CPU utilization, which are difficult to catch in a development environment. This activity is called profiling.
This is not my usual technical/CSE adjacent post. My articles are mostly tech-related, but I wanted to discuss something different today.
For the past few months, precisely six, I have not been writing anything. I re-did my Svelte SPA site and turned it into this Hugo based SSG, removing the clutter to focus on writing.
But as you see, I have not written anything since last year. Why?
Firstly, in the past quarter, I switched jobs, and the transitional period comes with a lot of uncertainty in routine.
When starting a project, one of the earliest design decisions you need to make is selecting a database. There are various databases available in the market.
Initially, most databases were of SQL flavors, grouped as Relational Databases, and they used the de facto method of saving data into tables and establishing relationships between these tables. You can read more about History of SQL.
However, with the advent of NoSQL databases, this paradigm was challenged, opting for a more relaxed and schema-less approach, saving data as objects rather than in rigid tables with relationships.