Entity and attributes in DBMS

samundrak

samundrak

JavaScript Dev

An Entity in DBMS refers to the data which can be real objects or virtual things. An entity contains multiple attributes to describe themselves. Normally in DBMS table contains a set of entities and can have relations with other entities in other sets.

Column oriented database or Row oriented database

samundrak

samundrak

JavaScript Dev

Database types and storing way don't matter much when we don’t have a big amount of data but as our data grows, we start facing issues. Many of us will start fixing by reducing multiple joins where it is not required. Also, start denormalizing as we normalized it soo much that we now have to join 5+ tables to get just some counts. This thing does matter but sometimes we also have to think about how we are storing our data and what type of storage engine we are using to fetch records faster.

Performance Improvement by useCallback, useMemo and React.memo

samundrak

samundrak

JavaScript Dev

React is fast on its own, It does a lot of work to make our web app more fast and smooth and on top of that today's browser engine is doing a perfect job to optimize the code we throw to them. v8 has TurboFan which does some next level of optimization. These are the things that are done for us by someone else but there is still a lot of things that we can do to improve our application. I will not write about web application performance and optimization process here because this note was specially written for optimizing React apps which uses hooks and I mentioned other things because sometimes we do overengineer in the name of performance, which I think I do sometimes (Premature Optimization).

I use React hooks a lot and many times I get stuck thinking about how I can make it work faster, which hook can be useful here to store data, memoize data, etc.

Single Responsibilty Principle

samundrak

samundrak

JavaScript Dev

What is a SOLID principle? It was a common question asked in an interview when I applied for a PHP developer. This term is seen a lot in the PHP universe and JAVA too. If we search it on youtube then we will find that most of those videos are hosted by uncle Bob martin. The SOLID principle is a set of principles. As our codebase grows in size it can be messy, unorganized, fragile, etc. There is no proven method to make our project stable because software development is an iterative process. Things today we write can be changed tomorrow, the module we create today can no longer be fit in our codebase. That doesn’t mean we should not care about our codebase. We can apply some principle which can help us to do less refactor, fewer code changes, less dependency or organized dependency, etc.

Monorepo experience

samundrak

samundrak

JavaScript Dev

Monorepo is a repository pattern where we manage multiple packages in a single repository. Normally what we do is create a separate repository for each package and maintain all those packages by tracking their version and release. In Monorepo we put all of our packages in a single repository.

Number([undefined]) -> 0, Number([undefined,undefined]) -> NaN

samundrak

samundrak

JavaScript Dev

Number([undefined]) is 0 because JS engine will coerce it which means there will be some abstract operations inside engine and what it does is , it will call toPrimitive(hint), here argument hint means what will be the expected type or what the value should be coerced to. In JS if we try to stringify empty array then it will return empty array removing the brackets and if an array has value undefined/null then it will still return an empty string and if we try to convert empty string to number then we will get 0 as output.

My goal

samundrak

samundrak

JavaScript Dev

Learning random things on the internet that pops in your Reddit, Twitter is always fun and interesting, but learning things to reach your goal is always fascinating and a satisfactory thing. what’s the best way to go about acquiring intellectual capital with which to fund your portfolio? Here are a few suggestions.

Object PreventExtension

samundrak

samundrak

JavaScript Dev

This methods helps us to prevent adding new properties to the object. Though it will not throw error in normal case but will throw error if it is used in 'use strict'. Changing value of already added property is fine and it won't throw any error.