Skip to content

Instantly share code, notes, and snippets.

View batuhannoz's full-sized avatar
🎯
Focusing

Batuhan Özdemir batuhannoz

🎯
Focusing
  • Istanbul / Turkey
View GitHub Profile
@batuhannoz
batuhannoz / plantuml
Created November 1, 2025 12:02
Paxos Sequence Diagram
@startuml
!theme plain
participant Client
participant Proposer
box "Acceptors" #LightGrey
participant A
participant B
participant C
@batuhannoz
batuhannoz / plantuml
Created October 22, 2025 13:27
Outbox Pattern
@startuml
!theme plain
title Outbox Pattern: Atomik Veritabanı İşlemi
autonumber "<b>[0]"
actor "Client" as client
participant "Order Service" as service
box "Veritabanı" #LightBlue
database "Orders Tablosu" as orders_db
database "Outbox Tablosu" as outbox_db
@batuhannoz
batuhannoz / plantuml
Created October 22, 2025 13:27
Message Relay: Polling Publisher
@startuml
!theme plain
title Message Relay: Polling Publisher Yaklaşımı
' Katılımcıları Relay ortada olacak şekilde yeniden düzenle
box "Veritabanı" #LightBlue
database "Outbox Tablosu" as outbox_db
end box
participant "Message Relay\n(Arka Plan Süreci)" as relay
queue "Message Broker\n(RabbitMQ, Kafka vb.)" as broker
@batuhannoz
batuhannoz / plantuml
Created October 22, 2025 13:26
Message Relay: Change Data Capture (CDC)
@startuml
!theme plain
title Message Relay: Change Data Capture (CDC) Yaklaşımı
participant "Order Service" as service
box "Veritabanı" #LightBlue
database "Outbox Tablosu" as outbox_db
database "Transaction Log (WAL)" as wal
end box
participant "CDC Aracı\n(Debezium)" as cdc
@batuhannoz
batuhannoz / penta.go
Created October 3, 2022 15:46
simple pentago game playable from terminal
package main
import (
"errors"
"fmt"
)
/*
coordinates
package main
import (
"fmt"
"unicode"
)
func CamelCase (str string) string {
runes := []rune(str)
var runes2 []rune
package main
import "fmt"
func AlphabetSoup(str string) string {
runes := []rune(str)
for i:=0; i <= len(runes)-2; i++ {
for i:=0; i <= len(runes)-2; i++ {
if runes[i] > runes[i+1] {
runes[i], runes[i+1] = runes[i+1], runes[i]
package main
import (
"fmt"
"unicode"
)
func LetterChanges(str string) string {
runes := []rune(str)
for i := 0; i <= len(runes) - 1; i++ {
// This example demonstrates how to authenticate with Spotify using the authorization code flow.
// In order to run this example yourself, you'll need to:
//
// Register an application at: https://developer.spotify.com/my-applications/
// - Use "http://localhost:8080/callback" as the redirect URI
package main
import (
"context"
package main
import "fmt"
func FirstReverse(str string) string {
runes := []rune(str)
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
runes[i], runes[j] = runes[j], runes[i]
}
str = string(runes)