I have been coding since 1993. I am computer and civil engineer. Microsoft #MVP. Software Architect. Ride motorcycle. Love Games. Married and have two daughters
Tek karelik haplara devam :)
Interface olmadan OOP imkansız değildir.
Ama Go’da interface, OOP benzeri tasarımın en güçlü araçlarından biridir.
• Struct veriyi taşır.
• Method davranış ekler.
• Interface ortak davranışı tanımlar.
• Generic ise aynı algoritmayı farklı tiplerle type-safe çalıştırır.
Design Pattern’ler interface’e bağlı değildir.
Çünkü pattern, bir dil özelliği değil; problemi çözme yaklaşımıdır.
Ama interface, özellikle Go’da Strategy / Adapter / Repository gibi pattern’leri daha esnek, değiştirilebilir ve test edilebilir hale getirir.
Go, generics sonrası daha “soyutlama dostu” ve güçlü bir tasarım diline dönüştü🌻
Selam Huseyin, Sorular şahane :)
.UnAuthorize islemleri kendi icinde logluyorum. Ayrıca MiddleWare yazmadım. Yani Auth ve Permisson icinde kacak ve izinsiz girişler otomatik loglaniyor.
.Loging Middleware ise aslında standart bir loglama degil. Userfirendly son kullanicinin anlayabileceği yapılan isin Elastice detaylıca yazildigi bir Loglama.
.Dataların kullanildigi ilerisi icin yazilmis olan kisim Audit kismi. Orda dataya ayrıca parametre olarak göndermeme gerek kalmadı icin görünmüyor. Bundan dolayı anlasilmamasi doğal. Tek karede bu kadar oluyor :
"bodyBytes, err := io.ReadAll(c.Request.Body)" gibi..
Umarim sorularına cevap verebilmişimdir. Gorusuruz🌻
Go'da Tek Karelik İpucu. Benim kendi yoğurt yiğisim ile [AI cikmadan cok önce yazdigim ve halen kullandigim bir yapi!]
"Bir Web API Request'i Handler'a Ulaşana Kadar Hangi Middleware'lerden Geçer?"🌻
Auth → Permission → Logging → Transform → Audit Log → Handler
Pre Order aldim 007'yi. Delux paketler veriyor. Bir de PS5'de 1 gun onceden oynaya biliyorsunuz bu sekilde. Aksam firsat olur ise oynarım dedim. Bayram eglencesi iste. Evet Metacritic score'u şimdilik yüksek gorunuyor ama gene sosyal medyada kim önce oynayacak, kim önce bitirecek ,kim önce platinleyecek diye millet birbir ile yarisiyor. Ne ara bu piyasa boyle saçma bir hale burundu yaa. Isi bu olup inceleme videosu çekenlere, diyecek sozum yok. Ekmek parası sonuçta🌻 Ama önce bitirene kimse madalya vermiyor. Hatta bitirmeye bile gerek yok, guzel vakit geçirip keyif alin yeter. Oyun laa bu :)
Motor sürerken eldiven takmak kimse takmasa da, bir süredir zorunlu. Ama her eldiven de değil, “EN 13594” sertifikasına uygun eldivenleri giyebilirsiniz. Ben artık Eldiveni Kitabçığı ile taşıyorum. İçindeki etiketde uygunluk standartı yazmaz ise, Polisin kontrolü uzun sürüyor🌻
Doğum günüm yaklaştıkça annemi ve babamı her zamankinden daha sık arar oldum. Sonra bir an durup, artık onları arayamayacağımı hatırlıyorum… Rahmetliler gözümde hâlâ eski bir Türk filminden çıkıp gelmiş gibi; sıcak, samimi ve sevgi dolular. Özlemleri her geçen gün biraz daha büyüyor. Mekânları cennet olsun. 🙏🌻
Son zamanlar cokca 5litre yagi tartiya koyup, bu neden 4.6 kilo geliyor kaziklaniyor muyuz diye tweet atan ve altina cilginca yorumlar yazan insanlar goruyorum. Cidden cook ama cook cahil bir donemdeyiz. Cahiliye donemi🌻 Yuzlerce kisi litre ile kg’in farkini bilmiyor. 5kg demiyor. 5 LITRE diyor. Ben okulda yanina birimini yazmayinca sifir aldigim siralardan geliyorum, ondan bu kadar hayretler icine dusuyorum..
Kg = Litre × Yoğunluk (kg/L)
4.6kg = 5 x 0.92
Ben kodlarımda inner function kullanımını oldukça seviyorum. Hem kodun okunaklılığını artırıyor hem de business logic'i daha küçük parçalara ayırmamı sağlıyor.
Özellikle aynı operasyon ilgili fonksiyon içinde birden fazla kez kullanılacaksa, benim için tam bir ballı ekmek kadayıfı. Eğer başka bir yerde kullanılmayacaksa, onu dışarıya çıkarmaya da gerek duymuyorum.
Hatta tek sefer kullanılacak olsa bile inner function tanımlamayı tercih ediyorum. Çünkü bu sayede fonksiyon içerisindeki işleri mantıksal olarak gruplandırabiliyorum. Bunun yanında, yapılan alt işlemlere isim vererek kodun niyetini daha açık bir şekilde ifade etmiş oluyorum.
Kısacası, inner function'ları sadece tekrar kullanmak için değil; okunabilirliği artırmak ve iş akışını daha net anlatmak için de kullanıyorum🌻