I’ve been asked this question countless times during mentorship meetings, meetup networking sessions and forums.
– What is the difference between assigning an anonymous function to a variable and a regular function?
TL;DR – Hoisting The main difference between a function expression and a regular function is the following:
Regular functions are hoisted to the top of the scope, with their full body whilst function expressions are hoisted like regular variables.
So you’re sold on Docker. You’re using it to do your daily job but nobody knows. You managed to create a separate environment, you have all your tools and everything needed to run all four projects you’re currently working on. You’d like to tell the team but they will probably laugh. Everybody knows that virtual machines eat up a lot of resources and your workstations aren’t that powerful after all.
One of the biggest issues that plagues teams doing some form of Continuous Integration / Delivery / Deployment is execution time. If the pipeline is slow, then the feedback loop is slow.
If the code takes 30 minutes to pass through the pipeline and build only to fail in UAT or even worse, production, precious time is wasted (and money).
Going fast is not only about shipping fast but also about failing fast.
Technology changes really fast. Sometimes, it changes so fast you don’t even notice when bleeding-edge novelties become industry standard. In this article I will be using my 2 years of experience migrating projects to Docker and give you the necessary arguments to help you make the decision to migrate to Docker.
What is Docker? In short, according to the official website “Docker is a software containerization platform”. It allows you to bundle you application code / artifacts along with the environment used to run your application, into a single chunk called the Docker image.
As we all know, Docker is an amazing piece of software. I don’t want to go over its benefits. That’s for another article, coming very soon. What I do want to share with you is the way to properly override a Docker image entrypoint when using docker run.
From the official documentation:
The ENTRYPOINT of an image is similar to a COMMAND because it specifies what executable to run when the container starts, but it is (purposely) more difficult to override
I started using NeoVim a year ago and I siwtch between it and Visual Studio Code quite often. I use NeoVim mostly when I do text editing. I use it almost exclusively when writing blog articles, notes or doing research.
In the past couple of weeks, whenever I tried to use Ctrl-P to find an article and edit it, it seemed like it could not find anything in my posts directory.
Since Linkedin became world’s universal recruitment platform job offers have become commonplace. You’re not looking for a job at your dream company anymore and apply with the classic CV and cover letter. Chances are, your dream company and others like it are looking for you. I don’t know if this is a good thing or a bad thing. What I do know is that there’s a big problem with software developer recruitment practices.
There is a saying that naming things is the most difficult part of software development and it is 100% true. At the same time, choosing technologies, libraries, platforms or programming languages can be just as hard. There are many aspects to consider, besides how we feel about it or if it is trendy or not. Judging a framework, for example, only by its popularity and how bad you want to work with it, without looking at some numbers is a thing I call Resume-Driven Development (RDD) and has nothing to do with healthy software development practices.
One of the prettiest features of ES6, it could easily win a beauty contest, if such a contest would be held. What many people don’t know is that the arrow function is not simply a form of syntactic sugar that we can use instead of the regular callback. As I like to explain it to the people who attend my trainings/workshops, arrow functions are this-less, arguments-less, new.target-less and super-less. Let us now get past the shorter syntax and dive deeper into the specifics of the arrow function.
This article is meant to offer a hopefully simple solution for testing web applications that run on your local machine, on actual mobile devices, without altering your router’s DNS configuration, or resorting to other, less elegant solutions.
Use case I have an application running on my machine, and I access it on http://myapp.dev as it depends on the domain it is running on, in order to bootstrap itself and offer different functionality based on the domain where it is being loaded.