Node.js Certification: My Experience and Advice

Node.js Certification Badge with Background

In the beginning of the COVID-19 lockdown I made a decision to use the isolation for self-improvement and invest time in something future-proof, so I signed up for OpenJS Node.js Application Developer (JSNAD) certification.

It took me a few weeks and two attempts to pass the exam, and yesterday I finally received my certificate. Now it's time to reflect on the preparation process and test itself.

Pipe Streams in Node in the Right Way

Stream piping is one of the features of Node which I especially like. It exists to simplify data transfer between two or more streams.

For instance, with pipes, you can read HTTP POST request and write the received data to terminal or a file straight away. If you need to process or transform the transferred data, there are tools that you can integrate through pipes too.

Security: Black Box vs. Blacklist vs. Whitelist

If you have ever touched anything related to security, it's likely you used some third-party tools, such as firewalls, XSS filters, access control modules, etc.

There are three basic modes in which you can work with those tools, such as Black Box, Blacklist and Whitelist. And often developers are given the right and responsibility to make decisions on choosing one of them.

Even though this information may sound obvious for some developers, others can make mistakes which can potentially cost their companies money and their leadership nerves, so it’s a good idea to review your understanding of these three security practices.

On React App Security

Imagine, you inherited a React app from another developer and you need to make sure the existing code is secure. In this post I’ll give you a checklist which can help to secure your app.

A Few Takeaways from Kyle Simpson's Talk at MallorcaJS Meetup

Kyle Simpson (@getify) gave a talk on the “economy of keystrokes” at the last MallorcaJS meetup on October 15th, 2019. Kyle's talk was sometimes eye-opening, sometimes encouraging and sometimes controversial but indeed worth listening to.

For those of you who don't know Kyle Simpson, It's an author of the “You don't know JS” book series, speaker, teacher and more. Kyle was invited to Mallorca by Trivago guys and kindly agreed to share his wisdom with MallorcaJS community.

I'd like to share a few takeaways from Kyle's talk with you because I believe it's something that every developer should contemplate.

XConf Europe 2019

XConf logo

XConf Europe 2019 took place in Barcelona on July 5th and it collected about 100-150 software-related professionals and I had the chance to attend it too. I'll share my impressions on the conference and its content in this brief post.

Is Drupal 8 really faster than its predecessor?

I have been told recently that the times when Drupal 8 was slow passed long ago, that increased number of abstractions in Drupal 8 doesn’t affect its performance, and that Drupal 7 hook system worse than Drupal 8 events in terms of speed. When I don’t believe, I measure and encourage others to do so.

From Let's Encrypt on one server to Certbot on another

Recently I had a task to transfer a few sites secured by Let's Encrypt certificates from one Ubuntu server to another. In this post, I'll share my experience in transferring SSL certificates - or better to say - reobtaining them.

PWA Recipe: Custom Offline Page for Drupal 8 Without a Single Line of Code

Who said that Progressive Web App (PWA) concepts are hard to implement or Drupal 8 is not ready for PWA? Here is a simple recipe to prove them wrong. Install SSL certificate (or use localhost). Install Service Worker Registration module. Copy service-worker.js, offline.html and manifest.json from Go...

Configuring Webpack LiveReload with Laravel.mix

You probably know that Laravel.elixir was replaced with Laravel.mix in Laravel 5.4. If Laravel.elixir was based on Gulp, then Laravel.mix is built on top of Webpack. Therefore, Gulp plugins are not suitable anymore and we have to replace them with Webpack plugins. Luckily, there is a webpack plugin for those who prefer LiveReload to BrowserSync.

Webpack LiveReload plugin will automatically monitor your files for changes and refresh the page when the changes are detected. In this short post I will show you how to make it work.