Front End Developer

“Javascript is to Java as hamburger is to ham; both are delicious, but they don’t have much in common except a name”
I’m javascript lovers and this is my site on witch sometimes wirte what i think, when i have some free time, and remember:
“Homo faber fortunae suae”

Recent article / guide

ElasticSearch 5 – NEST Dynamic QueryContainer with QueryContainerDescriptor

How can i create a dynamic QueryContainer with many QueryContainerDescriptor?
How to dynamically build up a Bool query using the NEST client?

I will teach you how to create a dynamic nest query with and logic.

You must to write your QueryContainer:

Then we must to attach to them the many filters that we want

Add in and another filter to out QueryContainer. Just need to create the other QueryContainerDescriptor

We have created a query to extract: (student with age >= XX && age <= YY) && (school with alumn number > 0)

Now we must to use it:

Use the _ in the lambda expressions, because we don’t care about the parameter!
I use the Scroll() method in my query, if you want to know how to manage the Scroll, see this guide.

 

Do you know a simplest method?
There is some error in my article?
Or if you have a question write me!

 

ElasticSearch 5 – How to start using NEST C# .net

In this guide i want to show you how to start in c# .net framework with ElasticSearch version 5, with the library NEST.

WHAT IS ELASTICSEARCH 5

Elasticsearch is a Lucene-based search server with Full Text capability, with support for distributed architectures. All features are natively exposed through RESTful interface, while information is handled as JSON documents.
Is a database that contain many table and date, the table are called “index” and the date are called “documents” is like a no-sql database, as mongodb or couchbase.
In each “index” you can load many “documents” with many different “mapping”.

I suggest to install Kibana to manage ElasticSeach. Starter guide.

CHAPTER MAPPING LINK OFFICIAL DOC.

You can put the mapping on elastic search server throw Kibana dev console.
Mapping is the process of defining how a document, and the fields it contains, are stored and indexed. For instance, use mappings to define:

  • which string fields should be treated as full text fields.
  • which fields contain numbers, dates, or geolocations.
  • whether the values of all fields in the document should be indexed into the catch-all _allfield.
  • the format of date values.
  • custom rules to control the mapping for dynamically added fields.

In the mapping you can define the field, and each field as a datatype. Read the official guide for all datatypes.
Principles datatype:
– boolean
– int | short | long
– date
– text
– keyword
– specialized type (as IP, Completion (autocomplete), Token count datatype)

NEST C#

NEST is a high level client that has the advantage of having mapped all the request and response objects, comes with a strongly typed query DSL that maps 1 to 1 with the Elasticsearch query DSL, and takes advantage of specific .NET features such as covariant results and auto mapping of POCOs. NEST internally uses and still exposes the low level Elasticsearch.Net client.
Link to download NEST.

PRATICAL USE OF NEST C#

Now we must to create the filter query to take data.
Using Nest to take this is very simple, i show you an example:

Mapping of data type and method:
Boolean => Exists
Date => DateRange
Number => Range
Text Like => WildCard
Text Exact => Term

Now i’have used the Bool Query type, but exist other type, remind you to this official link.

USING NEST SCROLL

The scroll API allows you to efficiently page through a large dataset as it keeps the query alive in the cluster. And if you want all / unlimited data, without pagination.

[CVE-2017-1000253] Linux kernel security bug fixed

How to report on zdnet on their article there is a serious bug with linux kernel identified as CVE-2017-1000253:

§ Centos6 con Kernel < 2.6.32-696.10.3
§ Centos7 con Kernel 7.4 kernels < 3.10.0-693

The bug how report zdnet:

This is a problem with how the Linux kernel loaded Executable and Linkable Format (ELF) executables. If an ELF application was built as Position Independent Executable (PIE), the loader could allow part of that application’s data segment to map over the memory area reserved for its stack. This could cause memory corruption. Then, an otherwise unprivileged local user with access to a Set owner User ID (SUID) or otherwise privileged flawed PIE binary, could gain higher-level user privileges.

The bug was fixed so you must to upgrade your kernel.

I used the guide on the site tecmint.com. It was very helpful and easy, consist to install a new kernel and then switch the boot on the new kernel. Suggest to take a snapshot or a backup of your machine / virtual machine.

 

 

Aruba VPS Centos VMware – Come aumentare lo spazio hdd

Oggi vedremo come aumentare lo spazio (ripartizionare) dell’hard disk, una volta eseguito l’upgrade sul vostro vps aruba.

fdisk -l

parted /dev/sda/

Per creare una nuova partizione per lo spazio aggiunto, lanciare mkpart e rispondere alle varie richieste. Dapprima vi viene chiesto di scegliere il “type” fra” primary” ed “extended” (sceglieremo primary) successivamente viene chiesto il tipo di “File System” (ad esempio scegliamo “ext3” e confermiamo); successivamente viene richiesto l’inizio e la fine della partizione (nel nostro esempio se vogliamo creare una partizione che corrisponda con tutto lo spazio aggiunto, basta indicare come inizio il valore “end” della partizione con il numero più alto e con la dimensione massima per la fine).

A questo punto rilanciando print possiamo verificare che è stata creata la nuova partizione 3.

Ora non resta che creare il Filesystem nella partizione creata: dapprima uscire da “parted” digitando quit e quindi lanciare mke2fs per la partizione creata.

df -h /home/

vgdisplay vg

lvextend -L +2G /dev/mapper/vg-lv_root

resize2fs /dev/mapper/vg-lv_root

Per arrivare a ciò ho seguito due guide, la prima di Aruba e la seconda di linuxtechi, che vi riporto qui di seguito:

http://kb.cloud.it/computing/creare-e-configurare-un-cloud-server/ri-formattare-un-disco-fisso-espanso-linux.aspx
http://www.linuxtechi.com/extend-lvm-partitions/