Yazar: Özcan Acar
-
Yazılımda ve Yazılımcıda Çok Boyutluluk
Matematiksel anlamda boyut belli bir yönde ölçülmüş bir büyüklüğü ifade etmek için kullanılan geometrik bir terimdir. Günlük kullanılan dilde boyut kelimesi bakış açısı, vizyon, perspektif, farkındalık gibi kelimelerle eş anlamlıdır. Ben de boyut kelimesini bu doğrultuda kullanarak, çok boyutluluğun yazılım ve yazılımcı için ne anlama geldiğini bu yazımda aktarmak istiyorum. İzin verirseniz boyutun ve çok…
-
JVM Nasıl Çalışır Yazı Serisi – Java Just In Time Compiler (JIT) Nasıl Çalışır?
Java’yı çoğu programcı yorumlanan (interpreted) dil olarak bilir. Java’nın yavaş olduğu efsanesi de başlangıcını da burada bulur. Bytekod olarak derlenen Java sınıfları Java sanal makinesi (Java Virtual Machine – JVM) bünyesinde yorumlanır. Tek derleme işlemi Java sınıflarının bytekoda dönüştürülmesi esnasında yapılmaz. JVM bünyesinde de bytekodun makine koduna dönüştürüldüğü bir derleme gerçekleştirilir. Bu işleme Just in…
-
JVM Nasıl Çalışır Yazı Serisi – Java Nesne Düzeni (Java Object Layout)
Bu yazımda bir Java nesnesinin hafıza alanında (heap) nasıl yer aldığını yanı sahip olduğu hafiza düzenini (object layout) aktarmak istiyorum. Bu amaçla aşağıda yer alan sınıfı kullanacağım. [source language=”java”] public class BirSinif { boolean b; char c; int i; float f; double d; String s; byte bb; } [/source] Java nesnelerinin hafıza düzenini elde etmek…
-
Blog Yazılarım Ekitabı Yeni Sürümü
Blog Yazılarım isimli ekitabımın 4. sürümünü hazırladım. Bu link üzerinden ücretsiz edinebilirsiniz. EOF (End Of Fun) Özcan Acar
-
Yazılımda Şemsiye Modeli
Yazılımda testlerin gerekliliğini ve hangi testlerin ne zaman uygulandığını açıklamak amacıyla şemsiye modeli ismini verdiğim bir model oluşturdum. Bu yazımda sizlerle bu modeli ve işlevini paylaşmak istiyorum. Şemsiyeler gerçek hayatta yağmurdan ve yer yer güneşten korunmak için kullanılır. Yazılım süreçleri için oluşturduğum şemsiye modelinde yazılım testleri uygulamayı korumak için açılan şemsiyeleri temsil etmektedir. Şemsiyenin büyüklüğüne…
-
Kıymeti Bilinmeyen Eskimiş Bilginin Kıymeti
Bilginin yarı ömrünün aylar seviyesinde ölçüldüğü bir çağdayız. Her şeyi çok hızlı tüketiyoruz. Bu bilgi için de istisnasız geçerli. Bu durumun en büyük mağdurlarından birisi yazılımcılar. Sürekli yeni bir şeyler öğrenmek zorundalar. Onlarca çatıya (framework) ve onların neredeyse her ay çıkan yeni sürümlerine hükmetmek hangi yazılımcıyı zorlamıyor ki. Zaman zaman bu konuda ipin ucunu kaçırmışlık…
-
Daha İyi Bir Programcı Olmak İçin Sınırlar Nasıl Zorlanmalı?
Herhangi bir konuda daha iyi olabilmenin yolu, mevcut sınırları ve bariyerleri daha öteye taşımaktan geçer. Bu sınırlar fiziksel ya da manevi türde olabilir. Fiziksel sınırları ileriye taşımanın nasıl bir şey olduğunu ilk pist deneyimimde tekrar tecrübe etme fırsatım oldu. İlk piste çıkışımda, pisti dönme sürem 2 dakika 47 saniye ile benim için büyük bir şok…
-
Karadelikler, Soyutluk ve Yazılım
Günümüzde yazılım elli sene öncesi gibi if/else/while ile yapılsa da, en büyük farklılığı gelinen soyutluk seviyesi teşkil ediyor. Elli sene önceki gibi yazılımcılar artık mikro işlemcinin üzerinde işlem yapmıyorlar. Artık yazdıkları program parçaları mikro işlemcilerin anlayacağı dilden bile değiller. Bazı programcılar sadece sanal makinelar için (virtual machine) program yazar oldular. Yazılan kod mikro işlemcinin registerlerine…
-
Gitolite İle Git Depo Erişimi
Gitolite sunucu üzerinde bulunan Git depolarına (repository) erişimi kontrol etmek için kullanılan bir ara katman. Gitolite ile kullanıcılara SSH protokolü aracılığı ile depo bazında okuma ve yazma hakları tanımak mümkün. Bu yazımda Gitolite kurulumu ve depo erişim haklarının nasıl tanımlandığını örnekler üzerinde göstermek istiyorum. Geolite kurulumuna başlamadan önce Git sunucusu olacak bilgisayar üzerinde git isminde…
-
Paralel Evrenlerin Programcıları
Bir önceki yazımda frontend ve backend programcılığı arasındaki ayrımın kalkacağından bahsetmiştim. Kendi programcılık kariyerim için bu yazımı bir dönüm noktası olarak görüyorum. Yirmi birinci yüzyılın yazılımcılığında bir dönüm noktasına gelmiş bulunuyoruz. Bu yazımda bunun sebebi açıklamaya çalışağım. Java’nın ilk günlerinden beri programcı olarak bu dille ekmek paramı kazanıyorum. Son on beş yılda birçok Java çatısı…