Tuesday, October 25, 2011

Fatih Üniversitesi (v1.0)



Screenshot for Fatih University




(my.fatih.edu.tr entegrasyonu, black-board ve üniversite içi messanger modülleri 1.1 versiyonuna dahil edilecektir.)Fatih Üniversitesi, 1996 yilinda Türkiye Sağlık ve Tedavi Vakfı tarafından kurulmuştur. Büyükçekmece (İstanbul), Ostim ve Gimat (Ankara) kampüslerinde eğitim öğretim ve araştırma faaliyetlerini sürdürmektedir.Fatih Üniversitesi, bilginin üretilmesinde insana ve çevreye saygıyı temel almaktadır. Bilgiye ulaşma, bilgiyi üretme ve kullanma aşamalarında disiplinlerarası yaklaşımı ve eleştirel düşünmeyi ön plana çıkarmıştır. Eğitim ve araştırma faaliyetleri; evrensel değerleri ve bilimsel etik kuralları yerel çerçevede ele alan, üretken ve yenilikçi bireylerin yetiştirilmesi hedefi doğrultusunda şekillendirilmiştir.Uygulamanın 1.1 versiyonunda, üniversite ile ilgili fotoğraflar, üniversite yayınları ve diğer modüller yayına alınacaktır...

Saturday, October 22, 2011

Java Nedir_?


Java ismi bir programla dilini ve bir platformu belirtir. Kelime anlamı ise ünlü Java ambleminin hatirlattığı gibi, "acı kahve"dir. Java, Sun Microsystems'de bir grup yazılım uzmanı tarafindan geliştirilmektedir. Bir şirket tarafından geliştiriliyor olması onun tescilli bir dil olması anlamına gelir, ancak görece "açık" olarak geliştirilen Java'nın tescilli olmasından Java'yı kullanan hiçbir programcı şikayet etmez. Sun, Java Platformunu (Java Sanal Makinesi - Java Virtual Machine) ve Java programlama dilini ihtiyaçlara göre yeniler.


Niçin Java ?

Devamlı değişen bir programlama dilini kullanmak biraz ürkütücü gözükebilir, ki bu haklı bir kaygıdır. Java ile yazdığınız büyük ölçekli bir yazılımı Java dilindeki değişikler doğrultusunda, hiçbir özelliğini değiştirmeseniz bile, yeni Java platformunda çalışması için yenilemeniz gerekebilir. Çünkü zamanla dil, eskiden kullanılan bazı metodları ya da biçimleri özelliklegüvenlik sebebiyle yeni sürümlerinde kullanılmasına izin vermeyebilir. Ancak gelişen, özellikle de olumlu yönde gelişen bir dil olması, heyecanlı bir programlama yaşatsa da artıları sayesinde çok tutulmasını sağlar. Java'nın bu kadar çok tutulmasının en genel sebebleri şunlardır:

Basitlik: Java öğrenmesi kolay bir dildir. Biraz programlama geçmisi olan özellikle de C++ gibi nesne tabanli bir dilde deneyimi olan kisi için Java'yi anlamak çok kisa bir zaman alir. Ayrica yazilan kod da son derece basit ve anlasilabilirdir. Bir çok yildiz (*) ve 've isareti' (& <!--[if !vml]--><!--[endif]--> içeren C++ kodunun yaninda Java kodu siir gibi görünür.

Mimariden Bağımsız Olma : Java ile yazilan programlar her platforma çalisir. Programi baska platformlara aktarmak için güç sarfetmeye gerek yoktur. Bu sayede ayni anda, örneğin PC üzerinde Windows veya Linux ve Macintosh üzerinde MacOS ile çalisan kullanicilar tamamen ayni program araciliği ile birbirleri ile kağit oyunu oynayabilirler.

Nesne Tabanlılık : Java Smalltalk'dan bu güne uzunan, "nesne tabanlilik" ilkesini zorunlu bir altyapi olarak kurmustur. Bugün en yaygin kullanilan nesne tabanli programlama dillerinden biri olan C++'da nesne tabanli kod ile nesne tabanli olmayan kod bir arada yazilabilir; ancak Java'da bu yapilamaz. Java'da yeni bir yapi nesneler ile olusturulmak zorundadir. Bu yapi programciyi nesne tabanli düsünmeye zorlayacağindan üretkenliği arttirir.

Dağıtık Programlama: Java'da dağitik programlama dil ile gelen bir özelliktir. Java'nin gelistirilken Internet'te dağilma özelliği hep göz önüne alinir. RMI (Remote Method Invocation - Uzak Yöntem Uyarimi) mekanizmasi sayesinde örneğin, sunucu istemcide çalisan Java programindaki yöntemi çağirip göre döndürdüğü değeri alabilir.

Güç : Java sadece küçük programlar yazmak için değildir. Java ile büyük araçlar tasarlanabilir. Aslinda Java ile büyük araçlar tasarlamak bir çok anlamda daha kolaydir. Kaba bir yaklasim, ayni isi yapan Java programinin C++ programindan yari yariya daha kisa bir sürede yazilabileceğini gösterir.

Çok Görevlilik (Multithreaded): Java ile çok görevlilik dilin kendisiyle gelir, ayri bir kütüphane kullanmaniza gerek yoktur. Bu sayede kolayca, program içerisinde programin birden fazla ufak kisimlari arka planda, ya da ayni anda çalisabilir.

Hatasız kod: Java ile çalisma zamaninda ortaya çikan (runtime) hatalar çok zor gerçeklesir. Pek çok hata kodun derlenmesi sirasinda ortaya çikar ve düzeltilir. Güçlü tip denetimi sayesinde bir nesnenin baska bir nesne yerine kullanilabilme durumlari kati bir sekilde belirlenmistir. Çalisma zamaninda ortaya çikabilecek hatalar (dosya bulunamamasi, Internet bağlantisi kurululamamasi) çerçevelenmistir ve programci istisna yakalama mekanizmasi (Exception Handling) ile bu hatalari dikkate almaya zorlanmistir. Çok klasik "if (a=5)" hatasi Java'da gerçeklesmez.

Güvenlilik : Java programları çok çesitli güvenlik seviyeleri ile bir çok ihtiyaca cevap verecek sekilde çalisabilir. Bu özelliği sayesinde Internet bulunan Java appletleri güvenle çalistirilabilir.



Java Nasıl Çalışır ?

Java'nın nasil çalıştığını anlamak için önce başka dillerin nasıl çalıştığını anlamak gerekir. Bunun için Java dilinin kendisinden pek çok güzel özelliğini aldığı C ya C++ dilini seçilebilir.

Programcı tercihen bir program geliştirme arabirimiyle programın kaynak kodunu yazar. Yazdiği bu program derleyerek çalıştırılabilir bir dosya elde eder. Windows çalisma ortamında çalıştırılabilir dosyalarının uzantıları exe ya da dll'dir.

Ancak bu exe dosya baska bir platforma, örneğin Linux'e birebir kopyalansa da orada çalistirilamaz. Bunun sebebi programin Windows için "derlenmis" olmasidir. Yani exe dosyasi içerisinde Windows isletim sisteminin anlayabileceği "makine kodlari" içermektedir.

Programi Linux'da çalıştırmak için kodun Linux için yeniden derlenmesi gerekir. Ancak çoğu zaman kod üzerinde değişiklikler de yapmak gerekir. Pencere arabirimini kullanan bir program için (ki bilindiği gibi artık hemen her program böyledir) kodun çoğunun sıfırdan yazılması gerekir.

Java ile yazılmış bir program ise her platformda çalışır! Oldukça iddiali bir söz, ancak istisnalar dışında geçerli de. Bu Java'nin "Bir kere yaz, her yerde çalıştır!" ilkesini açıklar.


Java Sanal Makine

Java ile çalışan bir program her platformda çalisir sözü teknik anlamda tam olarak doğru bir tanimlama olmayacaktir. Aslinda bir Java programi sadece tek bir platformda çalisir: Java Sanal Makine.

Java Sanal Makine, (Java Virtual Machine - JVM) isletim sistemi üzerinde mini bir isletim sistemi olarak çalisir. Sanal makine özellikleleri Sun tarafindan belirlenmistir, isteyen her üretici bir sanal makine yazabilir. Internet Explorer altinda Java apletlerini Microsoft'un IE'ye entegre ettiği Microsoft Virtual Machine sayesinde çalistirabiliyoruz. Ya da el bilgisayarlari için KVM de basarili bir sanal makinedir. (Aslında Sun Java, Java 2, J2SE, J2ME ve J2EE isimlerini tescil ettirmiştir.)


Java API 

API (Application Programming Interface - Uygulama Gelistirme Arabirimi) dilin sunduğu önceden programlammis ve iyi tanimlanmis arabirimlerle programci sunulmus çesitli islevlerin genel adidir. Örneğin programci sinüs fonksiyonunu temel calculus bağlantilari ile elle yazmak zorunda kalmayip bunu "java.lang.Math" paketi sayesinde doğrudan kullanabilir.

Kişisel bilgisayarlar için yazılmıs API içerisinde bulunan paketlerden bazılarının görevleri şunlardır:

- Sayı ve yazı işlevleri
- Dosya yazma ve okuma
- Resim oluşturma
- Arabirim tasarlama
- Ağ işlevleri
- Güvenlik
- Veritabanı erişimi


Özellikle güvenlik ve ağ ile ilgili paketler Java'nin Internet üzerinde çok popüler ve kullanışlı olmasını sağlamıştır.


java Dosyaları: java dosyalari programlarin kaynak kodunu içerir. Bir .java dosyasinda sadece bir sinif tanimlanmasi Java'nin en çok dert yanilan özelliklerinden biridir.


class Dosyaları: Bu dosyalar derlenmis "bytecode"lardir. Programin JVM için önergeleri bu dosyalar içerisinde bulunur. Dosya herhangibi JVM'de çalisabilir.


jar Dosyaları: Bu dosyalar .class dosyalarinin toplanip sikistirilmis halidir. Özellikle appletler için daha kolay bir tasinabilirlik saglar.



Java ile Neler Yapabilir ?

İletişim teknolojilerin hızla kendini yenilemesi ve farklı teknolojik araçları (Windows kurulu masaüstü bilgisayari, Linux kurulu masaüstü bilgisayari, cep telefonu, el bilgisayari, televizyon vs.) ortak bir dilde konusturma istegi Java teknolojisinin bir çok büyük sirket tarafindan desteklenmesini sagliyor. Microsoft'un yeni .NET stratejisinin en büyük rakibi olan Javateknolojisi'ne destegini çekip Windows XP ile IE altinda Sanal Makine'yi kaldirmasi bu durumda pek sasirtici olmuyor. Microsoft'un XP'den JVM'yi kaldirmasi, XP altinda Java programlari ya da apletleri çalistirilamayacagi anlamina gelmiyor, aksine kullanicilar Microsoft sanal makinesinden daha iyi yazilmis Sun'in kendi sanal makinesini kurduklarinda daha işlevsel bir ortam elde etmiş oluyorlar.

Java teknolojisi sadece küçük appletler değildir. Bu teknolojinin önemli terimlerini de açıklamakta yarar var.

Java Sunucu Sayfaları (Java Server Page - JSP): Java diliyle bütünlesik yazilan ag sayfalaridir. Java sunucu sayfalari sayesinde dinamik ag içerigi saglanir. Prensipte Microsoft'un ASP teknolojisine benzer ancak ASP sayfalarinin sundugu nesneler sadece Microsoft platformunda çalisan COM nesneler iken JSP sayfalarinda platform bagimsiz Java nesneleri kullanılır.

Servlet: Istem ile çalisan Java ag sayfalari gibi sunucularda kullanilir. CGI teknolojisinin alternatifidir. Servlet kendisinden istenen bilgiyi verir ya da kendisine gönderilen bilgiyi işler.

JDBC: Veritabanlarina SQL istemler gönderme ve sonuçlari almak için kullanilan API.

Java Bagimsiz Arabirimi (Java Native Interface - JNI): Java ile C, C++ ya da assembly gibi dillerin birlikte kullanilmasini saglayan arabirim. Bu sayede Java'nin yapamadigi islevler de (örnegin platform bagimli islevler) de Java ile kullanilabilir.

JINI: Hatalara karsi dayanikli sistemler, topluluklar ya da dagitik servisler kurulmasi ve bunlarin birbiri ile siki iletisim kurmasini saglayan teknoloji. JINI kullanilarak olusturulmus yazicilari, tarayicilari ve merkezi dosya sunucusu ile kurulu bir yerel agi bu teknolojinin kullanim alanina örnek verebiliriz.

EJB: Hareketler (transaction) ya da veritabanina baglanma gibi karisik islemleri sunucu tarafinda çalistiran ve orta derecede erisimi kolaylastiran, çok platform destekli program bilesenleri.

Java platformunda yazılmış pek çok da API bulunmaktadır. Internet için en önemlileri şifreleme gibi işlemleri gerçekleştirir. Programlar için olanlarından bazıları çoklu ortam, seri iletişim bağlantısı, tam ekran görüntüleme, üç boyut ya da ileri resimlemedir. Bunlar, ihtiyaçlara göre kullanılır.

Google ve Samsung'un iPhone 4S'e cevabı

Güney Koreli teknoloji şirketi Samsung ile internet arama motoru Google'in ortak ürettiği Galaxy Nexus, dün Hong Kong'da düzenlenen bir tanıtım ile görücüye çıktı. Android işletim sisteminin son sürümü Android 4.0 Ice Cream Sandwich (Dondurmalı Sandviç) ile gelen ilk akıllı telefon olanGalaxy Nexus'ta yüz algılama teknoloji bulunuyor.
1.2 GHz hızındaki çift çekirdekli işlemci, 1GB RAM ve 16 / 32 GB dahili hafıza özelliklerini barındıran cihaz, 4.65 inç büyüklüğünde 1280 x 720 piksellik dokunmatik ekrana sahip. 5 megapiksellik arka ve 1.3 megapiksellik öne kamerası bulunan ürün, mobil ödeme teknolojisi NFC ve 4G teknolojisini de destekliyor.
Apple'ın iPhone 4S'inin ardından merakla beklenen Android 4.0'lı Samsung Galaxy Nexus'un gelecek ay Avrupa pazarında satışa çıkması bekleniyor.

ÇIKIŞI STEVE JOBS İÇİN ERTELENMİŞTİ
Google ve Samsung'un 11 Ekim‘de San Diego‘da düzenleyecekleri Unpacked 2011 etkinliğinde yeni ürünleri Galaxy Nexus (önceden Nexus Prime olan isim değişti) ve işletim sistemi Android 4.0 Ice Cream Sandwich'i  tanıtmaları bekleniyordu.Samsung ve google Jobs'a saygılarından tanıtımı erteleme kararı almışlardı.
Google sözcüsü konuyla ilgili şu açıklamayı yapmıştı  "Biz, Steve Jobs’ın ölümü sebebiyle tüm dünyanın saygılarını ifade ettiği bir dönemin yeni ürün duyurusu yapmak için doğru olmadığına inanıyoruz. "
Google ve Samsung'un iPhone 4S'e cevabı

Facebook Zaman Tüneli (TimeLine) Yapmak (Resimli Anlatım)


Facebook zaman tüneli görünümü nasıl yapılır sorusuna cevap arayanlara çözüm sunmak için; bu yazımızda,Facebook Timeline (Zaman Tüneli) uygulamasını aktifleştirmeyi aşamalı ve resimli olarak anlatacağız.Ayrıca bu uygulama ile birlikte geçmişte olan arkadaşlarınızı da görebileceksiniz.Yani zaman içinde  sizin sildiğiniz ve sizi silen kişileri görebileceksiniz. (Yazımızın sonunda açıklama var.)
1-Öncelikle Facebook profilinize giriş yapınız.
2-https://developers.facebook.com/apps adresinizi açınız.
3-Karşınıza çıkan uygulama erişimine izin veriniz.
4-Sağ üstte bulunan “Yeni Uygulama Oluştur” butonuna tıklayınız.

5-Bu aşamada Facebook telefonunuzu onaylamanızı isteyebilir.Cep telefonunuza gelecek onay kodu ile telefonunuzu onaylayın.
6-Karşınıza çıkan ekranda her iki satıra da dilediğiniz kelimeleri giriniz.Devam tuşuna basınız.

7-
Buradan sonra çıkan ekranda eğer “Uygulama Adres Uzantısı” kısmı boş ise burayı Türkçe karakter kullanmadan mümkünse karışık bişeyle doldurunuz.(Daha önce başkalarının yazmadığı bişey olmalı,aksi takdirde hata verir).Ardından aşağıdan Save Tuşuna basıp kaydediniz.

8-Sol Menüden 2. sıradaki “Open Graph” kısmına tıklayınız.
9-Karşınıza çıkan sayfada  İlk kısma “Watch” ikinci kısma “Movie” yazabilirsiniz.

10-Karşınıza çıkan 3 sayfaya da ekranın en altında bulunan Save Changes and Next, Save Changes and Next ve son olarak da Save and Finish butonlarına basın.
Tüm bu işlemleri yaptıktan sonra www.facebook.com adresine giriş yapınız.Burada üst kısımda “Zaman Tüneli” ile ilgili bir uyarı belirecek.”Şimdi Al” butonuna tıkladığınızda Zaman Tüneli Timeline uygulamasına girebileceksiniz.
Zaman Tüneli‘nin sağ kısmında Yıllar bölümünün olduğunu belirtelim. Buradan istediğiniz tarihe geçiş yapabilirsiniz.
*Facebook’da Sizi Silen veya Sizin Sildiğiniz Kişileri Görme
1-Zaman Tünelinde herhangi bir zamandayken “Arkadaşlar” kısmına tıklayınız

2-
Eğer kişi şuan sizin arkadaşınız değilse yanında “Arkadaşı Ekle” ibaresi olacaktır.Böylece eski arkadaşlarınızı görebileceksiniz.

Facebook Zaman Tüneli (TimeLine) Yapmak (Resimli Anlatım)


Facebook zaman tüneli görünümü nasıl yapılır sorusuna cevap arayanlara çözüm sunmak için; bu yazımızda,Facebook Timeline (Zaman Tüneli) uygulamasını aktifleştirmeyi aşamalı ve resimli olarak anlatacağız.Ayrıca bu uygulama ile birlikte geçmişte olan arkadaşlarınızı da görebileceksiniz.Yani zaman içinde  sizin sildiğiniz ve sizi silen kişileri görebileceksiniz. (Yazımızın sonunda açıklama var.)
1-Öncelikle Facebook profilinize giriş yapınız.
2-https://developers.facebook.com/apps adresinizi açınız.
3-Karşınıza çıkan uygulama erişimine izin veriniz.
4-Sağ üstte bulunan “Yeni Uygulama Oluştur” butonuna tıklayınız.

5-Bu aşamada Facebook telefonunuzu onaylamanızı isteyebilir.Cep telefonunuza gelecek onay kodu ile telefonunuzu onaylayın.
6-Karşınıza çıkan ekranda her iki satıra da dilediğiniz kelimeleri giriniz.Devam tuşuna basınız.

7-
Buradan sonra çıkan ekranda eğer “Uygulama Adres Uzantısı” kısmı boş ise burayı Türkçe karakter kullanmadan mümkünse karışık bişeyle doldurunuz.(Daha önce başkalarının yazmadığı bişey olmalı,aksi takdirde hata verir).Ardından aşağıdan Save Tuşuna basıp kaydediniz.

8-Sol Menüden 2. sıradaki “Open Graph” kısmına tıklayınız.
9-Karşınıza çıkan sayfada  İlk kısma “Watch” ikinci kısma “Movie” yazabilirsiniz.

10-Karşınıza çıkan 3 sayfaya da ekranın en altında bulunan Save Changes and Next, Save Changes and Next ve son olarak da Save and Finish butonlarına basın.
Tüm bu işlemleri yaptıktan sonra www.facebook.com adresine giriş yapınız.Burada üst kısımda “Zaman Tüneli” ile ilgili bir uyarı belirecek.”Şimdi Al” butonuna tıkladığınızda Zaman Tüneli Timeline uygulamasına girebileceksiniz.
Zaman Tüneli‘nin sağ kısmında Yıllar bölümünün olduğunu belirtelim. Buradan istediğiniz tarihe geçiş yapabilirsiniz.
*Facebook’da Sizi Silen veya Sizin Sildiğiniz Kişileri Görme
1-Zaman Tünelinde herhangi bir zamandayken “Arkadaşlar” kısmına tıklayınız

2-
Eğer kişi şuan sizin arkadaşınız değilse yanında “Arkadaşı Ekle” ibaresi olacaktır.Böylece eski arkadaşlarınızı görebileceksiniz.