Linux'ta bir depo nedir. Ubuntu depolarının yapılandırılması.

Depo, genellikle güvenlik veya koruma için genellikle bir depolama yeri anlamına gelir.
- Vikipedi

İşte Wikipedia'nın depoyu nasıl tarif ettiği. Öyleyse, onlarla uğraştığımız diğer en sıcak kelimelerin aksine, bu terim özünü mükemmel bir şekilde iletiyor. Depo, belirli bir türün varlıkları için koleksiyonun depolanması kavramıdır.

Koleksiyon olarak depo

Muhtemelen depoun en önemli farkı, nesnelerin koleksiyonları olmalarıdır. Veritabanlarında depolamayı tanımlamazlar veya başka bir şekilde önbelleğe alma veya çözme teknik problem. Depolar koleksiyonları temsil eder. Bu koleksiyonları nasıl saklarsınız - bu sadece uygulamanın bir detayı.

Bu konuda netlik yapmak istiyorum. Depo bir koleksiyondur. Varlıkları içeren ve sonucu filtreleyebilen ve başvurunuzun gereksinimlerine bağlı olarak geri döndüren bir koleksiyon. Bu nesneleri nerede ve nasıl depolar bir düzenlemedir.

PHP dünyasında, işlemin ölümüyle biten sorgu / tepki döngüsüne alışkınız. Dışarıdan gelen ve hayatta kalan her şey - sonsuza dek kalmadı - bu noktada. Bu yüzden, tüm platformlar bu şekilde çalışmaz.

Depo işlerinin nasıl çalıştığını, uygulamanızın sürekli çalışması nasıl olduğunu anlamanın iyi bir yolu, bu durumda tüm nesneler hafızada kalır. Kritik başarısızlıkların olasılığı ve bu deneyde onlara reaksiyon ihmal edilebilir. Üye Varlıklar, Üye Üyesi için Depo'nun bir Singleton örneğine sahip olduğunuzu hayal edin.

Ardından yeni bir üye nesnesi oluşturun ve depoya ekleyin. Daha sonra, bu şekilde depolanan tüm öğeleri bu şekilde bu nesneyi içeren bir koleksiyon alacaksınız. Belki de belirli bir nesneyi kimliğiyle elde etmek istiyorsunuz, aynı zamanda mümkündür. Havuzun içinde bu nesnelerin bir dizide veya hatta nesne koleksiyonunda daha da iyi olduğunu hayal etmek çok kolaydır.

Basitçe söylemek gerekirse, depo, esansları saklamak ve filtrelemek için tekrar tekrar kullanacağınız güvenilir bir koleksiyon türüdür.

Depo ile etkileşim

Üyenin özünü yarattığımızı hayal edin. Gerekli duruma bir nesne veriyoruz, ardından istek biter ve nesne kaybolur. Kullanıcı uygulamamızda giriş yapmaya çalışıyor ve yapamam. Açıkçası, bu nesneyi uygulamanın diğer kısımları için mevcut olmamız gerekiyor.

$ Üye \u003d Üye :: Kayıt Ol ($ e-posta, $ Şifre); $ MemberErepository-\u003e Kaydet ($ Üye);
Şimdi nesneye daha sonra erişebiliriz. Bunun gibi:

$ Member \u003d $ MemberErtifeThousitory-\u003e FindByEmail ($ e-posta); // veya $ Üyeler \u003d $ MySeRepository-\u003e GetAll ();
Nesneleri uygulamamızın bir kısmında saklayabiliriz ve daha sonra bunları bir başkasından ayıklayabiliriz.

Depolar varlıklar yaratmalı mı?

Bu tür örnekleri karşılayabilirsiniz:

$ Üyesi \u003d $ MyRemreErepository-\u003e Oluştur ($ e-posta, $ Şifre);
Bunun lehine giden birçok argüman gördüm, ama kesinlikle benzer bir yaklaşımla ilgilenmiyor.

Her şeyden önce, havuzlar koleksiyonlardır. Koleksiyonun neden bir koleksiyon ve fabrika olması gerektiğinden emin değilim. Gibi argümanları duydum "Daha uygun davranırsanız, neden bu tür işlemlere bir işleyici asılmıyorsunuz?"?

Benim görüşüme göre, bu bir pıtırtı. Neden üye sınıfına izin vermiyorsun, nesnenin nasıl ve neden oluşturulduğunu ve neden daha karmaşık nesneler oluşturmak için neden ayrı bir fabrika yapmadığım konusunda kendi anlayışına sahip olmasın.

Depolarımızı basit koleksiyonlar olarak değerlendirirsek, bunları fazla fonksiyonel olarak yüklemeleri gerekmediği anlamına gelir. Fabrikalar gibi davranan koleksiyon dersleri istemiyorum.

Havuz kullanmanın faydası nedir?

Depoların temel avantajı, varlıkların koleksiyonları için soyut bir depolama mekanizmasıdır.

Üye Katmanlı arayüz sağlayarak, geliştiricinin elleri tarafından serbest bırakılır, bu da verilerin nasıl ve nerede saklanacağına karar verecek.

Class ArrayMemberPository, üye kayıt maddesini uygular (özel $ Üyeler \u003d; kamu işlevi tasarrufu (Üye $ Üye) ($ Bu-\u003e Üyeler [(String) $ Üye-\u003e GetID ()] \u003d $ Üye;) Kamu Fonksiyonu GetAll () -\u003e Üyeler;) Kamu İşlev FindByID (eğer (if (isset) $ memur]) (eğer

Sınıf Redismemberrepository, üye kayıt maddesini uygular (halka açık fonksiyon tasarrufu (üye $ üye) (// ...) // Noktayı alırsınız)
Böylece, uygulamalarımızın çoğu yalnızca özet özet kavramını biliyor ve kullanımı gerçek uygulamadan ayrılabilir. Çok fazla dayanıyor.

Havuzlar ne içerir: etki alanı veya uygulama hizmeti katmanı?

Yani, işte ilginç bir soru. İlk olarak, başvuru hizmet katmanının, veritabanının bütünlüğü gibi belirli uygulama uygulama detaylarından ve İnternet protokolleriyle çalışma uygulamalarından sorumlu olan çok seviye bir mimari olduğunu tanımlayalım (Gönderme) e-posta, API), vb.

İşletme kurallarından ve iş mantığından sorumlu olan, etki alanı katmanını çok seviye mimarisinin bir katmanı olarak tanımlıyoruz.

Depo bu yaklaşımda nerede düşecek?

Örneğimize bakalım. İşte daha önce yazılmış kod.

Class ArrayMemberPository, üye kayıt maddesini uygular (özel $ Üyeler \u003d; kamu işlevi tasarrufu (Üye $ Üye) ($ Bu-\u003e Üyeler [(String) $ Üye-\u003e GetID ()] \u003d $ Üye;) Kamu Fonksiyonu GetAll () -\u003e Üyeler;) Halk Fonksiyonu FindbyID (eğer (if (isset) $ memur])) (BU BU-\u003e ÜYELERİ GERİ DÖNÜŞ [)))))))
Bu örnekte, çok fazla satış detayını görüyorum. Kuşkusuz uygulama katmanını girmelidirler

Ve şimdi bu sınıfın uygulanmasının tüm detaylarını kaldıralım ...

Class ArrayMemberRepository, üye kayıt maddesi uygular (kamu fonksiyon tasarrufu (Üye $ Üyesi) () Kamu Fonksiyonu GetAll () () Halk Fonksiyonu FindbyID (Üye Kim Üyesi) ()))
Hmm ... tanıdık bakmaya başlar ... Ne unuttuk?

Belki de ortaya çıkan kod size bunu hatırlatıyor mu?

Arabirim Üyesi FunRepository (Üye $ Üye); Kamu Fonksiyonu GetAll (); Kamu Fonksiyonu FindbyID (Üye Kim Üye Kimdi);)
Bu, arayüzün katmanların sınırında olduğu anlamına gelir. Ve aslında, alan spesifik kavramları içerebilir, ancak gerçekleştirmenin kendisi bunu yapmamalıdır.

Depolar arayüzleri etki alanı katmanına aittir. Uygulama, uygulama katmanını ifade eder. Bu, hizmet katman katmanına bağlı olmadan etki alanı katman düzeyinde mimariyi bina yaparken özgür olduğumuz anlamına gelir.

Değiştirme Veri Depolarının Özgürlüğü

Birinin nesneye odaklı tasarım konsepti hakkında konuşmasını duyduğunuzda, muhtemelen gibi bir şey duyabiliyordunuz. "... ve gelecekte veri depolamasının bir uygulamasını değiştirme fırsatınız var ..."

Benim düşünceme göre, tam doğru değil ... Bunun çok kötü bir tartışma olduğunu söyleyebilirim. Depolar kavramını açıklamanın en büyük problemi derhal soru şudur. "Gerçekten yapmak istiyor musun?". Depo deseninin kullanımını etkilemek için böyle soruları istemiyorum.

Oldukça iyi tasarlanmış nesnelere yönelik herhangi bir uygulama otomatik olarak yukarıdaki öniyet için uygundur. OOP'un merkezi kavramı kapsüllemedir. API'ye erişim sağlayabilir ve uygulamayı gizleyebilirsiniz.

Sonuçta, bir ormdan diğerine ve arkaya geçmeyeceksiniz. Ama bunu yapmak istesen bile, en azından bunu yapma şansına sahip olacaksın. Bununla birlikte, havuzun uygulanmasını değiştirmek, test ederken büyük bir artı olacaktır.

"Depo" deseni kullanırken test

Her şey burada basit. Katılımcıların tescili gibi bir şeyi işleyen bir nesneniz olduğunu varsayalım ...

Sınıf RegisterMemberHandler (Özel $ Üyeler; Kamu İşlevi __Construct ($ Bu-\u003e Üyeler \u003d $ Üyeler;) Genel İşlev Kolu (RegisterMember Bember $ Komuta) ($ Üye \u003d Üye :: Kayıt Ol ($ Komut-\u003e E-posta, $ Komut-\u003e Şifre) ; $ Bu-\u003e Üyeler-\u003e Kaydet ($ Üye);)))
Bir sonraki işlem sırasında, DoctrineMemberPository'nin bir örneğini alabilirim. Bununla birlikte, test sırasında, bir arraymemberrepository örneğiyle değiştirmek kolaydır. İkisi de aynı arabirimi uyguluyorlar.

Basitleştirilmiş test kutusu böyle görünebilir ...

$ repo \u003d yeni arraymemberrepository; $ Handler \u003d Yeni RegisterMemberHandler ($ repo); $ Talebi \u003d $ this-\u003e createquest (["e-posta" \u003d\u003e " [E-posta Korumalı]"," Şifre "\u003d\u003e" angelofdestruction "]); $ Handler-\u003e Kolu (RegisterMember :: Way ($ talebi)); AssertCount (1, $ repo-\u003e FindByEmail (" [E-posta Korumalı]"));
Bu örnekte, işleyiciyi test ediyoruz. Depo verilerinin depolanmasının doğruluğunu veritabanındaki (veya başka nerede) kontrol etmemiz gerekmez. Bu nesnenin özel davranışını test ediyoruz: Kullanıcıyı form verilerine göre kaydedin ve ardından onları depoya iletin.

Koleksiyon veya durum

Domain odaklı tasarımını uygulayan kitapta Vaughn Vernon, depo türleri arasında bir ayrım yapar. Tahsil odaklı bir depo fikri (Orig. - Toplama odaklı depo) Depo ile çalışmanın bir dizide olduğu gibi hafızada olduğu gerçeğidir. Depo, depolama yönelimli (Orig. - Kalıcılık odaklı depo) Bir çeşit daha derin ve düşünce depolama sistemi olacağı fikrini içerir. Özünde, sadece isimlerde farklılıklar.

// toplama odaklı $ ÜyeRepository-\u003e Ekle ($ Üye); // vs Persistenstence odaklı $ MemberSeRepository-\u003e Kaydet ($ Üye);
Bunun sadece benim fikrim olduğunu ve şimdiye kadar havuzların kullanımı konularında buna uyuduğumu unutmayın. Ancak, düşündüğünüzü uyarmak isterim. Sonunda, diğer nesne koleksiyonu ile aynı görevlerle nesnelerin koleksiyonlarında onlara odaklanıyorum.

Ek Bilgiler

Elbette izlenmesi gereken havuzlar hakkında GitHub'da bir proje oluşturuldu. İçinde, hafıza ve dosyalarda depolama ile çalışma örneklerini bulacaksınız.

SONUÇLAR

Bence…
  1. ... Depoların, nesnelerin bir koleksiyonu olarak işlev görmesi için tekil bir görevi vermek önemlidir.
  2. ... Yeni nesnelerin yeni örnekleri oluşturmak için havuzları kullanmamalıyız.
  3. ... Bir teknolojiden diğerine geçiş yolu olarak depo kullanmaktan kaçınmalıyız, çünkü reddetmesi zor olan çok fazla avantaja sahipler.
Gelecekte, dekoratörü kullanarak sonuçların önbelleğe alınması, kriter paternini kullanan talepler, toplu işlemlerin işlenmesindeki depo rolü, büyük miktarlar nesneler.

Sorularınız varsa veya görüşünüzden farklıysa, lütfen aşağıda yorum yazın.

Her zaman olduğu gibi, mevcut görüşüme göre senkronize etmek için makaleyi güncellemeyi düşünüyorum.

Programları yükleme yöntemleri windows Sistemleri Ve Linux (BSD'nin yanı sıra) farklı. Programların kurulumunun ideolojisinin bile farklı olduğu söylenebilir. Windows kullanıcıları Programın bir kurulum dosyası (veya bir dosya grubu) biçiminde geldiğine alışkın. Bu dosyaların internetten indirilmesi veya CD / DVD'ye girmesi gerekir. Linux için, bu yöntem de yoksa da karakteristik değildir.

Aslında, depo bir dosya mağazasıdır . Linux sistemi Bir program oluşturmak isteyen bir kişinin bu programın depolandığı havuza dönüşecek bir kişinin. Terminal boyunca yapılır.

Örneğin, yüklemek istiyorum Linux nane. 17.1 Sanallaştırma Programı Sanal Kutu. Terminali başlatıyorum ve aşağıdaki komutu tanıtıyorum:

sudo apt-get install virtualbox-4.3

Kurulum bir superaTeministrator'ın haklarıyla yapılmalıdır, bu yüzden Sudo kelimesini komuta ekleriz. Terminal süper bakan şifremizi sorar ve yükleyeceğiniz paketlerle ilgili bilgileri bildirir.


VirtualBox'ı terminalin üzerinden yükleme

Kullanıcının izninden sonra, sistem pompalamaya başlayacaktır dosyalar İnternetteki ağ depolamasından. Yani programın sitesine gitmeniz gerekmez ve indirin kurulum dosyası manuel olarak.

Kurulum işleminin kendisi aşağıdaki gibidir:


Sanal Kutuyu Linux Nane Yükleme

Kurulumdan sonra, program diğer yüklü programlar listesinde bulunabilir.


Linux Nane'de VirtualBox

Depolar kim yaratabilir?

Kimse. Depolar için olduğu gibi, işletim sistemi hangi depolardan alınır, bunun her şeyden önce, sistemin kendisinin deposu. Ayrı Programlar Ayrıca havuzlar (onlardaki programların versiyonları, bir kural olarak, daha yakın zamanda), ancak bu tür depolama tesisleri işletim sistemi ayarlarına manuel olarak eklenmelidir. Paket Yöneticisi'nden veya terminaldeki uygun komutlar aracılığıyla yapar.

Gördüğünüz gibi, benim durumumda, VirtualBox dosyaları zaten havuzumda vardı, bu yüzden ek eylemler yapmak zorunda değildim. Böyle bir programın deposunda böyle bir program yoksa ne yapmam gerekecek? Programın kendisinin deposu geliştiricileri ekleyin.

Örneğin, Linux nane menüsünde "Uygulamaların Kaynakları" ve "Ek Depolar" bölümünde bulunur.


Linux Nane'de Bir Depo Ekleme

Veya terminalde konuşmak

sudo sh -c "echo" deb http://download.virtualbox.org/virtualbox/debian güvenli katkı "\u003e\u003e /etc/apt/sources.list"

Bu, belirli bir virtualbox deposunun yoludur. Diğer programlar durumunda, yol farklı olacaktır. Bundan sonra, önbellek paketlerini güncelleyin:

Sudo apt-get güncelleme

Paket Yöneticisi aracılığıyla depoya bir başvuru eklerken, aynı zamanda nazik olmalıdır. dEB [İnternet deposuna bağlantı]. Ek olarak, ekran girişinde PPA havuzları olan bir bölümü fark edebilirsiniz. Onlar atanır.

Bunda, belki de her şey. Ve unutma, bir penguenin göründüğü kadar zor değil.

Depo

Depo, depolama - Herhangi bir verinin depolandığı ve desteklendiği yer. En sık, depodaki veriler, ağ üzerinden daha fazla dağıtım için kullanılabilir dosyalar olarak saklanır.

Aynı dilde (örneğin, PERL için CPP) yazılan programları depolamak için depolar vardır veya bir platform için tasarlanmıştır. Çok modern işletim sistemiOpensolaris, FreeBSD ve çoğu Linux dağıtımları gibi resmi depolar var, aynı zamanda paketleri başka yerlerden yüklemenizi de sağlar. Çoğu depo ücretsizdir, ancak bazı şirketler ücretli bir abonelik için kendi depolarına erişim sağlar.

Depoların kontrol sistemlerinde kullanılmaktadır, tüm belgeleri değişimlerinin geçmişi ve diğer hizmet bilgileriyle birlikte saklarlar. Rus Topluluk Subversion, terim yerine kullanarak önerir. depo Depolama terimi, "depo" kelimesinin hem doğrudan çevirisini hem de onun konseptini tamamen karşıladığı için.

Farklı var otomatik sistemler Depolar oluşturma. Depo türlerinden biri: Depolama / DVD - kurulum diskleri Belirli bir yazılımın paketleri için.

Ayrıca bakınız

Linkler


Wikimedia Vakfı. 2010.

Diğer sözlüklerde "depo" ne olduğunu izleyin:

    Herhangi bir verinin depolandığı ve desteklendiği yer. En sık, depodaki veriler, ağ üzerinden daha fazla dağıtım için kullanılabilir dosyalar olarak saklanır. Depolar Versiyon Yönetim Sistemlerinde kullanılır, her şey onlara saklanır ... ... Ticari Terimler Sözlük

    depo - Veritabanı nesnelerinin depolanması. Konular bilişim teknolojisi Genel olarak, EN deposu ...

    - (EAstr., Lat. Repono, repositum yere geri döndü, gitmek için) öğrenci döngüsünü yakıt doldurmak için kullanılan bir obstetrik aracı ... Büyük tıbbi sözlük

    Depo: (İngilizce Depo Depo, Depolama) Deposu Ayrıca Bkz. Depolar Yucca Dağı Amerikan Kuru Doktora harcanan nükleer yakıt ... Wikipedia

    yazılım Paketi Deposu (Depo) - 3.17 Depo yazılım paketleri (Depo): Kapalı bir set yazılım paketleri ve bunlarla ilgili metaografik bilgi. Her bir ikili paket için kapağını hesaplamak mümkünse, depo denir, yani. Çanta takabilirsiniz ... ... ... Sözlük rehberi Düzenleyici ve teknik belgeler şartları

    Yucca Mountain ... Wikipedia

    Bu terimde ayrıca başka değerlere sahiptir, bkz. SISIF (değerler). Yunan mitolojisinin Sisif karakteri. SISIF (... Wikipedia

    merkezi depo - Merkezi Depolama Sistemi Bu sistem Sporcular biyografileri, madalya sayısı, olayların takvimi, taşımacılık hizmeti raporları ve ziyaretçiler hakkında bilgi dahil olmak üzere çeşitli verileri depolamak için tasarlanmıştır. [Bölüm ... ... Teknik Tercüman Dizini

    Uzun süreli depolama, birikim ve uzun vadeli ve güvenilir sağlayan Depo Elektronik Arşivi Enstitüsü açık Erişim Kurumda yapılan bilimsel araştırmanın sonuçları. Üniversite kurumsal ... ... Wikipedia

    Herhangi bir verinin depolandığı ve desteklendiği depo konumu. En sık, depodaki veriler, ağ üzerinden daha fazla dağıtım için kullanılabilir dosyalar olarak saklanır. Bir depo örneği, ücretsiz bir yazılım deposu olarak hizmet edebilir ... ... wikipedia

Kitabın

  • Yeni başlayanlar için raylar üzerinde yakut. Raylar, Hartle Michael'a dayalı web uygulamalarının geliştirilmesini inceliyoruz. Twitter, Github, Disney ve Sarı Sayfalar gibi çeşitli şirketler tarafından kullanılan raylarda Ruby, web uygulamaları geliştirmek için en popüler çerçevelerden biridir, ancak ...

Sorularınızı nelerden cevaplamaya çalıştıktan sonra, kesin olarak yeni bir tanımla karşılaşacaksınız (repo, repo, depo).Depo, depolamaherhangi bir verinin depolandığı ve güncellendiği yer. En sık, internet üzerinden daha fazla dağıtım için mevcut dosyaların formundaki verilerdir. Bu makalede biz söyleyeceğiz

Temas halinde

cydia'daki havuzlar hakkında. Ana fark Uygulama mağazası. Cydia, Cydia'nın uygulamalar için tek bir depo olmadığıdır. Cydia, onlarla çalışmak için tasarlanmış çeşitli Internet kaynaklarından gelen uygulamalar hakkında veri toplar. Bu internet kaynakları veya sadece siteler denetlenir. Depo, örneğin Cydia uygulamaları seçimi için içine yükleyerek herhangi bir kişi yaratabilir. Cydia'daki havuzlar harika bir set.

Varsayılan sonra cydia tesisatları, zaten birkaç depo içeriyor. En büyüğü Bigboss. Bu depo, çok popüler sbsnettings ve varil gibi yüzlerce konu ve program içeriyor. Örneğin, MyWi uygulaması başka bir depoda - MODMYI.COM. Genel olarak, uygulamayı yüklemek için, önce Cydia deposuna eklemeniz gerekir, yani. Depolandığı site.

Cydia'da yeni bir depo eklenebilir.

1. Cydia simgesine tıklayın ve bölüme gidin "Yönet" Ekranın alt kısmında, bölümünü seçin. "Kaynaklar".

2. dokunun "Düzenle" sağ üst köşede ve sonra "Ekle" ayrıldı.

4. Doğru yapılırsa, birkaç saniye sonra, havuzlarınız listede görünecektir. yeni kaynak. Üzerine tıkladığınızda, içindeki uygulamaları göreceksiniz.

Birden girdiğiniz adresin sadık olduğundan eminseniz, ancak depo kaynak listesine eklenmediğini ve Cydia'nın bir hatayı bildirmesiyse, sorunun en çok depoun bulunduğu bir sunucuyu aşırı yükleme olasılığı yüksektir. Bu durumda, eklenen havuzun çıkarılmasına ve daha sonra yeniden yüklemeye değer.

Faydalı depo listesi:

http://sinfuliphonerepo.com (uygulamalar, yamalar vb.)

http://ihacksrepo.com (çeşitli dosyaların büyük bir kütüphanesi)

http://cydia.i4tips.com (Deb paketlerini ayarlayın)

http://apt.alleon.Name (Rus havuzu: temalar, düzeltmeler, hakiler, programlar, oyunlar, duvar kağıdı, zil sesleri)

http://cydia.xsellize.com (Programlar, Oyunlar, Resimler, Melodiler.)

http://ispaziorepo.com/cydia/apt/ (temalar, düzeltmeler, hakiler, programlar, oyunlar, duvar kağıtları, zil sesleri vb.)

http://cydia.hackulo.us (AppSync, Installouus ve Hacklous Yamaları)

http://repo.hackyouriphone.org (haki, moda, programlar vb.)

Önemli!!! Asla Cydia'dan yabancı bir uygulamalar oluşturma - bu, cihazdaki veri kaybına veya iTunes üzerinden iyileşmeye yol açabilir.

Aşağıda, depo hizmetlerinin nerede saklandığını, hangi çalışma sistemlerinin bir masaüstü uygulaması olup olmadığı ve hangi işletim sistemlerinin yüklenebileceğini görebilirsiniz.

# şirket Yıl Kontrol sürümleri Veri depolama Fiyat (aylık), $
1
0
2008 Git, svn. 7–210
2
0
2008 Git, mercurial Bulut / kendi sunucusu 10–200
2016
3
0
2011 Git. Bulut / Kendi Sunucusu 4-99
4
0
2007 Git, svn. bulut 15–200

Katılımcıların verilerinin işlenmesi sırasında kodun depolanması için diğer depo hizmetleri göz önünde bulunduruldu: Amazon Cloud Drive, CodeBase, Gitolit, Heroku, Microsoft Azure, RhodeCode, Subversion, Team Foundation Server.

Reyting hakkında

Kodun depolanması için depoların derecelendirilmesi üçüncü kez telamin tarafından gerçekleştirilir ve Nisan 2016'dan Mayıs 2018'e kadar düzenlenen Dijital Şirketlerin Teknik Liderlerinin 540+ anketine dayanarak oluşturulmuştur. Katılımcılardan "depolama kodu için hangi depo hizmetleri kullanıyorsunuz?" Sorusuna bir veya daha fazla cevap seçeneği seçmeleri istendi.

Dinamikler, Ağustos 2014'ten Nisan 2016 arasındaki dönem için telamin tarafından elde edilen verilerle karşılaştırıldı.

Oldukça büyük bir marjlı (% 77) sıralaması, Gitub'a gitmeye devam ediyor - GIT versiyonu kontrol sistemine dayanan projeleri barındırma için en ünlü web hizmeti. Açık kaynak projeler için, servis ücretsizdir ve özel depolarla özel projeler için birkaç tarife planı vardır:
- Kişisel (Ekip kullanımı için özel depoların oluşturulması, aylık 7 $ 'dan);
- Küçük organizasyonlar için (erişim ayarlarını yönetme yeteneği, aylık 25 $ 'dan);
- Büyük şirketler için (kendi sunucunuza veya bulutunuza, yılda 2520 $ 'dan yükleyebilirsiniz).
Github genellikle geliştiriciler için sosyal ağ denir. Tüm ilgili unsurlara sahiptir: düşüş, yorum, favoriler. Hizmetdeki etkinlik, özgeçmiş olarak da gerçekleştirebilir.

İkinci sırada Bitbucket, katılımcıların% 48'i ona oy verdi. Sınırsız sayıda özel depo oluşturmanıza izin verir, ancak 5 kullanıcı sınırına sahiptir. Takımlar için daha büyük boyut Ücretli bir sürüm var - 10 dolar. Bitbuckket, Atlassian ürünlerinden biri olduğundan, bu şirketin diğer çözümleriyle entegre edilebilir: Jira, Hipchat, Bamboo.

Gitlab (% 14) fonksiyonel GitHub'a benzer, ancak kendi sunucunuz için ücretsiz olarak yükleyebilir ve ihtiyaçlarınızı ayarlayabilirsiniz. Aynı zamanda, SAAS olarak da var - kayıttan sonra ücretsiz olarak özel depolar oluşturabilirsiniz. İşbirliği. Ödenecek Özellikler - Büyük şirketler için versiyonda (yıllık kullanıcı başına 48 $ 'dan).

Son olarak, dördüncü sırada Beanstalk - toplam katılımcı sayısının% 1'i. Rakiplerin aksine, o sunuyor Ücretsiz sürüm Sadece 2 hafta boyunca ve ücretli tarifelerin seçimi, kullanıcı sayısına, depo ve özel depolama hacmine bağlıdır. Ücretli şirketler için tarifeler (50-200 $) ayrıca bir sayı dahildir ek özellikler, aynı anda birden fazla sunucuda öncelikli destek veya dağıtım gibi.