Blog
Tutorials and insights about front-end and full-stack development with React, Next.js, Node.js and friends.
Recording 'From Vanilla JS to Solid.js' Video Series
In this series of live video tutorials I'm converting a vanilla JS progressive web app to Solid.js and utilizing Firebase services to send push notifications to users.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
My Top Posts on Nitrolancer
I've been working remotely and freelancing for a few years and I've got a lot of stories and advice to share. If you're into freelance, check out the list of my top posts on Nitrolancer.com
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
A couple of words about the latest ToJuniors pivot
I'm transforming the ToJuniors project to Nitrolancer to better reflect my current priorities and future plans.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
What I Learned While Building My First Web3 Project
My impressions, discoveries and tools after two months of building my first Web3 project. This post is a great start for those who'd like to explore web3 space.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Developing a Custom Search Box with React-Select
This tutorial demonstrates how to turn a simple React-Select dropdown into a fully-fledged autocomplete search box which searches by remote data and caches results.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
The Uploadcare Image Loader for Next.js Has Been Released
The story behind releasing a custom Uploadcare image loader for Next.js.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
How to Protect Your CMS Site from Hacks Once and Forever
Based on our Drupal community group discussion, I'm sharing answers to the question of how to stop updating a CMS site constantly and not be afraid of being hacked.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
HTTP Basic Auth for Next.js
The basic HTTP authentication is often used as the simplest approach to protect a development version of your app. Here you will find a few ways for implementing HTTP basic authentication for a Next.js app.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Node.js Certification: My Experience and Advice
In the beginning of the COVID-19 lockdown I signed up for OpenJS Node.js Application Developer (JSNAD) certification and successfully passed it. I will share my preparation approach and give advice for future test-takers.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Pipe Streams in Node in the Right Way
The stream piping is one of the features of Node.js which I especially like, so I will show you how to safely use it.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Security: Black Box vs. Blacklist vs. Whitelist
There are three basic modes in which you work with firewalls, XSS filters, access control modules and other security tools, which you should be familiar with.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
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.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
A Few Takeaways from Kyle Simpson's Talk at MallorcaJS Meetup
Kyle Simpson gave a talk on the economy of keystrokes at the MallorcaJS meetup on October 15th, 2019. Kyle's talk was sometimes eye-opening, sometimes encouraging and sometimes controversial but indeed worth listening to.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
XConf Europe 2019
Sharing my impressions after attending XConf Europe in Barcelona on July 5th, 2019.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Is Drupal 8 really faster than its predecessor?
Developers always compare performance of different programming langugages, frameworks and even different versions of the same framework. Here I benchmark Drupal 7 and Drupal 8 and compare the results.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Configuring Webpack LiveReload with Laravel.mix
Webpack LiveReload plugin automatically monitors your files for changes and refreshes the page when the changes are detected. I will show you how to make it work in this post.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Realtime Apps With Laravel Echo: Tips and Tricks
Sharing a collection of my discoveries after developing a realtime app with Laravel Echo.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Laravel-localization middlewares now support route exceptions
The latest version of the mcamara/laravel-localization includes support for route exceptions. I'll quickly show you how to use it in this post.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Code Less in Drupal 8 with Drupal Console
Drupal Console brings new developer experience to Drupal 8. This console tool is similar to Drush but has some advantages. This post is about how to use it.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Convert Laravel Tables from MyISAM into InnoDB
Previous Laravel versions used MyISAM storage engine for its database tables by default. This post is for those lucky developers who need to switch their database to InnoDB manually.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
A Quick Practical Intro to Vue.js
In this quick tutorial we create a simple Vue.js component that calculates the length of a word and displays it on the fly.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Three Simple Servers for Your Front-end Projects
If you have ever thought about testing an HTML file without putting it on a web server, this post is for you.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
How to Fix the Error: This Page Is Not Secure Because of Mixed Content
If you have just moved your site from HTTP to HTTPS but your browser is still displaying some insecure content warnings, the post is for you.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Typical Mistakes of Tech Conference Organizers
As a Tech conference organizer myself, I'm going to share some mistakes which organizers often make to prevent you from making them.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Drupal Is a Developer's Toy
Drupal 8 has been reinvented in favor of better architecture and that process has taken years. Developers seem to be happy with their new toy, but what's the value of it for end-users?
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Why Else You Need HTTPS
This post is aimed to convince your to switch to HTTPS as soon as you can for better security and user experience.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
HTTPS with Varnish
Varnish does not support SSL/TLS itself but we can use Nginx as an SSL Termination Proxy to make HTTPS possible with Varnish. And I'll tell you how.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Manipulating Views Programmatically
The article describes how to clone, edit and delete views in Drupal 7 programmatically which is not obvious at all.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
REST in Peace - API Development in Drupal
Kate @kalabro and I joined forces to give a presentation about RESTful services at DrupalCamp Baltics 2015. Here is the transcript.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
The Journey to Drupal World
I gave a presentation about my Drupal development path at DrupalCamp Helsinki in 2014. I publish my speech transcript here.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
One Year of Drupal Community in Saint Petersburg, Russia
We've just celebrated our first Birthday. And now I'm glad to share our story of success, give some advice to community leaders who are at the beginning of their way and ask feedback from others.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Benefits of Contributing to Open Source for Companies
As an active Open Source contributor for years, I will briefly introduce you to the benefits for companies which spend money and time to contribute to Open Source.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
Right Nginx Configuration for Drupal on Ubuntu
This article is for people who might want to configure Nginx for Drupal and avoid typical issues that the author met during the configuration process.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)
3 Simple Ways to Declare a Media Query
Responsive design can't live without CSS3 media-queries. Here I will show three ways in which you can declare media queries in your code.
![Konstantin Komelin](/assets/img/profiles/konstantin.jpg)