12 Haziran 2017 Pazartesi

 public class Islem
    {
        public static List<Class.Kisi> KisileriGetir()
        {
            List<Class.Kisi> aList = new List<Class.Kisi>();

            try
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("D:\\DNDNDNDND\\belsis.Test\\belsis.Test\\Data.xml");


                XmlNodeList N1 = doc.SelectNodes("LIST/KISI");
                foreach (XmlNode node in N1)
                {
                    Class.Kisi aa = new Class.Kisi();

                    aa.ID = Convert.ToInt32(node["ID"].InnerText.ToString());
                    aa.ad = node["AD"].InnerText.ToString();
                    aa.soyad = node["SOYAD"].InnerText.ToString();

                    aList.Add(aa);

                }
            }
            catch (Exception e)
            {

            }


         



            return aList;

        }



    }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 [WebMethod]
        public List<Class.Kisi> Kisiler()
        {
            try
            {
                List<Class.Kisi> DVO = Islem.KisileriGetir();

                return DVO;

            }
            catch
            {
                return null;
            }
        }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

31 Mayıs 2016 Salı

Algoritma Nedir ?
Algoritma Analizini detaylı bir şekilde incelemeden önce Algoritma hakkında bilgi sahibi olmamız gerekiyor.Kısaca açıklayacak olursak; algoritma, bir problemi çözmek için kesin ve açık bir şekilde belirtilmiş bir dizi talimat olarak tanımlanabilir.
Örneğin n elemanlı bir A dizisindeki girdi değeri bulan ve bulunduğu konumu geri döndüren (değer bulunamıyorsa -1 döndüren) algoritma şu şekildedir:
AramaAlgorithm
Biz algoritmanın etkinliğini tam olarak hesaplamak istiyoruz. Bu noktada öncelikle o algoritmadaki temel işlemi bulmalıyız. Yukarıda verdiğimiz arama algoritmasındaki temel işleme bir bakalım. Bu algoritma için temel işlem karşılaştırma işlemi. ( if A[i] = girdi] ) Temel işlemi bulduktan sonra bizi sonuca götürecek konu bu temel işlemin ne kadar tekrarlandığı.
ALGORİTMA ANALİZİ NEDİR, NE İŞE YARAR ?

Algoritma Analizi bilgisayar programlarının performans ve kaynak kullanımı üzerine teorik çalışmadır.Algoritma analizinde öncelikle ve özellikle
performans üzerinde durulur. Bilgisayar Programlarında işlerin nasıl daha hızlı gerçekleştirilebileceği ele alınır. Algoritma analizinde öncelikle ve özellikle performans üzerinde durulur. Bilgisayar Programlarında işlerin nasıl daha hızlı gerçekleştirilebileceği ele alınır.

Algoritma Karmaşıklığı ve Büyük O Gösterimi (Big O Notation) 
Yazdığımız bir algoritmanın doğru çalıştığından emin olmakla birlikte bu algoritmayı, daha önce yazılmış ve aynı sonucu veren başka algoritmalarla karşılaştırmak isteyebilirsiniz. Burada teknik olarak değerlendirilecek başlıca iki başlık söz konusudur. Birincisi algoritmaların bellek kullanım miktarı, ikincisi ise algoritmaların hesaplama yapmak için harcadığı süredir. Mesela yazdığınız bir algoritma aynı işi yapan diğer bir algoritmadan daha hızlı çalışmasına rağmen çoğu bilgisayar için bellek aşımı gerçekleştiriyorsa bu pek uygun olmayacaktır. 
Elbette diğer algoritmalarla karşılaştırma yapmak yerine, yazdığınız bir algoritmanın tek başına analizini yapmak da isteyebilirsiniz. Bunun için yazdığınız algoritmaları ve varsa karşılaştıracağınız algoritmaları tek tek çalıştırıp hız ve bellek testi yapabilirsiniz. Ama bu tahmin edebileceğiniz gibi hem zaman açısından sıkıntı yaratır hem de elde edeceğiniz veriler donanımsal ve sistemsel değişikliklerden dolayı bilimsel olmaz.(Bu gibi işlemleri performans testi olarak da düşünebiliriz) . Bu durumda matematiksel olarak ifade edebileceğimiz, donanımsal ve sistemsel bağımlılığı olmayan bir yönteme ihtiyacımız olacaktır. Bu yöntemle algoritmamıza girdi olarak verilen verilerin miktarına bağlı olarak sonuçlar üretiriz. İşte elde edilen bu sonuçlar ilgili algoritmanın karmaşıklığı olarak tanımlanır. Bir algoritmanın karmaşıklığı performansını etkiler ama karmaşıklık ile performans farklı kavramlardır görüldüğü gibi. Karmaşıklık hesabı yapacağımız asimptotik notasyonlardan en çok kullanılanını açıklamaya çalışayım.
ÇALIŞMA ZAMANI ANALİZİ
Bir algoritmanın performansı iç ve dış faktörlere bağlıdır. …
 Algoritma 1 T1(N)=1000N … 
Algoritma 2 T2(N)=N2
N değerinin 1000’den küçük olduğu durumlarda iki algoritma arasındaki çalışma zamanı ihmal edilebilir büyüklüktedir.
   
Büyük O Notasyonu (Big O Notation) 
O notasyonu ilk olarak 1894 yılında Alman matematikçi Bachmann tarafından kullanılmış ve Landau tarafından da yaygınlaştırılmıştır. Bu yüzden adına Landau notasyonu veya Bachmann–Landau notasyonu da denmektedir. Algoritmanın en kötü durum analizini yapmak için kullanılan notasyondur. Matematiksel olarak şöyle tanımlanır: f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki, |f(x)| < C*|g(x)| dir ve      f(x)£ O(g(x)) şeklinde gösterilir. Burada C ve k sabit sayılardır ve x’ten bağımsızdırlar. 



Bilgisayar bilimlerinde kullanılan karmaşıklık sınıfları 5 tanedir.
  1. Küçük-o (small-o)
  2. Büyük-O (big-o, veya big-oh diye de geçer)
  3. Teta (Theta Θ, sadece büyük tetadan bahsedebiliz)
  4. Büyük omega (big-Ω )
  5. Küçük omega(small-ω )
Arama işleminin n adet sayı üzerinde yapıldığını söylersek, aşağıdaki 3 durumu incelememiz gerekir:
  1. En kötü ihtimalle kaç adımda bulunur? (worst case)
  2. En iyi ihtimalle kaç adımda bulunur? (best case)
  3. Ortalama kaç adımda bulunur? (average case)
Bu ihtimal analizini doğrusal arama algoritmamıza uyguladığımızda, karşılaşabileceğimiz en kötü durum aranan sayının dizinin en sonunda bulunması veya dizide hiç bulunmamasıdır. Bu durumda dizideki bütün elemanlara bakılması gerekecektir. Dolayısıyla en kötü durumda karmaşıklığımız n sayı için n olacaktır.
En iyi ihtimal ise, ilk bakılan sayının, aranan sayı olmasıdır. Bu durumda tek bir bakma işlemi yeterlidir. Bu durumdaki karmaşıklığımız ise 1 olacaktır.
Ortalama durum ise bu algoritmanın çok sefer çalışması sonucunda istatistiksel olarak ortalama kaç elemana bakılacağıdır. Bu dizide bulunan sayıların hepsinin aranma oranlarının eşit olduğunu kabul edersek, ortalama durum n/2 olur.
İşte yukarıdaki bu durum analizleri, bizim karmaşıklık sınıflarımızı veren analizlerdir.
O – En kötü durum analizi
Θ – Ortalama durum analizi
Ω- En iyi durum analizi
İşletim Zamanı  
Worst-Case Running Time : Bu işletim süresi, her girdi boyutundaki herhangi bir girdi için en uzun işletim süresini tanımlar. Örnek olarak bir programın en kötü ihtimalle ne kadar süreceğinin tahmin edilmesi istenen bir durumdur. n elemanlı bir listede sıralı arama en kötü ihtimalle (aranan bulunamazsa) n karşılaştırma gerektirecektir. Yani worst-case running time (işletim zamanı) T(n) = n’dir. Tüm problemlerde sadece en kötü girdi dikkate alındığı için worst-case running time değerini hesaplamak göreceli olarak kolaydır.
 Average-Case Running Time : Bu işletim süresi, her girdi boyutundaki tüm girdilerin ortalamasıdır. n elemanın her birinin aranma olasılığının eşit olduğu varsayıldığında ve liste dışından bir eleman aranmayacağı varsayıldığında ortalama işletim süresi (n+1)/2’dir. İkinci varsayım kaldırıldığında ortalama işletim süresi [(n+1)/2,n] aralığındadır (aranan elemanların listede olma eğilimine bağlı olarak). Ortalama durum analizi basit varsayımlar yapıldığında bile zordur ve varsayımlar da gerçek performansın iyi tahminlenememesine neden olabilir.
Örnek olarak : f(n) = n4 + 100n2 + 10n + 50 = O(n4) fonksiyonunda n'in derecesi n4'tür yani n'in büyük değerleri için fonksiyonu en fazla n4 etkiler. Peki daha düşük dereceli deyimlere ne olmaktadır? n'in çok büyük değerleri için n4, 100n2'den, 10n'den ve 50'den çok büyük olacağından daha düşük dereceli terimler dikkate alınmayabilir. Bu diğer terimlerin, işlem süresini etkilemedikleri anlamına gelmez; bu yaklaşım yapıldığında n'in çok büyük değerlerinde önem taşımadıkları anlamına gelir. n, problemin boyutudur. Yığıt, liste, kuyruk, ağaç gibi veri yapılarında eleman sayılarıdır. n elemanlı bir dizi gibi ...
O(1) : Sabit zaman
 Örnek : n elemanlı bir dizinin i. elemanına bir değer atanması O(1)’dir. Çünkü bir elemana indisinden doğrudan erişilmektedir.
O(n) : Doğrusal zaman 
Örnek : n elemanlı bir dizinin tüm elemanlarının ekrana yazdırılması O(n)’dir. Örnek : sıralı olmayan bir dizideki (listedeki) elemanlardan birinin aranması O(n)’dir (en kötü durumda da, ortalama durumda da)
O(log2n) : O(1)’den fazla O(n)’den azdır. 
Örnek : Sıralı bir listenin elemanları içinde ikili arama (binary search) uygulanarak belirli bir değerin aranması O(log2n)’dir. 
O(n2) : İkinci dereceli zaman Örnek : Basit sıralama algoritmalarının birçoğu (selection sort gibi) O(n2)’dir.
O(n log2n) : Bazı hızlı sıralama algoritmaları O(n log2n)’dir.
O(n3) : Kübik zaman Örnek : Üç boyutlu bir tamsayı tablosundaki her elemanın değerini artıran algoritma.
O(2n) : Üstel zaman, çok büyük değerlere ulaşır.




BÜYÜK O (BIG O) NASIL HESAPLANIR?
Bir program kodunun zaman karmaşıklığını hesaplamak için 5 Kural;
1 Döngüler
2 İç içe Döngüler
3 Ardışık deyimler
4 If-then-else deyimleri
5 Logaritmik karmaşıklık
1 Döngüler
Bir döngünün çalışma zamanı en çok döngü içindeki deyimlerin çalışma zamanının iterasyon sayısıyla çarpılması kadardır.
Toplam zaman = sabit c * n = cn = O(N)

2 İç içe Döngüler


İçteki analiz yapılır. Toplam zaman bütün döngülerin çalışma sayılarının çarpımına eşittir






Toplam zaman = c * n * n * = cn2 = O(N2)

3 Ardışık deyimler

Her deyimin zamanı birbirini etkiler











toplam zaman = c0 + c1n + c2n2 = O(N2)

4 If-then-else deyimleri

En kötü çalışma zamanı:test zamanına then veya else kısmındaki çalışma zamanının hangisi büyükse o kısım eklenir.



Toplam zaman = c0 + c1 + (c2 + c3) * n = O(N)

5 Logaritmik karmaşıklık


Toplam zaman = c0 + c1 + (c2 + c3) * n = O(N)

Problemin büyüklüğünü belli oranda(genelde ½) azaltmak için sabit bir zaman harcanıyorsa bu algoritma O(log N)’dir.

Örnek algoritma (binary search):

N sayfalı bir sözlükten bir sözcük arama
Sözlüğün orta kısmına bakılır
Sözcük ortaya göre sağda mı solda mı kaldığı bulunur?
Bu işlem sağ veya solda sözcük bulunana kadar tekrarlanır

ÖRNEKLER
f1(n) = 10 n + 25 n2

f2(n) = 20 n log n + 5 n


f3(n) = 12 n log n + 0.05 n2


f4(n) = n1/2 + 3 n log n

Dizi arama
    Ø  Worst case = O(n) Average case = O(n)
Quick sort
    Ø  Worst case = O(n2) Average case = O(n log n)
Merge Sort, Heap Sort
    Ø  Worst case = O(n log n) Average case = O(n log n)
Bubble sort
    Ø  Worst case = O(n2) Average case = O(n2)
Binary Search Tree: Bir elaman için arama
    Ø  Worst case = O(log n) Average case = O(log n)




İkili Arama (Binary Search)
Ø  İkili aramada dizi sıralanmış olduğundan, dizinin ortasında bulunan sayı ile aranan sayıyı karşılaştırarak arama boyutunu yarıya düşürülür ve bu şekilde devam edilir.
Ø  Bu algoritmanın temel mantığı aranacak elemanı dizinin ortasındaki eleman ile karşılaştırıp, aranacak eleman eğer bu elemana eşitse, amaca ulaşılmıştır. Eğer eşit değilse, bu durumda aranacak eleman dizinin hangi parçası içinde olabileceği kararı verilir. Bu sayede arama boyutu yarıya düşürülür ve bu şekilde devam edilir.
Bubble Sort ( Kabarcık sıralaması ) Algoritması.
Ø  Genel Özellikleri :Bubble Sort algoritması en eski sıralama algoritmalarından biridir.Yapısı ve kodlanması itibarı ile basit olup en büyük dezavantajı yavaş olmasıdır. O(n^2) karmaşıklığındadır.
Ø  Yazdığım bublesort örneği : https://github.com/Huseyincobanoglu/bubbleSort
Insertion Sort Algoritması
  Ø  Insertion Sort, bilgisayar bilimlerinde kullanılan ve sıralı diziyi her adımda öge öge oluşturan bir sıralama algoritmasıdır. Insertion Sort Algoritması, düzensiz dizi elemanlarını tek tek ele alarak her birini dizinin sıralanmış kısmındaki uygun yerine yerleştirme esasına dayanır. Genelllikle günlük hayatımızda farketmeden kullandığımız bir çözüm yöntemidir. Küçük boyutlu dizileri sıralamada hızlı olsa da çok sayıda veriyi sıralarken Insertion Sort diğer sıralama yöntemlerine göre çok yavaş kalmaktadır.
  Ø  Yazdığım insertion sort örneği : https://github.com/Huseyincobanoglu/insertion-sort

Hızlı Sıralama (Quick Sort) Algoritması

Ø  Quick sort algoritması türkçe adıyla hızlı sıralama algoritması, günümüzde hala sıklıkla kullanılan bir algoritmadır. Sıralanması istenen dizi, dizi içerisinden belirlenen bir nokta (pivot noktası) yardımıyla iki alt diziye ayrılır. Pivot noktasından küçük olan elemanlar soldaki birinci alt diziye, büyük olan elemanlar ise sağdaki ikinci alt diziye taşınır. Daha sonra, yine aynı algoritma rekürsif olarak çağrılarak bu alt dizilerin sıralanması istenir. Bu işlem diziler parçalanamayacak duruma gelene kadar sürdürülür

Ø  Yazdığım Quick Sort örneği : https://github.com/Huseyincobanoglu/quickSort

 

Hash Tablosu

  Ø  Hash tablosu, veriye bir anahtar (key) yardımı ile erişilen basit bir dizi üzerine bina edilmiştir.Anahtar kullanılarak bir indeks üretilir ve bu indeks ile dizideki istenen veriye ulaşılır.Anahtar tekildir yani bir başka kayıtta aynı anahtar olamaz. Ancak veri aynı olabilir. Bir sınıftaki öğrenciler buna çok iyi bir örnektir. Her öğrencinin sadece kendine ait bir numarası vardır. Ancak aynı isme sahip iki öğrenci olması muhtemeldir. Burada öğrenci numarası anahtardır; öğrenci ismi ise, bu anahtara ait veridir.
  Ø  Yazdığım Hash Tablosu örneği :https://github.com/Huseyincobanoglu/HashTable

Dinamik Dizi
Ø  Dinamik dizilerdeki ekleme ve silme işlemlerinin temel mantığı dizilerdeki gibidir. Aradaki farklılık sabit boyutlu bir dizinin kapasitesi dolduğunda yeni veri ekleme işleminin hata ile sonuçlanması, dinamik dizilerde ise aynı işlemin boyut değişimi sayesinde başarılı olmasıdır.En basit dinamik dizi yapısında arka planda çalışan iki dizi kullanılmaktadır. Bunlardan ilki veriyi tutmaktadır, ikincisi ise tampon bölge olarak görev yapmaktadır. Birinci bölge oluşturulduğunda dizi yeni oluşturulan daha büyük boyutlu bir diziye kopyalanarak ilk dizi silinmektedir. Sınır durumdaki ekleme işlemi hakkında bir irdeleme yapılmalı ve dinamik dizinin ne zaman genişletilmesi gerektiğine çok iyi karar verilmelidir. Çünkü genişletme, eklemeye göre daha masraflı bir işlemdir. Birkaç elemandan oluşan dizilerde bu masraf göz ardı edilebilecek kadar düşük bir maliyette olsa da dizinin eleman sayısı arttıkça bu maliyette artmaktadır.
Ø  Yazdığım dinamik dizi örneği : https://github.com/Huseyincobanoglu/vector-kapasitesini-art-rma


14 Aralık 2015 Pazartesi

GOOGLE DRİVE

google drive özellikleri ile ilgili görsel sonucu
Bulut dosya depolama alanında en popüler servislerden biri Google Drive.
Google Drive kullanıcılarına eskiden 5 GB ücretsiz depolama  alanı  sunarken şuanda 15 GB ücretsiz depolama  alanı sunuyor.15 GB bana yetmiyor diyorsanız para ile depolama alanınızı genişletebilirsiniz.Bir kerede yükleyebileceğiniz en  büyük  dosya boyutu ise  10 GB.Google’nin sunmuş olduğu ücretsiz depolama alanını  Google Drive, Gmail ve Google+ fotoğraflar için ortak kullanabiliyorsunuz. Google Drive, Windows, Mac OS, Anroid ve iOS platformları üzerinde destek vermektedir.

GOOGLE DRİVE EN İYİ ÖZELLİKLERİ
Ofiste bilgisayarımızda gerçekleştirdiğimiz çalışmaları eve götürmek için USB bellekler kullanma, sunumları özel e-postamıza gönderme gibi dertlerimiz yavaş yavaş tarihe karışıyor. Çünkü Google Drive bu konudaki tüm problemleri çözüyor.
Dokümanlarınızı, tablolalarınızı, sunumlarınızı kısacası ihtiyaç duyduğunuz her türlü belgeye artık her yerden ulaşmanız çok kolay, telefonunuzdan bile. Peki tüm bu kolaylıkları sağlayan Google Drive’ı ne kadar etkin kullanıyoruz? İşte Google Drive’dan maksimum verim almanızı sağlayacak ipuçları…

Google Drive Microsoft Office iş birliği

Tüm çalışmalarınızı Google Drive’da olması size güven vermiyor, ben bilgisayarımda da dosyalarımızı yedeklemek isterim diyorsanız, tüm Microsoft Office dosyalarınızı (.doc, .docx, .ppt, .xlt vb.) Google Docs, Google Sheets ya da Google Slides şeklinde oluşturup Office dosyası olarak bilgisayarınıza kaydedebilirsiniz.

Fotoğraflarınızı Google Slide ile düzenleyin

Google Slide (Sunu) ile fotoğraflarınızın şeklini, parlaklığını, kontrastını ayarlayabilirsiniz. Hatta filtrelerle fotoğraflarınızı daha etkili hale getirebilirsiniz. Fotoğrafın üstüne tıklayın, araç çubuğu veya biçim menüsünden “görüntü seçeneklerini” seçin ve görselin donukluk, parlaklık, kontrast ayarlarını yapın, filtreler ekleyin.

Kaynakça oluşturma eklentisi

Tez, makale ya da benzeri bir çalışma yapıyorsanız kaynakça oluşturmanız işin en sevimsiz kısımlarından biridir. Google Chrome ve Google Docs işbirliği ve EasyBib Bibliography Creator eklentisiyle bu işi de sizin için hallediyor.

Peki ya çevrimdışı kullanım?

Her zaman internete bağlı olamayabilirim diye endişe etmeyin. Çünkü internetiniz kesilse bile güvendesiniz. Ayarlar > Çevrimdışı kullanım > Çevrimdışı kullanım için bu bilgisayarı senkronize et seçenekleriyle Google Drive’ın 5 GB’lık offline belleğini kullanabilirsiniz.  Ancak offline erişimi sadece Chrome tarayıcı kullanarak gerçekletirebilirsiniz.

Düzeltme geçmişi ile hataya yer yok

Eğer aynı doküman üzerinden birkaç kişiyle birlikte çalışıyorsanız, düzeltme geçmişi (revision history) ile belgenin daha önceki sürümlerini kolayca görebilir yapılan değişiklikleri inceleyebilirsiniz.

Organizasyonlar artık Google Forms’da planlanıyor

Şirket içi buluşmalar ve organizasyonlar için artık sonsuz bir e-posta trafiğine gerek yok. Heme bir Google Form oluşturun ve paylaşın.

Depolama sınırını dert etmeyin

Google Drive’ın her kullanıcı için depolama alanı 15 GB ile sınırlı olsa da Google Docs (Dokümanlar), Sheets (Tablo) ve Slide (Sunu) belgeleri için bir sınırlama yok. Belirtilen alan sadece fotoğraflar ve diğer Google + ve Gmail dosyaları için geçerli.

13 Aralık 2015 Pazar

BULUT DEPOLAMA (CLOUD STORAGE) NEDİR ?
bulut storage nedir ile ilgili görsel sonucuBulut depolama ilgili farklı birçok tanım yapılabilir ama teknik terimlerden uzak yapılabilecek tanım bu şekildedir. Aslında kullanıcılar olarak bulut depolamayı birçok alanda kullanıyoruz fakat bunun farkında olmuyoruz. Google’ın sunmuş olduğu Google Drive, Yandex’in sunmuş olduğu Yandex.Disk ve tek başına Dropbox bulut depolama servislerine verilebilecek ideal örneklerdir.Bulut depolama, bulut teknolojisinin ortaya çıkardığı gelişmeler ile oluşturulmuş bir teknolojidir. Bulut depolamada kullanıcılar internet üzerinde kendilerine ait bir depolama alanına sahip olurlar ve dosyalarını burada saklayabilirler.
Bireysel kullanıcılar açısından bakacak olursak bu servislerden kolay bir biçimde faydalanabiliyoruz. Büyük firmalar ise kendilerine ait çözümler üretebiliyorlar veya bu alanda büyük olan firmalarla işbirliğine gidebiliyorlar.
Bulut depolama teknolojisi önü açık bir teknolojidir çünkü sunduğu erişilebilirlik (bazen problem olabiliyor) ve kullanışlılık insanın hayatına farklı bir hareketlilik kazandırıyor. Hareketlilikten kastım ise zamanın verimli kullanılması ve fiziksel bir takım unsurlarla uğraşmadan istenilen dosyaya ulaşılmasıdır. Sanırım bunu çok fazla detaylandırmaya gerek yok. Basit bir örnek ile açıklanabilir bir durum.
İhtiyacınız olan bir belgeye erişmek istediğinizi düşünün. Evinizde veya dizüstü bilgisayar olmak koşuluyla herhangi bir yerde bu belgeye ulaşma şansınız bulunuyor. Belgeye ulaştığınız zaman onu değiştirebilir, düzenleyebilir ve gerekli eklemeleri yapabilirsiniz. Buraya kadar bir sıkıntı bulunmuyor çünkü bunu telefonunuzda veya tablet bilgisayarınızda kayıtlı belgeler için de yapabiliyorsunuz. Ancak, masaüstü veya dizüstü bilgisayarda yer alan belge ile telefon veya tablet bilgisayarda yer alan belgenin aynı olmasını sağlamak için basit bir dosya trafiği yapmanız gerekiyor. Masaüstü bilgisayardan telefona, telefondan dizüstü bilgisayara gibi çeşitli transfer imkanlarınız söz konusu.
Nihayetinde bu belgeyi acil bir şekilde değiştirmeniz gerektiğini ve güncel sürümün evdeki bilgisayarınızda kaldığını düşünün. Bu durumda ona fiziksel olarak erişmeli ve dosyayı tekrar telefona, tablet bilgisayara veya USB belleğe atmanız gerekir. İşte bulut depolama dediğimiz servisler bu kısımda devreye giriyorlar ve belgenin internet olduğu sürece yanınızda olmasını sağlıyorlar.
Verilen örneğin kafanızı karıştırmasını istemiyorum ancak bu şekilde bir işleyiş söz konusu. Belgenizi, fotoğrafınız, videonuzu veya farklı bir veri içeren dosyayı internet üzerinde kendinize ait bir alanda saklamış oluyorsunuz ve internet olduğu sürece bu dosyaya erişim imkanınız bulunuyor. Bulut depolama işte tam olarak bu işe yarıyor. Hepinizin fark edebileceği gibi dezavantajı ise internet olmadığı sürece dosyalarına erişemiyorsunuz.
Avantajları
Ucuz bir metot; ilk aldığınızda birkaç gigabyte ı bedava kullanabiliyorsunuz ve sonraki kullanımlarınız için kullandığınız kadarını ödüyorsunuz.
Fiziksel alan kullanımı gerekmiyor: extra hard-drive ve onu muhafaza edecek soğutucular için bir alana ihtiyaç olmuyor. Tek ihtiyacınız olan bilgisayarlarınız için ayırdığınız fiziksel alanlar.
Datanıza internete bağlanabildiğiniz her yerden erişebiliyorsunuz; Cloud a yüklemiş olduğunuz tüm dataya herhangi bir bilgisayardan ulaşabilir hatta akıllı telefonlar araçlığıyla bile erişmeniz mümkündür.
Mailleşme, dosya aktarımı vs. konularında işbirliğini kolaylaştırması: şirket içi ortak alanlarda dosya tutmaya ya da ekli mailler göndermeye gerek kalmadan çalışanların tüm dosyalarını Cloud da tutup hepsinin erişebilmesini sağlar.
Sunucu problemlerinin yaşanmaması; Sunuculardan birisi arızalandığında diğer sunucular çalışmaya devam ettiği için uygulamalar da çalışmaya devam etmektedir.
Dezavantajları
Güvenlik problemi: kişisel bilgilerin çalınma riski olabilir. Örneğin banka hesabınıza ait bilgileri yüklemeniz sakıncalı olabilir.
Bandwith (websitesinin bir ay içerisinde gerçekleştirebileceği veri aktarım miktarı) kısıtlaması: datanıza erişmek için internete ihtiyacınız var. Yani internet erişiminiz olamayan bir bölgedeyseniz datanıza erişmeniz ve ya çalışmanız mümkün olmuyor. Ayrıca yükleme ve indirme için kota kısıtlaması çalışmaları engelleyebilir.
Bulutta Website

 Bulut sunucu müşteri nerede ise sanal sunucunun orada olduğu web hosting türüdür. Kaynağı dinamik bir şekilde ihtiyaca göre ayarlanabilen bir altyapıya sahiptir. Kısacası, sizin web sitenizin asla kapanmayacağı anlamına gelir. Eğer daha fazla alan veya bant genişliği gerekiyorsa, bulut hosting barındırma ihtiyaçlarına uygun şekilde otomatik olarak ayarlar. Daha az kaynak gerekiyorsa, çok çabuk uyum sağlar. Ve en iyi tarafı ise, size her ay sadece kullandığınız kadar ödemeyle mükellef tutar.
Cloud hosting, birden fazla sunucunun birbiri ile bağlanmasından oluşan bir servistir. Sunucuların aynı veri merkezi içinde olma zorunluluğu da yoktur, bir network ile birbirlerine bağlı olmaları yeterlidir.
Hatta yurtdışındaki bazı firmalar sunucularını farklı kıtalardaki farklı veri merkezlerinden tutmaktadır. Cloud hosting üzerinde çalışan siteye erişmek isteyen birisi hangi verimerkezine daha yakın ise, site o veri merkezi üzerinde çalışabilmektedir. Bu da sitenin çalışırken kullanıcıya hızlı cevap vermesini sağlar. Ayrıca bir veri merkezinde sorun oluşur ise diğer veri merkezleri çalıştığı için,  bu sorundan uygulama ve son kullanıcı etkilenmez.
Cloud hosting, load balanced (yük dengeli) çalışmaktadır. Yani uygulamanız çalışırken, ne kadar kaynağa ihtiyaç duyuyorsa o kadarını kullanırsınız ve kullandığınız kaynak kadar para ödersiniz. Klasik sunucu hizmetlerinde eğer uygulamanız bir vps'de çalışamayacak kadar büyük ise dedicated kiralamanız gerekmektedir. Ama bazen dedicated sunucu da ihtiyacınızdan fazla işlem gücüne, belleğe ve depolama alanına sahip olabiliyor. Bu durumda gereksiz yere kullanmadığınız kaynağa para ödemiş oluyorsunuz. Cloud hosting, ihtiyacın kadar kullan ve kullandığın kadar para öde mantığı ile çalıştığı için, dedicated sunucu kiralayacak kadar bütçesi olmayan bir çok web geliştiricisi cloud hosting kullanmaktadır.

      Bulut web hosting temeli;
      Bulut hosting, kişisel ya da kurumsal web site barındırmak için mükemmel bir çözümdür. Kaynak kullanımı ayarlanabilir. Web hosting hizmeti için çok fazla ödeme yapıp çok az kaynak kullanma gibi sorunları ortadan kaldırır. Bulut Web siteleri, birden fazla sunucu üzerinde olduğundan, kaynağa ihtiyacınızı duyulduğu an, istediğiniz kadar kaynağa erişmeniz mümkündür.
      Bulut web hosting faydaları;
      Bulut web hosting, günümüzün web hosting türlerine göre yeni bir kavramdır, ama pek çok özelliğiyle ağır basmaktadır.
      Ölçeklenebilirlik: Klasik web hostinglerde kaynak yetersiz geldiği zaman siteniz kapanır, ya da ekstra ödeme yapmadan kaynak yükseltilmesine gidilmez. Bulut barındırmada daha fazla alan, bant genişliği ve sunucunuza ekstra kaynak gerekiyorsa otomatik olarak size verir. Kaynak ihtiyaçlarınızı bulut sunucu karşılar ve buna göre bir ödeme çıkarır.
      Etkin maliyet: Sadece ne kadar kaynak kullanırsanız o kadar ödeme yapmanız, talep edilir. Hiçbir zaman kullanmadığınız kaynaklar için para ödemezsiniz. Örnek verecek olursak klasik web hosting sunucularında 3 gb trafik limiti aldığınız zaman, o ay sadece 1 gb trafik limiti kullansanız bile, 3 gb trafik limitinin, ücretini ödemeniz gerekecektir. Bulut sunucuda, sadece kullandığınız kadar ödersiniz.
      Daha güvenilir: Web siteniz, birden çok sunucu üzerinde barındırılır ve biri kapanır ise diğer sunucu devreye girer. Web siteniz hiçbir etkilenme yaşamadan daima çalışmaya devam eder.
      Sizin için en uygun hosting, bulut hosting mi?
      Bulut barındırma, kişisel ve firma web siteleri olmak üzere binlerce kişi tarafından kabul edilmiş ve barındırma alanında büyümeye devam ediyor. Güvenilir olması ve ihtiyaçlarınıza göre ayarlanabiliyor olması tercih nedenidir. Çok az kaynak isteyen web siteleri için bulut hosting her zaman avantajlı olmaya bilir. Eğer portallar, blog ya da kurumsal web sitesi için kuşku yoktur ki bulut web hosting mükemmel bir tercih olacaktır. Daha küçük, kişisel web siteleri için bulut web hosting henüz erken olabilir, ama teknoloji ilerledikçe bulut hosting her türlü web sitesi için uygun olup olmadığı daha net ortaya çıkacaktır. Herkes gelecekte, web sitelerini bulut sunucu üzerinde barındırıyor olacak