14 Kasım 2023 Salı

Yazılım Destek Politikası Belgesi

Amaç

Bu belgede benim yazmış olduğum java uygulamalarının destek politikası izhâr edilecektir. 

11 Temmuz 2019 Perşembe

OTONOM SU DEPOLAMA PROJESİ

Projenin Amacı

Bilindiği üzere su hayatımız için temel yapı taşı niteliğindeki bir maddedir. Osmanlı medeniyeti suya çok önem vermiştir (İski, 2000) . Dünya dışı yaşamın belirtileri için evreni araştıran ABD'ye ait Uzay kuruluşu NASA, “Suyu takip et” sloganı olan bir misyon ifadesine sahiptir (nasa, 2019). Bu durum medya sektörünün de ilgisini çekmiş, bir damla su için yapılan kanlı ve ateşli kavgaları içeren yakıcı ve kurak bir gelecek, birçok distopik kurgu ve film yapımının teması olagelmiştir. Gerçek hayatta da su kıtlığından kaynaklanan sorunlar yaşanmıştır. Geçtiğimiz yıl Güney Afrika Cumhuriyeti'nin başkentlerinden biri olan Cape Town, dünyanın büyük şehirlerinden sularının tükendiği ilk şehir olmak gibi istenmeyen bir unvan elde etmiştir. Üç yıllık kuraklığın sonunu getiren yağmur geldiğinde bile şehri besleyen su reservleri düzeyi %20'nin aşağısında kalmış, yetkililer Antartika'dan bir buzdağının yedeklenerek, yavaş yavaş eritilmesi ve içme suyu teminini tartışmışlardır (Wikipedia, 2018) .Dört yıl önce, Brezilya'nın São Paulo kenti de benzer sıkıntının kıyısından dönmüş ve su rezervleri kapasitenin % 5'ine düşmüştü.
2019 yılında Birleşmiş Milletlerin oluşturduğu "Su Gelişim Raporu"nda da su ile alakalı temkinli ve ümitsiz tespitlere yer verilmiştir. Bu belgede halen insanlığın dörtte birinin - 1.9 Milyar kişi, %73'ü Asya kıtasında- suyun kritik biçimde kıt kaldığı alanlarda yaşadığı ortaya konmuştur.(Bazı çalışmalarda 240 milyon kişi olarak tespit edilmiştir)
Buna ek olarak, küresel su kullanımı bir önceki yüzyıla göre altı kat daha fazla gerçekleşmiş ve 2050 itibariyle mevcut kullanımdan %20 ila %50 daha fazla olacağı tahmin edilmektedir. Kullanılan su kütlesi -yılda yaklaşık 4.600 kilometrekare su arzının tehlikeli biçimde küçülmediği durumda bile maksimum kullanılabilecek su kütlesinin yakınındadır. Dünyanın yeraltı sularının üçte biri kuruma tehlikesi altındadır. Bu nedenlerle kısıtlı su kaynağı altında yaşama durumunda olan kişilerin 2050 itibariyle 3.2 milyar ila mevsimsel değişiklikleri de dikkate alındığında 5.7 milyar olacağı tahmin edilmektedir. Bu bağlamda Türkiye'nin su krizinden en çok etkilenen ülkeler arasında olacağı değerlendirilmektedir (Şekil-1.1). Bu hususta Eski Orman ve Su İşleri Bakanı ve Adalet ve Kalkınma Partisi Afyonkarahisar milletvekili Sayın Prof. Dr. Veysel Eroğlu’nun “Türkiye, iklim değişikliklerinden en fazla etkilenecek bölgededir. Bu durum, Dicle ve Fırat nehirleri de dahil olmak üzere su kaynakları üzerinde önemli bir baskı oluşturuyor” ifadeleri ile teyit edilmiştir (Hürriyet, 2016).


Şekil-1.1: 2040 itibariyle su sıkışmasındaki değişim tahmini


Şekil-1.2: 2019 yılı itibariyle küresel su kaynaklarının durumu


Dünya üzerindeki su kaynakları eşitsiz biçimde bahşedilmiştir. Yalnızca dokuz ülke tüm dünyadaki tatlı su kaynaklarının %60’ını kontrol etmektedir. Çin ve Hindistan dünya nüfusunun %36’sını oluşturmakla beraber, dünya tatlı su kaynaklarının %11’ini kontrol etmektedir. İklim değişikliklerinin bu eşitsizliği daha da körükleyeceği düşünülmektedir. Güney Asya’da, bu alt kıtadaki ekonomik yaşantının menteşesi rolü üstlenen muson yağmurlarının daha intizamsız yağacağı düşünülmektedir.
Uzun vadede, su kaynaklarının çok az olmasının ciddi bir problem olacağı düşünülmektedir. Dünya Bankası bu hususta “Su kıtlığı ve kuraklığın neticeleri yeterince anlaşılmaması ve yeterince belgelenmemesi hasebiyle düşünülenden daha büyük ve uzun vadeli zararlara neden olabilir. “ ifadelerini kullanmıştır. Buradaki “daha büyük” ifadesi iklim hangi hızla ve hangi büyüklükte değiştiği hususu ile bağlantılıdır. 
Geçtiğimiz Ekim ayında iklim değişikliği konusunda hükümetler arasında gerçekleşen panelde bir rapor yayınlanmıştır (IPCC, 2019) . Bu raporda iklim değişiklikleri ile su kaynakları arasındaki ilişki irdelenmiştir. Buna göre küresel sıcaklık artışının endüstri öncesi düzeylere göre 2 °C ‘nin aksine 1,5 ° C üzerine çıkmasının sonuçlarını karşılaştırılmaktadır. 2 °C'lik bir artış durumunda, 2000 yılının dünya nüfusunun % 8'inin 2050 yılına kadar yeni veya ağırlaştırılmış su kıtlığına maruz kalacağı “orta düzeyde güven ile” sonucuna varmıştır. 1.5 ° C artış durumunda bu rakamın %4 olarak gerçekleşeceği hesaplanmıştır. Bu bağlamda sıcaklık artışının bölgesel düzeyde farklılıklarının çok büyük düzeyde olacağı değerlendirilmektedir. Örneğin, Akdeniz bölgesinde, sıcaklıklarda 1,5 ° C'lik bir artışın, nehir ve akarsulardaki yıllık ortalama akışta istatistiksel olarak önemsiz değişikliklere yol açabileceğini gösteren bir araştırmaya işaret edilmekle beraber 2° C'lik bir artışın nehir sularında % 10-30'luk bir düşüş getireceği tahmin edilmektedir.
Nehir akışını azalması dünya çapında bir meseledir. Bu neticenin ortaya çıkmasının nedenleri arasında küresel çapta yağış miktarının düşmesi olmakla beraber, daha çok etken neden insan müdahalesidir: taşkın kontrolü, su depolaması ve sulama için nehirlerin yıkılması ve çeşitlendirilmesi. Buna ek olarak, halihazırda akan nehirlerdeki su giderek daha fazla içmek ve banyo yapmak için güvensiz hale gelmiştir. Dünya su bakımından incelendiğinde ilk bakılması gereken yer yüzey sularıdır. (Economist, 2019)
Üstteki veriler ışığında, projenin amacı ülkemizdeki mevcut su kaynakların muhafaza edilmesi ve korunmasıdır. Bu hususa su arzı boyutunda katkı sunacağı umduğum bir çözüm olan Otonom Su Depolama Projesi anlatılacaktır.
Tasarım

Bu kesimde 1. Kesitte gerekçelendirilen otonom su depolama sistemi mülahaza edilecektir.
Otonom Su Depolama Projesi, bir zi anında bir nehirde akmakta olan su debisinin (Debi(zi)) o nehrin zi anındaki yıllık ortalama hacminden (Debi(ozi)) fazla olduğu durumlarda, fazla olarak akan suyun nehrin kenarlarına inşaa edilecek olan sarnıçlara aktarılmasından ibarettir. Aktarılan su, sarnıçlarda depolanarak, kurak mevsimlerde ihtiyaç durumunda kullanılacaktır. Buradaki Debi(zi) ifadesi suya ilişkin bir z(i) anında ölçülen su debisidir. H(zi) bir z(i) anında hesaplanan hacim olup,
 Debi(zi) (suyun debisi )
 y(zi) (nehir yatağına göre suyun yüksekliği )
 r(i) (i noktasındaki nehir eninin yarısı)
parametrelerine göre hesaplanması planlanmaktadır. H(zi)’nin gerçek zamanlı ölçülmesi gerekir, bunu için de nehre konuşlandırılacak olan su sensörlerinden faydalanılacaktır.
Debi(ozi) suyun z(i) anındaki ortalama debisi olup sunucuda hesaplanacaktır.
Bir nehir yatağı boyunca konuşlanacak olan sensörlerden bir z(i) anında elde edilen Debi(zi) verisi, bir sunucuya aktarılarak, büyük veri aracığıyla analiz edilir. Bu analiz neticesinde verili z(i) anındaki su debisinin, o andaki yıllık debi ile ihtiyat debi değeri toplamıdan fazla olduğu durumlarda (Debi(zi) > Debi(o) + Debi(ihtiyat) ) su depolarının nehir ile bağlantısını sağlayan boruların kapakları z(i) anında açılarak,
6
Debi(zi)-Debi(o)- Debi(ihtiyat) * Δz
kadar suyun su depolarına transferi sağlanır. Buradaki Δz kapakların açılma süresi olup sunucuda gerçekleştirilecek hesaplamalarla belirlenmesi planlanmaktadır. Projenin başlığında yer alan otonom kelimesiyle Δz değerinin sunucu tarafından hesaplanması ve depo kapaklarının zi anından zs anına kadar açık kalması ifade edilmektedir.(zs > zi , Δz = | zs - zi |).
Debiihtiyat, ihtiyat için konulan değer olup, konunun uzmanlarınca değerlendirilmesinde fayda mülahaza edilmektedir.
Proje kapsamında kullanılabilecek bilişim donanımları Şekil 2.1’de gösterilmiştir:

Şekil 2.1 Proje kapsamında kullanılabilecek bilişim donanımları
Şekil 2.1.A’daki element sensörler olup, projenin ana bileşenlerinden biridir. Nehir tabanına konuşlandırılacak sensörlerle suya ilişkin birçok veri incelenebilmektedir. (Wikipedia, 2019)
Burada sensörlerin konuşlanacağı nehir ve sensör grubunun fasılası, konunun uzmanlarınca belirlenmelidir. Bir sensör grubu,
         i.            debi ölçer,
       ii.            su yüksekliği ölçer ve
      iii.            su yüksekliği, debi ve nehi uzunluğunun yarısı verilerini belli bir saniye aralıklarında ölçen ve baz istasyonuna bildiren ve kendi bünyesinde kaydeden bir IOT cihazından
ibaret olacaktır.
Debi ölçer, bir şamandıra ve şamandıra altında yer alan pervaneden ibarettir. Pervanenin dönüş hızından debinin bulunabileceği mülahaza edilmektedir. Bunun için pervanenin aksına elektronik bir sayaç yerleştirilebilir. Bu sayacın suya dayanıklı olması gerekir. Pervanenin dönüşünden elde edilen elektrik enerjisinden sensör grubunun elektrik ihtiyacı karşılanabilir. Sağlıklı ölçüm yapılabilmesi için sensör grubunun nehrin tam ortasına kurulması gerekir.
Su yüksekliği ölçer, nehrin tabanına yerleştirilecek ve i. Maddede sunulan şamandıraya bir kablo ile bağlanacaktır. Su yüksekliği ölçer, bulunduğu noktadaki suyun yüksekliğini ölçecektir. Su yüksekliği ölçerin akıntı ile nehir tabanından kopmayacak şekilde kurulması gerekir.
iii.maddede yer alan cihaz, i ve ii. Maddede sayılan elemanlardan gelen verileri bünyesinde toplar ve mümkünse baz istasyonu aracılığı ile sunucuya bildirir ve kendi hafıza birimine kaydeder. IOT (Internet of Things) cihazının şamandırada olmasının uygun olacağı değerlendirilmektedir.
Bu proje kapsamında izleme yapılacak nehrin r yarıçapında, silindir uçlarındaki r yarıçaplı çemberin çapından geçen bir düzlemle kesilen kesik silindir olacağı varsayılmıştır. Nehir yatağının 3 boyutlu arazi yapısının çıkarılması düşünülebilir, fakat bu da maliyeti arttırabilecek hususlardandır.
Şekil 2.1.B’daki eleman baz istasyonudur. Bu elemanın görevi sensörlerden toplanan verilerin Şekil 2.1.C ‘de yer alan sunucuya uydu aracılığla aktarılmasıdır. Bu bağlamda, eğer nehrin geçtiği alan mevcut ticari GSM firmalarının baz istasyonu kapsama alanı içerisinde ise, bu firmalarla anlaşma yoluna gidilmelidir.  Uydu aracılığıyla yapılacak izleme, anlık verileri yansıtması hasebiyle en istenen aktarım biçimidir.
Şekil 2.1.C’de hesaplamanın yapılacağı sunucu verilmiştir. Bu sunucuda nehre kurulu olan tüm  sensörlerden ulaşan veriler analiz edilir. Hesaplama esnasında bir zi anında elde edilen sensör verileri tek başına yeterli olmayacak, o sensörlerden geçmişte elde edilmiş veriler de hesaplamaya dahil edilmelidir. Bu nedenle Şekil 2.1.ç’de yer verilen veri merkezinde sensörlerden toplanan geçmiş zaman verileri de büyük veri yaklaşımının haritala aşamasında (map function) dikkate alınır. Büyük veri yaklaşımının indirgeme aşamasında (reduce function) kapakların açılıp açılmayacağı kararı verilir. Bu kararın sunucuda verilerek, uydu aracılığıyla kapak üzerindeki kontrolöre iletilmesi planlanmaktadır.
Kapakların açılması ile su, sarnıçlara dolacaktır. Bu sarnıçlardaki su kurak geçecek mevsimler için kullanılacağından, buharlaşmaya ve kirlenmeye meydan vermeyecek şekilde tasarlanması gerekir.  Buna ek olarak sarnıcı nehre bağlayan bağlantı kapaklarının zamanla açılır kapanır ve açılma ve kapanma emirlerinin baz istasyonu aracılığla kontrol edilen bir elektronik kontrolör ile kontrol edilmesi gerekir.
Burada projenin kapsamı dışında olmakla beraber, sarnıç civarındaki tarım alanlarının birim alandaki su ihtiyacının tahmin edilmesinin faydalı olacağı mülahaza edilmektedir. Şekil 1.2’den de anlaşılacağı üzere tarım sektöründeki su ihtiyacı, tüm sektörlerin toplamından fazladır, bu itibarla tarım sektöründeki su ihtiyacını azaltmak faydalı olabilir.  Sarnıçlar civarındaki tarım alanlarının su ihtiyacının zaman serisi bilinirse, zaman serisi analizinden sarnıçların dolacağı mevsimler yaklaşacağı zaman, sarnıçtaki sular tarlalara boşaltılarak,  sarnıçlardaki suyun taze kalması sağlanabilir.
Projenin bilişim bağlamında iki sorunu bulunmaktadır. Bunlar
         i.            Sensör grubunun elektrifikasyon
       ii.            Sensör grubu iletişim
Sorunu olarak düşünülebilir. Birinci sorunda pervaneden elde edilecek elektriğin sensör grubuna elektrik sağlayacağı düşünülmektedir. Bunun yetersiz olacağı durumlarda güneş panelleri değerlendirilebilir.
İkinci sorun ise  sensör grubu iletişimidir. Bu projede izlenecek nehrin GSM uydularının kapsama alanında olacağı varsayılmıştır. Bu varsayımın yanlış olduğu durumlarda nehir boyuna iletişim kabloları döşenmesi ya da baz istasyonu satın alınması yoluna gidilebilir. Her iki durum da maliyeti artıracak hususlardır.

Proje Geliştirme Safhasında Faydalanılan Kaynak ve Öneriler
Proje geliştirme safhasında İngiliz haber kuruluşu The Economist ‘ten ve İsveç’in Umeå kentinde 16-20 Haziran 2019 tarihinde IEEE tarafından 13.sü gerçekleştirilen, uluslararası nitelikte olan, Kendi Kendine Adapte ve Organize Olan Sistemler (Self-Adaptive and Self-Organizing Systems)  konferansından faydalanılmıştır.

Kaynakça

Bankası, M., 2019. Döviz Beklentileri Anketi. [Çevrimiçi]
Available at: https://www.tcmb.gov.tr/wps/wcm/connect/085d78c0-9809-4b33-a6b6-21e0a22a6405/BA-Rapor-Int.pdf?MOD=AJPERES&CACHEID=ROOTWORKSPACE-085d78c0-9809-4b33-a6b6-21e0a22a6405-mERn4Vm
[Erişildi: 9 7 2019].
Economist, T., 2019. Climate change and population growth are making the world’s water woes more urgent. [Çevrimiçi]
Available at: https://www.economist.com/special-report/2019/02/28/climate-change-and-population-growth-are-making-the-worlds-water-woes-more-urgent
[Erişildi: 5 7 2019].
Hürriyet, 2016. Bakandan İklim Değişikliği Uyarısı. [Çevrimiçi]
Available at: http://www.hurriyet.com.tr/gundem/bakandan-iklim-degisikligi-uyarisi-40105887
[Erişildi: 5 7 2019].
IPCC, 2019. Intergovernmental Panel on Climate Change. [Çevrimiçi]
Available at: https://www.ipcc.ch/
[Erişildi: 9 7 2019].
İski, 2000. Osmanlı Su Medeniyeti-Uluslararası Sempozyum Bildiriler Kitabı. [Çevrimiçi]
Available at: http://www.iski.gov.tr/web/assets/SayfalarDocs/e-kutuphane/kultur/docs/osmanli_su_medeniyeti.pdf
[Erişildi: 9 7 2019].
nasa, 2019. Nasa: Follow the Water. [Çevrimiçi]
Available at: https://www.nasa.gov/vision/earth/everydaylife/jamestown-water-fs.html
[Erişildi: 4 7 2019].
USGS, 2019. USGS Current Water Data for The Nation. [Çevrimiçi]
Available at: https://waterdata.usgs.gov/nwis/rt
[Erişildi: 9 7 2019].
Wikipedia, 2018. Cape Town Water Crisis. [Çevrimiçi]
Available at: https://en.wikipedia.org/wiki/Cape_Town_water_crisis
[Erişildi: 7 4 2019].
Wikipedia, 2019. Sakarya Nehri. [Çevrimiçi]
Available at: https://tr.wikipedia.org/wiki/Sakarya_Nehri
[Erişildi: 5 7 2019].
Wikipedia, 2019. Water Detector. [Çevrimiçi]
Available at: https://en.wikipedia.org/wiki/Water_detector
[Erişildi: 5 7 2019].

25 Şubat 2018 Pazar

.NET Yazılım Çatısı’nda Yer Alan Kriptoloji Kütüphanesi Üzerine Bir İnceleme (1)

Özet

.NET yazılım çatısı, Microsoft tarafından geliştirilen, Microsoft Windows işletim sisteminde koşan bir yazılım geliştirme çatısıdır. .NET yazılım çatısı ilk olarak 13 Şubat 2002'de yayınlanmıştır. Kriptoloji güvenli olmayan bir ortamda, iki nokta arasında güvenli iletişimini tasarlayan bir bilim dalıdır. Bu yazıda .NET yazılım çatısında yer alan kriptoloji yapılarını inceleyeceğiz.

Bölüm 1 .NET’e Genel Bakış

.Net Framework, windows servisleri ve API’leri için yeni bir programlama arabirimi sağlayan bir yazılım geliştirme çatısıdır. Microsoft, .NET’i 2000 yılının Temmuz ayında duyurmuştur. 2003 yılının Nisan ayında ise tümleşik .NET Framework Version 1.1’i çıkardı.
.NET, platformu dört ayrı ürün grubunu içermektedir:

1.1 Geliştirme araçları ve kütüphaneler

.NET Yazılım çatısı, C#, J# ve VB.NET gibi dilleri içeren bir diller kümesi, Visual Studio .NET’i içeren bir geliştirme araçları kümesi, web servisleri ile web ve Windows uygulamaları inşaa etmek için kapsamlı bir sınıf kütüphanesi ve bunların yanında Common Language Runtime içerir. Bu bileşenler toplamda .NET Frameworkünün en büyük parçasını oluştururlar. .NET’in desteklemiş olduğu herhangi bir dilde yazılmış olan bir uygulama, CLR’ye çevrilerek .NET’in anlayacağı hale getirilir.

1.2 Web Servisleri

Asmx ve WCF web servisleri ile servis yönelimli mimari uygulamaları oluşturup, yayınlayabilirsiniz.

1.3 Özelleşmiş Sunucular

SQL server, Exchange server, BizTalk server ve diğerlerini içeren .NET uyumlu kurumsal sunucular kümesi, bu başlığı oluşturmaktadır. Bunlar ilişkisel veri depolanması, e-posta ve B2 ticareti için özelleşmiş işlevler sunar. Bu ürünlerin gelecek sürümleri, .NET Frameworkünü daha fazla destekleyecektir.

1.4 .NET Platformu

Microsoft .NET platformu, şekil 1.1’de gösterildiği gibi beş ana bileşen içermektedir. En alt katmanda Windows XP, Windows 2000, Windows server 2003, Windows ME ve Windows CE’yi içeren Windows platformu seçeneklerinden birisi olabilecek bir işletim sistemi bulunmaktadır.



Şekil 1-1 Microsoft .NET platformu

.NET’in merkezinde, .NET yazılım çatısı bulunmaktadır. .NET yazılım çatısı, windows platformu üzerinde ticari uygulamaların geliştirilmesini değiştiren bir yazılım geliştirme altyapısıdır. .NET yazılım çatısı ve CLR ve tüm .NET dilleri tarafından kullanılabilen ortak bir sınıflar çatısı içermektedir.


2 Aralık 2016 Cuma

İç takı (infix), Son Takı (Postfix) ve Ön takı (Prefix) Gösterimi


Bilindiği üzere matematiksel  işlemlerde kullanılan matematiksel  ifadelerde operatörler (+ - gibi)  işlenenler (operands) ve bu işlemler arasında önceliklerin tayin edildiği  parantez gibi ifadeler vardır. Son takı  ve iç takı gibi gösterimler, herhangi bir matematiksel ifadeyi (A+2 gibi bir  ifadeyi) bilgisayarların kolaylıkla  işleyebileceği , işlem öncelikleri ve   parantez gibi durumlar olmadan basit ve yalın biçimde gösterimi  maksadıyla ortaya konmuştur. Son takı (postfix) gösterimi Ters Polonyalı Gösterimi (Reverse Polish Notation) olarak, İç takı (infix) gösterimi ise  Polonya Gösterimi (Polish Notation) olarak adlandırılır. Polonyalı  gösterimi Polonyalı mantıkçı ve bilimci Jan Łukasiewicz tarafından 1924  tarihinde icat etmiştir. 

İç Takı Gösterimi

İç takı gösterimi, matematiksel ifadelerin alışılageldiği biçimde gösterimidir. Örneğin, 

( 6 - 3) ^2 – 11

ifadesi iç takı gösterimi şeklinde bir gösterimdir.

Son Takı Gösterimi (Postfix )
Son takı gösterimi, operatörleri ifadenin sonuna eklendiği gösterimdir. Burada ( 6 - 3) ^2 – 11 ifadesini ele alalım:

Matematiksel olarak bilindiği gibi işlem önceliği açısından ilk olarak parantez içerisine daha sonra üs işlemi olan ^ ifadesine bakacağız.
İlk olarak 6-3 ifadesini son takı formuna çevirelim. Son takıya çevrilmiş olan matematiksel ifade {} ile gösterilmiştir.

{6 3 - } ^ 2 - 11
{6 3 - 2 ^ } - 11
{6 3 - 2 ^ 11 - }
6 3 - 2 ^ 11 -


Ön Takı Gösterimi (Prefix )
Ön takı gösteriminde operatörleri ifadenin başına eklendiği gösterimdir. Burada tekrar ( 6 - 3) ^2 – 11 ifadesini ele alalım:
İlk olarak 6-3 ifadesini son takı formuna çevirelim. Son takıya çevrilmiş olan matematiksel ifade {} ile gösterilmiştir.

{- 6 3 } ^ 2 - 11
{^ - 6 3 2 } - 11
{- ^ - 6 3 2 11}


31 Ekim 2016 Pazartesi

Connection to Oracle database in weka Api


  As we dig through the weka, it is clear that any machine learning process necessitate data. One of the main source of data is database. In this blog, we have been discussing about the establishing connection to Oracle database to weka java api.

  Oracle is the one of the greatest database vendor, and in our example, we are going to use it. It takes fair time for me to establish connection, and I have struggled with many errors. I have found solutions from www.stackoverflow.com. This document is a gathering of experiences in order for database connection.

1-) First of all, you should download weka.jar and odbc6.jar. First one is for weka api, and the second one is for Oracle JDBC.

2-) My java IDE is Eclipse. You should right click on the project and properties --> Java Build Path --> Libraries --> Add External JARS and select the weka.jar and  odbc6.jar.

  2.1) If you add ojdbc14.jar, you would get  “ORA-28040: No matching authentication protocol exception “ error.
  2.2) If you do not add any JDBC here, you would get “No suitable driver found for jdbc:oracle:thin:@localhost:1521:XE “ error. ,

3-) You should be in the weka.jar’s installation folder and go through weka\weka\experiment path. you should select 
DatabaseUtils.props.oracle file. Just delete .oracle extention, Hence file is transforms to DatabaseUtils.props file. Copy this file to your java application's src folder. 

  3-1) If you are getting "WEKA - JDBC Connection Exception"  article 3 will solve the problem. 

4-) The content of the DatabaseUtils.props shall as follows: 

# Database settings for Oracle 10g Express Edition
#
# General information on database access can be found here:
# http://weka.wikispaces.com/Databases
#
# url:     http://www.oracle.com/
# jdbc:    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/
# author:  Fracpete (fracpete at waikato dot ac dot nz)
# version: $Revision: 5835 $

# JDBC driver (comma-separated list)
jdbcDriver=oracle.jdbc.driver.OracleDriver

# database URL
jdbcURL=jdbc:oracle:thin:@localhost:1521/ORCL

# specific data types
#string,getString()= 0;         -->nominal
#boolean,getBoolean() = 1;  -->nominal
#double,getDouble() = 2;    -->numeric
#byte,getByte() = 3;        -->numeric
#short,getByte()= 4;        -->numeric
#int,getInteger() = 5;            -->numeric
#long,getLong() = 6;                -->numeric
#gloat,getFloat() = 7;            -->numeric
#date,getDate() = 8;                -->date
VARCHAR2=0
NUMBER=2
DOUBLE_PRECISION=2
TIMESTAMP=8

# other options
CREATE_INT=INTEGER
CREATE_STRING=VARCHAR2(4000)
CREATE_DOUBLE=NUMBER
CREATE_DATE=TIMESTAMP
DateFormat=yyyy-MM-dd HH:mm:ss
checkUpperCaseNames=true
checkForTable=true


The content in yellow is crucial. If the database located in localhost, it should be localhost.If you designate an IP adress there, you could get "The Network Adapter could not establish the connection when connecting with Oracle DB" error. The phrase ORCL is a tnsname, and it should be as is in tnsnames.ora file in oracle installation directory.
The seperator before ORCL should be "/" not ":", "ORA-12505, TNS:listener does not currently know of SID given in connect descriptor" error could be encountered otherwise.