JAVA

matrisin determinantı (matrix determinant)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, matrislerin determinantını (masfuf muheddedad, matrix determinant) nasıl hesaplandığını anlatmaktır. Konuya basit matrisler ile başlayalım. Örneğin 2×2 boyutundaki bir matris için: basitçe det(A) = ad – bc şeklinde hesaplanabilir buradaki hesap aşağıda gösterilen iki ok yönünden sağı göstereni + ve solu göstereni – alarak hatırlanabilir: Şekilde görüldüğü üzere [...]

Şadi Evren ŞEKER tarafından, 01/05/2012 tarihinde yazıldı. | Bilgisayar Matematiği, JAVA | 1 yorum var

object array (nesne dizisi)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama konusu altında, sıklıkla geçen nesne dizilerini (object array) anlatmaktır. Kısaca bir dizinin elemanlarına nesne atamanın nasıl olacağı anlatılacaktır. Öncelikle nesne yönelimli programlama dillerinde, kullanılan nesne atıflarının (object referrer) birer gösterici (pointer) olduklarını bilmemiz gerekir. Örnek olarak bir sınıf tanımı ile başlayalım: class insan{ int [...]

Şadi Evren ŞEKER tarafından, 14/03/2012 tarihinde yazıldı. | JAVA, Kod Örnekleri, Nesne Yönelimli Programlama | A yorum var

JAVA Appletleri

Yazan : Şadi Evren ŞEKER Bu yazının amacı, JAVA programlama ortamında kullanılan applet teknolojisine hızlı bir başlangıç yapmak ve basit bir appletin nasıl kodlanıp çalıştığını göstermektir. Öncelikle applet nedir bundan bahsedelim. Applet teknolojisi aslında JAVA’nın günümüzdeki tahtına ulaşmasında en önemli role sahip olan teknolojilerindendir. Sene 1995-1996 yıllarında henüz en güçlü internet taryıcısı Netscape Navigator iken [...]

Şadi Evren ŞEKER tarafından, 03/03/2012 tarihinde yazıldı. | JAVA, Programlama Dilleri, Web Teknolojileri | 3 yorum var

Observer Design Pattern (Gözlemci Tasarım Kalıbı)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama ortamlarında kullanılan bir tasarım kalıbı (design pattern) olan gözlemci tasarım kalıbını (observer design pattern) açıklamak ve kullanımına dair bir örnek vermektir. Nesne yönelimli olmayan programlama dillerinde (örneğin C) aynı yapı, geri çağırım (callback) ismi verilen yaklaşım ile yapılabilir. Konuya, klasik bir gözlemci tasarım kalıbını [...]

Netbeans 7 ve üzeri için UML desteği

Yazan : Şadi Evren ŞEKER Netbeans ortamının en büyük avantajlarından birisi, kendi içerisinde ücretsiz bir UML tasarım ortamı bulundurmasıydı. Ne yazık ki 6.7 sürümünden sonra bu özelliği netbeans kurulum paketinden kaldırdılar ve netbeans.org sitesinde yapılan aramalardan visual paradigm isimli ücretli yazılıma yönlendirme yapılıyor. Buna rağmen, netbeans üzerine UML paketi desteği kurulabiliyor. Aslında resmi olarak desteklenmese [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | JAVA | 1 yorum var

Labirentte yol bulma kodu

Yazan : Şadi Evren ŞEKER Bu yazının amacı, geri izleme algoritmasının (backtracking algorithm) bir uygulaması olarak, basit bir labirentte yol bulma kodunu JAVA dilinde kodlamaktır. Bu uygulamada herhangi bir yapay zeka yönetmi uygulanmayacaktır. Basitçe kör arama (blind search) yapan ve ihtimalleri sırayla deneyen bir robot uygulaması geliştirilecektir. Örneğin labirent bilgisinin bir dosyada bulunduğunu ve bizim [...]

Şadi Evren ŞEKER tarafından, 04/11/2011 tarihinde yazıldı. | JAVA, veri yapıları, yapay zeka (artificial intelligence) | 10 yorum var

Nesne Yönelimli Programlama dersi Final Sınavı ve çözümleri

Soru 0) Ekrana adınızı, soy adınızı ve numaranızı bastıran tam bir JAVA kodu yazınız, kodunuzun konsoldan derlenip çalıştırılması komutlarını yazınız. (10 puan)     Soru 1) Aşağıdaki sorulara birer cümle ile cevap veriniz: (10 puan) Serileme (Serialisation) nedir? Bir nesnenin dizgi (String) haline dönüşmesi ve dosya, ağ vb. gibi ortamlar üzerinde dizgi olarak saklanması / [...]

Şadi Evren ŞEKER tarafından, 14/06/2011 tarihinde yazıldı. | JAVA, Sınavlar | 7 yorum var

Swing Kütüphanesi

Yazan : Şadi Evren ŞEKER Bu yazının amacı, JAVA dilinde bulunan ve grafiksel kullanıcı ara yüzü geliştirmekte kullanılan SWING kütüphanesine hızlı bir başlangıç yapmaktır. Öncelikle Swing kütüphanesinin gelişiminden hızlıca bahsedelim. Swing kütüphanesi JAVA diline JDK 1.1 sürümünden sonra eklenmiştir. Daha önce AWT (Active Window Toolkit) ismi verilen bir kütüphane kullanmaktaydık ancak çok daha fazla ve [...]

Şadi Evren ŞEKER tarafından, 01/06/2011 tarihinde yazıldı. | JAVA, Kod Örnekleri, Programlama Dilleri | 2 yorum var

İstanbul Ünv. Nesne Yönelik Programlama Vize Çözümleri

Yrd. Doç. Dr. Şadi Evren ŞEKER Bir masa lambasının 4 farklı durumu bulunabilmektedir. Kapalı, az ışık, orta ışık ve çok ışık seviyelerinde yanabilen bu lambayı nesne yönelimli olarak programlayınız. Herhangi bir insanın bu lambanın durumunu değiştirebilmesi ve lambanın mevcut durumunu görebilmesini sağlayınız. (JAVA dilinde sadece gerekli sınıfları yazınız) (10 puan) Masa lambasında durumu tutan bir [...]

Şadi Evren ŞEKER tarafından, 29/04/2011 tarihinde yazıldı. | JAVA, Kod Örnekleri, Sınavlar | 1 yorum var

n-gram

Yazan: Şadi Evren ŞEKER Verilen bir dizilimdeki (sequence) tekrar oranını bulmaya yarayan yöntemdir. İsmi n ve gram kelimelerinin birleşiminden oluşmaktadır. Buradaki n, tekrarın kontrol edildiği değerdir. Gram ise bu tekrarın dizilim içerisindeki ağrılığını ifade etmek için kullanılmıştır. Örneğin bir dizgi (string) içerisindeki n-gram değerini bulmak isteyelim ve buradaki n değeri 2 olsun (n = 2) [...]

Şadi Evren ŞEKER tarafından, 23/04/2011 tarihinde yazıldı. | Doğal Dil İşleme (NLP), JAVA | A yorum var

Java dilinde vektörler

Yazan : Şadi Evren ŞEKER Bu yazının amacı, Java dilindeki vektör sınıfının kullanılmasını ve yapısını anlatmaktır. Java dilindeki vektörlerin yapısından bahsederek başlayalım. Klasik veri yapısı olarak dizilerin (array) ve bağlı listelerin (linked list) özelliklerini birleştirmiştir. Bir vektör boyutu belli olmadan tanımlanıp içerisine veri konuldukça hafızada kapladığı yeri arttırmaktadır. Bu anlamda bağlı listelere benzer özellik göstermektedir. [...]

Şadi Evren ŞEKER tarafından, 31/03/2011 tarihinde yazıldı. | JAVA, Nesne Yönelimli Programlama, veri yapıları | 1 yorum var

JAVA da nihai uygulması (Final)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, java dilinde bulunan final kelimesini açıklamaktır. Temel olarak final kelimesi, java dilinde 3 farklı yerde bulunabilir: Sınıf tanımında Metot (fonksiyon) tanımında Değişken tanımında Sırasıyla bu durumları uygulamalar üzerinden görelim. public final class sonsınıf{ } yukarıdaki tanımın yapılması halinde, sınıf (class) nihai bir sınıf olur (final class) ve [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | JAVA, Nesne Yönelimli Programlama | A yorum var

JAVA dilinde çoklu kalıtım (miras)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, JAVA programlama dilinde bir sınıfın, birden fazla sınıftan nasıl miras aldığını anlatmaktır. Temel olarak JAVA dilinde doğrudan çoklu kalıtım (multiple inheritance) bulunmaz. Yani aşağıdaki gibi bir kod hatalıdır: public class bilgisayar_mühendisliğ_öğrencisi extends sayısal_öğrenci, üniversite_öğrencisi{ } Yukarıdaki tanıma göre bir bilgisayar mühendisliği öğrencisi hem üniversite öğrencisidir hem de [...]

Şadi Evren ŞEKER tarafından, 22/03/2011 tarihinde yazıldı. | JAVA, Nesne Yönelimli Programlama | A yorum var

Nesne Akışı (Casting)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde, sınıflar (class) arasında miras ilişkisi bulunması halinde (inheritance), bu sınıflardan türetilen nesnelerin birbirine akıtılması durumudur. Bu durumu aşağıdaki örnekler üzerinden anlamaya çalışalım: public class insan{ int boy; int kilo; } public class öğrenci extends insan{ int sınıf; String bölüm; } Örnek olarak verilen yukarıdaki iki sınıf [...]

Şadi Evren ŞEKER tarafından, 19/03/2011 tarihinde yazıldı. | JAVA, Nesne Yönelimli Programlama | 4 yorum var

Nesne Kopyalama

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama ortamlarında (object oriented programming) kullanılan iki temel kopyalama işlemini anlatmaktır. Literatürde bir nesnenin kopyalanması için geçen iki terim bulunur: Sığ kopyalama (shallow copying) Derin kopyalama (deep copying) Sığ kopyalama basitçe bir nesnenin referansını gösteren nesne atfının, farklı bir nesne atfına atanmasıdır. Örneğin aşağıdaki kodu [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | JAVA, Nesne Yönelimli Programlama | A yorum var

Volatile Tip Tanımlayıcısı

Yazan : Şadi Evren ŞEKER Kelime anlamı olarak bir değişkenin geçici, uçucu değere sahip olmasını ifade eder. Volatile tip tanımlayıcısı (Volatile Type Quantifier) basitçe bir değişken tanımının başında bulunup, bu değişkenin, program dışında bir etki altında bulunabileceğini ifade eder. Örneğin geliştirdiğimiz bir programda, farklı işlem (process) veya donanımsal etkiler sonucunda değeri değişen bir değişken (variable) [...]

Şadi Evren ŞEKER tarafından, 26/06/2010 tarihinde yazıldı. | C/C++, JAVA, Programlama Dilleri | 4 yorum var

Thread (iplik, lif, iz)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle işletim sistemi (operating systems) konusunda kullanılan önemli terimlerden birisidir. Bir işletim sisteminde ya da yazılan bir programda birden fazla işin aynı anda yapılması için kullanılırlar. Bilindiği üzere işlemci (CPU) anlık olarak tek iş çalıştırabilir, ancak işletim sistemi tasarımında kullanılan bazı yöntemlerle birden fazla iş aynı anda yapılıyor [...]

Şadi Evren ŞEKER tarafından, 22/03/2010 tarihinde yazıldı. | işletim sistemleri, JAVA | 2 yorum var
Tags: , , ,

JAVA ile Zar uygulaması

Yazan : Şadi Evren ŞEKER Gelen bir soru üzerine aşağıdaki yazıyı yazıyorum. Soru şu şekilde: “Konsol programında rastgele zar atan ve çıkan zarı ekrana bastıran kodu yazınız. ” Konsol ekranında zar çizdirmek için öncelikle bir tasarım yapmamız gerekiyor. Konsol ekranında sadece ascii karakterlerini basabileceğimizi düşünürsek, zarları aşağıdaki şekilde ascii ekranda göstermemiz mümkün olabilir. Yukarıdaki her [...]

Şadi Evren ŞEKER tarafından, 02/12/2009 tarihinde yazıldı. | JAVA, Kod Örnekleri | 4 yorum var

Kaba Kuvvet Metin Arama Algoritması (Bruteforce Text Search Algorithm)

Yazan: Şadi Evren ŞEKER 1. Algoritmanın başarısı 2. Algoritmanın çalışması ve bir örnek 3. Algoritmanın kodlanması Bilgisayar bilimlerinde bir metnin içerisinde başka bir metnin aranması için kullanılan en ilkel ve dolayısıyla en düşük performanslı arama algoritmasıdır (search algorithm). Algoritma hedef metinde, aranan metni harf harf bulmaya çalışır. Bu yapısından dolayı diziler üzerinde kullanılan doğrusal arama [...]

JAVA ile Sohbet İstemci/Sunucusu

Yazan : Şadi Evren ŞEKER 1. Giriş 2. Sunucu / İstemci Mimarisi (Client /Server) 3. JAVA ile ağ programlama 4. JAVA dilinde veri iletişimi için akışların (streams) kullanımı 5. JAVA dilinde Temel bir istemci sunucu (client / server) kodlaması 6. Kodların derlnemesi ve çalıştırılması 7. Java dilinde çok lifli bir istemci / sunucu kodlaması 8. [...]

Şadi Evren ŞEKER tarafından, 20/11/2009 tarihinde yazıldı. | JAVA, Network(Ağ) | 21 yorum var

Ekrana Kare Çizdiren Kod

Soru: Kullanıcıdan bir sayı alarak ekrana verilen sayı boyutlarında *’lardan oluşan içi dolu bir kare kodu yazınız. Çözen : Şadi Evren ŞEKER Yukarıdaki soruyu 4 ayrı dil için (C,C++,JAVA ve C#) ayrı ayrı çözeceğim. Böylelikle okuyucu bu diller arasında mukayese yapabilecek ve bildiği bir dilden diğer dillere kolayca geçebilecektir. Çözüm: Soru, yapısı itibariyle 2 boyutlu [...]

Şadi Evren ŞEKER tarafından, 02/11/2009 tarihinde yazıldı. | JAVA, Kod Örnekleri | A yorum var

Java Crypto ve Security Kütüphaneleri ile Kriptografi

Yazan : Şefik İlkin Serengil Temel Kriptografi işlemleri, Java Development Kit ile standart olarak gelen Crypto ve Security kütüphaneleri ile çok basite indirgenmiştir. Bu kütüphaneler, Özetleme fonksiyonlarından, blok şifrelere, açık anahtarlama altyapısından dijital imza’ya kadar birçok kriptografi tekniğinin kullanılmasına olanak sağlamaktadır. Açık Anahtarlama ile Şifreleme import java.security.*; import javax.crypto.*; public class AcikAnahtarlaSifreleme { public static [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | JAVA, Veri Güvenliği(Cryptography) | A yorum var

Geri İzleme Algoritması (BackTracking Algorithm)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir değerin aranması veya bir hedefe ulaşmak için kullanılan algoritmanın ismidir. Burada bir amaç bulunmalı ve amaca ulaşan çeşitli yollar arasından bir doğru seçim aranıyor olmalıdır. Örneğin bulmacalarda sorulan klasik iki boyutlu labirentler geri izleme algoritmaları (back tracking algorithms) biçilmiş kaftandır. Bu tip örneklerde labirentin bir ucundan başlanır [...]

Paskal Üçgeni (Pascal’s Triangle)

Yazan : Şadi Evren ŞEKER İstatistikte sıkça kullanılan binom dağılımı ile elde edilen ve üssel ifadelerin açılımında çarpan olarak kullanılan üçgenin ismidir. Üçgen basitçe aşağıdaki şekilde inşa edilebilir. Her satır 1 ile başlayıp 1 ile biter Her değer kendi üzerindeki iki değerin toplamına eşittir 1 1 1 1 2 1 1 3 3 1 1 [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Matematiği, JAVA | 2 yorum var

JAVA JDK Kurulumu

Yazan : Şadi Evren ŞEKER JDK kurulum paketlerini java.sun.com adresinden temin edebilirsiniz. Bu kitap kapsamında kullanılacak olan JDK, J2SE (java 2 standard edition) olarak da geçmektedir. Bu yazı yazılırken en son sürüm J2SE 6.0 update 12 olarak yayınlanmıştır. Bu isimlendirme aynı zamanda JDK 1.6.0_12 olarak da geçmektedir. Burada sık yapılan bir hata JDK yerine JRE [...]

Şadi Evren ŞEKER tarafından, 30/10/2009 tarihinde yazıldı. | JAVA, Son Kullanıcı | 6 yorum var