9 Ekim 2018 Salı

Doğru Şifre Algoritması















Doğru Şifre Algoritmasının özellikleri aşağıdaki gibidir.

 şifre en az 5 karakter olsun.
 içerisinde özel karakter bulunsun. (+ - . vb.)
 harf bulunsun.


3 Ekim 2018 Çarşamba

Web API Nedir?

Bu makalemizde Web Api ile ilgili detaylar bilgiler bulanabileceksiniz. Öncelikle API nedir diyerek başlayalım.


Son zamanlarda iş ilanlarında sıkça gördüğümüz API nedir?
API ( Application Programming Interface- Uygulama Programlama Arayüzüdür.) anlamına gelmektedir. Bir uygulamanın/servisin/platformun (Örn. Youtube, MailChimp, Facebook,Google,Wordpress,DigitalOcean vs.) sahip olduğu yeteneklerin dışarıdan izin verilen sınırlandırmalar dahilinde kullanılabilmesini sağlayan bir arayüzdür. 






















Yukarıdaki görselden de anlayacağınız üzere eskiden sadece bilgisayarlar internete çıkabilirken günümüzde artık mobil cihazlar, tabletler, game console, akıllı saatler, akıllı ev eşyaları, vr gözlükler, hololens vs. gibi cihazlar internete çıkabilmektedir. 





Cihazların internete bağlanabiliyor olması http protokolü üzerinden bu cihazlara veri paylaşabileceğimiz anlamına da gelmektedir. Bu tarz veri ihtiyaçlarımız için servis yazıp platform bağımsız olarak cihazlarla iletişim kurabiliriz. Projede ihtiyacımız olan metotları yazıp online olarak ulaşılabilir olmasını sağlamamız gerekir. http protokolü üzerinden paylaşmak için servis yazıyoruz, internete çıkabilen her cihazdan bu servisi çağırıp kullanabiliyoruz. 


















Rest API ile yazılmış olan bir servis geriye Json(Javascript-Object Notation) türünden veri döndürmekte olup bu tarzda bir veri istediğimiz proje üzerinden çağırılıp kullanılabilmektedir.  Bu sebepten dolayı Json türü aslında joker bir türdür.













Json data çıktısı örneği aşağıdaki gibidir.
















Yazılım ekibi içerisinde bir proje için iş bölümü yapmak istersek Web API ve tasarımsal süreçlerin farklı kişiler tarafından geliştirilmesini sağlayabiliriz. Web API yazacak olan kişi server'a odaklanacak diğerleri ise arayüz kısmına odaklanacaktır. ReST-ful(Representational State Transfer) services ile ihtiyaçlar belirlenip ihtiyaçlara uygun olan metotlar yazılır.


Eğer bir API ihtiyacımız varsa veri tabanından veri getirerek çalıştıracaksak ilk olarak projenin veri tabanı ihtiyaçlarını belirlenmektedir. Sonrasında proje için gerekli olan dataların girişi sağlanır. Veri işlemleri tamamlandıktan sonra veriyi sistemlere bağlayacak olan API yazılır. 


Rest Api mimarisi aşağıdaki gibidir.


















Web API tarafından istediğimiz bir programlama dilini kullanarak servisimizi yazabiliriz. Web API'lerdeki asıl amaç farklı platformlar arasında veri paylaşımını sağlamaktır. 













20 Eylül 2018 Perşembe

CATS Ders Açma Hakkında

Merhabalar,


CATS (Computer Aided Training & Educational Services) sistemi üzerinde ders açmak için aşağıdaki basamakları lütfen sırasıyla uygulayınız.

  • Sisteme buraya tıklayıp kullanıcı adınız ve şifrenizle giriş yapınız.  

  • Ders Ekle'ye tıklayalım.


Giriş yapınca ders açma işlemi için Ders Ekle buttonunu görüyor olmanız gerekmektedir. Geçmiş dönemlerdeki derslerinizin yoğunluğundan dolayı bazen daha fazla kısmına tıklayınca Ders Ekle'ye  ulaşabilirsiniz.

  ( Ders Ekle sekmesini görmüyorsanız lütfen iletişime geçiniz. )












Ders Ekle sekmesine tıklayınca açılan ekrandan Yeni buttonuna tıklayalım.












site kısmını işaretlediğimizde dönem otomatik olarak gelecektir ve devam buttonuna tıklayalım.



Dönemde size atanmış olan dersleri seçip ilerlemek ve her ders için bu aşamanın tekrar yapılması gerekmektedir.

Dersiniz açılmış olacaktır.

                             
Dersi açmak için yardım videosuna ulaşmak için buraya tıklayınız.















14 Ağustos 2018 Salı

C# IComparable Interface'ni Kullanarak Nesnelerin Karşılaştırılması

Merhabalar,

IComparable interfacenin nesnelere implemantasyonu hakkında bilgiler vereceğim.

Veri kümelerini saklamak için kullandığımız dizi ya da koleksiyon içerisinde yer alan sayısal değerleri sıralayarak başlayalım.

Öncelikle Visual Studio içerisinde bir console uygulaması oluşturalım.






















Liste içerisindeki elemanları sıralamak için aşağıdaki kodlar kullanılır.

Görmüş olduğunuz gibi eğer sıralamak istediğimiz değer int ise direkt sort( ) metodunu kullanarak sıralama yapabiliriz.

Eğer nesne türünde verilerden oluşan bir yapıyı sıralamamız gerekirse ne yapmalıyız?

Öncelikle projemize bir ogrenci classı tanımlayıp fieldlarını no,ad,soyad olarak ayarlayalım. ToString ( )metodunu ezelim çağırıldığında ekrana "no-ad soyad " yapısına uyacak şekilde bilgileri yazdıracak şekilde set edelim.


Program classı tarafında ogrenci classını kullanarak çalışacak bir list tanımlayaalım ve içerisine 3 tane öğrenci nesnesi ekleyelim. 




















Bu şekilde yazıp çalıştırmamız durumunda ogrenciler.sort() metodunda aşağıdaki gibi bir hata verecektir. 















Görmüş olduğunuz gibi eğer sıralamak istediğimiz nesne ise IComparable interface'ni implement etmemiz gerekir.  Şimdi int türünde böyle birşey yapmadık diye sorduğunuzu duyar gibiyim . int türünde bunu yapmadık çünkü eğer int türünün tanımlandığı yere gidersek IComparable interface'ni default implement ettiğini görebilirsiniz. (int yazısı üzerindeyken F12 yazıp gidebiliriz.)


Ogrenci classına IComparable interfaceni implement edelim. Bu durumda almış olduğumuz hata  CompareTo metodunun da eklenmesi ve özelleştirilmesidir. IComparable CompareTo( ) metoduna bakarak çalışacaktır. Hatayı çözmek için classın üzerindeyken ctrl ile birlikte . basılıp gelen listeden de implement interface seçeneği seçilir.










Ögrenci classının IComparable nesnesinden gelen compareto metodunu override etmesini sağlamalıyız. Sort sıralama işlemini gerçekleştirirken nesnenin içerisinde yer alan CompareTo() metoduna bakarak bu işlemi yapacaktır.


CompareTo( ) metodu her seferinde parametre olarak gelen değeri o anki nesne ile karşılaştıracaktır. Eğer mevcut nesnenin no değeri parametre olarak gelenin no değerinden büyükse return 1,
yani mevcut nesnenin değeri karşılaştırılan nesneden büyükse 1 aksi takdirde -1 dönmesini istiyoruz.

Parametre olarak gelen object değerini ogrenci nesnesine alıp karşılaştırma işlemini aşağıdaki gibi yapalım.

   public int CompareTo(object obj)
   {
          ogrenci ogrencitocompare = (ogrenci)obj;
           if (this.no > ogrencitocompare.no)
               return 1;
           else
               return -1;

    }


Sonrasında çalıştırırsak ogrenci nesnelerini no değerine göre sıralamış oluruz.


Classların son halleri aşağıdaki gibidir. 

Ogrenci Class Kodları
----------------------------


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CustomComparing
{
    class ogrenci:IComparable
    {
        public int no { get; set; }
        public string ad { get; set; }
        public string soyad { get; set; }

        public override string ToString()
        {
           return string.Format("{0}-{1} {2}",this.no,this.ad,this.soyad);
        }

        public int CompareTo(object obj)
        {
            ogrenci ogrencitocompare = (ogrenci)obj;
            if (this.no > ogrencitocompare.no)
                return 1;
            else
                return -1;
        }

    }

}

Program Class Kodları
---------------------------


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CustomComparing
{
    class Program
    {
        static void Main(string[] args)
        {
            //List<int> sayilar = new List<int> { 23, 45, 12, 67, 80, 19 };
            //foreach (var item in sayilar)
            //{
            //    Console.WriteLine(item);
            //}

            //Console.WriteLine("****");

            //sayilar.Sort();

            //Console.WriteLine("****");

            //foreach (var item in sayilar)
            //{
            //    Console.WriteLine(item);
            //}

          
            List<ogrenci> ogrenciler = new List<ogrenci>() {

                new ogrenci { no=123, ad="Nagihan", soyad="Esendal" },
                new ogrenci { no=235, ad="Rüya", soyad="Hakko" },
                new ogrenci { no=136, ad="Şeyda", soyad="Kamalı" },

                };

           ogrenciler.Sort();

            foreach (ogrenci ogr in ogrenciler)
            {
                Console.WriteLine(ogr.ToString());
            }

        }
    }
}


Proje dosyasını buraya tıklayarak indirebilirsiniz. 









19 Temmuz 2018 Perşembe

Scratch ile Çocuklar için Kodlama Ücretsiz Video Eğitim Seti

                                  Scratch ile Çocuklar için Kodlama
                                       Ücretsiz Video Eğitim Seti








Scratch dünyasına ilk adımınızı atarken kullanabileceğiniz ücretsiz video eğitim setine yukarıdaki linki tıklayarak ulaşabilirsiniz.









Session Nedir? Neden İhtiyacım Var?

HTTP nedir? HTTP, yani Hypertext Transfer Protocol , web tarayıcıları ile web sunucuları arasında veri alışverişini sağlayan internetin t...