Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Snippet ve Live Template Yazmak: VS Code, Visual Studio ve Rider'da Kendi C# ve Angular Kısayolların
Snippet, dilin syntax'ı yüzünden her seferinde yazdığın küçük iskeletler için doğru araç; tekrar eden mantık için değil. Bookstore'un xUnit v3 testi, minimal API endpoint group'u, EF Core configuration'ı ve Angular 22 component'i için VS Code snippet'lerini, namespace'i dosya yolundan üreten transform'u, Visual Studio .snippet ve Rider live template karşılıklarını ve snippet dosyasını sessizce ignore eden .gitignore satırını gösteriyoruz.
Kendi Proje Template'in: dotnet new ile Bookstore Şablonu ve Angular Schematics'e Kısa Bakış
dotnet new template'i, içinde .template.config/template.json olan sıradan bir .NET solution'ı; sourceName, parametreler ve koşullu içerikle yeni bir Bookstore servisini tek komutta üretir. Template'i paketlemeyi, yerel feed'den kurmayı, port generator'ı, NoDefaultExcludes eksikliğinin düşürdüğü .dockerignore'u, 1.1.0 güncellemesinin eski projeleri değiştirmediğini gösteren diff'i ve Angular'da özel bir schematic'i gerçek çıktılarla anlatıyoruz.
Proje Komutlarını Tek Yerde Toplamak: justfile, Makefile, npm scripts, dotnet tool ve C# file-based app
Proje komutlarını README yerine repo'daki bir justfile'da topla ve CI'ın da aynı recipe'yi çağırmasını sağla. Bookstore'un justfile'ını (parametre, .env, [parallel] ile API ve Angular'ı birlikte başlatma, Windows için PowerShell), Makefile ve npm scripts karşılaştırmasını, yerel .NET tool manifest'ini, dnx'in -- tuzağını ve .NET 10 file-based app ile yazılmış seed aracını gerçek çıktılarla gösteriyoruz.
Dotfiles: Ayarlarını Git'te Tutmak, chezmoi veya Stow ile Senkronlamak ve Secret Sızdırmamak
Dotfiles'ı Git'te tutmanın üç yolu var: bare repo, GNU Stow ve chezmoi; birden çok işletim sistemi ve secret varsa chezmoi en az elle iş bırakanı. Üçünü sahte bir home klasöründe deniyoruz: bare repo'da add -A tuzağı, Stow'un .config klasörünü katlaması ve --adopt'un repo'yu ezmesi, chezmoi'de template, .chezmoiignore, Windows çıktısını --override-data ile görmek, age şifrelemesi ve gitleaks'in yakalamadığı uydurma token.
Yeni Makineyi Tek Komutla Kurmak: Brewfile, WinGet Configuration, mise ile Runtime Sürümleri ve Bootstrap
Yeni bir makineyi tek komutla kurmanın yolu işi katmanlara ayırmak: makine araçlarını Brewfile ya da WinGet Configuration kurar, proje sürümlerini global.json ve mise.toml ile mise sabitler, dotfiles'ı chezmoi uygular, projeyi just setup hazırlar. Bookstore'un tekrar çalıştırılabilir bootstrap script'lerini, WinGet dosyasının şema doğrulamasını, mise'nin trust sorusunu ve eksik araçları kendiliğinden kuran mise exec'i gösteriyoruz.