<?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>Forem: Ronis</title>
    <description>The latest articles on Forem by Ronis (@x1).</description>
    <link>https://forem.com/x1</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%2F166329%2Fab874a20-2103-4d9e-8332-e15d731c1b3a.jpg</url>
      <title>Forem: Ronis</title>
      <link>https://forem.com/x1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/x1"/>
    <language>en</language>
    <item>
      <title>TypeScript: Dominando a Arte dos Tipos com Type e Interface</title>
      <dc:creator>Ronis</dc:creator>
      <pubDate>Mon, 06 Mar 2023 13:32:58 +0000</pubDate>
      <link>https://forem.com/x1/type-vs-interface-no-typescript-qual-a-melhor-opcao-l5d</link>
      <guid>https://forem.com/x1/type-vs-interface-no-typescript-qual-a-melhor-opcao-l5d</guid>
      <description>&lt;p&gt;O TypeScript tem conquistado cada vez mais espaço no desenvolvimento web, e seu trunfo é a capacidade de adicionar tipos ao JavaScript, elevando a segurança e confiabilidade do código. Mas, na hora de definir tipos, surge a dúvida: Type ou Interface? Neste post, vamos desvendar as nuances entre essas duas ferramentas e te ajudar a escolher a melhor para cada situação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Type e Interface: Dois Lados da Mesma Moeda?
&lt;/h2&gt;

&lt;p&gt;Tanto Type quanto Interface são mecanismos para definir tipos no TypeScript, mas cada um tem seu próprio nicho.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Brilha ao lidar com tipos primitivos (strings, números, booleanos) e tipos literais (valores específicos). Ele é como um canivete suíço, oferecendo flexibilidade para criar uniões, intersecções e outros tipos personalizados.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interface:&lt;/strong&gt; É a escolha ideal para modelar objetos e suas propriedades. Pense nela como um molde que define a estrutura de um objeto, garantindo que ele siga as regras estabelecidas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exemplos:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Type: Flexibilidade para tipos primitivos e literais&lt;/span&gt;
&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;CorPrimaria&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vermelho&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;azul&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;amarelo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;Ponto2D&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// Interface: Ideal para modelar objetos&lt;/span&gt;
&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;Usuario&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;nome&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;idade&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Característica&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Interface&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Herança&lt;/td&gt;
&lt;td&gt;Não suporta herança direta.&lt;/td&gt;
&lt;td&gt;Suporta herança múltipla (extensão de outras interfaces).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reutilização&lt;/td&gt;
&lt;td&gt;Mais limitado, ideal para tipos simples e específicos.&lt;/td&gt;
&lt;td&gt;Permite reutilização de código em diferentes partes do projeto.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extensibilidade&lt;/td&gt;
&lt;td&gt;Altamente extensível, permitindo uniões, intersecções e mais.&lt;/td&gt;
&lt;td&gt;Menos flexível, focada na definição da estrutura de objetos.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Qual a Melhor Escolha?
&lt;/h3&gt;

&lt;p&gt;A decisão entre Type e Interface depende do seu objetivo:&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Use para tipos primitivos, literais, uniões, intersecções e quando precisar de máxima flexibilidade na criação de tipos personalizados.&lt;br&gt;
&lt;strong&gt;Interface:&lt;/strong&gt; Use para modelar objetos, definir contratos para classes e quando precisar de herança múltipla.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resumo:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Type e Interface são ferramentas poderosas para garantir a tipagem segura no TypeScript. Dominar suas particularidades te permite escrever código mais robusto, legível e fácil de manter. Experimente, explore e descubra qual delas se encaixa melhor em cada situação do seu projeto!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dica Bônus:&lt;/strong&gt; A comunidade TypeScript tem uma leve preferência por Interfaces para definir objetos, mas a escolha final é sua. O importante é entender as diferenças e usar a ferramenta certa para cada tipo de dado.&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>type</category>
      <category>interface</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Como criar um blog com Jekyll no GitHub Pages?</title>
      <dc:creator>Ronis</dc:creator>
      <pubDate>Sun, 05 Mar 2023 20:39:34 +0000</pubDate>
      <link>https://forem.com/x1/como-criar-um-blog-com-jekyll-no-github-pages-2ale</link>
      <guid>https://forem.com/x1/como-criar-um-blog-com-jekyll-no-github-pages-2ale</guid>
      <description>&lt;p&gt;Criar um blog pode ser uma excelente maneira de compartilhar suas ideias e opiniões com o mundo. Além disso, ter um blog pode ajudá-lo a construir sua marca pessoal ou profissional e a se conectar com outras pessoas interessadas nos mesmos tópicos que você. Se você está procurando uma plataforma para criar seu blog, o Jekyll no GitHub Pages é uma ótima opção.&lt;/p&gt;

&lt;p&gt;O Jekyll é um gerador de sites estáticos que permite criar sites elegantes e fáceis de navegar, sem a necessidade de conhecimentos avançados de programação. O GitHub Pages é um serviço de hospedagem de sites gratuito oferecido pelo GitHub, que permite hospedar sites estáticos diretamente de um repositório no GitHub.&lt;/p&gt;

&lt;p&gt;Neste tutorial, você aprenderá como criar um blog com Jekyll no GitHub Pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uma conta do GitHub&lt;/li&gt;
&lt;li&gt;Conhecimentos básicos de Git&lt;/li&gt;
&lt;li&gt;Conhecimentos básicos de HTML e CSS (opcional)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Passo 1: Instale o Jekyll
&lt;/h2&gt;

&lt;p&gt;Antes de começar, é necessário instalar o Jekyll em sua máquina. Para isso, você precisa ter o Ruby instalado. Se você não tiver o Ruby instalado, siga as instruções de instalação no site oficial do Ruby (&lt;a href="https://www.ruby-lang.org/" rel="noopener noreferrer"&gt;https://www.ruby-lang.org/&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Depois de instalar o Ruby, abra o terminal e execute o seguinte comando para instalar o Jekyll:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gem &lt;span class="nb"&gt;install &lt;/span&gt;jekyll bundler
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Passo 2: Crie um novo repositório no GitHub
&lt;/h2&gt;

&lt;p&gt;Acesse sua conta do GitHub e crie um novo repositório com o nome do seu blog. Marque a opção "Initialize this repository with a README".&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo 3: Clone o repositório
&lt;/h2&gt;

&lt;p&gt;Abra o terminal e execute o seguinte comando para clonar o repositório recém-criado:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/seu-usuario/seu-repositorio.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Substitua &lt;code&gt;seu-usuario&lt;/code&gt; pelo seu nome de usuário no GitHub e &lt;code&gt;seu-repositorio&lt;/code&gt; pelo nome do repositório que você criou.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo 4: Adicione o tema do Jekyll
&lt;/h2&gt;

&lt;p&gt;O Jekyll tem vários temas prontos para usar. Você pode escolher um dos temas disponíveis no diretório oficial de temas do Jekyll ou pode criar seu próprio tema. Neste tutorial, vamos usar o tema "minima", que é um tema padrão do Jekyll.&lt;/p&gt;

&lt;p&gt;Execute o seguinte comando no terminal para adicionar o tema "minima" ao seu blog:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bundle &lt;span class="nb"&gt;exec &lt;/span&gt;jekyll new &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--force&lt;/span&gt; &lt;span class="nt"&gt;--minima&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Passo 5: Personalize o tema
&lt;/h2&gt;

&lt;p&gt;O tema "minima" vem com alguns arquivos padrão que você pode personalizar para personalizar o seu blog. Abra o arquivo &lt;code&gt;_config.yml&lt;/code&gt; na raiz do seu projeto e altere as configurações como o título do seu blog, a descrição e outras configurações.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo 6: Crie seu primeiro post
&lt;/h2&gt;

&lt;p&gt;Crie uma nova pasta chamada &lt;code&gt;_posts&lt;/code&gt; na raiz do seu projeto e crie um novo arquivo com o seguinte nome: &lt;code&gt;yyyy-mm-dd-nome-do-post.md&lt;/code&gt;. Substitua &lt;code&gt;yyyy-mm-dd&lt;/code&gt; pela data do post e &lt;code&gt;nome-do-post&lt;/code&gt; pelo nome que você deseja dar ao post.&lt;/p&gt;

&lt;p&gt;Abra o arquivo e adicione o conteúdo do seu post usando a sintaxe do Markdown. Aqui está um exemplo de como criar um post simples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;layout&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;post&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Meu&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;primeiro&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;post"&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="c1"&gt;# Bem-vindo ao meu blog&lt;/span&gt;

&lt;span class="s"&gt;Este é o meu primeiro post no blog criado com Jekyll e hospedado no GitHub Pages. Estou muito animado para começar a compartilhar minhas ideias e opiniões com vocês.&lt;/span&gt;

&lt;span class="s"&gt;Espero que vocês gostem e fiquem atentos para mais atualizações em breve!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo, o cabeçalho com o layout e o título do post é definido usando a sintaxe YAML. Em seguida, o conteúdo do post é adicionado usando a sintaxe do Markdown.&lt;/p&gt;

&lt;p&gt;Depois de criar o post, adicione-o à página inicial do seu blog editando o arquivo &lt;code&gt;index.html&lt;/code&gt; na pasta &lt;code&gt;_layouts&lt;/code&gt;. Adicione um link para o post na lista de posts recentes ou destaque o post como o mais recente.&lt;/p&gt;

&lt;p&gt;Com isso, você criou seu primeiro post e adicionou-o à página inicial do seu blog. Repita esses passos para adicionar mais posts ao seu blog.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo 7: Adicione suas páginas estáticas
&lt;/h2&gt;

&lt;p&gt;Se você deseja adicionar outras páginas estáticas ao seu blog, como uma página "Sobre" ou uma página de contato, crie uma nova pasta na raiz do seu projeto chamada &lt;code&gt;pages&lt;/code&gt;. Em seguida, crie um novo arquivo HTML dentro dessa pasta com o conteúdo da página.&lt;/p&gt;

&lt;p&gt;Depois de criar a página, adicione um link para ela no arquivo &lt;code&gt;nav.html&lt;/code&gt;, que está localizado na pasta &lt;code&gt;_includes&lt;/code&gt;. Isso adicionará o link da página ao menu de navegação do seu blog.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo 8: Teste seu blog localmente
&lt;/h2&gt;

&lt;p&gt;Antes de publicar seu blog no GitHub Pages, é uma boa ideia testá-lo localmente para garantir que tudo esteja funcionando corretamente. Para fazer isso, abra o terminal e navegue até a pasta do seu projeto. Em seguida, execute o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bundle &lt;span class="nb"&gt;exec &lt;/span&gt;jekyll serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando iniciará um servidor local em seu computador que pode ser acessado em seu navegador em &lt;code&gt;http://localhost:4000&lt;/code&gt;. Verifique se seu blog está aparecendo corretamente no navegador.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passo 9: Publique seu blog no GitHub Pages
&lt;/h2&gt;

&lt;p&gt;Agora que seu blog está funcionando corretamente localmente, é hora de publicá-lo no GitHub Pages. Para fazer isso, faça o push de todas as suas alterações para o repositório do GitHub usando o Git. Certifique-se de incluir todos os arquivos gerados pelo Jekyll, como o &lt;code&gt;_site&lt;/code&gt; e o &lt;code&gt;Gemfile.lock&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Depois de fazer o push das alterações, vá para as configurações do seu repositório no GitHub e role para baixo até a seção "GitHub Pages". Escolha o branch que contém seu site (normalmente é o branch &lt;code&gt;main&lt;/code&gt;) e clique em "Salvar".&lt;/p&gt;

&lt;p&gt;Depois que as configurações forem salvas, você poderá acessar seu blog em &lt;code&gt;http://seu-usuario.github.io/seu-repositorio&lt;/code&gt;. Verifique se seu blog está aparecendo corretamente no navegador, lembrando que pode demorar um pouco para isso acontecer.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Agora é hora de começar a escrever!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>jekyll</category>
      <category>githubpages</category>
      <category>blogging</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
