<?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: Nicolas Rocha Pereira</title>
    <description>The latest articles on DEV Community by Nicolas Rocha Pereira (@nicolaspereira).</description>
    <link>https://dev.to/nicolaspereira</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%2F330691%2F52cf7d40-6340-4163-bba2-40edcb9d6e64.png</url>
      <title>DEV Community: Nicolas Rocha Pereira</title>
      <link>https://dev.to/nicolaspereira</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nicolaspereira"/>
    <language>en</language>
    <item>
      <title>O que são Design Patterns e qual a sua importância?</title>
      <dc:creator>Nicolas Rocha Pereira</dc:creator>
      <pubDate>Mon, 28 Mar 2022 12:57:16 +0000</pubDate>
      <link>https://dev.to/nicolaspereira/o-que-sao-design-patterns-e-qual-a-sua-importancia-531a</link>
      <guid>https://dev.to/nicolaspereira/o-que-sao-design-patterns-e-qual-a-sua-importancia-531a</guid>
      <description>&lt;p&gt;Se você é uma pessoa desenvolvedora de software, sem dúvidas, você já se deparou com o termo &lt;strong&gt;Design Patterns ou padrões de projeto&lt;/strong&gt; em algum requisito de vaga de emprego. &lt;br&gt;
&lt;a href="https://media.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%2F0s42m45779zmyxw6iel8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F0s42m45779zmyxw6iel8.png" alt="Imagem com requisito de uma vaga solicitando conhecimento em Design Patterns"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.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%2Fsn3t7b15z4h7oimb2mxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fsn3t7b15z4h7oimb2mxq.png" alt="Imagem com requisito de uma vaga solicitando conhecimento em Design Patterns"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que são Design Patterns ?
&lt;/h2&gt;

&lt;p&gt;Design Patterns, traduzindo, Padrões de Projeto são soluções criadas por desenvolvedores para resolver problemas que sempre foram encontrados durante o desenvolvimento de software orientados a objeto! &lt;/p&gt;

&lt;p&gt;Se você já sentiu a sensação de resolver o mesmo problemas diversas vezes da mesma forma, durante a sua jornada como desenvolvedor saiba que padrões de projeto nasceram dessa sensação. &lt;/p&gt;

&lt;p&gt;Durante anos diversos programadores notaram que resolviam os mesmos problemas de diversas formas ou até de formas muito parecidas e por este motivo eles decidiram compartilhar esses seus padrões, criando dessa forma os famosos Design Patterns. &lt;/p&gt;

&lt;h2&gt;
  
  
  Por quê aprender Design Patterns?
&lt;/h2&gt;

&lt;p&gt;Aprender Design Patterns é importante para facilitar a sua vida como programador para resolver problemas encontrados previamente por outros desenvolvedores! Por ser um padrão, é algo que já foi &lt;strong&gt;testado e validado&lt;/strong&gt; pela comunidade de desenvolvedores. &lt;/p&gt;

&lt;h2&gt;
  
  
  Do que é feito um padrão ?
&lt;/h2&gt;

&lt;p&gt;Um padrão de projetos possui alguns itens essenciais para sua existência, sendo eles:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nome:&lt;/strong&gt; Uma referência do problema encontrado em um projeto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problema:&lt;/strong&gt; Uma descrição de em quais cenários utilizar o padrão de projeto, este item deve explicar o contexto e o motivo do problema.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solução:&lt;/strong&gt; Este tópico mostra a resolução do problema através da implementação do padrão de projeto, apresentando de forma abstrata e apresentando um arranjo geral de elementos que resolve o problema, como as classes, objetos, interfaces e afins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consequências:&lt;/strong&gt; Este item mostra as consequências positivas e negativas da implementação deste padrão de projeto. Este tópico é importante para que o desenvolvedor avalie se a implementação será benéfica ou não no seu contexto. &lt;/p&gt;

&lt;h2&gt;
  
  
  Como funciona?
&lt;/h2&gt;

&lt;p&gt;Existem mais de 20 padrões de projetos catalogados! Atualmente os padrões de projeto são divididos em três categorias, sendo elas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Padrões criacionais&lt;/em&gt;: são padrões direcionados para a criação de objetos que aumentam a flexibilidade e a reutilização de código. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Padrões estruturais&lt;/em&gt;: são padrões que mostram como montar classes e objetos maiores de uma forma flexível e eficientes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Padrões comportamentais&lt;/em&gt;: são padrões que cuidam da comunicação eficiente e da divisão de responsabilidade entre objetos&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Design Patterns são a solução pra tudo ?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Não!!!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Design Patterns foram criados anos atrás e em algumas linguagens modernas certos padrões de design já são implementados! &lt;/p&gt;

&lt;p&gt;Por exemplo, o padrão Strategy pode ser implementado com uma simples função anônima (lambda) na maioria das linguagens de programação moderna.&lt;/p&gt;

&lt;p&gt;Um ponto muito importante é que é necessário &lt;strong&gt;analisar&lt;/strong&gt; se realmente é necessário a implementação de determinado padrão, as vezes ao implementar um padrão você poderá adicionar mais complexidade ao código do que de fato resolver um problema. &lt;/p&gt;

&lt;h2&gt;
  
  
  Como começar a utilizar Design Patterns
&lt;/h2&gt;

&lt;p&gt;Acredito que o primeiro passo para utilizar os padrões de projeto é &lt;strong&gt;conhecer&lt;/strong&gt; cada um deles, dessa forma você vai conseguir entender a ideia e sua aplicabilidade! &lt;/p&gt;

&lt;p&gt;Após isso tente imaginar em algum de seus projetos pessoal ou de estudo se é válido a implementação de algum padrão! &lt;/p&gt;

&lt;p&gt;Se você trabalha, tente levar essa discussão para seu trabalho e alinhar com sua equipe sobre a implementação de algum Padrão de Projeto para &lt;strong&gt;resolver&lt;/strong&gt; um &lt;strong&gt;problema real&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Indicações de materiais!
&lt;/h2&gt;

&lt;p&gt;Caso você tenha se interessado sobre Design Patterns, gostaria de compartilhar alguns links úteis! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://refactoring.guru/pt-br" rel="noopener noreferrer"&gt;Refactoring Guru&lt;/a&gt;: O site possui a explicação de cada Design Patterns, qual o melhor cenário para a implementação e também os exemplos de implementação em diversas linguagens de Programação. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.amazon.com.br/Padr%C3%B5es-Projetos-Solu%C3%A7%C3%B5es-Reutiliz%C3%A1veis-Orientados/dp/8573076100" rel="noopener noreferrer"&gt;Padrões de Projeto - Soluções reutilizáveis de software Orientado a Objetos&lt;/a&gt; : Este livro é o &lt;strong&gt;principal&lt;/strong&gt; livro relacionado a Padrões de Projeto, devido ao longo nome ele foi apelidado como “o livro da Gangue dos Quatro (Gang of Four)” que logo foi simplificado para o “livro GoF”. Este livro possui detalhes sobre Design Pattern, a implementação de cada um deles, caso de usos, pontos positivos, pontos negativos e também sobre boas práticas de programação. Sem dúvidas este &lt;strong&gt;não&lt;/strong&gt; é um livro para ler apenas uma vez mas sim um livro para ir consultando sempre que necessário.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://speakerdeck.com/marcelgsantos/padroes-de-projeto-facade-em-linguagens-dinamicas" rel="noopener noreferrer"&gt;Slides: Padrões de Projeto: Facade em Linguagens Dinâmicas&lt;/a&gt; : Estes são os slides do &lt;a href=""&gt;Marcel dos Santos&lt;/a&gt;, um grande colega, entusiasta de tecnologia e um das minhas referências em tecnologia. Neste slide ele apresenta uma ideia geral sobre padrões de projeto e explica sobre o padrão Facade! &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://twitter.com/devnic_/status/1494365203349258243" rel="noopener noreferrer"&gt;Thread sobre Chain of Responsability&lt;/a&gt; : Realizei a implementação de um Design Patterns no trabalho e resolvi criar uma thread no meu &lt;a href="https://twitter.com/devnic_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; exemplificando a implementação deste Pattern passo a passo. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Por fim, gostaria de agradecer a você que leu até aqui! Se possível compartilhe este conteúdo na sua rede de social e para seus colegas de trabalho caso ache relevante.&lt;/p&gt;

&lt;p&gt;Gostaria também de agradecer aos &lt;a href="https://twitter.com/MarlonHenq" rel="noopener noreferrer"&gt;Marlon&lt;/a&gt; e ao &lt;a href="https://www.linkedin.com/in/joe-santos-6b819b185/" rel="noopener noreferrer"&gt;Joe&lt;/a&gt; quem se disponibilizaram para realizar a revisão deste artigo!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>designpatterns</category>
    </item>
    <item>
      <title>PHP?! Isso ai não morreu?</title>
      <dc:creator>Nicolas Rocha Pereira</dc:creator>
      <pubDate>Mon, 21 Feb 2022 12:59:24 +0000</pubDate>
      <link>https://dev.to/nicolaspereira/php-isso-ai-nao-morreu-10p1</link>
      <guid>https://dev.to/nicolaspereira/php-isso-ai-nao-morreu-10p1</guid>
      <description>&lt;p&gt;Se você é uma pessoa desenvolvedora de software ou uma pessoa que atua em alguma área relacionada a tecnologia, sem dúvidas, você já ouviu a seguinte frase:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“PHP? Isso ai vai morrer em breve!”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Felizmente, essa afirmação é uma grande &lt;strong&gt;mentira!&lt;/strong&gt; O PHP e todo seu ecossistema vem a cada dia se renovando e implementando novas funcionalidades para que essa &lt;em&gt;&lt;strong&gt;tecnologia se mantenha viva por muito tempo!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Se você acredita que o PHP ainda é aquela tecnologia onde coloca JS + PHP + HTML + Instruções SQL no mesmo arquivo, você está completamente enganado e este artigo é para você! &lt;/p&gt;

&lt;p&gt;O objetivo desse artigo é apresentar as principais mudanças do PHP nos últimos anos e como está o cenário do PHP atualmente.&lt;/p&gt;

&lt;h2&gt;
  
  
  1 - PHP Foundation
&lt;/h2&gt;

&lt;p&gt;Acredito que essa seja a principal mudança do PHP e que vai garantir muitos anos de vida para essa tecnologia. Em novembro de 2021 foi criado a &lt;a href="https://opencollective.com/phpfoundation" rel="noopener noreferrer"&gt;PHP Foundation&lt;/a&gt;, essa entidade tem como responsabilidade receber doações de pessoas e empresas e distribuir o valor arrecadado para o &lt;em&gt;core-team&lt;/em&gt; de desenvolvedores do PHP.&lt;br&gt;
Com a PHP Foundation e o dinheiro arrecadado o &lt;em&gt;core-team&lt;/em&gt; poderá ter disponibilidade total de tempo para aprimorar o PHP e implementar novas funcionalidades e correções de bug, sem se preocupar em ter um emprego para pagar os boletos, visto que o dinheiro virá da PHP Foundation! &lt;/p&gt;

&lt;p&gt;Caso você queira entender mais sobre a PHP Foundation, recomendo a leitura deste &lt;a href="https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundation/" rel="noopener noreferrer"&gt;artigo.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2 - Novas atualizações do PHP.
&lt;/h2&gt;

&lt;p&gt;O &lt;em&gt;core-team&lt;/em&gt; do PHP vem trabalhando fortemente para implementar novas funcionalidades na linguagem, como melhoria de performance, novos recursos para melhorar a experiência de desenvolvimento e afins. No ano de 2020 tivemos o lançamento do PHP 8.0 e no mês de novembro de 2021 tivemos o lançamento do PHP 8.1 trazendo muitas novidades e recursos interessantes para a linguagem! &lt;br&gt;
Para acompanhar as novidades da versão do &lt;a href="https://www.php.net/releases/8.0/pt_BR.php" rel="noopener noreferrer"&gt;PHP 8.0&lt;/a&gt; e &lt;a href="https://www.php.net/releases/8.1/pt_BR.php" rel="noopener noreferrer"&gt;PHP 8.1&lt;/a&gt; basta clicar nos link atrelados. &lt;/p&gt;

&lt;h2&gt;
  
  
  3 - Just In Time (JIT) do PHP
&lt;/h2&gt;

&lt;p&gt;Muita gente argumenta que o PHP não é tão performático, no PHP 8 foi apresentado o motor de compilação JIT, dessa forma, com o JIT ativado o seu código é mais performático pois ele não é executado na ZendVM, mas sim a nível de instrução direto de CPU.&lt;/p&gt;

&lt;p&gt;Segue abaixo uma imagem mostrando como o JIT se comportou em benchmarks sintéticos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fksk6z80g54eygh1phck4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fksk6z80g54eygh1phck4.png" alt="Comparação GIT"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste &lt;a href="https://phpinternals.news/7" rel="noopener noreferrer"&gt;podcast com o Zeev&lt;/a&gt; você pode entender um pouco melhor sobre o JIT e como ele está funcionando pode debaixo dos panos no PHP &lt;/p&gt;

&lt;p&gt;Deixo também este &lt;a href="https://www.youtube.com/watch?v=WLx0z9kloro" rel="noopener noreferrer"&gt;vídeo&lt;/a&gt; do &lt;a href="https://twitter.com/cviniciussdias" rel="noopener noreferrer"&gt;Vinicius Dias&lt;/a&gt; onde ele explica sobre o JIT no PHP!&lt;/p&gt;

&lt;h2&gt;
  
  
  4 - Com PHP é possível trabalhar de forma assíncrona!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SIM, ISSO MESMO QUE VOCÊ LEU&lt;/strong&gt;&lt;br&gt;
Se você acha que NodeJS/JavaScript é a &lt;em&gt;&lt;strong&gt;bala de prata&lt;/strong&gt;&lt;/em&gt; para se trabalhar com requisições de forma assíncrona, você está completamente &lt;strong&gt;enganado&lt;/strong&gt; hoje existem muitos projetos escritos em PHP para que seja possível trabalhar de forma assíncrona utilizando todo o ecossistema do PHP. &lt;br&gt;
Caso você queira trabalhar de forma assíncrona/não bloqueante com PHP você pode se aventurar em diversas tecnologias, sendo elas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/swoole" rel="noopener noreferrer"&gt;Swoole&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/reactphp" rel="noopener noreferrer"&gt;ReactPHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/revoltphp" rel="noopener noreferrer"&gt;RevoltPHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/amphp" rel="noopener noreferrer"&gt;AMP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/walkor/workerman" rel="noopener noreferrer"&gt;Workman&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Confesso que o Swoole tem sido o que mais tenho olhado principalmente pelos &lt;a href="https://github.com/swoole/awesome-swoole#frameworks" rel="noopener noreferrer"&gt;frameworks&lt;/a&gt; criados a partir do Swoole e também pela aceitação de grandes frameworks que estão utilizando o Swoole, como o &lt;a href="https://laravel.com/docs/9.x/octane" rel="noopener noreferrer"&gt;Laravel Octane&lt;/a&gt;, &lt;a href="https://symfony.com/doc/current/components/runtime.html" rel="noopener noreferrer"&gt;Symfony Runtime&lt;/a&gt; e o &lt;a href="https://docs.mezzio.dev/mezzio-swoole/" rel="noopener noreferrer"&gt;Mezzio-Swoole&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vou deixar este &lt;a href="https://www.treinaweb.com.br/blog/introducao-ao-swoole-framework-php-assincrono-baseado-em-corrotinas" rel="noopener noreferrer"&gt;artigo&lt;/a&gt; do &lt;a href="https://twitter.com/KennedyTedesco" rel="noopener noreferrer"&gt;Kennedy Tedesco&lt;/a&gt;, onde ele apresenta o Swoole e faz uma comparação com outras tecnologias do mercado.&lt;/p&gt;

&lt;p&gt;O PHP também tem implementado novas soluções nativas para trabalhar com fluxos não bloqueantes, no PHP 8.1 foi lançado as famosas &lt;a href="https://www.php.net/manual/pt_BR/language.fibers.php" rel="noopener noreferrer"&gt;Fibers&lt;/a&gt;, que &lt;strong&gt;basicamente&lt;/strong&gt; cria uma estrutura de pilhas que são interrompíveis e que podem ser manipuladas de forma assíncrona sem quebrar o fluxo ou esperar que determinada Fiber termine para iniciar a outra.&lt;/p&gt;

&lt;h2&gt;
  
  
  5 - Frameworks Modernos
&lt;/h2&gt;

&lt;p&gt;Como dito anteriormente o PHP se tornou algo moderno e a maioria dos seus frameworks entenderam essa evolução.&lt;/p&gt;

&lt;p&gt;Antigamente era comum encontrar arquivos em PHP onde tinha uma conexão com banco de dados, que logo depois retornava um array com estes dados, que era percorrido por um laço &lt;code&gt;for&lt;/code&gt; e neste laço for imprimia as &lt;code&gt;tags html&lt;/code&gt; com &lt;code&gt;echo&lt;/code&gt;! &lt;/p&gt;

&lt;p&gt;Calma, não se preocupe o PHP não está mais desta forma! Com o avanço da Web e de frameworks javascripts como Vue.JS e React.JS o PHP tem a cada dia sendo utilizado apenas para funcionalidades de back-end para construção de API's e afins. &lt;/p&gt;

&lt;p&gt;O ecossistema da linguagem também conta com frameworks incríveis que podem ser utilizados para resolver problemas utilizando estrutura MVC (Model, View, Controller) ou para criação de API's. &lt;/p&gt;

&lt;p&gt;Os principais frameworks de mercado hoje são o &lt;a href="https://symfony.com/" rel="noopener noreferrer"&gt;Symfony&lt;/a&gt; e o &lt;a href="https://laravel.com/" rel="noopener noreferrer"&gt;Laravel&lt;/a&gt; que possuem seus próprios times para desenvolver novas funcionalidades, criar estruturas mais performáticas e auxiliar a experiência do desenvolvedor durante o seu dia a dia de trabalho. &lt;/p&gt;

&lt;p&gt;Por exemplo, com o Laravel, você pode construir a parte de front-end da sua aplicação utilizando as &lt;a href="https://laravel.com/docs/9.x/blade" rel="noopener noreferrer"&gt;Blades Templates&lt;/a&gt;, &lt;a href="https://inertiajs.com/" rel="noopener noreferrer"&gt;Inertia.JS&lt;/a&gt;, &lt;a href="https://laravel-livewire.com/" rel="noopener noreferrer"&gt;Livewire&lt;/a&gt; ou até mesmo &lt;a href="https://vuejs.org/" rel="noopener noreferrer"&gt;Vue.JS&lt;/a&gt;, já com o Symfony é muito comum você encontrar aplicações utilizando o &lt;a href="https://twig.symfony.com/" rel="noopener noreferrer"&gt;Twig&lt;/a&gt;, &lt;a href="https://stimulus.hotwired.dev/" rel="noopener noreferrer"&gt;Stimulus&lt;/a&gt; e também na documentação do Symfony explica como utilizar &lt;a href="https://symfony.com/doc/current/frontend/encore/reactjs.html" rel="noopener noreferrer"&gt;React.JS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para trabalhar com banco de dados nestes frameworks agora é feito o uso de ORM. Laravel possui uma excelente integração com o &lt;a href="https://laravel.com/docs/9.x/eloquent" rel="noopener noreferrer"&gt;Eloquent&lt;/a&gt; que utiliza conceitos de Active Records, enquanto o Symfony utiliza o &lt;a href="https://www.doctrine-project.org/projects/doctrine-orm/en/2.11/index.html" rel="noopener noreferrer"&gt;Doctrine&lt;/a&gt; que utiliza conceitos de Object Relational Mapper. &lt;/p&gt;

&lt;h2&gt;
  
  
  6 - Comunidade do PHP
&lt;/h2&gt;

&lt;p&gt;Um dos principais motivos para eu gostar tanto de PHP é a sua comunidade! O ambiente de comunidade do PHP é totalmente colaborativo, onde as pessoas realmente querem construir não só softwares com a tecnologia, mas permitir a troca de conhecimento entre pessoas e gerar amizade.&lt;/p&gt;

&lt;p&gt;Se você quiser conhecer as comunidades de PHP, basta acessar este &lt;a href="https://github.com/brasil-php/comunidades" rel="noopener noreferrer"&gt;repositório&lt;/a&gt; e se conectar! &lt;/p&gt;

&lt;p&gt;Qualquer dúvida é só me mandar uma DM também :) &lt;/p&gt;

&lt;p&gt;Se você chegou até o final deste artigo, gostaria de te agradecer e pedir para você compartilhar este conteúdo com mais pessoas, dessa forma iremos evangelizar o PHP e mostrar que esta tecnologia está longe de morrer.&lt;/p&gt;

&lt;p&gt;Gostaria também de agradecer a quem me ajudou na construção desse artigo, executando o trabalho de revisar o que foi abordado aqui!&lt;/p&gt;

&lt;p&gt;Muito obrigado &lt;br&gt;
&lt;a href="https://mobile.twitter.com/ThaliMarra" rel="noopener noreferrer"&gt;Thalita Marra&lt;/a&gt; &lt;br&gt;
&lt;a href="https://mobile.twitter.com/MarlonHenq" rel="noopener noreferrer"&gt;Marlon Henrique&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>O que são RFCs e como elas funcionam na linguagem PHP</title>
      <dc:creator>Nicolas Rocha Pereira</dc:creator>
      <pubDate>Mon, 10 Jan 2022 12:10:56 +0000</pubDate>
      <link>https://dev.to/nicolaspereira/o-que-sao-rfcs-e-como-elas-funcionam-na-linguagem-php-437j</link>
      <guid>https://dev.to/nicolaspereira/o-que-sao-rfcs-e-como-elas-funcionam-na-linguagem-php-437j</guid>
      <description>&lt;h2&gt;
  
  
  O que é sobre RFC
&lt;/h2&gt;

&lt;p&gt;Você como uma pessoa desenvolvedora é, sem dúvidas, atenta nas novidades das tecnologias que você utiliza no dia a dia. Mas você já se perguntou como funciona para alguma pessoa dar sugestão de um novo método, uma nova funcionalidade ou até mesmo alteração em alguma tecnologia?&lt;/p&gt;

&lt;p&gt;Isso é possível utilizando um padrão adotado pela maioria das linguagens chamado RFC ou Request For Comments. Se formos traduzi-lo, significa "Pedidos para Comentários". Esta mecânica é utilizada em muitas tecnologias como por exemplo &lt;a href="https://wiki.php.net/rfc"&gt;PHP&lt;/a&gt;, &lt;a href="https://github.com/rust-lang/rfcs"&gt;Rust&lt;/a&gt;, &lt;a href="https://github.com/reactjs/rfcs"&gt;React&lt;/a&gt; e o &lt;a href="https://github.com/tc39/proposals"&gt;EcmaScript&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;É valido lembrar que cada tecnologia possui seus próprios padrões de RFC como templates, fases de discussão e votação. O RFC é um conceito que é aplicado em diversos cenários!&lt;/p&gt;

&lt;h2&gt;
  
  
  RFCs no PHP
&lt;/h2&gt;

&lt;p&gt;Agora que já sabemos o que é RFC, vamos entender como ela funciona no ecossistema do PHP.&lt;/p&gt;

&lt;p&gt;No PHP as RFCs seguem um &lt;strong&gt;template&lt;/strong&gt; e o fato de haver um template é interessante para seguir uma linha lógica e conseguir &lt;em&gt;padronizar o processo&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;No &lt;strong&gt;template&lt;/strong&gt; do PHP é sugerido os seguintes campos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Introdução:&lt;/strong&gt; Apresentar a ideia geral da proposta da RFC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proposta:&lt;/strong&gt; Apresentar a implementação da sua proposta, como vai ser utilizada no dia a dia em forma de código com exemplos e afins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alterações incompatíveis com versões anteriores:&lt;/strong&gt; caso sua nova funcionalidade seja incompatível com alguma versão anterior do PHP deve se apresentar a incompatibilidade e em quais versões isso ocorre.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proposta de Implementação na versão do PHP:&lt;/strong&gt; Neste campo você apresenta a partir de qual versão do PHP sua implementação será realizada. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impacto da RFC:&lt;/strong&gt; Neste tópico você apresenta como sua RFC vai impactar o ecossistema do PHP, o impacto no CLI, no modo Web, no core do PHP, no arquivo de configuração do PHP (php.ini) e até mesmo se terá a criação de novas constantes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tarefas Abertas:&lt;/strong&gt; apenas um alerta para você verificar de realmente ter terminado sua implementação antes da votação começar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Patches e Testes:&lt;/strong&gt; Neste campo você pode vincular o link do seu Pull Request no GitHub junto com os testes apresentados. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É valido lembrar que é muito importante &lt;em&gt;detalhar a RFC&lt;/em&gt; e propostas de implementação com o máximo de informação possível e exemplos. É a partir da RFC que será escrita a &lt;strong&gt;documentação&lt;/strong&gt; da sua funcionalidade no site do PHP.&lt;/p&gt;

&lt;h2&gt;
  
  
  Processo de uma RFC
&lt;/h2&gt;

&lt;p&gt;Para você &lt;strong&gt;criar uma RFC&lt;/strong&gt; ou implementar algo é necessário &lt;em&gt;ser membro do PHP Wiki&lt;/em&gt; e já ter contribuído de alguma forma para o PHP. Caso você não seja membro do PHP Wiki você pode solicitar para que um membro seja &lt;em&gt;co-autor da RFC&lt;/em&gt; com você.&lt;/p&gt;

&lt;p&gt;Antes mesmo de criar sua RFC, é necessário apresentar sua solução, quem vai implementá-la e se é uma implementação ou apenas um conceito de implementação para a &lt;strong&gt;lista interna&lt;/strong&gt; de membros do PHP.&lt;/p&gt;

&lt;p&gt;O envio deste e-mail permite que as pessoas do grupo &lt;strong&gt;validem&lt;/strong&gt; sua ideia e vejam se a ideia é realmente interessante para o linguagem PHP e, caso você não receba nenhum feedback negativo, você pode começar a desenvolver sua implementação.&lt;/p&gt;

&lt;p&gt;Todo o &lt;strong&gt;processo de criação&lt;/strong&gt; da RFC acontece dentro do próprio PHP Wiki, seguindo o template já apresentado neste artigo. Para iniciar a escrita da sua RFC basta:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faça login no wiki com sua conta wiki.&lt;/li&gt;
&lt;li&gt;Navegue para um URL como &lt;a href="https://wiki.php.net/RFC/my_RFC"&gt;https://wiki.php.net/RFC/my_RFC&lt;/a&gt; (use o nome do seu recurso no URL).&lt;/li&gt;
&lt;li&gt;Pressione o botão “Editar esta página”, preencha o modelo fornecido e salve.&lt;/li&gt;
&lt;li&gt;Edite &lt;a href="https://wiki.php.net/RFC"&gt;https://wiki.php.net/RFC&lt;/a&gt; e vincule seu RFC com o status “Em rascunho”.&lt;/li&gt;
&lt;li&gt;Escreva o RFC.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Após ter terminado de escrever sua RFC é necessário seguir os seguintes passos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mude o status da sua página RFC para &lt;strong&gt;“Em discussão”&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Mude sua seção em &lt;a href="https://wiki.php.net/RFC"&gt;https://wiki.php.net/RFC&lt;/a&gt; para &lt;strong&gt;“Em discussão”&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Envie um e-mail para &lt;a href="mailto:internals@lists.php.net"&gt;internals@lists.php.net&lt;/a&gt; apresentando seu RFC.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Após o envio de sua RFC para a lista você poderá receber &lt;strong&gt;feedbacks&lt;/strong&gt; de correções, problemas e melhores implementações. Escute estes feedbacks e atualize sua RFC com os pontos negativos e positivos. Sempre que responder um e-mail referente a sua RFC não esqueça de vincular a URL da RFC!&lt;/p&gt;

&lt;p&gt;Para &lt;strong&gt;colocá-la em votação&lt;/strong&gt; é necessário considerar o tempo mínimo de duas semanas a partir da data que você enviou a sua RFC para a lista interna. É importante ter certeza que não tem mais nenhuma discussão aberta sobre sua RFC antes de ela ir para votação, caso tenha algo aberto isso poderá dificultar a aprovação.&lt;/p&gt;

&lt;p&gt;Caso tudo esteja correto, é necessário alterar o status da sua RFC para votação e adicionar a Macro de Votação em sua RFC, o exemplo da macro está no site oficial do PHP.&lt;/p&gt;

&lt;p&gt;Após realizar essas alterações e colocar sua RFC para votação é necessário colocar o &lt;strong&gt;período de votação&lt;/strong&gt; com a &lt;em&gt;data de início, data de fim e o timezone&lt;/em&gt;, é valido lembrar que o período de votação é de, no mínimo, de &lt;strong&gt;duas semanas&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Por fim é necessário enviar um outro email para a lista interna seguindo o seguinte padrão: &lt;strong&gt;[VOTE] {RFC Title}&lt;/strong&gt; no assunto do e-mail. &lt;/p&gt;

&lt;h2&gt;
  
  
  Sistema de votação das RFC's no PHP.
&lt;/h2&gt;

&lt;p&gt;Como dito anteriormente, o período de votação de uma RFC é de, no mínimo, duas semanas a partir da data em que ela foi divulgada na lista interna com o e-mail de abertura de votação. Este prazo mínimo pode ser aumentado conforme necessidade mas nunca pode ser diminuído!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Para sua RFC ser aprovada é necessário 2/3 de votos positivos. Existem alguns casos onde a RFC pode ser muito "polêmica" e este sistema de votação ser alterado.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Quem são as pessoas que podem votar!
&lt;/h2&gt;

&lt;p&gt;O PHP é uma linguagem utilizada por milhares de pessoas em todo mundo e por isso é necessário ouvir seus representantes tanto de comunidades, quanto criadores de frameworks e afins.&lt;/p&gt;

&lt;p&gt;Uma implementação errada no PHP pode ocasionar &lt;strong&gt;inúmeros problemas&lt;/strong&gt; em todo o ecossistema!&lt;/p&gt;

&lt;p&gt;Pelas razões apresentadas anteriormente podem votar para as decisões de RFC: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pessoas com contas VCS no php.net ou seja pessoas que contribuíram com código para o PHP.&lt;/li&gt;
&lt;li&gt;Representantes de comunidades PHP que são indicados por pessoas com contas VCS no php.net.&lt;/li&gt;
&lt;li&gt;Lideres de desenvolvimento de ferramentas que utilizam PHP (Frameworks, Bibliotecas, CMS e afins).&lt;/li&gt;
&lt;li&gt;Participantes regulares das discussões internas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Algo bem legal é que temos alguns brasileiros que podem votar para as decisões de RFC, sendo eles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/malukenho"&gt;Jefferson Nathan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/geekcom2"&gt;Daniel Rodrigues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/adielcristo"&gt;Adiel Cristo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/galvao"&gt;Er Galvão Abbott&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/carusogabriel"&gt;Gabriel Caruso&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/casimiroarruda"&gt;Anderson Casimiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/guilhermeblanco"&gt;Guilherme Blanco&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/klaussilveira"&gt;Klaus Silveira&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rdohms"&gt;Rafael Dohms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/lcobucci"&gt;Luís Otávio Cobucci&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Caso o criador da RFC se enquadre em uma das categorias apresentadas acima ele possui direito de voto.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Minha proposta foi recusada e agora ?
&lt;/h2&gt;

&lt;p&gt;Caso a sua RFC seja recusada, não se preocupe! Isso é bem comum de acontecer. Um exemplo disso é a proposta para a implementação de &lt;em&gt;enumerations no PHP&lt;/em&gt;. Antes de ser aprovada no PHP 8.1, foram submetidas duas outras propostas anteriores que não foram aprovadas.&lt;/p&gt;

&lt;p&gt;Para &lt;strong&gt;reapresentar sua proposta&lt;/strong&gt; é necessário que ao menos um desses fatores aconteça: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6 meses se passaram a partir do momento da votação anterior  OU&lt;/li&gt;
&lt;li&gt;O(s) autor(es) realizaram alterações substanciais na proposta. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Embora seja impossível definir o que são mudanças 'substanciais', elas devem ser materiais o suficiente para que afetem significativamente o resultado de outra votação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fique por dentro!
&lt;/h2&gt;

&lt;p&gt;Caso você tenha interesse em saber mais sobre o assunto de RFCs e acompanhar tudo que acontece dentro do PHP, indico os seguintes sites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//externals.io"&gt;externals.io&lt;/a&gt;: este site contém todas as discussões da lista interna de e-mails do PHP, dessa forma fica mais fácil de ver as discussões e entender o que está sendo debatido&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://php-rfc-watch.beberlei.de/"&gt;RFC Watch&lt;/a&gt;: este site apresenta em tempo real todos os status das RFCs, como quantos votos receberam e afins.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://php.watch/rfcs"&gt;Blog de Novidades&lt;/a&gt;: este é um blog com todas as novidades sobre RFCs, juntamente com informações úteis como status, prazos e números de votos.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Por fim, se você chegou até esta parte do artigo espera que tenha gostado! Este é um assunto bem importante do ecossistema de PHP mas pouco difundido na comunidade brasileira! Gostaria de pedir para que você compartilhe em suas redes sociais e nas comunidades a qual você faz parte.&lt;/p&gt;

&lt;p&gt;Gostaria também de agradecer aos revisores deste artigo, que me ajudaram com seu conhecimento técnico sobre o assunto.&lt;/p&gt;

&lt;p&gt;Revisores: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/marcelgsantos"&gt;Marcel Santos&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/geekcom2"&gt;Daniel Rodrigues&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>php</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>Quer aprender a programar? Conheça o JavaScript</title>
      <dc:creator>Nicolas Rocha Pereira</dc:creator>
      <pubDate>Fri, 07 Feb 2020 13:59:49 +0000</pubDate>
      <link>https://dev.to/nicolaspereira/quer-aprender-a-programar-conheca-o-javascript-2fim</link>
      <guid>https://dev.to/nicolaspereira/quer-aprender-a-programar-conheca-o-javascript-2fim</guid>
      <description>&lt;p&gt;Se você está neste post é por um único motivo: você quer entrar na área de desenvolvimento mas não sabe por onde começar.Não se preocupe! É normal ter essas dúvidas, ainda mais em um mundo cheio de &lt;strong&gt;linguagens de programação&lt;/strong&gt; como Java, JavaScript, PHP, C#, C++, Elixir e assim vai.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que escolher o JavaScript? 💻
&lt;/h2&gt;

&lt;p&gt;1 - Comunidade Fantástica. 👥&lt;/p&gt;

&lt;p&gt;Uma das principais coisas que você deve levar em consideração ao escolher sua linguagem de programação, é a comunidade.&lt;/p&gt;

&lt;p&gt;Imagine o seguinte cenário: você está estudando uma linguagem de programação e se depara com um problema,então, você digita o erro no Google e não encontra &lt;strong&gt;nenhum&lt;/strong&gt; resultado. Este pequeno erro pode te desanimar, e fazer com que você desista da área de desenvolvimento. O JavaScript possui uma das maiores comunidades de programadores no Brasil e no mundo, pessoas que sempre estão dispostas a ajudar a resolver seu problema e principalmente compartilhar conhecimento.Seja no &lt;strong&gt;Github&lt;/strong&gt;, &lt;strong&gt;StackOverflow&lt;/strong&gt;, grupos de discussão no &lt;strong&gt;Slack&lt;/strong&gt;, &lt;strong&gt;Telegram&lt;/strong&gt; ou até mesmo no &lt;strong&gt;WhatsApp&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;2 - Muito conteúdo. 📚&lt;/p&gt;

&lt;p&gt;Por ter uma comunidade forte, o JavaScript tem uma inúmera quantidade de conteúdos bons, gratuitos e outro pagos, porém, com um preço acessível. Segue alguns links úteis para o início de seu aprendizado.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/playlist?list=PLHz_AreHm4dlsK3Nr9GVvXCbpQyHQl1o1"&gt;Curso Gratuito de JavaScript do Canal Curso em Video patrocinado pelo Google.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://developer.mozilla.org/pt-BR/docs/Web/JavaScript"&gt;Documentação Oficial do JavaScript.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://developer.mozilla.org/pt-BR/docs/Aprender/Getting_started_with_the_web/JavaScript_basico"&gt;Guia Inicial de JavaScript.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://fundamentosjs.erickwendel.com.br/"&gt;Curso de JavaScript para iniciantes com Erick Wendel&lt;/a&gt; - pago mas o investimento vale MUITO a pena.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learnjavascript.online/"&gt;Learn JavaScript&lt;/a&gt; - o conteúdo é em inglês mas neste site você aprende JavaScript do &lt;strong&gt;básico&lt;/strong&gt; ao &lt;strong&gt;avançado&lt;/strong&gt; (alguns módulos são pagos.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3 - Linguagem que atende diversos contextos. 🌎&lt;/p&gt;

&lt;p&gt;Ao aprender JavaScript, você poderá se tornar um programador &lt;a href="https://pt.stackoverflow.com/questions/52450/o-que-%C3%A9-e-o-que-faz-um-full-stack-web-developer"&gt;FullStack&lt;/a&gt;,pois, esta linguagem de programação está presente em todos os lugares, como no Back-End através de &lt;em&gt;NodeJS&lt;/em&gt; e no Front-End através de tecnologias como: &lt;em&gt;VueJS&lt;/em&gt;, &lt;em&gt;Angular&lt;/em&gt; e o famoso &lt;em&gt;ReactJS&lt;/em&gt;. E também não podemos nos esquecer de que com JavaScript é possível criar aplicativo multiplataforma (IOS e Android) utilizando &lt;em&gt;React Native&lt;/em&gt; e até mesmo trabalhar com Inteligência Artificial e Machine Learning com as tecnologias corretas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por onde começar. 🎯
&lt;/h2&gt;

&lt;p&gt;O JavaScript é uma linguagem focada no desenvolvimento para a &lt;strong&gt;WEB&lt;/strong&gt; e trabalha junto com tecnologias como &lt;em&gt;HTML&lt;/em&gt; e &lt;em&gt;CSS&lt;/em&gt;, por este motivo eu recomendo você estudar sobre &lt;em&gt;HTML&lt;/em&gt; e &lt;em&gt;CSS&lt;/em&gt; antes de estudar sobre JavaScript. Caso queira estudar essas tecnologias veja este &lt;a href="https://www.youtube.com/playlist?list=PLHz_AreHm4dlAnJ_jJtV29RFxnPHDuk9o"&gt;curso gratuito&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Agora acredito que agora você já tenha entendido os motivos para se aprender JavaScript, então vamos ao passo a passo de assuntos que você deve aprender:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;O que são variáveis e tipos de variáveis.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Operadores lógicos, operadores de comparação e operadores de atribuição.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manipulação da DOM (Document Object Model).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Operadores Condicionais.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Estruturas de repetições.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variáveis compostas (Array).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Funções.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Acredito que estudando os assuntos acima você terá uma boa base sobre JavaScript para desenvolver seus primeiros projetos.&lt;/p&gt;

&lt;h2&gt;
  
  
  O Segredo para o Sucesso. 🏆
&lt;/h2&gt;

&lt;p&gt;O segredo para aprender a programar é a &lt;strong&gt;prática&lt;/strong&gt;. Por isso, crie projetos, pratique com exercícios e leia sobre a tecnologia.&lt;/p&gt;

&lt;p&gt;Segue uma lista de sites para praticar exercícios em JavaScript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.hackerrank.com/"&gt;HackerRank&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.codewars.com/"&gt;Code Wars&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Caso você também goste de consumir videos sobre a tecnologia e programação segue a lista de alguns canais:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/user/BrazilJS"&gt;BrasilJS&lt;/a&gt; - conteúdo dedicado a apenas JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCU5JicSrEM5A63jkJ2QvGYw"&gt;Filipe Deschamps&lt;/a&gt; - conteúdo sobre tecnologia em geral.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/user/codigofontetv"&gt;Código Fonte TV&lt;/a&gt; - contéudo sobre tecnologia pra quem está começando e tem dúvidas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCyHOBY6IDZF9zOKJPou2Rgg"&gt;Lucas Montano&lt;/a&gt; - conteúdo sobre carreira, tecnologia e programação&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCEaM9-M1O8_CW3kGQBA0P4w"&gt;Nerdzão&lt;/a&gt; - canal da comunidade para a comunidade, trazendo assuntos diversificados sobre programação, tecnologia e carreira.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Espero que vocês tenham gostado e que vocês possam aprender a cada dia mais um pouco deste universo da programação.&lt;/p&gt;

&lt;p&gt;Nos vemos em breve em um próximo artigo.&lt;br&gt;
Gostaria de agradecer ao &lt;a href="https://dev.to/unversed"&gt;Gustavo&lt;/a&gt; pela revisão de texto.&lt;br&gt;
Abraços,&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
