Position: Junior Front-end Developer
Category: JavaScript
English level: pre
Years of experience: 2


DOCUMENTATION
! - this headline
$ - problem
^ - resolve

!THE PROBLEM WAS I FACING!
$Pug problem with caching:
When I started working everything was fine, but as the files with the pug extension were added, my build started to slow down. I noticed that I have updated all files even that I did not edit.
^Resolve: 
I used an incremental approach. For starters, I cached all the files so the first run took a long time. Subsequent launches if the file has changed it is thrown into the cache and if not then the files are taken from the cache.
$Animation with JavaScript:
In some cases, CSS animation does not help and therefore use JavaScript. But what to do as the display: block property; is not animating.
^Resolve:
To make a "show" animation we need:
First set the transition;
  Then set the display property to block: block; and opacity: 0; since the default property is display: block; immediately shows it and the opacity is 1 and just won't animate.
  Then add the property opacity: 1 ;, but in order for the browser to stop and render the previous one, we need to turn it into a requestAnimationFrame function so that everything works fine, and of course at the end of the animation we remove the event handler for transitionend or animationend. 
 To make it easier to control the animation (Suddenly we want to add transform: translate or rotate or other), we will replace the properties with class names, which will be added and removed depending on the time. When it started or ended or at the time it leaves. Also we can wrap it all up in Promise to continue some action after this animation.
$Problem with many event:
Sometimes you need to reduce the number of event calls on the block or, most popularly, when resizing the screen. This prevents some bugs and reduces the memory load.
^Resolve: 
And to solve this problem, I use decorator functions. For these examples, I needed a Throttle function that calls the function once at a given time and a debounce function that ignored the event until it ended.

Today I want to develop towards Frontend-Development. Understand JS React-framewoks and libraries for animation such as Three.js, Pixi.js
I would like to expect knowledge and skills from the company. Various conferences, courses are all that can help to become better in the field of programming. And also cookies.