Veri Enkapsülasyonu Nedir? #Enigma Kulübü // atmaca7887

ZuL-RaA

Kadim Üye
9 Ara 2017
5,551
837
Semerkant

Arkadaşlar herkese merhaba bugün sizlere veri enkapsülasyonunu (data encapsulation) anlatacağım. Başta belirteyim konuya bir teşekkür etmeden geçmeyeniz çünkü google'a
veri enkapsülasyonu yazınca sadece 1 Türkçe sonuç buluyor.Bende İngilizce olarak araştırdım.Ve çevirdim çeviri kullanmama rağmen hataları düzeltmek uzun sürdü.O
yüzden teşekkür edin ellerine sağlık yazmank yerine.
;)
AvO8ZL.png

Veri gizleme olarak da bilinen veri kapsüllemesi, bir sınıfın uygulama ayrıntılarının kullanıcıdan gizlendiği mekanizmadır. Kullanıcı, genellikle gizli yöntemler
üzerinde, genellikle yöntemler adı verilen özel işlevleri çalıştırarak kısıtlı bir işlemler dizisi uygulayabilir . Veri kapsüllemesi şu şekilde olabilir:
Nesneye yönelik programlama dillerindeki sınıflardaki özel verilerin sarılması: Kapsülleme (nesne yönelimli programlama) , bilgi gizleme , endişelerin ayrılması
Ağ protokol tasarımında OSI modeli şeklinde sınıflandırabiliriz.

AvO8ZL.png

Bilgi Gizleme:
Gelen bilgisayar bilimi , bilgi gizleme ayrılığı ilkesidir tasarım kararları bir de bilgisayar programının tasarım kararı değiştirilirse böylece kapsamlı değişiklikler
den programın diğer bölümlerini koruyan, değişime en olasıdır. Koruma, programın kalanını uygulamadan koruyacak (değişmesi muhtemel olan detaylar) stabil bir arayüz
sağlamayı içerir .Başka bir şekilde yazıldığında, bilgi gizleme, bir sınıf veya yazılım bileşeninin belirli yönlerini, programlama dil özellikleri
(özel değişkenler gibi) veya açık bir dışa aktarma politikası kullanarak , istemciden erişilebilir olmasını engelleme yeteneğidir .

klliNx.png

Endişelerin ayrılması:
İlk olarak bilgisayar biliminin , endişeleri ayrılması ( SoC ) bir ayırma için bir tasarım ilkesi , bilgisayar programı , her bölüm ayrı ele bu şekilde,
ayrı bölüme endişe . Bir endişe, bir bilgisayar programının kodunu etkileyen bir bilgi grubudur. Bir endişe, kodun en iyi duruma getirildiği donanımın
ayrıntıları veya genel olarak bir sınıfın somutlaştırması kadar genel olabilir. SoC kuyularını içeren bir programa modüler program denir .
Modülerlik ve dolayısıyla endişelerin ayrılması, iyi tanımlanmış bir ara yüze sahip olan bir kod bölümünün içerisine bilgiyi kapsülleyerek elde edilir .
Kapsülleme bir araçtır bilgi gizleme . Bilgi sistemlerinde katmanlı tasarımlar, kaygıların ayrılmasının başka bir örneğidir (örneğin, sunum katmanı,
iş mantığı katmanı, veri erişim katmanı, kalıcılık katmanı). Endişelerin ayrılmasının değeri, bilgisayar programlarının geliştirilmesi
ve sürdürülmesini basitleştirmektir. Endişeler iyi bir şekilde ayrıldığında, bağımsız bölümler bağımsız olarak geliştirilmiş ve güncellenmiş olduğu
kadar yeniden kullanılabilir. Özel değerin, diğer bölümlerin ayrıntılarını bilmeden ve bu bölümlerde ilgili değişiklikleri yapmak zorunda kalmadan kodun
bir bölümünü daha sonra iyileştirme veya değiştirme yeteneği vardır.

Uygulama:
Uygulama bir programlama dili tarafından sağlanan modüler veya nesne yönelimli programlama mekanizmaları, geliştiricilerin SoC sağlamasına izin veren mekanizmalardır.
Örneğin, nesne-yönelimli programlama gibi dil C # , C ++ , Delphi ve Java içine endişeleri ayırmak için nesneler ve mimari tasarım modelleri gibi MVC veya
MVP olabilir sunum içeriği ayrı içerik ve veri işleme (modeli) . Hizmet odaklı tasarım , endişeleri hizmetlere ayırabilir .C ve Pascal gibi prosedür
programlama dilleri endişeleri prosedürlere veya fonksiyonlara ayırabilir . Aspect yönelimli programlama dilleri kaygıları farklı yönlere ve nesnelere ayırabilir .
Endişelerin ayrılması, kentsel planlama , mimari ve bilgi tasarımı gibi birçok alanda da önemli bir tasarım ilkesidir .Amaç, karmaşık birbirine bağlı sistemleri
daha etkili bir şekilde anlamak, tasarlamak ve yönetmek, böylece işlevlerin yeniden kullanılabilmesi, diğer işlevlerden bağımsız olarak optimize edilmesi ve
diğer işlevlerin potansiyel başarısızlığından yalıtılmasıdır.Ortak örnekler, bir odayı odalara ayırmaktır, böylece bir odadaki aktivite, diğer odalardaki
insanları etkilemez ve sobayı bir devrede ve diğer ışıkları yakarken tutmaz, böylece soba tarafından aşırı yüklenme ışıkları söndürmez. Odalara sahip örnek,
kapının bulunduğu arayüzden başka bir odadaki bilgilerin ne kadar dağınık olduğu gibi diğer odalara ulaşamayacağını gösteren kapsüllenmeyi göstermektedir.
Devreleri olan örnek, elektriğin tüketicileri ile bir devre olan bir modül içindeki aktivitenin, farklı bir modülde aktiviteyi etkilemediğini gösterir,
böylece her modül diğerlerinde olanlarla ilgilenmez.

Menşei:
Endişelerin ayrılığı terimi , 1974 tarihli "Bilimsel Düşüncenin Rolü Üzerine" adlı makalesinde muhtemelen Edsger W. Dijkstra tarafından yapıldı .
Sana açıklamaya çalışmama izin ver, tüm zekice düşüncem için tadımın özelliği. Bu, kişinin kendi kıvamı uğruna derinlemesine bir konuyu derinlemesine incelemek
istemesidir, her zaman birinin yalnızca bir yönüyle kendisini işgal ettiğini bilerek. Bir programın doğru olması gerektiğini biliyoruz ve bunu yalnızca bu bakış
açısıyla inceleyebiliriz; Ayrıca verimli olması gerektiğini biliyoruz ve verimliliğini başka bir günde, yani konuşmak için inceleyebiliriz. Başka bir ruh halinde
kendimize şunu sorabiliriz, ve eğer öyleyse: neden, program arzu edilir. Ancak, bu çeşitli yönleri eşzamanlı olarak ele alarak, tam tersine hiçbir şey kazanılmaz.
Bazen "endişelerin ayrılığı" dediğim şey budur.ki, mümkün olmasa bile, kişinin düşüncelerinin etkili bir şekilde düzenlenmesi için tek mevcut teknik olduğunu
biliyorum. Bu, "kişinin dikkatini bir yönüne odaklamak" ile kastettiğim şeydir: diğer yönlerini görmezden gelmek anlamına gelmez, sadece bu yönüyle bakış
açısının diğerinin alakasız olduğu gerçeğine karşı adaletlidir. Aynı anda tek ve çok yollu düşünülüyor.Onbeş yıl sonra, endişelerin ayrılması kavramının kabul
edilen bir kavram olduğu açıktı . 1989'da Chris Reade , endişelerin ayrılmasını tanımlayan “Fonksiyonel Programlama Unsurları” başlıklı bir kitap yazdı:
Programcı aynı anda birçok şeyi yapmak zorunda.
-Neyin hesaplanacağını açıklar;
-hesaplama sıralamasını küçük adımlarla organize edin;
-hesaplama sırasında bellek yönetimini organize eder.
Reade söylemeye devam ediyor.İdeal olarak, programcı, diğer iki, daha fazla yönetimsel görev tarafından dikkati dağılmadan, üç görevden
(hesaplanmasının ne olduğunu açıklayan) ilkine odaklanabilmelidir. Açıkçası, yönetim önemlidir, ancak ana görevden ayırarak daha güvenilir sonuçlar elde
etmemiz muhtemeldir ve yönetimin çoğunu otomatikleştirerek programlama problemini hafifletebiliriz.
Kaygılar ayrılması olarak başka avantajlara da sahiptir. Örneğin, sıralama ve bellek yönetiminin ayrıntıları programdan alınmadığında programın ispatlanması
çok daha kolay hale gelir. Ayrıca, neyin hesaplanacağı ile ilgili açıklamalar, farklı makine mimarileri ile değerlendirileceklerse, nasıl yapılacağına dair
ayrıntılı bir adım adım açıklamalardan arındırılmış olmalıdır. Bir mağazada tutulan bir veri nesnesindeki küçük değişikliklerin dizileri, makinenin tamamına
dağılmış binlerce işlemci ve global depolama tesislerinden ziyade, oldukça paralel bir makine kullanıldığında, bir şeyin nasıl hesaplanacağı konusunda uygun
olmayan bir açıklama olabilir.İdari yönlerin otomatikleştirilmesi, dil uygulayıcısının onlarla uğraşmak zorunda olduğu anlamına gelir, ancak farklı makine
mimarileri ile çok farklı hesaplama mekanizmalarından faydalanmak için çok daha fazla fırsata sahiptir.

ipov.fig88.epsi.gif

Örnekler:
İnternet protokol yığını:
İnternetin tasarımı için endişelerin ayrılması çok önemlidir. Gelen Internet Protokolü Suite , büyük çabalar iyi tanımlanmış içine endişeleri
ayırmak için yapılmış tabakaların . Bu, protokol tasarımcılarının endişeleri tek bir katmana odaklamasını ve diğer katmanları görmezden gelmesini sağlar.
Örneğin, Uygulama Katmanı protokolü SMTP'si, güvenilir bir taşıma hizmeti (genellikle TCP) üzerinden bir e-posta oturumu gerçekleştirmenin tüm ayrıntılarıyla
ilgili olmakla birlikte, ulaştırma hizmetinin bu hizmeti nasıl güvenilir hale getirdiğiyle ilgili olarak en az endişeli değildir. Benzer şekilde, TCP, İnternet
Katmanında ele alınan veri paketlerinin yönlendirilmesiyle ilgili değildir .

HTML, CSS, JavaScript:
HyperText Markup Language (HTML), Basamaklı Stil Sayfaları (CSS) ve JavaScript (JS), web sayfalarının ve web sitelerinin geliştirilmesinde kullanılan
tamamlayıcı dillerdir. HTML ağırlıklı olarak web sayfası içeriğinin organizasyonu için kullanılır, içerik sunum stilinin tanımlanması için CSS kullanılır ve
JS içeriğin kullanıcı ile nasıl etkileşim kurduğunu ve nasıl davrandığını tanımlar. Tarihsel olarak durum böyle değildi: CSS'nin tanıtımından önce, HTML hem
anlambilim hem de stil tanımlama görevlerini yerine getirdi.


Konu odaklı programlama:

Konu yönelimli programlama , ayrı endişelerin, her biri diğeriyle eşit bir temelde, ayrı yazılım yapıları olarak ele alınmasını sağlar. Her bir kaygı, kendi
içinde ortak nesnelerin organize edildiği kendi sınıf yapısını sağlar ve birbirlerine karşı kesildikleri bileşik sonuca devlet ve metotlar sağlar. Yazışma kuralları,
çeşitli kaygılardaki sınıfların ve yöntemlerin birbirleriyle nasıl ilişkilendikleri noktasında birbirleriyle ilişkili olduğunu ve bir yöntem için birleşik
davranışların çeşitli kaygılardan nasıl türetildiğini açıklar. Endişelerin Çok Boyutlu Ayrımı analizlerin ve kaygıların kompozisyonunun, her bir kaydın, farklı
yazılım seçim noktaları tarafından işgal edilen matris hücreleri ile, farklı seçim noktalarının sayıldığı bir boyut sağladığı çok boyutlu bir "matris" olarak
manipüle edilmesine izin verir.

Yön odaklı programlama:
Aspect yönelimli programlama , temel sorun olarak ele alınması gereken çapraz-endişe kaygılarına izin verir . Örneğin, çoğu program bir çeşit güvenlik ve
kayıt gerektirir. Güvenlik ve kayıtlar genellikle ikincil kaygılardır, oysa birincil mesele genellikle iş hedeflerini gerçekleştirmektir. Bununla birlikte,
bir program tasarlarken, güvenliği, ikincil bir endişe olarak ele alınmak yerine, başlangıçtan itibaren tasarıma dahil edilmelidir. Güvenliği daha sonra
uygulamak genellikle gelecekteki saldırılar için çok fazla boşluk bırakan yetersiz güvenlik modeliyle sonuçlanır. Bu, yön odaklı programlama ile çözülebilir.
Örneğin, belirli bir API'ye yapılan çağrıların her zaman günlüğe kaydedileceğini veya programın prosedürel kodunun istisnayı ele alıp almadığını veya yaymasını
sağlayıp sağlamadığına bakılmaksızın bir istisna atıldığında hataların her zaman kaydedilmesi için bir özellik yazılabilir.


Yazılım oluşturma otomasyonu:
Çoğu proje organizasyon görevi, ikincil görevler olarak görülür. Örneğin, inşa otomasyonu , kaynak kodun ikili kod haline getirilmesi sürecinin
otomatikleştirilmesine yönelik bir yaklaşımdır. Yapı otomasyonunda öncelikli hedefler insan hatası riskini ve zaman tasarrufu sağlar.

Yapay zeka analiz seviyeleri:
Gelen bilişsel bilim ve yapay zeka , David Marr 'başvurmak için yaygındır analiz seviyeleri . Herhangi bir zamanda, bir araştırmacı istihbaratın bir yönünün
ne anlama geldiği, hangi algoritmayı kullandığı veya bu algoritmanın donanımda nasıl uygulandığı üzerinde odaklanabilir. Bu kaygıların ayrılığı, yazılım
ve donanım mühendisliğindeki arayüz / uygulama ayrımına benzer .


Normalleştirilmiş Sistemler:
In Normalize Sistemleri kaygıları ayrılığı dört yol gösterici ilkelerinden biridir. Bu ilkeye bağlı kalmak, zamanla, korunmakta olan yazılımlara sokulan
kombinatoryal etkilerin azaltılmasına yardımcı olan araçlardan biridir. Normalleştirilmiş Sistemlerde endişelerin ayrılması, araçlar tarafından aktif olarak
desteklenmektedir.


Kısmi sınıflar üzerinden SoC :

Endişelerin ayrılması kısmi sınıflar yoluyla uygulanabilir ve uygulanabilir .
AvO8ZL.png


Kapsülleme (bilgisayar programlama) :
Olarak nesne yönelimli programlama dilleri, kapsülleme , iki ilgili fakat farklı kavramlar arasında ifade etmek için kullanılır, ve bazen kombinasyonuna
tatbik edilmesini içermektedir:
Nesnenin bazı bileşenlerine doğrudan erişimi kısıtlamak için bir dil mekanizması .
Verilerin, bu veriler üzerinde çalışan yöntemlerle (veya diğer işlevlerle) birleştirilmesini kolaylaştıran bir dil yapısı .
Bazı programlama dili araştırmacıları ve akademisyenleri ilk anlamı tek başlarına veya nesne yönelimli programlamanın ayırt edici bir özelliği olarak ikincisiyle
birlikte kullanırken, sözcüksel kapanışlar sağlayan bazı programlama dilleri, nesnenin oryantasyonu için ortogonal bir özellik olarak kapsüllenmeyi görüntülemektedir.
İkinci tanım, OOP dillerinin çoğunda bileşenlerin gizlenmesinin otomatik olmaması veya geçersiz kılınması gerçeğiyle motive olur; Böylece bilgi saklaması ,
ikinci tanımı tercih edenler tarafından ayrı bir kavram olarak tanımlanır.
Diğer alternatifler de mevcut olmasına rağmen, kapsülleme özelliklerinin çoğu nesne yönelimli programlama dillerinde sınıflar kullanılarak desteklenir.


Genel tanımı:
Kapsülleme , OOP'un ( nesne yönelimli programlama ) temellerinden biridir . Veriyi bu veri üzerinde çalışan yöntemlerle ifade eder. Kapsülleme, bir sınıf
içindeki yapılandırılmış bir veri nesnesinin değerlerini veya durumunu gizlemek için kullanılır ; böylece yetkisiz tarafların bunlara doğrudan erişimi engellenir.
Genel olarak erişilebilen yöntemler genellikle değerlere erişmek için sınıfta ( alıcılar ve ayarlayıcılar olarak da bilinir ) sağlanmıştır ve diğer istemci sınıfları,
nesne içindeki değerleri almak ve değiştirmek için bu yöntemleri çağırır.
Bu mekanizma, nesne yönelimli programlamaya özgü değildir. Uygulamaları soyut veri tipleri , örneğin modüller , kapsülleme benzer bir form sunuyoruz. Bu benzerlik,
her iki kavramın varoluşsal bir türün matematiksel temeline dayandığı gerçeğinden kaynaklanmaktadır .


Bilgi gizleme mekanizması:
Kapsülleme, veri üyelerini ve üye işlevlerini gizlemek için kullanılabilir. Bu tanıma göre, kapsülleme, bir nesnenin iç temsilinin , genellikle nesnenin tanımının
dışında görünmekten saklı olduğu anlamına gelir . Genellikle, yalnızca nesnenin kendi yöntemleri, alanlarını doğrudan denetleyebilir veya kullanabilir. Gibi bazı
diller Smalltalk ve Ruby sadece nesne yöntemlerle erişime izin, ancak çoğu diğerleri (örneğin C ++ , C # , Delphi veya Java ) tipik gibi anahtar kelimeler üzerinden,
programcı gizli ne bir kontrol derecesi publicve private. [4] ISO C ++ standardı protected, privatevepublic" erişim belirteçleri " olarak ve "herhangi bir bilgiyi
gizlemez". Bilgi gizleme, bir üstbilgi dosyası aracılığıyla araya giren kaynak kodun derlenmiş bir versiyonunu tefrik ederek gerçekleştirilir.
Nesnenin içeriğinin gizlenmesi, kullanıcıların bileşenin dahili verilerini geçersiz veya tutarsız bir duruma sokmasını engelleyerek bütünlüğünü korur.
Kapsüllemenin sözde bir yararı, sistem karmaşıklığını azaltabilmesi ve böylece geliştiricinin yazılım bileşenleri arasındaki karşılıklı bağımlılıkları
sınırlamasına izin vererek sağlamlığı arttırabilmesidir .
Hemen hemen her zaman, bu korumayı geçersiz kılmanın bir yolu vardır - genellikle yansıma API'sı (Ruby, Java, C #, vb.) Aracılığıyla , bazen ad mangling ( Python )
gibi mekanizmalar veya friendC ++ gibi özel anahtar kelime kullanımı gibi .
Aşağıda bir örnek C # veri alanına erişimi kullanımı yoluyla sınırlandırılabilir gösterir privateanahtar kelime:

Kod:
sınıf  programı  { 
	public  class  Account  { 
		private  decimal  accountBalance  =  500.00 m ;

		Kamu  ondalık  CheckBalance ()  { 
			return  accountBalance ; 
		} 
	}

	statik  boşluk  Main ()  { 
		Account  myAccount  =  yeni  Hesap (); 
		ondalık  myBalance  =  myaccount . CheckBalance ();

		/ * Bu Ana yöntem 
		, "Hesap" sınıfı 
		* 
	tarafından sağlanan genel * "CheckBalance" yöntemiyle bakiyeyi kontrol edebilir, ancak "accountBalance" değerini değiştiremez * / } 
}
Java'da bir örnek aşağıdadır:
Kod:
kamu  sınıfı  Çalışan  { 
    private  BigDecimal  maaş  =  new  BigDecimal ( 50000.00 );
    
    kamu  BigDecimal  getSalary ()  { 
        iade  maaşı ; 
    }

    kamu  statik  boşluk  ana ()  { 
        Çalışan  e  =  yeni  Çalışan (); 
        BigDecimal  sal  =  e . getSalary (); 
    } 
}
Aşağıda PHP'de bir örnek verilmiştir:
Kod:
class  Account  { 
    / ** 
     * Şu anda hesapta ne kadar para var 
     * [USER=647246]var[/USER] float 
     * / 
    private  $ accountBalance ;

    / ** 
     * [USER=531255]para[/USER]m şamandıra $ currentAccountBalance bu dolar miktarına hesabını başlat 
     * / 
    kamusal  fonksiyon  __construct ( $ currentAccountBalance )  { 
        $ bu -> accountBalance  =  $ currentAccountBalance ; 
    }

    / ** 
     * Hesaba para ekleyiniz 
     * [USER=531255]para[/USER]m float $ para Dolar bakiye eklemek için dolar 
     * [USER=526374]Return[/USER] **** 
     * / 
    public  function  deposit ( $ money )  { 
        $ this -> accountBalance  + =  $ money ; 
    }

    / ** 
     * 
     Hesaptan      para kaldı * [USER=531255]para[/USER]m float $ para 
Dolardan 
tasarruf etmek için Dolar * [USER=796508]Thro[/USER]ws Exception      * [USER=526374]Return[/USER] **** 
     * / 
    public  function  withdraw ( $ money )  { 
        if  ( $ this -> accountBalance  <  $ money )  { 
            throw  yeni  İstisna ( '$ çekilemez'  .  $ para  .  'o $ içerdiğinden hesaptan'  .  $ bu -> accountBalance ); 
        } 
        $ this -> accountBalance - =  $ para ; 
    }

    / ** 
     * Cari hesap bakiyesini alın, bu da tüm ekleme ve çıkarma işlemlerini dikkate alır. 
     * [USER=526374]Return[/USER] float 
     * / 
    public  function  getAccountBalance ()  { 
        return  $ this -> accountBalance ; 
    } 
}

// Hesap sınıfından 500,00 
$  başlangıç ??bakiyesiyle yeni bir nesne yaratın $ myAccount =  yeni  Hesap ( 500.00 );

// Hesaptan para eklemek ve çıkarmak için açık bir şekilde tanımladığımız yöntemler 
// Withdraw () için bir yöntemimiz olmasaydı, hiçbir şey 
$ myAccount -> deposit ( $ myAccount -> deposit) hesabından daha fazla para çekmemizi engelleyemezdi. 10.24 ); 
$ myAccount -> çekilme ( 4.45 );

// Geçerli dengeyi alın 
$ accountBalance  =  $ myaccount > - getAccountBalance ;) ( 
echo  'Hesabım Bakiyesi: $'  .  $ accountBalance ;  // 505,79

// Bizim kodumuz, 
$ myAccount'umuzdan daha fazla para çekmemizi yasaklıyor -> para çekme ( 600.00 );  // İstisna Mesajı: $ 505.79 içerdiği için hesabından 600 $ çekilemez
Nesneye yönelik olmayan dillerde de kapsülleme mümkündür. Örneğin C'de, API'nın müşterileri tarafından erişilemeyen veri elemanlarını içeren bir veri üzerinde
çalışan bir dizi fonksiyon için bir kamu API'sı (yani başlık dosyası) bildirilebilir:

Kod:
// Üstbilgi dosyası "api.h"

yapı  öğesi ;           // Gizli üyelerle opak yapı

'Varlık' üzerinde işlem // API fonksiyonları nesneleri 
extern  yapı  Varlık  *   open_entity ( int  id ); 
extern  int               process_entity ( struct  Entity  * bilgisi ); 
extern  ****              close_entity ( struct  Entity  * bilgisi ); 
// extern anahtar kelimeleri burada gereksiz, ama onlar incitmeyecekler. 
// extern anahtar sözcüğü, harici bağlantıya sahip işlevleri tanımlar (yani, geçerli dosya dışında çağrılabilir) 
// extern anahtar kelimesi olmadan bile varsayılan davranış budur
KN King'den extern anahtar kelimesine not.
Müşteriler, opak bir veri türünün nesnelerini ayırmak, işlemek ve ayırmak için API işlevlerini çağırır . Bu türün içeriği bilinir ve yalnızca API işlevlerinin
uygulanmasıyla erişilebilirdir; Müşteriler içeriğine doğrudan erişemez. Bu işlevlerin kaynak kodu, yapının gerçek içeriğini tanımlar:

Kod:
// Uygulama dosyası "api.c"

# include  "api.h"

'Varlık'ın' nesnesi // tam tanımı 
yapı  biriminin  { 
    int      ent_id ;          // ID no 
    char     ent_name [ 20 ];    // Ad 
    ...  ve  diğer  üyeler  ... 
};

// API işlevi uygulamaları 
struct  Entity  *  open_entity ( int  id ) 
{  ...  }

int  process_entity ( struct  Entity  * bilgi ) 
{  ...  }

****  close_entity ( struct  Entity  * bilgi ) 
{  ...  }

Kapsülleme ve Kalıtım:
Tasarım Desenleri'nin yazarları [9] , miras ve kapsülleme arasındaki gerginliği uzun vadede tartışırlar ve deneyimlerinde tasarımcıların kalıtsallığı aşırı
kullandıklarını belirtirler. Tehlike şu şekilde ifade edilir:
Miras, ebeveynin uygulanmasının ayrıntılarına bir alt sınıf ortaya çıkardığı için, "mirasın kapsüllenmeyi keser" denir.
-? Dörtlü Çete, Tasarım Desenleri (Bölüm 1)

AvO8ZL.png

OSI modeli:
Açık Sistemler Bağlantısı modeli ( OSI modeli ) bir olduğu kavramsal model karakterize eder ve iletişim işlevlerini standart hale telekomünikasyon altında yatan
iç yapısı ve teknolojiye bakılmaksızın veya bilgi işlem sisteminin. Amacı, çeşitli iletişim sistemlerinin standart protokollerle birlikte çalışabilirliğidir. Model,
soyutlama katmanlarına bir iletişim sistemi ayırır . Modelin orijinal versiyonu yedi katman tanımladı.
Bir katman, üstündeki tabakayı sunar ve altındaki katman tarafından servis edilir. Örneğin, bir ağ üzerinde hatasız iletişim sağlayan bir katman, üstündeki
uygulamaların ihtiyaç duyduğu yolu sağlarken, bir sonraki alt katmana, bu yolun içeriğini içeren paketleri göndermek ve almak için çağırır. Aynı katmandaki
iki örnek, bu katmandaki yatay bir bağlantıyla bağlantılı olarak görselleştirilir .
Model, ISO / IEC 7498-1 tanımlamasıyla sürdürülen Uluslararası Standardizasyon Organizasyonunda (ISO) Open Systems Interconnection projesinin bir ürünüdür.

Tarihçe:
1970'lerin sonunda, Uluslararası Standardizasyon Örgütü (ISO) tarafından bir proje yönetilirken, bir diğeri Uluslararası Telgraf ve Telefon Danışma Komitesi (CCITT,
Fransızca: Comité Consultatif International Téléphonique et Télégraphique) tarafından gerçekleştirildi. Bu iki uluslararası standart kuruluşu, her birinin benzer
ağ modellerini tanımlayan bir belge geliştirdi.
1983'te, bu iki belge Açık Sistemler Ara Bağlantısı için Temel Referans Modeli adlı bir standart oluşturmak üzere birleştirildi. Standart genellikle Açık Sistemler
Ara Bağlantı Referans Modeli, OSI Referans Modeli veya sadece OSI modeli olarak adlandırılır. 1984 yılında ISO, ISO 7498 standardı olarak ve standart X.200 olarak
yeniden adlandırılan CCITT ( Uluslararası Telekomünikasyon Birliği veya ITU-T Telekomünikasyon Standardizasyon Sektörü ) olarak yayınlanmıştır.
OSI , temel referans modeli veya yedi katmanlı model olarak adlandırılan soyut bir ağ modeli olan iki ana bileşene ve bir dizi özel protokole sahipti .
Yedi katmanlı bir model kavramı , Honeywell Bilgi Servisleri'nde Charles Bachman'ın çalışmasıyla sağlandı . OSI tasarımının çeşitli yönleri ARPANET , NPLNET, EIN,
CYCLADES ağı ve IFIP WG6.1'deki çalışmalardan ortaya çıkmıştır. Yeni tasarım ISO 7498 ve çeşitli adlarıyla belgelendi. Bu modelde, bir ağ sistemi katmanlara
ayrılmıştır. Her katmanda, bir veya daha fazla varlık, işlevselliğini uygular. Her varlık doğrudan sadece hemen altındaki katmanla etkileşti ve üstündeki katman
tarafından kullanılmak üzere tesisler sağladı.
Protokoller, bir ana bilgisayardaki bir varlığın, başka bir ana bilgisayardaki aynı katmandaki karşılık gelen bir varlıkla etkileşime girmesini sağlar. Hizmet
tanımları, bir (N) -layer'a (N-1) bir katman tarafından sağlanan işlevselliği, N'nin yerel ana bilgisayarda çalışan yedi protokol katmanından biri olduğu tarif
edilmiştir.
OSI standartları belgeleri, ITU-T'den X.200 serisi öneriler olarak mevcuttur. Bazı protokol özellikleri, ITU-T X serisinin bir parçası olarak da mevcuttu.
OSI modeli için eşdeğer ISO ve ISO / IEC standartları ISO'dan temin edilmiştir. Hepsi ücretsiz değil.

OSI katmanlarının açıklaması:
X.200 önerisi, 1'den 7'ye kadar etiketli yedi tabakayı açıklar. Katman 1, bu modeldeki en düşük tabakadır.
RdLMww.png

Her bir seviyede N , iletişim cihazlarındaki iki katman (katman N eşdeğerleri ) bir katman N protokolü vasıtasıyla protokol veri ünitelerini (PDU'lar) değiştirir .
Her PDU, protokolle ilgili üstbilgiler veya altbilgilerle birlikte servis veri birimi (SDU) olarak adlandırılan bir yük içerir .
İki bağlantılı OSI uyumlu cihaz ile veri işleme şu şekilde yapılır:
Aktarılacak veriler, verici cihazın (katman N ) en üst katmanında bir protokol veri birimine ( PDU ) oluşur.
PDU katman geçirilen N-1 , bu şekilde bilinen hizmet veri birimi ( SDU ).
Tabaka en N-1 SDU olan birleştirilmiş bir üreten bir üstbilgi, altbilgi, ya da her ikisi ile bir katman, N-1 PDU . Daha sonra N-2 katmanına geçirilir .
İşlem, verilerin alıcı cihaza iletildiği en alçak seviyeye ulaşana kadar devam eder.
Alıcı cihazda, veriler en sonuncu tabakaya ulaşana kadar en üst katmana ulaşılana kadar, her bir katın üstbilgi veya altbilgisinden ardarda sıyrılırken ,
veriler bir dizi SDU olarak en alt tabakadan en yüksek katmana geçirilir .
Yönetim ve güvenlik gibi bazı ortogonal yönler, tüm katmanları içerir (Bkz. ITU-T X.800 Tavsiyesi [4] ). Bu hizmetler iyileştirme amaçlı olduğunu CIA üçlüsünü
- gizliliğini , bütünlüğünü ve kullanılabilirliğini - iletilen verinin. Pratikte, bir iletişim servisinin kullanılabilirliği, ağ tasarımı ve ağ yönetimi protokolleri
arasındaki etkileşim ile belirlenir . Hizmet reddine karşı korumak için bunlardan her ikisi için uygun seçimler gereklidir .

Katman 1: Fiziksel Katman:
Fiziksel katman , bir cihaz ve bir fiziksel arasındaki yapısal olmayan ham veri iletimi ve alımı için sorumlu olan bir iletim ortamı . Dijital bitleri elektrik,
radyo veya optik sinyallere dönüştürür. Katman özellikleri, voltaj seviyeleri, voltaj değişimlerinin zamanlaması, fiziksel veri oranları, maksimum iletim mesafeleri
ve fiziksel konektörler gibi özellikleri tanımlar. Bu, kablosuz cihazlar için pimlerin , voltajların , hat empedansının , kablo özelliklerinin, sinyal zamanlamasının
ve frekansın düzenini içerir . Bit hızı kontrolü fiziksel katmanda yapılır ve iletim modunu simpleks , yarım dupleks ve tam dupleks olarak tanımlayabilir. Fiziksel
bir tabakanın bileşenleri bir ağ topolojisi açısından açıklanabilir . Bluetooth , Ethernet ve USB'nin tümü fiziksel bir katman için teknik özelliklere sahiptir.

Katman 2: Veri Bağlantısı Katmanı:
Veri hattı katmanı içerir düğümden düğüme veri transferi iki doğrudan bağlı düğüm arasındaki -bir bağlantı. Fiziksel katmanda oluşabilecek hataları tespit eder ve
muhtemelen düzeltir. Fiziksel olarak bağlanmış iki cihaz arasındaki bağlantıyı kurmak ve sonlandırmak için protokolü tanımlar. Aynı zamanda aralarında akış kontrolü
için protokolü tanımlar .
IEEE 802 , veri bağlantı katmanını iki alt katmana böler:
Orta erişim kontrolü (MAC) katmanı - bir ağdaki aygıtların bir ortama nasıl erişileceğini ve veri iletme izninin kontrol edilmesinden sorumludur.
Mantıksal bağlantı denetimi (LLC) katmanı - ağ katmanı protokollerini tanımlamak ve enkapsüle etmekle sorumludur ve hata denetimi ve çerçeve senkronizasyonunu
kontrol eder.802.3 Ethernet , 802.11 Wi-Fi ve 802.15.4 ZigBee gibi IEEE 802 ağlarının MAC ve LLC katmanları veri bağlantı katmanında çalışır.
Noktadan Noktaya Protokolü (PPP) gibi birkaç farklı fiziksel katman üzerinde çalışabilen bir veri bağlantı katmanı protokolüdür senkron ve asenkron seri bağlantı.
ITU-T G.hn mevcut teller (güç hatları, telefon hatları ve eş eksenli kablo) üzerinden ağ yüksek hızlı yerel alan sağlayan standart, her iki sağlayan tam bir veri
bağlantı katmanı içeren hata düzeltme ve vasıtasıyla akış kontrolü seçici -kat sürgülü pencere protokolü .

Katman 3: Ağ Katmanı:
Ağ katmanı değişken uzunluk transfer fonksiyonel ve usul bir araç sağlar veri dizileri (denilen paketleri "farklı ağları" olarak başka bir bağlı bir düğümden).
Bir ağ, birçok düğümün bağlanabileceği bir ortam olup, her düğümün bir adresi vardır ve kendisine bağlı olan düğümlerin sadece bir mesajın içeriğini ve hedefin
adresini sağlayarak kendisine bağlı olan diğer düğümlere mesaj aktarmasına izin verir. Düğüm ve ağın iletiyi hedef düğüme iletme yolunu bulmasına, muhtemelen
yönlendirmeyeara düğümler aracılığıyla. İleti, düğümler arasındaki veri bağı katmanı üzerindeki bir düğümden diğerine iletilmek için çok büyükse, ağ, iletiyi bir
düğümdeki birkaç parçaya bölerek parçalarını bağımsız olarak göndererek ve parçaları başka bir düğüm. Teslimat hatalarını rapor edebilir, ancak buna gerek duymaz.
Ağ katmanındaki mesaj dağıtımının güvenilir olması garanti edilmez; Bir ağ katmanı protokolü güvenilir mesaj iletimi sağlayabilir, ancak bunu yapması gerekmez.
ISO 7498/4 yönetim ekinde tanımlanan bir dizi katman yönetimi protokolü ağ katmanına aittir. Bunlar, yönlendirme protokollerini, çok noktaya yayın grup yönetimini,
ağ katmanı bilgilerini ve hatasını ve ağ katmanı adres atamasını içerir. Bunları taşıyan protokol değil, ağ katmanına ait olan yükün işlevidir.

Katman 4: Aktarım Katmanı:
Taşıma katmanı hizmet fonksiyonlarının kalitesini korurken, bir hedef ana bir kaynaktan değişken uzunluklu veri dizilerinin transfer fonksiyonel ve usul bir
araç sağlar.
Aktarım katmanı, akış kontrolü, segmentasyon / desegmentasyon ve hata kontrolü yoluyla verilen bir bağlantının güvenilirliğini kontrol eder. Bazı protokoller
devlet ve bağlantı yönelimli. Bu, taşıma katmanının parçaları izleyebildiği ve teslim edilmeyenleri tekrar iletebileceği anlamına gelir. Aktarım katmanı ayrıca
başarılı veri aktarımının onaylanmasını sağlar ve hata oluşmazsa bir sonraki veriyi gönderir. Aktarım katmanı, uygulama katmanından alınan mesajdan bölümler oluşturur.
Segmentasyon, uzun bir mesajı küçük mesajlara bölme işlemidir.
OSI, sınıf 0'dan (aynı zamanda TP0 olarak da bilinen ve en az özellik sağlayan), sınıf 4'e (İnternet'e benzeyen daha az güvenilir ağlar için tasarlanan TP4)
beş sınıf bağlantı modu aktarım protokolünü tanımlar. Sınıf 0 hata kurtarma içermiyor ve hatasız bağlantılar sağlayan ağ katmanlarında kullanılmak üzere tasarlandı.
TCP, TCP'ye en yakın olanıdır; ancak TCP, OSI'nın oturum katmanına atadığı zarif kapanma gibi işlevler içerir. Ayrıca, tüm OSI TP bağlantı modu protokolü sınıfları
hızlandırılmış veri ve kayıt sınırlarının korunmasını sağlar. TP0-4 sınıflarının ayrıntılı özellikleri aşağıdaki tabloda gösterilmiştir:

ve13wk.png

Aktarım katmanını görselleştirmenin kolay bir yolu, posta ve parsellerin gönderilmesini ve sınıflandırılmasını ele alan bir postane ile karşılaştırmaktır.
Bir postane, teslimini belirlemek için yalnızca postaların dış zarfını inceler. Daha yüksek katmanlar, yalnızca adres sahibi tarafından okunabilen şifreleme sunum
hizmetleri gibi çift zarf eşdeğerine sahip olabilir. Kabaca tünel protokolü , örneğin non-IP protokollerini taşıma gibi, taşıma katmanında yapmaktadır IBM 'in SNA
ya da Novell sitesindeki IPX ile bir IP ağı üzerinden, ya da uçtan uca şifreleme IPsec . Iken Genel Yönlendirme Kapsüllemesi(GRE) bir ağ katmanı protokolü gibi
görünebilir, eğer yükün kapsüllemesi sadece son noktada gerçekleşirse, GRE IP başlıklarını kullanan bir taşıma protokolüne daha yakın hale gelir fakat tam Katman
2 kareleri veya Katman 3 paketlerini içerir. son nokta. L2TP , PPP çerçevelerini taşıma bölümleri içinde taşır .
OSI Referans Modeli kapsamında geliştirilmemiş ve taşımacılık katmanının OSI tanımına tam olarak uyulmamış olmasına rağmen , İnternet Protokolü Paketi'nin İletim
Denetimi Protokolü (TCP) ve Kullanıcı Datagram Protokolü (UDP) genellikle katman-4 protokolleri olarak kategorilere ayrılmıştır. OSI.

Katman 5: Oturum Katmanı:
Oturum katmanı bilgisayarlar arasında diyalogları (bağlantıları) kontrol eder. Yerel ve uzak uygulama arasındaki bağlantıları kurar, yönetir ve sonlandırır.
Bu sağlayan tam dubleks , yarı dubleks veya simpleks operasyon ve checkpointing, erteleme, fesih ve yeniden başlatma usulleri düzenler. OSI modeli, bu Protokolü ,
İletim Kontrol Protokolünün bir özelliği olan oturumları ve İnternet Protokol Paketi'nde genellikle kullanılmayan oturum kontrol noktası ve kurtarma için zarif bir
şekilde kapatmayı sağlamaktan sorumludur . Oturum katmanı, genellikle uzaktan yordam çağrılarını kullanan uygulama ortamlarında açıkça uygulanır
.

Katman 6: Sunu Katmanı:
Sunum katmanı sunum hizmeti aralarında bir eşleme sağlarsa uygulama katmanı kişiler farklı sözdizimi ve anlambilim kullanabilir hangi uygulama katmanı kuruluş
arasında bağlam kurar. Bir eşleme mevcutsa, sunum protokolü veri birimleri oturum protokolü veri birimlerine kapsüllenir ve protokol yığınının altına aktarılır .
Bu katman, uygulama ve ağ formatları arasında çeviri yaparak veri sunumundan bağımsızlık sağlar. Sunu katmanı, verileri, uygulamanın kabul ettiği forma dönüştürür.
Bu katman, bir ağ üzerinden gönderilecek verileri biçimlendirir. Bazen sözdizimi katmanı olarak adlandırılır. [8] Sunum katmanı sıkıştırma işlevleri içerebilir.
Sunu Katmanı, Aktarım Sözdizimi'ni kabul eder.
Orijinal sunum yapısı kullanılan temel kodlama kuralları içinde Soyut sözdizimi gösterimi biri böyle bir dönüştürme olarak yetenekleriyle, (ASN.1) EBCDIC -coded
metin dosyasını bir için ASCII -coded dosyası veya serileştirme ait nesneler ve diğer veri yapıları gelen ve XML . ASN.1, sözdizimine göre bir uygulama protokolünü
etkili bir şekilde değiştirir.

Katman 7: Uygulama Katmanı:
uygulama katmanıson kullanıcı için en yakın OSI katmanıdır, yani hem OSI uygulama katmanı hem de kullanıcı doğrudan yazılım uygulaması ile etkileşime girer.
Bu katman, bir iletişim bileşeni oluşturan yazılım uygulamaları ile etkileşime girer. Bu tür uygulama programları OSI modelinin kapsamı dışında kalmaktadır.
Uygulama katmanı işlevleri genellikle iletişim ortaklarını tanımlamayı, kaynak kullanılabilirliğini belirlemeyi ve iletişimi senkronize etmeyi içerir. İletişim
ortaklarını belirlerken, uygulama katmanı iletilecek veriye sahip bir uygulama için iletişim ortaklarının kimliğini ve kullanılabilirliğini belirler. Uygulama
katmanındaki en önemli ayrım uygulama varlığı ile uygulama arasındaki ayrımdır. Örneğin, bir rezervasyon web sitesinin iki uygulama öğesi olabilir: Kullanıcıları
ile iletişim kurmak için bir HTTP ve bir tane rezervasyon kaydetmek için bir uzak veritabanı protokolü. Bu protokollerden hiçbirinin rezervasyonları ile ilgisi yoktur.
Bu mantık uygulamanın kendisinde. Uygulama katmanının kendi başına, ağdaki kaynakların kullanılabilirliğini belirlemek için bir yolu yoktur.
Çapraz katmanlı fonksiyonlar:
Çapraz katman işlevleri, belirli bir katmana bağlı olmayan, ancak birden fazla katmanı etkileyebilen hizmetlerdir. Örnekler şunları içerir:
ITU-T X.800 önerisi ile tanımlanan güvenlik hizmeti (telekomünikasyon) .
Yönetim işlevleri, yani iki veya daha fazla varlığın iletişimini yapılandırma, başlatma, izleme ve sonlandırma işlevlerine izin veren işlevler: belirli bir uygulama
katmanı protokolü, ortak yönetim bilgi protokolü (CMIP) ve ilgili hizmeti, ortak yönetim bilgi servisi (CMIS) ), kendi örnekleri ile başa çıkmak için her katmanla
etkileşimde bulunmaları gerekir.
Çok Protokollü Etiket Değiştirme (MPLS) MPLS, ATM ve X.25, 3a protokolleridir. OSI, Ağ Katmanını 3 role böler: 3a) Alt Ağ Erişimi, 3b) Alt Ağ Bağımlı Yakınsama ve
3c) Alt Ağ Bağlantısı Bağımsız Yakınsama. Bir datagram temelli hizmet modeli sağlayan devre tabanlı istemciler ve paket anahtarlama istemcileri için birleşik bir
veri taşıma hizmeti sağlamak için tasarlanmıştır . IP paketleri, yerel ATM, SONET ve Ethernet çerçeveleri dahil olmak üzere birçok farklı türde trafiği taşımak için
kullanılabilir. Bazen biri bir Katman 2.5'e başvurur.
ARP , bir IPv4 adresinin temel MAC adresine eşlenmesini belirler. Bu bir çeviri işlevi değil. IPv4 ise ve MAC adresi aynı katmandaydı. MAC protokolünün uygulanması
MAC PDU'yu çözer ve Kullanıcı Verilerini IP katmanına iletir. Ethernet çok-erişimli bir ortam olduğundan, Ethernet çerçevesine bir PDU gönderen bir cihazın hangi
IP adresinin hangi MAC adresiyle eşleştiğini bilmesi gerekir.
DHCP , bir ağa katılan yeni sistemlere IPv4 adresleri atar. Ethernet adresinden bir IPv4 adresi elde etmenin veya elde etmenin hiçbir yolu yoktur.
Alan Adı Servisi , belirli bir alan adının IP adresini aramak için kullanılan bir Uygulama Katmanı hizmetidir. DNS sunucusundan bir cevap alındıktan sonra, bir Katman
4 bağlantısı oluşturmak veya istenen ana bilgisayara akış yapmak mümkündür. Layer 3'te bağlantı yok.
Kablosuz ağların zamana bağlı doğası nedeniyle, çapraz ağ ve PHY Zamanlaması kablosuz ağlarda önemlidir. Paket aktarımının sadece uygun kanal koşullarında, MAC
katmanının PHY katmanından kanal durumu bilgisi almasını gerektirecek şekilde programlanmasıyla, ağ verimi önemli ölçüde iyileştirilebilir ve enerji atığı önlenebilir.
Arayüzler:
Ne OSI Referans Modeli ne de OSI protokolleri, kasıtlı olarak soyut servis özellikleri dışındaki herhangi bir programlama arayüzünü belirtmemektedir. Protokol
belirtimleri, farklı bilgisayarlar arasındaki arabirimleri kesin olarak tanımlar, ancak ağ soketleri olarak bilinen bilgisayar içindeki yazılım arabirimleri
uygulamaya özgüdür.
Örneğin, Microsoft Windows® ' Winsock ve UNIX sitesindeki Berkeley yuva ve Sistem V Taşıma Katmanı Arayüz uygulamaların (yukarıda tabaka 5 ve üzeri) ve taşıma
(katman 4) arasındaki arayüzler. NDIS ve ODI , ortam (katman 2) ve ağ protokolü (katman 3) arasında arayüzlerdir.
Medyaya fiziksel katman haricinde arabirim standartları, OSI hizmet özelliklerinin yaklaşık uygulamalarıdır.

Örnekler:
fTYbY0.png

TCP / IP modeliyle karşılaştırma
İnternetin TCP / IP modelindeki protokollerin tasarımı, katı hiyerarşik kapsülleme ve katmanlama ile kendisini ilgilendirmez. RFC 3439 ,
" Zararlı kabul edilen katman " başlıklı bir bölüm içerir . TCP / IP, içerdiği protokollerin çalışma kapsamından türetilen dört geniş işlev katmanını tanır:
yazılım uygulamasının kapsamı; uç uca ulaşım bağlantısı; internetworking aralığı; ve yerel ağdaki diğer düğümlere doğrudan bağlantıların kapsamı.
Katman için farklı bir konsept kullanmaya rağmen, OSI modelinden bu katmanlar genellikle OSI katmanlama şeması ile şu şekilde karşılaştırılır:
İnternet uygulama katmanı OSI uygulama katmanı, sunum katmanı ve oturum katmanının çoğunu içerir.
Uçtan uca taşıma katmanı , OSI oturum katmanının yanı sıra OSI nakil tabakasının zarif kapanma fonksiyonunu içerir.
İnternet çalışma katmanı ( İnternet katmanı ), OSI ağ katmanının bir alt kümesidir.
Bağlantı katmanı OSI veri bağlantı katmanı ve bazen de fiziksel katmanlar, hem de OSI'nin ağ tabakasının bazı protokolleri içerir.
Bu karşılaştırmalar, ağ katmanı belgesinin dahili organizasyonu gibi şeylerde yapılan düzeltmelerden ziyade, ISO 7498'de tanımlanan yedi katmanlı protokol modeline
dayanmaktadır.
Genelde tarif edildiği gibi OSI modelinin muhtemelen katı katmanlaşması, protokol kullanımının katmanlı bir modelde ima edilen hiyerarşiyi takip etmemesi nedeniyle
TCP / IP'de çelişkileri ortaya çıkarmaz. Bu tür örnekler, bazı yönlendirme protokollerinde (örneğin, OSPF ) veya tünel sunucu protokolünün bir aktarım veya hatta
uygulama katmanı protokolü olabileceği halde, bir uygulama için bir bağlantı katmanı sağlayan tünel protokollerinin açıklamasında mevcuttur. sağ.


Arkadaşlar koca bir konunun sonu bu kısım.Başta belirttiğim gibi teşekkür edelim.;) Bu konuyu " Enigma " kulübü için hazırladım.Uğraştım emek verdim teşekkür olmasa bile yorum yapsanızda yeter bana...



Saygılarımla; Enigma Kulübü Üyesi
atmaca7887
QJQ4Cz.png

giphy.gif

QJQ4Cz.png

WJURz7.png



VDGaDr_1.png


 

'TÜRKÇÜ

Kıdemli Üye
3 Haz 2017
2,059
2
Ellerine sağlık, Türkçe çeviride ufak hata yapılmış onun haricinde emeğine sağlık.. :) ;)
 

ZuL-RaA

Kadim Üye
9 Ara 2017
5,551
837
Semerkant

Elinize sağlık

Eline sağlik Enigma külübu calisiyo starktom <3

Eline sağlık dostum


Ellerine sağlık, Türkçe çeviride ufak hata yapılmış onun haricinde emeğine sağlık.. :) ;)

Hepinize teşekkürler onların görebildiğimi düzelttim.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.