Translate

10 Aralık 2016 Cumartesi

Yapay Zeka ve Alt Başlıkları

    Yapay zekâ, bilimsel adıyla mantıksal analiz robotu ; bir bilgisayarın veya bilgisayar kontrolündeki bir robotun çeşitli faaliyetleri zeki canlılara benzer şekilde yerine getirme kabiliyetidir.

    Gelecekte yapay zekâ araştırmalarındaki tüm alanların birleşeceğini öngörmek zor değildir. Sibernetik bir yaklaşımla modellenmiş bir Yapay BeyinSembolik bir yaklaşımla insan aklına benzetilmiş bilişsel süreçler ve Yapay Bilinç sistemi, insan aklı kadar esnek ve duyguları olan bir İrade ( Karar alma yetisi ), Uzman sistemler kadar yetkin bir bilgi birikimi ve rasyonel yaklaşımın dengeli bir karışımı sayesinde Yapay Zekâ, gelecekte insan zekâsına bir alternatif oluşturabilir.
Bilginin hesaplanması matematiksel gelişme ile mümkün olabilir. Çok yüksek döngü gerektiren NP problemlerin çözümü, satranç oyununda en iyi hamleyi hesaplamak veya görüntü çözümleme işlemlerinde bilgiyi saymak yerine hesaplamak süreti ile sonuca ulaşılabilir.
Yeni matematik kuantum parçacık davranışlarını açıklayacağı gibi kuantum bilgisayarın yapılmasına olanak verir .
kaynak : https://tr.wikipedia.org/wiki/Yapay_zekâ

Örüntü Tanıma (Pattern Recogniton)
    Örüntü tanıma, sürekli devam ve tekrar eden şekiller olan örüntüleri tanımaya yarayan bir teknolojidir. Bir şeklin orantılı olarak büyütülüp veya küçültülmesine ise fraktal denir.
Problem alanıUygulama
Doküman analiziDoküman görüntüsü kullanılarak optik karakter tanıma (harf, rakam vs. karakterlerin tanınması)
Biometrik tanımaYüz, iris, imza, parmak izi, avuç izi gibi giriş örüntüleriyle kişi tanımlama/ yetkilendirme
TıpMikroskobik görüntüler alınan meyve görüntüleriyle meyvelerin (örn. kalite derecesine göre) sınıflandırılması
kaynak : https://tr.wikipedia.org/wiki/Örüntü_tanıma


Makine Öğrenimi
   
    Makine öğrenimi
bilgisayarların algılayıcı verisi ya da veritabanları gibi veri türlerine dayalı öğrenimini olanaklı kılan algoritmaların tasarım ve geliştirme süreçlerini konu edinen bir bilim dalıdır. Makine öğrenimi araştırmalarının odaklandığı konu bilgisayarlara karmaşık örüntüleri algılama ve veriye dayalı akılcı kararlar verebilme becerisi kazandırmaktır.
kaynak : https://tr.wikipedia.org/wiki/Makine_öğrenimi


Veri Madenciliği

    Basit bir tanım yapmak gerekirse veri madenciliği, büyük ölçekli veriler arasından bilgiye ulaşma, bilgiyi madenleme işidir. Ya da bir anlamda büyük veri yığınları içerisinden gelecekle ilgili tahminde bulunabilmemizi sağlayabilecek bağıntıların bilgisayar programı kullanarak aranmasıdır. Veri madenciliği deyimi yanlış kullanılan bir deyim olabileceğinden buna eş değer başka kullanımlar da literatüre geçmiştir. Veritabanlarında bilgi madenciliği (İng. knowledge mining from databases), bilgi çıkarımı (İng. knowledge extraction), veri ve örüntü analizi (İng. data/pattern analysis), veri arkeolojisi gibi.
Bunların arasındaki en yaygın kullanım Veritabanlarında Bilgi Keşfi (İng. VBK - Knowledge Discovery From Databases - KDD)'dir. Alternatif olarak veri madenciliği aslında bilgi keşfi sürecinin bir parçası şeklinde kabul görmektedir. Bu adımlar:
  1. Veri temizleme (gürültülü ve tutarsız verileri çıkarmak)
  2. Veri bütünleştirme (birçok veri kaynağını birleştirebilmek)
  3. Veri seçme (yapılacak olan analizle ilgili olan verileri belirlemek )
  4. Veri dönüşümü (verinin veri madenciliği tekniğinden kullanılabilecek hale dönüşümünü gerçekleştirmek)
  5. Veri madenciliği (veri örüntülerini yakalayabilmek için akıllı metotları uygulamak)
  6. Örüntü değerlendirme (bâzı ölçümlere göre elde edilmiş bilgiyi temsil eden ilginç örüntüleri tanımlamak)
  7. Bilgi sunumu (mâdenciliği yapılmış olan elde edilmiş bilginin kullanıcıya sunumunu gerçekleştirmek).
Veri madenciliği adımı, kullanıcı ve bilgi tabanıyla etkileşim halindedir. İlginç örüntüler kullanıcıya gösterilir, ve bunun ötesinde istenirse bilgi tabnına da kaydedilebilir. Buna göre, veri madenciliği işlemi, gizli kalmış örüntüler bulunana kadar devam eder.
kaynak : https://tr.wikipedia.org/wiki/Veri_madenciliği


13 Kasım 2016 Pazar

Azure ile Blob, Queue, Table Storage nedir ?

Blob Storage nedir?
    Azure Blob Storage; HTTP veya HTTPS aracılığıyla dünyanın her yerinde erişilebilen metin veya ikili veriler gibi büyük miktarda yapılandırılmamış nesne verilerinin depolanması için bir hizmettir. Verileri genel olarak herkese açık kullanıma sunmak veya uygulama verilerini özel olarak depolamak için Blob Storage’ı kullanabilirsiniz.
Blob Storage’ın yaygın kullanımları şunlardır:

  • Görüntülerin veya belgelerin doğrudan bir tarayıcıya sunulması
  • Dağıtılan erişim için dosyaların depolanması
  • Video ve ses akışları
  • Yedekleme ve geri yükleme, olağanüstü durum kurtarma ve arşivleme için verilerin depolanması
  • Şirket içi veya Azure barındırılan hizmetle analiz için verilerin depolanması
( kaynak : https://azure.microsoft.com/tr-tr/documentation/articles/storage-dotnet-how-to-use-blobs/ )


Kuyruk Depolama nedir?
Azure Kuyruk depolama, HTTP veya HTTPS kullanan kimlik doğrulaması yapılmış çağrılar aracılığıyla dünyanın her yerinden erişilebilen çok sayıda iletinin depolanması için bir hizmettir. Tek bir kuyruk iletisinin boyutu 64 KB’ye kadar olabilir ve bir kuyrukta, depolama hesabının toplam kapasite sınırına kadar milyonlarca ileti bulunabilir.
Kuyruk depolamanın yaygın kullanımları şunlardır:
  • Zaman uyumsuz olarak işlemek için kapsamı oluşturma
  • İletileri Azure web rolünden Azure çalışan rolüne geçirme
( kaynak : https://azure.microsoft.com/tr-tr/documentation/articles/storage-dotnet-how-to-use-queues/ )






Tablo Hizmeti nedir?
Azure Table Storage hizmeti büyük miktarlarda yapısal veriyi depolar. Bu hizmet, Azure bulutunun içinden ve dışından gelen kimliği doğrulanmış çağrıları kabul eden bir NoSQL olmayan veri deposudur. Azure tabloları, yapılandırılmış ve ilişkisel olmayan verilerin depolanması için idealdir. Tablo hizmetinin genel kullanımları şunları içerir:
  • Web ölçekli uygulamalara hizmet verebilen yapılandırılmış verilerin TB depolaması
  • Karmaşık katılımların, yabancı anahtarların veya depolanan yordamların gerekmediği ve hızlı erişim için normal olmayabilen veri kümelerinin depolanması
  • Kümelenmiş dizin kullanarak hızlı veri sorgulaması
  • WCF Veri Hizmeti .NET Kitaplıklarıyla OData protokolü ve LINQ sorgularını kullanarak verilere erişilmesi

Yapılandırılmış ve ilişkisel olmayan verilerin büyük kümelerini depolamak ve sorgulamak için Tablo hizmetini kullanabilirsiniz; tablolara talep arttıkça da ölçekleneceklerdir.
( kaynak : https://azure.microsoft.com/tr-tr/documentation/articles/storage-dotnet-how-to-use-tables/ )


Grupça hazırladığımız örnek storage videosu;

 

API nedir ? Web API nedir ?

Programlamada "uygulama programlama arayüzü" (API), yazılım uygulamaları inşa etmek için takip
edilen rutinler, uygulanan protokoller ve kullanılan araçlar bütünüdür. API bir yazılımın işleyişi,
girdileri, çıktıları ve altında yatan türleri açısından bunu ifade eder. Bir API kendi uygulamalarından
bağımsız olan işlevsellikleri tanımlar. İyi bir API programın bütün yapıtaşlarını (building blocks)
sağlayarak program geliştirmeyi kolay hale getirir. Sonrasında da programcılar blokları bir araya
getirir. Daha basit bir şekilde anlatmaya çalışırsak API'lar yani Uygulama Programlama Arayüzleri
iki ayrı veritabanının/yazılımın sorunsuz ve hızlı bir şekilde konuşmasını sağlayan yapılar bütünüdür.


Web API

Web API'ları, etkileşimlerin kuruluş ve uygulamalar arasında gerçekleştiği tanımlanmış arayüzlerdir.
Bir API yaklaşımı programlanabilir arayüz sağlayarak farklı tip tüketici topluluklarına hizmet eden farklı
uygulamaların bulunduğu servisleri sağlayan mimari yakaşımdır. Web geliştirme bağlamında ise bir





API tipik olarak Hypertext Transfer Protocol (HTTP) istek mesajları ile Extensible Markup Language
(XML) ya da JavaScript Object Notation (JSON) formatında olan tepki mesajları yapısının bir tanımıdır.
API'ları paylaşma pratiği web toplumlumuna kendisi ve uygulamalar arasında içerik ve data paylaşımı
için açık bir mimari yaratmasını sağlamıştır. Bu şekilde, bir yerde oluşturulan içerik dinamik olarak
internetteki birçok konuma gönderilebilir ve güncellenebilir.
  • Flickr ve Photobucket gibi sitelerden paylaşılan fotoğraflar Facebook, MySpace gibi sosyal
    ağ sitelerinde paylaşılabilir.
  • İçerik sayfaya gömülebilir. Örneğin, SlideShare'deki bir sunum LinkedIn profiline gömülebilir.
  • İçerik dinamik olarak gönderilebilir. Facebook hesabında canlı tweet paylaşımı API'lar sayesinde
    sağlanmaktadır.
  • Başka sunucuların hizmetiyle sitelere video içeriği gömülebilir.
  • Eğer içerik fiziki dünyanın direkt bir temsilcisiyse (mesela Dünya'da bir konumun sıcaklığı);
    API, EPI (Environmental Programming Interface) olarak adlandırılır.
Gözümüzde API'ı daha somut hale getirebilmek için gerçek bir API örneğini ele alalım. İnternet
üzerinden otobüs bileti alırken online seyehat servisi, seçtiğimiz kriterlere göre bize birkaç otobüs
firmasının bulunduğu seçenekler listesi çıkartır. Bize bu verileri sağlayabilmek için tüm şirketlerin
API'larından bilgi almalıdır. Girilmiş olan kriterlerle birlikte otobüs firmasından sefer bilgilerini ister.
Otobüs firmaları ise istenen veriyi online seyahat sağlayıcısı siteye gönderir. İşte bu örnekteki
gibi uygulama, veri ve cihazlar arasındaki pek çok etkileşim API ile sağlanır.
İşletim sistemleri, uygulamalar veya websiteleri için birçok farklı API çeşidi vardır. Örneğin
Windows'un sistem yazılımı ve donanımı tarafından kullanılan birçok API grubu vardır. Bir
uygulamadan diğerine kopyala-yapıştır yaparken bunun gerçekleşmesine API izin verir.
Başta gelen API'lara FacebookGoogle MapsTwitterYouTube ve AccuWeather'ı örnek verebiliriz.

Grup olarak AZURE'dan bir web uygulaması hazırladığımız ve yayına aldığımız
video serisi : 
https://youtu.be/FigArAvf76k
Kaynakça: