📊 Veri Analizi Kodları

Python ile veri analizi dünyasına hoş geldiniz! 🐍
Gerçek projelerden kod örnekleri, ipuçları ve deneyimlerimi paylaşıyorum.

5+
Yıl Deneyim
50+
Proje
100K+
Veri Satırı
📚 Tarihçe 🔬 Bilim 🌟 Evrim

📖 Veri Biliminin Fascinant Tarihçesi

Veri bilimi modern bir alan gibi görünse de kökleri asırlara uzanır. İstatistikten makine öğrenmesine, bilgisayar biliminden matematiğe... İşte bu interdisipliner alanın büyüleyici yolculuğu! 🚀

📊 1662 - İstatistiğin Doğuşu
John Graunt, doğum ve ölüm kayıtlarını analiz ederek modern demografinin temellerini attı.
📈 1805 - En Küçük Kareler Yöntemi
Adrien-Marie Legendre, veri noktalarına en iyi uyan çizgiyi bulmak için matematiksel temeli oluşturdu.
🤖 1943 - İlk Neural Network
Warren McCulloch ve Walter Pitts, yapay sinir ağlarının matematiksel modelini geliştirdi.
💻 1962 - "Data Science" Terimi
John Tukey, "The Future of Data Analysis" makalesinde veri analizinin geleceğini öngördü.
🌐 1997 - "Data Science" Resmen Doğdu
Jeff Wu, "Statistics = Data Science?" başlıklı konuşmasında terimi akademik dünyaya tanıttı.
🚀 2001 - Big Data Çağı
Doug Laney, "3V Model" (Volume, Velocity, Variety) ile büyük veri kavramını tanımladı.
🏆 2012 - "Sexiest Job of 21st Century"
Harvard Business Review, veri bilimciliğini "21. yüzyılın en çekici mesleği" ilan etti.
🤖 2025 - AI ve ML Devrimi
ChatGPT, GPT-4, ve büyük dil modellerinin yaygınlaşmasıyla veri bilimi democratize oldu.
🌟 İlginç Gerçekler:
  • 📊 Florence Nightingale (1850'ler): Hastane ölüm oranlarını görselleştiren ilk "data scientist"
  • 🎯 Netflix Prize (2006): $1M ödüllü yarışma, makine öğrenmesini popülerleştirdi
  • 🚀 Google MapReduce (2004): Big data processing'in temellerini attı
  • 💡 R Dili (1993): İstatistikçiler için özel olarak geliştirildi
  • 🐍 Python'un Yükselişi (2010'lar): Pandas ve NumPy ile veri biliminin vazgeçilmezi oldu
📈 Günümüzde Veri Bilimi:
  • 2.5 quintillion bytes veri/gün üretiliyor
  • Dünya genelinde 11.5M veri bilimci
  • Ortalama maaş: $95K - $165K
  • %35 yıllık büyüme oranı
🔮 Gelecek Trendleri:
  • AutoML ve Citizen Data Science
  • Edge Computing ve IoT Analytics
  • Ethical AI ve Bias Detection
  • Quantum Machine Learning
🔄 Metodoloji 📋 CRISP-DM ⚡ Agile

🔄 Veri Bilimi Proje Metodolojileri

Başarılı bir veri bilimi projesi sadece teknik becerilerle değil, doğru metodoloji ile yürütülür. İşte endüstride en çok kullanılan yaklaşımlar ve gerçek projelerden deneyimlerim...

🎯 CRISP-DM: Altın Standart
1️⃣ Business Understanding
  • Problem tanımı ve KPI belirleme
  • Başarı kriterlerinin netleştirilmesi
  • Stakeholder'larla uyum sağlama
2️⃣ Data Understanding
  • Veri kaynaklarının keşfi
  • Exploratory Data Analysis (EDA)
  • Veri kalitesi değerlendirmesi
3️⃣ Data Preparation
  • Veri temizleme ve transformation
  • Feature engineering
  • Train/validation/test split
4️⃣ Modeling
  • Algoritma seçimi ve tuning
  • Cross-validation
  • Model karşılaştırma
5️⃣ Evaluation
  • Performans metrikleri analizi
  • Business value assessment
  • Model interpretation
6️⃣ Deployment
  • Production deployment
  • Monitoring ve maintenance
  • Feedback loop oluşturma
⚡ Agile Data Science Yaklaşımım
# Agile Data Science Sprint Planı (2 haftalık iterasyon)

## Sprint 1: Data Discovery & Quick Wins
Week 1:
- [ ] Stakeholder interviews ve problem definition
- [ ] Data source mapping ve access setup
- [ ] Initial EDA ve data quality assessment
- [ ] Quick baseline model (simple heuristics)

Week 2:
- [ ] Data cleaning pipeline oluşturma
- [ ] Feature engineering brainstorming
- [ ] İlk ML model denemeleri
- [ ] Preliminary results stakeholder'lara sunma

## Sprint 2: Model Development
Week 3:
- [ ] Advanced feature engineering
- [ ] Multiple algorithm experimentation
- [ ] Hyperparameter tuning başlangıcı
- [ ] Cross-validation setup

Week 4:
- [ ] Model performance optimization
- [ ] Business metrics ile model alignment
- [ ] Model interpretability analizi
- [ ] Production readiness assessment

## Sprint 3: Deployment & Optimization
Week 5:
- [ ] Model deployment pipeline
- [ ] A/B testing framework setup
- [ ] Monitoring dashboard oluşturma
- [ ] Performance tracking

Week 6:
- [ ] Production deployment
- [ ] Live monitoring başlatma
- [ ] Feedback collection
- [ ] Next iteration planning
💼 Gerçek Proje Deneyimi: E-ticaret Churn Prediction

Problem: Müşteri kaybını %30 azaltma hedefi

  • Sprint 1: Historical data analizi, %15 baseline churn rate belirlendi
  • Sprint 2: RFM analysis + logistic regression, %18 improvement
  • Sprint 3: Random Forest + feature engineering, %28 improvement
  • Sprint 4: XGBoost + hyperparameter tuning, %35 improvement ✅
Final Results
89%
Accuracy
$2.4M
Annual Savings
🛠️ Proje Yönetim Araçlarım
📋 Planning & Tracking:
  • Jira: Sprint planning ve task tracking
  • Confluence: Documentation ve knowledge sharing
  • Slack: Team communication
  • GitHub: Version control ve code review
📊 Experiment Management:
  • MLflow: Model versioning ve tracking
  • Weights & Biases: Experiment visualization
  • DVC: Data version control
  • Jupyter: Interactive analysis
🇹🇷 Türkiye 🌟 Ekosistem 📈 Büyüme

🇹🇷 Türkiye'de Veri Bilimi: Ekosistem ve Fırsatlar

Türkiye'de veri bilimi hızla gelişen bir alan! 2025 itibarıyla ülkemizdeki veri bilimi ekosistemi, fırsatları ve geleceği hakkında gözlemlerim...

📊 Türkiye Veri Bilimi Manzarası
15K+
Veri Bilimci
500+
AI Startup
₺180K
Ortalama Maaş
%45
Yıllık Büyüme
🏢 Önde Gelen Şirketler ve Projeler
🚀 Teknoloji Devleri:
  • Trendyol: Recommendation engines, dynamic pricing
  • Getir: Demand forecasting, route optimization
  • BiTaksi: Real-time matching algorithms
  • Hepsiburada: Personalization ve fraud detection
  • Turkcell: Network optimization, customer analytics
🏦 Finansal Sektör:
  • Garanti BBVA: Risk modeling, anti-fraud
  • İş Bankası: Credit scoring, digital banking
  • Akbank: Customer segmentation, chatbots
  • Yapı Kredi: Mobile app personalization
  • QNB Finansbank: Behavioral analytics
🎓 Eğitim ve Topluluklar
🏫 Üniversiteler:
  • ODTÜ - Veri Bilimi Yüksek Lisans
  • Boğaziçi - Data Science Track
  • İTÜ - Artificial Intelligence Graduate Program
  • Bilkent - Machine Learning Courses
👥 Topluluklar:
  • Data Science Turkey (25K+ üye)
  • Python Istanbul
  • R-Ladies Istanbul
  • AI Turkey
🎪 Etkinlikler:
  • DataFest Turkey
  • AI Summit Istanbul
  • Python Conference Turkey
  • Kaggle Days
💡 Sektörel Uygulamalar
🏥 Sağlık:
  • Acıbadem: Medical imaging AI
  • Memorial: Patient flow optimization
  • MedyaNet: Healthcare analytics platform
🏭 Üretim:
  • Arçelik: Predictive maintenance
  • Ford Otosan: Quality control AI
  • Vestel: Supply chain optimization
🛒 E-ticaret:
  • N11: Dynamic pricing algorithms
  • Çiçeksepeti: Seasonal demand forecasting
  • Migros: Inventory optimization
🚗 Ulaşım:
  • İBB: Traffic flow optimization
  • Turkish Airlines: Revenue management
  • Metro İstanbul: Passenger analytics
🚀 Kişisel Gözlemlerim ve Öneriler
✅ Güçlü Yanlar:
  • Genç ve dinamik developer community
  • Hızla büyüyen startup ekosistemi
  • Güçlü matematik/mühendislik altyapısı
  • Global şirketlerin Türkiye merkezleri
🎯 Gelişim Alanları:
  • Daha fazla industry-academia işbirliği
  • Senior level talent eksikliği
  • Data governance ve ethics awareness
  • Sektörel specialized training programs

💭 Tavsiyem: Türkiye'de veri bilimi alanında kariyer yapmak isteyenler için en önemli şey sürekli öğrenme ve praktik proje deneyimi. Kaggle yarışmaları, GitHub portföyü ve networking bu alanda çok kritik!

🐍 Python 📈 Analiz 🚀 Gelecek

🎯 Neden Veri Analizi?

Geleceğe yön göstermek, dünyada bulunmayan tespitleri bulmak, anlamsız karmakarışık verileri anlamlı hale getirmek. Düşünürken bile insan heyecanlanır! 🤩

💡 Ana Hedeflerimiz:

  • 📊 Ham veriyi anlamlı bilgiye dönüştürmek
  • 🔮 Gelecek trendleri tahmin etmek
  • 🎯 Veri odaklı kararlar almak
  • 🚀 İnovasyona öncülük etmek
🛠️ Kullandığım Araçlar:
Python Pandas NumPy Matplotlib Seaborn Scikit-learn
🗄️ MS SQL ⚡ Performance 📊 Veri Çekme

🚀 SQL: Veri Analizinin Kalbi

SQL olmadan veri analizi düşünülemez! İşte gerçek projelerden bir kod örneği... 💪

📝 D4R Projesi - Veri Çekme Sorgusu
SELECT TOP (100) PERCENT 
    derivedtbl_1.adet, 
    derivedtbl_1.event, 
    dbo.table_gunler.tarih
FROM (
    SELECT TOP (100) PERCENT 
        dbo.Table_antep_trabzon_sakarya_events.event,
        dbo.[Dataset 1_SMS_RAW].date,
        COUNT(dbo.[Dataset 1_SMS_RAW].NUMBER_OF_REFUGEE_SMS) AS adet
    FROM dbo.[Dataset 1_SMS_RAW] 
    INNER JOIN dbo.Base_Station_Location 
        ON dbo.[Dataset 1_SMS_RAW].OUTGOING_SITE_ID = dbo.Base_Station_Location.BTS_ID 
    FULL OUTER JOIN dbo.Table_antep_trabzon_sakarya_events 
        ON dbo.[Dataset 1_SMS_RAW].date = dbo.Table_antep_trabzon_sakarya_events.date 
        AND dbo.Base_Station_Location.MX_SAHAIL = dbo.Table_antep_trabzon_sakarya_events.city
    GROUP BY 
        dbo.Base_Station_Location.MX_SAHAIL,
        dbo.Table_antep_trabzon_sakarya_events.event,
        dbo.[Dataset 1_SMS_RAW].date
    HAVING (dbo.Base_Station_Location.MX_SAHAIL = 'GAZIANTEP')
) AS derivedtbl_1 
FULL OUTER JOIN dbo.table_gunler 
    ON derivedtbl_1.date = dbo.table_gunler.tarih
ORDER BY dbo.table_gunler.tarih
💡 Bu Kod Ne Yapıyor?
  • 📱 SMS verilerini baz istasyonu konumları ile birleştiriyor
  • 🏢 Gaziantep ili özelinde analiz yapıyor
  • 📅 Tarihsel veri sıralaması sağlıyor
  • 🔗 Karmaşık JOIN işlemleri ile veri bütünlüğü koruyor

💡 İpucu: Bu SQL sorgusu D4R (Data for Refugees) projesi için geliştirildi.

🧠 ML 📊 70/30 🎯 Training

🎯 Altın Oran: %70 - %30 Kuralı

Machine Learning'in temel taşlarından biri: Veriyi doğru oranlarda bölmek! İşte Python ile nasıl yapılacağının püf noktaları... 🔥

🐍 Python - Veri Bölme İşlemi
# Veriyi %70 eğitim, %30 test olarak bölelim
xtrain_70_sms_full = df_sms_full['adet'].fillna(method="pad").head(int(len(df_sms_full)*0.7))
xtest_30_sms_full = df_sms_full['adet'].fillna(method="pad").tail(int(len(df_sms_full)*0.3))

ytrain_70_sms_full = df_sms_full['event'].fillna(value=0).head(int(len(df_sms_full)*0.7))
ytest_30_sms_full = df_sms_full['event'].fillna(value=0).tail(int(len(df_sms_full)*0.3))

# Veri boyutlarını kontrol edelim
print(f"📊 Eğitim verisi boyutu: {len(xtrain_70_sms_full)}")
print(f"🧪 Test verisi boyutu: {len(xtest_30_sms_full)}")
print(f"✅ Toplam veri: {len(df_sms_full)}")
🧠 Bu Koddan Öğrenilenler:
  • fillna(method="pad") → Eksik verileri önceki değerle doldur
  • head() → İlk %70'lik kısmı al
  • tail() → Son %30'luk kısmı al
  • fillna(value=0) → Eksik verileri 0 ile doldur
  • int(len()*0.7) → %70 hesapla
  • int(len()*0.3) → %30 hesapla
💡 Pro Tip:

Neden %70-%30? Bu oran, modelin hem yeterince eğitim alması hem de güvenilir test sonuçları vermesi için optimum dengedir. Küçük veri setlerinde %80-%20 de kullanılabilir!

🚀 Big Data ⚡ Performance 📊 ETL

🏗️ Büyük Veri İşleme: ETL Pipeline'ları

Milyonlarca kayıt ile çalışırken performans kritiktir! İşte büyük veri projelerinde kullandığım ETL (Extract, Transform, Load) tekniklerinden örnekler...

🔧 Pandas ile Hızlı Veri İşleme
# Büyük CSV dosyalarını chunk'lara bölerek işleme
import pandas as pd
from tqdm import tqdm

def process_large_csv(file_path, chunk_size=10000):
    """
    Büyük CSV dosyalarını memory-efficient şekilde işler
    """
    processed_data = []
    
    # Chunk'lara bölerek oku
    for chunk in tqdm(pd.read_csv(file_path, chunksize=chunk_size)):
        # Veri temizleme
        chunk_cleaned = chunk.dropna()
        chunk_cleaned['processed_date'] = pd.to_datetime(chunk_cleaned['date'])
        
        # Feature engineering
        chunk_cleaned['hour'] = chunk_cleaned['processed_date'].dt.hour
        chunk_cleaned['day_of_week'] = chunk_cleaned['processed_date'].dt.dayofweek
        
        processed_data.append(chunk_cleaned)
    
    # Tüm chunk'ları birleştir
    final_data = pd.concat(processed_data, ignore_index=True)
    return final_data

# Kullanım
df_processed = process_large_csv('large_dataset.csv', chunk_size=50000)
🎯 Gerçek Proje Deneyimi:
  • 📈 E-ticaret Analizi: 2M+ müşteri verisi, günlük satış trendleri
  • 🏥 Sağlık Verileri: Hasta kayıtları, tedavi sonuçları analizi
  • 📱 Telekomünikasyon: Call center verileri, müşteri segmentasyonu
  • 🏢 İnsan Kaynakları: Çalışan performans metrikleri
📊 Görselleştirme 🎨 Dashboard 📈 Plotly

🎨 Etkileşimli Dashboard'lar: Hikaye Anlatma

Veri analizi sadece sayılar değil, hikaye anlatma sanatıdır. İşte müşterilere sunduğum dashboard örneklerinden...

🌟 Plotly ile İnteraktif Grafikler
import plotly.graph_objects as go
import plotly.express as px
from plotly.subplots import make_subplots

def create_sales_dashboard(df):
    """
    Satış verisi için kapsamlı dashboard oluşturur
    """
    # Ana figür layout'u
    fig = make_subplots(
        rows=2, cols=2,
        subplot_titles=('Günlük Satışlar', 'Kategori Dağılımı', 
                       'Müşteri Segmentleri', 'Trend Analizi'),
        specs=[[{"type": "scatter"}, {"type": "pie"}],
               [{"type": "bar"}, {"type": "scatter"}]]
    )
    
    # Günlük satış trendi
    fig.add_trace(
        go.Scatter(x=df['date'], y=df['sales'],
                  mode='lines+markers',
                  name='Günlük Satış',
                  line=dict(color='#1f77b4', width=3)),
        row=1, col=1
    )
    
    # Kategori pasta grafiği
    category_counts = df['category'].value_counts()
    fig.add_trace(
        go.Pie(labels=category_counts.index, 
               values=category_counts.values,
               name="Kategoriler"),
        row=1, col=2
    )
    
    # Layout güncellemeleri
    fig.update_layout(
        title_text="📊 E-Ticaret Satış Dashboard",
        title_x=0.5,
        showlegend=True,
        height=800
    )
    
    return fig

# Dashboard'ı göster
dashboard = create_sales_dashboard(sales_df)
dashboard.show()
💼 Müşteri Projeleri:
  • 🛒 E-ticaret Dashboard: Real-time satış takibi, stok analizi
  • 📱 Mobil App Analytics: Kullanıcı davranışları, retention analizi
  • 🏭 Üretim Takibi: Makine performansı, kalite kontrol metrikleri
  • 💰 Finansal Raporlama: Risk analizi, yatırım portföyü takibi
🤖 ML 🚀 Production ⚙️ MLOps

🚀 Production'da Machine Learning

Laboratuvar ortamından gerçek dünyaya: Production-ready ML modelleri nasıl geliştirilir? İşte gerçek projelerden deneyimlerim...

🔄 Model Deployment Pipeline
import joblib
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
import mlflow
import mlflow.sklearn

class MLPipeline:
    def __init__(self, model_name="customer_churn_model"):
        self.model_name = model_name
        self.model = None
        
    def prepare_data(self, df):
        """Veri ön işleme"""
        # Feature engineering
        df['tenure_years'] = df['tenure'] / 12
        df['charges_per_month'] = df['total_charges'] / df['tenure']
        
        # Kategorik değişkenleri encode et
        df_encoded = pd.get_dummies(df, drop_first=True)
        
        return df_encoded
    
    def train_model(self, X_train, y_train):
        """Model eğitimi"""
        with mlflow.start_run():
            # Model oluştur
            self.model = RandomForestClassifier(
                n_estimators=100,
                max_depth=10,
                random_state=42
            )
            
            # Eğit
            self.model.fit(X_train, y_train)
            
            # MLflow'a kaydet
            mlflow.sklearn.log_model(self.model, self.model_name)
            mlflow.log_params({
                "n_estimators": 100,
                "max_depth": 10
            })
            
        return self.model
    
    def predict(self, X_new):
        """Tahmin yapma"""
        if self.model is None:
            raise ValueError("Model henüz eğitilmedi!")
            
        predictions = self.model.predict(X_new)
        probabilities = self.model.predict_proba(X_new)
        
        return predictions, probabilities
    
    def save_model(self, filepath):
        """Modeli kaydet"""
        joblib.dump(self.model, filepath)
        print(f"Model {filepath} konumuna kaydedildi")

# Kullanım örneği
pipeline = MLPipeline()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = pipeline.train_model(X_train, y_train)
pipeline.save_model("churn_model.pkl")
🏆 Başarılı Projeler:
  • 📞 Müşteri Churn Prediction: %89 doğruluk oranı
  • 💳 Kredi Risk Analizi: Otomatik karar sistemi
  • 🎯 Recommendation Engine: E-ticaret ürün önerileri
  • 📊 Demand Forecasting: Stok optimizasyonu
  • 🔍 Anomaly Detection: Fraud detection sistemi
  • 📝 NLP Sentiment Analysis: Sosyal medya analizi
⚡ Real-time 🔥 Streaming 📡 Kafka

⚡ Gerçek Zamanlı Veri İşleme

Modern işletmelerde anlık karar verme kritiktir. Streaming data ile gerçek zamanlı analytics nasıl yapılır?

🌊 Streaming Data Pipeline
import pandas as pd
from kafka import KafkaConsumer, KafkaProducer
import json
from datetime import datetime
import redis

class RealTimeAnalytics:
    def __init__(self):
        self.consumer = KafkaConsumer(
            'user_events',
            bootstrap_servers=['localhost:9092'],
            value_deserializer=lambda x: json.loads(x.decode('utf-8'))
        )
        self.redis_client = redis.Redis(host='localhost', port=6379, db=0)
        
    def process_events(self):
        """Gerçek zamanlı event işleme"""
        for message in self.consumer:
            event_data = message.value
            
            # Event tipine göre işlem
            if event_data['event_type'] == 'page_view':
                self.update_page_views(event_data)
            elif event_data['event_type'] == 'purchase':
                self.update_sales_metrics(event_data)
            elif event_data['event_type'] == 'user_signup':
                self.update_user_metrics(event_data)
                
    def update_page_views(self, event):
        """Sayfa görüntüleme sayaçlarını güncelle"""
        page = event['page']
        timestamp = datetime.now().strftime('%Y-%m-%d:%H')
        
        # Redis'te sayaçları güncelle
        self.redis_client.incr(f"page_views:{page}:{timestamp}")
        self.redis_client.incr(f"total_page_views:{page}")
        
    def get_realtime_stats(self):
        """Anlık istatistikleri getir"""
        current_hour = datetime.now().strftime('%Y-%m-%d:%H')
        
        stats = {
            'current_hour_views': self.redis_client.get(f"page_views:home:{current_hour}") or 0,
            'total_views': self.redis_client.get("total_page_views:home") or 0,
            'active_users': self.redis_client.scard("active_users")
        }
        
        return stats

# Kullanım
analytics = RealTimeAnalytics()
analytics.process_events()  # Sürekli çalışır
🚀 Uygulama Alanları:
  • 📱 Mobil App Monitoring: Kullanıcı davranışları, crash tracking
  • 🛒 E-ticaret: Anlık satış takibi, stok uyarıları
  • 🏭 IoT Sensör Verileri: Makine durumu, predictive maintenance
  • 💰 Financial Trading: Market data analizi, risk management

🎯 Uzmanlık Alanlarım

� Veri Analizi & Görselleştirme
Python, R, Tableau, Power BI
🤖 Machine Learning & AI
Sklearn, TensorFlow, PyTorch
🗄️ Veritabanı Yönetimi
SQL Server, PostgreSQL, MongoDB
⚡ Big Data & Cloud
Apache Spark, AWS, Azure
📱 Web Development
Python Flask, React, API Development

📚 Önerilen Kaynaklar

📖 Python Data Science Handbook
Jake VanderPlas - Temel veri bilimi
📊 Hands-On Machine Learning
Aurélien Géron - Praktik ML
🧠 Pattern Recognition ML
Christopher Bishop - İleri seviye
🔥 Deep Learning
Ian Goodfellow - Deep learning bible
📈 Storytelling with Data
Cole Nussbaumer Knaflic - Visualization

🛠️ Günlük Araçlarım

Python Pandas NumPy Matplotlib Seaborn Plotly Scikit-learn TensorFlow Jupyter VS Code Git Docker SQL Server PostgreSQL Redis Apache Kafka AWS Azure

📈 Son Projeler

🛒 E-ticaret Analytics Dashboard
Real-time satış takibi ve müşteri analizi
Python, Plotly, Redis
🤖 Customer Churn Prediction
%89 doğruluk ile müşteri kaybı tahmini
ML, Random Forest, Flask API
📊 IoT Sensor Analytics
Makine performansı ve predictive maintenance
Streaming, Kafka, Time Series
💰 Financial Risk Assessment
Kredi risk analizi ve otomatik karar sistemi
ML, Feature Engineering, APIs

💬 Benimle İletişime Geçin

Veri bilimi, machine learning ve teknoloji hakkında konuşmak isterseniz:


📊 Blog İstatistikleri
25+
Makale
10K+
Okuyucu
50+
Kod Örneği