obenplus.com | oben+ | Hikayesi bol bir yazılımcının kaleminden, teknoloji dünyasını en önemli ve en ince ayrıntısına kadar takip etmek, bir yazılımcının hayatını, yaşantısını gözlemlemek isteneyenler için...

Archive for Ağustos, 2013

Bugünlerde, bir kaç kişiden Windows Server 2012 kurulumu ile ilgili mail aldım. Günümüzde, hevesli arkadaşların çok fazla maddi kazançları olmadıkları için, sıfır bir makina alıp, bu makineye standalone windows server kurmaları mümkün olmadığı için, youtube da çok işe yarayacak ve ingilizce bilmeyenlerin dahi çok rahat kavrayabileceği şekilde anlatılmış, virtual box ile windows server 2012 kurulumunu anlatan bir video buldum. Sizlerle bu videoyu paylaşmak isterim.


Mutlaka hepiniz, doğum tarihiniz haftanın hangi gününe denk geliyor merak etmişsinizdir. Pazartesi, salı , perşembe… Benimkisi cuma gününe denk geliyor. Bir anda aklıma şöyle bir soru geldi ; 10 Ocak 1983 hangi güne denk geliyor ? Bunu ezbere bilmek haliyle imkansız. Biz de yazılımcı olduğumuza göre… 🙂

2013 Ağustos ayı perşembe günü başlıyor bunu biliyorsanız, 2 ağustos günü sorulduğunda kolaylıkla cuma dersiniz, 16 Ağustos sorulduğunda da bir şekilde ilerlemek kolaydır ama 28 kasım denildiğinde işler kompleks bir hal alır.

Şimdi hepiniz diyeceksiniz ki, bir sürü library zaten bu soruya yanıt verebiliyor. Haklısınız… Ben ise şunu merak ettim, o kütüphanelerdeki fonksiyonlar bu soruları nasıl yanıtlıyorlar ? 🙂

Bir haftanın günü hesabı yaparken en çok zorlanılacak konu, her ay 28-29-30-31 gün gibi 4 farklı gün sayısı ile ifade edilebiliyor, 7 ye bölünemiyor (Şubat 28 çektiği zamanlar hariç) ve bu sebeple her ayın başlangıç günü farklı bir gün oluyor.

Bu aşamada en mantıklı başlangıç, takvim hakkında ne biliyorsak onları ortaya koymak olacak;

  • Bir haftada kaç gün var ? 7 GÜN
  • Genelde 1 yıl kaç gün ? 365 GÜN
  • Artık Yıl kaç gün ? 366 GÜN

Şubat ayının 28 gün çektiği düşünüldüğü takdirde, 7 ile bölünebilme kuralına uyabilen aylar varsa, o aylar aynı günde başlıyordur denilebilir.

Ocak Şubat Mart Nisan Mayıs Harizan Temmuz Ağustos Eylül Ekim Kasım Aralık
31 28 31 30 31 30 31 31 30 31 30 31

Dikkatli olarak incelendiğinde görüyoruz ki 30+31+30 = 91 mod(7) = 0

Yani örneğin  haziran ayının ilk günü hangi günse, eylük ayının ilk günü de aynı gündür.

Sonuç olarak;

  • Ocak – Ekim
  • Şubat – Mart
  • Kasım  – Mart
  • Nisan – Temmuz
  • Aralık – Eylül

ayları aynı günde başlıyor. Daha özetle;

  • Ocak – Ekim
  • Şubat – Mart – Kasım
  • Nisan – Temmuz
  • Eylül – Aralık

Artık yıl için ise;

  • Ocak – Nisan – Temmuz
  • Şubat – Ağustos
  • Mart – Kasım
  • Eylül – Aralık

Artık yılın hangi yıl oldugunu anlamak için ise aşağıdaki tablodan yararlanabilirsiniz;

 

 

 

 

 

 

 

 

 

Hangi ayın kaçıncı günü pazartesi sorusunun yanıtı da;

Bütün bu verilere göre algoritmamız;

  1. Yıllar tablosundan çakışma rakamını çek
  2. Yılın son iki hanesini al
  3. 2.maddedeki rakamı 4’e böl ve kalan hariç değeri al
  4. Ay tablosundan ayın hangi günü pazartesi değerini al
  5. 1-4 arası maddelerde belirlediğin tüm rakamları topla
  6. 7 ye böl ve kalanını at
  7. 6 numaralı maddede belirlediğin rakamı günler tablosundan karşılaştır.

İşinize yarar mı bilmiyorum ama ilginç geldi yazmak istedim 🙂