Ana içeriğe atla

Kayıtlar

Aralık, 2019 tarihine ait yayınlar gösteriliyor

NESNE YONELIMLI PROGRAMLAMA’DA BILINMESI GEREKLI: DESIGN PATTERNS

Design patterns yani tasarım desenleri nedir sorusuna cevap vermeye çalışarak başlayalım. Gang of Four topluluğu tarafından yayınlanan tasarım desenleri, Nesne Yönelimli Programlama da karşılaşılmış tasarım sorunlarına üretilmiş optimum çözümler olarak tanımlanabilir. Tasarım desenleri bizlere daha yönetilebilir ve okunabilir kod yazmak konusunda avantajlar sağlar. Bunun yanında performans ve geliştirilebilirlik konusunda da katkıları vardır. Tasarım desenleri genel olarak 3 başlık altında toplanır. Bunlar; 1-Creational Patterns(Kurucu Desenler): Nesnelerin oluşturulması ile ilgili patternlerdir. ·        Abstract Factory: Yaratılma sorumluluklarının çeşitli sınıf hiyerarşileri ile sağlandığı bir tasarım desenidir. İstemci sınıf, çeşitli kategorideki sınıflara ihtiyaç duyar. Bu sınıflar, sistemde alt/üst sınıf hiyerarşileri şeklinde bulunurlar. “Soyut Fabrika” tasarım deseni bu karmaşık ve farklı hiyerarşideki sınıfların yaratılma sorumluluğunu çeşitli fabrika sınıfların

KURESEL EKONOMININ GELECEGI: BLOCKCHAIN

Son zamanlarda adını sıkça duyduğumuz kripto veya elektronik para olarak bildiğimiz  Bitcoin ‘in,(2012’den beri kullanılan, herkes tarafından desteklenen ve kimsenin kontrolünde olmayan dijital para birimi.) arkasında aslında bir Blockchain Teknolojisi yer almaktadır. O zaman yakından bakalım neymiş bu Blockchain Teknolojisi? Blockchain(Blok Zinciri)’ni kısaca şifrelenmiş işlem takibi sağlayan bir dağıtık veri tabanı olarak tanımlayabiliriz. Adından da anlaşılacağı gibi zincirleme bir modelle inşa edilen, takip edilebilen ama kırılamayan Blockchain teknolojisi, bir merkeze bağlı olmadan işlem yapmaya izin veriyor. Böylece işlemler direkt olarak alıcı ile satıcı arasında ve güvenli bir şekilde gerçekleştirilebilir oluyor. Aracıları ortadan kaldırdığı için mevcut sistemlere muhalif olacağı apaçık ortada. Ancak günümüzde bankaların da dahil olduğu farklı firmalar e-ticaret, dosya paylaşımı ve haberleşme gibi işlemler için Blockchain’i keşfetmeye ve kullanmaya başlıyorlar.

WEB’I GÜÇLENDIREN PROTOKOL : HTTP

1990 yılından beri dünya çapında ağ üzerinde kullanılan bir iletişim protokolüdür. Http’nin açılımı “Hyper Text Transfer Protocol” yani “Hiper Metin Transfer Protokolü“dür. HTTP protokolü ağ üzerinden web sayfalarının görüntülenmesini sağlayan protokoldür. HTTP  protokolü  istemci (PC) ile sunucu (server) arasındaki alışveriş kurallarını belirler. Port olarak ise  80  portunu kullanır. İstemci sunucuya bir istek gönderir. Bu istek Internet Explorer, Google Chrome veya Mozilla Firefox gibi web browser’lar aracılığıyla iletilir. Sunucu bu isteği alır. Apache   veya IIS   gibi web  sunucu  programları aracılığıyla cevap verir. HTTP İLE İLETİŞİM Bu iletişim aslında sadece iki kelime üzerine kuruludur. Request, Türkçe anlamı ile istek ve diğeri de response yani cevap... Kullanıcı tarafından görüntülenmek istenen adresle birlikte, sunucuya bir request yani istek yollanmış olur. Bu istek, sunucu tarafından değerlendirilir. İşin cevap kısmında eğer kullanıcının girmesi

HER YAZILIM GELİŞTİRİCİ BİLMELİ: SOLID PRENSIPLERI

SOLID Prensipleri her yazılım geliştiricinin bilmesi ve takip etmesi gereken bir konu. Meslekte güçlü olabilmek, çeşitli sorunlara en baştan çözümler sunabilmek için bu tür kavramları bilmenin ve uygulamanın faydalı olacağını düşünüyorum. 2000 Yıllarında  Robert Cecil Martin ( Halk arasında "Bob Amca" olarak bilinen Robert Cecil Martin, bir Amerikan yazılım mühendisi ve eğitmenidir.) kod karmaşıklığına, tekrar eden kodlara ve bir yazılımın kişiden bağımsız ilerlemesine yönelik bir takım çalışmalara imza atıyor. Bu çalışmalardan nesne yönelimli programlama için aşağıda bahsedeceğim 5 temel prensip ortaya çıkıyor. ·         S  –  Single Responsibility Principle (SRP):   Tek sorumluluk  anlamına gelen bu kuralın amacı projede bir değişiklik yapılmak istendiğinde buna bağlı olarak nelerin etkileneceği düşüncesinden kurtulmak ve özgürce isteğimiz geliştirmeyi yapabilmemize olanak sağlamaktır. Her bir method sadece kendisine verilen işi yapar aynı anda birden fazla mod