<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Giovani Generali</title>
    <description>The latest articles on DEV Community by Giovani Generali (@giovanigenerali).</description>
    <link>https://dev.to/giovanigenerali</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F80502%2Ff8bbc697-f2ef-4946-b46d-58bca1137ee3.jpg</url>
      <title>DEV Community: Giovani Generali</title>
      <link>https://dev.to/giovanigenerali</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/giovanigenerali"/>
    <language>en</language>
    <item>
      <title>🗜️ 3ObjectsStreamZip is a PHP library to stream objects from AWS S3 as a zip file.</title>
      <dc:creator>Giovani Generali</dc:creator>
      <pubDate>Wed, 19 Aug 2020 15:41:00 +0000</pubDate>
      <link>https://dev.to/giovanigenerali/3objectsstreamzip-is-a-php-library-to-stream-objects-from-aws-s3-as-a-zip-file-3b3m</link>
      <guid>https://dev.to/giovanigenerali/3objectsstreamzip-is-a-php-library-to-stream-objects-from-aws-s3-as-a-zip-file-3b3m</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/wgenial" rel="noopener noreferrer"&gt;
        wgenial
      &lt;/a&gt; / &lt;a href="https://github.com/wgenial/s3-objects-stream-zip-php" rel="noopener noreferrer"&gt;
        s3-objects-stream-zip-php
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🗜️  3ObjectsStreamZip is a PHP library to stream objects from AWS S3 as a zip file.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;S3ObjectsStreamZip&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://packagist.org/packages/wgenial/s3-objects-stream-zip-php" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1d12b1feb41e5b2cbf8e6fc27b176a241c0f034d4b18301c5291177c391a8e40/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7767656e69616c2f73332d6f626a656374732d73747265616d2d7a69702d7068703f7374796c653d666f722d7468652d6261646765" alt="Packagist"&gt;&lt;/a&gt;
&lt;a href="https://github.com/wgenial/s3-objects-stream-zip-php/blob/master/composer.json#L18" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2c87a4f8882a34f730e57493d8e8136f8d65d821a0089c0985bfc1389f300aee/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7767656e69616c2f73332d6f626a656374732d73747265616d2d7a69702d7068703f7374796c653d666f722d7468652d6261646765" alt="PHP Version"&gt;&lt;/a&gt;
&lt;a href="https://app.codacy.com/gh/wgenial/s3-objects-stream-zip-php" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f205c4f3a44327d9e7671dec3d01b25b0a167527c444af6949f3c18b9978d13b/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f67726164652f35363465316632303862616234393136626164363163646163626361343530613f7374796c653d666f722d7468652d6261646765" alt="Codacy"&gt;&lt;/a&gt;
&lt;a href="https://github.com/wgenial/s3-objects-stream-zip-php/actions?query=workflow%3ATest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/25231a9826b005e6cfd4b6467c8b37ef2e3b7986c516b6d92eab149d069f5282/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f7767656e69616c2f73332d6f626a656374732d73747265616d2d7a69702d7068702f546573743f6c6162656c3d74657374266c6f676f3d676974687562267374796c653d666f722d7468652d6261646765" alt="GitHub Workflow Status"&gt;&lt;/a&gt;
&lt;a href="https://app.travis-ci.com/wgenial/s3-objects-stream-zip-php" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ad955f6df18d7410ed0442d6f75993f739cba944c5c6b7ffe906a6b42aa5521c/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7767656e69616c2f73332d6f626a656374732d73747265616d2d7a69702d7068703f7374796c653d666f722d7468652d6261646765266c6162656c3d747261766973" alt="Travis"&gt;&lt;/a&gt;
&lt;a href="https://github.com/wgenial/s3-objects-stream-zip-php/blob/master/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6d9608ef91aaa5e0d3ce89e7585c2760c71a5f6d9aebdec307afd8ad20340dc0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7767656e69616c2f73332d6f626a656374732d73747265616d2d7a69702d7068703f7374796c653d666f722d7468652d6261646765" alt="License"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Overview&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;S3ObjectsStreamZip is a PHP library to stream objects from AWS S3 as a zip file.&lt;/p&gt;
&lt;p&gt;Uses AWS SDK Version 3 to &lt;a href="https://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/s3-stream-wrapper.html" rel="nofollow noopener noreferrer"&gt;stream objects directly from S3&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Install&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;composer require wgenial/s3-objects-stream-zip-php
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Usage&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;See &lt;a href="https://github.com/wgenial/s3-objects-stream-zip-php/blob/master/example/index.php" rel="noopener noreferrer"&gt;example&lt;/a&gt; folder.&lt;/p&gt;
&lt;div class="highlight highlight-text-html-php notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-ent"&gt;&amp;lt;?php&lt;/span&gt;
  &lt;span class="pl-k"&gt;include&lt;/span&gt; &lt;span class="pl-c1"&gt;__DIR__&lt;/span&gt;.&lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;/../vendor/autoload.php&lt;/span&gt;'&lt;/span&gt;
  &lt;span class="pl-k"&gt;use&lt;/span&gt; &lt;span class="pl-v"&gt;Aws&lt;/span&gt;\&lt;span class="pl-c1"&gt;S3&lt;/span&gt;\&lt;span class="pl-v"&gt;Exception&lt;/span&gt;\&lt;span class="pl-v"&gt;S3Exception&lt;/span&gt;;
  &lt;span class="pl-k"&gt;use&lt;/span&gt; &lt;span class="pl-v"&gt;WGenial&lt;/span&gt;\&lt;span class="pl-v"&gt;S3ObjectsStreamZip&lt;/span&gt;\&lt;span class="pl-v"&gt;S3ObjectsStreamZip&lt;/span&gt;;
  &lt;span class="pl-k"&gt;use&lt;/span&gt; &lt;span class="pl-v"&gt;WGenial&lt;/span&gt;\&lt;span class="pl-v"&gt;S3ObjectsStreamZip&lt;/span&gt;\&lt;span class="pl-v"&gt;Exception&lt;/span&gt;\&lt;span class="pl-v"&gt;InvalidParamsException&lt;/span&gt;;

  &lt;span class="pl-k"&gt;try&lt;/span&gt; {
    &lt;span class="pl-c"&gt;// http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html#hardcoded-credentials&lt;/span&gt;
    &lt;span class="pl-s1"&gt;&lt;span class="pl-c1"&gt;$&lt;/span&gt;zipStream&lt;/span&gt; = &lt;span class="pl-k"&gt;new&lt;/span&gt; &lt;span class="pl-v"&gt;S3ObjectsStreamZip&lt;/span&gt;(&lt;span class="pl-en"&gt;array&lt;/span&gt;(
      &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;version&lt;/span&gt;'&lt;/span&gt; =&amp;gt; &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;latest&lt;/span&gt;'&lt;/span&gt;, &lt;span class="pl-c"&gt;// https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html#version&lt;/span&gt;
      &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;region&lt;/span&gt;'&lt;/span&gt; =&amp;gt; &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;your-aws-bucket-region&lt;/span&gt;'&lt;/span&gt;, &lt;span class="pl-c"&gt;// https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html#region&lt;/span&gt;
      &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;credentials&lt;/span&gt;'&lt;/span&gt; =&amp;gt; &lt;span class="pl-en"&gt;array&lt;/span&gt;(
        &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;key&lt;/span&gt;'&lt;/span&gt;    =&amp;gt; &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;your-aws-key&lt;/span&gt;'&lt;/span&gt;,
        &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;secret&lt;/span&gt;'&lt;/span&gt; =&amp;gt; &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;your-aws-secret&lt;/span&gt;'&lt;/span&gt;
      ),
      &lt;span class="pl-c"&gt;// 'endpoint' =&amp;gt; '', // https://docs.aws.amazon.com/general/latest/gr/s3.html&lt;/span&gt;
      &lt;span class="pl-c"&gt;// 'bucket_endpoint' =&amp;gt; '', // https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.S3.S3Client.html#___construct&lt;/span&gt;
    ));

    &lt;span class="pl-s1"&gt;&lt;span class="pl-c1"&gt;$&lt;/span&gt;bucket&lt;/span&gt; = &lt;span class="pl-s"&gt;'&lt;span class="pl-s"&gt;your-s3-bucket&lt;/span&gt;'&lt;/span&gt;; &lt;span class="pl-c"&gt;// required&lt;/span&gt;
    &lt;span class="pl-s1"&gt;&lt;span class="pl-c1"&gt;$&lt;/span&gt;objects&lt;/span&gt; = &lt;span class="pl-en"&gt;array&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/wgenial/s3-objects-stream-zip-php" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>showdev</category>
      <category>php</category>
      <category>aws</category>
      <category>s3</category>
    </item>
    <item>
      <title>🚗 Consultar preços médios de veículos diretamente na FIPE.</title>
      <dc:creator>Giovani Generali</dc:creator>
      <pubDate>Wed, 19 Aug 2020 15:37:53 +0000</pubDate>
      <link>https://dev.to/giovanigenerali/consultar-precos-medios-de-veiculos-diretamente-na-fipe-41nf</link>
      <guid>https://dev.to/giovanigenerali/consultar-precos-medios-de-veiculos-diretamente-na-fipe-41nf</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/giovanigenerali" rel="noopener noreferrer"&gt;
        giovanigenerali
      &lt;/a&gt; / &lt;a href="https://github.com/giovanigenerali/precodeveiculo" rel="noopener noreferrer"&gt;
        precodeveiculo
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🚗  Consultar preços médios de veículos diretamente na FIPE.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Preço de Veículo&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/giovanigenerali/precodeveiculo/pulls" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/906ae845d86e9db89c7cf0a65c59b204fc221ca6006699958c69c6e7923ade00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d626c75652e7376673f636f6c6f723d6f72616e6765267374796c653d666f722d7468652d6261646765" alt="PRs Welcome"&gt;&lt;/a&gt;
&lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;amp;business=9H3JB6XAGJU72&amp;amp;currency_code=BRL&amp;amp;source=url" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8d27d471b25d43b7b7700b29bdaa5a892a8b871d1e40506f89639c392b72d435/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f61722d50617950616c2d626c75653f6c6f676f3d50617950616c267374796c653d666f722d7468652d6261646765" alt="Donate on PayPal"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?url=https://github.com/giovanigenerali/precodeveiculo&amp;amp;text=%F0%9F%9A%97%20Consultar%20pre%C3%A7os%20m%C3%A9dios%20de%20ve%C3%ADculos%20diretamente%20na%20FIPE." rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f6c7a38ca6ae73dd7941c855b7dba283c4a1f9f0a050216e0be24d1ae3d3936c/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c3f636f6c6f723d343061316632266c6f676f3d64617461253341696d616765253246737667253242786d6c25334262617365363425324350484e325a79426d615778735053496a4d5552424d555979496942796232786c50534a7062576369494868746247357a50534a6f644852774f693876643364334c6e637a4c6d39795a7938794d4441774c334e325a794967646d6c6c64304a76654430694d4341774944493049444930496a343864476c30624755253242564864706448526c636942705932397550433930615852735a543438634746306143426b50534a4e4d6a4d754f54557a494451754e5464684d5441674d5441674d4341774d5330794c6a67794e5334334e7a55674e4334354e5467674e4334354e5467674d4341774d4449754d54597a4c5449754e7a497a597930754f5455784c6a55314e5330794c6a41774e5334354e546b744d7934784d6a63674d5334784f4452684e4334354d6941304c6a6b79494441674d4441744f43347a4f4451674e4334304f444a444e7934324f5341344c6a41354e5341304c6a41324e7941324c6a457a494445754e6a51674d7934784e6a4a684e4334344d6a49674e4334344d6a49674d4341774d4330754e6a5932494449754e446331597a41674d5334334d5334344e79417a4c6a49784d7941794c6a45344f4341304c6a41354e6d45304c6a6b774e4341304c6a6b774e434177494441784c5449754d6a49344c5334324d545a324c6a4132595451754f54497a494451754f54497a494441674d44417a4c6a6b304e6941304c6a67794e7941304c6a6b354e6941304c6a6b354e694177494441784c5449754d6a45794c6a41344e5341304c6a6b7a4e6941304c6a6b7a4e694177494441774e4334324d4451674d7934304d5463674f5334344e6a63674f5334344e6a63674d4341774d5330324c6a45774d6941794c6a45774e574d744c6a4d35494441744c6a63334f5330754d44497a4c5445754d5463744c6a41324e3245784d7934354f5455674d544d754f546b31494441674d4441334c6a55314e7941794c6a49774f574d354c6a41314d7941774944457a4c6a6b354f4330334c6a51354e6941784d7934354f5467744d544d754f546731494441744c6a4978494441744c6a51794c5334774d5455744c6a597a51546b754f544d3149446b754f544d31494441674d4441794e4341304c6a553565694976506a777663335a6e5067253344253344267374796c653d666f722d7468652d62616467652675726c3d68747470732533412532462532466769746875622e636f6d25324667696f76616e6967656e6572616c69253246707265636f646576656963756c6f" alt="Twitter URL"&gt;&lt;/a&gt;
&lt;a href="https://github.com/giovanigenerali/precodeveiculo/blob/master/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fc520946e74557320041f6ae588388b3bb5432cc135c3e00f0ea3d3a559ddb8c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f67696f76616e6967656e6572616c692f707265636f646576656963756c6f3f7374796c653d666f722d7468652d6261646765" alt="GitHub license"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;App para consultar preços médios de veículos diretamente na FIPE.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Demo&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Netlify&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Vercel&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://precodeveiculo.netlify.app" rel="nofollow noopener noreferrer"&gt;https://precodeveiculo.netlify.app&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://precodeveiculo.vercel.app" rel="nofollow noopener noreferrer"&gt;https://precodeveiculo.vercel.app&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://app.netlify.com/start/deploy?repository=https://github.com/giovanigenerali/precodeveiculo" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5b6a0d20f6dd7e28daf146c3aa6493836efc7334c8f9675bbbb1c3750368c3f6/68747470733a2f2f7777772e6e65746c6966792e636f6d2f696d672f6465706c6f792f627574746f6e2e737667" alt="Netlify Deploy"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://vercel.com/import/git?s=https%3A%2F%2Fgithub.com%2Fgiovanigenerali%2Fprecodeveiculo" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0d115430c1db17132964386282927e5e313543c7d868fc06bc9a7c65d7ec974e/68747470733a2f2f76657263656c2e636f6d2f627574746f6e" alt="Deploy with Vercel"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/giovanigenerali/precodeveiculoscreenshots/formulario.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CQSPdx_t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/giovanigenerali/precodeveiculoscreenshots/formulario.png" alt="formulario"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/giovanigenerali/precodeveiculoscreenshots/resultado.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tqT0CdaL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/giovanigenerali/precodeveiculoscreenshots/resultado.png" alt="resultado"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Docker&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Para rodar a aplicação basta executar no terminal&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;docker-compose up -d
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pronto, agora acesse &lt;a href="http://localhost:3000" rel="nofollow noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mais informações sobre &lt;code&gt;docker-compose&lt;/code&gt; acesse
&lt;a href="https://docs.docker.com/compose/reference" rel="nofollow noopener noreferrer"&gt;https://docs.docker.com/compose/reference&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Autor&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/giovanigenerali" rel="noopener noreferrer"&gt;@giovanigenerali&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/giovanigenerali/precodeveiculo" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>javascript</category>
      <category>showdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>hexclock</title>
      <dc:creator>Giovani Generali</dc:creator>
      <pubDate>Wed, 03 Jun 2020 02:53:36 +0000</pubDate>
      <link>https://dev.to/giovanigenerali/hexclock-34ad</link>
      <guid>https://dev.to/giovanigenerali/hexclock-34ad</guid>
      <description>&lt;p&gt;hexadecimal clock that changes the background color of the page.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/wgenial/embed/eZwKga?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>html</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>Formik, FieldArray, Yup and MaterialUI</title>
      <dc:creator>Giovani Generali</dc:creator>
      <pubDate>Fri, 30 Aug 2019 18:11:48 +0000</pubDate>
      <link>https://dev.to/giovanigenerali/formik-example-using-fielarray-with-validation-5a4h</link>
      <guid>https://dev.to/giovanigenerali/formik-example-using-fielarray-with-validation-5a4h</guid>
      <description>&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/f7rkz"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>formik</category>
      <category>react</category>
      <category>yup</category>
    </item>
    <item>
      <title>Google Maps Distance</title>
      <dc:creator>Giovani Generali</dc:creator>
      <pubDate>Sun, 22 Jul 2018 17:09:31 +0000</pubDate>
      <link>https://dev.to/giovanigenerali/google-maps-distance-3n82</link>
      <guid>https://dev.to/giovanigenerali/google-maps-distance-3n82</guid>
      <description>&lt;p&gt;Multiple addresses (&lt;a href="https://developers.google.com/places/web-service/autocomplete" rel="noopener noreferrer"&gt;place autocomplete&lt;/a&gt;) with address number validation (Brazilian address) and distance (&lt;a href="https://developers.google.com/maps/documentation/distance-matrix/start" rel="noopener noreferrer"&gt;distance-matrix&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Github
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/wgenial/googlemaps-distance" rel="noopener noreferrer"&gt;https://github.com/wgenial/googlemaps-distance&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bu10c4rpduhaspgac9j.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bu10c4rpduhaspgac9j.gif" alt="preview" width="1172" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Preview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://htmlpreview.github.io/?https://github.com/wgenial/googlemaps-calculate-distance/blob/master/index.html" rel="noopener noreferrer"&gt;http://htmlpreview.github.io/?https://github.com/wgenial/googlemaps-calculate-distance/blob/master/index.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>javascript</category>
      <category>googlemaps</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
