Showing Posts From

Genel

1. Ders – Python 2.7.3 Kurulumu – Videolu Python Dersleri

Merhaba arkadaşlar. Videolu Python derslerine bu video ile başlıyorum. İlk derste kurulum yapıldı ve Python 2.7.3 kuruldu. Ayrıca path’e eklendi. Sorularınızı her zaman buradan ya da: ### [http://www.ufakseyleratolyesi.com/sorucevap/](http://www.uf...

1 – Matlab ile Değişken Tanımlama ve Yorum İşlemleri

Matlab yazılarını belirli bir sırayla ve düzenli olarak yazma ihtiyacı duydum. Bu başlangıç yazısında Matlab üzerinde değişken tanımlamadan ve yorum satırlarından bahsedeceğim. Öncelikle, değişken tanımlama konusunda tür belirtmemiz gerekmediğini sö...

10. Ders – Python’da List Comprehension

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/ders5_1.jpeg)Python’da liste, demet ve sözlük gibi yapıları döngü ile oluştururken, hem kodu kısaltacak hem verimi artıracak bir yapı mevcut. Buna list comprehension deniyor. Bu videoda bu k...

10 – Matlab ile Denklem Çözme ve Döngüler (For ve While Döngüsü)

İlk olarak, elimizde bir polinomun olduğunu varsayalım. Bir polinomun köklerini bulmak için Matlab altında roots() isimli bir fonksiyon kullanıyoruz. Şimdi o fonksiyonun çıktısını bir örnekle görelim. (x+2)^2 ifadesinin açılımını zaten biliyoruz. Bu...

11. Ders – Python’da Koşullu İfadeler & if Yapısı

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/ders5_1.jpeg)12. video, 11. konuda Python’da koşullu ifadeleri, if yapısını işliyoruz. Ayrıca mantıksal ifadeler de burda kullanıldığı için giriş yapmış oluyoruz. Görsel Python eğitiminde ya...

1’den 360’a Kadar Tüm Sayıların Sinüs, Cosinüs, Tanjant ve Cotanjant Değerleri

Daha önce yazdığım math modülü fonksiyonlarından trigonometrik olanları kullanarak birkaç satır kodla uzun bir listeyi Python yardımıyla nasıl hazırlayacağımızı görelim. Range fonksiyonu sayesinde 1’den 360’a kadar olan sayıları sıra sıra for döngüs...

2. Ders – Temel Hesaplamalar ve print İfadesi

Merhaba arkadaşlar. 2. dersimizde Python ile temel hesaplamalara bakıyoruz. 4 işlem ve bunlara ek olarak mod ve üs alma işlemlerine bakıyoruz. Ayrıca print ifadesi ve tırnak kullanımına da giriş yapıyoruz. Sorularınızı her zaman buradan ya da: ### ...

2 – Matlab Değişkenlerine Değer Atama ve Basit Matematik İşlemleri

İlk yazının devamı gibi olacak olan bu yazıda, değişkenlerde tutulan değerleri kullanma üzerinde duracağız. Yani bir değişkenin değerini başka bir değişkene atamak, onun farklı bir versiyonunu atamak gibi. Gelin ne demek istediğime biraz daha detayl...

3. Ders – Kullanıcıdan Veri Alma ve Tamsayı Bölmesi

Türkçe videolu Python dersleri adı altında başladığımız videolarda 4. videoya ulaştık. Bu aşamada, ilk program dosyamızı oluşturmaya başlamadan bir önceki dersteyiz. Kullanıcıdan nasıl veri alacağımızı görüyoruz. Ayrıca Python’da iki tamsayı bölünün...

3 – Matlab Üzerinde Format Özelliği ile Çıktı Formatını Düzenlemek

Matlab üzerinde yaptığımız bir işlemden elde edeceğimiz çıktının her zaman 0.2323 şeklinde olmasını istemeyebiliriz. Burada en yaygın olarak kullanıldığına inandığım çıktı formatlarından bahsedeceğim. Öncelikle, format niteliğinin nasıl kullanıldığı...

4 Dakikada Android/iOS Uygulaması [Videolu]

4 dakikada iOS/Android/Windows/Linux/MacOS platformlarında çalışabilen bir uygulama geliştiriyoruz. Uygulama şu anlık oldukça basit bir halde. Bir butondan oluşan ufak bir sayaç uygulaması. Butona her basıldığında sayaçtaki sayı artıyor ve bu sayı y...

4. Ders – İlk Örnek ve Program Dosyası Oluşturmak

Bu Python dersinde ilk örnek programımızı yazıyoruz ve program dosyaları(.py) oluşturmayı öğreniyoruz. Python program dosyalarının kullanımı ve örnek programımız hakkındaki sorularınızı burdan sorabilirsiniz. Sonraki derslerde yapacağımız uygulamala...

4 – Matlab’da Bilimsel Yazım (10 üzeri gösterimi) ve Basit Matematik Fonksiyonları

Matlab üzerinde işlem yaparken 4.23* 10 üzeri 43 sayısını girmek için elbet de bu sayıyı 1000….000 ile çarpmamız gerekmiyor. İşte bu 4. yazıya bunu kısa yoldan nasıl yapacağımızla başlayıp kök alma, sinüs, kosinüs değerleri bulma, yuvarlama, mutlak ...

5. Ders – Listelere Giriş, dir() ve help() Fonksiyonları

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/ders5_1.jpeg)5. görüntülü Python anlatım dersimizde Python’da liste veri türünü görüyoruz. Farklı türlerden değişkenleri içerisinde tutabilen listelerde herhangi bir boyut sınırlaması yok. İ...

5 – Tanımlanan Değişkenleri, Türlerini Listeleme ve Stringler

Daha önceki yazılarda Matlab üzerinde birçok değişken tanımlayıp bunlarla basit işlemler yapmıştık. Şimdi, tanımladığımız değişkenlerin bir listesini görmek istediğimizde, ya da herhangi bir filtreleme uygulayarak görmek istediğimizde (mesela, “a” i...

6. Ders – Python’da Liste Methodları

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/ders5_1.jpeg)6. videolu Python eğitimi(tutorial’ı ders olarak çevirmekten vazgeçtim, eğitim diyorum) videosunda listelere yaptığımız girişin ardından, listelerin methodlarını inceliyoruz. Ön...

6 – Matlab’da İstenen Değişkeni veya Tüm Değişkenleri Sıfırlama, Ekranı Temizleme

Matlab yazılarına, artık gittikçe büyümeye başlayan kodlar, uzayan komut ekranları ve tekrar kullanmayacağımız halde oluşturduğumuz değişkenleri nasıl daha sade hale getireceğimizi veya nasıl tamamen sileceğimizi öğrenerek devam ediyoruz. Bu yazı di...

7. Ders – Python’da Değişken Silmek ve Yer Değiştirmek

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/ders5_1.jpeg)Herkese merhabalar, eğitimin 7. videosunda, Python’da bir değişkeni silmekten ve iki değişkenin değerlerini kendi aralarında nasıl değiştireceklerinden bahsediyoruz. Python’da t...

7 – Sin(pi) Neden 0 Çıkmaz?

Merhabalar, bu yazıda Matlab veya herhangi bir programlama dilinde karşılaşmamızın olası olduğu bir sorundan bahsedeceğim. Daha önce hesaplamadıysanız, değerlerini zaten bildiğimiz sin(pi) ve cos(pi/2) yi hesaplayın. Hatta cos(3*pi/2) ve sin(2*pi)’y...

8. Ders – Python’da range() Fonksiyonu ile Liste Oluşturmak

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/ders5_1.jpeg)Python videolarının 9.’su, eğitimin 8. kısmında, ileride özellikle for döngüsünde çok işimize yarayacak olan range() fonksiyonunu ve kullanımını örneklerle görüyoruz. Ek olarak ...

8 – Matlab’da Vektör ve Matris İşlemleri, Linspace Fonksiyonu

Lafı uzatmadan, vektörlerin tanımlanması ve üzerlerindeki temel işlemler ile başlayalım. Öncelikle, x isimli bir vektöre, 1’den 10 a kadar olan sayıları nasıl vereceğimizi görelim: ``` >> x = 1:10 x = 1 2 3 4 5 6 7 ...

9. Ders – Python’da Döngülere Giriş, For Döngüsü ve Örneği

[](http://www.gurayyildirim.com.tr/wp-content/uploads/python-multithreading.png)Python videolarının 10.su, derslerin 9.sunda döngülere giriş yapıyoruz. ilk olarak for döngüsünü anlatarak başlıyoruz. While döngüsü ilerleyen derslerde olacak, araya ba...

9 – Matlab Dosyası Oluşturma, Vektör Örneği ve Temel Grafik Çizimi

Merhaba, bu 9. yazıda, önceki yazının sonunda da belirttiğim üzere ilk olarak Matlab ortamında yazdığımız programları nasıl kaydedeceğimizi göreceğiz. Öncelikle, birkaç satır kod yazalım ve bunun neden gerekli olduğunu söyleyelim. Ardından da nasıl ...

Android İçin Online Satranç Oyunu

[](http://www.gurayyildirim.com.tr/wp-content/uploads/2.png)Asgard Projesi için yazdığım Android uygulaması, proje yalan olunca ne zamandır elimde bekliyordu. Bu hali, geliştirilmeye açık olduğuna inandığım baştan yazılmış şekli. chess.py’nin yapımc...

Android Satranç Uygulaması – Asgard Projesi

[](http://www.gurayyildirim.com.tr/blog/android-satranc-uygulamasi-asgard-projesi-849.html/asgard-android-projesi-oyun)Asgard Projesi için hazırlamakta olduğum Android uygulamasının kaynak kodları. İlk mobil uygulama olduğu için kodlar çok dağınık. ...

Arduino İle İlk Adım – Başlangıç

Arduino’nun adını şu ana kadar duyduysanız muhtemelen ilginizi çekmiştir. Bu yazıda, elinize aldığınızdan itibaren nasıl bir başlangıç yapmanız gerektiğini inceliyoruz. Arduino, normalde yeni başlayan birinin oldukça yoğun bir öğrenme sürecinden son...

Arduino ile Python İletişimi

Arduino videolarına ara verip, Python ile Arduino arasındaki iletişime geçerek 8 yeni video yayınladım. Bu videolarda, pyserial modülünün kullanımından başlayıp, bilgisayar üzerinden görsel bir Python arayüzüyle 2 servo motorun kullanımına kadar gel...

Arduino Videoları – 1: Arduino nedir? Arduino UNO’nun incelenmesi

Arduino videolarının ilkinde, Arduino’nun ne olduğundan kısaca bahsettik. İlerleyen videolarda kurulum yapıp kod yazmaya ve devre hazırlamaya başlayacağız. Video aşağıdadır. ...

Arduino Videoları – 2: Arduino Kurulumu, Hafıza Kullanımı ve Satır Numaraları

Arduino video serisinin ikinci videosunda, Arduino IDE’nin kurulumu, kurulumdan sonra açılacak arayüzü inceleyip hafıza kullanımı ve satır numaralarının nasıl takip edilebileceğine baktık. Sorularınızı burdan veya video altından sorabilirseniz elimd...

Arduino Videoları – 3: Arduino LED Yakma, Kod Derleme, Yükleme ve Fritzing

Bu videoda Arduino üzerine nasıl kod yükleyeceğiniz, LED yakma uygulaması ve Fritzing programından bahsettik. Arduino UNO’nun 13 numaralı pinine bağlı olan LED’i yarım saniye yakıp 1 saniye söndüren kodu yazdık. Arduino LED yakmak için gereken minim...

Arduino Videoları – 4: Breadboard’da LED Kullanımı ve Akım Hesaplaması

Arduino videolarının dördüncüsünde, breadboard üzerindeki temel bağlantıları tanıdık, bir önceki videoda 13 numaralı pine bağlı olan LED’e yaptığımız işlemin bir benzerini 5 numaralı pine kendimiz LED bağlayarak yaptık. Videolar yazının devamındadır...

Arduino Videoları – 5: Buton İle Giriş ve LED Kontrolü

Videolu Arduino anlatımının 5. kısmında butondan veri okumayı, yani digitalRead() fonksiyonunu ve bir fonksiyonu nasıl input olarak tanımlayacağımızı görüyoruz. Ayrıca butondan okuduğumuz girdiye göre LED’i kontrol ediyoruz. Basit açıp kapatma işlem...

Bağlantılı Listeler (Linked Lists)

Veri yapıları için temel niteliğinde olan bir başka konuysa bağlantılı listeler. Aslında veri yapılarının temeli desem daha doğru olacak. Çünkü diğer veri yapılarını elde ederken kullanılan en temel yapılardan birisi. Oldukça güçlü bir yönetim sağlı...

Bind() Fonksiyonu ile Eyleme Göre Hareket Eden Programlar

Mause tuşlarından hangisine bastığımıza bağlı olarak programımızın tepki vermesini sağlayabiliriz. Farenizin 3 tuşlu olduğunu varsayarak sağ, sol ve orta tıka göre tepki veren bir program oluşturalım. ``` #-*-coding:utf8-*- from Tkinter import * #...

Bind Fonksiyonu ile Kullanılabilecek İfadeler

Bind fonksiyonu ile farklı kullanıcı hareketlerine farklı tepkiler veren programlar yapabilmemiz mümkün. Bu yazıda bunlara elimden geldiğince değineceğim. ile mause üzerindeyken neler yapılacağı, ile mause üzerinden giderken neler yapılacağı, ile...

Blogun Sunucusu Değişti

Uzun bir süredir aklımda olan sunucu değiştirme olayını sonunda yapabildim. Artık [Fatih](http://www.fatihpense.com)‘in sunucusunda barınıyor sitem. Daha hızlı olduğunu da belirtmek zorundayım:) Alt siteler şu an aktif değil, onlara zaman ayırmadan ...

C Çalışması Uygulamaları

Sınav öncesi yaptığımız C çalışmasının örnek kodları. Tek ve çok boyutlu diziler, dosya okuma, yazma, fprintf, fscanf, bit işlemleri, struct, union ve enum örnekleri gibi konular var. ``` #include <stdio.h> void topla(int aktar[]){ int i, toplam...

C ile Basit Hesap Makinesi

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/C-programlama1.png)C ile dört işlemi yapan basit bir hesap makinesi yazmak istedim. Belki bir gün birilerinin işine yarar. İçerisinde farklılık olsun diye switch case(her ne kadar sevmiyor d...

C ile Matris Tanımlanması ve Çarpımı

Bu yazıda vereceğim kod kullanıcıdan iki matris için önce boyutlarını alıyor, sonra onlara göre birer dizi oluşturup kullanıcıdan matris elemanlarını alıyor. En son da matrisleri çarpıp sonucu yine bir matris şeklinde ekrana yazdırıyor. Bir arkadaşı...

C ile Mükemmel Sayı Hesaplama

Mükemmel sayı hesaplayan basit bir C fonksiyonu hazırladım. Belki işine yarayan olur diye bloga koymak istedim. Program kaça kadar mükemmel sayıları hesaplamak istediğinizi soruyor. Daha sonra mukemmel isimli fonksiyonu çağırıp ona hesaplattırıyor. ...

Çalışılan İşletim Sistemini Öğrenmek

Os modülünün çok kullanılan özelliklerinden biri de çalışılan işletim sistemini öğrenmeye yarayan os.name() fonksiyonudur. Windows için “nt”, Linux için “posix” sonucunu verir. If yapısıyla kullanılarak işletim sistemine göre muamele yapılması mümkü...

C++’da Bağlantılı Listelerin Türleri (Types of Linked Lists)

Veri yapıları kategorisine yazdığım önceki yazılardan birinde, bağlantılı listeleri (linked lists) anlatmıştık. Bu yazıda, bu listelerin farklı türlerini ele alacağız. Halkalı listeler, çift bağlantılı listeler (doubly linked lists) ve çok boyutlu b...

C++’da Dinamik Bellek Yönetimi (Dynamic Memory Allocation)

Hazır veri yapıları dersini alıyorken, ders için çalışırken slaytlardan hazırladığım uygulamalara ve aldığım notlara bir anlam katar belki deyip, onları buraya eklemeye başladım. Data structures alanına girmek için ilk olarak dinamik bellek yönetimi...

C++’da Diziler ve İşaretçiler (Pointer ve Arrayler)

Bu yazıda yine derste tuttuğum notlardan, C++ ile çalışırken dizi ve işaretçilerin nasıl kullanılacağı hakkında örnek üzerinden anlatım yapalım. Gerekli açıklamalar yorum satırları içerisinde yer almaktadır. Kodları yazının devamında bulabilirsiniz....

C’de Programı Argümanla Çağırmak

C’de yazdığım hesap makinesinin farklı basit bir örneğini yazdım. Programı çağırırken verilen argümanlara göre işlem yapıyor. Yani komut satırında program topla 3 5 denince sonucu 8 olarak veriyor. Şu anlık integerlarla çalışıyor, floatlara uyarladı...

Statik bir Web Sitesini AWS CloudFront ve S3 kullanarak CDN Üzerinden Yayına almak

# Amaç Tüm dünyadan giriş yapılan sitelerin sunucularının veya dosya sunucularının fiziksel konumlandırılması ciddi emek gerektirmekte. Bu noktada, CDN yapıları kullanıcıları kendilerine en yakın konumdaki sunucuya yönlendirme işini DNS yardımıyla ...

[Çözüm] Result Code: NS_ERROR_FAILURE (0x80004005) Virtualbox Hatası

Linux Mint 14 altında Virtualbox çalıştırmak istediğimde şöyle bir hata almıştım: ``` Failed to open a session for the virtual machine ll. The virtual machine 'll' has terminated unexpectedly during startup with exit code 1. Result Code: NS_ERROR...

Creating Local CentOS Repository

In many Linux distros, package management tools are utilized for getting new packages and their dependencies. They are also used for In environments that has many boxes, updating packages and installing new packages may lead tremendous bandwidth con...

Değişiklikler ve Gelişmelerle En Çok Ziyaret Ettiklerimiz: Sosyal Medya

Sosyal medya konusunda takip ettiğim onlarca kaynak, en çok da kendi kullanımımda gördüğüm kadarıyla yaptığım yorumlamalara bir yenisini bu yazıyla eklemek istedim. Öncelikle yazının daha öncekilerle paralel gideceğini, aynı konulardaki yeni gelişme...

Dizileri Kullanan Yığınlar (Stacks Using Arrays)

C++’da yığınlara başlarken, ilk olarak bir dizi kullanarak yığın oluşturmayı göreceğiz. Bu kodta, bir yığının ne olduğu ve neden ona ihtiyaç duyduğumuzla ilgili açıklamayı main() fonksiyonu içerisinde bulabilirsiniz. Ayrıca, yığın oluşturulurken str...

Docker 1.13 Swarm Mode with Raspberry Pi: Setting up a Cluster

## Intro Docker 1.13 has been released recently. It includes a lot of improvements and new features. There is a new compose file format which allows deployment on swarm with a YAML file and making rolling updates with the same file, Docker Secret w...

Docker ile Redmine Kurulumu

# Amaç Redmine, proje yönetiminde sık kullanılan araçlardan birisi. Eklenti ve tema desteğiyle özelleştirilebilir yapısı sayesinde istenilen çalışma şeklinde ayak uydurması oldukça kolaylaşıyor. Bu yazıda, Redmine kurulumunu Docker kullanarak nasıl...

Docker Multistage Build Örneği: Caddy Web Sunucusunun Dockerlaştırılması

Docker’ın şu an(Haziran 2017) sadece son birkaç CE Edge sürümünde yer alan (Güncelleme) 17.06 CE’den itibaren stabil olarak açıklanan multistage build özelliği, imaj boyutlarının küçülmesi ve build işleminin kısalması/optimizasyonu için kolaylık sağ...

Docker Swarm, Telegraf, InfluxDB, Grafana ile Metrik İzleme (MQTT Örneğiyle)

Bu yazıda sunucuların, servislerin yada çok farklı gözükse de aslında yakın olan sensörlerin verilerini canlı olarak takip edip görselleştirmeye, görselleştirmeleri de özelleştirmeye olanak sağlayan birkaç teknolojiden bahsedeceğiz. Kullanacağımız t...

Dos Ekranı Görünmeden Çalışan Program Oluşturmak

Python’da program yazarken en çok karşımıza çıkacak isteklerimizden biri programımızı çalıştırırken çıkan komut satırını çıkarmadan programımızın çalışmasını sağlamaktır. Bunu yapabilmek için çok kolay bir isim değiştirme işlemi uygulamamız gerekiyo...

Elde Telefonla Karşıdakini Dinlemek

İmkansızdır, imkansızımdır, asla olacağına inanmadığımdır. Yeni bir durum değil tabii. Uzun zamandır yapılıyor. Belki ben de yapmışımdır şimdi biri çıkıp söylerse inkar edemem. Yaptıysam pişmanım ama belirtmeden geçemem. Ya nasıl bir fantezidir bu?...

Elektronik Notlarını Paylaşmaya Başlıyorum

Kısa bir süre önce başlamış olmamın etkisidir belki, bilinmez ama sürekli bir bilgi yığılması oluyor konulara baktıkça. Böyle olunca da ister istemez notlar almam gerekiyor. Bu notların daha kalıcı olması ve başkalarının da işine yarayabilmesi için ...

ETohum Kampındayız

Bir arkadaşımla birlikte E-Tohum’un üniversite öğrencileri için hazırladığı yaz kampına seçilmişiz. Program içeriği oldukça yoğun ve dopdolu. Umarım oldukça çok şey öğreniriz. Orada olacak arkadaş varsa iletişime geçebiliriz. Görüşmek üzere. ...

Euler Sabiti’nin Kuvvetini Alma

Python’da normal üs alma yöntemi yardımıyla(** kullanarak) istediğimiz sayının üssünü alma şansımız var. Aslında e sayısının üssünü alırken de bunu kullanabiliriz ancak bu yazımızda e sayısının kuvvetini alma işlemini yapacak bir fonksiyon kullanaca...

Evaluating cloudnative-pg

https://github.com/cloudnative-pg/cloudnative-pg/ Also the alternative: https://github.com/zalando/postgres-operator I believe they provide similar features, yet faced multiple problems with each. More to come later on this. ...

Fibonacci Serisinin 100000. Elemanı ve Python3 ile Altın Oran Hesabı

Python3 ile Altın Oran’ı hesaplamak için ufak bir kod yazdım. Daha doğrusu [Fatih](http://www.fatihpense.com) Go kullanarak yazmıştı, Python ile de ben yazayım dedim. Kodlarını alta ekliyorum. Python2 kullanan varsa da değişken isimlerini düzeltip p...

Fonksiyon Tanımlama ve Sinüs Alma

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/C-programlama1.png)C’de fonksiyon tanımlama ve bu fonksiyonla sinüs alma işlemi için ufak bir kod hazırladım. Şöyle ki: Fonksiyonu main fonksiyonundan sonra tanımladım. Dolayısıyla öncesind...

For döngüsünde aynı anda birden fazla değişken değiştirmek

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/C-programlama.png)Bloga koyduğum ilk programda, daha önce kodlarda gördüğüm ancak bugün uygulamaya geçirdiğim bir özellikten bahsetmek istedim. İşleyişi şu şekilde gerçekleşiyor: for(başlan...

FTP’de Dizin Listeleme

Python ile ftplib modülünü kullanarak FTP’ye bağlanabilir ve burada işlemler yapabiliriz. İşlem yapmadan önce içeride olan dosya ve klasörleri görmenin bize büyük katkısı olacaktır. Bunun için daha önce birçok yerde kullandığımız ftplib.dir() fonksi...

FTP’ye Kullanıcı Adı ve Şifreyle Giriş Yapmak

FTP’ye bağlanırken ftplib.FTP() foksiyonunu kullanıyorduk. Ancak her zaman anonymous FTP’lere bağlanma şansımız yok. Mesela kendi sitemizi düzenleme amaçlı FTP’ye gireceğimizi varsayarsak bir kullanıcı adı ve şifremiz olacak ve bunu gireceğimiz bir ...

Gün Seçimi ve Seçimleri Ekranda Gösterme Programı

Haftanın 7 günü arasından istediklerimizi seçmemizi sağlayan bir program. Şu anlık döngü kullanarak yapmadım, o şekilde de yapılabilir tabii ki. Bu şekilde daha anlaşılır olduğunu düşünüyorum ileride döngülü halini de ekleyebilirim. Checkbuttonlarda...

Günün C Uygulamaları

Bugün yaptığım C uygulamalarının çözümlerini, ne işe yaradıklarını 1 cümleyle belirtip burada toplayayım dedim. Amaçlarından kısaca bahsedip kodları yazarak ilerliyorum. Yazar kasa programı için ufak bir şablon: ``` #include <stdio.h> // Yazar kas...

How to Make a Screencast in Ubuntu

In Linux, there may exist a need to prepare a screencast to tell something to somebody or make a screencast for public, etc. To make this, there are several alternatives. I have tried a couple of them and RecordMyDesktop have become my favourite. T...

[HowTo] Install Kivy and Buildozer on Fedora 22 and Making APK

In a previous post, installing Kivy on Ubuntu 15.04 was issued. Today, there is a main development which is using SDL2 instead of Pygame. You can find why this is significant on Google. I cannot find Kivy and Buildozer installion document for Fedor...

[HowTo] Install Kivy and Buildozer on Ubuntu 15.04

Installing Kivy and building an apk file is the fundamental step of coding Android applications with Python. In this post, Buildozer is used for building apk, installing sdk, ndk and other dependencies automatically. All commands on this post are a...

[HowTo] [Python/Kivy] Building APK With Buildozer

In the [previous post](http://www.gurayyildirim.com.tr/howto-install-kivy-and-buildozer-on-ubuntu-15-04-1169.html), how to install Kivy and Buildozer on Ubuntu is examined. In this post, you will find stages making APK files on Ubuntu with Python an...

İleri ve Geri Farklar Yöntemi İle Türev Hesabı

``` from decimal import Decimal from math import e def turev(h,x): return (f(x+h)-f(x))/h fonk = input("Fonksiyonu giriniz: ") calis = """def f(x): return %s""" %fonk exec(calis) x = Decimal(input("x değeri: ")) for i in range(10,100,...

İlk Projemiz: Matematik Problemi Çözelim

Python ile adam akıllı ilk projeye yavaştan başlıyorum. Bu projede yapacağımız şey tam olarak kullanıcıdan işçi ya da havuz problemi alıp önce yazılanın işçi mi havuz mu olduğunu belirlemek, daha sonra ise o problemdeki verileri ayrıştırarak sonuca ...

Güray YILDIRIM

...

IoT, MQTT ve Mosquitto – Devfest Düzce Sunum Videoları

Geçen hafta Devfest için Konya ve Düzce’de iki oturumda konuşmacıydım. Ufak farklılıklar olması dışında, konu olarak MQTT ve Mosquitto’yu seçtim. Internet of Things’de uygulama geliştirirken sıkça kullandığımız protokol olan MQTT’yi ve bu protokolün...

Kivy Course #1 – Introduction With a Basic App

At the first code of the Kivy course consists of a button which covers the entire screen and does nothing. You can just click the button and see that it is clicked with interaction. The code is: ``` from kivy.app import App from kivy.uix.button imp...

Kivy Course #10 – User Login System With Kivy

In many applications, a login system is applied. As a result of this, in a Kivy course, we believe that we should teach how to make a basic login system with Kivy. To achieve this, the code in following is written. After the login, the program conne...

Kivy Course #2 – More Buttons With Kivy Language

At the second part of the course, more buttons are added to root widget and Kivy Language is utilized while adding them. From this part, view section of the codes are seperated in a .kv file. You can find the codes below. Our main python file: ```...

Kivy Course #3 – Grid Layout Example

In this section, layouts are introduced with more details and images of them are shown. Grid layout is one of the most known widgets and the code may be found below. The main Python file: ``` from kivy.app import App from kivy.uix.gridlayout impor...

Kivy Course #4 – Box Layout Example

This part is continuing with BoxLayout class of Kivy. BoxLayout is another common layout which is used frequently. It supports both vertical and horizontal orientations and size hints to spare the widgets at specific ratios. The Python code is: ``...

Kivy Course #5 – Properties and Clock Definitions

At the fifth part of Kivy course, properties and Clock are introduced and an example counter application is made. This application counts with seconds and have abilities to start, pause and reset the timer. At the first stage the Python file is: `...

Kivy Course #6 – Text Input and Input Handling

At the sixth part of the course, we are talking about text input and handling the text in text input box. To make a input chance to the user, TextInput class can be used. Here, a login system is made by making username and password check and afterwa...

Kivy Course #7 – Introduction to Slider: Changing Background

In this example, a code changing background color of application according to slider position is written. In Kivy, color values are changing from 0 to 1 and as a result floating point numbers are used in order to give color value to canvas. All red...

Kivy Course #8 – Multiple Screens in Kivy With ScreenManager

In this part of course, you will find how to make applications for desktop or mobile consisting of two or more different screens. There can be menus, tutorials, question-answer sessions or any other requirements that can be solved with multiple scre...

Kivy Course #9 – Multiple Screens in Kivy With ScreenManager [Part 2]

In this example, we improved and reviewed the code we have written in the previous post. Screen, ScreenManager and Builder are also used in this example, too. The code is: ``` #-*-coding:utf-8-*- from kivy.app import App from kivy.lang import Buil...

Kod Paylaşımı İçin Güzel Bir Paste Sitesi

Daha önce birine kod göndermek istediyseniz, kopyala-yapıştır sonucunda kodun oldukça sorunlu bir hal aldığını yaşamış olma ihtimaliniz yüksektir. Dosya olarak göndermek burada bir çözüm olsa da birden çok kişiye gönderecekseniz bu da sıkıntı olabil...

Kullanıcıdan Veri Girişi Almak

Python’da kullanıcılardan HTML’de yaptığımız input text şeklinde veri girişi almak için Entry widgetini kullanırız. Kullanımı oldukça kolay olan bu widgeti ufak bir örnek üzerinde görelim. Ayrıca alınan verilerin get metoduyla alındığını da belirtel...

Kullanıcıya Birden Fazla Satırlı Mesaj Gösterme – Tkinter.Message() Fonksiyonu

Tkinter ile kullanıcıya uzun bir metin gösterceğiniz zaman her defasında bir label etiketi oluşturup bunu satırlara bölmek bir süre sonra bir işkence haline gelebilir. Ayrıca bir metin dosyasını direk ekrana yazdırmak istemeniz de oldukça normaldir....

Math Modülünü Kullanarak Üs Alma

Python’u normalde kullanırken ****** işlemini kullanarak işlemle ilgili yazıda belirttiğimiz gibi kolayca üs alabiliriz. Ancak float olarak üs sonucunu elde etmek istersek ve bunu bir fonksiyona döküp daha kullanışlı hale getirmek istersek math modü...

Math Modülüyle Faktöriyel Almak – math.factorial() fonksiyonu

Python’da faktöriyel hesabı için fonksiyon yazma imkanımız olduğu gibi(ki zor bir işlem değil) istersek bunu math modülünün factorial() fonksiyonu ile de kolayca yapabiliriz. Hemen bir örnek üzerinde görelim. ``` import math math.factorial(543) ```...

Matlab ile Inline Fonksiyonlar

Uzun zamandır Matlab hakkında bir şeyler yazmamıştım. Hazır bir ödev için lazım olunca, Inline fonksiyonların Matlab üzerinde nasıl kullanıldığından bir örnekle bu yazıda bahsedeyim. İlk olarak, inline fonksiyonu ne için kullandığımıza bir bakalım....

Messenger v0.2 Kodları – Geliştirilme Aşamaları ve Çalıştırılabilir Hali

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/logo.gif)Messenger v0.1 i hatırlayanınız varsa, üzerinden çok uzun bir süre geçmeden v0.2 ye başladım. Kullanıcı kayıt sistemi, sadece listede olanlarla konuşma, ikili sohbetler, kullanıcı g...

Messenger v0.3 İstemcisi ve Kaynak Kodları

Messenger v0.3’ün sunucu kaynak kodlarını [bu adreste](http://www.gurayyildirim.com.tr/blog/messenger-v0-3-sunucusu-hazir-574.html) 2 gün önce yayınlamıştım. Ardından vakit kaybetmeden birkaç satırlık veri gönderme-alma şeklinde test eden bir progra...

Messenger v0.3 Sunucusu Hazır

Başlıkta v0.3 dedim, aslında oturup yeni bir messenger yazdım. Hatta IRC, Messenger arası bir program, ya da program olma yolunda ilerleyen kodlar oluştu. Kodlar dedim çünkü tamamlanınca sistemde kayıtlı olan kişilerin toplu konuşmasını sağlayan bir...

Metni İstenilen Karaktere Göre Listelere Bölmek

Python’da re modülünü kullanarak metinleri istediğimiz gibi bölüp parçalama şansına sahibiz. Bunun için re.split() fonksiyonunu kullanacağız. Hemen bir örnek üzerinden inceleyelim. ``` import re metin="Bu metin boşluklara göre ayrılsın." x=re.split...

Modüler Yapıda Program Yazmak

Birkaç gündür aklımda yazdığım uygulamaların düzenlemesini bir hayli kolaylaştıracak bir teknoloji olan modüler programlama mevcutken neden hiç kullanmadığım ya da neden baktığım örneklerin çoğunda da kullanılmadığı vardı. Hakkında pek belge de şu a...

Multiple Sliders Controlling Background Color in Kivy

In this example, three independent sliders are used to control background color and they are in order of red, green and blue. All the values are written at the buttom of the application window in the precision of 0.001. You can change the precision ...

Müzik Dinlemek ve Çalışmak

Bazıları müzik dinlerken başka hiçbir iş yapamadıklarını söylüyorlar. Hatta bir öğretmenim lisedeyken yaptığınız işe odaklanın, gerisini boşverin demişti. Biraz daha açıklayarak, sinemaya gittiğinizde o zamanki sorunumuz olan üniversite sınavını düş...

MySQL’den Sözlük Şeklinde Veri Almak

MySQL’den veri alırken aldığımız verilerin sözlük şeklinde olmasını istiyorsak bunu basit birkaç satırlık kodla rahatça halledebiliriz. Hemen örnek bir kod üzerinde görelim. ``` import MySQLdb vt=MySQLdb.Connection(host="localhost",user="root",pass...

[Notlar/Yorum] E-Tohum Üniversiteliler İçin Girişimcilik Fabrikası

Geçen hafta perşembe günü Özyeğin Üniversitesi E-Tohum kampına gitmiştik(kabuledildiğimizin maili geldiğinde yazmıştım). Bu yazıda orada yaptıklarımız ve oradan notlar yer alacak. Öncelikle, yarın akşama kadar evde olamayacağım için notları yarın a...

Obligasyon

Uzun zamandır teknik içerikli olmayan bir yazı yazmamıştım bu bloga. En az bir tane yazmak istedim, çünkü aklımda konu birikti. Bu yazının konusu “obligasyon”. Sebebi ise bir türlü anlam veremediğim İngilizce kelimelerin Türkçe’de kullanılması. Kul...

“OperationalError: no such column:” Hatası ve Çözümü

Python’da sqlite3 modülü ile çalışıp ufak bir telefon rehberi yazmayı denerken şöyle bir hata alıyordum: Hatanın çözümü ile uğraşırken hem sqlite ile veritabanı güvenliği için istihza.com da okuduğum Fırat Özgül’ün yazısı hem de aynı hatayı alanlar...

Playing Videos With Kivy

Kivy has a video player which supports common requirements such as play,pause and stop buttons and images, texts can be used as subtitles or displaying messages to user, streching etc. For the full list, you can check [here](http://kivy.org/docs/api...

Programa Ek Pencere Oluşturmak – Tkinter.Toplevel() fonksiyonu

Yaptığımız programlardaki menü ve işlevlerin tamamını tek pencerede toplamamız her zaman aynı kullanılabilirliği getirmeyebilir. Programla birlikte açılmasını istediğimiz başka pencereler varsa ve bu pencerelere koymak istediğimiz öğelerimiz bulunuy...

Programlama Dili Seçimi

Youtube’da yer alan Python derslerinden dolayı olsa gerek, birçok kişi Facebook üzerinden veya mail ile dilin ne işe yaradığı hakkında sorular sormaya başladı. Bunun üzerine ben de toptan bir cevap niteliğinde bu yazıyı yazma gereği duydum. İlk ola...

Programlamaya Başlamak İçin, Başlayamayanlar İçin

Programlamaya en doğru başlangıç şekli nasıldır bilmem. Ben en iyi olduğuna inandığımı yazıyorum. Ayrıca nasıl başlanamayacağıyla ilgili ilginç acı tecrübelerimi paylaşayım. Aslında bu bir başlangıcın değil, başlayamayışın öyküsü olacak. Ayrıca anla...

“ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory…” Hatası ve Çözümü

Python’da sqlite3 modülü ile çalışırken veri girişi sırasında alttaki gibi bir hata aldım. Neyse ki programı çöpe atmadan olayı çözebildim. Şimdi neden olduğunu kısaca anlatayım. Bildiğimiz üzere Python Türkçe karakterleri vs. “u” harfini kullandığ...

PyGame İçin Program İskeleti ve Anlamları

Python ile oyun dünyasına giriş yapmak istiyorsanız muhtemelen ilk durağınız pygame olacak. Bu konuda çok fazla sayıda Türkçe döküman olmadığı için öğrendiklerimi aktarmak istiyorum. Ayrıca, Python ile oyun yazma hakkında bir kitabın çevirisi için ş...

Python Blogu Buraya Taşındı

Yaklaşık 1 senedir Python.GurayYildirim.com.tr adresinde bulunan blogu artık güncellememe kararı aldım. Yeni kod örnekleri ve programlar artık buradan paylaşılacak. Bunun dışında, hazırlamayı planladığım video anlatımlar da ufakşeyleratölyesi üzerin...

Python ile Aynı Anda Birden Çok İşlem (Multithreading)

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/python-multithreading.png)Bazı durumlarda ana programın çalışmasını etkilemeden, arkaplanda başka işlemlerin yapılmasını isteyebiliriz. Bunun en iyi örneği, bir dosya indirme programı yazdığ...

Python ile Bilimsel Hesap Makinesi

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/python-multithreading.png)Bugün kulüp yapılandırması için toplandığımızda Python 2 ve 3 ile ayrı ayrı bilimsel hesap makinesi yazdık. exec komutunun(Python3 de fonksiyonunun yapısında da öne...

Python ile Chmod Değeri Ayarlama

Linux altında Python ile çalışıyorsanız dosya ve dizinlerin yazma izinlerini kontrol etmek istemeniz oldukça doğaldır. Python’un basitliklerinden ve fonksiyon zenginliğinden chmod da nasibini almış olacak ki os.chmod() fonksiyonu bu ihtiyacımızı tam...

Python ile Ftp’ye Bağlanmak

Python’da bulunan ftplib modülü yardımıyla istediğimiz bir FTP sunucusuna bağlanabilir ve giriş yapabiliriz. Bu yazıda bağlantının nasıl oluşturulabileceğini kısaca anlatalım. ``` import ftplib a=ftplib.FTP("www.gurayyildirim.com.tr") ``` Aslında ...

Python ile Lineer Cebir – Ayrışımlar (2. Kısım)

SciPy modülünün linalg sınıfını incelemeye devam edip bugün ayrışımlar (decompositions) konusunda bildiklerimi elimden geldiğince açıklayacağım. Yanlışlarım olabilir şimdiden özür dilerim. # 1. Özdeğer ve Özvektörler (Eigenvalues and Eigenvectors) ...

Python ile Lineer Cebir (SciPy Kullanarak)

Numpy üzerine inşaa edilmiş olan scipy modülü lineer cebir konusunda bize birçok fonksiyon ve imkan sağlıyor. Özellikle matris tersleri, ayrışımlar ve denklem çözümlerini bulacağımız sınıfın adı ise scipy.linalg. Matris tanımlamayı anlatarak işe baş...

Python ile Metinlerde Frekans Analizi

Elimizdeki bir metinde hangi karakterlerin olduğunu, hangi karakterin kaç kere geçtiğini ve metnin yüzde kaçını oluşturduğunu ölçmek için kullanabileceğimiz bir sınıf oluşturdum. Sınıfın yaptığı, Python’da yer alan veri yapılarını kullanarak girilen...

Python ile MySQL’e Bağlanmak

Python kullanarak yaptığımız ve shelve modülüne yaptıramadığımız işlemler için MySQL’i kullanmamız faydamıza olacaktır. MySQL’i Python altında kullanabilmek için gerekli fonksiyon ve değişkenleri içeren modülümüz MySQLdb modülüdür. Hemen bir örnek ü...

Python ile Negatif Sayıların Kökünü Almak(Karmaşık Sayı)

-4 gibi bir sayının kökünü alırken kullandığımız karmaşık sayı mantığını buraya da geçirmek istedim. karmasikkok ismini verdiğim fonksiyona gönderdiğimiz negatif sayı, mesela -5 diyelim, – ile çarpılarak pozitif yapılıp kökü alıyıyor ve sonuna i ekl...

Python ile Ortalama Hesaplama Fonksiyonu

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/python-multithreading.png)Python’da ortalama hesaplama amaçlı olarak bir fonksiyon yazacağız. Kodları hem Python 2.x hem de Python 3.x sürümü için 2 şekilde yayınlıyorum. Ortalama hesaplamak...

Python ile Paralel Port Kontrolü – Video

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/python-multithreading.png)Pyparallel modülü yardımıyla Python’u kullanarak bilgisayarımızın paralel portunu kullanabiliriz. Bu yazıda bunun hakkında bilgi vereceğim. Öncesinde, paralel port ...

Python ile Radyanı Dereceye ve Dereceyi Radyana Çevirme

Python kullanarak birimler arasında istediğimiz değişikliği yapabilmemiz için fonksiyonlar mevcut. Bu yazıda fonksiyonları verecek ve elimizle çevirerek bir deneme yapmış olacağız. Hemen başlayalım. ``` from __future__ import division import math, ...

Python ile Sezar(Ceasar) Şifrelemesi – Kullanıcı Arayüzü

Şifreleme yaparken karşılaşılabilecek en basit algoritmalardan birisi Sezar(Ceasar) algoritması. Bu algoritmanın anlatımına [buradan](http://en.wikipedia.org/wiki/Caesar_cipher) ulaşabilirsiniz. Basit anlamda harfleri 3’er kaydırarak uygulanıyor. Ko...

Python ile Silindir Hacmi Hesaplama

Pi sayısının kullanımı ile ilgili işe yarar bir döküman hazırlamak amacıyla bir silindirin hacmini Python ile hesaplamaya karar verdim. Amacımız kullanıcıdan taban yarıçapını ve yüksekliği alarak (pi*(r^2)*h) ifadesi yardımıyla silindirin hacmini bu...

Python ile Tek Bilinmeyenli Denklem Çözme

Bugünüme mal olan çalışma oldu aslında. Regular expressions ile biraz sıkıntı yaşamamı sağlamış olsa da sonunda çalıştığını görmek gerçekten mutlu etti. Tabii sorunlar olabilir çok fazla test edemedim bildirirseniz becerebildiğim kadarıyla düzeltiri...

Python ile Telefon Rehberi Programı (sqlite3,Tkinter,canlı arama sonuçları,ekleme+arama)

Python ile ne zamandır hayalini kurduğum telefon rehberi programının ilk versiyonunu yayımlamak istedim. Aslında üzerinde yapılması gereken birçok işlem var ama bu haliyle de geliştirilmeye açık. Örnek olarak silme işlemi ekleme fırsatım olmadı, ayn...

Python ile Türev ve İntegral Almak, Polinom İşlemleri

Python ile türev, integral almak, bir polinomu kolayca tanımlayabilmek ve bir polinomun birden çok noktadaki değerini aynı anda hesaplayabilmek için Scipy modülünün poly1d sınıfını kullanacağız. Poly1d, scipy modülünün diğer sınıfları gibi ayrı bir ...

Python ile Üçgen Prizma, Dikdördgen Prizma ve Kürenin Hacmini Hesaplama Programı Kodları

Python 2.7 ile yazdığım program sayesinde math modülünden alınan ayrıntılı pi değeri ile kürenin hacmini detaylarıyla hesaplayabilirsiniz. Ayrıca üçgen prizmanın hacmini üç kenar uzunluğunu ve yüksekliğini verdikten sonra u formülüyle hesaplıyor. Wi...

Python ile What to do tomorrow? (Sonraki günün planı) Programı – 1. Aşama

Aslında kendi ihtiyacım üzerine hazırlamaya başladığım bir program. Arada Tkinter ile öğrenmem gereken birçok özellik olduğunu görmeme sebep olan, aynı zamanda qt çalışmalarına başlamamın gerekliliğini ve Pardus ya da Ubuntuya geçişimi hızlandıracak...

Python ile Zip Dosyasını Okumak ve İçindekileri Listelemek

Python’da bulunan zipfile modülü yardımıyla zip dosyaları üzerindeki işlemlerimizi kolayca gerçekleştirebiliriz. Öncelikle oluşturduğumuz bir zip dosyasını açalım ve içindekileri listeleyelim. ``` import zipfile zipdosyamiz=zipfile.ZipFile("zipim.z...

Python Kivy Button, Property and BoxLayout Example

In this post, you are able to find an example of Kivy Framework consists of a button and two text label in a boxlayout oriented vertically. There are two files and both are required to run this program. This program is suitable for both mobile and d...

Python Kivy Slider, Color and Canvas Example

Working with kivy often requires writing canvas codes which are managing the appearance before, during and after the content is drawn. In this example, one Kivy Slider is used for getting color value between 0 and 1 and in the same time there is a K...

Python SystemRandom ile Rastgele Sayı Üretmek

Python’da rastgele sayı üretebilmek için halihazırda random modülünden faydalanabiliyoruz. Bu modül rastgele sayı üretirken öncelerden Mersenne Twister adlı bir yöntem kullanıyormuş.[1] Dökümantasyonunda belirtildiğine göre 53 bit kesinlikte float t...

Python ve Urllib ile Bot Yapımı

Kullanmak nasip olmadı ancak bir siteden verileri çeken bir bot yapmıştım. Kodları verip kısaca açıklayayım. Tkinter kullanmıştım ancak ekleme sayısı düzgün çalışmıyor. Başlangıç numarasının verildiği dosyadan veriyi alıp program kapatılana kadar se...

Python ve Selenium Denemeleri

Selenium ile karşılaşmışken, nasıl kullanılır diye biraz kurcalamak istedim. Yaptığım aşamaları, aldığım sonuçları falan da ufaktan paylaşayım dedim. Selenium, WebDriverları kullanarak farklı tarayıcılarda, sürekli tekrar ettiğimiz testleri otomati...

Python3 ile Değişken ve Diğer Nesnelerde Tür Kontrolü

Elimizdeki bir değişkenin sayı/yazı olma durumunu kontrol etmek istediğimizde uygulayabileceğimiz 3 alternatif var, en azından şu ana kadar karşılaştığım ve aklıma direk gelen 3 alternatif şekil var. Bunları birer örnek üzerinde görmeden önce, kulla...

Python3 ile Messenger Uygulaması (Sunucu+İstemci Birlikte)

Merhabalar, bu yazıda geçen günlerde derlediğim sunucu, istemci uygulamasını paylaşacağım. Öncelikle ilk sürüm olduğu için eksikleri olabilir. Çalışması ise kısaca, sunucu uygulamasını istediğiniz bir sunucu bilgisayarda başlatıyorsunuz(özel bir bil...

Python3 ile MySQL Bağlantısı ve Sorgulama Yapmak (PyMySQL modülü)

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/python-multithreading.png)Python 2.x sürümü ile MySQL bağlantısı yapmayı denediyseniz, muhtemelen fazla uğraşmadan bağlantıyı sağlamış ve istediklerinizi yapmışsınızdır. Yine de, en çok anla...

Python 3 İle Sunucular Arasında Liste, Sözlük vb. Aktarımı

Python 2.x sürümü ile çalışıyorsanız(mesela 2.7.3 ile denediğim kodlardan bahsediyorum) socket modülünün send() fonksiyonu ile karşı tarafa elinizdeki bir string’i rahatça gönderme şansınız var. Ancak Python3 ile çalışacaksanız bu aşamada bir şeyler...

Python3 Kullanarak Merkezi Farklar Yöntemiyle Sayısal Türev

``` # Merkezi Farklarla Sayısal Türev # @Author: Güray Yıldırım - www.gurayyildirim.com.tr # @Date: 13.10.2012 from decimal import Decimal function = input("Enter the Function in Python Format: ") request = """ def f(x): return %s """ %function...

Python’da Decorator Ne İşe Yarar?

Python ortamında decorator tanımlamak için örnek kod. Amaç, fonksiyon tanımlayan fonksiyon oluşturmak ve daha sonra bu fonksiyonu her çağırdığımızda bir değişkene yeni fonksiyon tanımlamış olmak. Burada, kullanıcının kendi fonksiyonunu tanımlaması d...

Python’da İşçi Problemi Çözüm Programı

Matematik dersinin vazgeçilmezlerinden olan işçi problemlerini çözen ufak bir program yapmak istedim. Çok fazla deneme şansım olmadı hata/sorun vs. olursa bildirirsiniz. Genel çalışma yapısını kısaca açıklayayım. Program önce kullanıcıdan soruda ve...

Python’da Kosinüs ve Sinüs İşlemleri

Python’da sayıların cosinus ve sinus değerlerini elde etmek için kullanabileceğimiz fonksiyonlar math.cos() ve math.sin() fonksiyonlarıdır. Dikkat etmemiz gereken Python’un varsayılan olarak radyan değerleri kullanıyor olmasıdır. Bunu ortadan kaldır...

Python’da Onay Kutuları

Kullanıcıdan her zaman bilgileri onay pencereleriyle almak hem bizim için hem kullanıcı için oldukça yorucu ve zaman alıcı bir işlemdir. Alternatif olarak internet sitelerinden de alışık olduğumuz kutu işaretleme de diyebileceğimiz onay kutuları, in...

Python’da Sınıf(Class) Tanımlama

Python’da sınıf tanımlama olayı oldukça basittir. Genel olarak kalıbı vermemiz gerekirse class yapısı hakkındaki örneğimize bakalım. class sinifin_adi: #YAPILACAK FONKSİYON VE DEĞİŞKENLER Aslında yapacağımız işlemler gördüğünüz kadar basit, başlard...

Python’da Yapıcı Fonksiyon __init__

Python’da bir nesne çağırdığınızda otomatik olarak çalışacak ve sadece nesneyi ilk oluşturduğunuzda çalışacak olan bir fonksiyon tanımlayabilirsiniz. Bu fonksiyonun adı Python yapımcıları tarafından __init__() olarak belirlenmiş. Dışarıdan ulaşılmas...

Raspberry Pi 2 Kurulumu & İlk Kullanım ve Kablosuz Bağlantı Ayarları

Raspberry Pi 1 için hazırlamaya başladığım ancak [devamı gelmeyen bir yazı](http://www.gurayyildirim.com.tr/raspberry-pi-baslangic-rehberi-975.html) vardı. Elime [+Onur Kasemlar](https://plus.google.com/+OnurKasemlar2)‘ın Raspberry Pi 2’si deneme ve...

Raspberry Pi 2’ye Kivy Kurulumu

Kivy Framework sayesinde, 2 veya 3 boyutlu uygulama ve oyunların Python ve Kivy dillerinde programlanması ve platform bağımsız olarak çalıştırılabilmeleri mümkün olmakta. Bu yazıda Raspbian kullanıcıları için, Raspberry Pi için desteği sonradan gele...

Raspberry Pi Başlangıç Rehberi

Bu yazıda, Raspberry Pi’nin ne olduğunu merak edenler için açıklayıcı bir giriş; ben biliyorum, sipariş edicem/ettim ama şimdi ne yapacağımı bilmiyorum diyenler için de detaylı bir açıklama bulacaksınız. Raspberry Pi hakkında artı ve eksileri dilim ...

Raspberry Pi’nin inittab Dosyası

Raspbian Whezzy işletim sistemini Raspberry Pi’ye kurduğumuzda, eğer açılışta gelen ayar menüsünden başlangıçta görsel arayüzün çalışmasını seçmediysek, konsolla karşılaşmamız şaşırtıcı olmayacaktır. Bu durumda çözümümüz her ne kadar “startx” yazıp ...

SEO (Arama Motoru Optimizasyonu), Önemi, Gereklilikleri ve Geleceği

Hakkında yapılmış binlerce tanım olmasına rağmen, kısa bir tanımla başlayalım. SEO, İngilizce Search Engine Optimization denilen arama motoru optimizasyonu olarak çevirdiğimiz bir işlemler topluluğudur. Genel olarak sitenizin içinde veya dışında yap...

Shelve ile Veritabanı Oluşturmak

Ufak tefek işlemlerimiz için, yüzbinleri veya milyonları bulmayan, çalışan sistemleri kasmayacak işlemler için shelve modülünü kullanabiliriz. Kullanımı oldukça basit olan shelve veritabanı modülü ile hemen bir veritabanı oluşturalım. ``` import sh...

Shelve ile Veritabanından Veri Silmek

Shelve kullanrak oluşturduğumuz veritabanlarından veri silmek için del veri[“anahtar”] yapısını kullanırız. Hemen bir örnek üzerinde görelim. ``` import shelve baglan=shelve.open("dbmiz.db") baglan["Anahtar"]="Değer" print baglan["Anahtar"] del bag...

Shelve Veritabanına Veri Girişi

Python’da shelve modülü yardımıyla veritabanı oluşturduktan sonra veritabanına veri eklemek için uygulayacağımız oldukça basit bir yöntem var. Bu yöntemi sözlüğe öğe eklerken de kullanmıştık. Şimdi kısaca hatırlayalım. ``` import shelve baglan=shel...

Solution: cannot verify github.com’s certificate, issued by `/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV CA-1′:

I was trying to making an .APK file for Android using python-for-android provided by tito on Github. When I completed the installation of prequisities and start the process of makin the .apk file of example kivy application(see [www.kivy.org](http:/...

Switch – Case Örneği

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/C-programlama1.png)Hazır el atmışken, amaçsız da olsa bir kod hazırlamış oldum. Onu da buraya ekleyeyim dedim. 1 veya 2 girildiğinde oralardaki mesajı, bunların dışında bir giriş yapılırsa d...

Tarayıcıda Yeni Pencere ya da Sekme Açmak webbrowser.open_new() ve webbrowser.open_new_tab()

Python un modül zenginliğinden tarayıcıda program çalıştırma da nasibini almış. webbrowser modülü ile sadece bir siteyi yeni pencerede açmakla kalmayıp isterseniz pencere yerine bu siteyi yeni bir sekmede de açabilirsiniz. Bu arada, bazı tarayıcılar...

Tkinter Destekli Rastgele Sayı Üretme Programı

Açık kaynak kodları bölümünde kendi yazdığım programlardan birini paylaşmak istedim. Program 0 ile 100 arasında, ister herhangi bir doğal sayı, ister 3 ün katı ister 5 in katı isterseniz de 10 un katı olan herhangi bir doğal sayıyı rastgele seçiyor....

Tkinter ile Dosya Seçtirme İşlemi – tkFileDialog.askopenfilename() Fonksiyonu

Programlarımızda kullanıcılara dosya seçtirmek isteyebiliriz. Her kullanıcının dosya yolunu yazacak bilgisayar bigisine sahip olmayı bekleyemeyeceğimizden veya bu işlem oldukça uzun sürebileceğinden dolayı dosya seçmeye yarayacak modülümüz olan tkFi...

Tkinter ile Pencere Başlığı Ayarlama – Tkinter.title() Fonksiyonu

Tkinter ile yaptığımız programların direk çalışması işimizi görüyor olabilir ancak görsellik açısından pencerenin bir başlığının bulunması önemlidir. Ayrıca sadece görsellik açısından değil aynı zamanda programın anlaşılabilmesi için de başlık yazma...

Tkinter ile Pencere Oluşturma ve Yazı Yazdırma

Tkinter modülü ile yapabileceğimiz en basit işlemlerden biri şüphesiz ki bir pencere oluşturup bu pencere üzerine yazı yazmaktır. Hemen dediğimizi yapıp bir pencere oluşturalım ve pencere üzerinde bir yazı etiketi tanımlayarak bunu ekrana yazdıralım...

Tkinter ile Renk Seçimi

Bulunduğunuz işletim sisteminin renk seçim aracını kullanarak istediğiniz rengi seçmenizi sağlayan tkColorChooser modülü altındaki askcolor() fonksiyonu sayesinde işimizi rahatça yapabiliriz. Hemen bir örnek üzerinde kullanımını görelim. ``` #-*-co...

Tkinter ile Uyarı Pencereleri

Tkinter ile yaptığımız programlarda uyarı pencerelerine ihtiyacımız olması oldukça normaldir. Bunların başında dosya seçimi, sonuç bildirimi, evet hayır soruları gelmekle birlikte bu listeyi istediğimiz kadar uzatmamız mümkündür. Bu işlemler sırasın...

Tkinter ile Widget Boyutları

Tkinter ile kullandığımız widgetlerimizin boyutlarını istediğimiz şekilde ayarlayıp programımızın farklı pencere boyutularına uyumunu arttırma şansına sahibiz. Bunu yapmak için basitçe HTML’deki gibi width ve height ifadelerini kullanıyoruz. Hemen u...

Tkinter ile Widget Kenarlıklarını Belirleme

Tkinter kullanarak elimizdeki widgetlerin kenarlıklarına istediğimiz değerleri verebiliriz. Bunu yapabilmek için config() fonksiyonuna bd ifadesini ekleriz. ``` dugme.config(bd=2,relief=SOLID) ``` bd ile ne kadar genişlikte bir kenarlık olacağını,...

Tkinter Programa Buton Ekleme

Tkinter modülü ile yaptığımız programlara hemen her programın olmazsa olmazı olan butonları eklemeden olmaz sanırım. Bunu yapabilmek için Tkinter.button() fonksiyonunu kullanacağız. Hemen bir örnek kod üzerinde görelim. ``` #-*-coding:utf8-*- from ...

Tkinter Yazı Fontu ve Boyutlarını Ayarlamak

Tkinter modülü ile yazı fontunu değiştirme ya da boyutunu belirleme gibi işlemleri kolayca yapabiliriz. Ayrıca renklerin ingilizce isimleri ya da HTML renk kodlarını kullarak istediğiniz renkle yazıları boyama şansına sahibiz. Hemen bir Tkinter örne...

Traefik Proxy Temelleri

Bu yazıda, mikroservisler özelinde hazırlanmış olan Traefik ters vekil sunucunun temel kavramlarından bahsedeceğim. Traefik, Docker, Mesos, Consul, Kubernetes gibi birçok altyapı ile birlikte çalışabilen ve dinamik olarak servis ekleme/çıkarma olana...

True, False ve Karşılıkları ile Matematiksel Denemeler

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/python-multithreading.png)Python altında çalışırken True’nun 1, False’ın da 0’a karşılık geldiğini biliyoruz. Bunu type() ile onaylayamasak da, şöyle de bir gerçek var: Python altında 0 olma...

Ücretsiz ESP8266 ile Nesnelerin İnterneti Kitabı

[](http://gu.ray.kim/esp/kitap.pdf)Nesnelerin interneti (Internet of Things, IoT) konusunda uzun zamandır projeler geliştiriyorum. Bunları yaparken birçok farklı teknolojiyle birlikte çalışmak gerekebiliyor. Sağladığı yenilikleri ve kolaylıkları da ...

Ufak Şeyler Atölyesi – Küçük Üyemiz

Artık minicik, şirincik bir şey var zaman ayırılabilecek ve bu sefer bir yavru kediden de bahsetmiyorum. Ufak şeyler atölyesi isimli bir internet sitesi açtım. Yazdığım programları, özellikle işe yarar olanları paylaşmaya çalışıyorum. Yakın zamanda ...

Urllib ile Proxy Kullanarak Site Açmak

Urllib modülünü kullanarak elimizdeki proxy’ler yardımıyla sitelere giriş yapabiliriz. Bunun için önce proxy’leri Python’un istediği şekilde bir sözlüğe koyup ardından FancyURLopener() fonksiyonu ve en son da open() fonksiyonunun elinden geçirerek s...

Urllib ile Sitenin ve Sunucunun Bilgilerini Sözlük Halinde Almak

Urllib modülü sayesinde site ve sunucu hakkında işlem yapmaya ve bilgi almaya açık bir hale gelen Python sayesinde bilgi alma işlemini biraz inceleyelim. Sitemizi urllib.urlopen() ile açtıktan sonra headers ifadesi yardımıyla sunucu ve site hakkında...

Urllib2 Modülü İle Python Kullanarak Sitedeki Tüm Dosyaları Çekmek

Sitede yer alan 1’den 10000’e kadar olan fotoğrafları bilgisayarımıza indirmek istediğimizi varsayalım. Ya da html gibi not defteriyle açıldığında anlamlı sonuç vermeyen yani binary modda olan dosyaları indirmek için kullanabileceğimiz bir program. ...

Windows ve Linux üzerinde Python’a Pip yükleme (Python Installer Package)

Birkaç modül sayfasını ya da modüllerle ilgili yazıları içeren sayfaları gezdiyseniz muhtemelen karşınıza yükleme linklerinin yanında şöyle bir komut ile de yükleyebileceğinizi söyleyen bir ifade çıkmıştır: pip install paketadı Bu komut Python’a d...

WordPress + MySQL with Isolated Network Deployment in 30 Seconds with Docker Swarm Mode

WordPress is using as a blog CMS for a long time. As a result, it is a huge project and it can be classified as monolithic WEB application. Due to this reason, its deployment could be a little bit different than new fashion deployments with microser...

Yazılım Özgürlüğü Günü 2012 Kutlamaları

[](http://www.gurayyildirim.com.tr/blog/wp-content/uploads/banner.png) Blog üzerinden ilk defa bir katılım çağrısı yapıyorum sanırım. Ama gerçekten güzel bir çağrı olduğunu düşünüyorum. Yazılım Özgürlüğü Günü 2012 kutlamalarına, yazılıma ilgi duyan...

Yenilikler

Uzun zamandır oturup bir blog yazamadım. Son zamanlarda olanları bir özet geçeyim: Şu anlık bunlarla sınırlıyım. Bazıları zaman aldığı için, ve başka birçok sebepten dolayı çok fazla ilerleme şansım olmuyor. Bugün blog yazmayı işsizlik olarak değer...

Yorum Satırı ve Değişken İsmi Kullanımı Hakkında

Geçenlerde bir raporun bir kısmını okumuştum, ****özgür yazılımcılar için özetle şöyle diyordu: bu kişilerin kodlama bilgileri oldukça gelişmiştir fakat görsel arayüzlerle ve dökümantasyonla pek araları yoktur. Başlığı ya da yazarı hakkında hiçbir ş...

Zip Arşivinden Dosya Çıkarmak

Zip arşivlerinden dosya çıkarabilmek için öncelikle boş birer dosya oluşturup içerikleri aktarmamız gerekmekte. Bunu yapabilmek içinse basit olarak bir dosyayı open() fonsiyonunu kullanarak oluşturalım ve ardından diğer işlemlerimizi yaparak sonucu ...

Zip Arşivine Dosya Eklemek

Python ile istediğimiz bir zip arşivine dosya eklemek için yapacağımız işlemlere bir göz atalım. Tabii ki yine zipfile modülü ile çalışıyoruz. ``` zipimiz=zipfile.ZipFile("zipim.zip","a") # Yazacağımız için a modunda açtık. dosya.write("okunacak.tx...

Zip Dosyasının İçerik Bilgilerini Almak ve Ekrana Bastırmak

Python ile okuduğumuz zip dosyasının içerisindeki dosya ve klasörleri listelememize rağmen sadece isimlerini bilmek bazen yeterli olmayabilir. Dosyaların ve klasörlerin bilgilerini içerisinde bulunduran zipfile.infolist() fonksiyonu bu esnada işimiz...