Don't wanna be here? Send us removal request.
Text
MSP Kick Off -1: Al-Machine Learning-Cognitive Services
Gün geçtikçe artarak devam eden inovatif teknolojilere ayak uydurmak , teknolojileri kullanmak , faydalanmak için öncelikle bu teknolojiler nelerdir bilmek gerekir. İşte bu yazı serisinde yeni nesil teknolojilerden bahsederek vizyonumuzu genişletmeyi hedefliyoruz.
Başlıkta da gördüğünüz gibi Msp Kick Off’da bahsedilen teknolojilerden bahsedeceğiz. Peki , Msp nedir? Msp Kick Off nedir?

Microsoft Student Partner
Kısa adıyla MSP programı dünya çapında gerçekleştirilen Microsoft ‘un öğrenci programlarından biridir. Bu kısa bir tanım. Bu program , öğrencileri mesleki açıdan geliştirmenin yanı sıra aynı zaman da sosyal , kültürel açıdan da geliştirmeyi hedeflemektedir. Öğrencilere Microsoft teknolojilerini öncelikli olarak kullanma , Microsoft yöneticileri tarafından mentorlük , Staj imkânı gibi şu an burada uzun uzadıya yazamayacağım kadar ayrıcalıklar tanınır. Bu ayrıcalıklar sayesinde öğrenciler proje , konferans , hackathon , meetup , workshop gibi etkinlikler düzenleyerek hem kendisine hem de çevresindekilere faydalı olur.

Microsoft Student Partner Kick Off
Amerikalıların tabiriyle tekme atan toplantılar. Evet aslında doğru bir söz. Msp Kick Off programa başlamadan önce öğrencileri program ve teknolojiler hakkında bilgilendirmek ve motive etmek için yapıldı. İstanbul’da Microsoft Türkiye ofisinde gerçekleştirilen bu toplantıda bahsedilen teknolojileri , konuları sizlere aktarmaya çalışacağım.

Yeni Nesil Yazılım Geliştirme Teknolojileri Nelerdir?
Al-Machine Learning-Cognitive Services
Internet of Things(IoT)
Virtual-Augmented Reality-3D Contents
Chat Bots
Cross Platform App Development
DevOps
Al-Machine Learning-Cognitive Services
Aslında yapay zeka teknolojilerinin hayatımıza dahil olduğu öğrenme disiplinidir. Günümüzde Türkçe karşılığı Makine Öğrenmesi diye geçer. Makine öğrenmesine örnek olarak görüntü işleme , dijital tanıma , din anlama gibi örnekler verebiliriz.
Microsoft Cognitive Services
Günümüzde gerçekleştirilen çoğu büyük projenin başarısız olma sebeplerinden en önemlisi kullanıcıların ne istediğini bilmemesidir. Bu bağlamda yapay zeka teknolojilerinden faydalanarak proje maliyetini düşürebiliriz kullanıcı memnuniyetini de arttırabiliriz. Peki yapay zekadan nasıl faydalanabiliriz? Microsoft’un geliştiricilere Open Source olarak sağladığı Microsoft Cognitive Services ile görüntü, konuşma, dil ve bilgi tanımaya yönelik, sayısı her geçen gün artan güçlü yapay zeka algoritmalarından yararlanabiliriz. Peki bu algoritmalar nelerdir?
Dil
Uygulamalarınızın doğal dil işlemesine, duygu ve konuları değerlendirmesine ve kullanıcıların ne istediğini tanımayı öğrenmesine imkan sağlayın.
Language Understanding Intelligent Service : Uygulamalarınıza kullanıcılarınızın verdiği komutları anlamayı öğretin
Metin Analizi API’si : Duyguları ve konuları kolayca değerlendirerek kullanıcıların ne istediğini anlayın
Web Dil Modeli API’si : Web ölçeğindeki veriler üzerine geliştirilen tahmine dayalı dil modellerinin gücünden yararlanın
Bing Yazım Denetimi API’si : Uygulamanızdaki yazım hatalarını saptayın ve düzeltin
Translator Metin Tanıma API’si : Basit bir REST API çağrısıyla kolayca otomatik metin çevirisi gerçekleştirin
Konuşma Tanıma
Uygulamalarınızda konuşma dilini işleme
Bing Konuşma Tanıma API’si: Metni konuşmaya, konuşmayı metne dönüştürerek kullanıcının amacını anlayın
Konuşmacı Tanıma API’si: Konuşmacıları belirlemek ve kimliklerini doğrulamak için konuşma özelliklerinden yararlanın
Translator Konuşma Tanıma API’si : Basit bir REST API çağrısıyla kolayca gerçek zamanlı konuşma çevirisi gerçekleştirin
Search
Bing Arama API’leriyle uygulamalarınızı, web sayfalarınızı ve diğer deneyimlerinizi daha gösterişli ve daha cazip hale getirin.
Bing Arama API’leri:Uygulamanız için web, resim, video ve haber arama API’leri
Bing Otomatik Öneri API’si: Aramalar için uygulamanıza akıllı otomatik öneri seçenekleri ekleyin
Görüntü Tanıma
Yüzler, resimler ve duygular hakkında akıllı bilgiler döndüren son teknoloji ürünü görüntü işleme algoritmaları, içerikleri otomatik olarak yönetmenize ve daha kişiselleştirilmiş uygulamalar oluşturmanıza yardımcı olur.
Yüz API’si : Fotoğraflardaki yüzleri algılayın, çözümleyin, düzenleyin ve etiketleyin
Duygu Tanıma API’si: Duygu tanıma ile kullanıcı deneyimlerini kişiselleştirin
Görüntü İşleme API’si: Görüntülerden eyleme dönüştürülebilir bilgiler çıkarın
Content Moderator: Otomatik görüntü, metin ve video denetimi
Bilgi Tanıma
Akıllı öneriler ve anlamlı arama gibi görevleri çözmek için karmaşık bilgi ve verilerin haritasını çıkarın.
Öneriler API’si : Müşterilerinizin isteyebileceği öğeleri tahmin edin ve önerin
Akademik Bilgi API’si: Microsoft Academic Graph’te yer alan geniş akademik içerikten faydalanın
Daha fazla Microsoft Cognitive Services için buraya tıklayabilirsiniz.
Bu yazımızda Al-Machine Learning- Cognitive Services’a değindik. 6 Seri olarak yayınlanacak bu yazının 2. Serisinde IoT’ye değineceğiz.
0 notes
Text
Bir proje tuttursam paraya para demem dediğiniz o muhteşem iş fikri nasıl gelir?
Bir Junior Developer’in ünlü bir sözünü okudunuz az önce. Aslında bunu hepimiz yaptık. Facebook , Twitter , Instagram gibi büyük projeleri hayal ederek “Bende mi yapsam?” demedik mi? Yada farklı bir yerden… Mahallede iyi iş yapan esnaf abimize özenip bizde mi yapsak demedik mi?
Evet dedik , hiç öyle kandırmayalım birbirimizi. Gelin… O günlerimize gidelim ve o muhteşem iş fikrinin neden bizi hâlâ bulmadığını sorgulayalım.
Onu yapan da insan bende insanım!
Yukarıda bahsettiğim büyük projeleri hayal ederek kendimizce muhteşem iş fikrini bulduktan sonra gaz olarak kullandığımız sözdür bu söz. Bu söz ile önce bir güzel gaz alırız sonra altın madeni bulmuşcasına bir hevesle işe başlarız. Fakat bir sözün geçici gazıyla büyük projeler ortaya çıkmıyor malesef.
Bunu zamanla farkedip -belki de gerçekten muhteşem olan- iş fikrimizden uzaklaşıyoruz.
Yaratıcılık doğuştan gelir!
Bazı insanlar nasıl bu kadar yaratıcı olabiliyor? Neden yaratıcı ve parlak fikirler bizim değil de onların aklına geliyor? Yaratıcı olmanın bir yolu ya da anahtarı var mı?
Bu sorular zaman zaman hepimizin aklına gelmiştir. Bir yanıt bulmaya çalıştığımızda ise genellikle yaratıcılığın “kişiye özgü”, “tanrı vergisi” bir şey olduğunu söyleyerek işin içinden çıkmaya çalışırız. Oysa yaratıcılık ve farklı düşünme her insanın sahip olduğu yeteneklerdir. Bundan dolayı doğuştandır.
Peki bunu nasıl başarabiliriz? Farklı bir düşünce tarzına, parlak fikirlere ve bunları cesurca ifade edebilme yeteneğine nasıl kavuşabiliriz?
Yaratıcı düşünmek bir süreçtir
Bu süreç nasıl işliyor? Bir yaratıcı fikir ortaya çıkarmadan önce hangi süreçleri takip etmeliyiz?
1-Hazırlık
Önce problemin farkına varmalıyız. Problem nedir sorusuna net bir şekilde cevap verebilmeliyiz. Bunu yaptıktan sonra problem hakkında okuma yapmalıyız. Gerekirse anahtar kişilerle görüşüp problem üzerinde tartışmalıyız. İlk aşamayı gerçekleştirmek istenilene karar vererek bitirebiliriz.
2-Kuluçka
Kuluçka diyorum çünkü adeta bir tavuğun kuluçkaya yatması gibi. Bu kısım çok eğlenceli bence. Bu aşamada problemden uzaklaşıyoruz. Sosyalleşiyoruz , spor yapıyoruz , müzik dinliyoruz , sinemaya gidiyoruz yani kısaca kafa dağıtıyoruz. Kafa dağıtırken dama , satranç gibi oyunlar oynamak daha faydalı da olabilir. Biz bu aşamada çılgınlar gibi kafa dağıtırken , aslında zihnimiz problemin çözümünü gerçekleştirir.
3-Aydınlanma
Bu aşamada artık yumurta çatlamıştır. Çözümlerin zihinde canlandığı süreçtir. Bu süreçte rahat ortamda çalışmalı , arada dinlenmeliyiz. Aynı zamanda bilgileri kaydedip bu bilgiler ışığında düşünce üretmeliyiz. Çözüm bu aşamada bulunur ve anlıktır.
4-Değerlendirme
Son süreçte motivasyonumuzu olabildiğince yüksek tutmalıyız. Bilgileri çevremizdekilerle paylaşıp öneri almalıyız. Aldığımız önerileri de değerlendirmeyi ihmal etmemeliyiz. Unutmayın sizin bulduğunuz her fikir sizin için mükemmeldir. Çünkü o , sizin için bir ilktir. Ama bunu fikirleri insanlarla paylaşarak kendi düşüncelerinize farklı bir pencereden bakabilme imkanı sağlayabilirsiniz. Daha sonra çözümü uygulayarak , eksiklikleri test edip giderebiliriz. Son olarak kendi çözümünüzü değerlendirebilirsiniz.
4 Süreci tamamladım ama hâlâ yok ?
Yok , çünkü yaratıcı birey özelliğimiz yok. Nedir bu özellikler?
1-Meraklı olmak!
2-Sınırsız hayal gücü!
3-Girişimci ruhu!
4-Özgünlük!
5-Sorgulayabilmek!
6-Bütün ve parça arasında farkı görebilme!
Bunlar yaratıcı bir birey de olması gereken özelliklerin sadece birkaçı. Fikir olabilmesi adına vermek istedim.
Hadi kendimizi güncelleyelim(update edelim mi demeliydim)!
Ha… Son sürümünüze bu özellikleri eklemeyi de unutmayalım!
0 notes
Text
Bir C Programlama Dili Sorunsalı : Nerede kullanacağım bunu ?
Asıl Soru : C ile neler yapabilirim ? Düşük seviyeli veya yüksek seviyeli dil demek o dilin eksik yönleri olduğunu çağrıştırmasın. Düşük seviyeli ve yüksek seviyeli dil denilmesindeki asıl sebep dilin , makine diline yakın olması veya uzak olmasıdır. C programlama dili üniversitelerde veya liselerde programlama mantığını öğretebilmek ve programlamaya başlangıç için genelde öğretilir. Bu dili öğrenmeye başlayan öğrenciler programlamaya henüz yeni giriş yaptığından dolayı basit problem örneklerinin dışına çıkamamaktadır. Ancak bu dili kullanarak ortaya somut projeler çıkarabileceğinin de farkında değildir. İşte bu yazımızda o farkındalığı yaratıyoruz !
C Dilini Tanıyalım

C dilinin özelliklerini tek tek maddeler halinde yazıp sizi sıkmak istemiyorum. Hatta özelliklerine geçmeden önce de bir kaç kavram üzerinde durmak istiyorum.

Düşük seviyeli programlama dili : Bilgisayarın ilk dönemlerinde kullanımı çok zor olan Makine ve Assembly dilleri kullanılırdı. Makine dili , geliştirilen ilk programlama dilidir. Makine dilinde yazılan tüm komutlar 0 ve 1'lerden oluşur. Bütün talimatlar en detaylı bir şekilde tanımlanır ve iki tabanlı sayı sistemi kullanılarak kodlama yapılır. Bu dillerin kullanımı çok zordur. Bu diller ve makine diline yakın diller düşük seviyeli programlama dili diye nitelendirilir.

Yüksek seviyeli programlama dili : Bu dillerin öğrenilmesi , yazılması daha kolaydır. Bu diller aynı zamanda daha iyi sonuçlar sağlar. Bu tür yüksek seviyeli dillerde yazılan programlar makine diline çevrilmek zorundadır.
Çok yüksek seviyeli programlama dilleri: Bu dillerdeki temel özellik kullanıcıların bilgisayara bir şeyin nasıl yapılacağını değil, ne yapılacağını ifade edebilmelerine imkan vermesidir.
Olmadı , havada kaldı böyle. Bir örnek ile açıklayalım.

Örneğin; sayıların sıraya dizilmesi işlemini yapabilmek için bir yüksek seviyeli dil ile karmaşık bir mantık kullanarak 15–20 satırlık bir program yazmak gerekir. Bunun aksine bir çok yüksek seviyeli dil ile bir kullanıcının yapacağı iş; sıraya dizilecek alanı, sıralama işleminin küçükten büyüğe mi yoksa büyükten küçüğe mi yapılacağını belirlemek ve ekrandaki bir ikona tıklayarak yada bir menüden “sırala” komutunu seçerek sıralama işlemini gerçekleştirmektir.
Peki , C dili seviyesi nedir?
C programlama dili düşük seviyeli dillere oranla daha anlaşılır , çok yüksek seviyeli dillere oranla daha fazla esnek bir dil olması sebebiyle arada bir noktada diyebiliriz. C dili makine diline yakın olması sebebiyle hem donanıma hitap eder , hem de uygulama geliştirmede kullanılır. C ile programlamada bilgisayara daha fazla hakimiyet vardır , daha az hazır fonksiyon ve kütüphane vardır. Bundan dolayı donanım hesaba katılarak programlama yapılması gerekir.
UNUTMAYALIM !
Düşük seviyeli veya yüksek seviyeli dil demek o dilin eksik yönleri olduğunu çağrıştırmasın. Düşük seviyeli ve yüksek seviyeli dil denilmesindeki asıl sebep dilin , makine diline yakın olması veya uzak olmasıdır.

Sıkılmayalım… C’yi tanımaya devam edelim.
Neden İlk C Öğretilir?
1- C programlama dili algoritma mantığını oturtabilmek için kullanılabilecek bir dildir. Güçlü ve esnek bir dil olması buna olanak sağlar.
2- C için yazılım geliştirme ortamları (IDE) oldukça fazladır.
3- C dili taşınabilirdir , donanımdan ve işletim sisteminden bağımsızdır. C dili ile dikkatli bir biçimde yazılmış bir program, her bilgisayara taşınabilir.
4- C yapısal bir programlama dilidir. Yapısal nedir? Açalım biraz.
C kodları fonksiyon olarak adlandırılmış alt programlardan oluşmuştur. Bu , C’ye yapısal programlama niteliği kazandırmış olur. Günümüzde yapısal programlamanın yerini nesneye dayalı programlama almış olsa da programlamanın temellerini / mantığını öğrenmek ve nesneye dayalı programlamaya geçiş yapmak için yapısal programlamayı bilmek önemlidir.
5- C++, Java, JavaScript , JavaApplet , PHP , C# gibi diller C dilinden esinlenmiştir.
Asıl Soru : C ile neler yapabilirim ?
Yukarıda da bahsettiğim gibi okullarda algoritma mantığını öğretebilmek için yapısal programlama dili olan C ile eğitime başlanır. Programlamaya henüz yeni başlamış öğrenciler de basit kontrol yapıları , döngü örneklerinin dışına çıkamayarak yukarıda olduğu gibi küçük küçük problemleri tekrar tekrar çözerek C defterini kapatmak zorunda kalır. Somut bir şeyler yapmak isterken tıkanıp kalmadan C’yi kullanarak ortaya o kadar güzel projeler çıkartabiliriz ki…
1- Driver yazabilirsiniz !
Bildiğiniz üzere driverlar (Sürücüler) sistem üzerinde tam yetkiye sahip, ring 0 dediğimiz sistemin merkezinde çalışan sys uzantılı dosyalardır. C programlama dilini kullanarak driver yazabilirsiniz!
2- Grafik ve Oyun yazabilirsiniz !
C dili satranç, zıplayan top, okçuluk vb. Gibi çeşitli grafik ve oyun uygulamalarının geliştirilmesinde kullanılmıştır. Programlama dili olsun , taştan olsun diyenler için , C ile oyun yazmayı deneyin!
3- Gömülü sistemler kodlayabilirsiniz !
Çamaşır makinesi , bulaşık makinesi , hesap makinesi , makinesi , makinesi… C ile kolayabiliriz. Bu cihazların beynini c ile kodlayarak , yönetimini sağlayabiliriz.
4- Robot yapabilirsiniz!
Arduino gibi mikrodenetleyici kartlarını kullanarak hayal ettiğiniz donanımları kendiniz kodlayabilirsiniz!
5- İşletim Sistemi !
Unix-Çekirdeği, Microsoft Windows programları , işletim sistemi uygulamaları ve Android işletim sisteminin büyük bir bölümünün C ile yazıldığını biliyor musunuz?
6- Bir programlama dili de siz yazabilirsiniz!
C# , Java , Limbo , JavaScript , Perl , UNIX’in C Kabuğu , PHP ve Python , değişken kapasitede C’yi kullanır: Örneğin Python’da C standart kütüphaneler oluşturmak için kullanılırken, C++, Perl ve PHP gibi diğerleri C temelli sözdizimi ve denetim yapıları kullanır.
7- Hesaplama Platformları !
C, algoritmaları ve veri yapılarını hızla uygular ve programlarda daha hızlı hesaplamaları kolaylaştırır. Bu, MATLAB ve Mathematica gibi daha yüksek derecelerde hesaplama gerektiren uygulamalarda C’yi kullanmayı sağlamıştır.
Bu yazıyı yazarken desteklerini esirgemeyen Yrd. Doç. Dr. Deniz KILINÇ hocama teşekkür ederim.
#blog#blogger#yazılım#kodlama#software#engineering#software engineering#c#c programming#işletim sistemi#os#machine learning
0 notes
Text
Blog yazmak hayat kurtarıyor! Peki yazmaya nasıl başlamalıyım?
Blog yazmaya başlarken düşündüm ilk önce ne yazabilirim diye. Ve bu blogu yazmayı neden düşündüğümü , nasıl başladığımı , neler yapmak istediğimi , neler kazanmak istediğimi anlatarak benim gibi blog yazmak isteyip de bir türlü başlayamayanlara yol göstermek istedim.

Yazmak Neden Önemlidir?
Evet , farkındaysanız blog yazmak neden önemlidir demedim , yazmak neden önemlidir diyorum. İlla blog yazmak zorunda değilsiniz , bir kağıda aklınızdan geçen düşüncelerinizi fikirlerinizi yazmak bile size çok şey katacaktır. Çünkü yazmak , sorulmaya değer sorular ortaya koyma yeteneğinizi destekler , düşüncelerinizi saklar ve daha sonra o düşünceler üzerinde tekrardan düşünmenizi sağlar yani kısaca yazmak düşünme ve becerileriyle sizi donatır.
Neden Blog Yazmalıyım?

Yazmanın bize olan faydalarından bahsetmişken gelin bu yazdığımız yazıları boş kağıda değil de blogumuza yazalım! Neden mi ? Çünkü yazdığımız bize kalmasın. Yayalım! İçimizdeki paylaşımcı ruhumuzu çıkaralım ortaya.
Öğrendiğimiz bir şeyi , bu herhangi bir konu hakkında bilgi , fikir olabilir , başka birisine düzgün bir şekilde anlatamıyorsak bence aslında o şeyi öğrenmemişiz demektir. Çünkü tam olarak öğrendiğimiz bir şeyi birilerine aktarabilmemiz gerekir. İşte bu noktada hem kendinizi sınamak hem de insanlara faydalı olabilmek adına öğrendiğiniz her şeyi blog yazılarınız ile aktarabilirsiniz. Hem de yalnız bir kişiye değil birçok kişiye anlatmış olursunuz. İşte blog yazarak öğrenmiş olduğunuz şeyleri pekiştirebilir , topluma faydalı bilgiler sunabilir , başkalarının size geri dönüş yapmasına olanak sağlayabilir ve geri dönüş sonucunda düşüncelerimizi inceltmemize yardımcı olabiliriz.
Blog Yazmak İşe Alım Sürecinize Katkı Sağlar!

Ben ayrıca blog yazmaya başlarken şunu düşündüm , beni tanımak isteyen insanlar , bunlar işverenler de olabilir , beni nasıl tanıyacaklar ? Düşüncelerimi , fikirlerimi , ideallerimi tam olarak nasıl öğrenebilirler. İşte bu noktada da imdadıma blog yazma fikri yetişti. Çünkü burada yazdıklarımı okumak isteyen herkese ulaştırabileceğimi düşündüm. Düşünsenize , bir şeyler söylemek bir şeyler anlatmak istiyorsunuz ve sizi dinlemek isteyen insanlar hazır bir şekilde sizi bekliyor. Eh herhalde tepkisiz kalmak istemezsiniz…

Ben yazamam ki…
Öyle bir şey yok ! Ben yazamam , benim yeteneğim yok , yazmak bana göre değil. Bunları tekrar edip kendinizi daha fazla engellemeyin. Konuşabilen her insan kendisini ifade edebilmek için konuşur. O halde konuşun. Hatta ne yapın biliyor musunuz ? Sesinizi kaydedin. Evet evet sesinizi kaydedin(Sanırım bende yapmalıyım). Duvarla bir arkadaşınızla muhabbet eder gibi bir konu hakkında muhabbet edin. Ve sonra söylediklerinizin özetini çıkarın ardından yazın.
Evet artık sende yazabiliyorsun!
Blog Yazmaya Nasıl Başlamalıyım ?

Yazılım ile yeni tanışmış olabilirsiniz , henüz 1. Sınıf öğrenci de olabilirsiniz. Hatta ve hatta , daha önce bilişim ile uzaktan yakından alakanız dahi olmamış olabilir. Ama bence bu “Ben daha yeniyim biraz daha geliştireyim de sonra başlarım” düşüncesini sizlerde oluşturmamalı. En basitinden wordpress sitesi kurarak bir blog yapabilirsiniz. Yapacağınız tek şey wordpress’e üye olmak ve next next next demek !
Değerli blog yazılarınızı bana göndermeyi de unutmayın :)
0 notes