logo

Blog.

new articles.

How are regular functions and function expressions different in JavaScript?

/ Software Development

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? To know this difference the only requirement is to know how hoisting works in JavaScript. 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. Read more

WIP How to convince your manager to use Docker in production

/ Productivity / DevOps

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. Read more

How to set up your CI/CD pipeline for faster feedback

/ Productivity / DevOps

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. Read more

The reasons I chose Docker

/ DevOps / Infrastructure

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. Read more

How to properly override the ENTRYPOINT using docker run

/ DevOps / Productivity

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. READMORE 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 Read more

Fix Ctrl-P indexing in Vim/NeoVim

/ Productivity

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. Read more

Passion is hurting your career!

/ Opinion

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. Read more

Top 5 things to consider when choosing a new technology

/ Productivity / Software Architecture

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. Read more

ES6 arrow functions in depth

/ Software Development

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. Read more

Quick tip Using mitmproxy for mobile testing

/ Productivity / Software Development

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. Read more

Copyright (c) 2021 Adrian Oprea. All rights reserved.