RESTful Web Servis Örneği (C#)

Bu slayt gösterisi için JavaScript gerekir.

Kaynak Kodu: RESTful Web Servis Ornegi

Not: WebApiConfig dosyasının içeriğinde   routeTemplate: “api/{controller}/{id}”, olan satır   routeTemplate: “api/{controller}/{action}/{id}”, şeklinde değiştirilmelidir.
Controllers klasörüne Web API Application Controller Class eklenmeli (örn: TestServiceController)
Get methodları [HttpGet] ön eki bulunmalı ve HttpResponseMessage dönüş türünde olmalıdır.
HttpResponseMessage dönüş türü için  var res = Request.CreateResponse(HttpStatusCode.OK); ve  res.Content = new StringContent(“Dönüş değerleriniz”, Encoding.UTF8, “application/json”); şeklinde ekleme yapmanız yeterlidir.
TestService Controllerı olan ve Login method isimli bir örneğin dönüşünde Adres satırı http://localhost:50640/api/TestService/Login?email=&pass= şeklinde olur (api ön ekine dikkat)

Verilerin Json türü serilizasyonu için System.RunTime.Serialization kütüphanesi eklenmelidir.
Hata durumunda loglamalar için Microsoft.Practices.EnterpriseLibrary.Logging (Nuget Manager EnterpriseLibrary.Logging aratınız) kütüphanesi eklenmelidir. Bu kütüphanin web config dosyasında configSections, loggingConfiguration ve enterpriseLibrary.ConfigurationSource sectionları altında loglama için konfigürasyon verileri bulunmaktadır.

Detay olarak web confige connectionStrings ve appSettings eklenmiş yazılar nasıl alınır örneği de bulunmaktadır.

WCF ve ASMX Web Servis Örneği (C#)

Bu slayt gösterisi için JavaScript gerekir.

Yazının içeriği

WCF ve ASMX örneği
Örnek login methodu
Örnek dönüş biçimi
JSON dönüştürme/çözme işlemleri
IIS web servis ekleme

Kaynak Kodları: web servis örneğini indir

 

OWI-535 Robot Kol Kontrolcüsü Yazılımı (C#)

Bu projede OWI-535 modeli robot kolun bilgisayar aracılığıyla kontrol edilmesi için C# üzerinde bir uygulama geliştirilmiştir. Uygulama seri port üzerinden iletişim kurduğu robota belli şemalara uygun sinyaller göndererek hareketin gerçekleştirilmesini sağlar.

Uygulama, seri port üzerinden Arduino geliştirme kitiyle iletişim kurar ve Arduino, aldığı sinyalleri uygun pinleri kullanarak hareketin gerçekleştirilmesini sağlar.

OWI-535 Robot Kol Hakkında OWI-535 Robot Kol Seti, uzaktan kumanda aracılığı ile kontrol edilmektedir. Kolun kaldırma kapasitesi 100gr’dır. Beş ayrı motor, bu uzaktan kumanda ile kontrol edilmektedir. Kol 120° bilekten, 300° dirsekten, 180° omuzdan ve 270° temelden ve 0-4.5cm kıskaç hareket etme özelliğine sahiptir. Kıskacın üzerinde bir de beyaz LED bulunmaktadır.

OWI-535 Robot Kol Kumanda Yazılımı, C# üzerinde geliştirilmiş bir robot kontrol uygulamasıdır ve OWI-535 ile varsayılan olarak gelen kablolu kumandaya ek olarak bazı özelliklere sahiptir. Bunlar ileriki bölümlerde daha ayrıntılı olarak incelenecektir. Bu özellikler temel olarak motorların ve LED’in kontrol edilmesi ve hareketlerin kaydedilmesidir.

Projenin Kodları

Tüm proje kodları Github Link

Dosya Okuma ve Sıralı Şekilde Yazma (Hızlı Sıralama C# konsol)

Bir  metin belgesinden alınan yazılar yine bir metin belgesine sıralı (satır satır) olarak yazma işlemi, c# konsol uygulaması şeklinde geliştirilmiştir. Sıralama Quicksort (Hızlı Sıralama) yöntemi ile yapıldı. Normalde ArrayList.Sort() yöntemi hızlı sıralama algortimasını kullanıyor fakat uygulamada direkt yöntem yerine algoritma yazılarak gerçekleştirildi. Uygulamanın kodları yazının devamında bulunmaktadır.

Dosya Okuma ve Yazma

Dosya okuma ve yazma sınıflarına direkt ulaşabilmek için using System.IO komutunu projeye ekliyoruz. Kaynak dosyayı açmak için FileStream nesnesini ve StreamReader sınıfını kullanarak ReadLine() metodu ile dosyayı okuyoruz. ReadLine() metodunu dosyanın sonunu ifade eden NULL değerine geri dönene kadar çağırıyoruz. Döngü içinde okunan satırları dizinin içine ekliyoruz ve sonrada tüm nesneleri kapatıyoruz.

Aynı şeklide FileStream nesnesini ve StreamWriter sınıfını kullanarak hedef dosyaya yazma işlemini yaptık. Burada hedef dosya “cikti.txt” şeklinde belirlendi. İşlem sonrasında debug klasöründe cikti.txt dosyası oluşturulup, yazma işlemi sıralı olarak gerçekleştirilecek.

Okumaya devam et “Dosya Okuma ve Sıralı Şekilde Yazma (Hızlı Sıralama C# konsol)”

Ödüllü Programlama Sorusu ve Çözümü (C#) (Yazılım yeni başlayan için algoritma geliştirme)

Bu soru TBD Genç Ankara Şubesinin hazırladığı 2011 Şubat ayı programlama yarışmasının sorusuydu. Soruyu doğru cevaplandıranlar arasından iki kişiye kitap hediye edildi. Şanslı olanlardan birisi de bendim. Soru şöyleydi:

TBD Genç Ankara – Ödüllü Programlama Sorusu 12
(Bu soru TBD Genç Ankara Şubat 2011 bülteninde yayımlanmıştır.)
Soru 12: Uzun İp

Problem

Elinizde 100 metrelik düz ve iki uçlu bir ip var ve bu ip birkaç ipin birleştirilmesinden oluşturulmuş. Sizden bu kaynak noktalarından herhangi rastgele ikisini çözdüğünüzde oluşacak en büyük parçanın verilen bir A sayısından büyük veya eşit olma ihtimalini bulmanız isteniyor.

Girdisindede size ipin kaç tane kaynak noktası olduğu N, kaynak noktalarının ipin sol ucundan kaç metre uzakta olduğu ve A sayısının verileceği, çıktısında sadece ihtimalin ondalık gösterimini yazacak bir konsol uygulaması yazmanız isteniyor.

Açıklayıcı olması açısından, istenen sonuç, N kaynak noktasından herhangi (birbirinden farklı) ikisi çözüldüğünde oluşan parçalardan en büyüğünün uzunluğunun A’dan büyük veya eşit olma olasılığının ondalık gösterimidir. Lütfen girdi ve çıktı biçimini ve kısıtlamaları dikkatli okuyunuz.

Okumaya devam et “Ödüllü Programlama Sorusu ve Çözümü (C#) (Yazılım yeni başlayan için algoritma geliştirme)”

Algoritma yeni başlayanlar için sıralı diziye rastgele sıralı şekilde ekleme algoritması (Hızlı Sıralama, Araya Ekleme C# konsol)

Algoritma bilgisini geliştirmek isteyen programcılar için küçük bir beyin jimnastiği örneği olarak görebilirsiniz.

Örnekte yapılan işlem 100.000 adet  (100.000-1.000.000) arasındaki sayılardan oluşan ve sıralı bulunan bir metin belgesi içindeki sayıları okuyup, bu okunan sayı değerinin 10 da 1 kadar yani 10.000 adet yeni aynı aralıktaki  (100.000-1.000.000) random sayı üretip bu yeni üretilenleri, önceki gruba yine sıralı şekilde ekleyip dosya ya yazma işlemidir.

Okumaya devam et “Algoritma yeni başlayanlar için sıralı diziye rastgele sıralı şekilde ekleme algoritması (Hızlı Sıralama, Araya Ekleme C# konsol)”