Java Dersleri 8
… İlk 7 dersin devamıdır …
8.Video :
Ödünç Kitap Projesi :
Şuan Kisi ve Kitap sınıflarımız var.
- Hangi kişinin hangi kitabı ödünç aldığını henüz belirtmedik.
- Kisi ve Kitap sınıfları arasında bir bağlantı kurmalıyız.
- Test-First yani önce Test sınıflarını oluşturduğumuz geliştirme yöntemini uygulamaya devam edeceğiz.
İlk olarak KitapTest sınıfımızı açalım ve Kisi’yi test eden metodumuzu hazırlayalım.
Yapacağımız işlemlerin algoritması kısaca :
- testGetKisi() metodu hazırlayacağız.
- getKisi() metodu hazırlayacağız.
- Test’i çalıştıracağız.
KitapTest.Java :
public void testGetKisi() {
Kitap b2 = new Kitap(”Savas ve Baris”);
Kisi k2 = new Kisi();
k2.setIsim(”Serhat”);
// Bu metod, belirtilen kitabın bu kisiye kiralandıgını belirtiyor.
b2.setKisi(k2);
// Kitaba sahip olan kisiyi belirtecegiz.
Kisi testKisi = b2.getKisi();
String testIsim = testKisi.getIsim();
assertEquals(”Serhat”, testIsim);
}
Add comment Temmuz 9, 2009
Java Dersleri 4-7
İlk 4 dersin devamıdır..
.
.
.
Şimdi TestCase sınıfının bir nesnesi olan assertequals’i inceleyelim.
Assertequals’in temel mantığı :
assertEquals(“Beklenen Değer”, “gelen değer”);
şeklindedir. Bunu örnek üzerinde görelim :
package org.Serhatdundar.paket;
import junit.framework.TestCase;
public class KisiTest extends TestCase {
public void testKisi() {
Kisi k1 = new Kisi();
assertEquals(”serhat”, k1.getIsim());
assertEquals(19, k1.getYas());
}
public void testSetIsim() {
Kisi k2 = new Kisi();
k2.setIsim(”Serhat”);
assertEquals(”Serhat”, k2.getIsim());
}
public void testSetYas() {
Kisi k3 = new Kisi();
k3.setYas(19);
assertEquals(19, k3.getYas());
}
}
* assertEquals statik yani sabit bir metod’dur.
Statik Metod :
• Tamamen bir sınıfa bağlıdır.
• Sınıfın herhangi bir aşamasına bağlı değildir.
• Syntax yani sözdizimi .şeklindedir. Örneğin KisiTest.assertEquals(…)
• Eğer aynı sınıf içinde belirtiliyorsa kısmını atlayabiliriz. Bu ne anlama geliyor detaylı görelim:
Add comment Temmuz 3, 2009
HoldEm Poker günleri..

Deli gibi pokere sarmış durumdayım.
Oyunu öğrendiğim gecede 2k chip’i 150k yaptım (:
3.gece’de 1M’e ulaştım.
Oyun zeka, sabır, nefsine uymamak, içgüdü, cesaret ve diğer bi çok kişisel özellikle alakalı..
Öneriler :
Diğer kağıt oyunlarını unutun. Bu bambaşka bir dünya..
İlk el eğer check etmeniz gereken miktar masadaki toplam chip’inizi zorlamayacaksa her zaman ilk 3 kartı görmeye değer. Bu konuda oyun arkadaşlarınızın seviyesi oldukça önemli.
İlk 2 kart çok iyi göründüyse fakat görmeniz gereken bahis sizi aşıyorsa hırs yapmayın fold edin. Bu oyunda hırs insanı bitiren şeydir.
Eğer masada ilk 3 kartı görmenizi zorlaştıracak şekilde arttırımlar yapan buddy’leriniz varsa masadan kalkın..
Yüksek achv. sahibi, chip miktarı fazla kişiler oldukça çok blöf yapar (all-in yapmaktan aşırı zevk alırlar) eğer blöf yaptığını sezerseniz bahsi görmekten kaçınmayın. Sizin az miktarda chip’iniz olduğu için bunu riske edemeyeceğinizi düşünüyor olması yüksek olasılıktır.
İlk 2 kartınız oldukça iyise (KK QQ JJ AA AQ AK vs..) bir anda all-in yapmayın. Bu hem rakiplerinizi korkutup bahis arttırmalarını engeller hemde diğer 5 kartı görmeden bu hareketi yapmak aptallıktır. Ufak raise’ler veya check yapabilirsiniz. Straight ve üstüne çıktığınızda elin sizde olduğundan emin olduktan sonra (özellikle son tur) all-in yapmaktan kaçınmayın. Çünkü o ana kadar ortaya bir çok chip koymuş buddy’leriniz son bahsi görmeden FOLD etmek istemeyecektir. Zaten ortada bir çok chipleri vardır. Fold etmek onların zararına gibi görünür. Bu sayede daha fazla chip götürebilirsiniz.
Büyük kişilerin olduğu, büyük masalara, minimum chip değeri ile girmek mantıklıdır. Bir çok kez kaybedebilirsiniz (kör bahis yapılmasını önerdiğim durumlardandır) fakat 1 kez kazandığınızda çok büyük miktarlar alacağınız için bunu telafi eder.
Elinizde 50k chip var. Gidip 40k’lık masalara oturmanız yararınıza olur. Çünkü bu masalarda bir çok yüksek chipli kişi olacaktır. Bu masalara min. değer olan 4K ile girmeniz en iyisidir. Çünkü all-in yapıp hem rakibi kışkırtma imkanınız olur hemde kaybınızın miktarı az fakat sayısı çok, kazancınızın değeri çok çok fazla fakat miktarı az olur.
4K ile girip 10kez kaybettiğim olmuştur. Her seferinde kör bahis yaptım. Son seferde Flush yaptığımda masada 200K para birikmişti.! Yani kayıp 40K, kazanç 200K. Sabır kısmı burada önemli. Kaybettikçe sabretmelisiniz. Mutlaka iyi bir eliniz olacaktır. 10 kez kaybedersiniz fakat 11.de kazanabilirsiniz. Rakipler genelde 40K ile girdiğinden ellerine çok güvenirlerse aptalca bir hareket yapıp all-in yaptıkları çok görülmüştür (:
Masadan kalkmayı bilin. Hırs yapmaya asla gerek yoktur. Masada kaybınız büyük olabilir. Bunu telafi etmek için masada inatla durmak genelde zararınıza olur. Çünkü hırs ve sinirle oynanmaması gereken bir oyundur.
Boş zamanlarımda bu yazıyı güncelleyeceğim..
Add comment Haziran 30, 2009
ISA, IAG ve Terminal Services Access Gateway
İhtiyaçlar:
Hangi Uygulamalar?
Kaç Kullanıcı?
Kullanıcıların Profili?
Güvenlik İhtiyaçları? (uygunluk, regülasyon)
Terminal Sunuculara Mobil kullanıcılar Firewall üzerinden erişebilir .
RDP yerine HTTP/S kullanılır.
Bağlantıdan AD/NPS/NAP kontrolleri yapılır.
.
.
Add comment Haziran 22, 2009
Parçalanmış Paketler ve Güvenlik Sistemlerine Etkileri
Internetin temelini oluşturan TCP/IP kötü amaçlı kullanılabilecek çeşitli özelliklere sahiptir. Bunlardan biri de ağlar arası iletişimde çok sık kullanılan parçalanmış (fragmented) paketlerdir. Bu yazı parçalanmış paketlerin ne olduğu ve güvenlik yönünden ne gibi sakıncalar içerebileceğini anlatmaktadır.
Parçalanmış Paketler
Parçalanmış paketler(Fragmented Packets) konusu çoğu network ve güvenlik probleminin temelini teşkil etmektedir. Günümüzde tercih edilen NIDS/NIPS (Ağ tabanlı Saldırı Tespit ve Engelleme Sistemleri) sistemleri bu konuya bir çözüm getirse de hala eksik kalan, tam anlaşılmayan kısımlar vardır. Bu sebepledir ki günümüzde hala parçalanmış paketler aracılığıyla yapılan saldırılara karşı korunmasız olan popüler IPS yazılımları bulunmaktadır[1].
Bu yazıda parçalanmış paketlerin nasıl çalıştığı, ne gibi tehlikeler oluşturabileceği ve basit koruma yöntemlerinden bahsetmeye çalışacağım.
Yazı iki bölümden oluşmaktadı; ilk bölümde IP parçalamanın ne olduğu, hangi durumlarda nasıl gerçekleştiği, ikinci bölümde IP parçalamanın ne tip güvenlik zaafiyetlerine sebep olabileceği konuları üzerinde durulacaktır.
IP (Internet Protocol) Yapısı
Parçalanmış paketler konusunun iyi anlaşılabilmesi için öncelikle IP(Internet Protocol) paketinin temel yapısının bilinmesi gerekmektedir. IP paketinin yapısını analiz etmek Sniffer olarak adlandırılan çeşitli araçlar vasıtasıyla olur. Bu araçlardan bazıları aşağıdaki gibidir;
• Tcpdump
• Wireshark
• Snort
• Tshark
• Snoop
Linux ortamında paket analizi için en sık kullanılan araçlar tcpdump ve daha görsel bir araç olan Wireshark’dır.
Windows ortamları için windump, thsark ya da daha görsel bir yazılım olan Wireshark tercih edilmektedir.
| Tcpdump ile paket analizi yaparken dikkat edilmesi gereken en önemli nokta tcpdump’ın öntanımlı değerleri ile bir pakete ait 68/96 byte’ı göstermesidir. Bu değer bir ip paketinin başlık bilgilerini göstermeye yetecektir fakat paketin payload kısmı incelenmek istenirse bu değerden daha fazlasına ihtiyaç duyulur.
Tcpdump’la analiz yaparken –s 0 parametresini kullanarak bir pakete ait tüm alanları görmek mümkündür. Temel Tcpdump kullanımı için http://www.enderunix.org/docs/tcpdump.html adresinden faydalanabilirsiniz. |
MTU (Maximum Transfer Unit)
MTU değeri bir ağa girişteki maksimum kapasiteyi belirtir. Mesela Ethernet ağları için MTU değeri 1500 byte, FDDI için 4500 byte’dır. Bu demek oluyor ki ethernet ağa giren bir paketin boyutu maksimum 1500 byte, FDDI ağa giren bir paketin boyutu en fazla 4500 byte olabilir.
MTU değerleri farklı iki ağ arasında geçişlerde eğer ilk ortamın MTU değeri daha büyükse IP paketlerinde yeni girilecek ortama göre parçalama işlemi yapılır.
(devamı…)
Add comment Haziran 22, 2009
TMG (Threat Management Gateway) Beta 3 çıktı !!!
ISA Server 2006′nın yeni versiyonu olan TMG (Threat Management Gateway) 2010′un Beta 3 çıktı. Beta 3′ü aşağıdaki linkten indirip kurabilirsiniz. Beta 3 ile birlikte gelen en önemli yeniliklerden biri de URL filtering. Böylece kullanıcılarınızın istemediğiniz sitelere erişimlerini kontrol altında tutabileceksiniz. Aynı zamanda da çok detaylı bir şekilde raporlayabileceksiniz. URL filtering konusunda, TMG birçok firmanın veritabanlarını kullanıyor olacak. Bunlardan biri de BrightCloud. Beta 3′de aynı zamanda birçok yenilikte sizleri karşılıyor olacak. Bunlardan biri de Setup Preparation Tool. Bu özellik sayesinde TMG çok daha hızlı ve rahat bir şekilde kuruluyor olacak. Bununla birlikte TMG hem Windows Server 2008 hemde Windows Server 2008 R2′yi destekleyecek. Gene gelen yeni özelliklerden biri de sanırım birçok ISA Server yneticisini mutlu edecek olan arama ve gruplama özelliği. Böylece kurallarda aradığınızı çok rahat bir şekilde bulacaksınız. Son olarakta SSL VPN özelliği olan SSTP (Secure Socket Tunneling Protocol) bu beta ile birlikte TMG içinde yer alıyor.
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=e05aecbc-d0eb-4e0f-a5db-8f236995bccd
Add comment Haziran 22, 2009
Java ve eClipse Dersleri 1-4
1) Proje Oluşturmak
File / New / Project / Java / Java Project kısmından proje oluşturabilirsiniz.
Projemizin adını SerhatDundar olarak belirledim.
2) Paket Oluşturmak
Projemizin şimdi classları ekleyebileceğimiz bir pakete ihtiyacı var.
Paket isimleri web adresi formatındadır “org.serhatdundar.paket” şeklinde örneklendirebiliriz.
File / New / Package kısmından paket oluşturabiliriz.
Paket ismine org.Serhatdundar.paket yazalım.
Paket ne işe yarar? Paket gündelik hayatta olduğu gibi bir toplayıcı, düzenleyicidir. Sınıfları paketler içine oluştururuz. Bir paketten, başka bir paketteki veriyi çekebiliriz.
* Paket isimleri nokta ile başlayamaz ve bitemez.
Paketimiz oluştuğuna göre şimdi bir sınıf yaratmalıyız.
3) Class (sınıf) oluşturmak
Paketimize sağ tıklayıp File / New / Class seçeriz
Class adını Kisi olarak seçtim. Bu kisinin adını, yaşını belirteceğiz.
package org.Serhatdundar.paket;
public class Kisi {
//Fields
private String Isim;
private int Yas;
//constructor
public Kisi() {
Isim = “serhat”;
Yas = 19;
}
Add comment Haziran 20, 2009
Java Kaynaklarım
Java ile Nesneye Yönelik Programlama
Thinking in Java
Java Proglamlama Dili – Turhan Çoban
JAVA ile programlama Beta Version
Eclipse ve Java Videolu Derslerin Notları
Nesneye yönelik Programlama-JAVA – Ders sorumlusu: Yrd.Doç.Dr.Hilmi Kusçu
A’dan Z’ye Java
Java – JDBC
Java & Nesne Yönelimli Programlama
Yeni Başlayanlar İçin Java – Örnek Java Programları (Console) – Örnek Java Appletleri
Object-Oriented Programming and Java
Object-Oriented Programming and Java 2nd Edition -9781846289620
Add comment Haziran 19, 2009
Scrapbook Hatası (:
Eclipse’de deneme.jpage adında bir Scrapbook sayfası oluşturdum.
İnternet’te izlediğim bir tutorial’e göre Scrapbook ile birçok işin yapılmasını kolaylaştırabiliyoruz. Örneğin tutorial’de test amacıyla:
“2+2″ yazıp highlight ettikten sonra “İnspect result of evaluating selected text” butonuna tıkladığımda bana sonucu 4 olarak vermesi gerekiyor.
Fakat benim eclipse “An exception occurred during evaluation: java.lang.UnsupportedClassVersionError” hatası veriyor.
Aynı şekilde System.out.println(”deneme”); satırını highlight edip Execute selected text dediğimde bana konsoldan “deneme” çıktısını vermesi gerekiyor. Fakat yukarıda belirttiğim hatayı alıyorum yine.
Tam olarak bu şekilde :
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
(devamı…)
Add comment Haziran 13, 2009
Sistem Güvenliği ve Port Reporter
Yazdığım “Sistem Güvenliği ve Port Reporter Yazılımının Kullanımı” konulu makaleyi;
http://docs.google.com/Doc?id=dhmdchf5_73d7vcxggk
Sistem Güvenliği ve Port Reporter / Serhat DUNDAR / clbr (dot) fentanyl (at) gmail (dot) com
Port Reporter ; Windows Server 2003, Windows XP ve Windows 2000 çalışan bilgisayarlarda bir hizmet olarak çalışır. Araç TCP ve UDP bağlantı noktası etkinliğini günlüğe kaydeder.
Aşağıdaki bilgileri loglayabilir :
* Kullanılan bağlantı noktaları
* Bağlantı noktalarını kullanan işlemler
* İşlemin bir hizmet olup olmadığı
* İşlemin yüklediği modüller
* İşlemi çalıştıran kullanıcı hesapları
Windows 2000 tabanlı bilgisayarlarda, hizmet, kullanılan bağlantı noktalarını ve ne zaman kullanıldıklarını günlüğe kaydeder.
Port Reporter aracı tarafından günlüğe kaydedilen bilgileri kullanarak bağlantı noktası kullanımını izleyebilir ve belirli sorunları giderebilirsiniz. Port Reporter aracı tarafından günlüğe kaydedilen bilgiler güvenlik açısından da yararlı olabilir. Bilgisayarımızın güvenliğini manual olarak incelemek için, yasal olarak şikayette bulunmak istediğimizde somut delil olarak log dosyalarını kullanabiliriz.
1) Kurulum
Port Reporter’i download etmek için “Referanslar” kısmındaki ilk bağlantıya tıklayabilirsiniz.
Port Reporter yazılımını install ettiğinizde C:\Program Files\PortReporter dizini altında PortReporter.exe dosyasını bulabilirsiniz.
Hizmeti başlatmak için Başlat\Çalıştır\services.msc yazıp Hizmetler penceresine ulaşın.
Hizmeti başlatmak için, hizmet adını tıklatın ve soldaki Başlat düğmesini tıklatın. Tamam’ı tıklatın.

Hizmetin başlangıç türünü “Otomatik” olarak seçiniz.
2) Güvenlik
Port Reporter Local System hesabını ile çalıştığı için, Port Reporter’ın yüklü olduğu klasörün güvenlik ayarlarını da yapmalıyız.
Port Reporter’ı yalnızca dosya sistemi NTFS olan bir bölüme yükleyin. FAT dosya sistemine Microsoft artık destek sağlamamaktadır.
C:\Program Files\PortReporter klasörüne sağ tıklayıp Özellikler’i seçin.
Güvenlik sekmesinden yetkilerin sadece SYSTEM ve ADMINISTRATOR’a ait olduğundan emin olun.
Add comment Haziran 11, 2009
Microsoft Baseline Security Analyzer
Uzun zamandır Güvenlik ile ilgili yazmıyordum. Java yüzünden pek çok ilgilendiğim işten uzak kalmıştım. Kısa bi dönüş yapalım, sonra yine javaya.. :
Microsoft Baseline Security Analyzer
Add comment Haziran 11, 2009
Java Günleri – 3
Sonunda adam gibi bi java görüntülü eğitim seti bulabildim. Sourgeforce’dan download ettiğim Mark Dexter imzalı setin ilk 2 bölümünü izledim.
Tam istediğim gibi akıcı bir İngilizce’yle eclips üzerinde anlatılan bu iki derste ne öğrendim bi bakalım:
File/New/Project/Java/Java Project menüsünden yeni bir proje başlatıyoruz.
Src dizini altında projeyi yürütmek için package eklemeliyiz. Biz bu package’a org.totalbeginner.tutorial adını verdik.
Bu package altına 3 adet sınıf oluşturduk. Bunlar :
Person : name and “maximumBooks” (person’ın bir seferde seçebileceği maximum kitap sayısı)
Book : title, author, person who has it checked out.
MyLibrary : name, list of books, list of people
Package’a sağ tıklayarak class ekliyoruz. Sınıfa Person adını verdik.
Öğrendim ki : Person.Java kısmına çift tıklayınca hızlıca yan ve alt menüleri görünmez yapabiliyormuşuz. Tab tuşuda kodlar arasında dolaşmakta pek yetenekliymiş. // bize in-line comment güzelliği sunuyormuş (:
“Public class Person” yerine
“Public class person” yazarsak kod çalışmıyor. Yani neymiş java upper-lower case nedir bilirmiş.
CTRL + SPACE ile daha önceden zikrettiğimiz değişkenleri, sınıfları vs. javaya hatırlatabilirmişiz..
Eclipse’in Window/Open Perspective altında 2 çeşit persfektif seçeneği var. Bunlar debug ve java.
Blokların sürükle bırak özelliği var.
// in-line comment
/* …. */ block comment
//* …. */ Javadoc block comment
“gatters” Metod’s to return Class Field values.
“setters” Metod’s to set Class Field values.
Eclipse getter ve setter oluşturmayı çok kolaylaştırıyor. Source/Generate Getters and Setters kısmından istediğimiz yerleri tik’lememiz yetiyor.
Bir sınıf içinde fields, consructors, metods (getter,setter etc.) bulunur.
Add comment Haziran 10, 2009
Java Günleri – 2 (JRE, J2EE, Eclipse Kurulumu)
Merhaba arkadaşlar;
Günümüzde kullanılan programlama dilleri arasında, şahsi fikrime göre Java en iyi dil. Gerçek anlamda platform bağımsızlığı, zekice hazırlanmış yapısı, hemen hemen herşeyin desteklendiği kütüphaneleri ve yakında açık kaynak koda dönüşecek olmasıyla bundan daha iyi bir dil olduğuna inanmıyorum. Bu yüzden Java’yı, bu dile yakışır şekilde, olabildiğince sade ve bir o kadar da açıklayıcı anlatmaya çalışacağım. Kodlamaya girmeden önce, Java’da kod yazabilmek için gerekli herşeyin adım adım nasıl yapılacağını öğreneceksiniz. Compiler nasıl yüklenir; Java IDE’lerinden Eclipse nasıl kurulur, nasıl kullanılır sorularına bu yazıda cevap bulacaksınız.
Öyleyse başlayalım:
Java’nın çalışma prensibi…
Java alışılageldik programlar gibi çalışmaz. Yazmış olduğunuz Java kodu derlendikten sonra, Bytecode’a çevrilir. Bytecode daha sonra JRE (Java Runtime Environment – Java Çalışma Ortamı) tarafından sunulan JVM (Java Virtual Machine – Java Sanal Makinesi) ile, hangi bilgisayarda kullanıyorsanız o yapıya uygun hale dönüştürülüp çalıştırılır. İşte bu sayede Java’nın platform bağımsızlığı sağlanmış olur. Yani temelde yazdığınız kodlar, direkt olarak makinede değil. Makine üzerinde kurulu olan sanal bir makine (JVM) tarafından çalıştırılır.
Add comment Haziran 8, 2009
Ne var ne yok?
Hardware
2.8GHZ
512MB. ram
80 gB Hdd
128MB. ekran kartı
Sanırım Sistemim Çok Eskidi ):
Yıllardır Vazgeçemediğim Software’lar.
Outpost Security Suite Pro.
Eset – Business Edition
Firefox ve Thunderbird
Process Hacker
JDK 1.6.014
Programmers Notepad
Skype
Netbeans ve Eclipse çalışırken sistemim çıldırtacak seviyede kasıyor, deli ediyor :@
Add comment Haziran 8, 2009
2009 Adli Bilişim Konferansı – 1
Add comment Haziran 8, 2009
