https://github.com/cami-la/programacao_assistida_por_ia_com_amazon_codewhisperer
https://github.com/cami-la/programacao_assistida_por_ia_com_amazon_codewhisperer
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cami-la/programacao_assistida_por_ia_com_amazon_codewhisperer
- Owner: cami-la
- Created: 2023-07-31T18:27:30.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-08-14T21:22:24.000Z (about 2 years ago)
- Last Synced: 2025-04-18T01:48:00.724Z (6 months ago)
- Language: Java
- Size: 2.36 MB
- Stars: 42
- Watchers: 2
- Forks: 13
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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:
- **Amazon CodeWhisperer**
- **GitHub Copilot**
- **Blackbox**
- **Tabnine**
- **EasyCode**
- **CodeGeex**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*
![]()
2. **Restart** a IDE
3. 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**
4. 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**
5. 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.-----
### 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 👋🏽