Skip to content

Instantly share code, notes, and snippets.

View gbzarelli's full-sized avatar
Coding...

Guilherme Biff Zarelli gbzarelli

Coding...
View GitHub Profile
@gbzarelli
gbzarelli / SendAndWait.java
Created August 26, 2022 11:25
Emitter send and wait
private final Emitter<MyObject> emitter;
@Override
public void sendingAndWait(final MyObject payload) {
final var future = new CompletableFuture<Void>();
final var message = Message.of(payload,
() -> success(future),
(reason) -> failure(future, reason));
emitter.send(message);
future.toCompletableFuture().join();
@gbzarelli
gbzarelli / sns_subscriptions_migration.py
Last active July 1, 2022 17:29
SNS Subscriptions Migrate - This script duplicate all subscriptions from one SNS topic to another
import boto3
ACCESS_KEY = "-"
SECRET_KEY = "-"
REGION_FROM = "sa-east-1"
TOPIC_ARN_FROM = "arn:aws:sns:sa-east-1:000000000:teste-zarelli-topic"
REGION_TO = "us-east-1"
TOPIC_ARN_TO = "arn:aws:sns:us-east-1:000000000:teste-zarelli-topic"
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
interface Gzip {

Architecture Decision Record

An Architectural Decision (AD) is a software design choice that addresses a functional or non-functional requirement that is architecturally significant. An Architecturally Significant Requirement (ASR) is a requirement that has a measurable effect on a software system’s architecture and quality. An Architectural Decision Record (ADR) captures a single AD, such as often done when writing personal notes or meeting minutes; the collection of ADRs created and maintained in a project constitute its decision log. All these are within the topic of Architectural Knowledge Management (AKM). - https://adr.github.io/

Know more:

@gbzarelli
gbzarelli / order_generation.md
Last active December 30, 2021 21:54
Gerador de orders em formato de string desenvolvido em GO | Lindando com sincronismo em GOLang
@gbzarelli
gbzarelli / linux.md
Last active December 9, 2023 12:29
Linux Customize after install

after all

  • sudo apt-get update
  • sudo apt-get upgrade

basic installs:

  • sudo apt-get install git
  • sudo apt-get install tilix
  • sudo update-alternatives --config x-terminal-emulator

fish

@gbzarelli
gbzarelli / ContainerStarterTest_part1.java
Last active November 16, 2021 13:50
ContainerStarterTest_part1.java
abstract class DefaultContainerStarterTest {
private static final GenericContainer<?> APP;
private static final GenericContainer<?> MYSQL_CONTAINER;
private static final Network NETWORK = Network.newNetwork();
protected static final WireMockServer MOCK_SERVER;
/* Containers are initialized in static block to create only once in test execution */
static {
/*Init MockServer*/
@gbzarelli
gbzarelli / acceptance-test-build-plugins_pom.xml
Last active November 14, 2021 14:00
Build plugins in acceptance-test module
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker-maven-plugin.version}</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<goals>
@gbzarelli
gbzarelli / testcontainers_RabbitMQClient.java
Created November 10, 2021 06:45
Sample client rabbitmq with test containers
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
import org.testcontainers.containers.RabbitMQContainer;
public class RabbitMQClient {
public static void sendMessage(final RabbitMQContainer rabbitMQContainer, final String queue,
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
ARG JAVA_PACKAGE=java-11-openjdk-headless
ARG RUN_JAVA_VERSION=1.3.8
ENV FLYWAY_VERSION 7.5.2
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
# Install java and the run-java script
# Also set up permissions for user `1001`
RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} tar gzip \