<?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: João Iacillo</title>
    <description>The latest articles on Forem by João Iacillo (@iachilo).</description>
    <link>https://forem.com/iachilo</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%2F1186789%2F7de89ea7-cf92-4edc-ba39-d62679027c50.png</url>
      <title>Forem: João Iacillo</title>
      <link>https://forem.com/iachilo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/iachilo"/>
    <language>en</language>
    <item>
      <title>Propriedade .length de funções e arrays</title>
      <dc:creator>João Iacillo</dc:creator>
      <pubDate>Sat, 12 Apr 2025 19:32:57 +0000</pubDate>
      <link>https://forem.com/iachilo/propriedade-length-de-funcoes-e-arrays-3eon</link>
      <guid>https://forem.com/iachilo/propriedade-length-de-funcoes-e-arrays-3eon</guid>
      <description>&lt;p&gt;Que o JavaScript é doido, maluco, até biruta da cabeça, todos nós sabemos. De uma linguagem que aponta como verdadeiro uma comparação que na teoria é a junção de duas outras comparações, sendo que as duas comparações isoladas apontam como falso a operação com os mesmos valores (&lt;code&gt;null &amp;gt;= 0&lt;/code&gt;, cof, cof.), nada pode se esperar.&lt;/p&gt;

&lt;p&gt;O motivo dessa minha escrita? O site &lt;a href="https://wtfjs.com/" rel="noopener noreferrer"&gt;WTFJS&lt;/a&gt;. Na data dessa postagem, mais especificamente de madrugada, estava navegando por ele, clicando em tópicos aleatórios e tentando entender os problemas. Até que me deparo com:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;//true&lt;/span&gt;
&lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="c1"&gt;//true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esse tópico certamente está se referindo a duas coisas completamente distintas: objetos e arrays. Apesar do nome da propriedade ser o mesmo, &lt;strong&gt;elas não representam a mesma coisa&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Object.create&lt;/code&gt; é responsável por criar uma cópia de um objeto utilizando outro como base. Na primeira linha está explícito que estamos criando uma cópia do construtor Array (que é uma função, guarde bem essa informação).&lt;/p&gt;

&lt;p&gt;Funções também trazem a propriedade &lt;code&gt;.length&lt;/code&gt;, mas que, diferente dos arrays, indica o número mínimo de argumentos que são esperados.&lt;/p&gt;

&lt;p&gt;Ou seja, a primeira linha não está criando um array, ela está clonando uma função. E segundo a documentação oficial do construtor do array, ela espera no mínimo um único argumento. Por isso &lt;code&gt;.length&lt;/code&gt; retorna 1.&lt;/p&gt;

&lt;p&gt;Na segunda linha estamos "buscando" as propriedades presentes no novo objeto, obtido através da clonagem do construtor do array. No entanto, ela não apresenta propriedades fora do seu protótipo. Então por que &lt;code&gt;.length&lt;/code&gt; retorna 0? Justamente por que &lt;code&gt;Object.keys&lt;/code&gt; retorna uma nova instância de array.&lt;/p&gt;

&lt;p&gt;Percebem a diferença? Primeiro obtemos a quantidade de parâmetros esperados pela função construtora de array, e depois obtemos a quantidade de propriedades (fora do protótipo) que aquele objeto tem. É por isso que retornam valores diferentes.&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Tornando as Metas de 2024 em Objetivos Realmente Alcançáveis</title>
      <dc:creator>João Iacillo</dc:creator>
      <pubDate>Thu, 04 Jan 2024 15:41:24 +0000</pubDate>
      <link>https://forem.com/iachilo/tornando-as-metas-de-2024-em-objetivos-realmente-alcancaveis-1487</link>
      <guid>https://forem.com/iachilo/tornando-as-metas-de-2024-em-objetivos-realmente-alcancaveis-1487</guid>
      <description>&lt;p&gt;Você faz metas para cada novo ano? Você realmente as conclui? A maioria das pessoas param no ponto final da lista, e não conseguem encontrar motivação para concretizar os itens. Este artigo irá falar sobre como metas anuais diferem de objetivos de curto prazo, e darei dicas de como as concluir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tabela de Conteúdos
&lt;/h2&gt;



&lt;ul&gt;
&lt;li&gt;Introdução&lt;/li&gt;
&lt;li&gt;Conheça o André&lt;/li&gt;
&lt;li&gt;O que são de fato as metas anuais?&lt;/li&gt;
&lt;li&gt;Unindo metas anuais a objetivos de curto prazo&lt;/li&gt;
&lt;li&gt;Jamais deixe para o final&lt;/li&gt;
&lt;li&gt;Conclusão&lt;/li&gt;
&lt;/ul&gt;






&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Eu também já estive neste posto, já tive metas que não foram colocadas em prática. Posso dizer que isso foi péssimo para mim, mas que também fez subir a duvida de se era possível realmente as alcançar.&lt;/p&gt;

&lt;p&gt;O meu principal problema era que eu adiava a realização das metas, e nem ao menos tinha um plano a seguir. É como atirar no escuro: você não vê, você não sente, você não planeja.&lt;/p&gt;

&lt;p&gt;É preciso tornar as metas em objetivos curtos que possam ser realizadas em um tempo menor, papo de meses, por exemplo. Isto ajuda na hora do planejamento e, principalmente, da ação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conheça o André
&lt;/h2&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%2Fm9mbw4ut5fjqr8tvumwh.jpg" class="article-body-image-wrapper"&gt;&lt;img alt="Imagem gerada por IA do André sentado em uma mesa marrom enquanto escreve em seu caderno" 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%2Fm9mbw4ut5fjqr8tvumwh.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;André é um universitário carismático, muito sonhador e sempre carrega consigo uma lista de tarefas para que possa se guiar pelo dia, e planejar a semana de antemão. Está sempre escrevendo em seu caderninho tudo o que precisa.&lt;/p&gt;

&lt;p&gt;No meio do ano, André revisitou a seção de metas anuais do seu caderninho e percebeu que apenas uma estava marcada como concluída:&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%2Fp4vkjvi5vt0w4q3uuptl.jpg" 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%2Fp4vkjvi5vt0w4q3uuptl.jpg" alt="Lista de metas de 2023 do André" width="600" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Diariamente André também fazia tarefas relacionadas a essas metas, mas por algum motivo, elas ainda pareciam tão distantes de serem realizadas. André então se perguntou se o problema era com ele, ou com a lista.&lt;/p&gt;

&lt;p&gt;Ele se lembrou de seus últimos meses, onde comia muito fast-food, mas também comidas saudáveis, Passeava com seu cachorro duas vezes por semana (as vezes apenas uma), e sempre que possível ele estudava o conteúdo da universidade.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Isto me faz mais saudável?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Será que passeei o suficiente com meu cachorro?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Será que estou apto a passar nas provas?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Todas essas foram perguntas feitas por André. Ele não sabia as responder pois não tinha uma forma concreta de saber se as alcançou ou não. Seria trapaça ele marcar que ficou mais saudável mesmo tendo comido altas quantidades de besteira?&lt;/p&gt;

&lt;h2&gt;
  
  
  O que são de fato as metas anuais?
&lt;/h2&gt;

&lt;p&gt;Está certo que muitos de nós queremos emagrecer até o final do ano, ou até mesmo tirar 10 em uma prova. O problema disso é que estas metas são muito vagas quanto se diz respeito a nós.&lt;/p&gt;

&lt;p&gt;Metas anuais por definição são objetivos que queremos alcançar até o próximo ano, e isso está certo, mas se tratarmos apenas como meros objetivos para se concluir algo, não temos a motivação necessária pois o resultado dela não irá refletir sobre nossa personalidade.&lt;/p&gt;

&lt;p&gt;É preciso pensar como uma criança e revisitar a tão famosa pergunta &lt;code&gt;"O que você quer ser quando crescer?"&lt;/code&gt;, mas nesse caso como somos mais velhos, a pergunta deve ser &lt;code&gt;"O que querermos nos tornar esse ano?"&lt;/code&gt;. Apelar para a imaginação é uma das melhores formas de se criar metas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unindo metas anuais a objetivos de curto prazo
&lt;/h2&gt;

&lt;p&gt;A meta anual do André de ser saudável, por exemplo, mostra que ele quer aprimorar sua própria personalidade, e ter uma vida com mais energia e exercícios. Isto pode ser visto também nas metas sobre comer menos fast-food e passear mais com o cachorro.&lt;/p&gt;

&lt;p&gt;No entanto, tirando a sobre ser saudável, essas metas soam mais como objetivos de curto prazo que podem ser colocadas em uma lista mensal, e que se comunicam diretamente com a meta anual.&lt;/p&gt;

&lt;p&gt;Adicionar uma forma de medir nossas metas nos permite que saibamos quando estamos longe ou perto de concluí-las. Isto na verdade é uma das partes cruciais das metas SMART, e faz sentido.&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%2Fzpm7rh7qnjgq4wyjc4xa.jpg" 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%2Fzpm7rh7qnjgq4wyjc4xa.jpg" alt="Metas anuais e objetivos de Julho do André" width="600" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Com as modificações no caderninho que o André fez, é possível que ele mantenha um registro do seu progresso a cada mês. Além disso, ele também atribuiu métricas aos objetivos de Julho, o que ajuda a saber se as concluiu também. Caso contrário, ele cairia no mesmo erro.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jamais deixe para o final
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/26n6xBpxNXExDfuKc/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/26n6xBpxNXExDfuKc/giphy.gif" width="480" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O trabalho se expande de modo a preencher o tempo disponível para a sua realização. Quanto mais tempo, mais importante e exigente o trabalho parece.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parkinsons Law: Or The Pursuit Of Progress&lt;/strong&gt;. &lt;em&gt;Cyril Northcote Parkinson&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Lembro que ouvi a citação acima durante o meu ensino médio, e devo dizer que ela foi uma das frases que mais me ajudou a realizar minhas tarefas.&lt;/p&gt;

&lt;p&gt;Pode parecer bobeira, mas quanto mais tempo tivermos, mais estamos dispostos a procrastinar a realização da tarefa. Sempre deixamos para o final, é natural do ser humano, queremos economizar energia.&lt;/p&gt;

&lt;p&gt;É necessário encontrar um equilíbrio durante a definição do prazo final: nem muito pouco para não se frustrar, nem muito para não procrastinar. Normalmente quando escrevo meus artigos, defino um tempo limite de 4 dias para poder publicá-lo até o final da semana sempre.&lt;/p&gt;

&lt;p&gt;Vamos ver como nosso amigo André pode se beneficiar disso para as aulas da universidade:&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%2Fb8nbfl169bixjaqkjzwg.jpg" 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%2Fb8nbfl169bixjaqkjzwg.jpg" alt="Metas anuais e objetivos de Julho para universidade de André" width="600" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para o curso do André, é necessário que ele escreva redações para poder praticar a escrita, ao mesmo tempo que organiza suas ideias. Por isso, ele definiu uma redação por semana para ser realizada em até 5 dias.&lt;/p&gt;

&lt;p&gt;Dessa forma, o homem pode escrever pouco durante os 5 dias e aprimorar suas habilidades. Isto não irá deixá-lo frustrado, nem ao menos irá procrastinar para deixar até o final do mês.&lt;/p&gt;

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

&lt;p&gt;Nem sempre é fácil atingir uma meta, e você precisa estar disposto a faze-la. É por isso que é tão importante utilizar usa personalidade como ponto de motivação.&lt;/p&gt;

&lt;p&gt;Mesmo estando na primeira semana de janeiro, ainda é possível fazer metas para 2024. Veja pelo exemplo do André, ele refez as metas na metade do ano, prestes a chegar Julho. Você pode começar com um caderno, ou com o bloco de notas do seu computador.&lt;/p&gt;

&lt;p&gt;Eai? Bora realizar essas metas?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/VFDeGtRSHswfe/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/VFDeGtRSHswfe/giphy.gif" width="500" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Como criar prompts melhores para o ChatGPT</title>
      <dc:creator>João Iacillo</dc:creator>
      <pubDate>Thu, 21 Dec 2023 00:44:40 +0000</pubDate>
      <link>https://forem.com/iachilo/aprimorando-as-respostas-do-chatgpt-com-prompts-estrategicos-p7d</link>
      <guid>https://forem.com/iachilo/aprimorando-as-respostas-do-chatgpt-com-prompts-estrategicos-p7d</guid>
      <description>&lt;p&gt;O ChatGPT pode ser relativamente novo, mas é considerado uma ferramenta poderosa por entender tão bem a linguagem humana. Neste artigo irei explicar o fundamento desta IA (os prompts), bem como apresentar dicas de como a utilizar de uma melhor forma.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tabela de Conteúdos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;O que será aprendido com esse artigo?&lt;/li&gt;
&lt;li&gt;Introdução&lt;/li&gt;
&lt;li&gt;Entendendo os prompts&lt;/li&gt;
&lt;li&gt;A comunicação direta sempre é a chave&lt;/li&gt;
&lt;li&gt;O formato de saída também importa&lt;/li&gt;
&lt;li&gt;Inclua exemplos sempre que possível&lt;/li&gt;
&lt;li&gt;Conclusão&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Faz apenas 1 ano desde que o ChatGPT foi liberado ao público, e ele ainda não sai da boca do povo por um simples motivo: ele é bom demais pra ser verdade.&lt;/p&gt;

&lt;p&gt;Me lembro bem da época quando descobri sobre a IA através de um artigo online, e eu, sendo curioso como sempre, criei uma conta na OpenAI para a testar. Não surpreendentemente me encantei com o que ela era capaz de me retornar, mesmo usando palavras tão simples e vagas.&lt;/p&gt;

&lt;p&gt;Era relativamente algo novo e mágico ver aqueles parágrafos enormes sendo construídos em tempo real pelo computador, e de uma forma tão simples de entender. Porém com o tempo esses tipos de respostas se tornaram entediantes e não muito efetivas, e por isso decidi ir atrás de como melhorar meus &lt;em&gt;prompts&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/fhAwk4DnqNgw8/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/fhAwk4DnqNgw8/giphy.gif" width="245" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Entendendo os prompts
&lt;/h2&gt;

&lt;p&gt;O &lt;em&gt;prompt&lt;/em&gt; é o espaço onde você define &lt;strong&gt;o que&lt;/strong&gt; será processado pela inteligência artificial. Ele pode conter desde frases curtas e facilmente entendidas por humanos (&lt;code&gt;"Eu estou com dúvida nisso, preciso de ajuda no tópico X."&lt;/code&gt;), até instruções mais bem elaboradas (&lt;code&gt;Atue como um tradutor especializado em dialétos antigos chineses. Traduza...&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;É esse espaço onde a IA recorre para obter as informações necessárias. Quanto mais contexto, e mais direto, melhor será para a IA construir uma resposta decente. Modelos mais avançados conseguem obter mais informações de um &lt;em&gt;prompt&lt;/em&gt; e trabalhar melhor na resposta.&lt;/p&gt;

&lt;p&gt;Assim como qualquer bom projeto, o &lt;em&gt;prompt&lt;/em&gt; deve contar uma história. É interessante incluir o &lt;em&gt;onde&lt;/em&gt;, &lt;em&gt;quando&lt;/em&gt;, &lt;em&gt;quem&lt;/em&gt;, &lt;em&gt;o que&lt;/em&gt;, &lt;em&gt;por que&lt;/em&gt;, &lt;em&gt;como&lt;/em&gt;, etc. Utilizar boa parte dessas perguntas são uma das formas mais apropriadas de se escrever um &lt;em&gt;prompt&lt;/em&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Eu quero que você aja como um terminal Linux. Eu vou digitar comandos e você deve responder com o que o terminal mostraria. Eu quero que você escreva apenas o output do terminal dentro de um único bloco de código, e nada mais. Não escreva explicações. Não digite comandos a menos que eu a instrua a fazer. Quando eu precisar falar algo em Inglês, irei colocar o texto dentro de chaves {tipo assim}. Meu primeiro comando é pwd&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tradução do &lt;a href="https://www.engraved.blog/building-a-virtual-machine-inside/" rel="noopener noreferrer"&gt;prompt&lt;/a&gt; original criado por &lt;a href="https://github.com/f" rel="noopener noreferrer"&gt;Fatih Kadir Akın&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O &lt;em&gt;prompt&lt;/em&gt; acima instrui a IA a operar como um terminal Linux. Bem legal, né? Você pode inserir ele agora no ChatGPT e ele deve funcionar normalmente. Nele estão inclusos alguns dos elementos mais importantes de se ter em um &lt;em&gt;prompt&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instruindo a IA a atuar como algo;&lt;/li&gt;
&lt;li&gt;Especificando de antemão o que será feito para uma sequência longa de interações;&lt;/li&gt;
&lt;li&gt;Reduzindo o escopo de possibilidades de resposta;&lt;/li&gt;
&lt;li&gt;Declarando o formato de saída da resposta;&lt;/li&gt;
&lt;li&gt;Impedindo determinadas ações padrões da IA;&lt;/li&gt;
&lt;li&gt;Criando uma forma alternativa de comunicação em linguagem natural;&lt;/li&gt;
&lt;li&gt;Declarando a primeira ação da sequência a ser realizada.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um &lt;em&gt;prompt&lt;/em&gt; grande, e diria até que intimidador, mas ele contêm muito do que é necessário para a IA entender o recado, além de que usa uma linguagem mais humana onde expressa vontades (&lt;code&gt;"Eu quero que você"&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Espere começar a criar prompts nesse nível para tarefas mais complexas do seu dia a dia.&lt;/p&gt;

&lt;h2&gt;
  
  
  A comunicação direta sempre é a chave
&lt;/h2&gt;

&lt;p&gt;O ChatGPT não é uma pessoa, ele é uma máquina. E portanto ele não tem sentimentos ou necessidades de formalidade durante a sua "conversa". Seja sempre direto no &lt;em&gt;prompt&lt;/em&gt;, utilizando um único verbo por sentença e usando palavras que substituam longas frases.&lt;/p&gt;

&lt;p&gt;Verbos como &lt;code&gt;Aja&lt;/code&gt;, &lt;code&gt;Atue&lt;/code&gt;, &lt;code&gt;Escreva&lt;/code&gt;, &lt;code&gt;Liste&lt;/code&gt;, &lt;code&gt;Examine&lt;/code&gt;, &lt;code&gt;Reduza&lt;/code&gt;, &lt;code&gt;Resuma&lt;/code&gt;, entre muitos outros, são essenciais no começo de cada sentença. Eles irão ditar &lt;strong&gt;o que&lt;/strong&gt; se quer feito. Se você pedir para que ele aja como X, ele não irá agir como Y. Isto é bom para reduzir o escopo de possibilidades de respostas e obter o que você está procurando.&lt;/p&gt;

&lt;p&gt;Tente sempre atribuir um objetivo a um &lt;em&gt;prompt&lt;/em&gt;, seja por tarefas quanto pelo próprio verbo. Ele irá ajudar a IA a estabelecer o contexto que você quer. Por exemplo, enviar &lt;code&gt;"Estou precisando de ajuda em matemática, não sei calcular."&lt;/code&gt; para a IA é algo muito genérico, e tudo o que ela poderá lhe proporcionar é uma mensagem pedindo para que especifique o problema, ou uma lista de soluções comuns para "aprender a calcular".&lt;/p&gt;

&lt;p&gt;Supondo que o seu problema de matemática seja cálculos utilizando produtos notáveis, e o que você precisa é uma lista desses produtos, você pode especificar essa informação para o ChatGPT de uma forma muito mais direta:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Atue como um professor de matemática do ensino fundamental, sua tarefa é me ajudar a entender produtos notáveis. Liste quais os são produtos notáveis, e então escreva 3 exemplos de exercícios envolvendo produtos notáveis.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  O formato de saída também importa
&lt;/h2&gt;

&lt;p&gt;É normal deixarmos a cargo do próprio ChatGPT a escolha do formato de saída, que normalmente é em parágrafos. No entanto, podemos (e devemos sempre que necessário) especificar &lt;strong&gt;como&lt;/strong&gt; queremos que a resposta venha, seja em lista, ou em palavras únicas, com a presença ou não de argumentos e explicações extras, e por aí vai.&lt;/p&gt;

&lt;p&gt;Esse formato pode ser definido através do verbo utilizado (&lt;code&gt;Liste&lt;/code&gt; irá resultar em uma lista de pontos ou números, enquanto &lt;code&gt;Resuma&lt;/code&gt; irá resultar em parágrafos), ou então de uma sentença própria, como em `"Formate como uma lista".&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%2Fp1lmoprs42tkqkb1h0l3.png" 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%2Fp1lmoprs42tkqkb1h0l3.png" alt="prompt no ChatGPT para listar as 5 principais funções do kernel Linux" width="523" height="321"&gt;&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%2Fo3ok48ykax3tomkb4yl4.png" 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%2Fo3ok48ykax3tomkb4yl4.png" alt="prompt no ChatGPT para resumir o kernel Linux em um parágrafo curto" width="692" height="411"&gt;&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%2F1qunjaf3wpln4tcgkplv.png" 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%2F1qunjaf3wpln4tcgkplv.png" alt="prompt no ChatGPT para resumir as 5 principais funções do kernel Linux, formatados como lista" width="657" height="649"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cada um dos prompts acima foi inserido em chats separados, e portanto nenhum deles teve contato com as outras informações escritas. Como o ChatGPT é um modelo treinado em dados estáticos, é comum que as informações se repitam com tópicos parecidos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inclua exemplos sempre que possível
&lt;/h2&gt;

&lt;p&gt;É interessante incluir exemplos em seu &lt;em&gt;prompt&lt;/em&gt; para que a IA tenha mais informações para se basear. Com eles ela poderá moldar a resposta a um formato mais apropriado segundo seus exemplos, ou pode inclusive criar informações hipotéticas a partir do que você insere no &lt;em&gt;prompt&lt;/em&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Eu quero que você atue como um livro de auto-ajuda. Você deve me providenciar sugestões e dicas em como melhorar em áreas específicas da minha vida, como relacionamento, desenvolvimento de carreira ou planejamento financeiro. &lt;strong&gt;Por exemplo, se eu estou em um relacionamento complicado com outra pessoa, você poderia sugerir técnicas de comunicação úteis que podem nos aproximar.&lt;/strong&gt; Meu primeiro pedido é "Eu preciso de ajuda para ficar motivado durante tempos difíceis".&lt;/p&gt;

&lt;p&gt;Tradução do &lt;a href="https://github.com/f/awesome-chatgpt-prompts#act-as-a-self-help-book" rel="noopener noreferrer"&gt;prompt&lt;/a&gt; original criado por &lt;a href="https://github.com/devisasari" rel="noopener noreferrer"&gt;devisasari&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O exemplo acima é voltado para a temática de relacionamento, e ela induz à inteligência artificial a levar em consideração o "nós" e não apenas o "eu". Apesar de ser um exemplo, a IA com certeza irá o implementar em alguma resposta caso venha a calhar no futuro. O que é uma atitude bem comum.&lt;/p&gt;

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

&lt;p&gt;Não existe uma fórmula mágica para um &lt;em&gt;prompt&lt;/em&gt; perfeito, e nem sempre o problema estará com o que você escreveu, mas sim algum &lt;em&gt;bug&lt;/em&gt; ou alguma &lt;em&gt;falha de interpretação&lt;/em&gt; pela própria IA. O que é importante é sempre testar novas alternativas e ir atrás de &lt;em&gt;prompts&lt;/em&gt; já criados pela comunidade.&lt;/p&gt;

&lt;p&gt;Eu recomendo este repositório (&lt;a href="https://github.com/f/awesome-chatgpt-prompts" rel="noopener noreferrer"&gt;@f/awesome-chatgpt-prompts&lt;/a&gt;) do GitHub, nele há muitos &lt;em&gt;prompts&lt;/em&gt; bons pré-prontos. Basta encarar a aventura e explorar ele.&lt;/p&gt;

&lt;p&gt;Mas lembre-se, o aspecto mais importante é ser direto com a IA. Usando verbos específicos e reduzindo o tamanho das frases irá facilitar muito. Não se esqueça disso.&lt;/p&gt;

&lt;p&gt;Agora abra o ChatGPT e vá testar uns &lt;em&gt;prompts&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/fWgQH01z4rjwrZckyM/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/fWgQH01z4rjwrZckyM/giphy.gif" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>tips</category>
    </item>
    <item>
      <title>Criando um Zettelkasten para organizar suas ideias</title>
      <dc:creator>João Iacillo</dc:creator>
      <pubDate>Wed, 06 Dec 2023 14:56:02 +0000</pubDate>
      <link>https://forem.com/iachilo/criando-um-zettelkasten-para-organizar-suas-ideias-46fk</link>
      <guid>https://forem.com/iachilo/criando-um-zettelkasten-para-organizar-suas-ideias-46fk</guid>
      <description>&lt;p&gt;Todos sabemos que hoje em dia estamos rodeados por uma imensa carga de informações. O problema disso? Nosso cérebro ainda não é capaz de armazenar tudo o que vemos diariamente, e isto pode levar a perda de ideias cruciais e criativas. Então, como podemos resolver isso? O &lt;em&gt;Zettelkasten&lt;/em&gt; trás uma solução.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tabela de Conteúdos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introdução&lt;/li&gt;
&lt;li&gt;O que esperar deste artigo?&lt;/li&gt;
&lt;li&gt;Apresentando o sistema Zettelkasten&lt;/li&gt;
&lt;li&gt;A origem do sistema caótico e organizado&lt;/li&gt;
&lt;li&gt;Guardando ideias em notas atômicas&lt;/li&gt;
&lt;li&gt;Tornando as notas identificáveis&lt;/li&gt;
&lt;li&gt;
Estabelecendo conexões entre as notas

&lt;ul&gt;
&lt;li&gt;Conectando notas com parágrafos de suporte&lt;/li&gt;
&lt;li&gt;Conectando notas com tabelas de conteúdo&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

Comece agora a fazer o seu guia!

&lt;ul&gt;
&lt;li&gt;1. Anote tudo, tudo, tudo!&lt;/li&gt;
&lt;li&gt;2. Identifique possíveis conexões e anote&lt;/li&gt;
&lt;li&gt;3. Crie notas para cada conexão importante&lt;/li&gt;
&lt;li&gt;4. Pause, e continue amanhã!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Utilizando softwares para auxiliar no processo&lt;/li&gt;

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

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Como eu mencionei acima, vivemos em um mundo onde somos bombardeados constantemente pela enorme diversidade de conteúdos, que muitas das vezes não trazem vantagens para nossas vidas.&lt;/p&gt;

&lt;p&gt;Por sorte, nossos cérebros têm a fantástica capacidade de &lt;strong&gt;esquecer&lt;/strong&gt; para não lidar com esse excesso. Porém, é preciso fazer um certo esforço para que nossos "computadores biológicos" de fato guardem as informações mais importantes. E sejamos sinceros, é um sufoco.&lt;/p&gt;

&lt;p&gt;É muito improvável que nós lembremos de tudo o que queremos ou julgamos importante; o cérebro simplesmente não funciona dessa forma. Por isso, precisamos &lt;strong&gt;escrever&lt;/strong&gt; e &lt;strong&gt;guardar&lt;/strong&gt; nossas ideias para que possamos acessá-las no futuro. E é nisso que o &lt;em&gt;Zettelkasten&lt;/em&gt; pode dar uma mãozinha.&lt;/p&gt;

&lt;p&gt;Quer saber como? Chega mais.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/SwImQhtiNA7io/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/SwImQhtiNA7io/giphy.gif" width="480" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que esperar deste artigo?
&lt;/h2&gt;

&lt;p&gt;Antes de introduzir ao &lt;em&gt;Zettelksten&lt;/em&gt;, gostaria de deixar claro que ainda estou aprendendo. O problema é que é muito difícil encontrar bons recursos em Português relacionados a este assunto, e essa é minha motivação para escrever este artigo.&lt;/p&gt;

&lt;p&gt;Diferentemente dos outros artigos e vídeos, não estou aqui para definir esse &lt;strong&gt;sistema&lt;/strong&gt; como algo fixo e de estrutura única apenas. &lt;strong&gt;Cada pessoa é única&lt;/strong&gt;, e portanto cada &lt;em&gt;Zettelkasten&lt;/em&gt; é unico. O importante é explorar o que funciona mais para você.&lt;/p&gt;

&lt;p&gt;Neste artigo irei sim apresentar o meu sistema e explicarei sobre &lt;strong&gt;como&lt;/strong&gt; eu cheguei nessa solução, porém não recomendo que copiem minha estrutura, já que ela funciona para &lt;strong&gt;mim&lt;/strong&gt; e pode &lt;strong&gt;não funcionar para você.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Apresentando o sistema Zettelkasten
&lt;/h2&gt;

&lt;p&gt;O &lt;em&gt;Zettelkasten&lt;/em&gt; é composto por várias partes fundamentais que juntas formam uma grande teia de anotações que se referem umas as outras: notas, tags, referências, clusters, etc.&lt;/p&gt;

&lt;p&gt;Imagine ele como uma grande caixa que guarda um monte de notas, desde receitas de cozinha, até fórmulas matemáticas complexas ou snippets de código úteis para o futuro.&lt;/p&gt;

&lt;p&gt;A principal habilidade que vêm ao manusear um &lt;em&gt;Zettelkasten&lt;/em&gt; próprio é justamente a capacidade de entender &lt;strong&gt;o mínimo&lt;/strong&gt; que você precisa, e como aplicar para que suas notas trabalhem para você, e não contra você. &lt;strong&gt;Quanto menos você tiver, mais você ganha.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A origem do sistema caótico e organizado
&lt;/h2&gt;

&lt;p&gt;O sistema foi criado por Niklas Luhmann, um sociologista alemão que mantinha em seu escritório uma caixa física cheia de notas retangulares que continham suas ideias e estudos.&lt;/p&gt;

&lt;p&gt;Não se assuste, você não irá precisar comprar uma caixa com gavetas e fazer o processo à mão. Existem programas e aplicativos que simulam essa experiência e trazem um ambiente muito mais amigável do que o método físico.&lt;/p&gt;

&lt;p&gt;Niklas usava o seu &lt;em&gt;Zettelkasten&lt;/em&gt; para retomar ideias e escrever seus artigos, totalizando mais de 600 publicados e deixando mais de 100 não finalizados após sua morte.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Niklas Luhmann era um cientista social altamente produtivo. Ele publicou 50 livros e mais de 600 artigos. Ele não conquistou isso sozinho. Ele tinha uma companhia bastante interessante.&lt;/p&gt;

&lt;p&gt;Também há mais de 150 manuscritos inacabados deixados em sua propriedade. Pelo menos um deles é um texto de 1000 páginas. Então sua produtividade ultrapassou até mesmo seu já surpreendente corpo de trabalho publicado."&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Trecho traduzido do artigo &lt;a href="https://zettelkasten.de/introduction/#a-zettelkasten-is-a-personal-tool-for-thinking-and-writing" rel="noopener noreferrer"&gt;&lt;strong&gt;Introduction to the Zettelkasten Method&lt;/strong&gt;&lt;/a&gt;, escrito por Sascha.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Apesar de suas notas serem guardadas dentro de várias gavetas, que a princípio não parecem organizadas, Luhmann atribuía números identificadores a cada nota. Esses números permitiam ao cientista poder referenciar notas em outras notas, e portanto criar uma teia mental de anotações e ideias.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/yNs2a0jRkYxy6191B2/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/yNs2a0jRkYxy6191B2/giphy.gif" width="500" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Guardando ideias em notas atômicas
&lt;/h2&gt;

&lt;p&gt;A base para todo o sistema são as notas atômicas. Mas o que raios é isso? Elas são documentos que tem o principal objetivo de apresentar uma &lt;strong&gt;única&lt;/strong&gt; ideia. É a partir daqui que o &lt;em&gt;Zettelkasten&lt;/em&gt; encontra sua fonte primária para introduzir a conexão entre notas.&lt;/p&gt;

&lt;p&gt;Quando focamos uma ideia por nota, abrimos espaço para poder relacionar diferentes áreas da nossa vida. De vez em quando, ao revisar a sua teia de notas, você verá que assuntos que você via ontem como completamente distintos podem ser relacionados.&lt;/p&gt;

&lt;p&gt;Por única ideia, não me refiro a um único parágrafo ou um único tópico de lista, mas sim a ideia principal por trás de um pensamento ou fato lido. Estamos sempre tendo ideias e pensamentos, assim como sempre lemos algo novo todos os dias. Ao praticar identificar o tópico principal de uma parte do texto ou do pensamento, poderemos atomizar e criar diversas notas.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Pandas é uma biblioteca que estende o Python&lt;/span&gt;

Apesar de ser uma biblioteca, ela é muito importante para quem
trabalha em um setor que envolve a manipulação e o estudo de
dados.

Ela trás uma abordagem amigável, porém poderosa, que automatiza
diversas tarefas de leitura, estruturação, inclusão, exclusão e
atualização de dados em diversos formatos existentes.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este texto acima é uma nota real do meu próprio &lt;em&gt;Zettelkasten&lt;/em&gt;. Ela apresenta 2 parágrafos, porém a ideia principal é explicar o &lt;strong&gt;porquê&lt;/strong&gt; do Pandas estender a linguagem Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tornando as notas identificáveis
&lt;/h2&gt;

&lt;p&gt;Como parte crucial do sistema &lt;em&gt;Zettelkasten&lt;/em&gt;, todas as notas devem ser identificáveis atravéis de algum número ou texto. As formas mais comuns, que eu encontrei, foram utilizando o título do arquivo, ou usando um &lt;em&gt;timestamp&lt;/em&gt; (que é o que eu uso).&lt;/p&gt;

&lt;p&gt;Por exemplo, no meu sistema eu utilizo um &lt;em&gt;timestamp&lt;/em&gt; com o seguinte formato: &lt;code&gt;'N'YYYYMMDDHHmm&lt;/code&gt;, isto é: &lt;code&gt;'N' + ano + mês + dia + hora + minuto&lt;/code&gt;. Esses números são gerados automaticamente pelo &lt;em&gt;Obsidian&lt;/em&gt;, software que uso, e não recomendo que fique os escrevendo manualmente. É uma tarefa tediosa e não muito útil.&lt;/p&gt;

&lt;p&gt;A vantagem de utilizar um identificador é justamente que a nota poderá facilmente ser mencionada em outras notas. A conexão entre notas permite relacionar notas distintas, e isto será o próximo tópico deste artigo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/SV5k9Ulnk9LdgYnjbe/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/SV5k9Ulnk9LdgYnjbe/giphy.gif" width="480" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Estabelecendo conexões entre as notas
&lt;/h2&gt;

&lt;p&gt;As conexões são simples &lt;em&gt;links&lt;/em&gt; presentes nas notas que ligam uma nota &lt;code&gt;A&lt;/code&gt; com notas &lt;code&gt;B&lt;/code&gt;, &lt;code&gt;C&lt;/code&gt;, e por aí vai. Isto é variável de sistema para sistema, mas a forma mais básica de criar uma, é simplesmente inserir o identificador da nota a ser referenciada no conteúdo da nota atual.&lt;/p&gt;

&lt;p&gt;Como você conecta notas, é aberto a sua escolha. No meu &lt;em&gt;Zettelkasten&lt;/em&gt;, utilizo a tática de &lt;strong&gt;parágrafo de suporte&lt;/strong&gt; (um parágrafo que contextualiza a conexão) e &lt;strong&gt;tabela de contéudos&lt;/strong&gt; (como em um livro ou artigo).&lt;/p&gt;

&lt;h3&gt;
  
  
  Conectando notas com parágrafos de suporte
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Atualizando uma nota no Zettelkasten&lt;/span&gt;

Uma informação contida em uma nota nem sempre irá manter sua
versão original. As ideias &lt;span class="gs"&gt;**são e devem sempre ser revisadas**&lt;/span&gt;
pois as conexões neurais sempre mudam.

A atualização deve ser feita de forma controlada, ao ponto de não
quebrar os &lt;span class="gs"&gt;**parágrafos de suporte**&lt;/span&gt; em suas notas conectadas.
Caso isso aconteça, a nota irá perder o seu valor, e isso pode
trazer uma ruptura de ideias (N202311171816).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;A nota acima foi tomada do meu Obsidian, e adaptada para ficar mais legível para o artigo.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;O segundo parágrafo, como podem ver, possui um identificador para uma outra nota. Essa nota referenciada se aprofunda mais no conteúdo sobre &lt;strong&gt;ruptura de ideias&lt;/strong&gt; explorado no parágrafo. Portanto, ele é um &lt;strong&gt;parágrafo de suporte&lt;/strong&gt; para contextualizar e conectar as duas notas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conectando notas com tabelas de conteúdo
&lt;/h3&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%2Ffhv3nyisrjnbi38hf0bs.png" 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%2Ffhv3nyisrjnbi38hf0bs.png" alt="nota sobre zettelkasten no obsidian usando uma tabela de contéudo" width="704" height="777"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A nota acima é um trabalho em progresso meu onde eu construo um guia para me guiar no meu sistema (e inclusive isto será abordado mais a frente no artigo). Eu utilizo termos e estruturas que eu estou criando para poder manter uma consistência e uma organização, &lt;strong&gt;jamais um completo caos&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A tabela de conteúdos pode ser simples, como um mero:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;-&lt;/span&gt; Título da nota: (N202311171731)
&lt;span class="p"&gt;-&lt;/span&gt; Título da nota 2: (N202311171727)
&lt;span class="p"&gt;-&lt;/span&gt; ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O importante é conectar de forma genérica duas ou mais notas. Aqui, nenhum contexto está sendo dado, elas apenas estão relacionadas, e pronto. Com ela você pode criar &lt;strong&gt;clusters&lt;/strong&gt; (notas que agrupam outras notas para organização).&lt;/p&gt;

&lt;p&gt;Quanto à nomenclatura de um &lt;em&gt;cluster&lt;/em&gt;, isto é bem subjetivo. Existem pessoas que utilizam uma sentença como título, ou eu, que uso apenas a palavra ou a expressão mesmo, assim como mostrei na imagem acima.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comece agora a fazer o seu guia!
&lt;/h2&gt;

&lt;p&gt;Nada melhor do que exercitar a mente e utilizar um sistema completamente novo, sem saber absolutamente nada. Nesta etapa, o seu objetivo é... &lt;strong&gt;experimentar qualquer coisa!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Um dos mantras do &lt;em&gt;Zettelkasten&lt;/em&gt;, assim como eu disse no começo desse artigo, é que todo sistema é único. Portanto, você só irá saber o que funciona para você se você soltar os cachorros e deixar a festa acontecer.&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%2Fpa1.aminoapps.com%2F6573%2Ffbdd34d379579d3de76dcdd87d73de122980337f_hq.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%2Fpa1.aminoapps.com%2F6573%2Ffbdd34d379579d3de76dcdd87d73de122980337f_hq.gif" width="369" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Anote tudo, tudo, tudo!
&lt;/h3&gt;

&lt;p&gt;Pegue um arquivo do Notepad e coloque o título "Zettelkasten" e comece a escrever &lt;strong&gt;tudo&lt;/strong&gt; o que você lembra que foi lido deste artigo, ou vá atrás de outras materiais, e anote tudo neste único documento.&lt;/p&gt;

&lt;p&gt;Esqueça sobre &lt;em&gt;softwares&lt;/em&gt; poderosos, que trazem ferramentas X, Y e Z. Foque na ideia da anotação. Faça por bullet point, parágrafo, palavras chaves, você quem decide.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Zettelkasten

- Sistema próprio de anotações.
- Utiliza notas e anotações para organizar ideias.
- Criado por Niklas Luhmann.
- Notas precisam ter identificadores: (YYYYMMDDHHmm).
- Conexões entre notas são criadas através dos identificadores.
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Identifique possíveis conexões e anote
&lt;/h3&gt;

&lt;p&gt;Agora que você possui tudo anotado, tente buscar por possíveis conexões entre os tópicos, palavras ou parágrafos. É incrível perceber como simples tópicos podem ser abertos para muitas mais ideias, ou servir de ponte para conectar outras duas ideias.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Zettelkasten -&amp;gt; Luhmann -&amp;gt; Artigos -&amp;gt; Sociologia -&amp;gt; ...
Notas -&amp;gt; Estudos -&amp;gt; Ideias -&amp;gt; Fatos  -&amp;gt; ...
Conexões -&amp;gt; Identificadores -&amp;gt; ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Crie notas para cada conexão importante
&lt;/h3&gt;

&lt;p&gt;Essa etapa em si, é repetitiva, e pode abrir portas para mais notas futuras. &lt;strong&gt;Não se perca!&lt;/strong&gt; Menos é mais, e ficar criando mais e mais notas no mesmo dia não vai tornar o seu &lt;em&gt;Zettelkasten&lt;/em&gt; útil, mas sim um amalgamo de notas. Vá aos poucos.&lt;/p&gt;

&lt;p&gt;Agora que você possui os conteúdos, e as possíveis conexões estabelecidas, você pode criar notas e ir atrás de &lt;strong&gt;referências&lt;/strong&gt; para darem ênfase à sua nota, sejam elas vídeos, artigos ou até livros.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Niklas Luhmann inventou o Zettelkasten para escrever artigos.

O sociólogo alemão Niklas Luhmann, criou o Zettelkasten para que
pudesse escrever seus artigos.

Ele possuía mais de 90 mil notas em sua gaveta (202312021846).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O segundo parágrafo foi criado para contextualizar a ideia de que o Niklas tinha mais de 90 mil notas guardadas, e então &lt;em&gt;linkar&lt;/em&gt; a nota em si. Essa nota referenciada pode introduzir outros &lt;strong&gt;parágrafos de suporte&lt;/strong&gt; para conectar notas que expliquem, por exemplo, como ele tinha tantas notas.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Pause, e continue amanhã!
&lt;/h3&gt;

&lt;p&gt;Vamos lá gente, uma pausa sempre é bem vinda. E neste caso, ela é crucial, por que o seu cérebro &lt;strong&gt;não&lt;/strong&gt; está acostumado com anotações neste estilo.&lt;/p&gt;

&lt;p&gt;Beba água, levante, vá jogar. Faça qualquer coisa que não seja mais tocar nessas notas! Amanhã acorde, realize sua rotina e volte a analisar as notas, você irá perceber que algumas ideias estarão mais consolidadas na sua cabeça e outras ideias aparecerão para ampliar sua visão sobre o Zettelkasten. E se não acontecer, continue se esforçando!&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilizando softwares para auxiliar no processo
&lt;/h2&gt;

&lt;p&gt;A melhor vantagem dos tempos modernos é justamente os computadores, e para a criação de um &lt;em&gt;Zettelkasten&lt;/em&gt; existem vários aplicativos e programas que o auxiliam.&lt;/p&gt;

&lt;p&gt;Como utilizo bastante o &lt;a href="https://obsidian.md/" rel="noopener noreferrer"&gt;Obsidian&lt;/a&gt; para manter meu sistema, é este mesmo que falarei mais sobre, porém existem outros com diferentes ecossistemas que valem a pena explorar.&lt;/p&gt;

&lt;p&gt;O &lt;em&gt;Obsidian&lt;/em&gt; é bastante conhecido como um "segundo cérebro", porém pessoalmente não gosto dessa nomenclatura pois ferramentas estão aqui para acelerar nosso trabalho, não ser nossa &lt;strong&gt;estratégia&lt;/strong&gt;. Quanto mais você se prender a uma ferramenta, mais você irá precisar dela e ficará muito difícil de experimentar outras. Tome meu conselho.&lt;/p&gt;

&lt;p&gt;No entanto, um ponto muito interessante sobre essa ferramenta é que ela foi desenhada especialmente para suportar a conexão entre as notas, e faz isso muito bem, com apresentação delas através de um gráfico que podemos analisar visualmente para criar novas notas e conexões.&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%2F6d3ne8722uz6yhzn90ce.png" 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%2F6d3ne8722uz6yhzn90ce.png" alt="gráfico de notas do obsidian" width="625" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;É uma ferramenta que pode muito bem lhe ajudar, porém não fique preso somente a ela por que eu recomendei, você pode ir atrás de outras como &lt;a href="https://www.notion.so/pt-br" rel="noopener noreferrer"&gt;Notion&lt;/a&gt;, &lt;a href="https://tiddlywiki.com/" rel="noopener noreferrer"&gt;TiddlyWiki&lt;/a&gt;, &lt;a href="https://roamresearch.com/" rel="noopener noreferrer"&gt;Roam&lt;/a&gt;, entre outras. O importante é utilizar aquela que mais se sente confortável e se aplica à sua estratégia de anotação.&lt;/p&gt;

&lt;p&gt;Por muito tempo, utilizei o bloco de notas da Microsoft como minha ferramenta de anotação, que gradualmente estou migrando para o Obsidian. Então trazer suas outras anotações para o &lt;em&gt;Zettelkasten&lt;/em&gt; é uma ótima forma de reter aquelas informações que você deixa engavetadas. ;)&lt;/p&gt;

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

&lt;p&gt;Muito obrigado por me acompanhar até o final deste artigo. Eu sei, é muita coisa, e muita informação. Isto aqui foi apenas a ponta do Iceberg do que o seu &lt;em&gt;Zettelkasten&lt;/em&gt; pode se tornar caso se dedique e mantenha uma consistência.&lt;/p&gt;

&lt;p&gt;Um site que eu recomendo muito para aprender mais e discutir sobre o &lt;em&gt;Zettelkasten&lt;/em&gt; é o &lt;a href="https://zettelkasten.de/" rel="noopener noreferrer"&gt;zettelkasten.de&lt;/a&gt;. Ele foi a minha principal fonte de aprendizado do sistema inteiro, além de que já participei do fórum e recebi ajuda dos administradores e usuários, então vale muito apena caso queira se aprofundar.&lt;/p&gt;

&lt;p&gt;Ah! E não mergulhe naqueles vídeos do YouTube que mostram gráficos enormes, bonitos, ou um Obsidian cheio de plugins. &lt;strong&gt;Isso tudo não passa de fantasia.&lt;/strong&gt; Quanto menos, melhor. Siga sempre esta filosofia que você terá mais chances de não abandonar o sistema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/TGKYHEUgxHIcxJkAhI/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/TGKYHEUgxHIcxJkAhI/giphy.gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Começando nos Estudos de Data Science com Python e Pandas</title>
      <dc:creator>João Iacillo</dc:creator>
      <pubDate>Fri, 24 Nov 2023 15:02:33 +0000</pubDate>
      <link>https://forem.com/iachilo/comecando-nos-estudos-de-data-science-com-python-e-pandas-3hl0</link>
      <guid>https://forem.com/iachilo/comecando-nos-estudos-de-data-science-com-python-e-pandas-3hl0</guid>
      <description>&lt;p&gt;Entrar no universo de data science vem se tornando cada vez fácil. Isto pois há uma crescente implementação neste mercado de bibliotecas e linguagens de alto-nível, como o Pandas e o Python, para que a manipulação de um alto número de dados não se torne uma tarefa complicada.&lt;/p&gt;




&lt;center&gt;
&lt;h2&gt;Tabela de Conteúdos&lt;/h2&gt;
&lt;/center&gt;

&lt;ul&gt;
&lt;li&gt;1. Introdução&lt;/li&gt;
&lt;li&gt;2. Entendendo a Biblioteca Pandas&lt;/li&gt;
&lt;li&gt;
3. Estrutura de Dados

&lt;ul&gt;
&lt;li&gt;3.1. DataFrames&lt;/li&gt;
&lt;li&gt;3.2. Series&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;4. Querying&lt;/li&gt;

&lt;li&gt;5. Conclusão&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  1. Introdução
&lt;/h2&gt;

&lt;p&gt;Como um programador web venho dedicando meu tempo ao estudo de tecnologias relacionadas a front-end. No entanto, percebi que uma das linguagens que me introduziram à programação estava empoeirada na minha estante, o Python. Havia um bom tempo desde que eu sequer toquei nela novamente, e isso me incomodou.&lt;/p&gt;

&lt;p&gt;Foi conhecendo o data science, através de um programa de estudos que utilizava o Python e o Pandas, que eu decidi desempoeirar a coitada e abraçar uma nova jornada na minha vida. Este artigo contêm o meu aprendizado até o momento sobre a biblioteca.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Entendendo a Biblioteca Pandas
&lt;/h2&gt;

&lt;p&gt;O Pandas foi uma biblioteca originalmente criada para fins internos à uma empresa, mas que com o tempo, foi se tornando parte da comunidade open-source, e hoje possui a contribuição de muitos desenvolvedores ao redor do mundo para sua evolução.&lt;/p&gt;

&lt;p&gt;Seu principal objetivo é trabalhar com informações, sejam tabuladas ou em sequência (em tabela ou em lista). Além de apresentar poderosas ferramentas e integrações com outras bibliotecas que compõem o universo do data science no Python.&lt;/p&gt;

&lt;p&gt;Seus dois tipos de estruturas mais comuns são o &lt;code&gt;DataFrame&lt;/code&gt; e a &lt;code&gt;Series&lt;/code&gt;, que apesar de possuirem a função em comum de armazenar dados, são manuseados de formas diferentes, e um depende do outro para coexistirem.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Estruturas de Dados
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3.1. DataFrames
&lt;/h3&gt;

&lt;p&gt;Sendo uma estrutura tabulada, o &lt;code&gt;DataFrame&lt;/code&gt; armazena os dados de forma parecida com o Excel ou CSV, atribuindo à uma matriz de duas dimensões linhas e colunas, que quando em conjunto, apontam para uma única célula de informação.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Coluna&lt;/th&gt;
&lt;th&gt;Coluna&lt;/th&gt;
&lt;th&gt;Coluna&lt;/th&gt;
&lt;th&gt;Coluna&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linha&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linha&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linha&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;td&gt;Célula&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Sua criação pode ser realizada através de listas, dicionários, arrays do Numpy, ou outro DataFrame. Para a leitura de arquivos, o Pandas possui funções auxiliares que possuem o nome seguindo o formato &lt;code&gt;read_T()&lt;/code&gt;, sendo &lt;code&gt;T&lt;/code&gt; o tipo do arquivo, como por exemplo csv (&lt;code&gt;read_csv()&lt;/code&gt;); html (&lt;code&gt;read_html()&lt;/code&gt;); excel (&lt;code&gt;read_excel()&lt;/code&gt;); etc.&lt;/p&gt;

&lt;p&gt;Utilizarei abaixo dois exemplos que aprendi durante meus estudos, um dataset sobre carros: (1) escrito manualmente como lista; (2) lido de um arquivo CSV:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="c1"&gt;# Definição dos dados
&lt;/span&gt;&lt;span class="n"&gt;dados&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Nome&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Jetta Variant&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Motor&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Motor 4.0 Turbo&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Ano&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2003&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Quilometragem&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;44410.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Zero_km&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Valor&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;88078.64&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Nome&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Passat&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Motor&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Motor Diesel&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Ano&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1991&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Quilometragem&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;5712.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Zero_km&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Valor&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;106161.94&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Nome&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Crossfox&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Motor&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Motor Diesel V8&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Ano&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1990&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Quilometragem&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;37123.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Zero_km&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Valor&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;72832.16&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;dataframe&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dados&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;dataframe&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F85ztsq2kj9mft1uhy4mv.png" 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%2F85ztsq2kj9mft1uhy4mv.png" alt="table-data" width="512" height="126"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="c1"&gt;# Leitura do arquivo CSV
&lt;/span&gt;&lt;span class="n"&gt;carros&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;db.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;;&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index_col&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Nome&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;carros&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fxwh7xlurw8e1xjdlruob.png" 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%2Fxwh7xlurw8e1xjdlruob.png" alt="table-data" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como é possivel ver, ambos os casos trazem as mesmas colunas, porém com quantidades diferentes de linhas. Por conter muitas linhas no arquivo, o &lt;em&gt;display&lt;/em&gt; da tabela encurta a quantidade para apenas 10, que é o padrão.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2. Series
&lt;/h3&gt;

&lt;p&gt;As &lt;code&gt;Series&lt;/code&gt; são sequencias de dados e possuem uma estrutura similar a uma lista no Python. Elas podem ser criadas a partir de uma lista, um dicionário, ou array do Numpy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;carros&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Jetta Variant&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Passat&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Crossfox&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Series&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;carros&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;Índice&lt;/th&gt;
&lt;th&gt;Valor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Jetta Variant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Passat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Crossfox&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;dtype: object&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  4. Querying
&lt;/h2&gt;

&lt;p&gt;Uma das ferramentas poderosas de um &lt;code&gt;DataFrame&lt;/code&gt; é sua habilidade de executar &lt;em&gt;queries&lt;/em&gt; (pesquisas) em cima dos dados. O retorno de uma query pode tanto ser uma cópia do &lt;code&gt;DataFrame&lt;/code&gt; que possui apenas os valores requeridos, ou uma &lt;code&gt;Series&lt;/code&gt; de índice ou booleana.&lt;/p&gt;

&lt;p&gt;As queries podem ser realizadas tanto dentro de colchetes (&lt;code&gt;[]&lt;/code&gt;) após o nome do &lt;code&gt;DataFrame&lt;/code&gt;, quando usando o método &lt;code&gt;query()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Usando colchetes
&lt;/span&gt;&lt;span class="n"&gt;dataframe&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;dataframe&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ColumnName&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;VALOR&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;dataframe&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;dataframe&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ColumnName&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Valor&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Usando query()
&lt;/span&gt;&lt;span class="n"&gt;dataframe&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ColumnName == &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Valor&lt;/span&gt;&lt;span class="sh"&gt;"'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A razão de utilizar uma ou outra é meramente sintática, isto pois o &lt;em&gt;query&lt;/em&gt; por colchetes possui uma estrutura não muito convencional no Python e pode ser considerada complicada. Já o &lt;code&gt;query()&lt;/code&gt; utiliza a sintáxe própria do Python para realizar as buscas, então é uma alternativa mais amigável:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IsActive&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Nicholas&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))]&lt;/span&gt;

&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;IsActive == True and Name.str.startswith(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Nicholas&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;)&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;O Pandas é uma biblioteca muito poderosa e que abrange diversas ferramentas úteis para manipulação de dados. Sua integração direta com o Numpy permite aos cientistas de dados realizarem suas operações muito mais facilmente.&lt;/p&gt;

&lt;p&gt;Como podem ver, estou ainda no começo e pretendo continuar estudando mais sobre essa área para agregar aos meus projetos. Dados são importantes hoje em dia, e é util aprender a manusea-los quando necessário.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>python</category>
      <category>pandas</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
