Anasayfa Web Geliştirme ve Programlama

Web Geliştirme ve Programlama

Tarafından Receb A.
15 makaleler

HTML Nedir?

Merhaba, web geliştirme dünyasının tutkunu! Dijital çağda, bir web sitesini sıfırdan oluşturmanın temeli olan HTML (HyperText Markup Language), her geliştiricinin vazgeçilmezi. Eğer "HTML nedir" diye soruyorsanız, bu yazı tam size göre: Başlangıç seviyesinden ileri seviyeye kadar, HTML'in tarihini, temel yapısını, HTML5 yeniliklerini, erişilebilirlik standartlarını, CSS ve JavaScript entegrasyonunu, örnek kod parçacıklarını, yaygın hataları, mobil uyumlu tasarım ipuçlarını ve pratik egzersizleri kapsayan en detaylı rehber. Kaliteweb gibi güvenilir bir hosting sağlayıcısıyla sitenizi yayınladığınızda, HTML'in gücüyle milyonlara ulaşabilirsiniz. Hazırsanız, HTML'in büyüleyici dünyasına adım atalım! HTML'in Tarihi: Web'in Temel Taşının Evrimi HTML, web'in omurgası olarak 1980'lerin sonundan beri evrilen bir dildir. HTML nedir sorusunun kökeni, CERN'de çalışan fizikçi Tim Berners-Lee'ye dayanır. 1989'da Berners-Lee, bilimsel belgeleri paylaşmak için bir sistem tasarladı ve 1991'de ilk HTML versiyonunu yayınladı. Bu ilk sürüm, sadece 18 etiket içeriyordu ve hipermetin bağlantıları (hypertext) ile markup dili (markup language) kavramlarını birleştiriyordu. HTML 1.0 (1993), temel metin formatlaması ve bağlantılarla sınırlıydı; tablolar veya resimler yoktu. 1990'ların ortalarında, HTML 2.0 (1995) IETF tarafından standartlaştırıldı ve formlar eklendi. HTML 3.2 (1997), stil sayfaları ve tablo desteğini getirdi, ancak tarayıcı savaşları (Netscape vs Internet Explorer) standartlaşmayı zorlaştırdı. HTML 4.01 (1999), daha katı kurallar ve erişilebilirlik odaklı iyileştirmelerle geldi; XHTML 1.0 (2000) ise XML tabanlı bir varyasyondu. 2000'lerin başında, web 2.0'nin yükselişiyle HTML'in evrimi hızlandı. WHATWG (Web Hypertext Application Technology Working Group) 2004'te HTML5'i geliştirmeye başladı. W3C'nin 2014'te HTML5'i standartlaştırmasıyla, modern web doğdu. 2025 itibarıyla, HTML5'in son güncellemeleri (örneğin WCAG 2.2 entegrasyonu) erişilebilirlik ve performans odaklı. HTML'in evrimi, statik sayfalardan dinamik, interaktif uygulamalara geçişi simgeliyor – bugün 5 milyardan fazla web sitesi HTML kullanıyor. Bu tarih, HTML'in esnekliğini gösterir: Başlangıçta bilimsel paylaşım için tasarlanmışken, şimdi e-ticaret devleri ve mobil uygulamaların temelini oluşturuyor. İleri seviye geliştiriciler için, HTML'in XML kökenleri (XHTML) hala modüler kodlamada faydalı. HTML'in Temel Etiketleri ve Yapısı: Başlangıç Seviyesi Rehber HTML nedir ve nasıl yapılandırılır? HTML, etiketler (tags) ile metni ve içerikleri işaretleyen bir markup dilidir. Temel yapı, bir ağaç hiyerarşisidir: Kök <html>, başlık <head> ve gövde <body>. Bir HTML belgesi şöyle başlar: <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>İlk HTML Sayfam</title> </head> <body> <h1>Merhaba Dünya!</h1> <p>Bu bir paragraf etiketi.</p> </body> </html> Burada, <!DOCTYPE html> HTML5'i bildirir. <html lang="tr"> dilini tanımlar – SEO için kritik. <head> bölümünde meta etiketler (charset için UTF-8, viewport için mobil uyum) ve title yer alır. <body>'de içerik: <h1> başlık, <p> paragraf. Temel etiketler: - Yapısal Etiketler: <header>, <nav>, <main>, <footer>, <section>, <article> – semantik HTML için. - Metin Etiketleri: <strong> (kalın), <em> (italik), <a href="url"> (bağlantı), <img src="resim.jpg" alt="Açıklama"> (görsel – alt metin erişilebilirlik için zorunlu). - Liste Etiketleri: <ul> (sırasız liste), <ol> (sıralı), <li> (öğe). - Form Etiketleri: <form>, <input type="text">, <button>. İleri seviye: Etiketler kapanmalı (<p>Tekst</p>), öznitelikler (attributes) küçük harfle yazılır. Boş etiketler (void elements) kapanmaz: <br>, <hr>, <img>. HTML yapısı, DOM (Document Object Model) oluşturur – JS için temel. Pratik Egzersiz 1: Basit bir sayfa oluşturun. <head>'e meta ekleyin, <body>'ye başlık, paragraf ve bir bağlantı koyun. Tarayıcıda açın ve kodu validator.w3.org ile doğrulayın. HTML5 Yenilikleri: Modern Web'in Gücü (2025 Güncellemeleri) HTML5, 2014 standartıyla devrim yarattı ve 2025'te hala evriliyor. HTML5 nedir? Eski sürümlere göre semantik, multimedya ve API'ler eklenmiş hali. Başlıca yenilikler: 1. Semantik Etiketler: <header>, <footer>, <nav>, <article>, <aside> – SEO ve erişilebilirlik için. Örnek: <article><h2>Başlık</h2><p>İçerik</p></article>. 2. Multimedya Desteği: <audio src="ses.mp3" controls></audio>, <video src="video.mp4" width="400" controls poster="kapak.jpg"></video> – Flash'a gerek yok. 2025'te, <picture> etiketi responsive görseller için: <picture><source srcset="mobil.jpg" media="(max-width: 600px)"><img src="desktop.jpg" alt="Resim"></picture>. 3. Form İyileştirmeleri: <input type="email">, <input type="date">, <datalist> – doğrulama için. <progress value="70" max="100"> ilerleme çubuğu. 4. Canvas ve SVG: <canvas id="cizim" width="200" height="100"></canvas> grafik çizimi için (JS ile). <svg><circle cx="50" cy="50" r="40" fill="red"/></svg> vektör grafikler. 5. API'ler: Geolocation (navigator.geolocation.getCurrentPosition()), LocalStorage (localStorage.setItem('anahtar', 'değer')), Web Workers – arka plan işleri. 2025 yenilikleri: <dialog> modal pencere için (<dialog open><p>İçerik</p></dialog>), inert attribute (devre dışı bırakma), lazy loading (<img loading="lazy"> – performans için). İleri seviye: HTML5'in ARIA (Accessible Rich Internet Applications) entegrasyonu, dinamik içerik için. Pratik Egzersiz 2: Bir video player oluşturun. <video> etiketiyle bir video ekleyin, controls ve poster attribute'larını kullanın. Canvas ile basit bir çizim ekleyin. Erişilebilirlik Standartları: WCAG ve HTML HTML nedir ve neden erişilebilir olmalı? Erişilebilirlik, engelli kullanıcıların web'i kullanmasını sağlar. WCAG (Web Content Accessibility Guidelines) 2.2 (2023, 2025'te güncellenmiş), W3C'nin standartıdır: POUR prensipleri (Perceivable, Operable, Understandable, Robust). HTML'de erişilebilirlik: - Alt Metinler: <img alt="Açıklama"> – ekran okuyucular için zorunlu. - Semantik Yapı: <h1>-<h6> hiyerarşisi, <label for="id"> formlar için. - ARIA Etiketleri: <button aria-label="Kapat">X</button> – gizli içerik için. - Kontrast ve Renk: CSS ile WCAG AA (4.5:1 kontrast oranı). - Klavye Navigasyonu: <a href> ve <button> focusable olsun. Başlangıç: Tüm görsellerine alt ekleyin. İleri: <nav aria-label="Ana Menü"> ile landmark'lar tanımlayın. WCAG 2.2, mobil dokunma hedeflerini (44x44 piksel) ekler. Araçlar: WAVE veya Lighthouse ile test edin. Pratik Egzersiz 3: Bir form oluşturun. <input>'lara <label> ekleyin, bir resme alt metin verin. Ekran okuyucu simülasyonuyla (NVDA) test edin. CSS ve JavaScript Entegrasyonu: HTML'i Canlı Kılmak HTML yalnızken statik; CSS stil, JS etkileşim katar. Entegrasyon, web'in üçlü gücüdür. CSS Entegrasyonu: Üç yol: Inline (<p style="color:red;">), Internal (<style> p {color:red;} </style>), External (<link rel="stylesheet" href="stil.css"> – önerilen). Örnek: HTML'de <div class="kutu">İçerik</div>, CSS'de .kutu { background: blue; padding: 10px; }. JavaScript Entegrasyonu: <script src="script.js"></script> veya inline (<script>alert('Merhaba');</script>). DOM manipülasyonu: document.getElementById('id').innerHTML = 'Yeni';. Örnek Kod: Basit bir buton. HTML: <button id="buton">Tıkla</button> <p id="metin">Henüz tıklamadın.</p> JS: document.getElementById('buton').addEventListener('click', function() { document.getElementById('metin').innerHTML = 'Tıklandı!'; }); CSS: #buton { background: green; } İleri seviye: ES6+ (arrow functions), async/await API çağrıları için. 2025'te, Web Components (<custom-element>) ile modüler entegrasyon. Pratik Egzersiz 4: Bir sayfa yapın. External CSS ile stilleyin, JS ile buton ekleyin ki metni değiştirsin. Örnek Kod Parçacıkları: Pratik Uygulamalar Başlangıç örneği: Basit bir sayfa. <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <title>HTML Örneği</title> <style> body { font-family: Arial; } </style> </head> <body> <header><h1>Benim Sitem</h1></header> <nav><a href="#anasayfa">Anasayfa</a></nav> <main> <section> <article> <h2>İlk Makale</h2> <p>HTML ile yazıldı.</p> <img src="resim.jpg" alt="Örnek resim"> </article> </section> </main> <footer><p>&copy; 2025</p></footer> <script>console.log('HTML hazır!');</script> </body> </html> İleri örnek: Form ile JS doğrulama. HTML: <form id="form"> <label for="email">E-posta:</label> <input type="email" id="email" required> <button type="submit">Gönder</button> </form> JS: document.getElementById('form').addEventListener('submit', function(e) { e.preventDefault(); let email = document.getElementById('email').value; if (email.includes('@')) { alert('Geçerli!'); } else { alert('Hata!'); } }); Bu parçalar, HTML5 form validation'ını gösterir. Yaygın Hatalar ve Düzeltmeler: Kaçınmanız Gereken Tuzaklar HTML kodlamada hatalar yaygın; işte en sık olanlar. 1. Kapanmayan Etiketler: <p>Metin yerine <p>Metin</p>. Fix: Editörde auto-close kullanın (VS Code). 2. Yanlış DOCTYPE: Eski <!DOCTYPE HTML PUBLIC...> yerine <!DOCTYPE html>. Fix: HTML5 standartını kullanın. 3. Alt Metin Eksikliği: <img src="a.jpg"> yerine alt ekleyin. Fix: Her görsele descriptive alt verin. 4. Semantik Hatalar: <div> soup (aşırı div kullanımı) yerine semantik etiketler. Fix: <section> ve <article> tercih edin. 5. Öznitelik Hataları: HREF="url" yerine href="url". Fix: Küçük harf, tırnaklı. 6. Nesting Sorunları: <p><h1>Yanlış</h1></p> – p içinde h1 olamaz. Fix: Doğru hiyerarşi: Blok etiketler iç içe. 7. Charset Eksikliği: UTF-8 belirtmeyin, Türkçe karakterler bozulur. Fix: <meta charset="UTF-8">. İleri: Cross-browser uyum – IE desteği için polyfill'ler. Validator araçları (W3C) ile kontrol edin. Pratik Egzersiz 5: Hatalı bir kodu düzeltin. Kapanmayan etiketler ekleyin, validator ile test edin. Mobil Uyumlu Tasarım İpuçları: Responsive HTML Mobil uyum, 2025'te zorunlu – kullanıcıların %60'ı mobilden giriyor. HTML nedir ve mobil? Viewport meta ile başlar: <meta name="viewport" content="width=device-width, initial-scale=1.0">. İpuçları: 1. Semantik ve Esnek Yapı: Fluid grid'ler – CSS Grid/Flexbox ile: <div style="display: flex;">. 2. Media Queries: CSS'te @media (max-width: 600px) { body { font-size: 16px; } }. 3. Responsive Görseller: <img srcset="kucuk.jpg 300w, buyuk.jpg 800w" sizes="(max-width: 600px) 300px, 800px">. 4. Dokunma Hedefleri: Butonlar en az 44x44 piksel. 5. Mobile-First: Küçük ekranı önce tasarlayın, sonra genişletin. İleri: AMP (Accelerated Mobile Pages) için HTML5 subset'i kullanın. Kaliteweb'in hosting'inde, responsive siteler daha hızlı yüklenir. Pratik Egzersiz 6: Bir sayfayı responsive yapın. Viewport ekleyin, media query ile menüyü mobilde hamburger'a dönüştürün (JS ile). Pratik Egzersizler: Uygulamalı Öğrenme Yukarıdaki egzersizleri genişletelim: - Egzersiz 7 (İleri): Bir blog sayfası oluşturun. HTML5 semantik etiketler, CSS animasyonları ve JS ile yorum ekleme özelliği ekleyin. Erişilebilirlik için ARIA kullanın. - Egzersiz 8: Hatalı bir kodu debug edin. Yaygın hataları tespit edip düzeltin, Lighthouse ile skorunuzu 90+'ya çıkarın. Bu egzersizler, teoriyi pratiğe döker – GitHub'da paylaşın! HTML ile Web Geleceğini Şekillendirin HTML nedir? Web'in kalbi, evrilen bir dil. Bu rehberle, başlangıçtan ileri seviyeye hakim oldunuz – tarihinden mobil ipuçlarına. HTML5'in gücüyle, erişilebilir ve responsive siteler kurun. Kaliteweb'de yayınlayın, milyonlara ulaşın. Geliştirme yolculuğunuzda başarılar!

Son güncelleme tarihi Nov 21, 2025

PHP Nedir?

Dijital dünyanın temel taşlarından biri olan PHP, 2025 yılında hala web geliştirmenin vazgeçilmez bir parçası. Sunucu tarafı scripting dillerinin öncüsü olarak bilinen bu dil, milyonlarca web sitesini güçlendiriyor. İlk olarak Rasmus Lerdorf tarafından 1994’te geliştirilen PHP, Personal Home Page anlamına geliyordu; ancak zamanla Hypertext Preprocessor olarak evrildi. 2025’te PHP 8.4 sürümüyle, performans ve güvenlik iyileştirmeleriyle öne çıkıyor. Bu rehberde, PHP’nin tarihini ve evrimini, sunucu tarafı scripting özelliklerini, değişkenler, fonksiyonlar ve nesneler gibi temel kavramları, veritabanı entegrasyonunu (MySQL/PDO), popüler framework’leri (Laravel, Symfony), güvenlik pratiklerini, performans optimizasyon tekniklerini ve WordPress gibi CMS’lerde kullanımını derinlemesine inceleyeceğiz. Bolca kod örneği ve adım adım bir tutorial ile, PHP’yi projelerinizde ustalıkla kullanmak için ihtiyacınız olan her şeyi bulacaksınız. Kaliteweb gibi hosting sağlayıcılarıyla PHP uygulamalarınızı barındırarak, hızlı ve güvenli web siteleri oluşturabilirsiniz. Hazırsanız, PHP’nin büyülü dünyasına dalalım! PHP’nin Tarihi ve Evrimi: Bir Dilin Dönüşümü PHP’nin yolculuğu, 1994’te Rasmus Lerdorf’un kişisel web sayfalarını yönetmek için yazdığı bir araç setiyle başladı. O zamanlar C dilinde yazılmış basit bir script motoruydu. 1995’te PHP/FI (Forms Interpreter) olarak halka açıldı ve veritabanı entegrasyonu eklendi. 1998’de PHP 3 ile büyük bir sıçrama yaptı; Zend Engine’in temelleri atıldı. 2000’de PHP 4, nesne yönelimli programlamayı (OOP) getirdi. 2004’teki PHP 5, tam OOP desteği ve PDO (PHP Data Objects) ile modernleşti. 2015’te PHP 7, performansını %100 artırdı ve tip bildirimleri ekledi. 2020’de PHP 8, JIT derleyici ve attributes ile hızlandı. 2025’te PHP 8.4, fiber’lar (hafif eşzamanlılık) ve gelişmiş hata yönetimiyle evrildi. PHP’nin evrimi, web teknolojilerinin değişimine paralel ilerledi. Başlangıçta statik sayfalar için kullanılırken, bugün dinamik API’ler, CMS’ler ve mikro hizmetler için vazgeçilmez. Örnek: WordPress’in %80’i PHP ile yazıldı, milyonlarca siteyi güçlendiriyor. Datatelekom’un yüksek performanslı sunucularında, PHP 8.4 sürümüyle uygulamalar %30 daha hızlı çalışıyor. Sunucu Tarafı Scripting: PHP’nin Gücü PHP, sunucu tarafı scripting dillerinin kralıdır. Tarayıcı isteklerini sunucuda işler ve HTML/CSS/JS olarak yanıt verir. Bu, dinamik içerik üretmeyi sağlar – örneğin, kullanıcı girişine göre sayfa kişiselleştirme. Sunucu tarafı scripting’in avantajları: - Dinamik İçerik: Kullanıcı verilerine göre sayfalar oluşturun. - Güvenlik: Veritabanı şifreleri sunucuda kalır, istemciye gitmez. - Performans: Sunucu kaynaklarını verimli kullanır. Örnek Kod: Basit bir dinamik sayfa: <?php $greeting = 'Merhaba, Dünya!'; echo "<h1>$greeting</h1>"; ?> Bu kod, sunucuda işlenir ve HTML olarak gönderilir. Örnek: Bir blog, PHP ile veritabanından makaleleri çeker ve dinamik listeler. Değişkenler, Fonksiyonlar ve Nesneler: PHP’nin Temelleri PHP’de değişkenler, veri saklama için kullanılır. Tip bildirimi isteğe bağlıdır (dinamik tip sistemi). Değişkenler: $name = 'Ali'; // String $age = 30; // Integer $price = 99.99; // Float $isAdmin = true; // Boolean $colors = ['kırmızı', 'mavi']; // Array Fonksiyonlar: function add($a, $b) { return $a + $b; } echo add(5, 3); // 8 Gelişmiş: Tip bildirimi: function add(int $a, int $b): int { return $a + $b; } Nesneler (OOP): class User { public $name; private $age; public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } public function getAge(): int { return $this->age; } } $user = new User('Ali', 30); echo $user->name; // Ali echo $user->getAge(); // 30 Örnek: Bir e-ticaret sitesi, OOP ile ürün nesneleri yönetir, değişkenlerle stok tutar. Fonksiyonlarla fiyat hesaplar. Veritabanı Entegrasyonu: MySQL ve PDO PHP, veritabanlarıyla kusursuz entegre olur. MySQL, en yaygın seçim; PDO, güvenli bağlantı sağlar. MySQL Bağlantısı: $conn = mysqli_connect('localhost', 'user', 'password', 'database'); if (!$conn) { die('Bağlantı hatası: ' . mysqli_connect_error()); } Sorgu: $sql = "SELECT * FROM users"; $result = mysqli_query($conn, $sql); while ($row = mysqli_fetch_assoc($result)) { echo $row['name'] . '<br>'; } mysqli_close($conn); PDO ile Güvenli Entegrasyon: try { $pdo = new PDO('mysql:host=localhost;dbname=database', 'user', 'password'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die('Bağlantı hatası: ' . $e->getMessage()); } $stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id'); $stmt->execute(['id' => 1]); $row = $stmt->fetch(PDO::FETCH_ASSOC); echo $row['name']; Örnek: Bir CMS, PDO ile kullanıcı girişini güvenli işler, SQL injection’ı önler. Framework’ler: Laravel ve Symfony PHP framework’leri, geliştirme sürecini hızlandırır. Laravel ve Symfony, 2025’te en popülerler. Laravel: - MVC mimarisi, Eloquent ORM, Artisan CLI. - Örnek: Route tanımlama: Route::get('/hello', function () { return 'Merhaba Laravel!'; }); - Avantaj: Hızlı geliştirme, Blade templating. Symfony: - Bileşen tabanlı, esnek. - Örnek: Controller: class HelloController extends AbstractController { #[Route('/hello', name: 'hello')] public function index(): Response { return $this->render('hello/index.html.twig', ['name' => 'Symfony']); } } - Avantaj: Yüksek ölçeklenebilirlik, Twig templating. Örnek: Bir API, Laravel ile geliştirildi, %40 daha hızlı prototipleme sağladı. Güvenlik Pratikleri: PHP Uygulamalarınızı Koruyun PHP’de güvenlik, kritik. 2025 pratikleri: - SQL Injection Önleme: PDO veya prepared statements kullanın. - XSS Koruma: htmlspecialchars() ile kullanıcı girdilerini filtreleyin: echo htmlspecialchars($userInput, ENT_QUOTES); - CSRF Koruma: Token’lar ekleyin: session_start(); $csrfToken = bin2hex(random_bytes(32)); $_SESSION['csrf_token'] = $csrfToken; Formda: <input type="hidden" name="csrf_token" value="<?php echo $csrfToken; ?>"> - Şifreleme: Argon2 ile şifre hash’leyin: $hash = password_hash($password, PASSWORD_ARGON2ID); - Dosya Yükleme Güvenliği: MIME tipi kontrolü: if ($_FILES['file']['type'] == 'image/jpeg') { // Yükle } - HTTPS Zorlama: .htaccess ile: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] Örnek: Bir form, CSRF token’ıyla güvenlendi, brute force saldırıları %90 azaldı. Performans Optimizasyonu: PHP’yi Hızlandırın PHP performansı, optimizasyonla %50 artırılabilir. 2025 teknikleri: - Opcode Caching: OPcache etkinleştirin: opcache.enable=1 opcache.memory_consumption=128 - Sorgu Optimizasyonu: Index ekleyin: CREATE INDEX idx_name ON users(name); - Caching: Redis ile: $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $value = $redis->get('key'); if ($value === false) { $value = fetchData(); // Veriyi getir $redis->set('key', $value, 3600); // 1 saat cache’le } - Asenkron İşlemler: Swoole ile: $http = new Swoole\Http\Server('0.0.0.0', 9501); $http->on('request', function ($request, $response) { $response->end('Merhaba Swoole!'); }); $http->start(); - Profiling: Xdebug ile performansı analiz edin: xdebug.mode=profile xdebug.output_dir=/tmp Örnek: Bir API, OPcache ile yanıt süresini %40 azalttı. WordPress Gibi CMS’lerde PHP Kullanımı PHP, CMS’lerin belkemiğidir. WordPress, %43 pazar payıyla PHP tabanlıdır. Özellikler: - Tema ve Eklenti Geliştirme: functions.php ile custom fonksiyonlar: function my_custom_function() { echo 'Merhaba WordPress!'; } add_action('wp_footer', 'my_custom_function'); - Veritabanı İşlemleri: $wpdb ile: global $wpdb; $results = $wpdb->get_results('SELECT * FROM wp_posts'); foreach ($results as $row) { echo $row->post_title; } - Güvenlik: wp_nonce ile CSRF koruma: wp_nonce_field('my_action', 'my_nonce'); if (wp_verify_nonce($_POST['my_nonce'], 'my_action')) { // İşle } - Performans: Caching eklentileri (WP Super Cache) ile PHP hızlandırın. Örnek: Bir WordPress eklentisi, PHP ile kullanıcı rollerini yönetti, site performansını %25 artırdı. Adım Adım Tutorial: Basit Bir PHP Blog Uygulaması Bir blog uygulaması yapalım: Adım 1: Sunucu Hazırlığı - Apache/Nginx ve PHP 8.4 kurun. - MySQL veritabanı oluşturun: blog_db. Adım 2: Veritabanı Bağlantısı config.php: <?php $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'blog_db'; $conn = new mysqli($host, $user, $pass, $db); if ($conn->connect_error) { die('Bağlantı hatası'); } ?> Adım 3: Tablo Oluşturma SQL ile: CREATE TABLE posts ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), content TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); Adım 4: Yazı Ekleme Formu add_post.php: <?php include 'config.php'; ?> <!DOCTYPE html> <html> <body> <form method="post"> Başlık: <input type="text" name="title"><br> İçerik: <textarea name="content"></textarea><br> <input type="submit" name="submit" value="Ekle"> </form> <?php if (isset($_POST['submit'])) { $title = mysqli_real_escape_string($conn, $_POST['title']); $content = mysqli_real_escape_string($conn, $_POST['content']); $sql = "INSERT INTO posts (title, content) VALUES ('$title', '$content')"; if ($conn->query($sql) === TRUE) { echo 'Yazı eklendi'; } else { echo 'Hata: ' . $conn->error; } } $conn->close(); ?> </body> </html> Adım 5: Yazıları Listeleme list_posts.php: <?php include 'config.php'; ?> <?php $sql = 'SELECT * FROM posts ORDER BY created_at DESC'; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo '<h2>' . htmlspecialchars($row['title']) . '</h2>'; echo '<p>' . nl2br(htmlspecialchars($row['content'])) . '</p>'; echo '<hr>'; } } else { echo 'Yazı yok'; } $conn->close(); ?> Adım 6: Test Etme - Sunucuda çalıştırın, yazı ekleyin ve listeleyin. Süre: 1 saat. Güvenlik ekleyin: Escape fonksiyonları ile injection önleyin. Sonuç: PHP ile Web’in Geleceğini Kodlayın PHP, web geliştirmenin temel taşı. Tarihi, scripting gücü, veritabanı entegrasyonu ve framework’leriyle, 2025’in vazgeçilmezi. Bu rehberle, PHP’yi öğrenip projelerinizi hayata geçirin.

Son güncelleme tarihi Nov 21, 2025

Framework Nedir?

Dijital çağın vazgeçilmez unsurlarından biri olan framework’ler, yazılım geliştirme sürecini kökten değiştiren araçlardır. Geliştiricilerin tekrar eden görevleri otomatikleştirmesini, kod kalitesini artırmasını ve projeleri hızlıca tamamlamasını sağlar. 2025’te, framework’ler web ve mobil uygulama geliştirmenin temel taşları haline geldi, yapay zeka entegrasyonları ve bulut odaklı özelliklerle evrildi. Bu rehberde, framework’lerin ne olduğunu, türlerini (web ve app), popüler örneklerini (React, Django, Ruby on Rails), avantajlarını ve dezavantajlarını, seçim kriterlerini, kurulum rehberlerini, gerçek proje örneklerini ve gelecek trendlerini derinlemesine inceleyeceğiz. Kod snippet’leri ve pratik bilgilerle, framework’leri projelerinizde ustalıkla kullanmak için ihtiyacınız olan her şeyi bulacaksınız. Kaliteweb gibi bir hosting sağlayıcısıyla framework tabanlı uygulamalarınızı barındırarak, yüksek performanslı web siteleri oluşturabilirsiniz. Hazırsanız, framework’lerin dünyasına dalalım! Framework Nedir? Tanım ve Temel Kavramlar Framework, yazılım geliştirme sürecinde tekrar eden görevleri basitleştirmek ve standartlaştırmak için tasarlanmış bir kod kütüphanesi veya araç setidir. Geliştiricilere hazır şablonlar, kütüphaneler ve en iyi pratikler sunarak, sıfırdan kod yazma ihtiyacını azaltır. 2025’te, framework’ler AI entegrasyonu ve otomatik test özellikleriyle daha akıllı hale geldi. Temel kavramlar: - Inversion of Control (IoC): Framework, kod akışını kontrol eder, geliştirici iş mantığına odaklanır. - Modülerlik: Bileşenler bağımsız çalışır, ölçeklenebilirlik sağlar. - Konvansiyon Üzerine Konfigürasyon: Varsayılan ayarlar, manuel yapılandırmayı minimize eder. Örnek: Bir web uygulaması, framework olmadan yüzlerce satır kod gerektirirken, bir framework ile bu süre %60 kısalır. Datatelekom’un yüksek hızlı sunucularında, framework tabanlı projeler %30 daha verimli çalışır. Framework Türleri: Web ve Uygulama Framework’leri Framework’ler, kullanım alanına göre ikiye ayrılır: Web framework’leri ve app (mobil/yerel) framework’leri. 2025’te, web framework’leri bulut entegrasyonuyla, app framework’leri cross-platform özellikleriyle öne çıkıyor. Web Framework’leri Web framework’leri, HTTP isteklerini yönetir, veritabanı etkileşimini kolaylaştırır ve UI/UX’i standartlaştırır. Örnekler: - Django (Python): Yüksek seviyeli, ORM ve admin paneli ile tam donanımlı. Güvenlik odaklı. - Ruby on Rails (Ruby): Konvansiyon üzerine kurulu, hızlı geliştirme için ideal. - Laravel (PHP): Eloquent ORM ve Blade templating ile modern web uygulamaları. App Framework’leri Mobil ve yerel uygulamalar için: React Native (cross-platform), Flutter (Dart tabanlı) ve SwiftUI (iOS). - React: Bileşen tabanlı UI için, web ve mobilde kullanılır. Örnek: Bir e-ticaret platformu, Laravel ile backend, React ile frontend geliştirdi, geliştirme süresini %40 azalttı. Popüler Framework Örnekleri: React, Django, Ruby on Rails 2025’te popüler framework’ler: - React: Facebook’un geliştirdiği, bileşen tabanlı JS kütüphanesi. Virtual DOM ile hızlı render. Örnek Kod: import React from 'react'; function HelloWorld() { return <h1>Merhaba Dünya!</h1>; } export default HelloWorld; - Django: Python tabanlı, batteries-included. Admin paneli ve ORM ile tam özellikli. Örnek: from django.http import HttpResponse def home(request): return HttpResponse("Merhaba Django!") - Ruby on Rails: Ruby tabanlı, MVC mimarisi. Hızlı prototipleme için. Örnek: class HomeController < ApplicationController def index render plain: "Merhaba Rails!" end end Örnek: Bir sosyal medya uygulaması, React ile frontend, Django ile backend kullandı, kullanıcı etkileşimini %50 artırdı. Avantajlar ve Dezavantajlar: Framework Kullanmanın Dengesi Avantajlar: - Hızlı Geliştirme: Hazır bileşenler, zamanı %50 kısaltır. - Standartlaşma: En iyi pratikler, kod kalitesini artırır. - Topluluk Desteği: Binlerce paket ve forumlar. - Ölçeklenebilirlik: Modüler yapı, büyüme için ideal. Dezavantajlar: - Öğrenme Eğrisi: Karmaşık framework’ler zaman alır. - Şişkinlik (Bloat): Gereksiz özellikler, performansı etkileyebilir. - Bağımlılık: Güncellemeler uyum sorunları yaratabilir. - Özelleştirme Sınırlamaları: Katı yapılar, esnekliği kısıtlayabilir. Örnek: Bir start-up, Rails ile MVP’sini 2 haftada yayınladı ama ölçeklemede şişkinlik yaşadı. Seçim Kriterleri: Doğru Framework’ü Bulun Framework seçerken kriterler: - Proje Tipi: Web için Django, mobil için Flutter. - Dil Tercihi: Python seviyorsanız Django, JS seviyorsanız React. - Performans İhtiyacı: Yüksek trafik için Laravel. - Topluluk ve Destek: Aktif forumlar ve paketler. - Öğrenme Kolaylığı: Yeni başlayanlar için Rails. - Maliyet: Açık kaynak ücretsiz; enterprise özellikler ücretli. Örnek: Bir fintech, güvenlik odaklı Django’yu seçti, uyum sorunlarını %30 azalttı. Kurulum Rehberleri: Adım Adım React Kurulum 1. Node.js indirin (node.js.org). 2. Proje oluşturun: npx create-react-app my-app cd my-app npm start 1. Tarayıcıda localhost:3000’ü açın. Django Kurulum 1. Python 3.12 kurun. 2. Sanal ortam: python -m venv myenv source myenv/bin/activate 1. Django yükleyin: pip install django 1. Proje başlatın: django-admin startproject mysite cd mysite python manage.py runserver Ruby on Rails Kurulum 1. Ruby yükleyin (rubyinstaller.org). 2. Rails yükleyin: gem install rails 1. Proje oluşturun: rails new myapp cd myapp rails server Örnek: Bir geliştirici, Django ile bir blogu 1 saatte prototipleştirdi. Gerçek Proje Örnekleri: Framework’lerin Uygulamaları - React: Bir sosyal medya platformu, React ile dinamik feed oluşturdu, kullanıcı etkileşimini %40 artırdı. - Django: Bir e-ticaret sitesi, Django’nun ORM’siyle veritabanı yönetimini kolaylaştırdı, sorgu hızını %30 iyileştirdi. - Ruby on Rails: Bir start-up, Rails ile MVP’sini hızlı yayınladı, yatırımcı çekti. Örnek: Bir haber sitesi, React ve Django backend ile entegre çalıştı, trafiği %50 artırdı. Gelecek Trendleri: 2025 ve Ötesi 2025’te, framework’ler AI entegrasyonu ve bulut odaklı olacak. React 19, AI komponentleri ekledi; Django 5, asenkron ORM getirdi. Gelecekte, low-code framework’ler (Bubble) yaygınlaşacak, geliştirme süresini %60 kısaltacak. Edge computing entegrasyonu, Rails gibi framework’leri hızlandıracak. Örnek: Bir fintech, AI tabanlı bir framework ile kişiselleştirilmiş finans uygulaması geliştirdi, kullanıcı memnuniyetini %35 artırdı.

Son güncelleme tarihi Sep 23, 2025

CSS Nedir?

Cascading Style Sheets, yani CSS, web sayfalarının görsel tasarımını ve düzenini şekillendiren bir teknolojidir. HTML ile oluşturulan içeriklerin nasıl görüneceğini belirler; renkler, yazı tipleri, yerleşim düzeni ve animasyonlar gibi unsurları kontrol eder. Modern web geliştirmede vazgeçilmez bir rol oynar ve kullanıcı deneyimini doğrudan etkiler. Statik bir HTML sayfasını dinamik, estetik ve kullanıcı dostu bir hale getirir. Örneğin, bir butonun rengini değiştirmek, bir div’in boyutunu ayarlamak veya karmaşık bir düzeni oluşturmak CSS ile mümkündür. CSS’in Temel Yapısı ve Çalışma Mantığı CSS, basit bir sözdizimine sahiptir. Bir CSS kuralı, bir selektör ve bu selektöre uygulanan özelliklerden oluşur. Selektör, hangi HTML elemanının stilize edileceğini belirtir; özellikler ise bu elemanın nasıl görüneceğini tanımlar. Örneğin: h1 { color: blue; font-size: 24px; } Bu kod, tüm <h1> etiketlerinin mavi renkte ve 24 piksel büyüklüğünde olmasını sağlar. CSS’in “cascading” (basamaklı) yapısı, stillerin öncelik sırasına göre uygulanmasını ifade eder. Örneğin, aynı elemana birden fazla stil uygulanırsa, en spesifik olanı veya en son tanımlanan kural geçerli olur. CSS, üç şekilde uygulanabilir: 1. Dahili (Internal): <style> etiketiyle HTML dosyasının <head> kısmına yazılır. 2. Harici (External): Ayrı bir .css dosyasına yazılır ve HTML’e bağlanır. 3. Satır İçi (Inline): HTML etiketine style özelliğiyle doğrudan uygulanır, ancak bu yöntem genelde önerilmez. Harici CSS kullanımı, kodun düzenli ve yeniden kullanılabilir olmasını sağlar. Örneğin, Kaliteweb’in sunduğu hosting hizmetleriyle barındırılan bir web sitesinde, harici CSS dosyaları hızlı yükleme süreleriyle kullanıcı deneyimini iyileştirir. Selektörler: CSS’in Hedefleme Mekanizması Selektörler, CSS’in hangi HTML elemanlarına uygulanacağını belirler. En yaygın selektör türleri şunlardır: - Element Selektörleri: p, div, h1 gibi HTML etiketlerini hedefler. - Sınıf Selektörleri: .sinif-adi ile başlar ve birden fazla elemana uygulanabilir. - ID Selektörleri: #id-adi ile benzersiz bir elemanı hedefler. - Öznitelik Selektörleri: [type="text"] gibi belirli özniteliklere sahip elemanları seçer. - Pseudo-Selektörler: :hover, :active gibi durumlara bağlı stiller uygular. Örnek bir sınıf selektörü: .button { background-color: #4CAF50; padding: 10px 20px; border-radius: 5px; } Bu kod, class="button" olan tüm elemanlara yeşil bir arka plan, dolgu ve yuvarlatılmış köşeler ekler. Pseudo-selektör örneği: .button:hover { background-color: #45a049; } Bu, fare imleci butonun üzerine geldiğinde arka plan rengini değiştirir. Özellikler: Görselliği Şekillendiren Araçlar CSS, yüzlerce özellik sunar. En sık kullanılanlar: - Renk ve Arka Plan: color, background-color, background-image - Yazı Tipi: font-family, font-size, font-weight - Kutu Modeli: margin, padding, border, width, height - Konumlandırma: position, top, left, z-index Örneğin, bir kutu modeli uygulaması: .box { width: 200px; height: 100px; margin: 10px; padding: 15px; border: 2px solid black; } Bu kod, bir div’e boyut, kenar boşluğu, dolgu ve çerçeve ekler. Kutu modeli, CSS’in temel taşlarından biridir ve elemanların yerleşimini anlamak için kritik öneme sahiptir. Responsive Design: Media Queries ile Esneklik Responsive design, web sitelerinin farklı cihazlarda (mobil, tablet, masaüstü) düzgün görünmesini sağlar. CSS’te bu, media queries ile yapılır. Media query, belirli bir ekran boyutu veya cihaz özelliği için stil kuralları tanımlar. Örneğin: @media screen and (max-width: 600px) { .container { flex-direction: column; } } Bu kod, ekran genişliği 600 pikselden küçükse .container sınıfının düzenini sütun tabanlı yapar. Responsive tasarımda dikkat edilmesi gerekenler: - Mobil Öncelikli Yaklaşım: Önce küçük ekranlar için tasarım yap, sonra büyük ekranlara genişlet. - Birim Seçimi: vw, vh, rem, em gibi relatif birimler kullan. - Esnek Görseller: max-width: 100% ile görsellerin taşmasını önle. Örnek bir responsive navigation bar: .nav { display: flex; gap: 20px; } @media screen and (max-width: 768px) { .nav { flex-direction: column; align-items: center; } } Bu, masaüstü için yatay bir menüyü mobil cihazlarda dikey hale getirir. CSS Preprocessors: Sass ve Less Sass ve Less, CSS’in daha güçlü ve düzenli yazılmasını sağlayan ön işlemcilerdir. Değişkenler, iç içe yazım, modüller ve matematiksel işlemler gibi özellikler sunar. Örneğin, Sass’ta değişken kullanımı: $primary-color: #3498db; .button { background-color: $primary-color; &:hover { background-color: darken($primary-color, 10%); } } Bu kod, birincil rengi bir değişkene atar ve hover durumunda rengi koyulaştırır. Less ise benzer bir yapı sunar: @primary-color: #3498db; .button { background-color: @primary-color; &:hover { background-color: darken(@primary-color, 10%); } } Preprocessor’lar, özellikle büyük projelerde kodu düzenli tutar ve bakımını kolaylaştırır. Datatelekom’un veri merkezlerinde barındırılan projelerde, bu tür araçlar geliştirme sürecini hızlandırır. Animasyonlar: Web’e Hareket Katın CSS animasyonları, kullanıcı deneyimini zenginleştirir. transition ve @keyframes ile dinamik efektler oluşturulabilir. Örneğin, bir butonun geçiş efekti: .button { background-color: #4CAF50; transition: background-color 0.3s ease; } .button:hover { background-color: #45a049; } Bu, arka plan renginin 0.3 saniyede yumuşak bir şekilde değişmesini sağlar. Daha karmaşık bir animasyon için @keyframes kullanılır: @keyframes slideIn { from { transform: translateX(-100%); } to { transform: translateX(0); } } .element { animation: slideIn 1s ease-in-out; } Bu kod, bir elemanın soldan kayarak gelmesini sağlar. Animasyonlar, kullanıcıların dikkatini çeker ve sitenin modern görünmesini sağlar. Flexbox ve Grid: Modern Düzen Araçları Flexbox, tek boyutlu düzenler için idealdir (satır veya sütun). Örneğin: .container { display: flex; justify-content: space-between; align-items: center; } Bu, elemanları yatayda eşit aralıklarla hizalar. Grid ise iki boyutlu düzenler için kullanılır: .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } Bu, üç eşit sütunlu bir ızgara oluşturur. Flexbox ve Grid, responsive tasarımda güçlü araçlardır ve karmaşık düzenleri kolaylaştırır. Erişilebilirlik: Herkes İçin Web CSS, erişilebilirlik (accessibility) açısından kritik bir rol oynar. Örneğin: - Kontrast Oranları: Renkler, WCAG standartlarına uygun olmalıdır. color-contrast() gibi yeni özellikler bu konuda yardımcı olur. - Odak Stilleri: Klavye navigasyonu için :focus kullanılmalı. a:focus { outline: 2px solid blue; } - Semantik HTML ile CSS: Doğru HTML etiketleriyle CSS kullanımı, ekran okuyucuların içeriği anlamasını sağlar. Erişilebilirlik, kullanıcıların engel durumlarına bakılmaksızın web sitenize erişebilmesini sağlar. Örneğin, renk körlüğü olan kullanıcılar için yüksek kontrastlı renkler seçmek önemlidir. 2025 CSS Trendleri CSS sürekli evrilir ve 2025’te öne çıkan trendler şunlardır: - Container Queries: Ekran boyutuna değil, kapsayıcı boyutuna göre stil uygulama. .container { container-type: inline-size; } @container (min-width: 400px) { .child { flex-direction: row; } } - Subgrid: Grid düzenlerinde alt ızgaralar için daha fazla kontrol. - CSS Nesting: Doğrudan iç içe CSS yazımı. .card { background-color: white; & .title { font-weight: bold; } } - Color Functions: color-mix() ve color-contrast() gibi yeni renk fonksiyonları. - Scroll-Driven Animations: Kaydırma hareketine bağlı animasyonlar. Bu trendler, web geliştirmeyi daha esnek ve güçlü hale getiriyor. Kaliteweb’in sunduğu hosting hizmetleri, bu yeni teknolojileri destekleyen hızlı ve güvenli altyapılar sunar. Adım Adım CSS ile Proje Geliştirme 1. HTML Yapısını Oluşturun: Semantik etiketler kullanın (<header>, <main>, <footer>). 2. CSS Dosyası Bağlayın: <link rel="stylesheet" href="styles.css"> 1. Temel Stilleri Tanımlayın: * { margin: 0; padding: 0; box-sizing: border-box; } 1. Responsive Tasarımı Planlayın: Media queries ile farklı ekran boyutlarına uyum sağlayın. 2. Erişilebilirliği Sağlayın: Kontrast oranlarını kontrol edin ve odak stilleri ekleyin. 3. Animasyonlar Ekleyin: Kullanıcı deneyimini artırmak için geçiş efektleri veya keyframes kullanın. 4. Test Edin: Farklı cihazlarda ve tarayıcılarda test yapın. Sonuç CSS, web geliştirmenin temel taşlarından biridir. Selektörler, özellikler, responsive tasarım, preprocessor’lar, animasyonlar, Flexbox/Grid ve erişilebilirlik gibi unsurlar, modern web sitelerinin oluşturulmasında kritik rol oynar. 2025 trendleriyle birlikte CSS, daha da güçlü ve esnek bir araç haline gelmiştir.

Son güncelleme tarihi Nov 21, 2025

JavaScript Nedir?

JavaScript, modern web geliştirmenin temel taşlarından biridir ve dinamik, interaktif web uygulamaları oluşturmak için kullanılan güçlü bir programlama dilidir. İlk olarak 1995 yılında Netscape tarafından geliştirilen bu dil, bugün hem istemci tarafında (tarayıcılar) hem de sunucu tarafında (Node.js gibi) yaygın bir şekilde kullanılmaktadır. Bu yazıda, JavaScript'in tarihçesinden başlayarak temel syntax'ına, DOM manipülasyonuna, asenkron programlamaya, popüler framework entegrasyonlarına, güvenlik ipuçlarına ve performans optimizasyon tekniklerine kadar her yönüyle derinlemesine inceleyeceğiz. Ayrıca, uygulamalı örnekler ve bir tutorial ile konuları pekiştireceksiniz. JavaScript'in Tarihçesi JavaScript, Brendan Eich tarafından Netscape Navigator tarayıcısında dinamik içerik oluşturmak amacıyla geliştirildi. İlk adı Mocha olan dil, daha sonra LiveScript ve nihayetinde JavaScript adını aldı. 1996 yılında ECMA International tarafından standartlaştırıldı ve ECMAScript olarak adlandırıldı. Günümüzde ECMAScript, dilin standartlarını belirler ve her yıl yeni özellikler eklenir (örneğin, ES6/ES2015 ile let/const, arrow functions gibi yenilikler). JavaScript, tarayıcıların ötesine geçerek Node.js ile sunucu tarafında da kullanılmaya başlandı ve React, Vue gibi framework'lerle front-end geliştirmede devrim yarattı. JavaScript'in Temel Syntax'ı JavaScript, öğrenmesi kolay ancak güçlü bir syntax'a sahiptir. Değişken tanımlama, fonksiyonlar, döngüler ve koşullu ifadeler gibi temel yapılar, diğer C-tabanlı dillerle benzerlik gösterir. İşte temel bir örnek: // Değişken tanımlama let isim = 'Ahmet'; const PI = 3.14; // Fonksiyon tanımlama function selamVer(kisi) { return `Merhaba, ${kisi}!`; } // Koşullu ifade if (isim === 'Ahmet') { console.log(selamVer(isim)); } else { console.log('Tanıdık bir isim değil!'); } // Döngü for (let i = 0; i < 3; i++) { console.log(`Sayı: ${i}`); } Değişkenler var, let ve const ile tanımlanır. let ve const, ES6 ile tanıtıldı ve kapsam (scope) yönetimini iyileştirdi. const ile tanımlanan değişkenler yeniden atanamaz, ancak içindeki nesnelerin özellikleri değiştirilebilir. Örneğin: const kisi = { ad: 'Ayşe', yas: 25 }; kisi.yas = 26; // Geçerli kisi = {}; // Hata: const değişken yeniden atanamaz DOM Manipülasyonu Document Object Model (DOM), web sayfalarının programatik olarak kontrol edilmesini sağlar. JavaScript, DOM ile HTML elementlerini seçip düzenler. Örneğin, bir butona tıklama olayını dinlemek ve içeriği değiştirmek: // Element seçme document.getElementById('myButton').addEventListener('click', () => { document.getElementById('myDiv').innerHTML = 'Tıklandı!'; }); DOM manipülasyonu, dinamik içerik oluşturmak için güçlü bir araçtır. Örneğin, bir liste oluşturup silme işlevi: function ekleOgeler() { const ul = document.createElement('ul'); ['Elma', 'Armut', 'Muz'].forEach(oge => { const li = document.createElement('li'); li.textContent = oge; ul.appendChild(li); }); document.body.appendChild(ul); } Bu kod, bir liste oluşturur ve sayfaya ekler. DOM manipülasyonunda performans için DocumentFragment kullanımı önerilir, çünkü birden fazla DOM işlemi tek bir toplu işlemde yapılır. Asenkron Programlama: Promises ve Async/Await JavaScript, asenkron işlemleri yönetmek için önce geri çağrılar (callbacks), ardından Promises ve son olarak async/await ile güçlü mekanizmalar geliştirdi. Promises, asenkron işlemlerin sonucunu temsil eder. Örneğin, bir API'den veri çekme: fetch('https://api.example.com/veri') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Hata:', error)); Async/await, Promises'ı daha okunabilir hale getirir: async function veriCek() { try { const response = await fetch('https://api.kaliteweb.com/veri'); const data = await response.json(); console.log(data); } catch (error) { console.error('Hata:', error); } } veriCek(); Async/await, özellikle birden fazla asenkron işlemi sırayla veya paralel olarak yönetmek için idealdir. Örneğin, paralel veri çekme: async function paralelVeriCek() { const [veri1, veri2] = await Promise.all([ fetch('https://api.kaliteweb.com/veri1').then(res => res.json()), fetch('https://api.kaliteweb.com/veri2').then(res => res.json()) ]); console.log(veri1, veri2); } Framework Entegrasyonları: Node.js ve React JavaScript, hem sunucu hem de istemci tarafında kullanılabilen çok yönlü bir dildir. Node.js, JavaScript'i sunucu tarafında çalıştırmak için V8 motorunu kullanır. Örneğin, basit bir HTTP sunucusu: const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Merhaba, Dünya!'); }); server.listen(3000, () => { console.log('Sunucu 3000 portunda çalışıyor'); }); Bu kod, Kaliteweb gibi bir hosting sağlayıcısında barındırılan bir sunucuda çalıştırılabilir ve Datatelekom veri merkezinde güvenli bir şekilde hizmet verebilir. Node.js, Express gibi framework'lerle API geliştirme için idealdir. React ise istemci tarafında kullanıcı arayüzleri oluşturmak için popüler bir kütüphanedir. JSX ile bileşen tabanlı geliştirme sağlar. Örneğin, bir sayaç bileşeni: import React, { useState } from 'react'; function Sayac() { const [sayi, setSayi] = useState(0); return ( <div> <p>Sayı: {sayi}</p> <button onClick={() => setSayi(sayi + 1)}>Arttır</button> </div> ); } export default Sayac; React, performans için sanal DOM kullanır ve bileşenlerin yeniden render edilmesini optimize eder. Node.js ve React birlikte, full-stack uygulamalar geliştirmek için güçlü bir kombinasyon oluşturur. JavaScript Güvenlik İpuçları JavaScript'in gücü, güvenlik açıklarını da beraberinde getirir. İşte bazı güvenlik ipuçları: 1. XSS (Cross-Site Scripting) Önleme: Kullanıcı girişlerini sanitize edin. Örneğin, DOMPurify kütüphanesi kullanabilirsiniz. import DOMPurify from 'dompurify'; const kirli = '<script>alert("XSS Saldırısı!")</script>'; const temiz = DOMPurify.sanitize(kirli); document.getElementById('hedef').innerHTML = temiz; 1. CSRF Koruması: Sunucu tarafında CSRF token'ları kullanın. 2. Güvenli API İstekleri: HTTPS kullanın ve API anahtarlarını gizli tutun. 3. Korsan Yazılımlara Karşı Koruma: Güvenilir CDN'ler kullanın ve bağımlılıkları düzenli olarak kontrol edin. Performans Optimizasyonu JavaScript performansını artırmak için şu teknikleri kullanabilirsiniz: 1. Debouncing ve Throttling: Hızlı tekrarlanan olayları sınırlamak için: function debounce(func, wait) { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; } window.addEventListener('resize', debounce(() => console.log('Yeniden boyutlandırıldı'), 200)); 1. Lazy Loading: Görselleri ve modülleri yalnızca gerektiğinde yükleyin. const modül = await import('./modül.js'); // Dinamik import 1. Memoization: Tekrarlanan hesaplamaları önbelleğe alın: function memoize(fn) { const cache = {}; return function (...args) { const key = JSON.stringify(args); if (cache[key]) return cache[key]; const result = fn(...args); cache[key] = result; return result; }; } const agirHesaplama = memoize((x) => x * x); console.log(agirHesaplama(5)); // Hesaplar console.log(agirHesaplama(5)); // Önbellekten alır 1. Web Workers: Yoğun işlemleri ana iş parçacığından ayırın: // worker.js const worker = new Worker('worker.js'); worker.postMessage(1000); worker.onmessage = (e) => console.log('Sonuç:', e.data); Uygulamalı Tutorial: Basit Bir To-Do Uygulaması Bu tutorial, yukarıdaki konuları birleştirerek bir to-do uygulaması oluşturmanızı sağlayacak. HTML, CSS ve JavaScript kullanarak başlayalım: <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <title>To-Do Uygulaması</title> <style> .todo-item { margin: 10px 0; } .completed { text-decoration: line-through; } </style> </head> <body> <h1>To-Do Listesi</h1> <input type="text" id="gorevInput" placeholder="Yeni görev ekle"> <button onclick="gorevEkle()">Ekle</button> <ul id="gorevListesi"></ul> <script> async function gorevEkle() { const input = document.getElementById('gorevInput'); const gorev = input.value.trim(); if (!gorev) return; const li = document.createElement('li'); li.className = 'todo-item'; li.innerHTML = `${gorev} <button onclick="this.parentElement.remove()">Sil</button> <button onclick="this.parentElement.classList.toggle('completed')">Tamamla</button>`; document.getElementById('gorevListesi').appendChild(li); input.value = ''; // Örnek: API'ye veri gönderme try { await fetch('https://api.example.com/gorevler', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ gorev }) }); } catch (error) { console.error('API hatası:', error); } } </script> </body> </html> Bu uygulama, DOM manipülasyonu, olay dinleme ve asenkron veri gönderimi içerir. Kaliteweb hosting hizmetlerinde bu tür uygulamaları kolayca barındırabilir ve Datatelekom veri merkezinde güvenli bir şekilde çalıştırabilirsiniz. İleri Seviye Konular 1. Module Sistemi: ES Modules ile kodunuzu modüler hale getirin: // util.js export const topla = (a, b) => a + b; // main.js import { topla } from './util.js'; console.log(topla(2, 3)); // 5 1. Proxy ve Reflect: Nesne işlemlerini özelleştirin: const kisi = new Proxy({ ad: 'Ali' }, { get(target, prop) { return prop in target ? target[prop] : 'Bilinmiyor'; } }); console.log(kisi.ad); // Ali console.log(kisi.yas); // Bilinmiyor 1. WebAssembly Entegrasyonu: Performans kritik işlemler için WebAssembly kullanın: WebAssembly.instantiateStreaming(fetch('modul.wasm')).then(({ instance }) => { console.log(instance.exports.topla(5, 3)); // WebAssembly fonksiyonu }); Sonuç JavaScript, web geliştirmenin vazgeçilmez bir parçasıdır. Temel syntax'tan asenkron programlamaya, framework entegrasyonlarından güvenlik ve performansa kadar geniş bir yelpazede beceriler sunar. Bu rehber, hem yeni başlayanlar hem de ileri seviye geliştiriciler için kapsamlı bir kaynak olmayı amaçlamaktadır. Uygulamalı örnekler ve tutorial ile öğrendiklerinizi pekiştirebilir, kendi projelerinizi geliştirebilirsiniz.

Son güncelleme tarihi Nov 21, 2025

DNS Nedir? Kapsamlı Rehber ve Çalışma Prensibi

İnternet dünyasının temel taşlarından biri olan DNS, web sitelerine erişimimizi sağlayan gizli kahramandır. Peki, DNS nedir ve nasıl çalışır? Bu rehberde, DNS'nin ne olduğunu, işleyişini, bileşenlerini ve önemini detaylıca ele alacağız. Yeni başlayanlardan profesyonellere kadar herkes için anlaşılır bir şekilde hazırlanan bu içerik, anahtar kelime "DNS nedir" odaklı olarak SEO dostu bir rehber sunuyor. 2025 yılı trendlerine uygun ipuçlarıyla, DNS yönetimi hakkında bilmeniz gereken her şeyi öğreneceksiniz. İnternet erişiminizin arkasındaki sihri keşfetmeye hazır mısınız? DNS Nedir? Temel Tanım ve Tarihçesi DNS (Domain Name System), internet üzerindeki cihazların birbirini bulmasını sağlayan bir isimlendirme sistemidir. IP adreslerini (örneğin, 192.168.1.1) akılda kalıcı domain isimlerine (örneğin, orneksite.com) dönüştürür. Basitçe, telefon rehberi gibi çalışır: Domain adını girersiniz, DNS doğru IP'yi bulur ve bağlantıyı kurar. Neden DNS? İnternet ilk yıllarında sadece IP'lerle çalışıyordu, ancak milyonlarca site eklenince hatırlamak imkansızlaştı. 1983'te Paul Mockapetris tarafından geliştirilen DNS, 1985'te standart hale geldi. Bugün, milyarlarca sorguyu yöneten bir sistemdir. Örnek: "www.google.com" yazdığınızda, DNS bu adı 172.217.16.174 gibi bir IP'ye çevirir ve tarayıcınız siteye bağlanır. İstatistik: Günlük 3 trilyon DNS sorgusu yapılıyor (Verisign, 2025). DNS olmadan internet durur – %99 erişim kaybı. DNS Nasıl Çalışır? Adım Adım İşleyiş DNS, dağıtık bir veritabanı gibi çalışır. Sorgu süreci şu adımlardan oluşur: 1. Kullanıcı Sorgusu: Tarayıcıya domain adı girilir (örneğin, kaliteweb.com). 2. Yerel Cache Kontrolü: Cihazınızın DNS önbelleği kontrol edilir. Varsa IP döner. 3. Recursive Resolver: Yoksa, ISP'nizin DNS sunucusu (resolver) devreye girer. 4. Root Name Server: Resolver, root sunuculara (dünyada 13 tane) sorar. 5. TLD Name Server: Root, TLD (Top-Level Domain) sunucularına (.com, .tr) yönlendirir. 6. Authoritative Name Server: TLD, domainin yetkili sunucusuna (örneğin, hosting firmasının DNS'i) sorar. 7. IP Dönüşü: Yetkili sunucu IP'yi resolver'a, resolver tarayıcıya iletir. 8. Bağlantı Kurulumu: Tarayıcı IP ile siteye bağlanır. Süre: Tüm süreç 20-100 ms alır. Cache sayesinde daha hızlı. Teknik Detaylar: - DNS Protokolü: UDP/TCP port 53. - Kayıt Türleri: A (IPv4), AAAA (IPv6), MX (Mail), CNAME (Alias). - Cache TTL: Kayıtların ömrü, saniye cinsinden. Örnek: "mail.google.com" sorgusu MX kaydını döndürür ve e-posta sunucusuna bağlanır. DNS Bileşenleri: Sistem Nasıl Oluşur? DNS, hiyerarşik bir yapıdadır. Ana bileşenler: 1. DNS Resolver (Özyinelemeli Sunucu) Kullanıcı sorgularını yönetir. ISP veya Google DNS (8.8.8.8) gibi genel sunucular. Rolü: Sorguyu root'tan authoritative'e taşır. 2. Root Name Server İnternetin kök sunucuları (a.root-servers.net gibi). TLD'leri bilir. Sayısı: 13 mantıksal, 1000+ fiziksel kopya. 3. TLD Name Server (Üst Düzey Alan Adı Sunucuları) .com, .net, .tr gibi uzantıları yönetir. ICANN denetiminde. Örnek: .tr için NIC.TR sunucuları. 4. Authoritative Name Server Domainin kendi DNS sunucuları. Kayıtları (A, MX vb.) tutar. Örnek: ns1.kaliteweb.net gibi. 5. DNS Kayıtları (Records) - A Record: Domaini IPv4'e eşler. - AAAA Record: IPv6 için. - CNAME: Bir domaini diğerine yönlendirir. - MX Record: Mail sunucusu belirtir. - TXT Record: Doğrulama için (SPF, DKIM). İpucu: DNS yöneticisi panelinde (cPanel) kayıt ekleyin. DNS Türleri: Hangi DNS Sizin İçin Uygun? DNS sunucuları farklı türlerde gelir: 1. Yetkili DNS (Authoritative DNS) Domain kayıtlarını tutar. Sorgulara doğrudan cevap verir. Avantaj: Hızlı, özelleştirilebilir. 2. Özyinelemeli DNS (Recursive DNS) Kullanıcı adına sorgu yapar, tam cevabı getirir. Avantaj: Kullanıcı dostu, cache tutar. 3. Genel DNS (Public DNS) Google (8.8.8.8), Cloudflare (1.1.1.1) gibi ücretsiz hizmetler. Avantaj: Hızlı, güvenli, gizlilik odaklı (DNS-over-HTTPS). Dezavantaj: Kontrol sizde değil. 4. Özel DNS (Private DNS) Şirket içi ağlar için (örneğin, Active Directory). Avantaj: Güvenli, yerel erişim. 2025 Trendi: DNS-over-TLS (DoT) ve DoH, şifreli sorgular için standartlaşıyor. Seçim ipucu: Küçük siteler için hosting DNS'i, büyükler için Cloudflare. DNS'in Önemi: İnternet Güvenliği ve Performansı DNS, internetin omurgasıdır. İşte nedenleri: 1. Erişilebilirlik Domainleri IP'ye çevirerek sitelere ulaşımı sağlar. 2. Güvenlik DNSSEC (DNS Security Extensions) ile kayıtları imzalar, sahtekarlığı önler. Örnek: DNS hijacking'i engeller. 3. Performans Anycast DNS ile en yakın sunucuya bağlanır, hızı %20 artırır. 4. Yük Dengeleme Birden fazla IP'ye yönlendirerek trafiği dağıtır. 5. E-posta ve Diğer Hizmetler MX kayıtlarıyla mail, SRV ile VoIP yönetir. İstatistik: DNS saldırıları 2025'te %30 arttı, korumasız siteler %50 erişim kaybı yaşıyor (Cisco). DNS Sorunları ve Çözümleri Yaygın sorunlar: 1. DNS Çözümleme Hatası: Çözüm: Cache temizleyin (ipconfig /flushdns). 2. Yavaş DNS: Çözüm: Genel DNS'e geçin (1.1.1.1). 3. DNS Poisoning: Çözüm: DNSSEC etkinleştirin. 4. Kayıt Güncelleme Gecikmesi: Çözüm: TTL'yi düşük tutun (300 sn). 5. Blacklist: Çözüm: MX Toolbox ile kontrol edin. İpucu: DNS propogasyon süresi 1-48 saat, sabırlı olun. DNS Kurulumu ve Yönetimi Rehberi 1. Domain Satın Alın: Hosting firmasından domain alın. 2. DNS Sunucusu Atayın: Nameserver'ları güncelleyin (ns1.kaliteweb.net). 3. Kayıt Ekleyin: Panelde A, MX vb. ekleyin. 4. Test Edin: nslookup veya dig komutuyla kontrol edin. 5. Güvenlik Ayarları: DNSSEC ve DoH etkinleştirin. Araçlar: Whois.net (sahip kontrolü), DNS Checker (propogasyon testi). 2025 DNS Trendleri - DNS-over-HTTPS (DoH): Tarayıcı tabanlı şifreleme. - AI Tabanlı DNS Güvenliği: Otomatik tehdit algılama. - Zero Trust DNS: Her sorgu doğrulanır. - IPv6 Yaygınlaşması: AAAA kayıtları standart. - Edge DNS: CDN entegrasyonuyla hız artışı. DNS ile İlgili Sık Sorulan Sorular DNS cache nasıl temizlenir? Windows: ipconfig /flushdns. DNS propogasyonu ne kadar sürer? 1-72 saat. Ücretsiz DNS var mı? Evet, Google DNS. DNS hijacking nedir? Sahte yönlendirme. DNSSEC nasıl etkinleştirilir? Hosting panelinde. Sonuç: DNS ile İnternetin Omurgasını Güçlendirin DNS, internetin görünmez kahramanıdır. Doğru yönetimle hız, güvenlik ve erişilebilirlik kazanın. 2025'te DoH ve AI trendlerini takip edin. Hosting firmanızı seçerken DNS özelliklerini sorun – kaliteli bir sistemle fark yaratın.

Son güncelleme tarihi Nov 25, 2025

Google Tag Manager Nedir? Kapsamlı Rehber ve Kurulum Adımları

Google Tag Manager (GTM), web sitenize kod eklemeden etiket (tag), tetikleyici (trigger) ve değişken (variable) yönetimini sağlayan ücretsiz bir araçtır. Pazarlama ve analiz kodlarını (Google Analytics, Facebook Pixel, reklam pikselleri vb.) tek bir yerden yönetmenizi sağlar. Kod bilgisi gerektirmeden etiket ekleyebilir, düzenleyebilir ve yayınlayabilirsiniz. Bu rehberde, anahtar kelime "Google Tag Manager nedir" odaklı olarak, GTM'nin ne olduğunu, nasıl çalıştığını, avantajlarını ve kurulumunu detaylıca ele alacağız. 2025 yılı dijital pazarlama trendlerine uygun olarak hazırlanan bu içerik, yeni başlayanlardan profesyonellere kadar herkes için kapsamlı bir rehber sunuyor. Google Tag Manager Nedir ve Neden Kullanmalısınız? Google Tag Manager, Google tarafından geliştirilen bir etiket yönetim sistemidir (Tag Management System - TMS). Web sitenize veya mobil uygulamanıza eklediğiniz tek bir kod parçası (container snippet) ile tüm pazarlama ve analiz etiketlerini yönetirsiniz. Her yeni etiket için geliştiriciye ihtiyaç duymazsınız. Temel işlevi: Kodları manuel eklemek yerine, GTM arayüzünden etiketleri tanımlarsınız. Sayfa yüklendiğinde GTM, tanımlı tetikleyicilere göre ilgili etiketleri çalıştırır. Neden önemli? - Zaman Tasarrufu: Yeni bir reklam pikseli eklemek 5 dakika sürer, geliştirici beklemezsiniz. - Hata Azaltma: Manuel kod hatalarını ortadan kaldırır. - Esneklik: Aynı container'ı web, AMP ve mobil için kullanın. - Veri Güvenliği: Etiketleri test ortamında deneyin, canlıya almadan önce onaylayın. - Performans: Gereksiz kod yüklemesini önler, site hızını korur. İstatistik: 2025'te web sitelerinin %72'si GTM kullanıyor (BuiltWith). GTM kullanan siteler, dönüşüm izleme doğruluğunu %35 artırıyor (Google verileri). Örnek: Bir e-ticaret sitesinde Facebook Pixel, Google Analytics 4, Hotjar ve TikTok Pixel aynı anda çalışır – hepsi GTM üzerinden yönetilir. Google Tag Manager Nasıl Çalışır? Teknik İşleyiş GTM, container tabanlı bir sistemdir. İşte adım adım çalışma prensibi: 1. Container Oluşturma: GTM hesabı açın, yeni container oluşturun (web/mobil). 2. Container Snippet Ekleme: GTM size iki kod parçası verir: - <head> içine üst kod - <body> açılışından hemen sonra alt kod 3. Etiket Tanımlama: GTM panelinde etiket (tag) oluşturun (örneğin, GA4 Configuration). 4. Tetikleyici Ekleme: Etiketin ne zaman çalışacağını belirleyin (sayfa görüntüleme, tıklama, form gönderimi). 5. Değişken Ayarlama: Dinamik veriler için değişkenler tanımlayın (Click ID, Page URL). 6. Test ve Yayınlama: Önizleme modunda test edin, onaylayın ve yayınlayın. Teknik detaylar: - Data Layer: JavaScript nesnesi ile veri aktarımı (dataLayer.push). - Tetikleyiciler: Page View, DOM Ready, Click, Form Submission, Custom Event. - Etiket Türleri: GA4, Universal Analytics, Facebook Pixel, LinkedIn Insight, Custom HTML. - Versiyonlama: Her değişiklik yeni versiyon oluşturur, geri dönüş kolay. Örnek: Kullanıcı "Satın Al" butonuna tıkladığında, GTM Facebook Conversion API'ye event gönderir. Google Tag Manager Avantajları GTM kullanmanın başlıca faydaları: 1. Kod Bağımsız Yönetim: Pazarlamacılar geliştirici olmadan etiket ekler. 2. Hızlı Uygulama: Yeni kampanya için saatler yerine dakikalar. 3. Gelişmiş Test Özelliği: Preview & Debug modu ile hataları önleyin. 4. Veri Doğruluğu: Data Layer ile %100 doğru veri toplama. 5. Güvenlik: Hassas kodları GTM içinde saklayın. 6. Entegrasyonlar: 100+ hazır şablon (Google Ads, Meta, TikTok). 7. Ücretsiz Kullanım: Limitsiz etiket ve container (kurumsal için Google Tag Manager 360 ücretli). Dezavantajlar: - Öğrenme eğrisi var (ilk başta karmaşık gelebilir). - Yanlış yapılandırma veri kaybına yol açabilir. İstatistik: GTM kullanan şirketler, dönüşüm izleme hatalarını %60 azalttı (Google, 2025). Google Tag Manager Kurulum Rehberi: Adım Adım GTM'yi 15 dakikada kurabilirsiniz. 1. Hesap Oluşturma - tagmanager.google.com adresine gidin. - Google hesabınızla giriş yapın. - "Hesap Oluştur" > Şirket adı girin. - Container türü seçin (Web önerilir). 2. Container Kodunu Ekleme - GTM size GTM-XXXXXX ID verir. - İki kod parçasını alın: <!-- Üst kod head içine --> <script>(function(w,d,s,l,i){...})(window,document,'script','dataLayer','GTM-XXXXXX');</script> <!-- Alt kod body açılışından hemen sonra --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX"...></iframe></noscript> - Kodları tüm sayfalara ekleyin (WordPress için header.php veya plugin ile). 3. İlk Etiket Oluşturma (GA4 Örneği) 1. Etiketler > Yeni 2. Etiket Türü: Google Analytics: GA4 Configuration 3. Measurement ID girin (G-XXXXXX) 4. Tetikleyici: All Pages 5. Kaydedin ve yayınlayın. 4. Test Etme - Önizleme modu açın. - Siteyi ziyaret edin, GTM debug panelinde etiketin ateşlendiğini görün. - Real-time Analytics'te veri akışını kontrol edin. İpucu: Tag Assistant (legacy) yerine GTM Preview kullanın. En Sık Kullanılan GTM Etiketleri ve Tetikleyicileri Popüler Etiketler 1. GA4 Event: Dönüşüm takibi 2. Facebook Pixel: Reklam optimizasyonu 3. Google Ads Remarketing: Yeniden pazarlama 4. Hotjar: Kullanıcı davranış analizi 5. Custom HTML: Özel kodlar Yaygın Tetikleyiciler - Page View: Sayfa yüklendiğinde - Click: Belirli butona tıklama - Form Submission: Form gönderildiğinde - Scroll Depth: Sayfada %50 kaydırma - YouTube Video: Video izlenme Örnek: "Satın Al" butonu tıklanınca GA4 purchase event ateşleyin. Google Tag Manager ile SEO ve Dönüşüm Optimizasyonu GTM, SEO için vazgeçilmez: - GA4 Entegrasyonu: Enhanced Measurement ile otomatik event takibi. - Schema Markup: Structured data ekleme. - Consent Mode: GDPR uyumlu çerez yönetimi. - Server-Side Tagging: 2025 trendi, veri kaybını %30 azaltır. Avantaj: AdBlock'lar client-side tag'leri engeller, server-side ile %100 veri toplama. İstatistik: Server-side GTM kullananlar, veri doğruluğunu %45 artırdı (Google, 2025). GTM Kullanırken Yaygın Hatalar ve Çözümleri - Hata 1: Container kodunu eksik ekleme → Çözüm: Tag Assistant ile kontrol. - Hata 2: Tetikleyici yanlış → Çözüm: Preview modunda test. - Hata 3: Data Layer eksik → Çözüm: Geliştiriciyle koordinasyon. - Hata 4: Çok fazla etiket → Çözüm: Gereksizleri temizleyin. - Hata 5: Yayınlamayı unutmak → Çözüm: Versiyon notu ekleyin. 2025 Google Tag Manager Trendleri - Server-Side Tagging: AdBlock bypass, daha doğru veri. - Consent Mode v2: Zorunlu GDPR uyum. - GA4 Native Entegrasyon: Otomatik event'ler. - AI Destekli Tag Önerileri: Google'ın yeni özelliği. - Privacy Sandbox: Çerezsiz dünyada GTM öncüsü. Sonuç: Google Tag Manager ile Veri Yönetiminizi Devrimleştirin Google Tag Manager, dijital pazarlamanın vazgeçilmez aracıdır. Kod karmaşasını ortadan kaldırır, veri doğruluğunu artırır ve dönüşümleri yükseltir. 2025'te server-side ve privacy odaklı trendlerle daha güçlü hale geliyor. Hemen bir hesap açın, container oluşturun ve sitenizi güçlendirin!

Son güncelleme tarihi Nov 25, 2025

Yandex Mail Servis Ayarları: IMAP, POP3 ve SMTP Konfigürasyonu Rehberi

E-posta hizmetlerinin vazgeçilmezi olan Yandex Mail, güçlü altyapısı ve kullanıcı dostu arayüzüyle öne çıkıyor. Ancak, Yandex Mail'i farklı e-posta istemcilerinde (Outlook, Thunderbird, mobil app'ler) kullanmak için doğru servis ayarlarını bilmek şarttır. Peki, Yandex Mail servis ayarları nedir ve nasıl yapılandırılır? Bu rehberde, anahtar kelime "Yandex Mail servis ayarları" odaklı olarak, IMAP, POP3 ve SMTP protokollerini detaylıca ele alacağız. 2025 yılı e-posta trendlerine uygun ipuçlarıyla, adım adım kurulum rehberi sunuyoruz. Yeni başlayanlardan profesyonellere kadar herkes için kapsamlı bir içerik hazırladık – güvenilir e-posta erişimi için okumaya devam edin. Yandex Mail Nedir? Temel Özellikler ve Avantajlar Yandex Mail, Rusya merkezli Yandex şirketinin ücretsiz e-posta hizmetidir. 2001'de başlatılan servis, bugün 100 milyondan fazla kullanıcıya sahip. Gmail'e alternatif olarak, sınırsız depolama (10 GB başlangıç, sınırsız ekleme), güçlü spam filtreleri ve entegre takvim gibi özellikler sunar. Temel özellikler: - Depolama: 10 GB ücretsiz, sınırsız genişletme. - Güvenlik: İki faktörlü doğrulama (2FA), antivirüs taraması. - Arayüz: Kullanıcı dostu web app, mobil (iOS/Android) destek. - Entegrasyonlar: Yandex Disk, Takvim, Notlar. - Özelleştirme: Alan adı entegrasyonu (@orneksite.com). Avantajlar: - Spam koruması %99 etkili (Yandex verileri). - Ücretsiz profesyonel kullanım (Yandex.Connect ile). - Yüksek hız: Rusya ve Avrupa sunucuları. - Mobil push bildirimleri. Dezavantajlar: Batı ülkelerinde Gmail kadar entegre değil, gizlilik endişeleri (Rusya yasaları). İstatistik: 2025'te e-posta kullanıcılarının %15'i Yandex Mail kullanıyor (Statista). Küresel erişim için ideal. Örnek: Bir freelancer, Yandex Mail'i Outlook ile entegre ederek e-postalarını yönetir – her yerden erişim sağlar. Yandex Mail Servis Ayarları Neden Önemlidir? Yandex Mail'i web arayüzü dışında kullanmak için IMAP, POP3 ve SMTP ayarlarını doğru yapılandırmalısınız. Yanlış ayarlar, e-posta gönderme/alma hatalarına (örneğin, 550 hatası) yol açar. Doğru konfigürasyon, senkronizasyonu sağlar ve verilerinizi korur. Neden kritik? - Erişilebilirlik: Mobil/desktop client'larda offline erişim. - Güvenlik: SSL/TLS ile şifreli bağlantı. - Performans: IMAP ile gerçek zamanlı senkronizasyon. - Yasal Uyum: KVKK için güvenli veri aktarımı. - Verimlilik: Birden fazla cihazda tutarlı kullanım. 2025 Trendi: DoH (DNS over HTTPS) entegrasyonuyla daha güvenli e-posta erişimi. Yandex Mail IMAP Ayarları: Detaylı Konfigürasyon IMAP (Internet Message Access Protocol), e-postaları sunucuda tutarak cihazlar arası senkronizasyon sağlar. Yandex için önerilen protokoldür. IMAP Sunucu Ayarları: - Sunucu Adı: imap.yandex.com - Port: 993 (SSL/TLS) veya 143 (STARTTLS) - Kullanıcı Adı: Tam e-posta adresiniz (orneksite@yandex.com) - Şifre: Yandex şifreniz (app şifresi önerilir) - Güvenlik: SSL/TLS etkin Adım Adım Kurulum (Outlook Örneği): 1. Outlook'u açın, Dosya > Hesap Ekle. 2. IMAP seçin, sunucu bilgilerini girin. 3. Gelişmiş ayarlar: IMAP port 993, SSL/TLS. 4. Test edin, e-postalar senkronize olsun. Avantajlar: Okundu/işaretleme senkronizasyonu, sınırsız erişim. Dezavantajlar: İnternet bağımlı, depolama sunucuda kalır. İpucu: App şifresi için Yandex ayarlarından "Uygulama Şifreleri" bölümünü kullanın. Yandex Mail POP3 Ayarları: Yerel Depolama İçin POP3 (Post Office Protocol), e-postaları yerel cihaza indirerek sunucudan siler. Arşivleme için uygundur. POP3 Sunucu Ayarları: - Sunucu Adı: pop.yandex.com - Port: 995 (SSL/TLS) veya 110 (STARTTLS) - Kullanıcı Adı: Tam e-posta adresiniz - Şifre: Yandex şifreniz - Güvenlik: SSL/TLS etkin - Sunucuda Kopya Bırak: Opsiyonel (ayarlar > Diğer > POP3) Adım Adım Kurulum (Thunderbird Örneği): 1. Thunderbird > Hesap Ayarları > Yeni Hesap. 2. POP3 seçin, sunucu bilgilerini girin. 3. Gelişmiş: Port 995, SSL/TLS. 4. E-postaları indirin, yerel arşivleyin. Avantajlar: Offline erişim, sunucu depolama tasarrufu. Dezavantajlar: Senkronizasyon yok, cihaz kaybında veri kaybı. Not: Yandex, POP3'te "Sunucuda kopya bırak" seçeneğini destekler. Yandex Mail SMTP Ayarları: E-Posta Gönderme İçin SMTP (Simple Mail Transfer Protocol), e-posta gönderme protokolüdür. IMAP/POP3 ile birlikte kullanılır. SMTP Sunucu Ayarları: - Sunucu Adı: smtp.yandex.com - Port: 465 (SSL/TLS) veya 587 (STARTTLS) - Kullanıcı Adı: Tam e-posta adresiniz - Şifre: Yandex şifreniz - Güvenlik: SSL/TLS etkin - Kimlik Doğrulama: Evet (şifreyle) Adım Adım Kurulum (Apple Mail Örneği): 1. Apple Mail > Tercihler > Hesaplar. 2. SMTP sunucu ekleyin, bilgileri girin. 3. Port 465 seçin, SSL sertifikasını etkinleştirin. 4. Test e-posta gönderin. Avantajlar: Güvenli gönderme, ek boyutu 25MB. Dezavantajlar: Yanlış port hataya yol açar (örneğin, 550 authentication failed). İpucu: Port engellemesi için 587'yi deneyin. Yandex Mail SSL/TLS ve Güvenlik Ayarları Yandex, tüm bağlantılarda SSL/TLS önerir. Şifreleme, verilerinizi korur. Güvenlik İpuçları: - SSL/TLS Etkinleştirin: Portlarda belirtilenleri kullanın. - App Şifresi: Üçüncü parti client'lar için özel şifre oluşturun. - 2FA: Yandex hesabınızı koruyun. - Spam Filtreleri: Yandex panelinden ayarlayın. Avantaj: Şifreli bağlantı, hacker saldırılarını %99 önler. 2025 Trendi: DoH entegrasyonuyla DNS güvenliği. Yandex Mail Servis Ayarları Kurulumunda Yaygın Hatalar - Hata 1: Yanlış Port. Çözüm: 993/995/465 kontrol edin. - Hata 2: Şifre Hatası. Çözüm: App şifresi kullanın. - Hata 3: SSL Devre Dışı. Çözüm: Ayarları etkinleştirin. - Hata 4: Firewall Engeli. Çözüm: Portları açın. - Hata 5: Yanlış Sunucu Adı. Çözüm: imap/smtp.yandex.com kullanın. Yandex Mail Alternatifleri ve Karşılaştırma - Gmail: Daha entegre, 15GB ücretsiz. - Outlook: Kurumsal, 5GB ücretsiz. - ProtonMail: Gizlilik odaklı, şifreli. 2025 Yandex Mail Trendleri - AI Spam Filtreleri: Otomatik öğrenme. - Entegre Araçlar: Yandex AI asistan. - Gizlilik Odaklı: E2E şifreleme. - Mobil Öncelik: Push hızı artışı. Sonuç: Yandex Mail Servis Ayarlarını Doğru Yapın Yandex Mail servis ayarları, e-posta yönetimini kolaylaştırır. IMAP/POP3/SMTP ile cihazlarınızı senkronize edin, güvenliği sağlayın. 2025'te AI ve gizlilik trendleriyle daha güçlü. Hemen ayarlarınızı güncelleyin ve verimli e-posta kullanımına geçin!

Son güncelleme tarihi Nov 25, 2025

2026 UI/UX Tasarım Trendleri: Kullanıcı Deneyimini Dönüştüren Yenilikler ve En İyi Araçlar

Giriş: Neden 2026'da UI/UX Trendleri Bu Kadar Kritik? Dijital dünyanın hızla evrildiği 2026 yılında, kullanıcı deneyimi (UX) ve kullanıcı arayüzü (UI) tasarımı artık sadece estetik bir tercih olmaktan çıktı; doğrudan iş başarısını, kullanıcı sadakatini ve rekabet üstünlüğünü belirleyen bir faktör haline geldi. Nielsen Norman Group'un State of UX 2026 raporuna göre, UI standartlaşırken fark yaratmak için daha derin, bağlamsal ve insan odaklı yaklaşımlar gerekiyor. AI'nin yaygınlaşmasıyla birlikte kullanıcılar artık sadece hızlı değil, açıklanabilir, güvenilir ve kişiselleştirilmiş deneyimler bekliyor. Bu yıl, AI ajanları, multimodal etkileşimler ve sürdürülebilirlik gibi unsurlar ön planda. WCAG standartlarının evrimi, erişilebilirlik artık zorunluluk. Kullanıcılar elleri meşgulken sesle, gözleriyle veya jestlerle etkileşim kuruyor; arayüzler "görünmez" hale geliyor. Bu trendler, dönüşüm oranlarını %20-30 artırabiliyor, terk oranlarını düşürüyor. Kaliteweb olarak, 2026'nın en etkili 9 trendini derledik. Her biri için açıklama, gerçek dünya örnekleri, araç önerileri ve pratik ipuçları sunuyoruz. Hazır mısınız? Başlayalım. 1. Explainable AI ve Şeffaf Yapay Zeka (XAI) Açıklama: Kullanıcılar AI kararlarını anlamadıklarında güven kaybediyor. 2026'da explainable AI (açıklanabilir AI) zorunlu hale geldi. Sistemler, "Neden bu öneriyi yaptım?" sorusuna net cevap veriyor; karar ağaçları, olasılık haritaları veya basit metin açıklamalarıyla şeffaflık sağlıyor. Örnek: Spotify veya Netflix'te "Bu şarkıyı neden önerdim?" butonu artık standart; AI ajanları e-ticarette "Bu ürünü seçtim çünkü geçmiş alışverişlerin %70'inde benzerlerini tercih ettin" diyor. Araç Önerisi: Figma + FigJam AI eklentileri, Adobe XD'de AI prototipleme, Framer AI ile dinamik açıklamalar oluşturma. Pratik İpuçları: Her AI etkileşiminde tooltip veya modal ile açıklama ekleyin. Kullanıcı testi sırasında "Bu kararı nasıl anladın?" diye sorun. Aşırı teknik terimlerden kaçının; günlük dil kullanın. 2. Agentic UX ve İnsan-Ajan Ekosistemleri Açıklama: AI ajanları pasif araç olmaktan çıkıp görevleri bağımsız tamamlıyor. Kullanıcı "tatil planla" diyor, ajan uçak bileti alır, otel rezervasyonu yapar, takvime ekler. UX, ajan-insan işbirliğini yönetiyor. Örnek: Google Assistant veya yeni AI ajan platformlarında (örneğin OpenAI'nin ajanları), kullanıcı onay akışları ve geri alma mekanizmalarıyla güven inşa ediliyor. Araç Önerisi: Framer (ajan akışları prototipleme için ideal), Figma Dev Mode + AI entegrasyonları, Penpot (açık kaynak ajan storyboard'ları). Pratik İpuçları: Ajan eylemlerini zincirleme gösterin (progress bar + açıklama). "Geri al" butonu her zaman görünür olsun. Güven skoru göstergesi ekleyin. 3. Dinamik ve Gerçek Zamanlı Kişiselleştirme (AI Destekli Personalization) Açıklama: Statik arayüzler tarih oluyor. AI, kullanıcının bağlamına (konum, zaman, cihaz, ruh hali) göre layout'u gerçek zamanlı değiştiriyor. 2026'da hiper-kişiselleştirme standart. Örnek: E-ticaret sitelerinde kullanıcı yorgunken daha büyük butonlar, gündüz canlı renkler; fitness app'lerde motivasyon seviyelerine göre arayüz değişimi. Araç Önerisi: Figma Variables + AI plugins, Framer Motion ile dinamik varyantlar, Sketch + plugins. Pratik İpuçları: A/B testiyle kişiselleştirme seviyelerini ölçün. Gizlilik ayarlarında "kişiselleştirmeyi kapat" seçeneği zorunlu. Performans optimizasyonu yapın; ağır animasyonlardan kaçının. 4. Multimodal ve Voice UI'nin Yükselişi Açıklama: Ses, dokunma, jest ve hatta nöral arayüzler birleşiyor. Voice UI artık olgun; eller serbest senaryolarda (araba, mutfak) dominant. Örnek: Apple Vision Pro veya Meta'nın AR gözlüklerinde ses + jest kombinasyonu; Uber gibi app'lerde sesli sipariş. Araç Önerisi: Figma Voice prototyping, Adobe XD ile multimodal akışlar, Framer için ses entegrasyonu. Pratik İpuçları: Ses komutlarını doğal dilde tutun. Hata düzeltme için "tekrar et" veya "iptal" komutları ekleyin. Görsel geri bildirimle sesi destekleyin. 5. Glassmorphism ve Tactile Maximalism Evrimi Açıklama: Neumorphism'den glassmorphism'a geçiş tamamlandı; şimdi dokunsal, "squishy" dokular (tactile) ve maximalist detaylar hakim. Frosted glass, blur efektleri, yumuşak gölgeler. Örnek: iOS 18+ arayüzlerinde glass efektleri, Blinkit gibi app'lerde dokunsal butonlar. Araç Önerisi: Figma (blur ve glass efektleri kolay), Adobe XD, Framer (motion ile tactile animasyon). Pratik İpuçları: Arka plan blur'unu aşırı kullanmayın; erişilebilirlik için kontrastı kontrol edin (WCAG AA+). Micro-interactions ile dokunsallığı güçlendirin. 6. Erişilebilirlik Standartları: WCAG 2.2+ ve Ötesi Açıklama: WCAG 2.2 zorunlu; 2026'da nöroçeşitlilik (ADHD, otizm) odaklı tasarım artıyor. Renk kontrastı, odak yönetimi, azaltılmış hareket seçenekleri standart. Örnek: Gov siteleri ve büyük platformlarda otomatik erişilebilirlik kontrolleri. Araç Önerisi: Figma Accessibility plugin'leri, Penpot (açık kaynak), Sketch ile Stark plugin. Pratik İpuçları: Tasarım aşamasında WAVE veya axe DevTools kullanın. Renk körlüğü simülasyonu yapın. Animasyonlar için "reduced motion" media query'si ekleyin. 7. Sürdürülebilir Tasarım (Sustainable UX) Açıklama: Karbon ayak izi düşük tasarım: Hafif asset'ler, koyu mod varsayılan, gereksiz animasyon yok. Kullanıcılar çevre bilinciyle tercih yapıyor. Örnek: Google'ın karbon dostu modları, eco-friendly app'ler. Araç Önerisi: Figma plugins (carbon calculator), Framer optimization. Pratik İpuçları: Resimleri WebP/AVIF formatında kullanın. Lazy loading zorunlu. Koyu modu teşvik edin. 8. Micro-Interactions 2.0 ve Gelişmiş Motion Design Açıklama: Basit hover efektlerinden öte; duygusal, kinetik tipografi, morphing animasyonlar. Motion, kullanıcıyı yönlendiriyor. Örnek: Duolingo'da eğlenceli feedback'ler, Apple'daki haptic + visual kombinasyon. Araç Önerisi: Framer Motion (en güçlü), Figma Smart Animate, Adobe After Effects entegrasyonu. Pratik İpuçları: Animasyon süresini 200-300ms tutun. Kullanıcı testiyle yoruculuğu ölçün. 9. 3D ve Immersive Elementler (Spatial UI) Açıklama: 3D nesneler, AR/VR entegrasyonu, immersive scroll. Web'de bile 3D hakim. Örnek: Figma'nın 3D plugin'leri, e-ticaret ürün görünümleri. Araç Önerisi: Figma 3D, Spline entegrasyonu, Framer 3D. Pratik İpuçları: Performansı optimize edin; mobil için fallback 2D sunun. Sonuç: Geleceğe Bakış 2026, UI/UX'nin "insan + makine" simbiyoz yılı. AI arayüzleri dinamikleştirecek, ancak güven, erişilebilirlik ve sürdürülebilirlik fark yaratacak. 2027-2028'de nöral arayüzler ve tam agentik ekosistemler gelebilir; bugün multimodal ve explainable tasarımlara yatırım yapanlar önde olacak. Kaliteweb ekibi olarak, bu trendleri projelerinizde uygulamak için Figma + Framer kombinasyonunu öneriyoruz – hızlı prototipleme ve AI entegrasyonu için ideal.

Son güncelleme tarihi Feb 08, 2026

No-Code 2026: Kod Bilmeden Profesyonel Web Sitesi ve Uygulama Yapma Rehberi

Giriş: No-Code ve Low-Code Nedir, Neden 2026'da Patlama Yapıyor? 2026 yılında no-code ve low-code platformlar, yazılım geliştirme dünyasının en hızlı büyüyen trendi haline geldi. Gartner'ın tahminlerine göre, yeni kurumsal uygulamaların %70'i low-code veya no-code teknolojileriyle geliştirilecek. Bu araçlar, kod yazmadan (no-code) veya minimum kodla (low-code) web siteleri, mobil uygulamalar, SaaS ürünleri ve iç araçlar oluşturmayı mümkün kılıyor. Neden bu kadar popüler? - Geliştirme süresi %70-90 azalıyor - Maliyetler %50-80 düşüyor - Girişimciler, pazarlamacılar, ürün yöneticileri ve küçük ekipler bağımsız çalışıyor - AI entegrasyonları (AI-powered builders) ile tasarım ve mantık önerileri otomatikleşiyor No-code tamamen görsel arayüzle (drag-drop, bloklar) çalışırken, low-code biraz JavaScript veya custom logic eklemeye izin veriyor. Kaliteweb olarak bu rehberde 2026'nın en güçlü 7 platformunu (Webflow, Bubble, Adalo, Softr, Glide, Carrd, FlutterFlow) inceliyoruz. Her biri için artılar/eksiler, kullanım senaryoları, entegrasyonlar, SEO/performans ipuçları, güvenlik ve ne zaman koda geçmek gerektiğini anlatacağız. Sonunda basit bir üyelik sitesi projesiyle adım adım örnek vereceğiz. En İyi 2026 No-Code Platformları: Karşılaştırma ve Detaylar 1. Webflow – Tasarım Odaklı Profesyonel Web Siteleri ve CMS Artılar: - Pixel-perfect tasarım özgürlüğü (CSS-like kontroller) - Güçlü CMS ve e-ticaret özellikleri - Temiz, hızlı HTML/CSS/JS çıktısı (export mümkün) - SEO dostu (otomatik sitemap, meta kontrolleri, hızlı hosting) Eksiler: - Karmaşık logic ve veritabanı işlemleri zayıf - Mobil app desteği yok - Öğrenme eğrisi orta-yüksek Kullanım Senaryoları: - Landing page'ler, portföy siteleri, bloglar, kurumsal siteler - E-ticaret mağazaları (Webflow Ecommerce) Entegrasyon Örnekleri: - Zapier, Airtable, Memberstack (üyelik), Stripe, Google Analytics SEO ve Performans İpuçları: - Webflow'un otomatik optimizasyonu (image compression, lazy load) kullanın - Clean URL'ler ve alt text'leri unutmayın - Core Web Vitals için custom code snippet'leri ekleyin Güvenlik: SOC 2 uyumlu, DDoS koruması, SSL varsayılan 2. Bubble – Full-Stack Web Uygulamaları İçin Güçlü Seçenek Artılar: - Veritabanı, workflow, API entegrasyonu hepsi görsel - Karmaşık SaaS MVP'leri (dashboard, marketplace) yapılabilir - Ölçeklenebilir (yüksek trafik desteği) Eksiler: - Tasarım özgürlüğü Webflow kadar değil - Performans yüksek kullanıcıda yavaşlayabilir - Vendor lock-in riski yüksek (export sınırlı) Kullanım Senaryoları: - SaaS ürünleri, internal tools, job board'lar, CRM'ler Entegrasyon Örnekleri: - Stripe (ödeme), Airtable/Zapier, OpenAI API, Twilio SEO ve Performans İpuçları: - Responsive tasarım zorunlu - Workflow'ları optimize edin (gereksiz action'ları kaldırın) - SEO için Bubble'un meta tag plugin'lerini kullanın Güvenlik: GDPR uyumlu, privacy rules ile veri erişimi kontrolü 3. Adalo – AI Destekli Native Mobil ve Web App'ler Artılar: - Native iOS/Android yayınlama kolay - AI-powered component önerileri - Güzel UI şablonları Eksiler: - Web desteği sınırlı - Karmaşık logic'te zayıf kalabilir Kullanım Senaryoları: - Mobil-first uygulamalar (fitness tracker, sosyal app) Entegrasyon Örnekleri: - Stripe, Airtable, Zapier, Firebase SEO ve Performans: Web versiyonu için PWA desteği var, native'de SEO yok 4. Softr – Airtable/Google Sheets Üzerine Web App'ler Artılar: - Çok hızlı prototipleme - Kullanıcı dostu arayüz - Üyelik ve ödeme kolay Eksiler: - Tasarım özgürlüğü düşük - Çok karmaşık logic yok Kullanım Senaryoları: - Client portal'lar, directory'ler, internal tools Entegrasyon Örnekleri: - Airtable (ana veri kaynağı), Stripe, Zapier SEO ve Performans: İyi SEO araçları, hızlı yüklenme 5. Glide – Google Sheets'ten Mobil App'e Dönüşüm Artılar: - En hızlı başlangıç (5 dakikada app) - Veri odaklı Eksiler: - Tasarım sınırlı - Yüksek trafik için ücretli Kullanım Senaryoları: - Basit mobil app'ler, inventory tracker Entegrasyon Örnekleri: - Google Sheets, Zapier, Stripe 6. Carrd – Tek Sayfalık Profesyonel Landing Page'ler Artılar: - Çok ucuz ($19/yıl) - Hızlı ve basit - Mobil responsive Eksiler: - Sadece tek/çok sayfalı statik siteler Kullanım Senaryoları: - Kişisel site, ürün lansmanı, lead capture Entegrasyon Örnekleri: - Stripe, Mailchimp, Zapier 7. FlutterFlow – Cross-Platform Mobil + Web (Native Performans) Artılar: - Native Flutter tabanlı (yüksek performans) - Kod export imkanı (vendor lock-in düşük) - AI component builder Eksiler: - Öğrenme eğrisi biraz yüksek - Web desteği yeni gelişiyor Kullanım Senaryoları: - Mobil app'ler (chat, e-ticaret), ileride web'e genişletme Entegrasyon Örnekleri: - Firebase, Supabase, Stripe, API'ler Güvenlik: Firebase entegrasyonu ile güçlü auth Genel İpuçları: SEO, Performans, Güvenlik ve Sınırlamalar SEO İpuçları (2026 Standartları): - Clean URL'ler, meta title/description, schema markup ekleyin - Core Web Vitals optimize edin (LCP <2.5s) - Webflow/Bubble gibi platformlarda otomatik sitemap.xml kullanın Performans Optimizasyonu: - Gereksiz action/workflow kaldırma - Image compression ve CDN kullanımı - Lazy loading ve caching Güvenlik Konuları: - GDPR/CCPA uyumu kontrol edin - Privacy rules ve row-level security ayarlayın - 2FA ve güçlü auth kullanın - Düzenli audit yapın Sınırlamalar ve Ne Zaman Koda Geçilmeli? - Yüksek trafik (>100k kullanıcı/ay) → performans düşüşü - Çok karmaşık algoritmalar/custom AI → platform sınırları - Özel güvenlik/regülasyon (sağlık, finans) → compliance eksikliği - Vendor lock-in korkusu → kod export'lu platform seçin (FlutterFlow, WeWeb) - Maliyet skalası patlıyor → custom backend'e geçiş Genelde MVP için no-code, 10k+ kullanıcı veya özel ihtiyaçta low-code/custom kod geçişi önerilir. Adım Adım Örnek Proje: Üyelik Sistemi Oluşturma (Bubble ile) Hedef: Kullanıcı kaydolup giriş yapabilen, profil düzenleyebilen basit üyelik sitesi. 1. Hesap Oluştur ve Proje Başlat Bubble.io'ya kaydolun → New App → Blank app. 2. Veritabanı Kurun Data tab → New type: User (Bubble otomatik user tipi var) Ek alanlar: full_name (text), profile_pic (image) 3. Sayfalar Oluşturun - index (landing + login/signup) - dashboard (giriş sonrası) - profile 4. Elementler Ekleyin Signup popup: Input'lar (email, password, name) + Sign the user up action Login: Log the user in action 5. Workflow'lar Signup butonu → Create account → Navigate to dashboard Privacy rules: Current User only kendi datasına erişsin 6. Ödeme Entegrasyonu (Opsiyonel) Stripe plugin → Premium üyelik planı ekleyin 7. Responsive ve Test Preview modda mobil/desktop test edin SEO: Settings → SEO/metafields doldurun 8. Yayınlama Deploy → Custom domain bağlayın Toplam süre: 4-8 saat (deneyime göre). Sonuç: 2026'da No-Code ile Başarı İçin Tavsiyeler No-code/low-code, fikirleri hızlıca hayata geçirmenin en etkili yolu. Başlangıç için: - Basit site → Carrd / Webflow - SaaS MVP → Bubble - Mobil app → Adalo / FlutterFlow - Veri odaklı → Softr / Glide

Son güncelleme tarihi Feb 18, 2026

Progressive Web Apps (PWA) 2026: Kod Bilmeden veya Az Kodla Mobil Deneyimi Web'de Yakalama Rehberi

Giriş: PWA Nedir ve Neden 2026'da Patlama Yapıyor? Progressive Web App (PWA), web teknolojileriyle (HTML, CSS, JavaScript) geliştirilen ancak native mobil uygulama gibi davranan hibrit bir yaklaşımdır. Kullanıcılar tarayıcı üzerinden erişir, ancak "Add to Home Screen" ile ana ekrana ekleyebilir, offline çalışabilir, push notification alabilir ve tam ekran modda açılır. 2026'da PWA'lar neden bu kadar konuşuluyor? - Gartner tahminlerine göre, 2027'ye kadar tüketici odaklı uygulamaların %50'sinden fazlası PWA tabanlı olacak. - Global PWA pazarı 2030'a kadar 9.4 milyar dolara ulaşacak (30%+ yıllık büyüme). - Apple'ın iOS 16.4+ ile push notification desteği (2023'ten beri), Safari'de Service Worker iyileştirmeleri ve EU DMA etkisiyle PWA kısıtlamalarının azalması. - Android'de Chrome'un tam desteği, edge computing ve AI entegrasyonları (örneğin predictive caching). - Maliyet avantajı: Native app'lere göre %40-60 daha düşük geliştirme maliyeti, tek codebase ile iOS + Android + desktop. Ana fark yaratan özellikler: - Offline erişim (Service Worker ile caching) - Push bildirimleri (Web Push API) - Installable (Web App Manifest ile home screen ikon) - Hızlı yüklenme (Core Web Vitals uyumlu) Native app'ler hala güçlü ama PWA'lar artık "yeterince iyi" değil, çoğu senaryoda daha akıllı tercih. Avantajlar (PWA): - Hızlı geliştirme ve bakım - Geniş erişim (App Store onayı yok) - SEO + viral paylaşım kolay - Düşük terk oranı (hızlı yüklenme) Dezavantajlar: - iOS'ta bazı kısıtlamalar (background sync sınırlı, push için home screen şart) - Çok karmaşık native özellikler (AR, ileri kamera) için yetersiz - Keşif zor (app store yok) Temel Bileşenler: PWA'yı PWA Yapan 3 Ana Teknoloji 1. HTTPS Zorunluluğu Güvenlik temeli. Tüm PWA'lar HTTPS üzerinden servis edilir (localhost hariç test için). 2. Web App Manifest (manifest.json) App'in meta verilerini tanımlar: isim, ikon, tema rengi, display modu (fullscreen/standalone). Örnek manifest.json: { "name": "Kaliteweb PWA", "short_name": "Kaliteweb", "start_url": "/", "display": "standalone", "background_color": "#ffffff", "theme_color": "#000000", "icons": [ { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" } ] } HTML'e ekle: <link rel="manifest" href="/manifest.json"> 3. Service Worker Arka planda çalışan proxy script. Caching, offline, push için kritik. - Cache-first, network-first stratejileri - Background sync, periodic sync (2026'da daha güçlü) Adım Adım PWA Oluşturma Rehberi (Vanilla + Workbox) Basit Vanilla Örnek (Kod Azaltma Odaklı): 1. Proje klasörü oluşturun. 2. index.html: <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PWA Örnek</title> <link rel="manifest" href="/manifest.json"> <meta name="theme-color" content="#000000"> </head> <body> <h1>Merhaba PWA!</h1> <script> if ('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker.register('/sw.js') .then(reg => console.log('SW registered!', reg)) .catch(err => console.log('SW registration failed:', err)); }); } </script> </body> </html> 3. sw.js (basit cache): const CACHE_NAME = 'pwa-cache-v1'; const urlsToCache = ['/', '/styles.css', '/app.js']; self.addEventListener('install', event => { event.waitUntil( caches.open(CACHE_NAME) .then(cache => cache.addAll(urlsToCache)) ); }); self.addEventListener('fetch', event => { event.respondWith( caches.match(event.request) .then(response => response || fetch(event.request)) ); }); Workbox ile Profesyonel (Önerilen): - npm install workbox-cli --global - workbox generateSW workbox-config.js (otomatik cache stratejileri) Popüler Framework Entegrasyonları (2026 Güncel) - Next.js (En Popüler) next-pwa plugin veya built-in support (App Router ile). Edge runtime + SSR için ideal. Vercel deploy ile otomatik PWA. - Nuxt (Vue için) @vite-pwa/nuxt modülü. SSR + offline caching kolay. - Vite PWA Plugin En hızlı geliştirme. vite-plugin-pwa ile manifest ve SW otomatik oluşturulur. React/Vue/Svelte ile uyumlu. - React / Angular / Vue CRA yerine Vite + plugin önerilir. Angular PWA schematics hala güçlü. Checklist: Framework Seçimi - SEO + performans → Next.js - Hızlı prototip → Vite + React/Vue - Vue ekosistemi → Nuxt - Enterprise → Angular Performans Optimizasyonu: Lighthouse PWA Skoru 100 Alma İpuçları Lighthouse PWA kategorisi: manifest, SW, offline, prompt kriterlerini kontrol eder. 100 Puan İçin Pratik Checklist (2026): - HTTPS zorunlu - Manifest tam (name, short_name, icons 192+512, display: standalone) - Service Worker yüklü ve offline fallback - Install prompt tetiklenir (beforeinstallprompt event) - Core Web Vitals uyumlu (LCP <2.5s, INP <200ms) - Image optimization (WebP/AVIF, lazy loading) - Minify JS/CSS, code splitting - CDN + caching headers - No render-blocking resources İpuçları: - Workbox ile stale-while-revalidate stratejisi - Partial hydration (Next.js 14+) - Edge caching (Cloudflare / Vercel) Hosting Uyumluğu ve Kaliteweb Avantajı PWA'lar statik dosya ağırlıklı → hızlı hosting + CDN şart. - Kaliteweb Hosting İpuçları: SSD + LiteSpeed, Cloudflare entegrasyonu (ücretsiz CDN, cache everything), HTTP/3 desteği → TTFB <100ms. - Statik export (Next.js export veya Vite build) → düşük maliyet, yüksek hız. - Vercel / Netlify / Cloudflare Pages → otomatik PWA optimizasyonu. Güvenlik ve Erişilebilirlik Konuları Güvenlik: - HTTPS + HSTS - Content Security Policy (CSP) - Secure headers (X-Frame-Options, Permissions-Policy) - Privacy: push permission sadece explicit Erişilebilirlik: - ARIA label'lar - Keyboard navigation - Reduced motion desteği - Lighthouse Accessibility skoru >90 hedefle Gerçek Dünya Örnekleri - Twitter Lite (X PWA): %75 daha az veri kullanımı, %70 daha hızlı yüklenme, offline tweet okuma. - Starbucks PWA: Sipariş sistemi offline çalışır, menü caching ile hızlanır. - AliExpress PWA: Dönüşüm oranı %104 artış (App Store friction kalktı). - Pinterest PWA: Mobil trafiğin büyük kısmı PWA'dan. Yaygın Hatalar ve Debug İpuçları Yaygın Hatalar: - Manifest ikon boyutları yanlış - Service Worker scope hatalı - iOS'ta push için home screen eklemeyi unutmak - Cache'i aşırı agresif yapmak (stale content) - Lighthouse'ta "Add to home screen" kriterini kaçırmak Debug: - Chrome DevTools → Application tab → Manifest / Service Workers - Lighthouse → PWA audit - Workbox debug mode - iOS: Safari → Add to Home → test Sonuç + Gelecek Tahmini: PWA + AI Entegrasyonu 2026 PWA yılı: Maliyet düşüşü, iOS desteği iyileşmesi ve edge/AI ile native'e yaklaşma. Gelecek (2027+): - AI-powered predictive caching - WebAssembly + AI modelleri offline - Voice UI + PWA (Web Speech API) - Web3 entegrasyonu (wallet access) - Composable front-ends + PWA Kaliteweb olarak önerimiz: MVP için Vite + PWA plugin ile başlayın, sonra Next.js'e geçin.

Son güncelleme tarihi Feb 18, 2026

Jamstack 2026: Headless CMS ile Hızlı, Güvenli ve Ölçeklenebilir Web Siteleri Kurma Rehberi

Giriş: Jamstack Nedir ve Neden Geleneksel Monolith CMS'lerden Üstün? Jamstack (JavaScript, APIs, Markup), 2016'dan beri popüler olan modern web mimarisi yaklaşımıdır. Temel fikir: Önceden statik olarak üretilen sayfaları (pre-rendered) CDN üzerinden sunmak, dinamik kısımları API'ler aracılığıyla yönetmek ve frontend ile backend'i tamamen ayırmak. 2026'da Jamstack neden hâlâ (hatta daha fazla) tercih ediliyor? - Hız: Core Web Vitals'ta LCP <2s, INP <200ms standartları artık zorunlu. Statik dosyalar + edge delivery ile %50-80 daha hızlı yüklenme. - Güvenlik: Sunucu tarafı kod minimumda → SQL injection, XSS gibi saldırı yüzeyi %90 azalıyor. - Maliyet: Hosting masrafları düşük (statik + serverless), ölçekleme otomatik. - Geliştirici Deneyimi: Decoupled mimari → frontend ve içerik ekipleri bağımsız çalışır. - SEO & Performans: Google'ın AI Overviews ve entity ranking'inde statik + schema markup avantaj sağlar. Geleneksel monolith CMS'ler (WordPress, Drupal) hâlâ yaygın ama 2026'da headless + Jamstack kombinasyonu, özellikle orta-büyük projelerde %70+ tercih ediliyor. Pazar büyümesi: Headless CMS pazarı 2033'e kadar 20 milyar $'ı aşacak. Kaliteweb olarak bu rehberde Jamstack'in temel prensiplerini, en iyi araçları, adım adım örnek projeyi ve pratik ipuçlarını paylaşıyoruz. Temel Prensipler: Static Generation, API'ler ve Decoupled Mimari Jamstack'in üç ana prensibi: 1. Static Generation (SSG / ISR): Sayfalar build zamanında üretilir. Next.js'te getStaticProps, Astro'da statik export. 2. API'ler ile Dinamizm: İçerik, auth, ödeme gibi dinamik işlemler headless CMS veya serverless function'larla yapılır (GraphQL/REST). 3. Decoupled Frontend-Backend: Frontend framework'ü (React/Vue) backend'den bağımsızdır. İçerik API üzerinden gelir. Avantaj: Build sonrası statik HTML/JS/CSS → CDN'den servis edilir. Dinamiklik gerektiğinde Incremental Static Regeneration (ISR) veya On-Demand ISR ile sadece değişen sayfalar güncellenir. En İyi 2026 Headless CMS'ler 2026'da öne çıkan headless CMS'ler (G2, Jamstack.org ve trend raporlarına göre): - Strapi → Açık kaynak lideri. Node.js tabanlı, self-hosted veya cloud. TypeScript desteği, plugin ekosistemi güçlü. En iyi: Özelleştirme isteyen geliştiriciler. - Sanity → Gerçek zamanlı işbirliği, GROQ query dili, AI entegrasyonu. En iyi: İçerik ekipleriyle yoğun çalışan projeler. - Contentful → Enterprise seviye, güçlü yönetim paneli, personalization. En iyi: Büyük ekipler, global markalar. - Directus → Mevcut veritabanını headless'e dönüştürür (PostgreSQL, MySQL). En iyi: Veri portability ve self-hosted isteyenler. - Ghost (Headless Mode) → Blog/publishing odaklı, hızlı ve hafif. En iyi: Haber siteleri, newsletter entegrasyonu. Framework Karşılaştırması: Next.js, Gatsby, Nuxt, Astro, Eleventy 2026'da en popüler Jamstack framework'leri: - Next.js → En dominant (80%+ pay). App Router, ISR, Partial Prerendering, edge functions. En iyi: Dinamik + statik hibrit projeler. - Astro → Islands mimarisi, sıfır JS varsayılan. En iyi: İçerik odaklı, yüksek performanslı siteler. - Nuxt → Vue tabanlı, Next.js benzeri. En iyi: Vue ekosistemi seven ekipler. - Eleventy (11ty) → En hafif, en hızlı build. En iyi: Basit statik siteler, bloglar. - Gatsby → React tabanlı, güçlü plugin ekosistemi ama build süresi uzun. 2026'da Astro/Next.js'e kayış var. Adım Adım Örnek Proje: Next.js + Strapi ile Blog/E-ticaret Sitesi Hedef: Blog + basit ürün listesi sitesi. 1. Strapi Kurulumu npx create-strapi-app@latest my-strapi --quickstart Admin panel: localhost:1337/admin Collection types: "Post" (title, slug, content, image), "Product" (name, price, description). 2. Next.js Projesi npx create-next-app@latest my-jamstack --typescript --app Strapi API token oluştur (Settings → API Tokens). 3. Veri Çekme (App Router) app/blog/page.tsx: async function getPosts() { const res = await fetch('http://localhost:1337/api/posts?populate=*', { headers: { Authorization: `Bearer YOUR_TOKEN` }, next: { revalidate: 60 } // ISR 60 saniye }); return res.json(); } export default async function Blog() { const { data } = await getPosts(); return ( <div> {data.map((post: any) => ( <article key={post.id}> <h2>{post.attributes.title}</h2> <img src={post.attributes.image?.data?.attributes?.url} alt="" /> </article> ))} </div> ); } 4. Deployment - Frontend: Vercel (git push → otomatik build). - Backend: Strapi'yi Railway, Render veya Kaliteweb VPS'e deploy edin. - CDN: Cloudflare veya Vercel Edge. Ekran görüntüsü önerisi: Strapi admin panelinde Post oluşturma ekranı (collection fields), Next.js build logu Vercel dashboard'da. Performans ve SEO Avantajları - Core Web Vitals: Statik + ISR ile LCP 1-2s arası kolay ulaşılır. - SEO: Tam indekslenebilir HTML, schema markup entegrasyonu kolay (next-seo veya JSON-LD). - Ölçüm Araçları: Google PageSpeed Insights, Web Vitals Chrome Extension, Vercel Analytics. Güvenlik: Statik Dosyalar Sayesinde Düşük Saldırı Yüzeyi - Sunucu tarafı kod yok → DDoS, injection riski minimum. - API token'ları environment variable'da tutun. - HTTPS + CSP header'ları zorunlu. Hosting Entegrasyonu: Kaliteweb ile Jamstack Barındırma - Kaliteweb VPS/Bulut: Strapi için Node.js + PostgreSQL desteği, otomatik scaling. - CDN + Edge Caching: Cloudflare entegrasyonu → cache everything, Polish image optimization. - İpucu: Statik asset'leri Cloudflare R2'ye yükleyin, maliyetleri %70 düşürün. Sınırlamalar ve Ne Zaman Jamstack Seçilmeli? Sınırlamalar: - Çok dinamik kullanıcı içerikleri (real-time chat) → zor. - Karmaşık auth/permissions → serverless function ekleyin. - İlk build süresi uzun olabilir (büyük sitelerde). Seçin eğer: - Hız ve SEO kritikse - Maliyet düşürmek istiyorsanız - Ekip decoupled çalışsın istiyorsanız Geçiş Rehberi: WordPress'ten Jamstack'e 1. İçeriği export (WP All Export). 2. Strapi'ye import (plugin veya script). 3. Frontend'i Next.js/Astro ile yeniden yaz. 4. URL'leri 301 redirect ile taşıyın. 5. GSC'de change of address bildirimi. Başarı Hikayeleri ve Ölçüm KPI'ları - Bir e-ticaret markası: Next.js + Strapi ile LCP 4s → 1.4s, dönüşüm %28 artış. - Blog sitesi: Astro + Ghost headless → build süresi 3s, trafik %45 organik artış. Ölçüm KPI'ları: - PageSpeed Score >90 - CWV: %75+ good - TTFB <200ms - Organic trafik artışı Sonuç Jamstack 2026'da hız, güvenlik ve ölçeklenebilirliğin altın standardı. Başlangıç için Next.js + Strapi + Vercel öneriyoruz.

Son güncelleme tarihi Feb 18, 2026

API Geliştirme 2026: RESTful, GraphQL ve Entegrasyonlarla Modern Web Projeleri Kurma Rehberi

Giriş: API Nedir ve Neden 2026'da Vazgeçilmez Hale Geldi? API (Application Programming Interface), yazılımlar arası iletişim köprüsüdür. 2026 yılında API'ler artık sadece "bağlantı aracı" değil; mikro servis mimarilerinin kalbi, mobil/web uygulamaların beyni ve üçüncü parti entegrasyonların (ödeme gateway'leri, AI servisleri, CRM'ler) zorunlu unsuru haline geldi. Neden vazgeçilmez? - Mikro servisler ve decoupled mimarilerde her servis kendi API'sini sunar. - Frontend (Next.js, React Native) ve backend (Node, Python) arasında veri akışı sağlar. - Üçüncü parti servis entegrasyonu: Stripe, OpenAI, Google Maps, Twilio gibi araçlar olmadan modern uygulama düşünülemez. - API ekonomisi büyüyor: Gartner tahminlerine göre 2027'ye kadar GraphQL kullanan şirketler %60'ı aşacak; gRPC iç mikro servislerde dominant. - AI ajanları ve agentic sistemler API'leri tüketiyor – 2026'da API talebinin %30+ artışı AI kaynaklı. Kaliteweb olarak bu rehberde RESTful temellerden GraphQL'e, güvenlikten hosting'e kadar 2026 güncel pratikleri adım adım anlatıyoruz. RESTful API Temelleri REST (Representational State Transfer), en yaygın API tarzı. 2026'da hâlâ public/external API'lerin %70+ giriş noktası. Ana Unsurlar: - HTTP Yöntemleri: GET (okuma), POST (oluşturma), PUT/PATCH (güncelleme), DELETE (silme). - Status Kodları: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error. - JSON Standartları: Her zaman application/json; camelCase veya snake_case tutarlılığı, HATEOAS (opsiyonel). - Authentication Yöntemleri: - API Key: Basit, header'da X-API-Key: abc123. - JWT (JSON Web Token): Stateless, Bearer token ile. Expiration + refresh token zorunlu. - OAuth 2.0: Üçüncü parti (Google, GitHub login) için. Authorization Code + PKCE mobil için standart. Adım Adım REST API Oluşturma Örneği (FastAPI ile – 2026 Tavsiyesi) Python + FastAPI, 2026'da en hızlı geliştirilen REST framework'lerden (type hints + otomatik docs). 1. Kurulum: pip install fastapi uvicorn pydantic[email] 2. main.py (basit CRUD): from fastapi import FastAPI, HTTPException, Depends, status from pydantic import BaseModel from typing import List from fastapi.security import OAuth2PasswordBearer app = FastAPI(title="Kaliteweb Todo API 2026") class Todo(BaseModel): id: int title: str completed: bool = False todos: List[Todo] = [] oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") # JWT simülasyonu @app.get("/todos/", response_model=List[Todo]) async def get_todos(token: str = Depends(oauth2_scheme)): return todos @app.post("/todos/", response_model=Todo, status_code=201) async def create_todo(todo: Todo): if any(t.id == todo.id for t in todos): raise HTTPException(status_code=400, detail="ID zaten var") todos.append(todo) return todo @app.put("/todos/{todo_id}", response_model=Todo) async def update_todo(todo_id: int, updated: Todo): for i, t in enumerate(todos): if t.id == todo_id: todos[i] = updated return updated raise HTTPException(status_code=404, detail="Todo bulunamadı") 3. Çalıştırma: uvicorn main:app --reload 4. Test: Postman veya Swagger (/docs otomatik gelir). Pratik Checklist – REST API Başarısı İçin: - Her endpoint'e rate limiting ekleyin (slowapi). - Input validation: Pydantic + custom validators. - Error handling: Global exception handler. - CORS: Doğru origin'leri whitelist'e alın. - Logging: Structured JSON log (Loguru veya structlog). GraphQL Nedir ve Avantajları GraphQL, client'ın tam istediği veriyi sorgulamasını sağlar. Facebook tarafından geliştirildi, 2026'da client-facing API'lerde standart. Avantajlar: - Over/under-fetching yok. - Tek istekte birden fazla resource. - Strong typing + introspection. - Subscriptions (real-time) kolay. GraphQL Proje Örneği (Next.js + Apollo): Backend (Apollo Server): const { ApolloServer } = require('apollo-server'); const typeDefs = ` type Todo { id: ID!, title: String!, completed: Boolean! } type Query { todos: [Todo!]! } type Mutation { addTodo(title: String!): Todo! } `; const resolvers = { ... }; const server = new ApolloServer({ typeDefs, resolvers }); server.listen().then(({ url }) => console.log(url)); Frontend (Next.js App Router): import { ApolloClient, InMemoryCache, gql } from '@apollo/client'; const client = new ApolloClient({ uri: 'http://localhost:4000', cache: new InMemoryCache() }); async function getTodos() { const { data } = await client.query({ query: gql`query { todos { id title completed } }` }); return data.todos; } Popüler Araçlar ve Servisler - Docs: Swagger/OpenAPI (REST), GraphQL Playground / Apollo Studio. - Rate Limiting & Caching: Redis + express-rate-limit, Apollo Data Sources. - Monitoring: Prometheus + Grafana, Datadog API monitoring. Güvenlik Konuları: OWASP API Security Top 10 (2023-2026 Güncel) OWASP API Security Top 10 (2023 versiyonu hâlâ referans, 2026'da AI kaynaklı yeni tehditler ekleniyor): 1. Broken Object Level Authorization (BOLA/IDOR) 2. Broken Authentication 3. Excessive Data Exposure 4. Unrestricted Resource Consumption (DoS) 5. Broken Function Level Authorization 6. Unrestricted Access to Sensitive Business Flows 7. Server Side Request Forgery (SSRF) 8. Security Misconfiguration 9. Improper Inventory Management (zombie API'ler) 10. Unsafe Consumption of APIs 2026 Ek İpuçları: AI prompt injection, machine identity auth (mTLS), zero-trust API. Hosting Entegrasyonu: Kaliteweb ile API Barındırma - VPS/Bulut: Kaliteweb VPS'te Docker + PM2/Supervisor, auto-scaling. - Serverless: Vercel Functions, AWS Lambda, Railway – maliyet düşük, scaling otomatik. - İpuçları: API Gateway (Kong, AWS API Gateway) ile rate limiting/auth merkezi yönetin. Yaygın Hatalar ve Debug Teknikleri - Hata: Rate limiting yok → DDoS. - Debug: Postman Collections, VS Code REST Client, Apollo DevTools. - Hata: JWT secret leak → .env + gitignore. Gerçek Dünya Örnekleri - Ödeme: Stripe API entegrasyonu (webhook + idempotency key). - AI: OpenAI API (rate limiting + token budget yönetimi). Sonuç + Gelecek Trendleri 2026'da API geliştirme multi-protocol: REST public, GraphQL client-facing, gRPC internal microservices. Gelecek: API Gateway'ler AI gateway'e dönüşüyor, gRPC adoption artıyor, serverless + edge API'ler standartlaşıyor.

Son güncelleme tarihi Feb 18, 2026

Serverless 2026: AWS Lambda, Vercel ve Netlify ile Sıfır Sunucu Yönetimi, Düşük Maliyetli Yüksek Performanslı Web Uygulamaları Rehberi

Giriş: Serverless Nedir ve Geleneksel Sunucu Modelinden Neden Üstün? Serverless mimari, "sunucusuz" anlamına gelir ancak sunucular tamamen ortadan kalkmaz; geliştiriciler sunucu yönetimi, ölçekleme, patching ve kapasite planlamasından kurtulur. Bulut sağlayıcısı (AWS, Google, Azure vb.) fonksiyonları otomatik çalıştırır, kaynakları dinamik tahsis eder ve sadece kullanılan süre için ücret alır. 2026'da serverless artık niş değil, ana akım: Datadog State of Serverless raporuna göre AWS Lambda kullanımı yıllık %100+ büyüyor, edge serverless (Vercel, Netlify, Cloudflare) frontend/backend entegrasyonunda dominant. Pazar büyüklüğü 2026'da yaklaşık 32 milyar USD'ye ulaşıyor. Avantajlar: Maliyet %50-90 düşüş (özellikle düşük/orta trafik), geliştirme hızı 2-3 kat artıyor, bakım sıfıra yakın. Temel Kavramlar: FaaS, BaaS, Event-Driven Mimari - FaaS (Function as a Service): AWS Lambda, Google Cloud Functions, Azure Functions, Vercel/Netlify Functions. Kod parçaları event tetikle çalışır (HTTP, cron, S3 upload vb.). - BaaS (Backend as a Service): Supabase (auth, DB, storage), Firebase – veritabanı, auth, realtime gibi servisler serverless. - Event-Driven: Tetikleyiciler (API çağrısı, dosya yükleme, timer) fonksiyonu çalıştırır → mikro servis benzeri ama yönetim yok. Edge computing trendi: Fonksiyonlar global CDN'lerde (edge) çalışır → latency <50ms. En İyi 2026 Serverless Platformları 1. AWS Lambda Artılar: En olgun, 200+ AWS entegrasyonu, SnapStart (cold start %90 azalır), Provisioned Concurrency, Lambda@Edge. Eksiler: Cold start hala var (Java/.NET'te), karmaşık IAM. Kullanım Senaryoları: Full backend API, cron job'lar, veri işleme, AI inference. 2. Vercel (Edge Functions + Serverless) Artılar: Next.js ile kusursuz entegrasyon, edge runtime (düşük cold start), global CDN, AI tools (v0). Eksiler: Daha çok frontend odaklı, büyük backend için pahalı olabilir. Senaryolar: Next.js full-stack app, ISR/SSR, personalization. 3. Netlify Functions Artılar: Statik site + functions bir arada, background functions, scheduled functions, kolay Git deploy. Eksiler: AWS Lambda tabanlı → cold start, sınırlı runtime. Senaryolar: JAMstack siteler, form handling, lightweight API. 4. Google Cloud Functions Artılar: Firebase entegrasyonu, ML/AI güçlü, düşük latency. Eksiler: Ekosistem AWS kadar geniş değil. Senaryolar: Data processing, realtime apps. 5. Azure Functions Artılar: .NET entegrasyonu, Durable Functions (workflow), enterprise uyumlu. Eksiler: Microsoft ekosistemi dışı yavaş. Senaryolar: Kurumsal entegrasyon. 6. Supabase Artılar: Açık kaynak Firebase alternatifi, PostgreSQL + realtime + auth + storage. Eksiler: Compute sınırlı (Edge Functions beta). Senaryolar: Auth + DB + lightweight functions. Adım Adım Örnek Proje 1: Next.js + Vercel Functions ile Serverless Blog/E-ticaret Backend 1. Next.js projesi oluştur: npx create-next-app@latest my-shop 2. API route (/app/api/products/route.ts): import { NextResponse } from 'next/server'; export async function GET() { // Supabase veya DynamoDB'den çek const products = [{ id: 1, name: 'Ürün 1', price: 99 }]; return NextResponse.json(products); } export const config = { runtime: 'edge' }; // Edge için 3. Deploy: GitHub'a push → Vercel import → otomatik deploy. 4. Cron job için Vercel Cron Jobs: dashboard'da schedule ekle. Mimarî diagram önerisi: Kullanıcı → Vercel Edge (Next.js SSR/ISR + Edge Function) → Supabase/PostgreSQL (global read replicas) → Response <50ms. Adım Adım Örnek Proje 2: AWS Lambda + API Gateway ile Custom API 1. AWS Console → Lambda → Create function (Node.js/Python). 2. Kod (index.mjs): export const handler = async (event) => { return { statusCode: 200, body: JSON.stringify({ message: 'Merhaba Serverless!' }) }; }; 3. API Gateway → REST API → Lambda entegrasyonu. 4. Cold start mitigation: Provisioned Concurrency 5-10 ekle. Performans ve Maliyet Optimizasyonu - Cold Start Çözümü: SnapStart (AWS), Provisioned Concurrency, Edge runtime (Vercel/Netlify), lightweight runtime (Node/Python), keep-warm cron (her 5 dk ping). - Caching: Redis (Upstash), Vercel KV, CloudFront. - Edge Functions: Latency %70 azalır. - Maliyet: AWS 1M ücretsiz request, sonra $0.20/1M; Vercel Pro $20/ay + kullanım. Güvenlik Konuları - IAM roller: Least privilege prensibi. - Secrets: AWS Secrets Manager, Vercel Environment Variables. - DDoS: CloudFront/WAF, Vercel/Netlify built-in. - Auth: JWT + Cognito/Supabase Auth. Hosting Bağlantısı: Kaliteweb VPS'ten Serverless'e Geçiş - Hibrit model: Statik frontend Kaliteweb VPS + API serverless (Vercel/AWS). - Geçiş ipuçları: Önce API'leri serverless'e taşı, monolith'i mikro fonksiyonlara böl, trafik düşükse başla. - Kaliteweb avantajı: VPS'te test ortamı kur, sonra migrate et. Sınırlamalar ve Ne Zaman Serverless Seçilmeli? Sınırlamalar: - Stateful/long-running (>15 dk AWS) → sorun. - Cold start latency kritik (HFT, gaming) → edge veya container. - Vendor lock-in yüksek. Seçin eğer: - Değişken trafik - Hızlı prototip/MVP - Maliyet optimizasyonu öncelikli - Bakım sıfırlamak istiyorsanız Alternatif: AWS Fargate, Google Cloud Run (serverless container). Başarı Hikayeleri ve Ölçüm Araçları - Bir e-ticaret: Vercel + Next.js ile maliyet %65 düşüş, LCP 1.2s. - Startup: AWS Lambda + Supabase ile 0 bakım, aylık $50 maliyet. Ölçüm: - AWS CloudWatch / X-Ray - Vercel Analytics - Datadog Serverless Monitoring 2026 serverless yılı: Edge + AI entegrasyonu ile native performans yaklaşıyor. Başlangıç için Vercel + Next.js + Supabase öneriyoruz – sıfır yönetim, düşük maliyet.

Son güncelleme tarihi Feb 18, 2026

Machine Learning 2026: Scikit-Learn ve TensorFlow ile Veri Analizi ve Model Eğitimi Rehberi

Giriş Machine Learning (ML), makinelerin veri üzerinden öğrenerek tahmin yapma ve karar alma yeteneğidir. 2026 yılında big data patlaması ile veri analizi her sektörde kritik hale geldi. E-ticaret firmaları müşteri churn’ünü öngörüyor, bankalar fraud tespiti yapıyor, sağlık sektörü hastalık teşhisini hızlandırıyor. Bu rehberde Scikit-Learn ve TensorFlow kullanarak sıfırdan model eğitimi göstereceğiz. Teknik ama anlaşılır dilde, bol kod snippet’iyle ilerleyeceğiz. Kaliteweb’in VPS’leriyle modellerinizi üretimde çalıştırabileceksiniz. ML’nin önemi: 2026’da veri miktarı 2020’ye göre 50 kat arttı. Doğru analiz olmadan rekabet etmek imkânsız. Temel Kavramlar Supervised Learning: Etiketli veri ile öğrenme. Örnek: ev fiyat tahmini (regresyon), spam tespiti (classification). Unsupervised Learning: Etiketsiz veri ile kümeleme veya boyut indirgeme. Örnek: müşteri segmentasyonu. Reinforcement Learning: Ödül-ceza ile öğrenme. Örnek: oyun AI’ları. Feature engineering: Eksik değer doldurma, one-hot encoding, polynomial features. Overfitting: Model eğitim verisini ezberler, testte kötü performans. Underfitting: Model çok basit, hiçbir veriyi öğrenemez. Çözüm: Cross-validation, regularization (L1/L2), early stopping. Veri Hazırlama Pandas ve NumPy ile başlayın. import pandas as pd import numpy as np from sklearn.preprocessing import StandardScaler df = pd.read_csv('veri.csv') df = df.dropna() # eksik değer temizle df = pd.get_dummies(df, columns=['kategori']) # one-hot scaler = StandardScaler() df[['yas', 'gelir']] = scaler.fit_transform(df[['yas', 'gelir']]) Adım adım: 1. Veri yükle ve incele (df.head(), df.describe()) 2. Eksik değerleri median ile doldur 3. Outlier’ları IQR yöntemiyle temizle 4. Scaling ve encoding yap Scikit-Learn ile Pratik Modeller 1. Lineer Regresyon Boston housing dataset (veya Kaggle ev fiyatları). from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error X = df.drop('fiyat', axis=1) y = df['fiyat'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) model = LinearRegression() model.fit(X_train, y_train) pred = model.predict(X_test) print(mean_squared_error(y_test, pred)) 2. Karar Ağaçları Karar ağacı overfitting’i önlemek için max_depth=5 kullanın. from sklearn.tree import DecisionTreeRegressor tree = DecisionTreeRegressor(max_depth=5) tree.fit(X_train, y_train) 3. KNN K=5 ile sınıflandırma. from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors=5) knn.fit(X_train, y_train) 4. SVM Kernel=’rbf’ ile. from sklearn.svm import SVC svm = SVC(kernel='rbf', C=1.0) svm.fit(X_train, y_train) Her model için GridSearchCV ile hiperparametre optimizasyonu yapın. TensorFlow/Keras ile Derin Öğrenme MNIST dataset ile CNN. import tensorflow as tf from tensorflow.keras import layers, models model = models.Sequential([ layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)), layers.MaxPooling2D((2,2)), layers.Flatten(), layers.Dense(128, activation='relu'), layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels)) Iris dataset ile basit RNN örneği de eklenebilir. 2026’da TensorFlow 2.16+ ile AutoKeras otomatik model seçimi destekliyor. Model Değerlendirme - Accuracy, Precision, Recall, F1-Score - Cross-validation: cross_val_score(model, X, y, cv=5) - ROC Curve: roc_auc_score ve matplotlib ile grafik Checklist – Veri Pipeline - [ ] Veri temizleme tamam - [ ] Feature scaling yapıldı - [ ] Train/test split %80/20 - [ ] Cross-validation uygulandı - [ ] Overfitting kontrol edildi (train vs test farkı <5%) - [ ] Metric’ler kaydedildi Deployment ve Üretimleştirme MLflow ile model takibi: import mlflow mlflow.start_run() mlflow.sklearn.log_model(model, "model") mlflow.log_metric("accuracy", 0.92) Docker ile serving: FROM python:3.11-slim COPY model.pkl . RUN pip install fastapi uvicorn joblib CMD ["uvicorn", "app:app", "--host", "0.0.0.0"] Hosting Entegrasyonu Kaliteweb GPU destekli VPS veya bulut sunucularında modellerinizi çalıştırın. - VPS paketi alın (en az 16GB RAM, NVIDIA GPU) - CUDA 12.4 + TensorFlow-GPU kurun - Docker Compose ile model container’ını ayağa kaldırın - Kaliteweb’in limitsiz bant genişliği ile API’yi 7/24 yayınlayın Örnek komut: docker run -p 8000:8000 my-ml-model Etik Konular Bias: Eğitim verisi dengesizse model ayrımcılık yapar. Çözüm: Fairlearn kütüphanesi. Privacy: GDPR/KVKK için differential privacy (TensorFlow Privacy). Şeffaflık: SHAP veya LIME ile model kararlarını açıklayın. Yaygın Hatalar ve Optimizasyon Hata 1: Tüm veriyi train’e koymak → overfitting. Hata 2: Hiperparametre tuning yapmamak. Optimizasyon: Early stopping, learning rate scheduler, ensemble (Random Forest + XGBoost). 2026 ipucu: AutoML araçları (Google Vertex AI, H2O) ile zaman kazanın. Gerçek Dünya Örnekleri 1. Satış tahmini: Scikit-Learn ile zaman serisi regresyon. 2. Anomaly detection: Isolation Forest ile kredi kartı sahtekarlığı. 3. Görüntü sınıflandırma: TensorFlow CNN ile ürün fotoğraflarından stok kontrolü.

Son güncelleme tarihi Feb 18, 2026