JavaScript ile Mesai Sayacı

Javascript Geri Sayım Sayacı Countdown Timer

Bu çalışmamda JavaScript ile bir geri sayım sayacı yaptım.

Input elemanına bitiş zamanını yazıp butona tıkladığınızda belirlediğiniz saate kaç saat kaldığını görebilirisiniz. Bu uygulamada input elemanına yapılan girişleri sınırlandırdım. Program klavyeden girilen değerin sayısal olup olmadığını kontrol ediyor ve girilen değerleri saat formatına göre HH:MM:SS şeklinde düzenliyor. Javascript mesai sayacının kodları aşağıdaki gibidir.

Kodları yazarken https://www.w3schools.com/howto/howto_js_countdown.asp linkindeki sayfadan yararlandım

Kodun çalışan örneğini buraya ekliyorum. Dilerseniz günün bir saatini girip kalan sürenin geriye doğru sayılmasını deneyimleyebilirsiniz.

Lütfen mesai bitiş saatini girin

CSS ile Devamını Oku Butonu Tasarımı


Basit bir CSS kodlama örneği yaptım, umarım yardımcı olur.

<div class="btnContainer">
<h3 class="btnTitle">Devamını Oku Buton alanı başlık metnini buraya yazın</h3>
<a href="#" title="Devamını Oku Buton Başlığı" class="btnReadMore"> Devamını Oku &gt;</a>
</div>
<style>
.btnContainer{
  background-color:#2f2f2f;
  color:#fefefe;
  text-align:center;
  padding:1% 2%;
  font-family:Arial;
}
.btnTitle{
font-size:24px;
    line-height:100%;
}
.btnReadMore{
display:block;
    background-color:#dedede;
    color:#2f2f2f;
    width:50%;
    max-width:170px;
    text-align:center;
    text-decoration:none;
    margin:20px auto;
    font-family:Arial;
    font-size:16px;
    padding:10px 2px;
    border-radius:2px;
    -webkit-border-radius:2px;
    -moz-border-radius:2px;
}
</style>


Kodların çalışan hali

Devamını Oku Buton alanı başlık metnini buraya yazın

Devamını Oku >

C# Abstract Factory Method Design Pattern Örneği

 C# dilinde Abstract Factory Metot Tasarım Deseni için örnek bir kod hazırladım.



using System;


namespace TekstilFabrikasi

{

public interface IPantolon

{

string PantolonEkle();

}

public interface IGomlek

{

string GomlekEkle();

}

    public class Pantolon : IPantolon

    {

        public string PantolonEkle()

        {

            return "Pantolon";

        }

    }

    public class Gomlek : IGomlek

    {

        public string GomlekEkle()

        {

            return "Gömlek";

        }

    }

public interface ICeket

{

string CeketEkle();

}

public class Ceket : ICeket

    {

        public string CeketEkle()

        {

            return "Ceket";

        }

    }


    public interface IElbiseFactory{

IPantolon PantolonYap();

IGomlek GomlekYap();

ICeket CeketYap();

string KumasTipi();

string Mevsimi();

}


    public class Yazlik : IElbiseFactory

    {

        public string KumasTipi()

        {

           return "Ürünler Keten Kumaştan İmal Edilmiştir.";

        }

public string Mevsimi()

        {

           return "Yaz Sezonu İçin Takım";

        }


        public IPantolon PantolonYap()

        {

            return new Pantolon();

        }

public IGomlek GomlekYap()

        {

            return new Gomlek();

        }

public ICeket CeketYap()

        {

            return new Ceket();

        }

    }



public class TakimOlustur{

private readonly IPantolon _pantolon;

private readonly IGomlek _gomlek;

private readonly ICeket _ceket;

private readonly string _kumasTipi;

private readonly string _mevsim;


public TakimOlustur(IElbiseFactory elbiseFactory){

_pantolon = elbiseFactory.PantolonYap();

_gomlek = elbiseFactory.GomlekYap();

_kumasTipi = elbiseFactory.KumasTipi();

_mevsim = elbiseFactory.Mevsimi();

_ceket = elbiseFactory.CeketYap();

}

public void TakimiSun()

{

Console.WriteLine(_mevsim);

Console.WriteLine(_kumasTipi);

Console.WriteLine(_pantolon.PantolonEkle());

Console.WriteLine(_gomlek.GomlekEkle());

Console.WriteLine(_ceket.CeketEkle());

}

}


public class Program

{

public static void Main(string[] args){

IElbiseFactory yazlik = new Yazlik();

TakimOlustur takimSiparis = new TakimOlustur(yazlik);

takimSiparis.TakimiSun();


}

}

}

C# Ternary Operatörüne Bir Örnek(Bölünebilme Kontrolü)

Bu yazımızda basit bir uygulama yaptık. Amacımız  C# dilinde Ternary Operatörü ile bir iç içe karar verme mekanizması kurmak. Programlamada karar verme yapısı olarak çoğunlukla if- else if-else yapısı kullanılır. Büyük ölçekli projelerde bazı basit karar yapılarını daha az kodlar yazmak için ise ternary kullanılır. Ternary operatörü ile tek satırda iç içe karar yapılarını oluşturabilirsiniz. 

Bu operatör her ne kadar kullanışlı olsa da programın okunmasını zorlaştırır. Bu sebepten, program boyunca çok gerekmedikçe kullanmayın.

Lafı daha da uzatmadan örnek uygulamaya geçiyorum.


Örnek Soru,

C# dilinde şu programı Ternary Operatörünü kullanarak yazın.

  •  Bir sayı dizisindeki elemanların sırasıyla 3, 5 ve hem 3 hem de 5 ile bölünebilirliğini kontrol edilsin. 
  •   Dizideki sayılar  kaça bölünebildikleri belirtilerek alt alta yazılsın.
  •  Bölünemeyenlere ise 3'e veya 5'e  Bölünemez şeklinde bir uyarı yazılsın.

Not: hem 3 hem de 5 ile bölünebilirliği için %15 mod alma ifadesini kullanmayın.

C# Factory Method Design Pattern Örneği

 

Mavi ve Kımızı Bilyeler
C# ile Factory Method Design Pattern(kısaca Factory Deseni), bir interface ya da abstract sınıfı kalıp olarak kullanıp tek bir sınıf örneğini kullanarak farklı nesneler üretmek için kullanılır. Oluşturulan bu nesne her çağrıldığında sahip olduğu factory metodu sayesinde aynı metot ve değişken isimlerini kullanan farklı nesneler oluşturur. Siz metoda hangi tip nesneye ihtiyacınız olduğunu söylersiniz o da eğer içinde tanımlıysa size  o tipte bir nesne olarak döner. Böylelikle o nesnenin işlevlerini aynı değişken ve metot isimlerini kullanarak çağırabilirsiniz. Factory Method Deseninin birbirine çok benzeyen birkaç farklı uygulaması karşınıza çıkabilir. Bir tanesini anladıktan sonra diğer uygulamaları da rahatlıkla çözebilirsiniz. Aşağıda örnek bir uygulama anlatılmıştır. Uygulama basitçe farklı renk hediye kutularına farklı sayıda bilyeler koyup paketlemek gibi önemli bir işi yapmaktadır. Özellikle de yılbaşının yaklaştığı şu günlerde.


Önce ara yüzümüzü oluşturuyoruz. Burada oluşturacağımız nesnenin işlevlerini belirliyoruz. Her nesnenin addMarble isimli bir metodu olsun ve integer tipinde bir değer alıp işlesin istiyoruz. Ama bu işlemin ne olacağı bu ara yüzü(interface) miras alan sınıflarda belirlensin. Yani her mirasçı sınıf bunu kendine göre aynı isimli bir metot altında işlesin.

C# Dilinde ?? (The null-coalescing operator) Kullanımı

 C# dilinde ?? operatörü bir değerin null olması durumunda yani herhangi bir değeri olmadığı durumda atanacak değeri veya ifadeyi belirlemek için kullanılır. The null-coalescing operator olarak bilinir. Aslında bir nevi kısaltmadır. Aynı ternary operatörüne benzer bir kullanımı vardır. 


C#  dilinde bir değişkenin değeri null ise ona varsayılan bir değer atamak için,


if (değişken is null)

{

değişken = atanacak değer ya da ifade

}

şeklinde bir standart kodlama vardır. Bu null değer kontrolü programlama esnasında bir noktadan sonra kod kalabalığı yaptığı için bu işlemi daha az kodla halledecek bir yazım şekli  geliştirilmiştir.

JavaScript Rastgele Sayı Üreteci

JavaScript ile verilen sayı aralığında rastgele sayılar oluşturalım

Rastgele sayı üretmek istediğiniz aralığı aşağıdaki kutucuklara yazın ve butona basın





Oluşturulan Sayı

Google Ads'te TBM Düşüren Bir Anahtar Kelime Stratejisi

Google Ads reklamlarının TBM maliyetleri enflasyon ve rekabetin etkisiyle giderek artmakta. Artık eskisi gibi ucuz CPC'lerle reklam yapm...