{"id":22398,"date":"2021-04-07T11:40:41","date_gmt":"2021-04-07T09:40:41","guid":{"rendered":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/"},"modified":"2021-04-07T11:40:41","modified_gmt":"2021-04-07T09:40:41","slug":"faker-js-generare-dati-fake-in-javascript","status":"publish","type":"post","link":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/","title":{"rendered":"Faker.js: generare dati fake in JavaScript"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>La generazione di grandi moli di dati fittizi pu\u00f2 tornare utile in svariati contesti. Si pensi, ad esempio, alla necessit\u00e0 di verificare il funzionamento di un modello di <a href=\"https:\/\/www.html.it\/guide\/machine-learning\/\">machine learning<\/a>, in cui alla mancanza di dati si pu\u00f2 temporaneamente sopperire con dati (realistici) generati automaticamente. O ancora, si pensi allo sviluppo di un\u2019applicazione prototipale, in cui si vuole mostrare ad un cliente in che modo i form di un sito web potrebbero essere utilizzati dagli utenti, mostrando come tali dati avrebbero ripercussioni sul backend, il <a href=\"https:\/\/www.html.it\/database\/\">database<\/a>, o altri moduli software.<\/p>\n<p>Potremmo andare avanti con altri esempi, ma probabilmente ci\u00f2 risulterebbe superfluo, vista l\u2019evidente importanza dei dati al giorno d\u2019oggi. Per questo motivo, molti programmatori (pi\u00f9 o meno indipendenti) hanno deciso di sviluppare diverse librerie e soluzioni adatte a vari linguaggi di programmazione, che permettono proprio di <strong>generare dati fittizi<\/strong> in maniera automatica. <strong>Faker.js<\/strong> \u00e8 una libreria <a href=\"https:\/\/www.html.it\/guide\/guida-javascript-di-base\/\">JavaScript<\/a> adibita proprio a tale scopo, che pu\u00f2 tornare utile in vari ambiti applicativi. Si possono generare indirizzi postali, date, valori finanziari, nomi e molto altro.<\/p>\n<p>Nel seguito vedremo alcuni semplice esempi che mostrano come utilizzare Faker.js, rimandando poi al <a href=\"https:\/\/rawgit.com\/Marak\/faker.js\/master\/examples\/browser\/index.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">sito ufficiale<\/a> per ogni ulteriore approfondimento.<\/p>\n<h2>Installazione<\/h2>\n<p>Per prima cosa, vediamo come <strong>installare Faker.js<\/strong>. A tale scopo, ci affideremo a <a href=\"https:\/\/www.html.it\/guide\/guida-nodejs\/\">Node.js<\/a>, sfruttando come al solito <em>npm<\/em>:<\/p>\n<pre><code class=\"language-markup\">\nnpm i faker\n<\/code><\/pre>\n<p>Questo \u00e8 tutto ci\u00f2 di cui abbiamo bisogno per iniziare a usare Faker.js: vediamo quindi subito come sfruttarlo per generare alcuni dati di esempio.<\/p>\n<h2>Generare dati di persone con Faker.js<\/h2>\n<p>Il frammento di codice che vediamo mostra come ottenere una serie di informazioni relative ad una persona (ovviamente fittizia):<\/p>\n<pre><code class=\"language-javascript\">\nconst faker = require('faker');\nlet firstName = faker.name.firstName();\nlet lastName = faker.name.lastName();\nlet jobTitle = faker.name.jobTitle();\nlet prefix = faker.name.prefix(); \nlet suffix = faker.name.suffix();\nlet jobArea = faker.name.jobArea();\nlet phone = faker.phone.phoneNumber();\nconsole.log(`Employee: ${prefix} ${firstName} ${lastName} ${suffix}`);\nconsole.log(`Job title: ${jobTitle}`);\nconsole.log(`Job area: ${jobArea}`);\nconsole.log(`Phone: ${phone}`);\n<\/code><\/pre>\n<p>Il risultato di questo esempio potrebbe essere simile al seguente:<\/p>\n<pre><code class=\"language-markup\">\nEmployee: Mrs. Vernice Abernathy III\nJob title: Customer Data Associate\nJob area: Program\nPhone: 1-516-716-9832\n<\/code><\/pre>\n<p>Come si pu\u00f2 intuire, questo tipo di dati, seppur finti, hanno un <strong>formato molto verosimile<\/strong>, e si prestano bene ad essere usati in svariate situazioni. Aggiungendo a questi dati anche un\u2019immagine (altra funzionalit\u00e0 supportata da Faker.js) potremo aumentare ulteriormente il realismo di questi dati. Precisiamo, per\u00f2, che le immagini utilizzate da Faker.js fanno parte di un insieme di contenuti inclusi nella libreria (a differenza di <a href=\"https:\/\/www.html.it\/15\/02\/2019\/thispersondoesnotexist\/\">altri servizi che le generano tramite intelligenza artificiale<\/a>).<\/p>\n<h2>Generare date e valori casuali<\/h2>\n<p>Sia le date che i valori casuali sono tipi di dati che fanno spesso comodo in ambito di test. Il codice che segue ci permette di generare alcune <strong>date fittizie<\/strong>, con la possibilit\u00e0 di scegliere se tali date debbano essere future o recenti:<\/p>\n<pre><code class=\"language-javascript\">\nconst faker = require('faker');\nlet futureDate = faker.date.future();\nlet recentDate = faker.date.recent();\n<\/code><\/pre>\n<p>Per quello che riguarda i <strong>valori casuali<\/strong>, Faker.js offre diverse opzioni. Con questa libreria, \u00e8 infatti possibile non soltanto generare numeri casuali (cosa peraltro gi\u00e0 assolta dai costrutti standard offerti da JavaScript), ma anche stringhe formattate secondo precisi standard, come UUID o <strong>parole casuali<\/strong> (ma comunque di senso compiuto):<\/p>\n<pre><code class=\"language-javascript\">\nconst faker = require('faker');\nlet number = faker.random.number();\nconsole.log(number);\nlet uuid = faker.random.uuid();\nconsole.log(uuid);\nlet word = faker.random.word();\nconsole.log(word);\nlet words = faker.random.words(6);\nconsole.log(words);\n<\/code><\/pre>\n<p>Il risultato del codice appena visto potrebbe essere simile al seguente:<\/p>\n<pre><code class=\"language-markup\">\n630\n1470356a-1197-4955-b3c1-30302fd1db10\nFacilitator\ndot-com connect Practical Checking Account Mandatory real-time\n<\/code><\/pre>\n<h2>Generare dati un funzione della localizzazione<\/h2>\n<p>I dati visti fin qui consentono di generare dati che, in linea di massima, sono abbastanza realistici. Tuttavia, in certi contesti essi potrebbero non essere molto adatti. Se, ad esempio, abbiamo bisogno di generare dati realistici per un sito web italiano, potremmo voler preferire che i nomi somiglino a quelli pi\u00f9 comunemente diffusi in Italia. A tale scopo, possiamo procedere come segue:<\/p>\n<pre><code class=\"language-javascript\">\nconst faker = require('faker\/locale\/it');\nlet firstName = faker.name.firstName();\nlet lastName = faker.name.lastName();\nlet prefix = faker.name.prefix();\nconsole.log(`${prefix} ${firstName} ${lastName}`);\n<\/code><\/pre>\n<p>La prima riga ci permette di specificare un\u2019<strong>opzione di localizzazione<\/strong>, tramite cui potremo generare dati meglio contestualizzati. Eseguendo il codice appena visto, si pu\u00f2 ottenere un risultato analogo al seguente:<\/p>\n<pre><code class=\"language-markup\">\nSig. Sigfrido Santi\n<\/code><\/pre>\n<p>L\u2019idea appena vista si applica anche agli altri dati, per cui possiamo generare date formattate con il formato tipico italiano, americano, russo o di qualsiasi altra nazione.<\/p>\n<p>Chiunque fosse interessato ad approfondire il funzionamento di Faker.js, pu\u00f2 fare riferimento al <a href=\"https:\/\/rawgit.com\/Marak\/faker.js\/master\/examples\/browser\/index.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">sito ufficiale del progetto<\/a>, che include moltissimi altri esempi.<\/p>\n<p><em>Fonte<\/em>: <a href=\"https:\/\/rawgit.com\/Marak\/faker.js\/master\/examples\/browser\/index.html\" class=\"text-link text-link--special\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"underline\">faker.js<\/span><i class=\"ico-external\"\/><\/a><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"http:\/\/feedproxy.google.com\/~r\/htmlitedit\/~3\/JsmmlK74_TE\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La generazione di grandi moli di dati fittizi pu\u00f2 tornare utile in svariati contesti. Si pensi, ad esempio, alla necessit\u00e0 di verificare il funzionamento di un modello di machine learning, in cui alla mancanza di dati si pu\u00f2 temporaneamente sopperire con dati (realistici) generati automaticamente. O ancora, si pensi allo sviluppo di un\u2019applicazione prototipale, in&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Faker.js: generare dati fake in JavaScript - AGENZIA WEB Italia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Faker.js: generare dati fake in JavaScript - AGENZIA WEB Italia\" \/>\n<meta property=\"og:description\" content=\"La generazione di grandi moli di dati fittizi pu\u00f2 tornare utile in svariati contesti. Si pensi, ad esempio, alla necessit\u00e0 di verificare il funzionamento di un modello di machine learning, in cui alla mancanza di dati si pu\u00f2 temporaneamente sopperire con dati (realistici) generati automaticamente. O ancora, si pensi allo sviluppo di un\u2019applicazione prototipale, in...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"AGENZIA WEB Italia\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-07T09:40:41+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"headline\":\"Faker.js: generare dati fake in JavaScript\",\"datePublished\":\"2021-04-07T09:40:41+00:00\",\"dateModified\":\"2021-04-07T09:40:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\"},\"wordCount\":626,\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\",\"name\":\"Faker.js: generare dati fake in JavaScript - AGENZIA WEB Italia\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\"},\"datePublished\":\"2021-04-07T09:40:41+00:00\",\"dateModified\":\"2021-04-07T09:40:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Faker.js: generare dati fake in JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"name\":\"AGENZIA WEB Italia\",\"description\":\"Web design Web agency Italia\",\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\",\"name\":\"Multimedia Web\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"contentUrl\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"width\":200,\"height\":57,\"caption\":\"Multimedia Web\"},\"image\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Faker.js: generare dati fake in JavaScript - AGENZIA WEB Italia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/","og_locale":"it_IT","og_type":"article","og_title":"Faker.js: generare dati fake in JavaScript - AGENZIA WEB Italia","og_description":"La generazione di grandi moli di dati fittizi pu\u00f2 tornare utile in svariati contesti. Si pensi, ad esempio, alla necessit\u00e0 di verificare il funzionamento di un modello di machine learning, in cui alla mancanza di dati si pu\u00f2 temporaneamente sopperire con dati (realistici) generati automaticamente. O ancora, si pensi allo sviluppo di un\u2019applicazione prototipale, in...","og_url":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/","og_site_name":"AGENZIA WEB Italia","article_published_time":"2021-04-07T09:40:41+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/#article","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/"},"author":{"name":"admin","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"headline":"Faker.js: generare dati fake in JavaScript","datePublished":"2021-04-07T09:40:41+00:00","dateModified":"2021-04-07T09:40:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/"},"wordCount":626,"publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"articleSection":["News"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/","name":"Faker.js: generare dati fake in JavaScript - AGENZIA WEB Italia","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website"},"datePublished":"2021-04-07T09:40:41+00:00","dateModified":"2021-04-07T09:40:41+00:00","breadcrumb":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/faker-js-generare-dati-fake-in-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nycwebdesign.eu\/webdesign\/"},{"@type":"ListItem","position":2,"name":"Faker.js: generare dati fake in JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","name":"AGENZIA WEB Italia","description":"Web design Web agency Italia","publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization","name":"Multimedia Web","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","contentUrl":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","width":200,"height":57,"caption":"Multimedia Web"},"image":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22398"}],"collection":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/comments?post=22398"}],"version-history":[{"count":0,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22398\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/media?parent=22398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/categories?post=22398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/tags?post=22398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}