<?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: Giovanni Alves</title>
    <description>The latest articles on DEV Community by Giovanni Alves (@gdois).</description>
    <link>https://dev.to/gdois</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%2F338034%2F4c7db998-0ada-4ede-9845-769da4c8a03e.jpg</url>
      <title>DEV Community: Giovanni Alves</title>
      <link>https://dev.to/gdois</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gdois"/>
    <language>en</language>
    <item>
      <title>Comece hoje a estudar web development</title>
      <dc:creator>Giovanni Alves</dc:creator>
      <pubDate>Sun, 11 Jun 2023 23:43:11 +0000</pubDate>
      <link>https://dev.to/oderco/comece-hoje-a-estudar-688</link>
      <guid>https://dev.to/oderco/comece-hoje-a-estudar-688</guid>
      <description>&lt;p&gt;Você não precisa ter o melhor computador, melhor curso ou de faculdade para começar. Aqui vou listar um roadmap para iniciantes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Front-end:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HTML5: Comece aprendendo a estrutura básica de uma página web usando tags HTML, como &lt;code&gt;&amp;lt;html&amp;gt;, &amp;lt;head&amp;gt;, &amp;lt;body&amp;gt;,&lt;/code&gt; e aprenda a criar elementos como cabeçalhos, parágrafos, links, imagens e formulários.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CSS3: Aprenda a estilizar suas páginas HTML usando CSS. Estude seletores, propriedades e valores CSS para alterar cores, fontes, tamanhos e posicionamento dos elementos na página.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flexbox: Domine o conceito de flexbox, que é uma técnica de layout responsivo do CSS3. Isso permitirá que você crie layouts flexíveis e fluidos para seus projetos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript: Familiarize-se com a linguagem de programação JavaScript, que é usada para adicionar interatividade e funcionalidades dinâmicas às páginas web. Aprenda os fundamentos, como variáveis, estruturas de controle (condicionais, loops) e funções.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ES5 e ES6: Estude as versões do JavaScript, ES5 e ES6 (também conhecido como ES2015). ES6 introduz muitos recursos avançados e melhorias na linguagem, como classes, arrow functions, operadores spread, desestruturação e muito mais.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git &amp;amp; GitHub: Aprenda a usar o Git, um sistema de controle de versão amplamente utilizado, para acompanhar e gerenciar o histórico de alterações em seu código. Em seguida, familiarize-se com o GitHub, uma plataforma online para hospedar repositórios Git, colaborar em projetos, gerenciar problemas e solicitações de pull. Domine os comandos básicos do Git, como &lt;code&gt;git init&lt;/code&gt;, &lt;code&gt;git add&lt;/code&gt;, &lt;code&gt;git commit&lt;/code&gt; e &lt;code&gt;git push&lt;/code&gt;, além de entender os conceitos de branches (ramificações) e pull requests.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frameworks para front-end:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Vite: Aprenda a configurar e usar o Vite, um framework de desenvolvimento rápido para projetos front-end. Ele oferece uma inicialização rápida, recarregamento instantâneo do navegador e suporte a módulos ES.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React, Vue, Angular (opcional): Escolha um dos principais frameworks JavaScript, como React, Vue ou Angular, e aprenda a criar aplicativos front-end escaláveis e reativos usando essas ferramentas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Básico de linux/bash&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Back-end:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PHP7 e PHP8: Comece aprendendo PHP, uma linguagem de script do lado do servidor amplamente usada para desenvolvimento web. Estude a sintaxe básica, manipulação de formulários, interação com banco de dados e recursos avançados disponíveis nas versões mais recentes do PHP.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MySQL: Aprenda o básico de bancos de dados relacionais e SQL (Structured Query Language). Concentre-se em aprender a criar tabelas, consultar dados, atualizar registros e executar operações básicas de banco de dados usando MySQL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Laravel: Explore o framework Laravel, um dos mais populares e poderosos para desenvolvimento PHP. Estude os conceitos básicos, como roteamento, controle de versão, migrations e Eloquent ORM (Object-Relational Mapping).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apache2 e Nginx: Familiarize-se com servidores web como o Apache2 e o Nginx. Aprenda a configurar virtual hosts, lidar com regras de redirecionamento e otimizar o desempenho do servidor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git &amp;amp; GitHub: Aprenda a usar o Git, um sistema de controle de versão amplamente utilizado, para acompanhar e gerenciar o histórico de alterações em seu código. Em seguida, familiarize-se com o GitHub, uma plataforma online para hospedar repositórios Git, colaborar em projetos, gerenciar problemas e solicitações de pull. Domine os comandos básicos do Git, como &lt;code&gt;git init&lt;/code&gt;, &lt;code&gt;git add&lt;/code&gt;, &lt;code&gt;git commit&lt;/code&gt; e &lt;code&gt;git push&lt;/code&gt;, além de entender os conceitos de branches (ramificações) e pull requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Básico de linux/bash&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Você não precisa aprender os dois para entrar na área, você precisa escolher um e estudar muito. Não existe uma fórmula mágica, bootcamp ou qualquer outro recurso que garantirá um emprego imediato. Se você tem vontade e determinação, estude profundamente o campo escolhido.&lt;/p&gt;

&lt;p&gt;Mas e se você não tem um computador bom? Não se preocupe, você pode começar mesmo com um Core 2 Duo e 4GB de RAM. Este roadmap foi desenvolvido levando em consideração essa limitação e você ainda poderá progredir significativamente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aqui estão algumas ferramentas leves que você pode utilizar:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sublime Text 4: Um editor de texto leve e versátil, que oferece uma ótima experiência de programação. É uma excelente opção para começar a escrever código.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Windows 7+ ou qualquer distribuição Linux: Ambos os sistemas operacionais são adequados para desenvolvimento. O Windows 7 ou uma versão mais recente é uma escolha comum, mas também existem diversas distribuições Linux leves e amigáveis que você pode experimentar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Internet: Uma conexão à internet é essencial para acessar recursos, documentação, tutoriais e participar de comunidades de programadores. Utilize-a para se conectar com outras pessoas na área e expandir seu conhecimento.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lembre-se de que o hardware não é o único fator determinante para o sucesso na programação. O que importa mais é a sua dedicação e vontade de aprender. Utilize os recursos disponíveis, estude intensamente e mergulhe fundo no campo escolhido. Com perseverança, você poderá alcançar seus objetivos, mesmo com um computador mais modesto.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Como você pode melhorar o uso de margin's no css</title>
      <dc:creator>Giovanni Alves</dc:creator>
      <pubDate>Fri, 20 Jan 2023 03:37:11 +0000</pubDate>
      <link>https://dev.to/gdois/como-voce-pode-fazer-margins-melhores-usando-html-e-css-35np</link>
      <guid>https://dev.to/gdois/como-voce-pode-fazer-margins-melhores-usando-html-e-css-35np</guid>
      <description>&lt;p&gt;Bom, recentemente tive um insight conversando com uma amiga, sobre margin e como ele afeta a aplicações em dispositivos.&lt;/p&gt;

&lt;p&gt;Nesse artigo vou explicar como você pode trocar o margin e quando você deve realmente usar.&lt;/p&gt;

&lt;p&gt;Margin é uma propriedade do CSS que define a margem de um elemento. Pode ser usada para criar espaçamentos entre elementos.&lt;/p&gt;

&lt;p&gt;Mesmo que pareça uma boa ideia usar margin para criar espaçamentos, o uso excessivo de margin leva a problemas de layout e uma dificuldade de manutenção. Vou listar algumas razões pelas quais você pode querer evitar o uso de margin.&lt;/p&gt;

&lt;p&gt;Pode ser difícil prever como a margem irá afetar o layout da página. A margem de um elemento pode afetar não só o elemento em questão, mas também os elementos vizinhos. Isso pode levar a layouts desajustados e difíceis de entender.&lt;br&gt;
Pode ser difícil ajustar o layout quando o margin é usado em muitos elementos. Se você estiver usando margin em muitos elementos da sua página, pode ser difícil ajustar o layout global quando algo não estiver funcionando como o esperado.&lt;br&gt;
O uso excessivo de margin pode tornar o código difícil de ler e manter. Quando há muitas declarações de margin em um código, pode ser difícil entender o que está acontecendo e como ajustar o layout se necessário.&lt;/p&gt;

&lt;p&gt;Em vez de usar margin, é geralmente uma boa ideia usar outras técnicas para criar espaçamentos, como padding e grid layout. Essas técnicas podem ser mais fáceis de prever e ajustar, além de deixar o código mais limpo e fácil de manter.&lt;/p&gt;

&lt;p&gt;Vou mostrar exemplos do mesmo elemento com e sem gap.&lt;/p&gt;

&lt;p&gt;Nós temos esses três cards, com espaçamentos iguais e divididos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwa81qvm10hoo74e06r6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwa81qvm10hoo74e06r6.png" alt="Image description" width="800" height="235"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"block-content block-content-full"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"d-flex flex-column align-items-center align-self-center justify-content-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;v-icon&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-oderco"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"hi-upload"&lt;/span&gt; &lt;span class="na"&gt;scale=&lt;/span&gt;&lt;span class="s"&gt;"2"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 14px"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"fw-bold text-black mt-3"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Solte ou Arraste o arquivo&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn btn-primary btn-lg mt-3 card__button"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; Buscar neste computador &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 12px"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mt-3"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Arquivos Suportados: PDF, PNG, JPG&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esse código remete ao card do meio.&lt;/p&gt;

&lt;p&gt;Podemos notar no código acima o uso de mt que é ao equivalente você escrever margin-topusando css. Você pode notar que em três elementos você tem o uso de margins com as mesmas margens entre elas, isso é ruim por motivos de utilização em múltiplos dispositivos (principalmente mobile) e você pode ter o problema de quebrar o elemento diversas vezes, isso dificulta na manutenção.&lt;/p&gt;

&lt;p&gt;Agora vou mostrar o mesmo código, mas usando flex e gap.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"block-content block-content-full h-100"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"d-flex flex-column gap-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"fw-bold text-oderco-darker"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Valor Nota Fiscal de Serviço&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"fw-bold text-oderco"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;R$ 660,00&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 12px; color: #6e6e6e"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"fw-bold"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Valor Liquido:&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt; R$ 650,00 (IRRF 1,5%) &lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 12px; color: #6e6e6e"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"fw-bold"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Vence em:&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt; 26/02/2022 &lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mesmo código, mas com uso de gaps, você pode notar que não temos nenhum margine obtemos o MESMO resultado esperado. No caso dessa aplicação o gaprepresenta 16px.&lt;/p&gt;

&lt;p&gt;Bom, mas e quando devemos usar margin? Usamos quando não precisamos de flexe grid, com elementos totalmente separados e específicos. Mas geralmente gapvai resolver todos os seus problemas.&lt;/p&gt;

&lt;p&gt;Deixo esse video do Web Dev Simplified, onde ele comenta do mesmo assunto.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/zqrmL6HEZtg"&gt;Web Dev Simplified&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
