Dropbox - Dosyaları Senkronize Bir Şekilde Webde Saklama

Bu yazımda sizlere dropbox programını anlatacağım.Öncelikle http://www.dropbox.com adresine girelim ve  üye olalım sonra dropbox programını indirip bilgisayarımıza kuralım.Bize 2 gb’lık dosya alanı verir. Kurulum sonunda bilgisayarımızda mydropbox klasörü oluşturulacaktır.Bu klasörün içine yedeklemek istediğimi bilgileri atarız.Bu klasörün içinde olan dosyalar web de sizin hesabınızda saklanacaktır.Siz kendi bilgisayarınızda mydropbox klasörü içinde bir değişiklik yapınca senkronize bir biçimde web deki dosyalarınızdada o değişiklik yapılmış olacaktır.Bu programı kullanmamızın amacı mydropbox klasöründeki verilerimizi yedekleyebilmemizdir.Sistemimiz çöktüğünde sistemimizde kaybolan verilen webde tutulduğu için dropboxı yeniden kurduğumuzda verilerimize tekrar kavuşmuş oluruz.Ayrıca dropbox kullanan kişilerle isteğe bağlı olarak ortak paylaşım alanı oluşturabilirsiniz.Dropboxa davet ettiğiniz her kişi için 250 mb ek dosya alanı kazanacaksınız.

Sağ alttaki mavi renkli olan dropbox simgesine sağ tıklanmış görünüm

Untitled

Java RMI ile Dağıtık Programlama ( Server Üzerinde Çalışan Hesap Makinesi Uygulamam )

Bu uygulamamda server tarafında hesap makinesi işlemleri yapan bir metodum var client tarafında değerleri gönderiyorum serverda hesaplama yapılıyor ve client olan bilgisayara sonuç gönderiliyor.

Client olan bilgisayarda bulunması gereken interface ve sınıf

Calculator.java // Burada bir interface tanımlarız ve remote interface inden extends ederiz ve metodlarımız ile ilgili istisna fırlatırız.

      import java.rmi.*;

      public interface Calculator extends Remote {

     public long add(long a, long b)  throws RemoteException;

     public long sub(long a, long b)  throws RemoteException;

     public long mul(long a, long b)  throws RemoteException;

     public long div(long a, long b)  throws RemoteException;
        } 

 

CalculatorClient.java sınıfı

    import java.rmi.Naming;
    import java.rmi.RemoteException;
    import java.net.MalformedURLException;
    import java.rmi.NotBoundException;

    public class CalculatorClient {

    public static void main(String[] args) {
         try {
                Calculator c = (Calculator)Naming.lookup("rmi://127.0.0.1:1099/CalculatorService");  /* Burada server ın Ip adresini girdik sonra serverda açık olan 1099 nolu portu yazdık ve bir servis ismi tanımadık. */
                System.out.println( c.sub(9, 3) ); /* burada hesaplama yapacak olan metodlara değer gönderdik */
                System.out.println( c.add(7, 5) );
                System.out.println( c.mul(5, 6) );
                System.out.println( c.div(9, 3) );
            }
               catch (MalformedURLException murle) {
                System.out.println();
                System.out.println("MalformedURLException");
                System.out.println(murle);
            } 
                 catch (RemoteException re) {
                System.out.println();
                System.out.println("RemoteException");
                System.out.println(re);
            }
                     catch (NotBoundException nbe) {
                System.out.println();
                System.out.println("NotBoundException");
                System.out.println(nbe);
            }
         catch (
                java.lang.ArithmeticException ae) {
                System.out.println();
                System.out.println("java.lang.ArithmeticException");
                System.out.println(ae);
            }  } }

 

Server olan bilgisayarda bulunması gereken interface ve sınıflar

Calculator.java adlı  interface /* Burada bir interface tanımlarız ve remote interface inden extends ederiz ve metodlarımız ile ilgili istisna fırlatırız.*/

      import java.rmi.*;

      public interface Calculator extends Remote {

     public long add(long a, long b)  throws RemoteException;

     public long sub(long a, long b)  throws RemoteException;

     public long mul(long a, long b)  throws RemoteException;

     public long div(long a, long b)  throws RemoteException;
        }

CalculatorImpl.java sınıfı  /* Hesaplama yapacak olan metodlarımız bu sınıf içerisindedir bu sınıfta onceden oluşturduğmuz Calculator interface’ini implement ederiz ve  UnicastRemoteObject sınıfını extends ederiz Client ın kullanabilmesi için */

   import java.rmi.Naming;  
   import java.rmi.RMISecurityManager;  
   import java.rmi.RemoteException;  
   import java.rmi.server.UnicastRemoteObject; 

    public class CalculatorImpl
    extends UnicastRemoteObject implements Calculator {
    public CalculatorImpl() throws RemoteException {
        super();
    }
    public long add(long a, long b)throws RemoteException {
        return a + b;
    }
    public long sub(long a, long b) throws RemoteException {
        return a - b;
    }
    public long mul(long a, long b) throws RemoteException {
        return a * b;
    }
    public long div(long a, long b) throws RemoteException {
        return a / b;
    }
}

CalculatorServer.java sınıfı

   import java.rmi.Naming;
   import java.rmi.registry.LocateRegistry;
   import java.rmi.registry.Registry;
   import java.rmi.server.UnicastRemoteObject;  /* Clien ın kullanabileceği Remote objeler oluşturmak için kullanılır */

   public class CalculatorServer {

        public CalculatorServer() {
             try {
        Registry reg=LocateRegistry.createRegistry(1099); // Burada 1099 nolu portu açtık
        reg=LocateRegistry.getRegistry(); //Burada 1099 nolu portu çalıştırıyoruz.
                reg.rebind("CalculatorService", new CalculatorImpl()); 
          }
         catch (Exception e) {
            System.out.println("Trouble: " + e);
         }
         }
        public static void main(String[] args) {
         new CalculatorServer();}
    }

Şimdi önce server bilgisayarda bulunan CalculatorServer.java sınıfımızı çalıştıralım sonrada Client bilgisayarda bulunan CalculatorClient.java sınıfımızı çalıştıralım.

Calculator c = (Calculator)Naming.lookup("rmi://127.0.0.1:1099/CalculatorService");

Eğer iki biilgisayar var biri server biri client ise Client sınıfında bulunan yukarıdaki kod kısmında 127.0.0.1 yazan bölüm yerine serverın IP adresini yazmamız gerekiyor (192.168.2.20) gibi ben bu programı tek bilgisayarda çalıştırdığım için şuan 127.0.0.1 yani localhost adresini verdim.

Eclipse Görsel Arayüz Kullanma ( Visual Editor Plugin )

İlk olarak http://www.eclipse.org/ganymede  adresine giriyoruz.Download Ganymede butonuna tıklıyoruz.1

Aşağıdaki resimde görülen eclipse seçeneğine basıp indirelim.

2

Daha sonra eclipse açalım ve Help menüsünden Software Updates kısmına tıklayalım.

3

Açılan pencerede 1 seçeneğinde görülen Add Site butonuna tıklayalım. Sonra 2 nolu kısımdaki adresi Location kısmına yazalım ve ok diyelim.Alt resimdeki gibi işlemi uygulayalım.9

Önce 1 nolu linke tıklayalım sonra 2 nolu kısım açılacaktır oraya http://download.eclipse.org/tools/ve/updates/1.4 adresini yazalım ve OK diyelim.

4

Alt resimdeki gibi bütün checkboxları seçili yapalım.

 5

Installa basalım.

6

7

Şimdi bütün checkboxlar seçili iken Next butonunu tıklayalım.

Capture

Alt resimdeki mavi kalemle çizilmiş yeri işaretleyelim.Finish butonuna basalım.

Capture3

Ağaşıda görüldüğü gibi kurulum başladı.

Capture4

Şimdi önce File –> New –> Java Project kısmından yeni bir proje açalım.Açılan projenin üzerine sağ tıklayıp New –> Visual Class diyelim.

546

Name kısmına oluşturacağımız görsel sınıfımızın adını yazalım.

dfdsf

Finish diyelim.Sınıfımız açıldı şimdi alt resimdeki gibi mavi renki olan OK’a tıklayalım.

hjk

Görsel sınıf elemanlarımızı çıkartmış olduk.

hjhk

Burdan oluşturduğumuz visual sınıfın üstüne ben AWT Controls bölümünden JFrame sürükledim bıraktım sonra JFrame adını yazdım OK dedim.

fdgfdgd

İkinci bir JFrame sürükledim bıraktım sonra JFrame adını yazdım OK dedim.

fgdfgdf

Frame üzerinde saş tuşa basıp set layout kısmından null seçtim.Sonra bu JFrame ler üzerine iki tane buton sürükledim ve sağ tuğa basarak set text kısmından birinin adına EMRAH diğerinin adına KAHRAMAN yazdım.

21

Dünyada Kullanılan Programlama Dilleri Sıralaması - Aralık 2009

Ekran Alıntısı

Öğrencisi olduğum Çanakkale 18 Mart Üniversitesi Bilgisayar Mühendisliği bölümünde yukarıdaki tabloda gösterilen dillerden 1. sırada bulunan Java programlama dili dersi 3. sınıfın güz döneminde seçmeli olarak görsel programlama dersinde verilmektedir.2. sırada bulunan C programlama dili  1. sınıf bahar döneminde yapısal programlama dersinde verilmektedir.Bu yıl 3. sıraya yerleşen PHP web programlama dili 2. sınıfın bahar döneminde Web Tasarımı ve Programlama dersinde verilmektedir.4. sırada bulunan C++ programlama dili 2. sınıf güz döneminde nesne yönelimli programlama dersinde verilmektedir.7. sırada bulunan Python programlama dili 1. sınıf güz döneminde algoritma dersinde verilmektedir.8. sırada bulunan Javascript ise yine 2. sınıf bahar döneminde Web Tasarımı ve Programlama dersinde gösterilmektedir.

Eclipse Eclemma Plugin Kod Kapsama Alanı

Bu plugini yükledikten sonra kodumuzun hangi satırlarının hiç kullanılmadığını, hangi satırların işlem gördüğünü ve hangi satırların ölü olduğunu tespit edebiliriz.İlk olarak Eclipse açalım ve Help kısmından Install New Software kısmını seçelim.

ecl01

1 numaralı kısımı aynen yazalım 2 numaralı add butonuna basalım ok diyelim.Sonra 3 numaralı kısımda görülen seçeneği resimdeki gibi işaretleyelim ve next diyelim.

 6

 5

Tekrar next diyelim sonra aşağıdaki resimdeki gibi I accept ile başlayan seçeneğe tıklayıp finish butonuna basalım.

Ekran Alıntısı

Şimdi kurulum başladı.Kurulum devam ederken  o arada kalan işlerimizi yapmak istiyorsak Run in Background butonuna basalım.

 

Ekran Alıntısı2

Kurulumun ilerleme durumunu görmek için al resimdeki sarı top olan kısma tıklayalım.

Ekran Alıntısı3

 

Kurulumun hangi aşamada olduğu alt resimde gösterilmektedir.

Ekran Alıntısı4

Kurulum bitti Eclipse yeniden başlatıldı.Şimdi kodumuzu yazalım ve alt resimdeki butona basıp kapsama alanına bakalım.

Adsızfd

Alr resimdeki yeşil olan kısımlar şuan kod çalıştırılınca kullanılan kısımlar kırmızılar ise kullanılmayan kod kısımlarıdır.

Adsızsad

asd