Skip to content

cami-la/programacao_assistida_por_IA_com_Amazon_CodeWhisperer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programação Assistida por IA com Amazon CodeWhisperer

Hoje, as ferramentas de desenvolvimento de software alimentadas por inteligência artificial estão permitindo que as pessoas construam soluções de software usando a mesma linguagem utilizada ao falar com outras pessoas.
Essas ferramentas alimentadas por IA traduzem a linguagem natural para as linguagens de programação que os computadores entendem.

A IA auxilia na programação em várias formas:

  1. Assistência de escrita de código: Sugerindo trechos de código, completando linhas ou gerando código-fonte com base nas especificações do programador.
  2. Detecção de erros e depuração: Analisando o código para identificar bugs, erros e vulnerabilidades, fornecendo sugestões de correção.
  3. Tradução de linguagens de programação: Convertendo código entre diferentes linguagens para facilitar o desenvolvimento em ambientes familiares.
  4. Otimização de desempenho: Sugerindo melhorias no código para torná-lo mais eficiente e econômico em recursos.
  5. Geração automática de testes: Criando casos de teste automatizados para garantir o correto funcionamento do software.
  6. Análise de código legado: Compreendendo sistemas antigos para auxiliar em sua manutenção e atualização.
  7. Extração de informações e insights: Analisando grandes volumes de código para obter informações úteis, identificar padrões e melhorar a qualidade geral do código.

Exemplos de ferramentas de Programação Assistida por IA:

Em resumo, a programação assistida por IA é a aplicação de inteligência artificial para auxiliar os desenvolvedores de software em várias tarefas, como sugerir código, detectar erros, traduzir linguagens, otimizar o desempenho, gerar testes automatizados, analisar código legado e extrair informações úteis. Ela visa tornar o desenvolvimento mais produtivo e eficiente.


Amazon CodeWhisperer

  • O Amazon CodeWhisperer é um gerador de código de uso geral baseado em machine learning que fornece recomendações de código em tempo real.
  • À medida que você escreve código, gera CodeWhisperer automaticamente sugestões com base no código e nos comentários existentes.
  • As recomendações personalizadas podem variar em tamanho e escopo, abrangendo desde um comentário de uma única linha até funções totalmente formadas.
  • O CodeWhisperer também pode escanear seu código para destacar e definir problemas de segurança.
  • O CodeWhisperer suporta geração de código para 15 linguagens de programação. A precisão e qualidade da geração de código para uma linguagem de programação depende do tamanho e qualidade dos dados de treinamento.
  • Linguagens Suportadas:
  1. Em termos da qualidade dos dados de treinamento, as linguagens de programação com maior suporte são: Java, Python, JavaScript, TypeScript e C#.
  2. O CodeWhisperer também suporta geração de código para as seguintes linguagens: Ruby, Go, PHP, C++, C, Shell, Scala, Rust, Kotlin e SQL.
  • Otimizado para uso com os serviços da AWS: O CodeWhisperer torna o uso dos serviços da AWS mais eficiente para os desenvolvedores, fornecendo sugestões de código otimizadas para APIs da AWS, incluindo Amazon Elastic Compute Cloud (Amazon EC2), AWS Lambda e Amazon Simple Storage Service (Amazon S3). Conforme você escreve código no seu IDE, o CodeWhisperer analisa automaticamente esse código e seus comentários.

AWS Toolkit for IntelliJ IDEA

  • A JetBrains é uma empresa de software que desenvolve várias IDEs (Ambientes Integrados de Desenvolvimento).
  • O CodeWhisperer suporta todas as IDEs da JetBrains, com exceção da JetBrains Gateway.
  • O CodeWhisperer é executado nas IDEs da JetBrains por meio do AWS Toolkit, que é uma extensão da JetBrains.

Instalando o AWS Toolkit para IntelliJ IDEA (for Java development)

  1. No menu principal da JetBrains: File > Preferences > Plugins > Marketplace > AWS Toolkit

  1. Restart a IDE

  1. Conectando o CodeWhisperer com AWS Builder ID
  • No canto superior esquerdo irá aparecer a logo da ferramenta da AWS. Clique nela. Abrirá uma janela abaixo no canto inferior esquerdo: Developer Tools > CodeWhisperer > Start

  • Agora faça o Login com AWS Builder ID. Clique no botão Open and Copy Code

  1. Você será redirecionado para fazer o login no AWS Builder.
  • Autorize a requisição para conectar sua IDE com a AWS

  • Você poderá criar um AWS Builder ID ou fazer o login caso já tenha

  • Insira seu endereço de email cadastrado > Next

  • Insira um nickname > Next

  • Insira o código de verifição que você recebeu no e-mail > Verify

  • Com seu e-mail verificado: Insira a Password > Confirm password > Create AWS Builder ID

  • Permita a AWS acessar seus dados: Allow

  • Pronto! Agora você poderá utilizar o AWS Toolkit no IntelliJ

  1. De volta ao IntelliJ IDEA
  • Permaneça conectado no CodeWhisperer com AWS Builder ID. Clique em Yes

  • Observe que o CodeWhisperer já está funcionando

  • Entre nas configurações do CodeWhisperer e selecione todas as opções. File > Preferences > AWS > CodeWhisperer (No meu caso, apenas a primeira não estava selecionada)

MER da API Todo-List


MER Todo-List

  • TodoList possui (contém) um ou mais relacionamentos com TodoItem.
  • TodoItem possui (é parte de) um relacionamento com TodoList.

Estrutura do Projeto Spring Boot

  • APIs REST: O cliente envia solicitações ao servidor como dados. O servidor usa essa entrada do cliente para iniciar funções internas e retorna os dados de saída ao cliente.
  • Spring Boot é um framework Java open source ele traz mais agilidade para o processo de desenvolvimento, uma vez que devs conseguem reduzir o tempo gasto com as configurações iniciais.
  • A arquitetura em três camadas tem por objetivo promover a separação das funcionalidades usando camadas para a separação da lógica de apresentação, lógica de negócio e lógica de acesso a dados.

Arquitetura de Três Camadas


Referências

[1] "Vídeo sobre Programação Assistida por IA." YouTube. Disponível em: https://www.youtube.com/watch?v=0PpmtFfh3HI&t=3175s.

[2] "Como a IA facilita a vida dos desenvolvedores e ajuda todos a aprender sobre desenvolvimento de software." Microsoft News. Disponível em: https://news.microsoft.com/pt-br/como-a-ia-facilita-a-vida-dos-desenvolvedores-e-ajuda-todos-a-aprender-sobre-desenvolvimento-de-software/.

[3] "CodeWhisperer - AWS Toolkit for Visual Studio Code." AWS Documentation. Disponível em: https://docs.aws.amazon.com/pt_br/toolkit-for-vscode/latest/userguide/codewhisperer.html.

[4] "CodeWhisperer - Language IDE Support." AWS Documentation. Disponível em: https://docs.aws.amazon.com/codewhisperer/latest/userguide/language-ide-support.html#language-support.

[5] "AWS CodeWhisperer - Recursos." Amazon Web Services. Disponível em: https://aws.amazon.com/pt/codewhisperer/features/.

[6] "AWS Toolkit for JetBrains." AWS Documentation. Disponível em: https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html.

[7] "AWS Toolkit for IntelliJ." Amazon Web Services. Disponível em: https://aws.amazon.com/intellij/.

[8] "Spring Boot." Projeto Spring Boot. Disponível em: https://spring.io/projects/spring-boot.

[9] Apresentação sobre "Contextualizando o Desenvolvimento Web com Spring Boot 3 e Kotlin". Disponível em: https://docs.google.com/presentation/d/1EqXeBjRW_84mSfTJpYUK63QPi2O0aeK5/edit?usp=sharing&ouid=101340348592910912358&rtpof=true&sd=true.

Autor


Feito com ❤️ por Cami-la 👋🏽

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages