Ali Özgür


Coding and other software development stuff

SOLID Prensiplerine Bakış

Nesne Yönelimli Programlama'yı İyi Yapmanın Sırrı

SOLID kısaltması Robert C. Martin (Uncle Bob - Bob Amca olarak da bilinir) tarafından ortaya atılan bir dizi Nesne Yönelimli Programlama (OOP - Object Oriented Programming) prensiplerinden 5 tanesinin baş harflerinden oluşturulmuş ve ilk defa Michael Feathers tarafından ortaya atılmış bir kısaltmadır. Hem Bob Amca hem de Michael Feathers OOP yaklaşımının yaygınlaşmasında ve doğru bir şekilde kavranmasında önemli rolleri olan kişilerdir. Bu yazımda iyi bir yazılım geliştiricinin mutlaka bilmesi gerektiğini düşündüğüm SOLID prensiplerini en yalın hali ile ve kısa C# örnekleri ile size aktarmayı hedefliyorum.

SOLID Prinsiples

Read More ...

F# ile Fonksiyonel Programlama Kitabı

Yazım Süreci

Yazılım geliştirme profesyonelleri, fonksiyonel programlama kavramlarına ve ilkelerine ağır akademik yönleri ve ihtiyaç duyulan matematiksel alt yapı nedeni ile genelde çok mesafeli yaklaşırlar. Ben de 17 yılı bulan profesyonel kariyerimin bazı dönemlerinde fonksiyonel programlamaya ilgi duymama rağmen kimi zaman tembellikten kimi zaman da incelediğim fonksiyonel programlama dilinin aşırı matematiksel yaklaşımı ve kısıtlamaları nedeni bu mecarada kendimden istediğim verimi alamadım.
Read More ...

Yeni Bir Kitap Hazırlığı

F# ile Fonksiyonel Programlama

Uzun zamandır çok beğendiğim ve kullandığım zaman oldukça keyif aldığım F# programlama dili ile ilgili Türkçe bir kitap hazırlama fikrim vardır. Sonunda bu fikri hayata geçirmek için çalışma fırsatı buldum. Kitabın içeriğine aşağıdaki linkte yer alan ön izleme sürümünden göz atabilirsiniz.

Read More ...

Git ile Versiyon Kontrolü Yazım Süreci

Türkiye'nin ilk ve şimdilik tek Türkçe Git kitabının yazım hikayesi

Yazılım geliştirme kariyerim boyunca lise ve üniversitede aldığımı İngilizce eğitimin de yardımı ile neredeyse tüm teknik bilgileri İngilizce kaynak ve kitaplardan takip ettim. Bu konularda incelediğim kısıtlı sayıdaki Türkçe kitap ve kaynağı da teknik terim çevirileri nedeni ile özümsemem daha fazla çaba harcayarak mümkün oldu. Genel görüşe benzer şekilde madem biz bu teknolojiyi üretip terminolojisini oluşturmuyoruz o halde yazılım geliştirme alanında öncelikle herkes İngilizce öğrenmeli/bilmeli şeklinde bir kanaate sahiptim. Ancak bu kanaatim Bilgi Üniversitesi bünyesinde Yazılım Geliştirme Yöneticisi olmam ile birlikte iki temel etken nedeniyle değişmeye başladı ve bu değişimin ilk meyvesi olarak da Git ile Versiyon Kontrolü kitabı ortaya çıktı.

Read More ...

Hurry! You must teach coding to your kids

A tough journey you can't resist

Within last couple of years teaching how to code to kids has become a very popular topic. Tech guys, educators, schools and governments started to invest more on this topic and they try to sell the idea to the parents. In this post I will share my own experience with my 8 year old son Arda and try to formulate couple of gotchas.

Read More ...