Learning of a Day

Quite some time ago I've set a goal for myself to learn something new everyday. It might be a cool technology/trick which helped me doing my work better or a soft skills domain learning which made me a better person.

Algorithms & Data Structures for JavaScript Developers


Couple of years ago, there was no such trend where Front-End Developers were forced to learn algorithms and data structures, javascript usecases were very simple themselves. Now it's changing and we have a lot of code in browser to optimise. Native browser functions are very generic and might be slower depending on a use case (sometimes a lot, e. g. sort() on random array on V8 might give 2x boost written manually, you can search the web for a lot of proofs and whys).

Dialog tag


The dialog html tag allows you to lock-in tab navigation within concrete dialog (e. g., lightbox). Very useful for accessibility.

About achieving the goals


Doing 1 out of 1000 steps reaching the goal everyday is better than dreaming about a day when you'll be able to do 1000 steps at once. If you are thinking about building your own project solving the problem you obsessed about, you need to start contributing now.

About font size in IDE


Today on Web Standards (in russian) 78th stream there was a discussion regarding IDE font size. For a long time I was using small font myself, but it turned out that using bigger fonts in IDE leads to less eyes distractions. I've tried myself and this is very true. Switched to 16px since this day.

CMS or ...?


It's rarely needed to write a heavy backend/frontend for your web site. In fact, for majority of the cases using static web sites generator is enough. I was trying different CMSs for building my homepage but in the end gatsbyjs helped me to finally build it in a couple of days.

Structure of big Node JS projects, Lerna


Lerna is a great tool, which allows you to do a development in mono-repo, yet having your project broken down into multiple dependencies.
This is a perfect way of splitting browser/frontend-server/api-server/shared code in your project and avoid mixing dependendencies for all of them in a single package.json.