<?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: Matheus Dias Vieira</title>
    <description>The latest articles on DEV Community by Matheus Dias Vieira (@koalapvh13).</description>
    <link>https://dev.to/koalapvh13</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%2F223234%2Fac1e665b-f6a2-42d8-9714-794d104f26f7.jpeg</url>
      <title>DEV Community: Matheus Dias Vieira</title>
      <link>https://dev.to/koalapvh13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/koalapvh13"/>
    <language>en</language>
    <item>
      <title>Como Publicar seu Primeiro Package NPM</title>
      <dc:creator>Matheus Dias Vieira</dc:creator>
      <pubDate>Sun, 05 Apr 2020 22:24:43 +0000</pubDate>
      <link>https://dev.to/koalapvh13/como-publicar-seu-primeiro-package-npm-2jp0</link>
      <guid>https://dev.to/koalapvh13/como-publicar-seu-primeiro-package-npm-2jp0</guid>
      <description>&lt;p&gt;o &lt;strong&gt;npm&lt;/strong&gt; &lt;em&gt;(Node Package Manager)&lt;/em&gt; é o maior repositório de código do mundo. Desenvolvedores de todos os continentes utilizam esta plataforma para compartilhar seus pacotes e módulos javascript. Você já imaginou como seria usar o Node.js sem &lt;em&gt;Express&lt;/em&gt;, &lt;em&gt;Next.js&lt;/em&gt; ou &lt;em&gt;Mongoose&lt;/em&gt;? Difícil, né?😅😅&lt;/p&gt;

&lt;p&gt;Além de todas estas funcionalidades, o npm pode ser um grade aliado dos desenvolvedores JS iniciantes que desejam demonstrar seus conhecimentos e habilidades ao mesmo tempo em que ajuda a comunidade.&lt;/p&gt;

&lt;p&gt;Neste tutorial, mostrarei passo-a-passo como publicar seu primeiro package npm. Para este guia, assumo que você já possuí o Node.js/NPM instalados e conhece o básico de Javascript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Iniciando o Package
&lt;/h2&gt;

&lt;p&gt;Primeiramente, devemos criar uma pasta onde ficará armazenado todo código-fonte do nosso package. &lt;/p&gt;

&lt;p&gt;Usando sua ferramenta de linha de comando (CMD, Bash, etc.), navegue até o diretório criado anteriormente e digite o comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm init
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Responda as perguntas solicitadas e será gerado o &lt;em&gt;package.json&lt;/em&gt; da sua aplicação. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ATENÇÃO&lt;/strong&gt;: O npm não aceita que dois packages publicados possuam o mesmo nome, antes de dar um nome ao seu pacote &lt;a href="https://www.npmjs.com/"&gt;clique aqui&lt;/a&gt; e pesquise se o nome que você deseja não encontra-se em uso.&lt;/p&gt;

&lt;p&gt;Nome escolhido, abra o diretório no seu IDE/Editor de Texto favorito e vamos começar a criar a lógica do seu package.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/MGdfeiKtEiEPS/source.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/MGdfeiKtEiEPS/source.gif" alt="Homem digitando animado em um mac."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Programando o Package
&lt;/h2&gt;

&lt;p&gt;Para este exemplo, criarei um package que torna maiúscula a primeira letra de cada palavra em uma string.&lt;br&gt;
Dentro do diretório do projeto, crie um arquivo &lt;em&gt;index.js&lt;/em&gt; e cole o seguinte código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function capitalizeString(str){
    str = str.split(" ");

        for (var i = 0, x = str.length; i &amp;lt; x; i++) {
            str[i] = str[i][0].toUpperCase() + str[i].substr(1);
        }

        return str.join(" ");
}

module.exports = { capitalizeString }

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;O código acima é tudo que precisamos para resolver o problema proposto anteriormente, a função &lt;code&gt;capitalizeString()&lt;/code&gt; recebe uma string e retorna outra com as inciais de cada palavra em maiúscula.&lt;/p&gt;

&lt;p&gt;Outro arquivo necessário é o &lt;em&gt;Readme.md&lt;/em&gt;. Neste arquivo, escrito utilizando &lt;em&gt;markdow&lt;/em&gt;, devem ser colocados todos os dados de apresentação do seu pacote, uma breve descrição, exemplo de uso, informações adicionais relevantes, etc. O NPM utilizará este arquivo na página de apresentação do seu package online.&lt;/p&gt;

&lt;p&gt;Para este projeto usarei o seguinte &lt;em&gt;Readme.md&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Koala-String-Capitalize

NPM Package to Capitalize the First Letter of Each Word of a String. For educational Purposes.

## Instalation

 `` ` npm i koala-string-capitalize ` ``

## Usage

 `` `
 const ksc = require('koala-string-capitalize')

 console.log(ksc.capitalizeString("hello world!")) // "Hello World!"
 `` `
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Com esta parte pronta, já podemos realizar as ultimas configurações para publicar nosso pacote.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cadastrando-se no npmjs.com
&lt;/h2&gt;

&lt;p&gt;Para publicar seu pacote, é necessário possuir cadastro no &lt;a href="https://www.npmjs.com/"&gt;https://www.npmjs.com/&lt;/a&gt;. Registre-se, &lt;a href="https://www.npmjs.com/signup"&gt;clicando aqui&lt;/a&gt; e confirme sua conta pelo link que será enviado para o seu email.&lt;/p&gt;

&lt;h2&gt;
  
  
  Publicando o Package
&lt;/h2&gt;

&lt;p&gt;Após verificar sua conta, navegue na linha de comando até o diretório do seu projeto e digite &lt;code&gt;npm login&lt;/code&gt;. Serão solicitados o nome de usuário, senha e e-mail cadastrados no passo anterior.&lt;/p&gt;

&lt;p&gt;Finalmente, digite &lt;code&gt;npm publish&lt;/code&gt; e pronto.😅&lt;/p&gt;

&lt;p&gt;Se tudo der certo, você terá o seguinte retorno:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm publish
npm notice
npm notice package: koala-string-capitalize@1.0.0
npm notice === Tarball Contents ===
npm notice 1.1kB LICENSE
npm notice 245B  index.js
npm notice 643B  package.json
npm notice 327B  README.md
npm notice === Tarball Details ===
npm notice name:          koala-string-capitalize
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.3 kB
npm notice shasum:        a3e7a65aad3cd92b88d4b7281895883d033123e2
npm notice integrity:     sha512-G4zCTirrCMf3p[...]qfDrUIDc/asMw==
npm notice total files:   4
npm notice
+ koala-string-capitalize@1.0.0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Acesse sua conta no &lt;a href="https://www.npmjs.com/login"&gt;https://www.npmjs.com/&lt;/a&gt; e lá estará seu pacote público para programadores do mundo inteiro. &lt;/p&gt;

&lt;p&gt;Para ver a minha versão deste package, &lt;a href="https://www.npmjs.com/package/koala-string-capitalize"&gt;clique aqui&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Parabéns, você acaba de publicar seu primeiro pacote npm. Caso você tenha alguma dúvida ou comentário sobre o conteúdo acima, por favor, deixe nos comentários que estarei respondendo o mais breve possível.&lt;/p&gt;

&lt;p&gt;Obrigado e até a próxima! 🖖🖖✌✌&lt;/p&gt;

</description>
      <category>npm</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Lista de Materiais Gratuitos para aprender PHP MVC </title>
      <dc:creator>Matheus Dias Vieira</dc:creator>
      <pubDate>Sat, 21 Mar 2020 00:33:54 +0000</pubDate>
      <link>https://dev.to/koalapvh13/lista-de-materiais-gratuitos-para-aprender-php-mvc-4a2n</link>
      <guid>https://dev.to/koalapvh13/lista-de-materiais-gratuitos-para-aprender-php-mvc-4a2n</guid>
      <description>&lt;p&gt;Para os novatos no mundo da programação web, o padrão &lt;strong&gt;MVC&lt;/strong&gt; (Model-View-Controller) pode parecer um pouco complexo a princípio. &lt;/p&gt;

&lt;p&gt;Visando ajudar este problema, estarei disponibilizado uma lista de matérias que facilitaram o entendimento dos conceitos deste padrão utilizando a linguagem de programação mais popular da Web, o PHP.&lt;/p&gt;

&lt;p&gt;Por motivos de organização, os conteudos foram divididos em:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Leituras&lt;/li&gt;
&lt;li&gt;Tutoriais&lt;/li&gt;
&lt;li&gt;Tutoriais em vídeo&lt;/li&gt;
&lt;li&gt;Framework Laravel&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Leituras&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.devmedia.com.br/conceito-de-mvc-e-sua-funcionalidade-usando-o-php/22324"&gt;Conceito de MVC e sua funcionalidade usando o PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ultimatephp.com.br/mvc-php-orientado-a-objetos/"&gt;MVC: Uma Estrutura Básica Com PHP Orientado a Objetos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hostmidia.com.br/blog/framework-php/"&gt;Os 10 melhores frameworks PHP para desenvolvedores web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Tutoriais&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://medium.com/@jardelgoncalves1996/construindo-um-simples-framework-mvc-com-php-349e9cacbeb1"&gt;Construindo um simples framework MVC com PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webdevbr.com.br/mvc-e-php-entendendo-o-padrao-na-pratica-criando-um-framework-php"&gt;MVC e PHP - Entendendo o padrão MVC na prática&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alexandrebbarbosa.wordpress.com/2019/04/17/phpconstruir-um-sistema-de-rotas-para-mvc-primeira-parte/"&gt;PHP::Construir um sistema de Rotas para MVC – Primeira parte&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Tutoriais em vídeo&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLgbAYUnxJ2NE6eM2xkOlpqJ5sl37bLyKx"&gt;Série | Criando Site em PHP + MVC + CRUD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MfZrnQprZ2U"&gt;DESCOMPLICANDO MVC COM PHP DO JEITO CERTO | PHP TIPS #007&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Framework Laravel&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=D4NcDvJN4CY"&gt;Laravel Framework: introdução&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=sWI0o-KeVmc"&gt;[Laravel 6 Novidades ] - Finalizando com Prática, nosso Primeiro CRUD #laravel #php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ImtZ5yENzgE"&gt;Laravel PHP Framework Tutorial - Full Course for Beginners (2019)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>beginners</category>
      <category>ptbr</category>
    </item>
  </channel>
</rss>
