Photo by Caspar Camille Rubin on Unsplash

RegEx is a powerful tool. Many people hate it, because it looks confusing, but all it takes is 1 hour of going through a great tutorial to learn RegEx and save a lot of time for the rest of your life.

JavaScript strings come with a method called , You can use this method to search for a RegEx pattern on a string. But what if you need to check all strings in an object, e.g. a request body? At some point you’ll need a npm package for searching regex on object.

RegEx-Ray does just that, it takes an…


Photo by Irvan Smith on Unsplash

Hello everyone, today I’d like to show you how you can access all leaf nodes in an object with good performance.

Back when I wrote express-autosanitizer, I had to check every property on the request and if the property was of type string, then clean it of any possible xss injections. Unfortunately, I had to use recursion, and manually checking all fields for their types. This introduces a number of problems that result in bad performance and memory usage.

I decided to rewrite express-autosanitizer, but I needed a reliable tool that could provide access to object properties and their types…


Working with javascript can be frustrating for many reasons, one of them is the callback hell. In addition to callbacks making code uglier and longer, they also make it hard to work with promises or async/await.

When working with NodeJS, you will encounter many Node API functions that work with callbacks. for example, many if not all functions in the ‘fs’ module use EFC style callbacks. You can easily wrap these error first callback functions to return promises.

At the end of this article I will introduce my npm package that is written specially for this purpose. …


Today, I’m going to introduce Electremote, a remote control that helps you control your video players on PC. Netflix, Youtube, VLC player and many more are supported. Moreover, it’s opensource, free, offline and multi-user.\

Do you enjoy your movies over HDMI? Do you hate getting up and walking to your computer every time you need to change something? read on!

How does it work?

Most video players use the same set of keyboard shortcuts for the same basic tasks. Electremote lets you press those keys from the comfort of your bed. You can use your phone/tablet as the remote.

How can I get it?

You can get Electremote from…


Photo by Glenn Carstens-Peters on Unsplash

Merhaba arkadaşlar, malum karantina günlerindeyiz, evde film ve dizi izlemeyi sevmeyen yoktur diye düşünüyorum.
Bilgisayarı TV yanına koydunuz, açtınız filminizi, cips, kola herşey hazır, 5 dakika sonra telefondan birşey sipariş etmek istiyorsunuz, ama kalkıp videoyu durdurmak için bilgisayara kadar gitmek çok kötü, bir tembel olarak anliyorum tembel sizleri, o yüzden bugün, en basit şeklinde bilgisayarınızı uzaktan kontrol etmek için küçük bir server yazacağız.

Bilmeniz gereken tek şey JavaScript, biraz html ve biraz css, bir de NodeJs bilgisayarınızda kurulu olması lazım. değilse şurdan indirebilirsiniz.

İlk Adımlar

Proje için yeni bir klasör oluşturup, içinde 2 yeni dosya yapiyoruz. birinci app.js, diğeri index.html olacak. klasöru…


JavaScript ES2020 versiyonundaki yer alan yeni propozallar sonunda kesinleşti, birlikte basit örneklerle bakalım.

Maalesef “private class properties” propozalı hala 3. aşamada ve görünüşe göre ES11 (ES2020)’nin bir parçası olmayacaktır.

Propozal Listesi:
1. BigInt
2. Optional Chaining
3. String matchAll
4. Dynamic Import
5. Promise allSettled
6. Nullish Coalescing
7. globalThis

BigInt

Şimdiye kadar bir değerde tutabileceğiniz en büyük integer 9007199254740991'idi, ordan sonra biraz tuhaf davranışlara şahit olabiliyorduk:

const max = Number.MAX_SAFE_INTEGER;
console.log(max); // 9007199254740991
console.log(max + 1); // 9007199254740992
console.log(max + 2); // 9007199254740992
console.log(max + 3); // 9007199254740994
console.log(Math.pow(2, 53) == Math.pow(2, 53) + 1); // true

ES2020 BigInt sayesinde artık daha fazla sayıları işleyebiliriz, büyük verilerde, veri işlemede yararlı olacaktır. sayının sonuna ’n’ eklemeniz yeterlidir.

const bigNum = 100000000000000000000000000000n; 
console.log(bigNum…

Photo by Caspar Camille Rubin on Unsplash

JavaScript 1995'de 10 gün içinde tarayıcılar için geliştirilmiş, tek thread’li bir dil. çok mütevazı bir başlangıcı var, ama şuanda yazılım dillerinde en zengin ekosisteme sahip. bunun sebebi, aşırı basit bir dil olması ve yeri gelince kompleks yapılar kurmaya da izin vermesi.

Atwood kuralına göre, “JavaScript ile yazılabilen tüm uygulamalar, elbet bir gün JavaScript ile yazılacaktır”.

Ama bu basit dil nasıl bütün bunları destekliyor? telefonumuzda, bilgisayarımızda, tarayıcı dışında nasıl çalışabiliyor? tek kelime ile: Runtime.

JavaScript, diğer diller gibi bir tarife sahip, bir tanımı var, bunun adı ECMAScript. ECMAScript, JavaScript’in standart beyannamesi, Runtime’lar sayesinde farklı tarayıcılarda, farklı çevrelerde çalışabiliyor. Runtime farklı parçalardan…


Image result for expressjs.

I had been trying to sanitize my project for over two days, looking at all the hard solutions. then I thought, why don’t I make a package for it?

Today I’m gonna introduce my new npm package, called express-autosanitizer.

what does it do?

well, you mount it as middleware, and it sanitizes all the strings in the request body, params and query.

if you don’t know what sanitization is, sanitization is the process of removing harmful input from your request. …

Antonio Ramirez

I like to share my knowledge as a web developer, my favorite topic is Javascript.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store