Skip to content

Instantly share code, notes, and snippets.

View rafaelpontezup's full-sized avatar

Rafael Ponte rafaelpontezup

View GitHub Profile
@rafaelpontezup
rafaelpontezup / mermaid-sample.md
Created June 25, 2024 16:22
Mermaid examples

Frontend estático:

Prompts-01: site estático

p1: Usando Mermaid, construa uma diagrama para hospedar um frontend estático utilizando os serviços da AWS, como Cloudfront e S3.

p2: Agora, com base no diagrama do Mermaid selecionado, gere os arquivos Terraform para provisionar a infraestrutura na AWS.

graph TD
@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
@rafaelpontezup
rafaelpontezup / LockManager.kt
Created October 4, 2022 20:25 — forked from soudmaijer/LockManager.kt
Postgres transaction-level advisory lock implementation that uses Spring JDBC
import org.slf4j.LoggerFactory
import org.springframework.jdbc.core.JdbcTemplate
import org.springframework.stereotype.Component
import org.springframework.transaction.annotation.Propagation
import org.springframework.transaction.annotation.Transactional
import java.time.Duration
interface LockManager {
fun <T> tryWithLock(key: Long, timeout: Duration, function: () -> T): T
}
@rafaelpontezup
rafaelpontezup / plugin.yaml
Last active August 29, 2022 13:42
Stackspot: playing with edit-xml
hooks:
- type: edit-xml
trigger: after-render
path: pom.xml
encoding: UTF-8
namespaces:
- name: ns
value: "http://maven.apache.org/POM/4.0.0"
- name: xsi
value: "http://www.w3.org/2001/XMLSchema-instance"
@rafaelpontezup
rafaelpontezup / NewAuthorController.java
Last active August 19, 2022 22:38
Example of Spring Boot REST Controller using SpringDoc OpenAPI
package br.com.zup.edu.app10.samples.authors;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.headers.Header;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.slf4j.Logger;