Perhaps the oldest yet powerful technique of Functional Programming — Currying, which is basically the method of memoizing some of the function arguments and postponing its call until it gets all parameters.
So when you curry a certain function with N parameters, and if you call it with M parameters, where M < N, it returns a new curried function, which memoizes already passed M parameters and expects the rest of the needed parameters (“N — M”).
NOTE: Currying of a function can be repeated not only once, but as many times as needed until it gets all parameters.
First, let’s see how we want to use our Modal component:
Note that we’re using
Modal.Content. This way we’ll be able to customize from outside both background overlay and modal content element.
One of the best practices for displaying a Modal element is to render it in the
body tag instead of inline rendering inside the parent component.
In a simple scenario, we…
Learning Neural Network usually seems difficult due to lots of math and terminologies used inside. However, to get started it is better to understand basic concepts first, without deep diving into underlying math and different variations of neural networks. In this article, we will walk through those fundamental concepts in order to get an idea of what is Neural Network, why we need it, and how it works.
Usually, software engineers solve problems using an algorithmic approach.
However, sometimes it is difficult or even impossible to write an algorithm for certain types of problems, like image classification, speech recognition, etc…
A quick overview of what is CSS Modules, how it works, how it’s used together with React, plus some useful tips
A CSS Modules is a CSS file in which all class names and animation names are scoped locally by default.
Your original CSS file will be compiled into a special ICSS (Interoperable CSS) format, which…
When working with Git CLI we usually type lots of verbose and boilerplate commands. However, Git has alias support that might be handy and save a lot of “typing” energy as well as increase your productivity.
Basically Git Alias gives the ability to save some command with different name/nickname.
There are 2 ways of adding new Git Alias:
$ git config --global --edit
co = commit
2. Using Git CLI:
git config --global alias.co checkout
Note: This is just automated version of “Option 1” for adding single git alias.
I recommend you take a look at lerna commands before we proceed.
Monorepo is NOT about mixing everything together inside a project(do not confuse with monolith).
Monorepo is about having source codes of multiple applications, services, and libraries that belong to one domain inside a single repository.
Note: Monorepo can be organized…
This article shows how to create a simple Node.js app and setup Docker for running the app locally in watch mode inside a container.
npmversions, as well as
node_modules, if using
yarn.lock). Also min diff with production environment, if app runs in docker container on prod.
# Create new app directory
Sr. Software Engineer