ES6 introduced a new global object
Reflect that exposes low-level methods for object reflection, specifically Introspection - the ability to inspect, interact and manipulate object properties programmatically at runtime.
Like the global
Reflect is a static object so it cannot be instantiated with a constructor and the keyword
new nor can it invoked as a function. All
Reflect methods are also static.
Some introspection methods already exist in ES5 such as
Object.getOwnPropertyNames so one may ask why introduce the
Reflect object in ES6 if many of the same
Object methods are also present as
Reflect methods? …
Quite often applications use data that needs to be continually duplicated throughout the data store to provide referenced context to the data relationships inherent in the data.
For example, a Question and Answer website (like Quora and Stack Overflow for example) will have many questions posted by many authors, together with many answers posted by many authors to each individual question.
Author data such as author name can be associated with both asking questions and providing answers that needs to be repeatedly nested with each individual question or answer.
Apart from data redundancy, nested data in typical CRUD applications can…
The Vue reactivity system was given a complete overall in Vue 3 using ES6 Proxies. Although not as well known as other ES6 additions and enhancements, ES6 proxies ‘virtualize’ an object to control both the default and subsequently modified behavior of the object as required.
Similar to using a proxy server in a hosting environment, one can create a proxy object that wraps an existing object and intercepts low-level object operations (such as
.deleteProperty()) to redefine their current behavior without modifying the original object.
Known as a form of meta-programming whereby code is developed to manipulate itself, the…
Destructuring is an excellent way to extract data stored in object s and arrays. Is very useful to read a complete structure in only one line.
Is supported in node since ~v6.4.0, Chrome #49 and Firefox #41
In array destructuring each variable name on the array maps to the corresponding item at the same index on the destructured array.
This is our right side array.
const bar = ["mate without sugar", "empanadas de carne", "milanesas", "asado well done"];
Back in time, we use a few lines to assign different…
ECMAScript 2018 was released in June 2018, adds fewer features than major editions (ES2016, ES2017) used to. These new changes are Asynchronous Iteration, Rest/Spread Properties, new features to Regular Expressions and a revision to template literals.
With synchronous iterations, we are able to iterate data from a synchronous source, but not when data is from an asynchronous source, for example https fetch.
We will recap synchronous iteration and then asynchronous iteration.
Synchronous iteration was introduced with ES6 and have the following components
Even though many companies keep it behind curtains, everybody in the industry knows that during the past decade the nearshore software development business grew considerably. The top reason that pushes companies in the US or Europe to outsource their software development efforts to other countries is money. Hiring a team in-house is way more expensive than hiring a team in other (cheaper) countries. But… (there’s always a but) more often than not, cheaper means poor quality.
During the last few weeks we’ve been working along with our friends at DogTown Media on an open API that anybody can use in their Sign Up forms to check against passwords that have been breached in the past + dictionary words and commonly used sequences of characters like
1234abcd and similar.
Head over to https://nist.badpasswordcheck.com/ and start using the API :)
The biggest corpus was taken from the awesome 9GB (compressed) file from Have I Been Pwned website. …
GraphQL has been gathering a lot of attention lately and at XOOR we don’t like to let things pass by. So in some of our latest projects we started experimenting with it and even started using it in production for some projects. In this post we’ll see how to build a very simple API using Express and Apollo as the GraphQL server. If you’re not familiar with GraphQL yet, in a few words it can be described as:
GraphQL is a query language for APIs and a runtime for fulfilling those…
On our latest post we’ve learnt how to deploy a Node.js app to AWS ElasticBeanstalk using a single command on our console. Today we’ll move one step forward and create an automated deployment pipeline that will automatically detect any code pushes we do to our GitHub repo and will grab that code an generate a new build that will be deployed to our ElasticBeanstalk environment. For this purpose we’ll be using AWS CodePipeline, which is a service that wraps other services from AWS like CodeCommit, CodeBuild and CodeDeploy among others.
CodePipeline is a tool aiming to provide Continuous Integration and…
Hi there! Today we’ll show you how to create an Elastic Beanstalk environment and deploy your Node.js application to it with a single
eb deploy command. We’ll assume you already have a Node.js application working locally. If you don’t, you can use the app code we prepared for this post which is a very simple express app created with the express generator package as stated here.
Let’s first explain what that Elastic Beanstalk thing is. According to AWS docs:
With Elastic Beanstalk, you can quickly deploy and manage applications in the AWS Cloud without worrying about the infrastructure that runs…