Skip to content

Instantly share code, notes, and snippets.

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

Cem Topkaya cemtopkaya

🏠
Working from home
View GitHub Profile
@cemtopkaya
cemtopkaya / kind.md
Created October 29, 2025 06:26
Kind ile kubernetes kümesi oluşturma

💡 Kind Nedir?

Kind (Kubernetes in Docker), yerel Kubernetes kümelerini Docker kapsayıcılarını düğüm olarak kullanarak çalıştırmak için tasarlanmış hafif bir araçtır.

  • Amaç: Başlangıçta Kubernetes'in kendisini test etmek için geliştirilmiştir, ancak artık yerel geliştirme, prototip oluşturma ve CI (Sürekli Entegrasyon) ortamları için idealdir.
  • Çalışma Prensibi: Her Kind düğümü (Node), bir Docker kapsayıcısı içinde çalışır ve Kubernetes, kubeadm kullanılarak bu kapsayıcıların içinde başlatılır.
  • Avantajları:
    • Hafif ve hızlıdır; sadece Docker veya Podman gerektirir.
    • Sanal makine (VM) ek yükü olmadan doğrudan kapsayıcılarda çalışır.
  • Hızlı prototipleme ve test etme imkanı sunar.
@cemtopkaya
cemtopkaya / Debian Temelli Yansılar.Dockerfile
Created September 29, 2025 19:44
Komut satırı uygulamalarının (docker, kubectl, helm ...) autocomplete özelliği kazanması için
# --- Docker CLI kurulumu -----------------------------------------------------
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list && \
apt-get update && \
# Add Docker's official GPG key:
install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
# Add the repository to Apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
@cemtopkaya
cemtopkaya / docker-compose-cloudbeaver.yaml
Last active September 23, 2025 12:44
Cloudbeaver without initial setup screen
# After launching the Docker containers, you can log in with:
# CB_ADMIN_NAME: "cbadmin"
# CB_ADMIN_PASSWORD: "q1w2e3r4"
#
# Then, you can create new connections and save their credentials by enabling:
# Save credentials for all users with access
#
# All created files will be stored in this directory after adding a connection:
# ./services/cloudbeaver/volume/workspace/GlobalConfiguration/.dbeaver
#
@cemtopkaya
cemtopkaya / nexus_npm_registry.md
Created September 8, 2025 21:53
NEXUS Community sürümünde NPM Kütüğü (Registry) oluşturacağız.

NEXUS Sunucusunda Özel NPM Kütüğü Oluşturmak ve NPM Paketi Yüklemek

Önce Nexus'u Ayarlayalım

Kullanacağımız NEXUS sürümü 3.83.0-08 ve docker kalıbı sonatype/nexus3:3.83.2-alpine.

nexusTempVolume="/tmp/nexusVolume"
mkdir -p $nexusTempVolume
cd $nexusTempVolume
@cemtopkaya
cemtopkaya / README.md
Last active September 2, 2025 18:19
Etiketlerin öncülünü bulmak için örnek
/bin/bash
cd /Users/cemt/projects/cop/git-tag
alias ll="ls -al --color"
rm -rf myrepo master_1
git config --global init.defaultBranch master


# 1. Adım: repo hazırlığı
git init myrepo
@cemtopkaya
cemtopkaya / debug.md
Created August 13, 2025 17:07
Uygulamaların hata ayıklama modu

“hangi program, hangi dil, hangi debugger” ?

Mesela: • Java ise: Başlatma parametrelerine -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 gibi bir ek yaparsın, sonra IDE’den (IntelliJ, VS Code) remote debug ile 5005’e bağlanırsın. • Node.js ise: Komutu node --inspect=0.0.0.0:9229 app.js şeklinde değiştirirsin, sonra Chrome DevTools ya da VS Code ile bağlanabilirsin. • Python ise: debugpy gibi bir modül ekleyip debugpy.listen(("0.0.0.0", 5678)) çağırırsın, ardından IDE bağlanır. • C/C++ ise: gdbserver :1234 ./program tarzı başlatırsın, sonra gdb ile attach olursun.

Docker veya benzeri bir konteyner ortamındaysa config dosyasına ek olarak: 1. Debug portunu container dışına açman lazım (ports: veya -p 5005:5005 gibi).

@cemtopkaya
cemtopkaya / controller.js
Created June 15, 2025 06:43
MVC desenine uygun vanillajs web sayfası örneği
// controller.js KONTROLLER Katmanı (Beyin)
class UserController {
constructor(model, view) {
this.model = model;
this.view = view;
this.view.onLoadUsersClick(this.handleLoadUsers.bind(this));
}
async handleLoadUsers() {
@cemtopkaya
cemtopkaya / index.html
Last active June 15, 2025 06:38
MVP desenine uygun vanillajs web sayfası örneği
<!-- index.html -->
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8" />
<title>MVP Örneği</title>
</head>
<body>
<h1>Kullanıcı Listesi</h1>
<button id="load-users">Kullanıcıları Yükle</button>
Yapı View Veri Gösterimi İş Mantığı View'dan Veri Tetikleme
MVP Presenter ile Presenter Event binding + Presenter
MVC Controller ile Controller Direkt Controller
MVVM Data Binding (2 yönlü) ViewModel Observable yapılar
@cemtopkaya
cemtopkaya / front-end-phase.csv
Last active June 14, 2025 22:46
Ön yüz geliştirmede kullanılan teknik, mimari, desenler vs.
We can make this file beautiful and searchable if this error is corrected: Unclosed quoted field in line 10.
Kategori,Örnekler / Akımlar,Kısa Açıklama
Mimarî Yaklaşımlar,"MVC, MVVM, MVP, Component-based, Micro Frontend",Arayüzü mantıksal katmanlara ayırma biçimleri
Sayfa Yükleme Modelleri,"MPA (Multi Page App), SPA, SSR, SSG, ISR",Kullanıcıya içeriğin nasıl ulaştığıyla ilgili mimarîler
Modül Sistemleri,"AMD, CommonJS, ES Modules, Module Federation",Kodun parçalanması ve tekrar kullanılabilirliği
Durum Yönetimi,"Redux, MobX, Zustand, Signals, React Context",Uygulama verisinin bileşenler arası paylaşımı ve güncellenmesi
Şablonlama Sistemleri,"Handlebars, EJS, JSX, Vue Templates",HTML üretimini kolaylaştıran yapı taşları
İstemci-Sunucu İletişimi,"AJAX, Fetch, GraphQL, WebSockets",Tarayıcının veri alıp göndermesiyle ilgili yöntemler
Render Yöntemleri,"CSR (Client Side), SSR (Server Side), Hybrid, Edge","İçeriğin kim tarafından, nerede üretildiği"
Stil Sistemleri,"CSS, SASS, CSS-in-JS, Tailwind, BEM",Arayüz görünümünün nasıl tanımlandığı
Paketleyiciler (Bundler),"Webpack, Rollup, Vite, Parcel","Kodun üretim ortamına hazı