20 Aralık 2018 Perşembe

Neuron Nedir?

Makeblock eğitim kiti olan neuron kitini inceleyelim.

Neuron Stem / Steam eğitimi için hazırlanmış programlanabilir, elektronik modüller içeren kittir. İçerisinde her birinin farklı işlevi olan modüller içermektedir. Böylece rahatlıkla projemizi yapabiliriz. Modüller mıkantıslı yapıya sahip olmasından dolayısıyla Neuron kit ile bağlantı problemleri ortadan kalmaktadır.




















Görselden de anlayacağınız üzere Neuron Modülleri renklerine göre 3 kategoriye ayrılmıştır.

1.Yeşil Renkli Modüller (Power, Bluetooth)
Güç ve Haberleşme sağlar.

2.Turuncu Renkli Modüller (Funny Touch, Gyro Sensor)
Giriş  / Input Modülleridir.

3.Mavi Renkli Modüller(Led Panel, Buzzer)
Çıkış / Output Modülleridir.


Gelelim neuron nasıl kullanılır kısmına. 
2 farklı seçenekle kullanılabilen neuron mucit kiti bu özelliği sayesinde hem küçük yaştakilere hem de daha büyük yaştaki öğrencilere hitap etmektedir. Hem programlayarak hem de tak çalıştır mantığı ile kullanabiliriz. Programlama seçeneği daha büyük yaşlar için kullanabiliriz.

Eğer programlamadan proje geliştimek istiyorsak gerekli modülleri bir araya getirmemiz yeterli olacaktır. Mıknatıslı olması kolay bağlanmayı sağlar. 

Kit içerisinde 6 farklı modül ve neuron aksesuarları yer almaktadır.

Power Modülü




Power modülü diğer modüllerin çalışması için güç sağlar. Bilgisayardan veya harici 5 volt güç adaptörü ile modülü şarj edebiliriz.


Bluetooth Modülü











Bluteooth modülünün 2 farklı görevi bulunmaktadır. Bunlardan birisi akıllı cihazının 10 metreye kadar haberleşmesini sağlamak diğeri ise usb kablo ile bilgisayara bağladığınızda diğer modüllerin çalışması için güç sağlamaktadır. 



Gyro Sensor Modülü














Giroskop diye de karşımıza çıkan hareket ve pozisyonu algılamak için kullanılan bir modüldür. Bir nesnenin açısal hızını ve ivmesini ölçmek için kullanılan bir modüldür.


Funny Touch Modülü











Hemen hemen her nesneyi dokunmatik yüzeye dönüştürmemize yardımcı olan bir modüldür.


Buzzer Modülü













Projelerimizde uyarı veya ses çıktısı ihtiyacımız olduğunda buzzer modülü kullanılacak. Uyarı dışında farklı melodilerinde çalmasını sağlayabiliriz. 

Led Panel Modülü














Led panel 64 tane rgb renk içerir. Ledlerin renklerini değiştirip ya da animasyonlar yaparak harika şeyler oluşturabiliriz. 


Programlayarak kullanmak istersek akıllı cihazlar aracılığıyla ya da bilgisayarımızı kullanarak programlayabiliriz. 

Neuron mblock Programlama,
Mblock bloklar halinde programlama yapmamızı sağlayan daha çok sürükle bırak mantığıyla çalışan programlamayı öğretmek için tasarlanmış Scratch tabanlı bir programdır. 2 fakrlı şekilde programlayabiliriz. Eğer internet bağlantınız varsa online, ya da bilgisayarınıza kurulum yaparak bilgisayarınız üzerinde çalışabilirsiniz.

Bağlantı için gerekli malzemeler 
1. Neuron kutusundan çıkan usb kablo 
2. Bluetooth modülü usb kablo ile bir ucunu bluetooth modülüne diğer ucunu bilgisayar bağlayalım sonrasında mblock sitesine girip işletim sistemimize uygun olan sürümü indirelim. Windows işletim sistemi kullanıyorsanız indirmek için tıklayınız.

İndirdikten sonra mblock açıp en üst sekmeden "Neuron" seçelim. Bağlan sekmesine "usb" seçip connect diyelim. 

Bağlantımız hazır programlamaya başlayabiliriz. Robotlar kısmına bakarsak neuron kodları eklendi. Sürükle bırak ile kodlarımızı art arda ekleyip  istediğimiz bir şeyin yapılmasını sağlayabiliriz.


3 Aralık 2018 Pazartesi

Web Servis Nasıl Yazılır ve Eklenmesi

Web servis yazmak için istediğiniz bir programlama dilini kullanarak geliştirebilirsiniz. 

Örneğimizde C# programlama dili kullanılarak Web servis yazacağız.
Asp.Net ile web servis geliştirelim ve servisin çalışma yapısını inceleyelim. Öncelikle web servisin veri tabanı kısmını hazırlayalım daha sonra web servisimizi yazalım.

-Web Servis Veri Tabanı İşlemleri


Öncelikle Microsoft SQL Server üzerinde veri tabanımızı oluşturalım. SQL Server’i açalım ve bir veri tabanı ekleyelim.

1.“Databases” seçeneğine sağ tıklayarak “New Database” seçeneğini seçelim.


2.Veri tabanı adımızı “WebServis” olarak belirleyelim. OK tuşuna tıklayarak veri tabanımızı oluşturalım.



3.Veri tabanımızda “WebServis” veri tabanı içerisinde bulunan “Tables” seçeneğini sağ tıklayarak “New>Table” yolunu izleyerek web servisimizde kullanılacak bilgileri tutacağımız tablomuzu oluşturalım.



4.Tablomuza değerlerimizi atayalım. Veri tabanımızdaki “ID” değerine Birincil Anahtar (Primary Key) atayalım. Bu işlemi yapmamızın sebebi bu alandaki değerin daha sonradan değiştirilemeyecek olması yani her kayıta özel bir alan yaparak sorgulamalarımızı bu alan üzerinden yapacağımızdandır.

5."ID" alanımıza sağ tıklayalım ve "Set Primary Key" seçeneğini tıklayarak bu alanımıza birincil anahtar değerini atayalım.

6.Birincil anahtarı atadıktan sonra bu alanın değerini her kayıtta otomatik olarak artırmak için "ID" değerini seçerek "Identity Specification" seçeneğinin altında bulunan "Is Identity" seçeneğini "Yes" olarak değiştirelim. Bu özelliğin değişmesi ile her yeni kayıt eklendiğinde "ID" değerimiz birer olarak artacaktır.

7.Tablomuzu kayıt edelim ve tablomuza "Kisiler" ismini verelim. Tablomuza birkaç kayıt ekleyelim.

8.Veri tabanımız üzerinde sağ tıklayarak "New Query" seçeneğini seçelim ve prosedürümüzü yazalım. Yazacağımız prosedür sayesinde web servisteki sorgulama işlemlerini prosedür içerisinde gerçekleştireceğiz ve prosedürden gelen kayıtları web servise aktaracağız.


9."SPBILGILERIGETIR" adında bir prosedür oluşturduk. Bu prosedürde parametre olarak "@ID" değerini aldık ve web servise gönderilecek olan parametre değerimiz bu değer olacaktır. Böylece her ID değerinde veri tabanımızda bilgi var ise o bilgileri web servisin istek yapıldığı yere göndereceğiz. Veri tabanı işlemlerini tamamladık artık web servisimizi yazabiliriz.



















Visual Studio IDE ortamını açalım. Yeni bir proje oluşturalım.



















Projemize sağ tıklayalım "Add>New Item" seçeneğini seçelim.

"Web Service (ASMX)" seçeneğini seçelim "Add" seçeneğiyle projemize ekleyelim.




















































Web servisimizde hazır olarak yazılmış ve "Hello World" değerini istek yapan kullanıcıya döndüren metod bulunmaktadır. Bu metodun nasıl çalıştığını inceleyelim.















Web servis projesi çalıştırılınca tarayıcı üzerinde HelloWorld isimli metod görünmekte olup onun çağırılması durumunda bize çıktı vermektedir. Web servise tıkladığımız zaman web servisi kullanacak kişilerin isteklerini gönderecekleri "POST" metodunu görebilmemiz için Çağır / Invoke  buttonuna basarak web serviste gönderilecek bilgileri görüntüleyebiliriz. 



Web servis bizlere "XML" formatında bilgi döndürmektedir. Web servisin çalışma mantığını inceledik artık web servisimizi geliştirebiliriz.
Veri tabanımızda bulunan bilgileri çekeceğimiz alanlar için projemizde bir sınıf oluşturalım. Bu sınıfı oluşturmamızın amacı veri tabanından gelen bilgileri bir sınıf üzerinde tutarak kullanıcıya göndermemizdir.

Projemize sağ tıklayalım "Add>Class" seçeneği ile projemize sınıf ekleyelim.

















    public class Bilgiler
    {
        public int Id { get; set; }
        public string Adi { get; set; }
        public string Soyadi { get; set; }

    }

Web.config dosyasına bağlanması için veri tabanı bilgileri eklenir.





Servis dosyasına veri tabanına erişmek için gerekli olan bilgileri ekleyelim.




        [WebMethod]
        public Bilgiler BilgileriGetir(int Id)
        {
            Bilgiler bilgilerimiz = new Bilgiler();
            string cs = ConfigurationManager.ConnectionStrings["DbBaglan"].ConnectionString;
            SqlConnection baglan = new SqlConnection(cs);
            SqlCommand komut = new SqlCommand("SP_BILGILERIGETIR", baglan);
            SqlParameter parameter = new SqlParameter();
            parameter.ParameterName = "@Id";
            parameter.Value = Id;

            komut.Parameters.Add(parameter);
            baglan.Open();
            SqlDataReader dr = komut.ExecuteReader();

            while(dr.Read())
            {
                bilgilerimiz.Id = Convert.ToInt32(dr["ID"]);
                bilgilerimiz.Adi = dr["Adi"].ToString();
                bilgilerimiz.Soyadi = dr["Soyadi"].ToString();
            }
            return bilgilerimiz;
        }




Web servis sınıfına "Bilgiler" adında verileri döndüreceğimiz metodumuzu yazdık. "Web.config" dosyamızda tanımladığımız bağlantımızı alıyoruz. Veri tabanımızda yazdığımız prosedürü çağırıyoruz ve prosedürün bizden istediği "ID" değerini prosedüre yollayarak prosedürden gelen bilgileri tanımlamış olduğumuz sınıfımıza atıyoruz. Metodumuzun sonunda bu bilgileri kullanıcıya gönderiyoruz.

Web servisimizi çalıştıralım ;
Web servis bize "ID" değeri gönderdiğimiz değere eşit olan kaydın bilgilerini döndürdü. Böylelikle web servis yazmayı görmüş olduk.


Servisi eklemek için  aşağıdaki yapı kullanılır.























Web Servis Nedir?

Web Servisler , HTTP protokolü ile XML gönderip alarak iki uzak cihaz arasındaki iletişimi sağlayan haberleşme yöntemidir. XML ile çalışmasından dolayı değişik platformlar ve programlama dilleri arasında haberleşme sağlanabilir.






Özetlemek gerekirse, bir web servisi ;

İnternet veya özel (intranet) ağlar üzerinden kullanılabilir
Verileri etiketlemek için standart bir XML mesajlaşma sistemi kullanır
Herhangi bir işletim sistemine veya programlama diline bağlı değil

Web Servislerinin Bileşenleri

Temel web servisleri platformu XML + HTTP‘dir. Tüm standart web servisleri bu bağlamda aşağıdaki iletişim protokollerini kullanarak çalışır.

SOAP (Basit Nesne Erişim Protokolü) 
Bir ileti aktarmak için
UDDI (Evrensel Tanımlama, Keşif ve Entegrasyon) 
web servislerini tanımlama, yayınlama ve bulma işlemleri konusunda bir standarttır.
WSDL (Web Hizmetleri Açıklama Dili) 
Hizmetin kullanılabilirliğini açıklamak için

Örnek olarak;

Hesap yönetimi için C# ya da Java programlama dilleriyle geliştirilmiş olan istemci uygulamasının bir veri tabanına ihtiyacı vardır. Bu veri tabanı farklı bir lokasyonda bulunan bir sunucuda olabilir. Uygulamanın verileri kaydetme ya da verileri çekme gibi işlemler için internet üzerinden etkileşime geçmelidir.



Mevcut yazılımlarınızın bir takım işlevselliklerini ağ üzerinden servis edebilmeniz, diğer yazılımların servis vasıtasıyla uygulamanızı kullanabilmesi, üstelik bütün bunların platform bağımsız gerçekleştirilebiliyor olması büyük bir avantajdır.

Web servis nasıl yazılır ulaşmak için lütfen tıklayınız.


23 Kasım 2018 Cuma

Çocuklarla Köstebek Vurmaca

Merhabalar,

Köstek vurmaca oyunumuz için yapmamız gerekenler,

1.appinventor giriş yapalım.

2.Yeni bir uygulama oluşturalım.

3.Ekran tasarımı aşağıdaki gibi olmalıdır.



























4.Projede yer alması gereken bileşenler







Screen 1 bileşeninin Title bilgisini Mole Mash olarak değiştirelim.

Canvas içerisine bir tane Imagesprite ekleyip görseli aşağıdaki gibi yapalım.








MoleTimer nesnesinin interval bilgisini 1000 olarak ayarlayalım. 

Kod bloklarına geçelim.

































11 Kasım 2018 Pazar

Blok Kodlama ile Programlamanın Çocuklarımıza Kazandırdıkları

http://muhendisolacakcocuk.com/
Algoritmanın temeli olarak görünen çocuklar için kodlamaya başlangıç sayılabilen bir platformdur blok kodlama.











Blok Kodlama farklı bölümlerden oluşmaktadır.



1.Seviye Bulmaca

2.Seviye Labirent

3.Seviye Kuş
http://muhendisolacakcocuk.com/


4.Seviye Kaplumbağa

5.Seviye Film

6.Seviye Müzik

7.Seviye Eğitim Havuzu

8.Seviye Gölet





http://muhendisolacakcocuk.com/

Her seviyede farklı mantıkları öğretmek hedeftir. Blok kodlama yapan çocuk algoritmanın ne olduğunu algoritmaya ihtiyaç duyarak öğrenecektir. MEB tarafından açıklanmış olan bir sınavın ek içerisinde algoritma bilgisi içeren 2 adet örnek soru paylaşılmış olduğu için öğrencilerin bu soruları çözmüş olmaları hem günlük hayatta onlar için gerekli olan problemleri çözme yetisini kazanmalarına yardımcı olacak hem de sınavlarda daha fazla soruyu doğru cevaplamalarına yardımcı olacaktır. Üstelik bunları yaparken öğrencilerimiz hem eğlenecek hem de öğreneceklerdir. 












Blok kodlama tarafında en sık kullanılan platformlar,

1. Scratch



http://muhendisolacakcocuk.com/













Scratch için tıklayınız.


ScratchJR için tıklayınız.



2.Blockly Games



http://muhendisolacakcocuk.com/


Blockly Games için tıklayınız.

















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.

SQL Çalışma Sorularının Çözümü

 -Ürünler tablosundaki ürünlerden Rengi siyah,silver ya da multi renkte olanları fiyat bilgisine göre büyükten küçüğe getirilip gösterilecek...