Skip to content

Instantly share code, notes, and snippets.

View baybatu's full-sized avatar
🏠
Working from home

Batuhan Bayrakci baybatu

🏠
Working from home
View GitHub Profile
@baybatu
baybatu / java-ontanimli-kuralla-siralama.md
Created December 9, 2019 08:28
Java'da öntanımlı bir listeye göre sıralama yapmak
List<String> kurallar = Arrays.asList("ahmet", "veli", "mehmet");
List<String> sonuc = Arrays.asList("veli", "mehmet", "ahmet").stream()
  .sorted(Comparator.comparing(isim -> kurallar.indexOf(isim)))
  .collect(Collectors.toList());
assertThat(sonuc).isEqualTo(Arrays.asList("ahmet", "veli", "mehmet"));

Kaynak: https://stackoverflow.com/a/5245214

@baybatu
baybatu / twitterserver-admin-port.md
Last active August 29, 2019 11:13
Specifying admin port on TwitterServer

Pass following as program an argument

java -jar app.jar -admin.port=:9999
@baybatu
baybatu / run-kibana.sh
Last active June 12, 2019 08:28
Run Kibana for parameterized Elasticsearch. Kudos @mesut
#!/bin/bash
# USAGE: run-kibana.sh http://localhost:9200
echo "Running kibana for es host:$1"
docker run --name kibana -d -p 5601:5601 \
-e ELASTICSEARCH_HOSTS=$1 \
-e XPACK_GRAPH_ENABLED=false \
-e XPACK_ML_ENABLED=false \
@baybatu
baybatu / create-rabbitmq-exchange-queue-using-rest-api.sh
Created April 2, 2019 06:35
Create RabbitMQ queue and exchange with binding using REST API
# create exchange
curl -i -u guest:guest -H "content-type:application/json" \
-XPUT -d'{"type":"fanout","durable":true}' \
http://localhost:15672/api/exchanges/%2f/my.exchange.name
# create queue
curl -i -u guest:guest -H "content-type:application/json" \
-XPUT -d'{"durable":true,"arguments":{"x-dead-letter-exchange":"", "x-dead-letter-routing-key": "my.queue.dead-letter"}}' \
http://localhost:15672/api/queues/%2f/my.queue
@baybatu
baybatu / SpringCouchbaseIdGeneration.java
Created March 23, 2019 20:02
spring-data-couchbase ile otomatik document ID üretimi
@Document
public class OrnekDokuman {
@Id
@GeneratedValue(strategy = GenerationStrategy.UNIQUE) // UUID
String id;
}
@baybatu
baybatu / liquibase-changelog.sh
Created February 4, 2019 08:26
Generate Liquibase changelog SQLs on CLI
java -jar liquibase.jar \
--driver=org.postgresql.Driver \
--classpath=postgresql-9.4.1208.jre6.jar \
--changeLogFile=/workspace/product-api/src/main/resources/db/changelog.xml \
--url="jdbc:postgresql://localhost:5432/product" \
--username=root \
--password=123qwe \
updateSQL
@baybatu
baybatu / ReIndexJenkinsfile
Last active February 4, 2019 06:08
ReIndex Elasticsearch index from one to another on Jenkinsfile. Example transfer happens from `products_v1` to `products_v2` index
#!/usr/bin/env groovy
node {
stage('checkout') {
checkout scm
}
stage("Reindex") {
String esHost = params.esHost //example: localhost:9200
String oldIndexVersion = params.oldIndexVersion //example: v1
String newIndexVersion = params.newIndexVersion //example: v2
@baybatu
baybatu / SwitchAliasJenkinsfile
Last active February 4, 2019 06:10
Switch `products` Elasticsearch alias between index versions on Jenkinsfile. Switching happens from `products_v1` to `products_v2`
#!/usr/bin/env groovy
node {
stage('checkout') {
checkout scm
}
stage("Switch alias between index versions") {
String esHost = params.esHost //example: localhost:9200
String oldIndexVersion = params.oldIndexVersion //example: v1
String newIndexVersion = params.newIndexVersion //example: v2