Blog
Yazılar, kısa notlar ve izlenimler.
- OpenCode ve Pi Agent'a Xcode MCP eklemek
- Xcode 27 izlenimleri
- Agent orkestrasyonu: tmux'tan herdr'a
- App Store ve Play Store'da uygulama adı değiştirmek
- DUNS numarasıyla Google Play organization hesabı
- App Store'da neler değişiyor?
- Keychain ve iCloud kullanan uygulamalar taşınamıyor
- iOS uygulama paketindeki dosyalara bakmak çok kolay
- xcode-mcp için skill yazmak: token tasarrufu
- Claude Code'da plan modu neden önemli?
- Claude Code'da effort modu ve subagent modeli
- LLM kodunu review etmek neden daha zor?
- tmux kısayolları
- Mobil bildirim izni artık birden fazla kurala bağlı
- MCP'leri skill üzerinden CLI ile kullanmak
- Mobil uygulamaya telif: Gelir Vergisi 18. madde
- Claude Code'un sandbox özelliği
- Claude Code'un %90'ı Claude Code ile yazılmış
- Claude Code'da /clear ve otomatik compact
- Claude Code'a erişilmeyecek dosyaları söyleyin
- Claude Code'da /context komutu
- Claude Code subagent'ları ayrı context kullanır
- Projenin stil dökümanını çıkaran prompt
- Uygulamasını satan indie developer'lara keychain uyarısı
- App Store ülke bilgisi StoreKit ile alınabiliyor
- In-app event güncellemeleri paralel gönderilebiliyor
- n8n'de performans için queue modu
- Gereksiz App ID register'ını engellemek
- Kestirmelerle hava durumuna göre kilit ekranı görseli
- Mobil uygulamada API token korumanın yolları
- n8n'deki AI agent aslında ne?
- Perplexity + n8n ile interneti günlük taramak
- Claude Code ipuçları (Gün 1-5)
- Mobil uygulamada session replay araçları
- Abonelikli mobil uygulama için Cloudflare kiti
- Cihazlar arası dosya aktarımı: PairDrop
- Vibe coding yöntemim: önce tek HTML dosyası
- Vibe coding'de klasör yapısına ve SOLID'e takılmayın
- SwiftUI'da Liquid Glass default'ları ve devre dışı bırakma
- Blogları RSS ile takip etmek ve otomasyona bağlamak
- Abonelikli mobil uygulama için backend mimarisi
- Firebase'i AI uygulamalarında event-driven kullanmak
- AI bültenlerini NotebookLM ile dinlemek
- AI ile renk paleti denemeleri (v0 yöntemi)
- Bir uygulamayı yapay zeka ile deconstruction yapmak
- Düşük internet koşullarında mobil uygulama testi
- Kendime not: Prompt nasıl olmalı?
- Gemini ile üretilen asset'lerden SwiftUI animasyonu
- Türkçe token ile İngilizce token arasındaki fark
- App Shortcuts ile aramada farklı kelimelerden çıkmak
- App Store'da design spam reject'leri artıyor
- Kullanıcı verisini saklamak: güvenlik kontrol listesi
- AI'a iOS app yaptırdıysanız kontrol etmeniz gereken 3 araç
- ASO'da alakasız keyword kullanmayın
- Retention verinizi yakınlarınızla bozmayın
- CarPlay'de SharePlay ile yolcular şarkı seçsin
- Uygulama yaptıracaklar için güvenlik kontrol listesi
- Mythical Man-Month: 50 yılda değişmeyenler
- Event-driven mimaride mobil istemciler yanıtları nasıl alır?
- iOS asset optimizasyonu: ImageOptim
- AI araçlarına adım adım döküman vermek
- A/B testinde kararsızsanız: yazı tura yöntemi
- iOS 18'de üçüncü parti ikonlarda dark mode
- Swift'te weak vs unowned
- SwiftUI: onGeometryChange modifier'ı
- UIKit ve SwiftUI'da erişilebilirlik duyuruları
- Swift'in default hash fonksiyonu her çalıştırmada değişir
- Toplantı sesini yapay zeka ile gerçek zamanlı çevirmek
- ASO için kelime arama yöntemi
- Canva ile 11 dilde App Store görseli hazırlamak
- Xcode'da geçici tab özelliği
- iOS 17.2 ile Vision Pro için Spatial Video
- Kare ekranlı Android cihazda layout hatası
- Swift 5.9: Parameter Packs ve SwiftUI'daki 10 subview sınırı
- UIKit'in yeni callback'i: viewIsAppearing
- @escaping ne işe yarar?
- iOS 17 ile SwiftUI'da onChange deprecate oluyor
- Apple'ın öğrenme modeli / SDK patenti
- iOS ve Android arasında ölçü birimi standardı
- Play Store'da geçmiş sürümleri test için indirmek
- visionOS SDK'nın ilk günlerinde eksikler
- Bir modelin matematik iddiasına şüpheci yaklaşmak
- Copilot ve eğitim verisi izni
- macOS Ventura Stage Manager kısayolları
- MacBook clamshell modda harici ekran
- Universal Control ile uygulama testi