dizdardev
Mustafa Dizdar

Mustafa Dizdar

Full Stack Developer - Always Student

macOS 27’de Shottr Neden Kapanıyordu? Sorunun Suçlusu Hiç Beklemediğim Bir Uygulamaydı

Bir süredir Mac’imde ekran görüntüsü almak için Shottr kullanıyorum. Hafif, hızlı ve ihtiyacım olan hemen her şeyi yapan bir uygulama. Özellikle ekran görüntülerinin üzerine hızlıca ok, kutu veya blur eklemek için oldukça pratik. Fakat macOS 27’ye geçtikten sonra garip bir sorun yaşamaya başladım. Shottr normalde macOS’un menu bar’ında sessizce çalışmaya devam ediyor. Bir screenshot aldığımda Shottr penceresi açılıyor, işimi yapıyorum ve pencereyi kapatıyorum. Uygulama ise arka planda çalışmaya devam ediyor.

[Dotnet] Program.cs dosyasındakı DI'ları toparlamak

Dotnet

Kod yazarken özellikle C# gibi bir OOP dil kullanınca her şey derli toplu olsun istiyorum. Çalıştığım projede Program.cs dosyasının Service katmanından eklenen Dependency Injection’larının epey kalabalık olması ve daha da eklenecek şeylerin olması sinirimi bozdu. Program.cs dosyası ne işe yarıyor?# .NET projelerinde Program.cs, uygulamanın başlangıç noktasıdır (entry point). Uygulamanın çalıştığında ilk olarak buradaki Main metodu veya WebApplication yapılandırması çalışır. Özetle; Uygulamanın giriş noktasını tanımlar DI Container (Dependency Injection) servislerini burada tanımlarsın Middleware pipeline burada oluşturulur Uygulama ayarlarını yükler (appsettings.json vs.) Web server (Kestrel) burada başlatılır Kötü vaziyet# 1 2 3 4 5 6 7 8 9 builder.Services.AddScoped(typeof(IRepositoryAsync<>), typeof(RepositoryAsync<>)); builder.Services.AddScoped(typeof(IService<>), typeof(Service<>)); builder.Services.AddScoped<BilmemNeService>(); builder.Services.AddScoped<BilmemNeGenelService>(); builder.Services.AddScoped<BilmemNeMobilBildirimService>(); builder.Services.AddScoped<IDegisikServis, DegisikServis>(); builder.Services.AddScoped<IBaskaBirService, BaskaBirService>(); Çözüm# Hal böyle olunca projede bir DependencyInjections klasörü açmak gerekti. İçine modül bazlı bir yapı kurdum.

Veritabaninda Bir Alani Uppercase Yapma Vakasi

Veritabanı

Calistigim projelerin birinde kullanici veritabanina kurum adini kendi string olarak giriyor. Tabii bu degerin alindigi inputta bir standart konulmamis. Haliyle veriler uppercase, camelcase, lowercase, capitalized words vb. turlu turlu farkli sekilde kaydedilmis. Bu da gunun sonunda veriyi getirip gruplama yaparken problem yaratiyordu. Koyulduk Gemini ile ise :) Ilk is olarak veriyi degistirmeden once dogru seyi yaptigimdan emin olmam gerek. O yuzden belirli bir id ile select atip hem mevcut veriyi hem de degistirdigimde gormek istedigim veri icin ornekler cagiriyorum.

Apple Silicon işlemcili bilgisayarda PHP ve XDebug kurulumu macerası

PHP

Geçenlerde Laravel projelerine merak sardım. Hızlıca auth sistemleri oluşturmak, direkt rest api destekli kod yazmak epey keyifli. Neyse bu başka yazıların konusu. Laravel yazarken debug yapmak için dd ya da ddd yapmak epey işlevsel sonuçlar döndürüyor ama yine de insan IDE içerisinden debug pointler ile akışı takip etme ihtiyacı duyuyor. Bunun için de XDebug kurmak gerekliymiş.

Django, DEBUG:False Durumunda Statik Dosyaları Göstermeme Sorunu

Django

Herkese selam, işim sebebiyle bu aralar sık sık Django kurcalıyorum. Tabii hobi amaçlı geliştirilen yazılımlar genelde lokalde ve tıkır tıkır çalışıyor. Çünkü projeyi public yapma derdin yok, güvenlik sıkıntın yok vs. İşte geliştirdiğimiz uygulamaları bir serverda ayağa kaldırdığımız için projeyi debug moddan çıkarmak gibi bazı aksiyonlar gerekiyor. E normali bu!# Kesinlikle katılıyorum normali bu, böyle olmalı ama daha önce hep lokalde çalışınca debug:false durumlarını test etmemiş oluyor insan 🙂 Proje bitti, hadi servera atalım, dur atmadan da debug:false yapalım diyorsun ve taa daa! CSS’ler falan mortingen. Sonra dökümantasyona bakayım dur diyorsun ve Django ağabeyimiz diyor ki, eğer debug modda çalışmıyorsan statik dosyalarını render etmekle falan ben daha uğraşmam.

Windows Terminal’den uygulama güncellemek

Nasıl Yapılır

Ubuntu kullananlar bilir, apt update ve apt upgrade çok sık yazdığımız komutlardır. Bunlar uygulamaları güncellemek için kullanılır. Malum Windows son zamanlarda WSL falan derken epey yanladı Linux cephesine 🙂 Şimdi de bu komut satırından güncelleme topuna girmiş gibi görünüyor. Nasıl yapıyoruz peki? Powershell’i açıp, “winget upgrade” yazıp enter’layın.

Flutter Telefon Araması Yaptırmak

Flutter

Geçenlerde bir proje için modelden gelen numarayı arama ihtiyacı doğdu. Sonrasında araştırınca url launcher paketi ile bunun gerçekleştirildiğini gördüm. Hatta paket sadece arama yapmak için değil, adı gibi tüm url açma işlemleri için kullanılıyor. Örn: web linkleri açmak, sms atmak, e-mail göndermek gibi.

Yeni Django Projesine Başlamak

Django

Herkese selam, bu yazı aslında kendime not gibi olacak çünkü her yeni projeye başlarken komutları biliyor da olsam teyit etmek amaçlı dokümantasyonlardan kontrol ediyorum. Bu yüzden derli toplu bir şekilde blogta dursun istedim.