LinkedList için Generic Kayıt ve Okuma Metotları

Bil 211 dersinin ödevlerinde sıkça dosya kaydetme ve dosya okuma işlemlerinin kullanılması gerekiyordu. 3 class için 3 farklı LinkedList olduğundan (koddaki LinkedListler ArrayList ile değiştirilirse de çalışır) 3 kere de ayrı ayrı kaydetme ve okuma metotları yazmıştım. İkinci ödevi yaparken aklımdan ortak bir kod yazmayı geçirdim ancak nasıl üstesinden geleceğim konusunda bir çözüm bulamamıştım. Enes ile proje için kod yazarken ortak bir dosya kayıt ve dosya okuma metodu fikrimi söyleyince generic olarak bir metot yazılabileceğini önerdi. O gün birlikte de buna benzer bir class yazdık, tabii o kodun üstüne farklı geliştirmeler yapıldı. O yüzden ben ayrı olarak hem ödevlerde hem de projede kullanılabilecek bir class örneği hazırladım. Sabahın köründe hazırladığım için kodumdan pek memnun değilim ancak yine de gerekli işlevi görecektir.

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.LinkedList;

/**
 * @author Onur Baykal
 */
public class DosyaIslemleri {
    /**
     *
     * @param <E> LinkedList türü
     * @param liste Kaydedilmek istenen LinkedList list, türü önemli değil
     * @param dosyaAdi Kaydedilecek olan dosyanın adı
     */
    public <E> void listeKaydet(LinkedList<E> liste, String dosyaAdi){
        try{
            FileOutputStream fos = new FileOutputStream(dosyaAdi);
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(liste);
            oos.close();
            fos.close();
        }catch(Exception e){

        }
    }
     /**
     * Bu method daha önce yaratılmış bir LinkedList'in içinin doldurulmasına
     * yarar. Yüklenecek olan listenin türünü belirlemek için parametre olarak
     * liste alır.
     * @param <E> LinkedList türü
     * @param liste Üzerine yükleme yapılacak olan liste,
     * @param dosyaAdi İçerisinden liste yüklecek olan dosyanın adı
     * @return Üzerine kayıtlı olan liste yüklenmiş olan liste geri döndürülür
     */
    public <E> LinkedList<E> listeYukle(LinkedList<E> liste,String dosyaAdi){
        try{
            FileInputStream fis = new FileInputStream(dosyaAdi);
            ObjectInputStream ois = new ObjectInputStream(fis);
            liste = (LinkedList<E>)ois.readObject();
            ois.close();
            fis.close();
        }catch(Exception e){

        }
        return liste;
    }
}

GDO (Genetiği Değiştirilmiş Organizma)

gdo 0 300x236 GDO (Genetiği Değiştirilmiş Organizma)Şu sıralar bir GDO muhabbetidir gidiyor. İnsanların bilgilenmesi güzel bir şey ancak GDO’ya hayır veya evet diyenlerin %99′u neyi desteklediklerinin farkında bile değiller. Zaten tartışmaların şu sıralar alevlenmesinin nedeni Tarım ve Köy İşleri Bakanlığının yeni hazırladığı yönetmelik. Anlayacağınız işin sağlıksal tarafından daha büyük bir siyasi boyutu var. Doğal olarak bu fırsattan yararlanmak isteyenler de olacaktır. Ben şahsen GDO’yu destekliyorum. Fakat ben GDO’nun kötü yönlerini göstermeyeceğim demiyorum, tabii ki olayı iki taraftan da ele alacağım. Yazı içerisinde fikir değiştirecek bir cümle kurmamaya çalıştım. Artıları ve eksileri görüp ona göre karar vermeniz daha mantıklı olacaktır.

Öncelikle şunu belirtmek istiyorum GDO yeni bir şey değil. İlk örneği 1973′te bir bakteri ile başlamış¹. Zaten GDO’nun açılımından sadece bitkilerle sınırlı olmadığı da anlaşılıyor. Bugün yapılan tartışmalar daha çok genetiği değiştirilmiş besin maddeleri gdo 2 300x206 GDO (Genetiği Değiştirilmiş Organizma)üzerinde oluyor. Tabii bizim halkımızda yaygın görülen kulaktan dolma bilgilerle ahkam kesme huyu yüzünden tartışmalar çok alakasız yerlere de gidebiliyor.

Genetik mühendisliğinin gelişmesiyle birlikte maliyetler düşünce ve gerekli bilimsel zemin de oluşunca GDO’da büyük bir patlama yaşandı. Bugün pek çok sektörde çok büyük faydaları görülüyor. Hatta küresel ısınmanında GDO sayesinde durdurulacağını da öngörebilirim (CO2 tüketip O2 üreten yüksek verimli organizma çalışmaları halen sürmekte. Hatta son ürün olarak petrol veya kullanılabilir durumda olan yakıt üretebilen organizmalar üzerinde bile çalışılıyor). Gıda da GDO konusuna gelecek olursak, bundan kaçış yok. Zaten tarım başladığından itibaren GDO’da başlamıştır diyebiliriz. Bugün yiyebildiğimiz portakal, mandalina gibi meyveler turunç’un diğer türlerle aşılanmasından gelen türlerdir. İnsan müdahalesi olmasa bile doğal seçilim ile güçlü genleri olanın hayatını sürdürmesi de bir çeşit GDO sayılabilir – en azından ben sayarım.

Peki GDO’ya niye karşı çıkılıyor veya niye savunuluyor? Ne gibi zararları ve avantajları var?

Avantajlar

  • Tıbbi alanlarda oldukça büyük faydaları vardır. İnsülin, büyüme hormonu, kişiye özel ilaçlar vb. GDO ile hızlı, ucuz ve yüksek verimli olarak üretilmektedir. Bazı hastalıkların teşhisinde ve tedavisinde GDO’lar kullanılmaktadır.
  • Yüksek enerji harcanarak damıtılan petrolü çok daha ucuza damıtabilen bir bakteri türü üretilmiştir ve bu bakteri türü patenti alınan ilk canlıdır.
  • Tarım alanında haşerelere dirençli bitkiler üretilebilmektedir. Böylece ilaçlama yapılmadan yüksek oranda korunma sağlanabilmektedir. Tarım ilaçlarının insanlarda kansere bile yol açan etkileri vardır ve hala kullanımları düzenlenmemiştir.
  • Genetiği değiştirilmiş bitkilerle daha az maliyetli ancak daha yüksek verimli tarımcılığın yolu açılmıştır. Bunun yanı sıra daha az suyla, daha az toprakla büyüyüp gelişebilen bitki türleri de geliştirilmiştir.
  • Ucuzlayan gıda ücretleriyle beraber düzgün bir çalışmayla dünyadaki açlık çok az daha az maliyetle yok edilebilir.

Dezavantajları

  • GDO araştırmalarının yüksek bütçe gerektirmesi nedeniyle araştırmalar büyük şirketlerin tekeline girmiş durumda. Ülkeler de herhangi bir sınırlama yapmayarak binlerce biyoteknoloji şirketinin doğmasına neden oluyorlar. Tabii böyle olunca iş tamamen ticari bir hal alıyor ve dünyada açlığın bitmesi de hayal haline geliyor.
  • GDO ile her zaman başarılı sonuçlar elde edilecek diye bir sonuç yok. Tüm insan ırkını yok edebilecek bir canlı türü yanlışlıkla (belki de özellikle) üretilebilir. Halen araştırmaları regüle eden bir şey yok.
  • GDO ile üretilmiş gıdalarda insan ölümüne neden olabilecek sorunlar oluşabilir. Nadir bulunan bir böceğin DNA’sı bir bitkiyle birleştirildikten sonra o böceğe karşı alerjisi olanlar farkında olmadan zehirlenebilirler. Hatta bunun sonuçları ölüme kadar gidebilir.
  • Böceklere karşı dayanıklı bitkilerin olması böcek popülasyonu büyük zararlar görebilir. Bu da büyük ölçekli bir ekosistem faciasına dönüşebilir.
  • GDO ile üretilmiş bitki tohumları normal tohumlardan daha pahalı olup her sene yenilenme zorunluluğu taşımaktadır. Bu da uzun vadede ticari hale gelmiş bir sektör olarak düşünülürse fiyatlarda petrole benzer bir durum oluşmasına neden olabilir.
  • Etik olarak Müslümanlar ve Museviler domuz genleri kullanılmış organizmaları tüketmek istemeyebilirler. Bu konuda daha önceden uyarı yapılması veya ambargoların konulmasını gerektirebilir.

Kaynakça:

1 – http://tr.wikipedia.org/wiki/GDO

2 – http://www.gdoyahayir.org/

3 – http://www.ntvmsnbc.com/id/25018394/

4 – http://www.gidaraporu.com/genetik-yapisi-degistirilmis-urunler-gdo_g.htm

jList'e DefaultListModel ile Yeni Öge Ekleme

events 468 jList'e DefaultListModel ile Yeni Öge EklemeTobb Etü’de yeni bir dönem başladı. Hatta başlayalı baya oldu. 5. haftaya girdik. 6. hafta (gelecek hafta) vizeler başlıyor ve kimi üniversiteler daha eğitime başlamadı. Çalışıyoruz gördüğünüz gibi. Bu dönem Bil211 kodlu dersi alıyorum. Nesnesel Tasarım ve Programlama (yabancı dilde eğitim alanlar için Object Oriented Design & Programming) yani. Geçen sene 2. dönem (bizim okul 3 dönem, 2. sınıftan itibaren bir dönem staja gönderiyor) Java’ya temel bir giriş yapmıştık. Fakat GUI namına bir şey görmemiştik. Bu derste ise nesnesel programlanın inceliklerini öğreniyoruz. Hocamız da ödev olarak GUI’li bir program verdi. Açıkçası kimileri tartışabilir öğretmediği şeyi istiyor diye, açık konuşmak gerekirse başta bende böyle düşünüyordum ama bu lafı söyleyenin ödevi yapmaya başlamayan birinin olduğunu anladım. İnternet gerçekten bir deniz, aradığınız her şeyi buluyorsunuz. İş gerçekten sizin ne kadar bilgiye aç olduğunuza bakıyor. Uzun lafın kısası ödev bu (adres sonradan değişebilir belki). Basit bir program aslında. Fakat yeni şeyler öğrenmek gerektiriyor. Bu yüzden hafif bir zorluğu var.

Netbeans ile hem GUI hem de programlamayı yaptım. Hafifçe hem yaptığım işlemin mantığını anlatayım hem de kod örneği vereyim. Öncelikle jList’i Properties’den Custom Code haline getirip DefaultListModel olarak tanımladığım nesneyi veriyorum.

//DefaultListModel kullanabilmek için aşağıdaki paketi import etmek gerekiyor
import javax.swing.DefaultListModel;

//model nesnesini kodun başlarında tanımladım
DefaultListModel model = new DefaultListModel();

//i Index'li bir nesneyi jList'ten kaldırmak için böyle bir kod yazıyoruz:
model.remove(i);

//Listeyi baştan sıralamak için veya tüm elemanları silmek için:
model.removeAllElements();

//Aşağıdaki kod ile listenize yeni bir nesne ekleyebilirsiniz
model.addElement(Object o);
//Bu listeye sondan ekler ama dikkat edin listeyi yeniden sıralıyorsanız, en üste de getirebilirsiniz.

Yeni – Okuyan – Eski Toprak Üniversite Öğrencilerine Tavsiyeler

1879676940 d953a7c88a 300x199 Yeni   Okuyan   Eski Toprak Üniversite Öğrencilerine TavsiyelerHer sene genellikle bu dönemlerde üniversiteler yeni öğretim yıllarına başlarlar. Bu sene ramazan ve ramazan bayramı etkisiyle bazı üniversitelerin açılış tarihi gerilemiş olsa da elbet onlar da bir gün açılacaklar. Tabii daha önceden üniversite ortamını yaşamış öğrenciler için bir problem yok ama yeni kazanan öğrenciler için oldukça farklı bir ortam var. Bu yazıda yeni öğrenciler, okumaya devam ede öğrenciler ve nostalji yaşamak isteyen eski topraklar için üniversite hayatına ve jargonuna değineceğim. Burada vereceğim bilgiler tamamen kendi deneyimlerime dayanıyor. Doğruluk ve %100 başarı garantisi elbette vermiyorum. Başlayalım isterseniz.
Continue reading

Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

596px Lunar module AS12 51 7507 298x300 Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

Apollo 12 Ay Modülü

Dün Amsterdam Müzesindeki ay taşının sahte olması haberinden sonra böyle bir yazı yazma ihtiyacı duydum. Burada Ay’a inilmedi dedikten sonra kullandıkları kanıtları cevaplarıyla birlikte sunacağım. Biraz da gelecekte Ay’a gönderilmesi planlanan uydulardan bahsedeceğim.

596px AS15 85 11468 150x150 Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

Apollo 15'in Ay yüzüne bıraktığı retroreflektör

Ay’a gidildiğinin kesin kanıtı ayda bulunan retroreflektörlerdir. Apollo 11, 14 ve 15 ile ay yüzeyine bu mekanizmalardan üç adet bırakılmıştır. Bu mekanizma aslında basitçe iç içe aynalardan oluşan bir aynadır. Dünya’dan gönderilen lazer ışınlarıyla Dünya ile Ay arasındaki mesafeyi milimetrik bir hata payıyla ölçülebilmektedir. Bu uzun vadeli deney sonucu Ay’ın her sene 38 mm uzaklaştığı, Ay’ın çekirdeğinin tüm uydunun %20′si boyutlarında ve sıvı olduğu gibi bilgiler de edinilmiştir (bkz. Lunar Laser Ranging Experiment). Resimde görünen mekanizma insan eli olmadan kurulamayan bir mekanizmadır. SSCB’nin de iki tane retroreflektör çalışması vardır. Amerikan insanlı görevlerinden farklı olarak gezici bir robot üzerine ufak bir retroreflektör yerleştirilmiştir. Ay’daki konumunun belirsizliği yüzünden bu retroreflektörden 1971′den beri sonuç alınmamıştır.

Kennedy Moon speech 25 May 1961 300x227 Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

200px Apollo program insignia Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

Apollo Programı Arması

NASA’nın Ay çalışmaları Kennedy’nin ünlü 25 Mayıs 1961 kongre konuşmasıyla başlamıştır diyebiliriz. Bu ünlü konuşmada başkan Amerikan halkına ve bu başarıyı sağlayacak olanlara meydan okumuş ve 1970′lere kadar zaman tanımıştır (Bugün ülkemizde ufak bir metro çalışmasının sonlanması için bile bundan daha uzun süreler söylenmesi de işin ciddiye alınmadığını gösteriyor). Kennedy’nin suikastiyle birlikte başkanın bu konuşması bir vasiyet olarak da görülmüş ve Ay çalışmalarına hız verilmiştir. Öyle ki NASA’nın uzay çalışmalarındaki göreve bağlı ilk can kaybı Apollo 1′in denemelerinde gerçekleşmiş ve Gus Grissom, Ed White ve Roger Chaffee kapsülde yanarak can vermişlerdir. Bu kaza soruşturmalara neden olmuş ve NASA’nın Ay görevini gerçekleştirebilmesi için yeni bir tasarım kullanmasına neden olmuştur.

201px Apollo Soyuz Test Project patch.svg Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

ASTP (Apollo-Soyuz Test Project) Arması

Apollo görevlerinden ve araçtan da biraz bahsettikten sonra komplo teorilerine döneceğim, unutmadım. Apollo görevleri uzay çağında hem bir çağı başlatmış hem de bir çağı kapatmıştır. Basit yörünge görevlerinden, karışık işlemler yapılan hatta tamir amaçlı uzay yürüyüşlerini de başlatan; mekikten önce de ABD’nin uzaya gönderdiği son araç da Apollo görevlerinde kullanılan Kumanda Modülüydü. Son 250px Apollo soyuz Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesigörev için Apollo 18 adı da kullanılmaktadır. ASTP (Apollo-Soyuz Test Project) görevi 1981 yılında soğuk savaş devam ederken uzayda Rus Soyuz aracı ile Apollo Komuta Modülü’nün birbirine kenetlenmesi görevidir. 3 kişilik Amerikan, 2 kişilik Rus ekibi yaklaşık olarak 2 gün boyunca kenetli halde kalmış, bu görev esnasında bir cüce gezegen de keşfedilmiştir. Bu görevden planlanırken mekiğin denemeleri de devam etmekte, bu görevden sonra da bir sonraki insanlı görev mekikle olmuştur.

756px Apollo CSM lunar orbit 300x237 Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

Apollo Komuta Modülü, Ay Yörüngesinde

665px Apollo16LM 300x270 Aya Gidildi Mi? Ay Görevleri, Bir Ay Hikayesi

Apollo 16 Ay Modülü

Apollo 1, 2, 3, 4, 5 ve 6 insansız deneme uçuşları; Apollo 7, 8, 9 ve 10 Ay’a gitmeden önce Dünya ve Ay yörüngesinde çeşitli insanlı denemeler; Apollo 11, 12, 14, 15, 16 ve 17 Ay’a başarıyla gidip gelen insanlı görevlerdir. Apollo 13 ise başarılı başarısız görevdir. Başarısızlık Ay’a varılamaması, başarı ise mürettebatın Dünya’ya geri döndürülebilmesidir. ASTP görevini Apollo 18 saymazsak; Apollo 18, 19, 20 ve 21 görevleri maddi yetersizliklerden dolayı iptal edilmiş ve uzaya gönderilmeye hazır olan araçlar laboratuvarlara çevrilip uzaya gönderilmiştir. Toplamda sadece 12 insan Ay yüzeyinde yürüyebilmiştir. Genellikle bilinmeyen bir konu ise Ay Modülünün, Komuta Modülünden önce yörüngede beklemesidir. İnsanoğlu tarafından yapılmış olan en güçlü icat olan Saturn IV roketi sadece Komuta Modülünü taşır. Ay Modülü ile yörüngede kenetlendikten sonra Ay yolculuğu başlar. 3 Astronottan biri Komuta Modülünde Ay’ın yörüngesinde kalırken iki astronot Ay Modülü ile iniş gerçekleştirir.

Komplo Teorileri

457px Apollo 11 Crew During Training Exercise   GPN 2002 000032 228x300 Aya Gidildi Mi? Ay Görevleri, Bir Ay HikayesiAslında pek çok teori olmasına rağmen ben sadece birkaçına burada yer vereceğim. Burada yer vermediğim komplo teorilerinin bir kısmına buradan ulaşabilirsiniz.

Bayrak Dikildikten Sonra Bayrağın Dalgalanması

Ay’ın atmosferi olmadığı için bayrak dikildikten sonra bayrağın dalgalanmaması gerekir. Burada görüldüğü gibi bayrak dikildikten sonra bir dalgalanma yoktur. Ayrıca bayrak dikildiği sırada oluşan dalgalanma da burada açıklanmış.

Fotoğraflarda Yıldız Gözükmemesi

Uzayda Güneş’in etkisi Dünya’da olduğundan çok daha fazladır. Bu etkiyi astronotları rahatsız etmeyecek hale getirmek için camlar filtrelidir. Ay’ın yüzey yapısı yüzünden de Ay Güneş ışığını yansıtmaktadır. Bu yansıtma fotoğrafların fazla aydınlık olmasına neden olduğundan fotoğraf makineleri daha karanlık fotoğraflar çekmektedir. Ay üzerinde yürüyen astronotlar bile (örn. Buzz Aldrin) tüm görev boyunca hiç yıldız görmediklerini bile söylemişlerdir.

Daha Sonra Tekrar Ay’a Gidilmemesi

En saçma teorilerdendir. Ay görevi zamanında NASA 30 milyar dolar bütçe ayırmıştır. Tabii bu milyar dolar o zamanın parasına göre 7 kat daha değerlidir. NASA’nın tekrar Ay’a insanlı görev projesi vardır. İlk görevler Ay’ın keşfi için yapılmış olarak kabul edilse de gelecekte yapılacak olan görevlerin asıl amacı Ay’ın kolonileştirilmesidir.

Teknolojik Yetersizlikler

Ay’a gidilmeden önce Dünya yörüngesinde sadece Apollo programında 10 test yapılmıştır. Daha önceki programlarda da Ay görevlerinde kullanılacak olan teknolojiler test edilmiştir. Ay’a gidip gelmek problem değildir. İnsanlı ve insansız olarak defalarca gerçekleştirilmiştir. Fakat Ay görevleri kusursuz değildir. Apollo 11 görevi kolaylıkla başarısızlıkla sonuçlanabilirdi.