Skip to content

Instantly share code, notes, and snippets.

@umit
umit / things-i-believe.md
Created February 11, 2020 08:30 — forked from stettix/things-i-believe.md
Things I believe

Things I believe

This is a collection of the things I believe about software development. I have worked for years building backend and data processing systems, so read the below within that context.

Agree? Disagree? Feel free to let me know at @JanStette. See also my blog at www.janvsmachine.net.

Fundamentals

Keep it simple, stupid. You ain't gonna need it.

@umit
umit / pub_sub_test.go
Created December 3, 2019 12:41
Pub sub testcontainers for gcp
import (
"cloud.google.com/go/pubsub"
"context"
"fmt"
"github.com/testcontainers/testcontainers-go/wait"
"log"
"net/http"
"os"
"time"
@umit
umit / BasicTcpClient.java
Created August 9, 2019 08:37
BasicTcpClient
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.Socket;
public final class BasicTcpClient implements AutoCloseable {
private static final int READ_BUF_LEN = 4096;
private final Socket socket;
@umit
umit / HandlerMethodArgumentResolverTest.java
Created November 19, 2018 18:20
HandlerMethodArgumentResolverTest.java
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.MethodParameter;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
@umit
umit / kubeconfig.yaml
Last active September 24, 2018 14:54
Minikube Config
apiVersion: v1
clusters:
- cluster:
certificate-authority: /Users/umitunal/.minikube/ca.crt
server: https://192.168.99.100:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
@umit
umit / dashboard-full-access.yaml
Created September 13, 2018 20:24
dashboard-full-access.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
@umit
umit / ElasticsearchConfigTest.java
Created August 31, 2018 13:21
Elasticsearch Test Containers
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.testcontainers.containers.FixedHostPortGenericContainer;
import org.testcontainers.containers.GenericContainer;
@umit
umit / docker-compose.yaml
Last active July 4, 2018 06:35
Elasticsearch Docker compose
version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
@umit
umit / pom.xml
Created June 6, 2018 21:30
Liquibase diff from prod
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://localhost:5432/api</url>
<username>root</username>
<password>123qwe</password>
@umit
umit / RetryRestTemplate.java
Last active May 29, 2018 15:25
RetryRestTemplate
import org.springframework.stereotype.Component;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Schedulers;
import reactor.retry.Retry;
import reactor.retry.RetryExhaustedException;
import java.time.Duration;
import java.util.function.Supplier;
@Component