1614076140
JavaScript is partly an object-oriented language.
To learn JavaScript, we got to learn the object-oriented parts of JavaScript.
In this article, we’ll look at JavaScript metaprogramming with proxies.
Metaprogramming is a programming method where a program is aware of its structure and manipulating itself.
There’re multiple ways to do metaprogramming.
One is introspection. This is where we have read-only access to the internals of a program.
Self-modification is making structural changes to the program.
Intercession is where we change language semantics.
In JavaScript, we can do this with proxies.
They let us control how objects are accessed and set.
We can use proxies to determine the behavior of an object.
The object being controlled is called the target.
We can define custom behaviors for basic operations on an object like property lookup, function call, and assignment.
A proxy needs 2 parameters,
One is the handler, which is an object with methods to let us change the behavior of object operations.
Target is the target that we want to change the operations to.
For instance, we can create a proxy to control an object by writing:
const handler = {
get(target, name) {
return name in target ? target[name] : 1;
}
}
const proxy = new Proxy({}, handler);
proxy.a = 100;
console.log(proxy.a);
console.log(proxy.b);
We created a proxy with handler with the handler
object.
The get
method lets us control how properties are retrieved.
target
is the object that we’re controlling.
The name
is the property name we want to access.
In the get
method, we check if the name
proxy exists.
If it does we return the target value, otherwise we return 1.
Then we create a proxy with the Proxy
constructor.
A first argument is an empty object.
handler
is our handler for controlling the operations.
proxy.a
is defined, so its value is returned.
#programming #technology #javascript
1591611780
How can I find the correct ulimit values for a user account or process on Linux systems?
For proper operation, we must ensure that the correct ulimit values set after installing various software. The Linux system provides means of restricting the number of resources that can be used. Limits set for each Linux user account. However, system limits are applied separately to each process that is running for that user too. For example, if certain thresholds are too low, the system might not be able to server web pages using Nginx/Apache or PHP/Python app. System resource limits viewed or set with the NA command. Let us see how to use the ulimit that provides control over the resources available to the shell and processes.
#[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object]
1591993440
We are going to build a full stack Todo App using the MEAN (MongoDB, ExpressJS, AngularJS and NodeJS). This is the last part of three-post series tutorial.
MEAN Stack tutorial series:
AngularJS tutorial for beginners (Part I)
Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II)
MEAN Stack Tutorial: MongoDB, ExpressJS, AngularJS and NodeJS (Part III) 👈 you are here
Before completing the app, let’s cover some background about the this stack. If you rather jump to the hands-on part click here to get started.
#[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object]
1598195340
How do I configure Amazon SES With Postfix mail server to send email under a CentOS/RHEL/Fedora/Ubuntu/Debian Linux server?
Amazon Simple Email Service (SES) is a hosted email service for you to send and receive email using your email addresses and domains. Typically SES used for sending bulk email or routing emails without hosting MTA. We can use Perl/Python/PHP APIs to send an email via SES. Another option is to configure Linux or Unix box running Postfix to route all outgoing emails via SES.
Before getting started with Amazon SES and Postfix, you need to sign up for AWS, including SES. You need to verify your email address and other settings. Make sure you create a user for SES access and download credentials too.
If sendmail installed remove it. Debian/Ubuntu Linux user type the following apt command/apt-get command:
$`` sudo apt --purge remove sendmail
CentOS/RHEL user type the following yum command or dnf command on Fedora/CentOS/RHEL 8.x:
$`` sudo yum remove sendmail
$`` sudo dnf remove sendmail
Sample outputs from CentOS 8 server:
Dependencies resolved.
===============================================================================
Package Architecture Version Repository Size
===============================================================================
Removing:
sendmail x86_64 8.15.2-32.el8 @AppStream 2.4 M
Removing unused dependencies:
cyrus-sasl x86_64 2.1.27-1.el8 @BaseOS 160 k
procmail x86_64 3.22-47.el8 @AppStream 369 k
Transaction Summary
===============================================================================
Remove 3 Packages
Freed space: 2.9 M
Is this ok [y/N]: y
#[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object]
1591989720
Welcome to this tutorial about RESTful API using Node.js (Express.js) and MongoDB (mongoose)! We are going to learn how to install and use each component individually and then proceed to create a RESTful API.
MEAN Stack tutorial series:
AngularJS tutorial for beginners (Part I)
Creating RESTful APIs with NodeJS and MongoDB Tutorial (Part II) 👈 you are here
MEAN Stack Tutorial: MongoDB, ExpressJS, AngularJS and NodeJS (Part III)
#[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object]
1597723200
When I install s3cmd package on my FreeBSD system and try to use the s3cmd command I get the following error:
_ERROR: Test failed: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (ssl.c:1091)
How do I fix this problem on FreeBSD Unix system?
Amazon Simple Storage Service (s3 ) is object storage through a web service interface or API. You can store all sorts of files. FreeBSD is free and open-source operating systems. s3cmd is a command-line utility for the Unix-like system to upload, download files to AWS S3 service from the command line.
This error indicates that you don’t have packages correctly installed, especially SSL certificates. Let us see how to fix this problem and install s3cmd correctly on FreeBSD to get rid of the problem.
Search for s3cmd package:
$ pkg search s3cmd
Execute the following command and make sure you install Python 3.x package as Python 2 will be removed after 2020:
$ sudo pkg install py37-s3cmd-2.1.0
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 8 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
libffi: 3.2.1_3
py37-dateutil: 2.8.1
py37-magic: 5.38
py37-s3cmd: 2.1.0
py37-setuptools: 44.0.0
py37-six: 1.14.0
python37: 3.7.8
readline: 8.0.4
Number of packages to be installed: 8
The process will require 118 MiB more space.
Proceed with this action? [y/N]: y
[rsnapshot] [1/8] Installing readline-8.0.4...
[rsnapshot] [1/8] Extracting readline-8.0.4: 100%
[rsnapshot] [2/8] Installing libffi-3.2.1_3...
....
..
[rsnapshot] [8/8] Extracting py37-s3cmd-2.1.0: 100%
=====
Message from python37-3.7.8:
--
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:
py37-gdbm databases/py-gdbm@py37
py37-sqlite3 databases/py-sqlite3@py37
py37-tkinter x11-toolkits/py-tkinter@py37
#[object object] #[object object] #[object object] #[object object] #[object object] #[object object] #[object object]