# Mevlüt Canvar > Software, nature and everything in between. Personal blog of Mevlüt Canvar (Software Engineer), written in Turkish and English. Every post is also available as plain Markdown by adding `.md` to its URL. - Turkish home: https://mcanvar.dev/ - English home: https://mcanvar.dev/en - About the author: https://mcanvar.dev/en/about ## Posts (English) - [Sentiment Analyasis in Ekşi Sözlük Using Data Mining Methods](https://mcanvar.dev/en/sentiment-analyasis-in-eksi-sozluk-using-data-mining-methods.md): In simple terms, Ekşi Sözlük is an internet dictionary and it includes topic titles consisting of words and short sentences. The users of this platform can define these titles and write whatever they want. In this way, Ekşi Sözlük becomes more flexible, and of course more likeable, than other platforms. On the other hand, there is a huge amount of information flow and this situation brings some difficulties to usage of the dictionary. ## Yazılar (Türkçe) - [Xiaomi Mi Pro 2 Skuterim Bir varmış, bir yokmuş!](https://mcanvar.dev/xiaomi-mi-pro-2-skuterim-bir-varmis-bir-yokmus.md): Xiaomi Mi Pro 2 elektriklli skuterimin(Scooter) çalınma hikayesi ve sonrasında polisle ve firmayla yaşadıklarım ektedir. - [MVC Mimari Deseni](https://mcanvar.dev/mvc-mimari-deseni.md): Mimari desenlerinin(software pattern) arkasındaki esas düşünce yüksek seviyeli etkileşimleri özümsemek ve nesneler arasındaki bu davranışları başka uygulamalarda tekrardan kullanabilmektir. Her bir desen tekrar tekrar oluşan bir problemi ele alır ve çözümün temelini açıklar. Daha sonra bu çözüm tekrar tekrar defalarca kullanılabilir. MVC Mimari Deseni’nin işleyiş şeması. MVC Mimari Deseni’nin işleyiş şeması. - [Bitirme Tezi Sonuçları ve Değerlendirmesi](https://mcanvar.dev/bitirme-tezi-sonuclari-ve-degerlendirmesi.md): Ekşi Sözlük’te duygu analizi yaparak hizmet sunmayı hedefleyen bu çalışma duygu analizi yöntemleri kullanarak, makine öğrenmesi yoluyla başarılı olduğu için SMO algoritmasını tercih edilmiştir. SMO algoritması ile elde edilen doğruluk yüzdesi daha önce Ekşi Sözlük üzerinde denenmemiş olan duygu analizi yönteminde, polar-nötr sınıflandırmada %58.26, mutlu-mutsuz sınıflandırmada ise %69.61 başarı sağlamıştır. Bu çalışma Ekşi Sözlük üzerinde yapıldığı için ve bir internet servisine sahip olduğu için diğer Türkçe duygu analizi uygulamalarından farklılık göstermektedir. - [Uygulama Metodları: Eğitim Kümesinin Elde Edilmesi](https://mcanvar.dev/uygulama-metodlari-egitim-kumesinin-elde-edilmesi.md): Sürecin ilk aşamasının hedefi olan eğitim kümesini elde etmek için Ekşi Sözlük‘ün herhangi bir UPA’sı olmadığı için küme HTTP istekleri ile elde edilecektir. Bunun için import.io özelleştirilmiş tarayıcısı kullanılacaktır. - [import.io Uygulama Programlama Arayüzü](https://mcanvar.dev/import-io-uygulama-programlama-arayuzu.md): Eylül 2013 de beta sürümüyle yayınlanan servis, herhangi bir kod yazmadan bile veri ayıklayabilen internet tabanlı bir platformdur. İçinde yer alan araçlar kullanıcının tamamen kendisinin tıklamalarıyla oluşturulan basit makine öğrenmeleriyle kullanıcılarına kendilerine özel UPA(Application Programming Interface) oluşturmalarına izin verir. - [Tez Metodları: İnternet Servisi (Web Service)](https://mcanvar.dev/tez-metodlari-internet-servisi-web-service.md): İnternet Servisleri HTTP protokolü üzerinden hizmet veren fonksiyonlar bütünüdür. Bir kullanıcının HTTP üzerinden bir web servisi kullanmasına denmektedir. HTPP üzerinden yapılan bu çağrımlara karşı sistem XML veya JSON çıktıları üretir. - [Duygu Analizi Çalışması](https://mcanvar.dev/duygu-analizi-calismasi.md): Bu süreç boyunca elde bulunan eğitim kümesi nden veri ambarı tasarımı yapılması hedeflenir. Kelime bazlı frekans hesabı yapılır, kelime kümesi seçilir, seçilen küme ayrı bir tabloda saklanır ve kaynak olarak kullanılır. Veri ambarı söz konusu 2 tablo yardımıyla meydana getirilir ve süreç sonucunda artık veri algoritma girdisi olarak hazır hale gelmiş olur. - [Duygu Analizi](https://mcanvar.dev/duygu-analizi.md): Duygu analizinde doğru ve çabuk sonuçlar elde etmek için mutlaka bilgisayar destekli sistemlere ihtiyaç vardır. Bu bağlamda veri madenciliği yöntemleri duygu analizinde oldukça etkin olarak kullanılan verimli yöntemlerdir. Veri madenciliği, eldeki büyük miktarlı verilerden üstü kapalı, çok net olmayan, önceden bilinmeyen ancak potansiyel olarak kullanışlı bilginin çıkarılmasıdır. - [QBasic ile Girilen Sayıya Kadarki Sayıların Toplamını Bulma](https://mcanvar.dev/qbasic-ile-girilen-sayiya-kadarki-sayilarin-toplamini-bulma.md): Quick Basic(QBasic yada QB) DOS tabanlı, BASIC dili ile programlar yazabilemizi sağlayan, Microsoft tarafından geliştirilmiş bir tümleşik geliştirme ortamıdır(IDE). - [Ekşi Sözlük'te Veri Madenciliği](https://mcanvar.dev/eksi-sozlukte-veri-madenciligi.md): Ekşi Sözlük gerek sahip olduğu kullanıcı sayısıyla gerekse de yazarlarının girdiği günlük dinamik veri akışı sayesinde yüksek düzeyde veriye sahip bir platformdur. Bu durum üzerinde veri madenciliği yöntemlerinin uygulamasına mümkün kılar. - [Uygulama Metodları: Yazı Ön İşleme](https://mcanvar.dev/uygulama-metodlari-yazi-on-isleme.md): Verimiz artık uygun bir ortamda bulunduğu için veri madenciliği ön hazırlık sürecine tabi tutulabilir haldedir. Sırasıyla aşağıdaki adımlar izlenerek veri istenilen şekle sokulur. - [Veri Madenciliği Aşamaları](https://mcanvar.dev/veri-madenciligi-asamalari.md): Veri madenciliği çeşitli adımlardan oluşur ve bu adımlar sayesinde bir süreç olarak sonuca varır. Veri kaynağından alınan ham veriden algoritmaya giden yolda veri; temizlenir ve indirgenir. Daha sonrasında veri madenciliği metotları uygulanarak çeşitli bulgular elde edilir. - [Veri Ambarı](https://mcanvar.dev/veri-ambari.md): Veri madenciliğinin ilgilendiği veri, karar destek sistemi denilen, yöneticileri ilgilendiren sistemler sayesinde ele alınabilmektedir. Farklı uygulamalar sonucu aktif olarak kullanılmış ve artık bir kayıt olarak yer alan ilişkisel verilerin bir veri kümesinde toplanarak karar destek sistemleri için bir kaynak haline getirilmesine veri ambarı denir. - [Veri Kavramı ve Madenciliği](https://mcanvar.dev/veri-kavrami-ve-madenciligi.md): Veri kavramı ortaya çıktığından beri hep saklanması için gerekli olan dosyalama sistemi çözümlerine ihtiyaç duymuştur. İlk veri saklama işleminden bu yana çok hızlı bir şekilde gelişen bilgisayar bilimleri bu alanda da çığır aşmıştır. - [MySQL Workbench Birleşik Görsel Aracı](https://mcanvar.dev/mysql-workbench-birlesik-gorsel-araci.md): MySQL sunucularıyla ve veri tabanlarıyla çalışmak için yaratılmış grafiksel bir araçtır. MySQL 5.1 ve üstünü tam olarak, MySQL Server 5.0’ı ise büyük bir çoğunlukla destekler. - [Veri Madencilığı Projesinin Gerçekleştirilmesi](https://mcanvar.dev/veri-madenciligi-projesinin-gerceklestirilmesi.md): Veri madenciliği çeşitli adımlardan oluşur ve bu adımlar sayesinde bir süreç olarak sonuca varır. Veri kaynağından alınan ham veriden algoritmaya giden yolda veri; temizlenir ve indirgenir. Daha sonrasında veri madenciliği metotları uygulanarak çeşitli bulgular elde edilir. - [Projede Kullanılan Yöntem, Dil, Araç, Teknoloji vb. Seçimindeki Sebepler](https://mcanvar.dev/projede-kullanilan-yontem-dil-arac-teknoloji-vb-secimindeki-sebepler.md): Günümüze doğru geldikçe büyüyen içeriği ile artık günlük ortalama 25 000 girdi girilen bir platform olan Ekşi Sözlük çok yoğun bir veri akışına sahiptir. 2012’de açıkladığı istatistiklere göre günlük yüzbinlerce tekil organik ziyarete sahip, bu ziyaretçilerin %72’sinin birden çok sayfasını ziyaret ettiği, hemen çıkma oranının %7 gibi çok düşük bir oran olduğu ve birçok işletim sisteminden, tarayıcıdan mobil cihazlar dâhil olmak üzere takip edilen devasa bir veri deposudur. - [IntelliJ IDEA Tümleşik Geliştirme Ortamı](https://mcanvar.dev/intellij-idea-tumlesik-gelistirme-ortami.md): IntelliJ IDEA’nın ilk sürümü Ocak 2001’de yayınlanmıştır. Java IDE’leri arasında gelişmiş kodda gezinme ve kodları yeniden düzenleme özellikli ilk IDE‘lerden bir tanesidir. - [NetBeans Tümleşik Geliştirme Ortamı](https://mcanvar.dev/netbeans-tumlesik-gelistirme-ortami.md): 1999 yılında Sun Microsystems tarafından alınana kadar bir Java TGO(Integrated Development Environment) projesi olan NetBeans, günümüzde Oracle tarafından geliştirilen, geniş kullanıcı tabanlı, açık kaynak kodlu çapraz-platform bir projedir. - [MySQL for Excel Eklentisi](https://mcanvar.dev/mysql-for-excel-eklentisi.md): Microsoft Office Excel Programı’nın veri sekmesinde yer alan bir eklentidir. Excel verilerini MySQL veri tabanlarına taşımak veya tam tersi işlemler yapmak için geliştirilmiş bir sihirbazı barındırır. - [Import.io Özelleştirilmiş Tarayıcısı](https://mcanvar.dev/import-io-ozellestirilmis-tarayicisi.md): Servisin kullanıcıları için kendilerine özel UPA(API) ’lar tasarlamaları için görsel arayüz sunan, açık kaynak kodlu Mozilla Firefox tabanlı bir tarayıcı araçtır. - [Spring MVC Çatısı ve Hibernate Nesne ile İlişkisel Eşleme](https://mcanvar.dev/spring-mvc-catisi-ve-hibernate-nesne-ile-iliskisel-esleme.md): Spring MVC, Spring Çatısı’nın internet tabanlı bileşenidir. Güçlü internet(web) uygulamaları geliştirmek için birçok fonksiyonellik sunar. Bu çatı tasarlanırken yapıyı oluşturan her bir parçanın yüksek derecede yapılandırılabilir olmasına dikkat edilmiştir. Ayrıca diğer popüler web çatılarıyla ( Struts, WebWork, Java Server Faces ve Tapestry) entegre edilebilmektedir. - [JQuery JavaScript Kütüphanesi](https://mcanvar.dev/jquery-javascript-kutuphanesi.md): İstemci taraflı betiklemeyi kolaylaştırmak için tasarlanan bir platform bağımsız açık kaynak lisanslı bir JavaScript kütüphanesidir. En popüler JavaScript Kütüphanesi olmanın yanında dünyanın en yüksek trafikli ilk 10 000 internet sitesi tarafından %65 oranla tercih edilmektedir. - [Java Programlama Dili](https://mcanvar.dev/java-programlama-dili.md): Adı “Green Project” olarak bilinen bir projenin içerisinde yer alan James Gosling, proje için en uygun dilin belirlenmesi işini üstlenmiştir. 1984’de Sun Microsystems’de göreve başlayan Gosling, çalışmalarına C++ ile başlamış ancak bu dilin proje için yeterli olmayacağı düşüncesiyle, yine bu dilin bir türevi olan ve ilk adı “Oak” olan yeni bir dili geliştirmeye başlamıştır. - [Bootstrap Önyüz Çatısı](https://mcanvar.dev/bootstrap-onyuz-catisi.md): İlk ismi Twitter Blueprint olan, Twitter için üretilmiş çatı, internet siteleri ve internet uygulamaları için geliştirilmiş, açık kaynak kodlu araçlar bütünüdür. Temmuz 2015 itibariyle Github’ da 83 000 yıldız alarak sitenin en popüler projelerinden biri olmuştur. - [Tez Metodları: Weka Kullanımı](https://mcanvar.dev/tez-metodlari-weka-kullanimi.md): Weka makine öğrenmesi algoritmalarının ve veri ön işleme araçlarının bir araya getirildiği, akademik çalışmalarda sıklıkla kullanılan, açık kaynak kodlu bir veri madenciliği programıdır. WEKA Yeni Zelanda Waikito Üniversitesinde, nesne yönelimli programlama dillerinden biri olan Java ile geliştirilmiş ve halen yeni sürümleri geliştirilmeye devam etmektedir. - [PHP Betik Programlama Dili](https://mcanvar.dev/php-betik-programlama-dili.md): Geniş bir kullanıcı kitlesine sahip, açık kaynak kodlu, HTML içerisine gömülebilen betik bir dildir. 1995 yılında Rasmus Lerdorf tarafından ilk kez gün yüzüne çıkarılan PHP’nin geliştirilme süreci günümüzde PHP Topluğu tarafından sürdürülmektedir. - [Veri Madenciliği Yöntemlerine Giriş](https://mcanvar.dev/veri-madenciligi-yontemlerine-giris.md): İletişim ihtiyacı tarih boyunca sürmüş ve insanlar her dönemde bu ihtiyacı farklı araçlarla sağlamışlardır. Günümüzde bu ihtiyacımızı büyük ölçüde internet, sosyal medya aracılığıyla karşılamaktadır. Küresel anlamda Facebook, Twitter gibi markalar lider olsa da ülke bazında bu ihtiyacın karşılanması çeşitlilik gösterebilmektedir. - [Integration Tutorial: jQuery File Uploader 9 with CodeIgniter 3](https://mcanvar.dev/integration-tutorial-jquery-file-uploader-9-with-codeigniter-3.md): After i saw the jQuery File Uploader on GitHub i definitely want to use it one of the my projects which continue developing for a keywords tool app with the CodeIgniter Framework. - [HTML İşaretleme Dili ve CSS Stil Şablonları](https://mcanvar.dev/html-isaretleme-dili-ve-css-stil-sablonlari.md): HTML, temelleri 1990 yılında atılan, internet sayfalarını oluşturmak için kullanılan standart bir işaretleme dilidir. Bir programlama dili değildir, sadece çeşitli yorumlayıcılar (tarayıcılar vs.) tarafından yorumlanır. - [Planlama: 2. Elde Edilen Verinin İşlenmesi ve Veri Tabanına Kaydı](https://mcanvar.dev/planlama-2-elde-edilen-verinin-islenmesi-ve-veri-tabanina-kaydi.md): Önceki adımdan elde edilen verilerin bir mantık motorundan geçirilmesi gerekir. Bu motorun PHP betik programlama dili ile yapılandırılacağı ve elde edilen girdi dizinin her bir öğesinin veri madenciliği yöntemleri ile programlanan algoritmadan geçirilip duygu etiketlemelerinin yapılacağı adımdır. - [MySQL Veritabanı Yönetim Sistemi](https://mcanvar.dev/mysql-veritabani-yonetim-sistemi.md): Kurucularından birinin kızının adı olan My kelimesinin, SQL kısaltmasının önüne eklenmesi ile oluşan MySQL, Oracle firması tarafından geliştirilen, dağıtılan ve desteklenen oldukça popüler bir açık kaynak kodlu veri tabanı yönetim sistemidir. Bir veri tabanı verilerin yapısal bir şekilde toplanmış halidir. - [Planlama: 3, 4 ve 5 Görsel Arayüz, Yayın ve Test](https://mcanvar.dev/gorsel-arayuz-yayin-ve-test.md): Projenin planlanan ana bölümü bir akışa sahip zaman tüneli şeklinde olacağı için ilk olarak Bootstrap kütüphanesinden istenilen bileşenler belirlenir. Bu tepkisel bileşenler bir araya getirilip basit sade ve amaca uygun olarak birleştirilir. Birleştirilen bu bileşenlerin içleri, test için doldurulur. - [CodeIgniter Database Session Migration Class](https://mcanvar.dev/codeigniter-database-session-migration-class.md): CodeIgniter‘ın bize sunduğu performans, kendisini sık olarak orta ölçekli projeler geliştirirken kullanmamızı sağlıyor. Bu tarz projelerde ortak çalışmalar veritabanı değişikliği ile sık sık aksayabiliyor. Bunları aşmak için migration sınıflarını kullanarak veritabanını uygulamada geliştirilen kısımlarla beraber güncel tutabiliyoruz ve bu geliştiriciler için bir çok baş ağrısını bir kenara bıraktırıyor… - [Planlama: 1. Veriyi Elde Etmek için Connector ve UPA Oluşturma](https://mcanvar.dev/planlama-1-veriyi-elde-etmek-icin-connector-ve-upa-olusturma.md): Bu başlıktaki(planlama) adımlar karşılaşılan zorluklar veya kolaylıklar karşısında değişiklik gösterebilirler. Veriyi düzenli ve biçimli bir şekilde elde etmemize olanak sunan import.io aracındaki Connector veri toplayıcısını kullanarak veri toplamak amaçlanmıştır. - [Bitirme Projemin Tanımı ve Amacı](https://mcanvar.dev/bitirme-projemin-tanimi-ve-amaci.md): Projenin temel amacın kullanıcılarına daha sade bir arayüz ile gereksiz içerik yığınından arındırılmış, gruplanmış ve duygu imleriyle işaretlenmiş veriyi sunmaktır. - [Bitirme Projemin Konusu ve Kapsamı](https://mcanvar.dev/bitirme-projemin-konusu-ve-kapsami.md): Veri madenciliği algoritmalarından bir veya birkaç tanesinin özelleştirilmesiyle oluşturulan veri motoru sayesinde, sözlükten elde edilen ham verilerin işlenip, üretilen verinin görsel bir arayüz aracılığıyla kullanıcıya servis edilmesidir. - [Veri Madenciliği Yöntemleri Kullanarak Ekşi Sözlük Kaynaklı Duygu Analizi](https://mcanvar.dev/veri-madenciligi-yontemleri-kullanarak-eksi-sozluk-kaynakli-duygu-analizi.md): Henüz sosyal medya diye bir kavram yokken, kendi kitlesini zamanla toparlayan ve Türkiye’nin sosyal platform ihtiyacını önemli ölçüde karşılayan Ekşi Sözlük, günümüzde her gün binlerce kullanıcısı tarafından yazılan ve yüz binlerce ziyaretçi tarafından okunan bir platform halini almıştır. - [CodeIgniter'a Giriş: CRUD Uygulaması](https://mcanvar.dev/codeignitera-giris-crud-uygulamasi.md): 2015-16 döneminde aldığım Special Topics in Computer Engineering II dersinde php çeşitli uygulamarı yaptık. Sıra çatı(framework) seçimine gelince CodeIgniter basit yapısıyla seçimimiz oldu. Dersin vizesine hazırlanırken çatının içerdiği rotalar ve MVC yapısını kullanarak basit bir CRUD(Oluştur, Oku, Güncelle ve Sil ) işlemleri yapan uygulama geliştirdim. Uygulama öğrenci numarası, isim, soyisim ve cinsiyet bilgilerini tutuyor. - [Birçok yönüyle str_word_count Fonksiyonu](https://mcanvar.dev/bircok-yonuyle-str-word-count-fonksiyonu.md): Bu fonksiyonun temel olarak yaptığı iş karakter katarındaki(string) kelime sayısını bize tam sayı(int) tipinde geri döndürmesidir. Tabi prototipten de anlaşılacağı üzere bu işi formatlı olarak da yapabiliyor. Eğer format verilmişse döndürdüğü değer bir dizge(array) oluyor, tabi bu dönen değer belirtilen formatta oluyor. Gönderilen yazının tek tırnak(‘) ve tire(-) ile başlamaması gerekiyor. - [GitHub SDP yardımıyla Namecheap'den ücretsiz .me Alan Adı Alımı](https://mcanvar.dev/github-sdp-yardimiyla-namecheapden-ucretsiz-me-alan-adi-alimi.md): GitHub Student Developer Pack öğrencilere birçok fırsat sunuyor. Bunlardan birtanesi ise Namecheap alan adı firmasının ücretsiz .me uzantılı alan adı. Bu fırsatlardan yararlanmamız için okulumuzun verdiği öğrenci mail adresi aracılığı ile öğrenci olduğumuzu kanıtlamamız isteniyor. - [Veri Madenciliği Yöntemleri](https://mcanvar.dev/veri-madenciligi-yontemleri.md): Birçoğu istatistiksel olmak üzere bu yöntemler bünyelerinde çok sayıda algoritma barındırmaktadırlar. Sınıflandırma, Kümeleme ve Birliktelik Kuralları olarak 3 ana grupta ele alınırlar. ## Optional - [Full text of every post](https://mcanvar.dev/llms-full.txt) - [RSS (Turkish)](https://mcanvar.dev/feed.xml) · [RSS (English)](https://mcanvar.dev/en/feed.xml)