Skip to content

Instantly share code, notes, and snippets.

View rafaelpontezup's full-sized avatar

Rafael Ponte rafaelpontezup

View GitHub Profile
@rafaelpontezup
rafaelpontezup / Palindromo.java
Created September 9, 2024 20:57
Palindromo: exemplo de implementação e testes em Java
package br.com.zup.hackton.palindromo;
import org.apache.commons.lang3.StringUtils;
/**
* Algumas palavras e frases:
*
* ana, arara, mussum, mirim, ovo, reviver, socos, salas, ralar, e2e, 1-a-1
* anotaram a data da maratona
* socorram-me subi no onibus em marrocos
@rafaelpontezup
rafaelpontezup / demo-stackspot-in-15min.md
Last active July 30, 2024 19:57
StackSpot AI in 15min
  1. O que é AI Generativa
    • 0.1. Rapida introduçao
    • 0.2. Site da StackSpot
    • 0.3. Abre VScode
  2. Hypercontext - Gerar cancelar boleto
    • 1.1. Prompt: "Gere código para cancelar boleto";
    • 1.2. Adiciona KS de "API Catalog" + Adiciona Stack AI Java;
    • 1.3. Navega no site e explica KS e Stack AI;
  3. Built-in QC's
  • 2.1. Use o controller gerado pela AI;
@rafaelpontezup
rafaelpontezup / hands-on-stackspot-ai.md
Last active August 8, 2024 17:01
StackSpot AI: Hands-on de Onboarding

Hands-on StackSpot AI

A ideia é implementar um Quick Command que converte uma schema DDL para entidades e em seguida para uma API REST em Java com Spring Boot. Este Quick Command terá 3 passos:

  1. Ler um DDL e converter para entidades da JPA e Hibernate;
  2. A partir das entidades, gerar os repositories e controllers (somente com o endpoint de cadastro);
    • o mesmo terá anexado um Knowleged Source de boas práticas
  3. A partir dos controllers, gerar os testes de integração do Spring Boot;
    • o mesmo terá anexado um Knowleged Source de boas práticas
@rafaelpontezup
rafaelpontezup / 01-QC-generate-terraform-from-mermaid.md
Last active July 16, 2024 18:59
StackSpot Quick Command: Generate Terraform template from Mermaid diagrams

Quick Command: generate-terraform-from-mermaid

O objetivo deste Quick Command é gerar templates Terraform para provisionar infraestrutura a partir de diagramas Mermaid seguindo um conjunto de regras do time ou empresa. Este conjunto de regras é configurado como Knowledge Source em alguns passos do Quick Command.

Para criar o Quick Command, basta configurá-lo com o passos abaixo:

Start

Name: generate-terraform-from-mermaid
@rafaelpontezup
rafaelpontezup / CustomerController.java
Last active June 24, 2024 13:30
Controller with a single-line method
@RestController
class CustomerController {
@Autowired
private CustomerService service;
@PostMapping("/api/customers")
public void create(@Valid @RequestBody CustomerRequest request) {
service.save(request);
}
@rafaelpontezup
rafaelpontezup / curl-remote-quick-command.sh
Last active April 16, 2024 16:54
Example of a cURL to invoke a Remote Quick-Command from StackSpot AI
# Submitting a request to invoke a specific Remote Quick-Command
curl --request POST \
--url https://genai-code-buddy-api.stackspot.com/v1/quick-commands/create-execution/{slug-qc} \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"input_data": "qual tecnologia a microsft usa, responda em portugues"
}'
# Checking the result of the previous Quick-Command
@rafaelpontezup
rafaelpontezup / stk-apply-plugin.sh
Last active October 4, 2023 21:51
StackSpot: applying plugin with inputs-json
stk apply plugin ../coffee-studio/java-springboot-restapi-base-plugin \
--inputs-json '{"project_name": "iFood Web", "project_description": "iFood Web Super Application", "project_springboot_version":"2.7.2", "project_group_id": "br.com.zup.edu", "project_artifact_id":"iFood Web App", "project_version":"0.0.1-SNAPSHOT"}'
@rafaelpontezup
rafaelpontezup / skt-command.sh
Created September 26, 2023 20:05
StackSpot: Showing the current status of the deploy
# we can generate the report as "json" or "md" (markdown)
stk deploy status <execution_id> --report json
@rafaelpontezup
rafaelpontezup / perguntas-sobre-testes-de-carga-e-estresse.md
Created May 18, 2023 13:51
Perguntas sobre testes de carga e estresse

Perf

1. Explique o conceito de teste de carga e estresse?

Teste carga signigica verificar como uma aplicação ou sistema se comporta sob uma determinada carga de trabalho (workload) esperada, que pode ser uma carga pequena, moderada ou grande. Além disso, essa carga é aplicada durante algum intervalo de tempo, como minutos ou horas, para validar a estabilidade do sistema e detectar possíveis problemas no uso de recursos, como memória, CPU, disco ou conexões com um banco de dados por exemplo. É importante entender que um teste de carga não ultrapassa a capacidade esperada ou projetada para uma aplicação ou sistema.

Enquanto teste de estresse está relacionado a verificar como uma aplicação ou sistema se comporta quando aplicamos uma carga de trabalho (workload) muito alta e intensa, geralmente uma carga superior a esperada ou especificada nos requisitos. A ideia aqui é submeter a aplicação além da sua capacidade projetada a fim de detectar problemas ou gargalos no uso de recursos ou componentes internos. O

@rafaelpontezup
rafaelpontezup / races-conditions.md
Created October 31, 2022 17:01
Chapter Stackspot: Race conditions, locking e bancos de dados relacionais

Race conditions, locking e bancos de dados relacionais

Pretendo apresentar um código com uma lógica de negócio simples que funciona bem na perspectiva do negócio mas que quebra miseravelmente em ambientes minimamente concorrentes. Para isso, vou demonstrar através de testes de integração como identificar o Race Condition no código e principalmente como resolvê-lo através de mecanismos de locking e Isolation Level do seu banco de dados;

O que vamos discutir

  1. Por que estudamos esse assunto mais a fundo?
  • 1.3. A importância do treino: o que eu levei alguns bons anos para aprender o Jordi levou 6 meses