Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Komut Satırında ve IDE'de Regex: grep -E/-P, ripgrep, sed, git grep, PowerShell ve Repo Genelinde Find/Replace
Repo genelinde regex ile değişikliği güvenli yapmanın sırası şu: temiz çalışma ağacı, dosya listesini git grep ile almak, rg -r ile önizlemek, sed -E ile uygulamak ve git diff ile kontrol etmek. grep, ripgrep, PowerShell ve IDE'lerin regex farklarını, Bookstore'da interpolation'lı log çağrılarını message template'e çeviren gerçek bir refactor'u ve CRLF'li dosyada $'ın neden eşleşmediğini .NET 11'in AnyNewLine option'ıyla birlikte gösteriyoruz.
Regex Flavor'ları: .NET, JavaScript, PCRE2, POSIX BRE/ERE ve RE2 Arasındaki Farklar, Glob ile Regex'i Ayırmak
Aynı pattern flavor'a göre çalışır, hata verir ya da hata vermeden başka bir şey eşleştirir: Perl ailesi (.NET, JavaScript, PCRE2) backtracking ile lookaround sunar, RE2 ve Rust regex lineer zaman için bunlardan vazgeçer, POSIX en uzun eşleşmeyi seçer. Aynı probe listesini beş engine'de çalıştırıyor, Prometheus'un =~ ile tam eşleşmesini promtool ile, glob ile regex farkını .gitignore ve PowerShell ile gösteriyoruz.
Regular Expression Nasıl Okunur? Literal, Metakarakter, Character Class, Anchor ve Escape Kuralları
Engine pattern'i input'un her başlangıç pozisyonunda soldan sağa dener ve en soldaki eşleşmeyi döndürür; metakarakterleri kaçışlamak, character class aralıklarını doğru yazmak ve anchor'ları bilmek bu yüzden şart. .NET'te \d'nin Arap-Hint rakamlarını, $'ın sondaki \n'i kabul ettiğini gerçek çıktılarla gösteriyor, ISBN-13 ve sipariş numarasını .NET, JavaScript ve grep ile doğruluyoruz.
Log Okumak 2: Pipe, Redirection, grep, awk, sed, sort ve uniq ile Log'dan Cevap Çıkarmak
Log'dan cevap çıkarmanın yolu küçük araçları pipe ile zincirlemektir: awk alanı çıkarır, grep filtreler, sort sıralar, uniq -c sayar. stdin/stdout/stderr ve redirection'ın temelinden sonra Bookstore'un gerçek Nginx access log'unda en çok istek atan IP'leri, dakika başına 5xx'i, en yavaş istekleri ve bir request id'nin uygulama log'undaki izini bulup uniq, regex ve locale tuzaklarını gösteriyoruz.