Blog

IA

Artigos da categoria IA.

Do zero ao software no ar “codando” 100% com IA.

Do zero ao software no ar “codando” 100% com IA.

E aí, Programador(a), tudo bem? Léo Scorza da OneBitCode por aqui! Neste post, vou te mostrar um ROADMAP de como criar um software (microSaaS) do zero, gerando 100% dos códigos via IA, assim como fiz no meu novo projeto. Bora? *caso você não saiba o que é um microSaaS, vale ver este artigo: “Micro SaaS: Uma oportunidade para programadores 🧠” Ponto a ponto do artigo: Entendendo o Projeto Ferramentas usadas Roadmap #1: Planejamento Roadmap #2: Desenvolvimento Como usar IA como um profissional na Programação ❝ "Os sábios aprendem com a experiência dos outros; os tolos, com a própria." Provérbio chinês. Se você fosse criar um software hoje, qual caminho seguiria? Provavelmente, muita gente ficaria sem saber por onde começar****. Criar um projeto do zero pode ser desafiador. Afinal, um software envolve várias decisões: desde a identidade visual até a definição das tabelas do banco de dados. Com 14 anos como programador, já desenvolvi centenas de projetos. Ao longo do tempo, fui aprendendo os melhores caminhos. Recentemente, criei um projeto (microSaaS) para usar na OneBitCode, tanto como projeto final de um dos nossos treinamentos quanto como ferramenta real para o nosso time. Neste artigo, vou te mostrar o roadmap completo de como desenvolvi esse projeto, desde o planejamento até colocá-lo no ar. Um ponto importante: neste projeto (chamado IncentivoFlow), desenvolvi 100% dos códigos usando IA. Usei minha experiência como programador para guiar a máquina, mas não precisei escrever uma única linha de código manualmente. Vou te explicar como fiz isso. Começando do começo: entendendo o projeto Primeiro, vamos falar sobre o IncentivoFlow. Ele é um projeto para capturar a atenção e o contato de pessoas interessadas em determinado produto. Por exemplo, se eu fosse um professor de inglês, poderia criar um mini curso gratuito sobre as 100 palavras mais faladas em inglês e colocá-lo no IncentivoFlow. Lá, eu teria um link para divulgar esse treinamento para possíveis interessados. Ao acessar o link, a pessoa veria um vídeo explicando o mini curso e um formulário para inscrição. Após se inscrever, ela receberia o link do mini curso por e-mail e seria redirecionada para uma segunda página. Nessa segunda página, haveria um vídeo sobre uma segunda recompensa, como um curso de pronúncia em inglês. Para receber esse bônus, a pessoa teria que divulgar seu link pessoal para que X amigos se inscrevam. Quando isso acontecer, ela recebe o segundo bônus por e-mail. Ou seja, é um sistema onde todo mundo ganha: quem recebe os mini cursos e quem oferece o produto (neste caso, o professor de inglês), que ganha a atenção e contato de potenciais clientes para seu curso completo. Ferramentas usadas ChatGPT: Geração dos códigos Dall-e 3: Para gerar imagens HTML + CSS + Javascript AdminJS: Sistema administrativo ExpressJS (NodeJS): Criação da API Bootstrap: Interface responsiva Postman: Testes dos endpoints SQLite: Banco de dados local Supabase (PostgreSQL): Banco de dados de produção Sequelize: ORM para interação com o banco Agora que entendemos o projeto, vamos para o fluxo que segui para desenvolvê-lo. Roadmap #1: O Planejamento ❝ "Um objetivo sem um plano é apenas um desejo." Antoine de Saint-Exupéry Aqui é onde muitos desenvolvedores fracassam: eles pulam essa etapa e começam a codar achando que têm tudo na cabeça. Mas a realidade é que um projeto de software relevante é complexo e exige planejamento sólido. Divido o meu planejamento nos seguintes passos: 1 - Visão clara do que será criado Escreva em poucas frases o que é seu software e qual problema ele resolve, exemplo: Este sistema é uma ferramenta para auxiliar empresas na geração de leads qualificados através de campanhas de incentivo. Utilizando um modelo de referral, a plataforma encoraja usuários a convidar amigos. Recompensas são desbloqueadas à medida que os convidados se inscrevem. Depois, peça ao ChatGPT para listar as principais features e telas que um projeto como esse deveria ter: Dada a descrição do projeto [DESCRIÇÃO], quais as principais features e telas de um MVP? Nem tudo que a IA devolverá será razoável, e aqui entra sua experiência para filtrar o que faz sentido ou não. 1 - Definição da marca Depois de entender o que será criado, uso a IA para auxiliar no planejamento da marca, como nome e domínio (URL), além de informações para explicar e vender o projeto. Exemplo de prompt para gerar ideias de nomes e domínios: Dado o projeto [DESCRIÇÃO], me dê 10 ideias de nomes (com chance de o domínio estar disponível). Exemplo de prompt para gerar informações de marketing: Com base no nome do projeto [NOME + DESCRIÇÃO], me ajude a definir a marca: persona, tom de voz, público-alvo, missão, entre outras informações importantes. 2 - Criação da paleta de cores + logo Peço ao ChatGPT ideias de paletas de cores que combinem com o projeto. Depois, uso o DALL-E3 (gerador de imagens do ChatGPT) para criar um logo baseado na descrição e paleta de cores. 3 - Planejamento do banco de dados Com todas as informações, peço ao ChatGPT para sugerir tabelas e campos para o banco de dados. Exemplo: Agindo como um DBA, dado o projeto [X], features [Y] e telas [Z], descreva a estrutura de banco de dados. 4 - Planejamento dos endpoints Separar o frontend do backend via API facilita o planejamento. Peço ao ChatGPT para detalhar os endpoints necessários, com URLs e parâmetros. 5 - Desenvolvimento dos mockups Mesmo que sejam simples, mockups são essenciais. Eu uso o Figma para criar, pois há muitos templates prontos. Crie seus mockups antes de seguir. 6 - Roteiro de desenvolvimento com IA Por fim, peço ao ChatGPT para criar um plano de desenvolvimento detalhado, dividindo o trabalho em pequenas etapas sequenciais. Com isso, finalizo meu planejamento básico, tendo claro como será o projeto, sua marca, banco de dados, endpoints e o passo a passo para desenvolvê-lo. Roadmap #2: O Desenvolvimento ❝ "Desenvolver software é como plantar uma árvore: regue-o com melhorias constantes e ele crescerá de forma saudável." Anônimo. Após ter todo o planejamento detalhado e organizado (eu uso o Notion para guardar cada parte), fica fácil usar a IA para desenvolver o código. Atualmente, uso a versão 4o do ChatGPT, mas também é possível fazer o mesmo com a nova versão o1 ou o Claude, por exemplo. Desenvolvendo o Backend (Admin + API) 1 - Instalando as dependências Com base na stack do projeto, peço ao ChatGPT para gerar um tutorial de instalação das ferramentas no meu PC, exemplo: Crie um tutorial de instalação das seguintes ferramentas em um Macbook Air M1: NPM, NodeJS, SQLite, Sequelize e Postman. 2 - Gerando a base do admin Para acelerar o desenvolvimento, usei uma ferramenta chamada AdminJS, uma biblioteca JavaScript que gera um admin completo para o projeto. Basta criar os models, e ele cria as telas e ações necessárias para edição. Então pedi à IA que gerasse o passo a passo de criação de um projeto com ExpressJS e AdminJS do zero, utilizando SQLite como banco de dados. 3 - Incluindo nossos recursos (tabelas) Com as tabelas e campos definidos no planejamento, pedi ao ChatGPT para criar os models (com Sequelize) para o projeto. 4 - Customizando o Admin + dados fake + monitoramento O admin gerado é básico, então pedi à IA para gerar o código necessário para personalizar com as cores da marca e o logo. Também solicitei um script para inserir dados fake, facilitando os testes nos endpoints posteriormente. Por fim, como o objetivo do projeto é atrair pessoas, é essencial monitorar a quantidade de inscritos e convites enviados. Pedi ao ChatGPT que criasse um código para exibir esses dados no dashboard do Admin de forma destacada. 5 - Criação dos endpoints Com o admin pronto, segui para o desenvolvimento dos endpoints. Pedi à IA que gerasse o passo a passo para criá-los com base no planejamento. Dica importante: Sempre envie ao ChatGPT os arquivos já criados e o contexto do projeto. Isso evita que ele se perca. Evite mudar de conversa com ele. 6 - Testando tudo via Postman Para garantir que os endpoints funcionam, pedi à IA para gerar um JSON importável no Postman (software para testar API), facilitando os testes. Desenvolvendo o Frontend 1 - Preparando a estrutura Decidi criar o frontend no mesmo projeto (junto com o admin e os endpoints). Expliquei à IA o propósito do projeto, a lista de telas, as tecnologias usadas e pedi que gerasse o passo a passo para instalar as dependências (como Bootstrap) e criar a estrutura do projeto com layout padrão do ExpressJS, incluindo um header comum. Também forneci as cores, fontes e estrutura atual do projeto. 2 - Desenvolvendo a estrutura das telas Agora a parte mais divertida! Passei para a IA o mockup da tela, o contexto do projeto e o conteúdo dos arquivos relevantes. Exemplo: Agindo como um especialista em Frontend, implemente a página de registro das campanhas (home) com base no layout da imagem: Especificações: . Use um arquivo de layout principal. . Mantenha o logo em public/images/logo.png como header fixo. . Seja o mais preciso possível. . Use a seguinte paleta de cores: . . Texto: #FFFFFF (Cinza Muito Claro) . . Secundária (botões): #1B1B1B . Use as fontes: Poppins (bold, medium e regular) 3 - Conectando as telas com o Backend Depois de criar a estrutura da página, expliquei à IA como conectar a página com o backend. Por exemplo, o formulário desta página chama um endpoint quando o usuário se cadastra. Pedi à IA que gerasse o JavaScript necessário para fazer essa integração. Exemplo: Crie o JavaScript para integrar a home com o endpoint de registro. Se der erro, mostre a mensagem retornada pela API com o SweetAlert; se der certo, redirecione para /c/:slug/invite?lead_slug=X, onde X é o slug do lead registrado. 4 - Ajustes finos É sempre bom revisar a estética final e fazer ajustes. Algumas melhorias que fiz no projeto: Usei projetos do Dribbble como inspiração para aprimorar botões e iluminação. Adicionei Particles.js para criar partículas flutuantes no background, dando um ar mais tech. Usei Canvas-Confetti para efeitos de confetes quando o usuário entra na página após se inscrever. Finalização e Deploy Finalmente, depois de ter meu admin funcionando, meus endpoints prontos e minhas telas consumindo o backend, realizo vários testes simulando o uso real do microSaaS. Claro, também é possível adicionar testes automatizados, se preferir. É importante também pedir que outras pessoas testem o software, já que, depois de tanto tempo envolvido, ficamos “cegos” para erros básicos. Para deixar o projeto no ar… Eu geralmente uso os serviços da Digital Ocean, e neste caso específico, utilizei o Apps da Digital Ocean. Para fazer o deploy, basta subir o projeto para o GitHub e configurar um novo App na Digital Ocean. Ao subir o código para o GitHub, a Digital Ocean detecta automaticamente a atualização e coloca o seu projeto no ar, na última versão. Ela mesma identifica as tecnologias usadas no projeto. Quer ganhar $200 para testar os serviços da Digital Ocean por 60 dias? Use este link especial: https://m.do.co/c/4ede815c4ced. Para o banco de dados, usei o Supabase, um serviço fantástico com um bom plano gratuito. Recomendo! Se você utilizou Sequelize no seu projeto, basta mudar as credenciais do banco de dados para as do Supabase, e tudo funcionará normalmente em produção. Um longo caminho, né? Aposto que, só de ler toda essa jornada, você pensou: “Uau, são muitos passos!” Agora imagine fazer isso sem um roadmap ou sem o conhecimento das ferramentas usadas. Por isso, esse roadmap é tão útil, e por isso vale a pena investir em bons treinamentos e criar projetos pessoais para dominar as habilidades tech necessárias. No final, quando você vê seu projeto bonitão no ar, pensa: "Eu criei isso do zero, quero criar mais!" 🤯 E se eu te dissesse algo importante... Eu gravei um módulo dentro do nosso treinamento Programador 10x, onde ensino a criar esse projeto passo a passo em vídeo. Nele, você vai criar o projeto completo junto comigo. Você pode se inscrever no Programador 10x para aprender a usar IA na programação do zero. Ou ainda melhor: tornar-se PRO e ter acesso a todos os nossos treinamentos, além de ganhar um bônus especial de aniversário da OneBitCode: Um planner físico criado por nós para te ajudar a organizar suas metas semanais e diárias, aumentando ainda mais sua produtividade. Para conhecer o Programador 10x: → https://onebitcode.com/10x Para conhecer o PRO e aproveitar o bônus exclusivo de 8 anos da OneBitCode: → https://onebitcode.com Conclusão Nunca foi tão importante dominar a tecnologia. Hoje, podemos criar projetos incríveis em pouco tempo, solucionar problemas e ganhar muito $$$ como recompensa. Então, se você ainda não domina o mundo Tech, esse é o seu momento. Mesmo que você não queira seguir carreira como programador, as habilidades Tech vão potencializar qualquer trabalho que você tenha. Se esta edição da OneBitNews agregou valor para você e quer receber as próximas, responda este e-mail. Te vejo na próxima semana, Grande abraço, Léo Scorza Ps: O bônus do Planner só vale para compras do PRO em setembro de 2024, então correeee!

Ler artigo
Guia de como usar IA na Programação

Guia de como usar IA na Programação

E aí Programador(a), tudo bem? Léo Scorza da OneBitCode aqui. O bom aprendizado, começa com uma boa pergunta, então vamos à pergunta principal: “Como um Programador pode/deve usar a IA no seu dia a dia para Programar?” 🧠 Para responder essa pergunta de forma mais profunda, vamos começar entendendo o que são essas “IAs”, como elas funcionam e quais usar. Tópicos que vamos falar: 1 - Como uma IA funciona 2 - Os programadores vão ser substituídos por uma IA? 😨 3 - Qual a melhor IA para programar? 4 - Como eu criei um jogo em menos de 1 hora com a IA 🔥 5 - Como você pode dominar IA de verdade Bora começar nossa jornada. 1 - O que é uma IA Uma Inteligência Artificial (IA) é um sistema avançado de computação projetado para simular habilidades humanas como aprendizado, raciocínio e resolução de problemas. Em essência, uma IA utiliza algoritmos e modelos de aprendizado de máquina para analisar dados, aprender com eles e tomar decisões ou realizar tarefas que normalmente exigiriam inteligência humana. Esses sistemas são capazes de melhorar seu desempenho com o tempo à medida que são expostos a mais dados e experiências, um processo conhecido como aprendizado contínuo. IAs são usadas em uma variedade de aplicações, desde assistência virtual e análise de dados até veículos autônomos e diagnósticos médicos, revolucionando a maneira como interagimos com a tecnologia e processamos informações. 2 - Como a IA aprende O aprendizado de máquina é um campo da Inteligência Artificial (IA) onde sistemas de computador são capazes de aprender e melhorar a partir de experiências, sem serem explicitamente programados. Para isso são usados algoritmos que analisam e identificam padrões em dados, permitindo ao sistema fazer previsões ou tomar decisões com base nesses dados. Existem dois tipos principais de aprendizado: Supervisionado, onde o modelo é treinado com dados rotulados (por exemplo, em um conjunto de dados de imagens rotuladas, cada imagem terá um rótulo como "gato", "cachorro", "carro" que descreve o que está na imagem) e aprende a fazer previsões. Não supervisionado, que lida com dados não rotulados e busca identificar padrões ocultos. Essencialmente, o aprendizado de máquina permite que computadores realizem tarefas complexas adaptando-se automaticamente à medida que recebem mais informações. 3 - Como funciona o chatGPT Uma forma de entender as IAs como o chatGPT é pensar nelas como alunos extremamente dedicados que lêem uma biblioteca inteira, absorvendo uma enorme quantidade de textos para aprender como a linguagem humana funciona (ou seja, usam o aprendizado de máquina). Elas são muito habilidosas em detectar padrões, compreendendo quais palavras ou frases costumam aparecer juntas e como as ideias se conectam. Durante o treinamento, estas IAs passam por um processo duplo: parte do treinamento mostra exatamente o que esperar (aprendizado supervisionado), enquanto outra parte as deixa explorar os textos por conta própria, encontrando padrões e fazendo conexões (aprendizado não supervisionado). Quando interagem, seja respondendo a perguntas ou elaborando textos, elas utilizam todo esse aprendizado para formular respostas que levam em conta o contexto apresentado. Isso é semelhante a como nós, seres humanos, usamos nosso conhecimento e experiências passadas para participar de conversas. Além disso, essas IAs passam por um ajuste fino (otimização de parâmetros), semelhante a um músico aperfeiçoando seu instrumento, para tornar suas respostas mais precisas e úteis. Sua adaptabilidade é notável, permitindo que conversem sobre uma ampla gama de tópicos, algumas vezes até sobre assuntos que não estavam explicitamente nos textos que leram (generalização). Isso se deve à sua habilidade de generalizar com base no aprendizado anterior. Em resumo, essas IAs são ferramentas multifuncionais para a linguagem, capazes de melhorar continuamente à medida que aprendem mais, funcionando como máquinas de aprendizado de linguagem cada vez mais eficazes. Os dados que o chatGPT usa para treinar Os dados usados para treinar o ChatGPT, como muitos modelos avançados de linguagem, vêm de uma variedade de fontes de texto disponíveis publicamente na internet. Estes incluem: Livros: Textos literários que fornecem uma rica variedade de usos da linguagem. Artigos da Web: Incluindo posts de blog, artigos de notícias e outros conteúdos escritos disponíveis online. Fóruns Online e Websites de Perguntas e Respostas: Como o Reddit ou o Stack Overflow, que fornecem conversas e discussões em formato de texto sobre uma ampla gama de tópicos. Documentos Técnicos: Publicações acadêmicas e documentos de pesquisa que ajudam o modelo a aprender terminologia e conceitos especializados. Scripts de Código Fonte: Para entender e gerar respostas relacionadas à programação. O objetivo é fornecer ao modelo uma base de conhecimento diversificada e abrangente que permita entender e gerar respostas em uma variedade de estilos e formatos. As alucinações do chatGPT As "alucinações" do ChatGPT e de outros modelos de linguagem avançados são situações em que a IA gera informações falsas, imprecisas ou sem sentido. Esses erros podem variar desde pequenas imprecisões até afirmações completamente incorretas ou fabricadas. As alucinações ocorrem geralmente por algumas razões: Limitações no Treinamento de Dados: Mesmo sendo treinados com grandes conjuntos de dados, os modelos podem não ter informações suficientes ou corretas sobre certos tópicos. Falhas na Interpretação de Contexto: Às vezes, o modelo pode interpretar mal o contexto ou a intenção da pergunta, levando a respostas irrelevantes ou erradas. Tendência a Gerar Conteúdo: Modelos de linguagem, especialmente aqueles baseados em Transformer, são projetados para gerar texto fluentemente, o que pode levá-los a produzir conteúdo convincente, mas incorreto. Complexidade do Processamento de Linguagem Natural: A linguagem humana é complexa e cheia de nuances, tornando difícil para a IA sempre entender e responder corretamente. Então tome cuidado ao usar as IAs cegamente, sem ter uma base para analisar os textos e os códigos gerados por elas. 4 - Os programadores vão ser substituídos por IAs? Uma resposta curta e direta: Alguns sim, outros vão crescer. Mas porque alguns sim? Bom, veja bem, se você pode fazer uma tarefa simples pedindo a um robô, porque você pagaria uma pessoa para fazer? Trazendo isso para o mundo físico, se você pudesse pedir a um robô para preparar uma deliciosa pizza (10x mais rápido) pagando alguns reais apenas pelo uso dele, você pagaria R$70 reais para alguém fazer a pizza? Provavelmente, você iriai preferir a velocidade e o preço infinitamente menor do robô e está tudo certo, faz todo o sentido do mundo. Na programação e em todas as outras áreas que eu posso imaginar, vai acontecer algo parecido, as tarefas que podem ser substituídas vão ser substituídas e tá tudo bem. Dominar o uso da IA na programação é uma questão de sobrevivência. Só que aí vem a segunda pergunta: “todas as tarefas da programação são facilmente substituíveis por uma IA?” A resposta é um grande não. Quem contrata um programador é uma empresa que precisa desenvolver soluções com software, os gestores dessa empresa que contratam os programadores não tem a bagagem técnica e a visão sistêmica “de como desenvolver um software” para criar softwares mais complexos. Um cliente conseguiria pedir ao chatGPT para gerar um script simples para automatizar uma planilha do excel ou para fazer uma alteração em uma página e rodar isso seguindo algumas instruções, então tarefas bem simples vão sim ser facilmente realizadas sem programadores. Mas vamos pensar em uma solução um pouco mais complexa, como uma landing page completa. Qual a chance de um gestor conseguir, conversando com o chatGPT/Copilot, gerar uma página bonita, funcional, otimizada e com um bom UX? Bem baixa, se não, nula. Agora imagina uma solução complexa como um Web APP de uma rede social, qual a chance de um cliente (leigo em programação) fazer 5% disso sozinho? Nenhuma. Então se não são os próprios clientes que vão diminuir de forma relevante a necessidade de programadores “digitadores”, quem são as pessoas que vão? Os próprios programadores que usam as IAs como forma de serem mais produtivos. Um programador que antes conseguia criar apenas uma landing page por mês por exemplo, agora usando IA, consegue criar 2, 3 ou mais. Então, quem faz apenas o mínimo, não se aprofunda, não tem uma visão sistêmica de como resolver problemas e é um “digitador” da programação, vai perder espaço com as novas ferramentas. Mas se você não é um “digitador”, mas um programador de verdade, que está disposto(a) a usar as novas ferramentas, a tendência é que você consiga crescer e ter resultados ainda melhores graças a IA. Programar não é sobre escrever código, é sobre usar no limite as tecnologias que estão disponíveis para criar coisas novas. Com a facilidade na criação de software, a demanda também deve aumentar, o mundo é cada vez mais digital e vai ter mais oportunidades ainda. Mesmo que você seja iniciante, se aprofunde no desenvolvimento de software, na resolução de problemas e nas novas tecnologias. Porque muitos programadores “experientes” vão ficar para traz por ignorarem o novo. 5 - A melhor IA para programar A IA mais popular hoje é o chatGPT, ele possui duas versões atualmente, uma gratuita (chatGPT 3.5) e uma paga (chatGPT 4), eu uso a versão 4 diariamente para escrever textos, pedir sugestões, criar imagens, tirar dúvidas (quase não uso mais o google) e já usei para criar códigos de programação também. Mas por mais que eu seja um fã do chatGPT e ele tenha extensões para ser integrado ao VS Code, depois de testar o Copilot, eu não tive outra escolha senão aceitar que o Copilot é a IA mais funcional atualmente para ajudar na programação. Claro, o Copilot usa o chatGPT (OpenAI) por trás, mas a experiência que ele entrega na hora de codar é diferente do chatGPT, além de ele ter um treinamento gigantesco com a base do GitHub (criador do Copilot). Então, de todas as IAs que já testei, recomendo o chatGPT para todas as tasks (inclusive gerar imagens) exceto para uso na programação, o Copilot está na frente e vale os $10 dólares por mês que é cobrado. Inclusive fica a dica, sei que muita gente não usa por ter que pagar, mas posso garantir que $10 tá de graça pelo tempo que você vai economizar e a produtividade que vai ter. 6 - Conhecendo o Copilot O GitHub Copilot, desenvolvido pela Microsoft em parceria com o GitHub e OpenAI, é uma ferramenta de Inteligência Artificial projetada para auxiliar na programação. Ele funciona como um assistente de código, oferecendo sugestões e completando trechos de código em tempo real. Aqui está um resumo de como o GitHub Copilot funciona: Baseado em Modelos de Linguagem Avançados: Copilot é alimentado por uma versão do modelo de linguagem GPT-3.5, desenvolvido pela OpenAI. Esse modelo foi treinado em um grande conjunto de dados que inclui código-fonte público disponível no GitHub. Contextualização e Sugestão de Código: Ao escrever código, o programador recebe sugestões automáticas do Copilot. Estas sugestões são geradas com base no contexto do código existente, comentários e nomes de variáveis e funções. O modelo entende o contexto e intenção do programador para gerar sugestões relevantes. Aprendizado de Padrões de Código: O Copilot aprende padrões comuns em programação e sugere trechos de código que são frequentemente usados, economizando tempo e auxiliando em tarefas repetitivas. Suporte a Múltiplas Linguagens de Programação: A ferramenta é capaz de trabalhar com uma variedade de linguagens de programação, tornando-a versátil para diferentes tipos de desenvolvedores. Facilitação do Aprendizado e Debugging: Além de sugerir código, o Copilot pode ajudar os programadores a aprender novas linguagens e frameworks, e também pode auxiliar na identificação e correção de erros. Integração com Ambientes de Desenvolvimento: O Copilot é projetado para se integrar com ambientes de desenvolvimento integrado (IDEs), permitindo uma interação fluida e contínua durante a escrita de código. Melhoria Contínua: O modelo por trás do Copilot continua evoluindo, aprendendo com a interação dos usuários e melhorando suas sugestões ao longo do tempo. É importante ressaltar que, embora o Copilot seja uma ferramenta poderosa, ele não substitui a necessidade de compreensão e revisão humana do código. Então, assim como no uso do chatGPT, você precisa guiar ele. 7 - Usos da IA na programação Quanto mais eu uso ferramentas como o chatGPT ou Copilot, mais usos eu vejo para eles na programação, vou listar alguns: Explicar códigos para você Criar novos códigos Traduzir códigos entre linguagens Corrigir/Refatorar códigos Criar testes unitários Documentar seus códigos Criar o README do seu projeto Existem também ferramentas como o screenshot-to-code onde você pode passar um screenshot das telas que deseja e ele converte para códigos (o chatGPT também consegue fazer algo parecido). A precisão não é 100%, mas já pode ajudar bastante na criação diária de telas. 8 - Eu criei um jogo em menos de 1 hora com IA Eu gosto de testar as coisas na prática, então para aprender a usar o Copilot, eu decidi criar um projeto Web juntando a minha experiência com os códigos gerados por ele. O projeto criado foi um site onde o usuário pode jogar sudoku online, e posso garantir, ele ficou tão bom quanto os primeiros sudoku's online que aparecem quando você pesquisa no Google. Inclusive, muitos dos que aparecem estão ganhando $ com propagandas, então seria possível subir esse projeto e fazer o mesmo com ele. Contextualizando, caso você não conheça, o Sudoku é um jogo de quebra-cabeça lógico onde o objetivo é preencher uma grade 9x9 com números de 1 a 9 de modo que cada linha, coluna e subgrade 3x3, contenha todos os números de 1 a 9 sem repetição. Esse projeto em particular tem alguns desafios como: Aplicar as regras do sudoku via javascript Criar o board em HTML e CSS (o tabuleiro 9x9) Receber e tratar os números que o usuário vai colocar no board Verificar se o usuário preencheu tudo corretamente no final Então vamos ao “como eu fiz”: 1 - Eu assinei o plano do Copilot (se não me engano dá pra assinar por alguns dias sem pagar): https://github.com/features/copilot 2 - Instalei no Vs Code as seguintes extensões do Copilot: GitHub Copilot e GitHub Copilot Chat (que permite conversar com o Copilot como com o chatGPT) 3 - Conectei a extensão do Copilot com a minha conta do GitHub onde eu tinha assinado o Copilot 4 - Abri o Copilot chat e digitei “Eu quero criar um jogo de sudoku em html, css e js”, quais os passos eu devo dar: 5 - Ele começou a me dar as instruções de como eu poderia ir estruturando meus arquivos, quais códigos eu deveria ter neles. 6 - A partir daí eu fui seguindo o passo a passo, que nem sempre estava adequado 100%, então fui adaptando o que ele sugeria, criando novos arquivos, colocando códigos e conectando tudo. 7 - Comecei a testar o projeto na web. Cada nova coisa que eu desejava adicionar ao projeto eu perguntava a ele no chat e ele me fazia a sugestão do que eu deveria fazer. 8 - Quando eu queria gerar um código específico, por exemplo, atualizar uma função para adicionar um alert novo, eu ia até o arquivo e rodava command + i, que é o atalho do Mac para abrir o gerador de código do Copilot. 9 - A partir desta interação entre eu e o Copilot via chat e gerador de código, eu desenvolvi rapidamente o projeto. Algo que demoraria muitas horas, me custou minutos e eu nem mesmo precisei pesquisar as regras do sudoku para criar o meu código Javascript. É impressionante o quanto alguém que domina os códigos e tem acesso a esse ferramenta pode fazer, então se você ainda não está usando, essa é a hora de começar a usar. Projeto já mais bem trabalhado e com várias opções depois de algum tempo. Link do projeto online para você brincar: https://sudoku-copilot.vercel.app Uma coisa ficou clara neste teste: O Copilot é realmente o Copiloto (não o piloto), um leigo usando ele não teria conseguido fazer o projeto (Programador + IA = Sucesso). 9 - Como você pode dominar a IA Eu acredito que os programadores não vão acabar com a chegada da IA, pelo contrário, os programadores que usarem a IA vão crescer e vão ter resultados muito maiores. Inclusive, sempre que existe uma mudança muito grande, é uma chance única para quem se adaptar mais rápido conseguir oportunidades que demorariam muito tempo se nada tivesse acontecido. E se você começar agora a usar essas ferramentas, em pouco tempo vai ter um grande destaque, porque a grande maioria dos programadores ainda estão parados no tempo. Por ver essa oportunidade e ter usado extensivamente a IA na OneBitCode em 2023, na criação de milhares de imagens, textos e linhas de código, eu decidi criar uma formação focada em IA + NO CODE. Ela vai potencializar nossos alunos para que eles saiam na frente, seja na área Full Stack, Mobile, Automação ou outras áreas que a IA e o NO CODE possam acelerar o desenvolvimento. Eu vou abrir as inscrições dela no começo de fevereiro, mas eu criei um grupo de espera (que vai ter desconto especial), então garante seu lugar nele aqui: https://chat.whatsapp.com/C8vHBxZUaos5lwnqwE3Zy5 Nessa formação eu vou: Ensinar como usar as IAs mais poderosas (como Copilot) Ensinar como usar as melhores ferramentas de NO CODE Te ajudar a se manter atualizado Conclusão Em 2023 a IA brilhou e em 2024 ela vai se consolidar como uma parceira indispensável dos programadores, quem se atualizar e se desenvolver como um(a) programador(a) de verdade, vai sair na frente. Recomendo que você comece a “brincar” com a IA usando ela em um projeto pessoal, seja um jogo de sudoku, na criação de uma landing page ou de um webscrapping por exemplo. Responda esse email me contando se já teve experiências com o uso de IAs e o que achou, e claro, pode mandar suas dúvidas também. Grande abraço Programador(a), Léo Scorza - OneBitCode 🤘 Ps: Te vejo no grupo especial da formação de IA e NO CODE.

Ler artigo
LOADING