October 23

Seçen ve Seçilen Münasebeti ve Toplumsal Doku

karakter1-2

Bir toplumda seçen ve seçilen insanlar arasında ki münasebet seçmek ve seçilmek meselesinden çok daha ötedir bence. Kısaca özetlemek gerekirse seçilen insanlar genelde seçen insanların ahlaki izdüşümleridir. Eğer bir toplumu anlamak isterseniz onları yöneten insanları anlamaya çalışarak başlamak en kestirme yollardan bir tanesidir. Bir toplumda yalan, iftira ve daha nice insanı kendisine bahşedilen makamdan daha aşağılara düşüren sıfatlar ve fiiller varsa, o toplumun seçilenleride kısacası siyasi yöneticilerinde de bu sorunların olması çoğu zaman kaçınılmazdır. Çünkü bu seçilen insanlarda aynı toplum içinden çıkmış ve bu toplumu şekillendiren sosyal etkiler altında büyümüşlerdir. Eğer siyasi bir lideri rahat bir şekilde devletin malını yerken görüyorsanız o toplumda aynı şeyi arzulayan çok insan rahatlıkla bulabilirsiniz. Maalesef dini yada evrensel insani değerler gibi ilkeleri olmayan siyasi liderler devlet malını kendi çıkarları için kullanıp keyiflerine baktıkları zaman genelde başlarında oldukları toplumun hayallerini yaşarlar. O toplumda bende başbakan olsam keşke diyerek hayallar kuran insanlar görebilirsiniz. Tabi bu hayal hizmet etme manasını taşımayan daha çok o makamın şan, şöhret ve rahatlık gibi zehirli meyvelerinin yemek istendiği bir hayalden başka bir şey değil.

Maalesef asıl derdi topluma bir şeyler kazandırmak olan dürüst insanlar çoğu zaman yöneticilik sevdası içinde bulunmazlar. Bulunmazlar çünkü içlerinde ki hakkaniyet duygusu yöneticilik makamının  kişisel zaaflara kurban edilemeyecek kadar büyük ve ağır olduğu bilincini taşıyordur. Eğer dindar bir insansanız o zaman ahirette vereceğiniz hesaptan dolayı korkar ve bunca insanın hakkına girme potansiyeli olan bir makamın acısını her daim yaşarsınız. Eğer evrensel insani değerlere sahip ve saygılı bir insansanız o zaman da mahşeri vicdan da nasıl bir konumda olacağınız endişesi kaplar sizi.

Olayı biraz dağıtmak adına başımdan geçen bir olayı anlatayım. Geçen yaz Türkiye ye ziyarete gittim. Bulunduğum şehirde — iç anadolu şehirlerden bir tanesindeydim — cuma namazını kılmaya gittiğim camide ne zamandır duymadığım tarzda bir vaaz duydum. Evet bu sefer bir özeleştiri vardı. Konu yalan üzerine idi. Vaiz Efendi toplum olarak yalana nasıl müptela olduğumuzu hatta günlük hayatımızın bir parçası olduğu acı gerçeğinden bahsediyordu. Çocuklarınıza yalan söylettiriyorsunuz, onlara da yalanı öğretiyorsunuz diye sitemkar bir şekilde konuştu. Kapınızı çalan birisi için çocuğunuza beni sorarlarsa evde yok dersin diyerek o çocuğa yalanı gayet normal birşeymiş gibi gösteriyorsunuz dedi. Açıkcası bu hassasiyeti ne zamandır duymuyordum insanlardan. Çok hoşuma gitmişti. Evet yalanlar ve gıybetler ile kaplanmış zahirde güneşin doğduğunu zannettiğimiz ama iç alemlerimizde kapkaranlık bir dünya oluşturmuş olabiliriz kendimize.

Gıybetin ve yalanın olduğu yerlerde toplumsal bir paranoya kaçınılmazdır. Eğer en basitinden bir misafirlikten ayrıldıktan sonra arkanızdan şimdi ne konuşacaklar diye merak ediyor ve rahatsız oluyorsanız, yaşadığınız toplumda ve şahsi dünyanızda değişmesi gereken bazı temel sıkıntılar var demektir. Bunların dışında eğer siz menfaatiniz için yalan söylemekten kaçınmıyorsanız, başınıza atadığınız insanın da size menfaati olduğunu düşündüğünüz yalanlarına ses çıkarmazsınız. Bu yalanlar ne zaman size zarar verirde eğer o zaman başlarsanız feryad-u figana, bence oturun ve iç dünyanızı bir sorgulayın derim. Çünkü hakkaniyet ve adalet yalanın kime söylendiğine bakmaz, yalan söylenip söylenmediğine bakar. Gıybet meselesinden öncede kısaca iftira meselesine değinmek istersek o zaman şunu demekte fayda var. İftira yalanın farklı bir boyutta ki tezahürüdür. Yalan artık kin ve nefret ile buluşmuş ve ruhunu kapladığı şahıs yada şahısların nefislerini tatmin etmek ve kinleri kusturmak için masumlara atılan iftira suretine bürünmüştür. İftira aslında farkında olmadan da toplumda yapılabilen birşeydir. Eğer bir insanın arkasından doğru ama çirkin şeyler söylüyorsanız buna gıybet denir. Çirkin olmanın ölçüsü ise konuştuğunuz kişi eğer laflarınızdan alınacak ve üzülecekse düsturudur. Yok eğer doğruları söylemiyorsanız bunada iftira deniyor. Yani iftira arkadan konuşma ve yalanın bir birleşimi. Peki bu ikisinide günlük hayatında devamlı yapan ve bunu normal bir şeymiş gören insanların çoğunluğunu oluşturduğu bir toplumda nasıl bir lider ortaya çıkabilir bunu gelin hep beraber düşünelim.

Toplumu oluşturan sosyal yapı görüldüğünden daha etkili ve canlıdır. Bunun farkına şahsi olarak varmak zor ama dışarıdan biraz bakabilirsek o zaman bu sosyal dokuyu görmek biraz daha mümkün. İnsanları birbirine bağlayan ağların neler olduğunu görebilirsiniz. Bu kimileri için vicdan kimileri için menfaat kimileri için adalet vs. Ama en nihayetinde bu sosyal dokuyu oluşturan insanlardır. İnsanların fikirleri ve yaşayışları bu dokuyu bir dantale gibi örer. Sosyal yapı aslında bir açıdan da çok ilginçtir. Demin dediğim gibi sosyal dokuyu onu oluşturan insanlar oluştururlarken sonra bu doku bir hayat bulmuşcasına tam tersi istikametde bu sefer kendisini oluşturan insanları şekillendirmeye başlar. Aslında burada bir döngüden bahsetmek mümkün. Eğer bu doku içinde yukarıda bahsettiğimiz bozuk fiiller varsa, bu fiiller zamanla hem gelecek nesili kirlettiği gibi, var olan neslide daha da yozlaştıracaktır. Kısacası toplumsal olarak ne ekerseniz onu biçersiniz.

Daha ne kadar yazılır bilmiyorum. Aslında konu çok açık ve ortada. Nasılsanız öyle yönetilirsiniz.

Paylaş herkes duysun!Share on Google+Share on LinkedInTweet about this on TwitterShare on Facebook
October 23

SOLID Prensipleri Üzerine Düşünceler (Part 1)

Öncelikle bazı meseleleri açığa kavuşturmak faydalı olacaktır kanaatindeyim. Yazılımda devamlı bahsedilen kaliteli kod denilen şey aslında iki anad68b4d505a12x512.png prensip üzerine kurulmuştur. Bunlar daha az ama daha anlaşılır kod yazmak. Mesele tamamiyle bundan ibaret. Hani o her yerde görülen ismini bile telaffuz etmede zorlandığımız nice prensipler sonuç itibari ile bu iki ana temel üzerinde şekillenirler. Eğer design pattern kullanacağım diyerek kodunuzu okunmaz hale getiriyorsanız bence bırakın design pattern vs. kullanmayı ve kodunuzu daha basit ve anlaşılır nasıl yazarım onun derdinde olun. SOLID denilen prensipler ve Design Pattern diye bildiğimiz tasarım kalıpları tamamiyle daha anlaşılır ve daha az kod yazmak için geliştirilmiş tekniklerdir. Daha az kod yazmak içinde var olan kodları daha verimli kullanmak gerekir. Ama kodları yeniden kullanmaya çalışmak asla kodunuzu zor anlaşılır bir hale getirmemelidir. Bu prensipler DRY yani Don’t Repeat Yourself ve KISS yani Keep It Simple and Stupid denilen prensipler olarakta bilinirler. Burası anlaşıldı sanırım. O zaman gerçek meselemiz olan SOLID prensiplerine başlayabiliriz.

Bu makale birden fazla parçadan oluşacak. S.O.L.I.D hakkında yeterince kaynak bulmak mümkün ama ben bu makalemde SOLID in ne olduğundan ve nasıl kullanabileceğimizden bahsederken aynı zamanda kendi düşüncelerimide aktarmaya çalışacağım. Katılmayacağınız noktalar olacaktır. Bu noktaları yorum olarak bu postun altına yazarsanız sevinirim. Kendi düşüncelerim dedim çünkü genelde insanlar bu prensipleri mutlak doğru şeklinde görüyorlar. SOLID in önemli olmadığını söylemiyorum bilakis önemli olduğunu söylemek ile beraber bunların dışında SOLID yeterli mi, yanlış anlaşılan taraflar olabilir mi, yanlış olan kısımları olabilir mi, kısacası yazarken aklıma gelen soruları sizler ile birlikte tartışmaya çalışacağım. Bazılarınız farkında olmadan bu prensipleri zaten kullanıyorlar olabilirler ama sadece ismini bilmiyor olabilirler.Hani böyle insanlarda yok değil.

Bu meseleye ışık tutması açısından beğendiğim bir söz ile başlamak istiyorum: “In theory, there is no difference between theory and practice. But, in practice, there is.” yada Türkçesi ile “Teorik olarak teori ile pratik arasında fark yoktur. Ama pratik olarak bakıldığında ise fark vardır.”. Türkçeye çevirirken biraz daha dilimize uygun olması açısından bir kaç kelime daha ekledim. Neyse…

SOLID aslında 5 tane prensibin baş harflerinden oluşuyor. Bunları kısacası aşağıda ki gibi sıralayabiliriz. Ben yanlarına türkçelerinide yazmaya çalışacağım. Direk çevirileri çok mantıklığı gelmediğinden biraz kendimdende daha mantıklı durması için eklemeler yaptım diyebilirim.

  1. Single Responsibility Principle: Tek sorumluluk prensibi.
  2. Open/Closed Principle: Açık ve Kapalılık Prensibi.
  3. Liskov’s Substitution Principle: Liskov’un Yerine Geçme Prensibi.
  4. Interface Segregation Principle: Arayüz Ayırma Prensibi
  5. Dependency Inversion Principle: Bağımlılığı Tersine Çevirme Prensibi.

Şimdi ilk olarak malumunuz odur ki Single Responsibility Principle’dan bahsedeceğim. İsminden de anlaşılacağı gibi tek sorumluluğun olmasından bahsediyor.  Burada bahsettiği şey ise program içinde ki entity’ler. Kısaca özetlemek gerekirse bir method yada class sadece bir şey için değiştirilecek şekilde tasarlanmalı. Yada diğer bir tabirle bir class sadece bir işi yapmalı ve bir tane sorumluluğu olmalı. Bir class hem bir websayfasını download ediyor ve onu bir dosyaya kaydediyorsa burada bu prensibi ihlal ediyor demektir. Burada iki tane class yazmak daha doğrudur. Birincisi sadece verilen adresi download eder ve string olarak return eder diyelim. Diğeri ise sadece kendisine verilen string bilgisini bir dosyaya kaydeder.

Bu prensipte genelde class’lar daha çok bahsediliyor ama siz bunlara methodlarıda dahil edebilirsiniz. Çünkü methodlarında normal şartlar altında sadece bir iş yapmaları gerekiyor.

Şimdi bu meseleyi buraya kadar anladıysanız burada bahsedilen iş yada sorumluluğun sınırları ve tam manasıyla tanımları nedir, çizgiyi nereye koyuyoruz şeklinde sorularınızın olması gayet normal. Bu aslında duruma göre değişiyor. Bazıları bir unit işi bir requirement yani gereksinim şeklinde tanımlıyor. Bazılarına göre ise parçalanamaz kadar ufatılmış bir iş olarak görüyorlar. Bu noktada kesin çizgiler yok gibi. Daha çok size kalıyor. Mesela bir tane downloader uygulaması yazıyorsanız birden fazla requirement yani gereksinimler vardır. Requirement bu arada yazılım mühendisliğinden kullanılan bir terim. Bir yazılımın tamamlanması için istenen gereksinimler vardır. Bu gereksinimler dosyanın indirilmesi, ve kaydedilmesi şeklinde olabilir. Şimdi siz bu durumda HttpDownloader  diye bir sınıf yazabilirsiniz. Bunun görevi verilen adrese bağlanmak ve dosyayı indirmek olabilir. Duruma göre FtpDownloader  ve daha başka sınıflarda yazabilirsiniz. Bu size indirdiği dosyayı belki bir stream olarak yada byte array olarak verebilir. HttpDownloader  bundan başka bir görev ifa etmez. Sadece indirmek işinden sorumludur ve bu indirilen dosyayı kim istiyor ve onunla ne yapacak bunlar bu sınıfın sorumluluğu içinde değildir. Bundan sonra siz FileSaver  şeklinde bir sınıf yazarsınız. Bunun görevide kendisine verilen Stream  yada Byte array tipinden değerleride kaydetmek olur. Bunun dışında kendisine bu bilgiler verenin kim olduğunu umursamaz. Tek görevi verilen bilgiyi kaydetmektir. Dikkat ederseniz her iki sınıfında sadece bir tane sorumluluğu var. Başka işlere pek karışmıyorlar. Postacı gibi. Onun görevi sadece postayı getirmektir. Postanın içinde ne yazıyor ve kimi ilgilendiriyor ve postayı alan adam posta ile ne yapacak bunlar postacının sorumluluğu içinde olmaz.

Bu prensip için hangi programlama dilini kullandığınız önemli değil. Bunun faydalarından bir tanesi ve belkide en önemlisi yazdığınız kodun daha anlaşılır hale gelmesini sağlamak. Sadece bir tane iş yapan bir sınıfı okumak ve anlamak çok daha kolaydır. Her ne kadar isim olarak tasvip etmesemde God Class denilen yada Türkçe tabiri ile Tanrı Sınıfları diyebileceğimiz sınıflar vardır ki bunlar artık o kadar çok code içerirler ki her şeyi yapmaya çalışırlar Bu tarz sınıfların tam olarak ne yaptığını anlamak artık çok zor bir hale gelmiştir. Eski çalıştığım yerde project manager’ım yazdığı bir method vardı.Görevi pdf dosyaları okumak ve parse etmek gibi birşeydi. Gibi birşeydi diyorum çünkü 2000 satırlık bir method idi ve iş yerinde o methodu anlayan kimseyi bulamamıştım. Sonuç olarak bende anlamadım ve method’un çalıştığına güvenerek bende kendi kodumu onun üzerine bina ettim. Ama kodu incelemek için baktığımda sadece PDF değilde çok daha ilginç şeylerde yaptığını görmüştüm. Ama SRP sayesinde bu sorun bir nebze olsun aşılabilir diyebiliriz. Bunun dışında daha ufak sınıflar kod reusability yani var olan kodların yeniden kullanılabilirliğini arttırır. Bu önemlidir. Benzer kodu devamlı farklı yerlerde yazmak yerine yazdığınız bir kodu başka yerlerde yeniden kullanmak daha az kod yazmaya ve ileride kod bakımının daha kolay olmasına yardımcı olabileceği gibi yeni bir şey eklemek istediğinizde sadece bir yere eklemek suretiyle bu yeni değişiklikleri her yerde rahatlıkla görmeniz mümkün.

Şunu da hatırdan çıkarmamak gerekiyor bence. Projeler aslında organik canlılar gibidir ve zamanla büyürler ve değişirler. Bizler yazılımcılar olarak her ne kadar bizi ileride rahat ettirecek kodlar yazmak istesekte mükemmel kod yazmak hemen hemen imkansızdır. Onun için kodlarımız zamanla refactoring denilen bir process’e tabi tutulur. Yani kodumuzun daha da kaliteli olması adına zamanla gördüğümüz ama başlangıçta düşünmediğimiz yada başka sebeplerden dolayı özen gösteremediğimiz sorunları çözmek adına bu işlemi daha baştan kabul etmek ve planlarımızı buna göre hazırlamak gerekiyor. İş yerinde bizim yazdığımız proje şirketin içindekod tasarımı olarak herkesin gıpta ile baktığı ve övdüğü bir proje ama bu projede bile nice refactoring yaptık çünkü yapmamız gerekiyordu. Her yeni gelen kodun sistem içerisinde daha iyi entegre olması için refactoring çoğu zaman kaçınılmaz oluyor ve bizde kaçmadık.

Bu makalemizim birinci kısmı idi. İkinci kısmında Open/Closed Principle ‘dan bahsedeceğim. Tek sorumluluk prensibi diğer SOLID içinde ki diğer prensiplere bir temel teşkil edeceğinden anlaşılması önemli. Herkese şimdiden kolay gelsin.

Paylaş herkes duysun!Share on Google+Share on LinkedInTweet about this on TwitterShare on Facebook
October 21

Stack ve Heap Gerçekten Önemli mi?

Stack ve Heap ile alakalı araştırma yaparken karşılaştığım iki makale fikrimi bu hususta değiştirecek bir bakış açısı kattı diyebilirim. Makale duyanlarınız bilir Eric Lippert’a ait. Ben kısaca Türkçe özetlemeye çalışacağım ve bu makalenin sonunda da linkleri vereceğim daha detay bulmak isteyen oradan bakabilir.

Şimdiye kadar Value ve Reference tiplerinden bahsederken genelde memory üzerinde nerede saklandıklarını anlatarak başlamışızdır. Hatta çoğu zaman o kadar ileriye gitmiş ve Value tiplerinin her zaman Stack üzerinde saklandığı bile söylemişizdir ki bu yanlıştır. Sonra da Reference tiplerinden bahsettiğimizde aklımıza hemen Heap gelir. Bunlar esasen Memory üzerinde hayali yerlerdir, CLR ve İşletim Sisteminin memory’i nasıl yönettiği ile alakalıdır. Yoksa iki farklı memory çeşidi değillerdir.

Bunun dışında veri tiplerinden bahsederken onları ikiye ayırmamızın yani Value ve Reference tipleri dememizin sebebi nerede saklandıklarından dolayı değil bilakis bu tiplere verdiğimiz manadan dolayıdır ve bunların nasıl bir semantic yapısına sahip oldukları ve nasıl çalıştıkları ile yakından alakalıdır. Ama sanki bu iki tipin farklı olmasının sebebi sadece memory üzerinde nasıl saklandıklarıymış gibi anlatılmaktadır. Hayır! Value tipi deyince bu tiplerinin değerlerinin kopyalanması manası anlaşılması gerekmektedir. Mesela bir method içerisine value tipinden olan int türünden bir değişken gönderildiğinde bunun değerinin kopyalanıp bu kopyalanan değerin gönderilmesi olarak algılamak lazımken, reference tipleri dediğimizde de kopyalanan değerleri değilde reference’lar olarak algılanması lazım. Bu hususta daha çok makale bulabilirsiniz onun için oraya bakmanızda yarar var eğer anlaşılmadıysa. İşte bu iki nedenden dolayı bu tiplere value ve reference tipler denilmektedir. Aksi halde Stack ve Heap tipleri diye ayırım yapılırdı ama böyle bir şey yok. Hatta Eric Lippert burada şunuda söylüyor: C# gibi Managed diller yazmamızın sebebi kullanıcıları Stack ve Heap gibi implementation detail olan kısımlardan kurtarmaya çalışmak ama insanlar hala kendileri için çok bir şey ifade etmeyecek Stack ve Heap kısımlarına bu kadar ilgi duyuyorlar. Belki C++ gibi dillerde bu kavramlar önemli olabilir ama C# için değil.

Bir işletim sistemi isterse value ve reference tiplerinin hepsini Stack hiç kullanmadan Heap de de saklayabilir ve bunun zararını ödemek isteyebilir. Ama bu İşletim Sistemi ve .NET kullanıyorsanız CLR’de bağlıdır. Stack ve Heap CLR’ın Desktop versiyonunda kullandığı iki memory yapısıdır ama belki başka diller ve runtime’lar bu iki yapıyı hiç kullanmıyorlar olabilir ve belkide kendilerine ait farklı memory modelleri var.

Kısacası şunu belirtmekte yarar var. Stack ve Heap memory management kısmına girer ve bu implementation detail olarak karşımıza çıkar. Yani bunu kullandığınız run time ve işletim sistemi kendi farklı algoritmalarına göre dizayn edebilir ve kullanabilirler ki kullanıyorlarda. Onun için bu kısımları bu kadar detaylı bilmek için kaybedilen zaman bir kayıp olabilir. Performance açısından hemen hemen hiç bir zaman hangi veri tipi kullanıldığına bağlı olarak bir sorun çıkmaz onun için bu hususta bir kaygınız olmasın. Burada daha çok asıl mesele hangi tip program yazarken beklentilerinizi karşılıyorsa onun kullanmanız. Tipin semantic kısmına yani mantığına ve nasıl çalıştığına bakınız, memory’de nasıl manage edildiğine değil.

Son olarak şu soru karşımıza çıkabilir: O zaman neden value tipleri Stack üzerinde saklanıyorlar. Cevap kısacası çünkü saklayabiliyoruz demek olacaktır. Stack ve Heap birer mühendislik harikalarıdır ve ciddi manada komplex bir çalışma mantığıyla çalışır. Stack bize daha basit ve hızlı saklama sunarken Heap bu hususta bir daha yavaş ama daha esnektir. Stack bu kadar esnek değildir. İnsanlar genelde Stack ile Heap arasında ki hız farkının verilerin ilk allocate edilme anında oldukları sanırlar ama bu tam tersidir. Bu hız farkı aslında veriler memory üzerinde deallocate edildiğinde yani boşaltığı anda meydana gelir. Çünkü bu Stack için Stack Pointer’in işaret ettiği adresi değiştirmek kadar kolayken, Heap için ise garbage collector’un çalışması, verilerin daha compact hale getirilmesi, ve boş yerleri söyleyen free list denilen listenin yeniden hesaplanması gibi işlerin yapılmasıdır.

Bunlar benim anladığım ve aldığım notlar, daha detaylı öğrenmek isteyen arkadaşlar şu makalelere bakabilirler:

  1. http://goo.gl/1Rbb3
  2. http://goo.gl/ITLsc
  3. http://goo.gl/eqsN
Paylaş herkes duysun!Share on Google+Share on LinkedInTweet about this on TwitterShare on Facebook
October 20

Devlet Konumunda Adam Kayırmanın Hükmü

Hayatü’s Sahabe isimli kitabı okurken gördüğüm nice can alıcı noktalardan bir taneside Hz. Ebübekir’in halife olduğu zamanlarda komutan tayin ettiği Yezid B. Ebi Süfyan’a verdiği öğüt ve Efendimizden (SAV) naklettiği bir hadistir:

Yezid b. Ebî Süfyan şöyle anlatıyor: Ebubekir Sıddîk beni Şam’a gönderdiğinde şunları söyledi: “Ey Yezid! Senin çok akraban vardır. Ben senin onları başkalarına tercih etmenden korkuyorum. Şunu bilmeni isterim ki Hz. Peygamber böyle kişileri tehdit edip şunları söylemiştir: “Müslümanların başına getirilen kişi, bir iş hususunda sevdiği kişilerden birini haksız olarak diğer hak sahiplerine tercih edecek olursa Allah ona lanet eder. Onun farz ve nafile ibadetlerini kabul etmez ve nihayet onu cehenneme atar. Kim de müslümanların malından, haketmedikleri halde sevdiklerine ve akrabalarına verecek olursa o da Allah’ın lanetini haketmiş olur”. Allah Teâlâ insanları kendisine iman etmeye çağırır. Kim Allah’ın korunmasını emrettiği sınırlardan birini çiğnemeye kalkışacak olursa Allah da ona lanet eder ve onun üzerinden korumasını kaldırır”(1).

Bu hadis günümüz Türkiyesinde ki vehametin ne boyutta olduğunu görmek açısından önemli. Kendi akrabalarını liyakat sahibi olanlara tercih etmeleri ve bunu yaparkende maalesef gurur duymaları sorunun hangi boyutlara geldiğini gözler önüne seriyor.  Bu konulara bazı örnekler vermek gerekirse:

  1. Devlet kurumlarında işi olan insanların tanıdıkları o kurumda çalışan insanlara gidip diğer insanların önüne geçmek süretiyle işleri daha hızlı yaptırmaya çalışmaları. Bunlara hastaneleri de ve hemen hemen diğer tüm devlet kurumlarını katabiliriz.
  2. Devletin malını haksız yere kullanan idareciler.
  3. Kadrolaşma yapan ve yaptıran insanlar.

Detaylara inilse daha fazla sayılabilir. Bizler bu meselelerde hassasiyetimizi kaybettikçe başka diğer tüm meselelerde kaybetmek şiarımız oluyor sadece.

[1] Kenz, III/143 (Ahmed, Hâkim ve Mansur b. Şûbe el-Bağdâdi de Erbain adlı kitabında); Heysemî V/232.

Paylaş herkes duysun!Share on Google+Share on LinkedInTweet about this on TwitterShare on Facebook
Category: Din | LEAVE A COMMENT