4 Kasım 2018 Pazar

SQL İlişkisel Veri Tabanı Sistemleri (Relational Database Management System)

SQL, ilişkisel veri tabanı yönetim sistemleri çeşitlerinden biridir. 

Peki ilişkisel veri tabanı ne demek. İlişkisel veri tabanı, organize edilmiş verilerin tablolarda saklanması ve bu tablolar arasında kurulan ilişkilerle oluşan sistemin genel adıdır.

SQL ortamında tablolarımız satır ve sütunlardan oluşur, üzerinde verileri saklayabilir, ekleyebilir, silebilir ve güncelleyebiliriz.  Her satır aynı sütunlara(kolonlara) yani alanlara sahiptir. Tablo üzerindeki her bir satıra ise kayıt diyoruz. Tablolardaki satırlar bizlere kayıtlarla ilgili bilgiler vermektedir.

Aşağıdaki görselde tabloda bulunan First Name alanında her kayıt için kişilerin isimleri bulunmaktadır. 




Northwind veri tabanının ilişkisel sistemini aşağıdaki görselde bulabilirsiniz.





Aşağıdaki görselde birçok veri tek tabloda tutulmuş olup hem personel hem de müşteriye ait bilgileri tek bir tabloda görmekteyiz.




Yukarıdaki tablomuz bir mağazada satılan ürünlerin hangi personel tarafından kime satıldığının bilgisini içermektedir. Bu tablo her ne kadar normal gözükse de doğru değildir. Eksiklerle başlayalım:

  • Personel Adı Tekrar Etmekte....




Normalizasyon

Veri tabanı oluştururken tabloların doğru tasarlanması önemlidir. Her tablo birbiriyle alakalı özellikleri içermelidir ve mümkün olduğunca bir işi yapmalıdır. Tıpkı metotlarda olduğu gibi. Yukarıdaki örnekte bir tabloda hem müşteri bilgileri hem aldığı personel bilgileri tutulmaktadır. Olması gereken ise iki farklı tabloda bu bilgileri tutup daha sonra bu tablolar arasında ilişki oluşturmaktır. Buna normalizasyon denir. 





Primary Key

Tablolara girilen her kayıt birbirinden farklıdır. Her biri için ayrı işlemler yapılmaktadır. Ancak yukarıdaki yapı bunun için sağlıklı değildir. Mesela Ahmet Sarı isimli kişi farklı zamanlarda farklı iki ürün almış olsun. Ve biz bu kayıtlara ulaşmak isteyelim. İşimiz zorlaşacaktır. Benzer olaylar personel içinde geçerlidir. Olayı bir kademe daha zorlaştıralım ve farklı Ahmet Sarı’ların olduğunu düşünelim. Bu iki ayrı kişi aynı ürünü almış olsun. Biz kayıta ulaşmak istediğimizde hangisinin doğru kişi olduğunu nasıl anlarız. Sonuç: Kaos. Bu yüzden her bir kayıt kendine has bir numaraya sahip olmalıdır. Buna primary key denmektedir. İlişkisel veritabanınında tablolar arası ilişkiler kurulması açısından kritik bir görevi de bulunuyor. Primary key, benzersiz ve biribirinden farklı değerler alır. Aşağıda, birinci tabloda gözümüze yeni bir alan(personel_id) çarpıyor. Bu alan iki tablo arasında ilişki kurmamız için eklenmesi gereken bir alan. Bir sonraki yazıda geniş şekilde açıklayacağım. Yeni tablolarımızı görelim:





İlişki (Relation)

Tabloları böldük ve anahtarları atadık. Bunda sonra yapmamız gereken işlem tablolar arasında bağ kurmak ve birbirine bağlamaktır. Bu işleme ilişki diyoruz. Tablolar arasında ilişki kurarak birden fazla tabloya aynı anda ulaşıp, üzerlerinde işlem yapma imkanı buluyoruz. İlişki kurarken doğru alanlar arasında kurmaya dikkat etmeliyiz. Örneğimiz üzerinden gidersek birinci tablomuza müşteri ikinci tablomuza da personel tablosu diyelim. İlişki kurabilmek için id’leri kullanacağız. Bir sonraki yazıda ilişki türlerini işlediğimizde bu konu tamamen anlaşılacaktır. Şimdi ilişki kurulan tabloları görelim:














Foreign Key

Tablolar arası ilişkiler kurulurken birinci tablodaki primary key’i ikinci tabloda ki başka bir primary key‘e bağlıyoruz. İşte bu ikinci key’e foreign key diyoruz.

NDVI Verilerini MODIS Uydusunu Kullanarak İndirme


Merhabalar,


NDVI, ( Normalized Difference Vegetation Index, Normalize Edilmiş Fark Bitki Örtüsü İndeksi) olarak isimlendirilen verileri indirmek için aşağıdaki basamakları kullanabiliriz.

Öncelikle veriyi indireceğimiz web sitesine gitmek için tıklayınız.

Açılan web sitesini kullanarak verilerimizi indiriyor olacağız. Üst menüde yer alan "Tools" başlığına tıklayıp "MODIS" kısmına geçiş yapalım.







İstanbul Bölgesi'nin enlem 41.00527 ve boylam 28.97696 değerleri girilip tarih aralığı olarak 18 şubat 2000 ile 5 mart 2000 verilmiştir. 






Mail olarak hangi adresi girmişsek o adrese mail aracılığıyla istediğimiz aralığı mail olarak göndereceklerdir.




Seçmiş olduklarımız doğrultusunda bilgiler aşağıdaki gibi olacaktır.



Mail yoluyla gelen mail içerisinde bir link bulunacaktır. Bu link kullanılarak istediğimiz datayı istediğimiz formatta indirebiliriz.





Linke tıkladığımız zaman açılan format ise aşağıdaki gibi olacaktır.







Veriler csv formatında indirilmiştir.  Sonrasında verileri alt alta getirecek C# kodları yazılıp veriler istediğimiz şekle getirilmiştir. 


1 Kasım 2018 Perşembe

Ionic Kurulumu

Ionic Framework ile geliştirmeye başlamadan önce ilk olarak bilgisayarımızda Node.js kurmamız gerekecektir. Node.js kurmak için tıklayınız.




Node.js'in en son sürümünü ve en sık kullanılan sürümünü görebilirsiniz. En sık kullanılan versiyonunu indirip bilgisayarımıza kuralım.





















Komut satırını açıp artık ionic kurulumuna başlamak için aşağıdaki kodu çalıştıralım.

npm install -g cordova ionic


ionic tarafında yeni bir proje oluşturmadan önce kendimize projelerimizi tutacak bir klasör oluşturup bu proje içerisine ionic kodlarını yazarak yeni bir proje oluşturabiliriz.










Projeyi çalıştırmak için oluşturduğumuz projenin içerisine geçip projeyi çalıştırmamız gerekecektir. cd komutunu kullanarak proje klasörüne geçiş yaparız.



Projemizi çalıştırınca  tarayıcıda yazdığımız uygulamanın yansımasını görebiliriz.






Ionic ile geliştirdiğiniz projemizin testini yapmak için herhangi bir emülatöre ihtiyacımız yoktur. Bilgisayarımızda yer alan internet tarayıcılarından herhangi birisini kullanabiliriz. Ionic sayesinde uygulamanızın hangi platformda nasıl gözükeceğini kontrol edebilir ve projemize platforma özel çalışmasını istediğimiz kod parçalarını da ekleyebiliriz. Geliştirmiş olduğumuz kodları mobil uygulamaya çevirmek ve bir emülatörde incelemek istersek Android SDK veya Xcode gibi dönüştürmek istediğiniz platformu da bilgisayarımıza kurmamız gerekecektir.



Hibrit Uygulamalarda Ionic

Mobil cihazların sıkça kullanılıyor olmasından dolayı günlük yaşantımızda mobil uygulamalar daha çok kullanılmaya başlanmıştır. Bildiğiniz üzere mobil cihazlarda farklı işletim sistemleri yer almaktadır. Farklı işletim sistemlerinin bulunması yazılım tarafında da farklı programlama dillerini ve geliştirme ortamlarını bilmeyi gerektirmektedir. Dilersek native uygulama geliştirebildiğimiz gibi her türlü işletim sisteminde çalıştırılabilen uygulamalar geliştirilmeye başlanmıştır. Üstelik bu tarafta geliştirme yaparken bilmemiz gereken HTML5 ve JavaScript dilleridir. HTML ve Javascript kullanılarak geliştirilen uygulamalara hibrit (hybrid) uygulamalar adı verilmektedir.

Hybrid uygulama geliştirmek için farklı framework yapılarını kullanabiliriz. Ionic kullanarak mobil uygulama geliştirmek istersek Html ve JavaScript dillerini biliyor olmamız yeterli olacaktır. Üstelik geliştirmiş olduğumuz uygulamaları hem android markette hem de ios markette kullanıcılarıyla buluşturabiliriz.






ionichybrid tarafta mobil uygulama geliştirme noktasında birçok kütüphane bulunmaktadır. Bu kütüphanelerden en çok tercih edilenlerden biri Ionic Framework'tür. Ionic Framework kullanışlı ve öğrenmesi çok kolay bir kütüphanedir.

Ionic Framework, Cordova mimarisi üzerine inşa edilmiş olup mobil cihazın donanımına ve sistem kaynaklarına erişim gibi işlemler Cordova  aracılığıyla rahatça yapılmaktadır.

Web dünyasını biliyor olmanız mobil uygulama geliştirirken sizlerin işini kolaylaştıracaktır. Web programlama bilgilerinizi kullanarak mobil uygulamalarınızı geliştirebilirsiniz, geliştirmiş olduğunuz tek uygulama ile bunu Android, iOS veya Windows Phone gibi mobil işletim sistemlerinde çalıştırabilirsiniz. Hatta bu uygulamayı rahat şekilde mobil uyumlu bir web sitesi olarak paylaşabilirsiniz de.





Ionic Angular.js kütüphanesini temel alarak oluşturulmuştur. Güncel sürümü Ionic 3'tür.

Ionic ile mobil uygulama geliştirmek için temel olarak HTML, JavaScript ve Angular.js bilmek yeterli olacaktır. 

Ionic’in farklı tasarım, tema ve bileşen desteği bulunuyor. İlk kurulumda gelen dosyalar dışında internetten bulduğunuz farklı tasarımları indirip mobil uygulamamıza dahil edebiliriz.  Daha detaylı tasarımları görmek için lütfen tıklayınız. Ionic uygulamalarınız için birçok özel tema veya bileşeni bulabilirsiniz.

İonic kurulumunun aşamalarını görmek için lütfen tıklayınız.






26 Ekim 2018 Cuma

C# Programlama Dilini Kullanarak Kelime Sayısı Bulma


Girilen cümlede istediğimiz kelimeden kaç tane olduğunu bulmamıza yarayan metot aşağıdaki gibidir.


   static int KelimeSayisiBul(string cumle, string aranan)
    {
            int adet = 0;
            string[] kelimeler=cumle.Split(' ');

            for(int i=0;i<kelimeler.Length;i++)
            {
                if (kelimeler[i] == aranan)
                    adet++;
            }
            return adet;
    }

24 Ekim 2018 Çarşamba

Çocuklar İçin Scratch 3.0 Eğitimi



27.10.2018 tarihinde Scratch'in yeni versiyonu olan Scratch 3.0 kullanılarak 29 Ekim Atölyesi'ni öğrencilerimle birlikte gerçekleştirdik. Scratch 3.0 ile çalışmak yeni versiyon öğrenmelerine imkan sağlarken aynı zamanda internet ortamından buldukları kayıtları,görselleri projelerinde kullanılabileceğine dair bilgi sahibi oldular. 





23 Ekim 2018 Salı

DC MOTORLU 3 OYUNCAK ROBOT: Hoverboard, Ressam Robot, Paytiş Robot

Bu hafta Çırak Atölye'de DC motorlu 3 oyuncak robotu test ettik. Hatırlarsınız daha önce Da Vinci icatlarından ilham alan oyuncakları incelediğimde çok zorlanmıştım bu yüzden bu videoda sevgili Yusuf bana çırak oldu sağ olsun. Mini hoverboard, ressam robot ve paytiş robota göz atmak. Hadi İzleyelim :)



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...