PostgreSQL Ülkeler ve Türkiye İl, İlçe, Bölge, Posta Kodu ve Mahalle Veritabanı – 2017 Güncel

Merhabalar arkadaşlar,

Daha önceleri MSSQL ve MySQL için hazırlamış olduğum veritabanını PostgreSQL için de oluşturmuş bulunmaktayım.

Ülkeler ve Türkiye için veritabanlarını PTT’nin yayınladığı 2017 yılının Şubat ayına ait yeni listeye göre düzenledim. Bu düzenlemeyi PostgreSQL üzerinde yaptım ve buna göre bir script dosyası oluşturdum.

Bu script dosyasına buradan ulaşabilirsiniz.

Eğer başka sürümler içinde isterseniz benimle iletişime geçebilir ya da yoruma yazabilirsiniz.

Kolay gelsin hepinize şimdiden.

Reklamlar

Git Local’de Eski Commit’e Geri Dönme

Merhabalar Arkadaşlar,

Geçen günlerde git deposuna bir arkadaş tarafından eksik ve onaylanmış bir commit yüklenmişti. Bende dikkatsizlik sonucu hatalı geliştirmeyi fetch ve pull ettikten sonra projeyi çalıştıramaz olmuştum. Daha sonra depodaki kodları etkilemeden local’de nasıl çalışabileceğim üzerinde kısa bir araştırma yapmıştım.

Local üzerinde eski commit’e dönebilmek için git-reset komutu yeterli olmaktadır.

git reset --hard <commitID>

Bu komut ile uzak depodaki verilen commit numarasına kadar olan kodlar getirilir. Local üzerinde yaptığınız değişikliğiniz bulunuyorsa da bunları da otomatik olarak silmektedir.

Bir farklı yolu ise git checkout komutu ile yapılmaktadır.

git checkout <commitID>
git checkout <commitID> -- <filename>

Burada da ilk satırda tüm dosyalar verilen commit numarasına göre geri çekilir.
İkinci satırdaki komut ile ise tek bir dosya eski versiyona geri döndürülür.

Ethernet 2 Frame Yapısı

Ethernet 2 ya da Ethernet Versiyon 2 birkaç Ethernet çerçevesinden biridir. Ethernet 2 çerçevesi, DIX frame olarak da bilinir  (DEC, Intel ve Xerox ‘un baş harflerinden türetilmiştir); çoğunlukla doğrudan İnternet Protokolü tarafından kullanıldığı için bugün en yaygın olan çerçeve tipidir.

Ethernet 2 çerçevesi toplam 64 ile 1518 arası byte’dan oluşmaktadır. Bu aralığın değişmesinin sebebi çerçeve (frame) içinde yollanan veri (data) miktarıdır.

ethernet_type_ii_frame_format

Ethernet 2, yukarı da resimde görüldüğü üzere; MAC Header, Data ve CRC Checksum alanlarından oluşmaktadır.

  • MAC Header
    MAC başlığı (header) içinde iletilecek olan verinin hangi adresten hangi adrese ve kullanılan protokol tipi bulunmaktadır. Toplam 14 byte’dan oluşmaktadır.

    • Hedef (Destination) MAC Adres
      Verinin aktarılacağı hedef (destination) MAC adresidir. Toplam 8 byte’dan oluşmaktadır.
    • Kaynak (Source) Mac Adres
      Verinin çıktığı kaynak (source) MAC adresidir. Toplam 8 byte’dan oluşmaktadır.
    • EtherType
      İletişimin kurulduğu Protokol yapısıdır. Toplam 2 byte’dan oluşmaktadır. İçinde birçok protokol  yapısı bulunmaktadır. Örnek liste bu adreste bulunmaktadır. Yeni IEEE 802.3 Ethernet şartnamesi’nde bunun yerini 16-bit uzunluğundaki ve MAC başlık kısmı’ndan sonra gelen Mantıksal Bağlantı Kontrolu (LLC) alanı almıştır. Bu yeni yapı ile yazılımın aynı fiziksel ortamda birlikte bulunabilecek Ethernet paketleri içinden herhangi bir çerçevenin Ethernet 2 formatında mı yoksa IEEE 802.3 formatında mı olduğunu anlayabilmesine olanak sağlamıştır. Ayrıca Bakınız: Jumbo Frames
  • Data
    Bu alanda iki nokta arasında taşınacak veri (data) bulunur. En az 46 byte, en çok ise 1500 byte’dan oluşur. En az 46 byte olmasının nedeni bir veri bulunma zorunluluğu ve eklemelerden dolayı oluşmaktadır.
  • CRC Checksum
    Hata ayıklama verilerinin bulunduğu alandır. Buradaki veriler ile gelen çerçeve içindeki veriler kontrol edilerek verinin yol üzerinde bozulup bozulmadığı kontrol edilir.

GUID Kısaltma veya Sıkıştırma

GUID, burada bahsettiğimiz gibi onaltılık (hexadecimal) olan 32 tane karakterden oluşmaktadır.

Bazı zamanlar bu veri bizim için çok fazla gelmektedir. Bu veriyi sıkıştırmak için Base64 ve ASCII85 algoritmaları ile işlenmelidir.

Base64 ile kodlanmış GUID 22 ila 24 karakterden oluşur (dolguya bağlı olarak), örneğin:
PyUE4E+JEdOaDAMF6CwzAQ
PyUE4E+JEdOaDAMF6CwzAQ==

ASCII85 kodlama örneğin 20 karakter verir:
5:$Hj:Pf\4RLB9%kU\Lj

C# ile GUID Kullanımı

Geçen yazımda GUID ve özellikleri hakkında kısaca bilgi vermiştim.

Bu yazımda C# ile  GUID oluşturma ve genel olarak kullanılan formatları hakkında bilgi vereceğim. Genel olarak yapı bozulmaması için ve varsayılan olarak çizgili(tire) format ile kullanılır.

Örnek Kullanım ve Formatlar:

// Guid.NewGuid metodu ile yeni bir GUID oluşturulur.
Guid g = Guid.NewGuid();

// 00000000-0000-0000-0000-000000000000
string hypenGuid = g.ToString("D");
string hypenGuid2 = g.ToString();

// 00000000000000000000000000000000
string notHyphenGuid = g.ToString("N");

// {00000000-0000-0000-0000-000000000000}
string enclosedInBraces = g.ToString("B");

// (00000000-0000-0000-0000-000000000000)
string enclosedInParentheses = g.ToString("P");

// {0x00000000, 0x0000, 0x0000 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
string hexadecimal = g.ToString("X");

GUID (Globally Unique IDentifier) Nedir?

GUID (Globally Unique IDentifier) Nedir?

GUID (Globally Unique IDentifier), bilgisayar yazılımlarında tanımlayıcı olarak kullanılan benzersiz bir referans numarasıdır. GUID terimi, genel olarak UUID (Universally Unique IDentifier) standardının çeşitli uygulamalarından biridir.

GUID Özellikleri

  • 128-bit (16-byte) değere sahiptir.
  • 32 tane onaltılık (hexadecimal) karakterden oluşmaktadır.
  • Üretilen bir değere karışlaşma olasılığı 2122 (yaklaşık 5.3×1036) olarak hesaplanmıştır.
  • Karşılaşılma oranı çok düşük olduğundan benzersiz (unique) kabul edilir.
  • Örnek bir GUID: 21EC2020-3AEA-4069-A2DD-08002B30309D

GUID’in Yaygın Kullanım Alanları

  • Microsoft Windows COM (Component Object Model) nesnelerinin sınıf ve arayüzlerini iç tarafta tanımlamak için GUID kullanır.
  • Intel hard disklerin bölümlendirilmesi sistemi için GUID kullanmaktadır.
  • Veritabanı geliştiricileri ve yöneticileri, veritabanı sunucuları arasındaki benzersizliği sağlamak için veritabanı tablolarının birincil anahtarları olarak GUID kullanabilirler.

MSSQL Ülkeler ve Türkiye İl, İlçe, Bölge, Posta Kodu ve Mahalle Veritabanı – 2017 Güncel

Merhabalar arkadaşlar,

2016 yılında burada oluşturmuş olduğum veritabanını 2017 yılı için güncellemiş bulunmaktayım.

Ülkeler ve Türkiye için veritabanlarını PTT’nin yayınladığı 2017 yılının Şubat ayına ait yeni listeye göre düzenledim. Bu düzenlemeyi MSSQL 2014 sürümü üzerinde yaptım ve buna göre bir script dosyası oluşturdum.

Bu script dosyasına buradan ulaşabilirsiniz.

Eğer başka sürümler içinde isterseniz benimle iletişime geçebilir ya da yoruma yazabilirsiniz.

Kolay gelsin hepinize şimdiden.