Kas 282017
 
525 views

Abaküs Kitap Yayın Dağıtım Hizmetleri tarafından yayınlanan Yeni Başlayanlar İçin Python kitabım iki yıldan kısa bir süre içinde 4. baskısını yapıyor. İlginiz için sizlere ve Abaküskitap Yayınevi’ne içtenlikle teşekkür ediyorum.

Yeni Başlayanlar İçin PYTHON

Kitabımızın 4. baskısını şu an itibariyle en güncel sürüm olan Python 3.6.3’e göre yeniden düzenledik. Örneklerin hepsini tekrar elden geçirdik ve gereken uyarlamaları yaptık.

Python 3.6.3 sürümüne göre yeniden düzenlediğimiz kaynak kodlarına erişim adresini önümüzdeki günlerde buradan sizlerle paylaşacağım.

Kitabımla veya genel olarak Python dili ile ilgili her türlü soru, öneri ve eleştirilerinizi aşağıdaki yorum bölümünden bana iletebilirsiniz.

Kitaplarım ve genel olarak Python ile ilgili yazılarımı bundan sonra python.gurmezin.com adresinde yayınlayacağım.

Hepinize kolaylıklar ve başarılar diliyorum.

Ahmet Aksoy – Kasım 2017

Eki 132017
 
2.349 views

Python 3.6.3 Kurulumu

Python 3.6.3 sürümü 3 Ekim 2017 tarihinde yayınlandı.

Windows veya MacOS kullanıcısı iseniz https://www.python.org/downloads adresinden gerekli dosyayı indirin ve indirdiğiniz dosyayı çift tıklayın. Kurulum hemen gerçekleşecektir.

Python 3.6.3

Eğer bir Ubuntu kullanıcısı iseniz, aynı sayfadan kaynak kodlarını indirip kolayca derleyebilirsiniz.

1- Python-3.6.3.tar.xz dosyasını bilgisayarınıza indirin.
2. tar xzf Python-3.6.3.tar.gz komutuyla zip dosyasını açın.
3. Kaynak kod klasörünü ~/ dizinine kopyalayın.
4. cd ~/Python-3.6.3
5. ./configure
6. sudo make altinstall
7. python3.6 -V

Aldığınız yanıt “Python 3.6.3” olmalıdır.

python ve python3 linkleri aynen eskisi gibi geçerlidir.

Yeni sürüme python3.6 komutuyla ulaşın.

Ahmet Aksoy

Ağu 012017
 
3.671 views

30 Temmuz 2017’de Bolu’daydım. Önceki yıllarda olduğu gibi bu yıl da Linux Yaz Kampı Bolu Abant İzzet Baysal Üniversitesi yerleşkesinde yapılıyor. 21 Temmuzda başlayan kamp, 5 Ağustos tarihinde sona erecek. Kamp bünyesinde bu yıl 68 eğitimci ve 600 öğrenci yer alıyor. Derslikler 24 kişilik. Bu yılın eğitimlerinde uygulamaya öncelik verilmiş durumda.

İlk Linux Yaz Kampı 2010 yılında, Işık Üniversitesi Şile Yerleşkesinde yapıldı.

2011 yılındaki Linux Yaz Kampına ise Düzce Üniversitesi ev sahipliği yaptı.

2012 yılı ve sonrasındaki kamplar ise Bolu Abant İzzet Baysal Üniversitesinde düzenlenmektedir.

Kampların düzenlenmesine LKD (Linux Kullanıcıları Derneği) ve İNETD (İnternet Teknolojileri Derneği) öncülük etmektedir.

Bugüne değin yaklaşık 2000 öğrenci bu kamplarda çeşitli eğitimler almıştır.

Kurslar tamamen ücretsizdir. Katılımcılar sadece yol, konaklama ve yemek masraflarını karşılamaktadır. Bu konuda da olası en uygun koşulların sağlanmasına özen gösterilmektedir.

Eğitimciler tamamiyle gönüllülük esasına göre çalışmakta; onların yol ve konaklama giderleri kamp organizasyonu tarafından karşılanmaktadır.

Sabah 9.30’da başlayan dersler, üçer saatlik üç bölüm olarak gün içine yayılmıştır ve 21.30’da sonlanmaktadır. 12 saatlik bu zaman diliminin 9 saatlik bölümü derslerle doldurulmuş, araya dinlenme aralıkları serpiştirilmiştir.

Eğitmenler olağanüstü bir özveriyle çalışmaktadır.

Ben buraya misafir eğitimci olarak, bir günlüğüne geldim. Nisan ayında geçirdiğim ameliyatın nekahat dönemi hala tamamlanamadığı için daha fazlasını göze alamazdım. İyi ki öyle yapmışım, çünkü enerjim 3. ders bölümü için yetmedi. Konuları zaten ilk iki bölümde tamamladığımdan, 3. bölüm için düşündüğüm Python ile eğlenceli örnek ve uygulamalardan vazgeçebildim.

Derslerde işlediğim konular “Web ve Flask’a Giriş” olarak özetlenebilir. Sunum ve kod dosyalarını LINUXYAZKAMPI2017 adresinden indirebilirsiniz.

Linux Yaz Kampı yöneticilerini, destekleyen kuruluşları, eğitimcileri ve katılımcıları yürekten kutluyor, başarılarının devamını diliyorum.

Umuyorum ki bu tür gönüllü çalışmalar daha da yaygınlaşır ve gençlerimize katkıda bulunmaya devam eder.

Ahmet Aksoy

Mar 072017
 
1.703 views

IBM Ticari Kuantum Bilgisayarlar Gerçekleşmek Üzere

Independent‘te yayınlanan bir makaleye göre IBM Q adıyla kurulan yeni bir bölüm ticari kuantum bilgisayarları hayata geçirmek için kolları sıvamış durumda.

IBM yetkilileri, klasik bilgisayarlarla ele alınamayan ve hala çözülememiş bazı karmaşık problemleri halledebilmek için kuantum bilgisayarlara ihtiyaç duyulduğunu belirtiyorlar.

Ticari Kuantum Bilgisayarlar

Foto: tr.wikipedia.org

Kuantum bilgisayarların üzerinde çalışacak uygulamalar klasik bilgisayarlar üzerinde koşan uygulamalardan farklı olmak zorunda. Bu yüzden IBM Q yetkilileri bu tür uygulamaların yıl sonuna doğru yayınlanacak simülatörler üzerinde geliştirilmeye başlanması gerektiğini vurguluyor. Bu çalışmalarla ilaç endüstrisi, malzeme geliştirme ve yapay zeka gibi alanlarda yeni çözümler üretilmesi bekleniyor.

Klasik bilgisayarlar elektronik devre kapılarının açık veya kapalı olmasına, yani sadece 0 ve 1’lerden oluşan iki tabanlı aritmetiğe dayanıyor. Sıfır veya bir konumunu belirten birim “bit” olarak adlandırılıyor. Halen 8 bitlik, 32 bitlik ve 64 bitlik sistemler yaygın olarak kullanılmakta.

Kuantum bilgisayarların temel birimine ise “qubit” (kübit) adı verilmiş. Bu sistem fotonların dikey ve yatay polarizasyonlarını kullanır ve iki fazlı kuantum sistemi (two-state quantum system) olarak anılır. Kübitler 0, bir ve bu ikisi arasında bir başka değer daha alabilir. Bunlara ek olarak daha fazla “durum”a sahip olabilen kuditler üzerinde de çalışmalar sürmektedir.

Rus Kuantum Merkezi’nden yapılan açıklamaya göre beş seviyeli bir kudit ile kuantum hesaplamalarının yapılabildiği gösterildi.

Öyle görünüyor ki, kuantum bilgisayarlarla tanışmamız için çok fazla beklememiz gerekmeyecek.

Ahmet Aksoy

Kaynaklar:

Mar 022017
 
1.523 views

Karar ağacı görselleştirilmesi örnek kodlar

Bu yazımda ele alacağım örnek kodların orijinali Josh Gordon’a aittir. Bu kodlar Python2 için düzenlenmiştir. Ben ise aynı kodların Python 3.5.2 altında çalışabilmesi için gereken düzeltmeleri yaptım. Özellikle pydot kütüphanesi yerine pydotplus kütüphanesinin yüklenmesi, kodların çalıştırılabilmesi açısından önemlidir.

Kullandığımız veritabanı, sklearn kütüphanesiyle birlikte gelmektedir ve sadece 150 kayda sahiptir. Dolayısıyla zayıf konfigürasyonlu makinelerde bile sonuçlar çok kısa sürede alınabilmektedir.

Kodları çalıştırdığım sistem ve gereken kütüphanelerin sürüm numaralarını herhangi bir olumsuzluk olasılığına karşı not ettim:
Ubuntu 16.04
Intel i5 4 çekirdek – 8GB bellek
Python 3.5.2
sklearn 0.18.1
numpy 1.12.0
pydotplus 2.0.2

VERİ TABLOSUNUN GENEL AÇIKLAMASI

Veritabanı İris çiçeği‘nin bilinen üç ayrı türüne ait çeşitli yaprak boyutlarını içermektedir.

Karar ağacı görselleştirilmesi

Iris sotosa Credits: en.wikipedia.org

Bu verisetinin ayrıntılarını https://en.wikipedia.org/wiki/Iris_flower_data_set adresinden inceleyebilirsiniz.

İngilizce bilmeyen okuyucularımız için kısa bir özet yapayım.
İris çiçeğinin setosa, versicolor ve virginica adları verilen 3 ayrı türü bulunmaktadır. Bu türlere ait farklı çiçeklerin çanak yaprak (sepal) ve taç yaprak (petal) ölçüleri en ve boy olarak saptanmıştır. Tablo yapısı şöyledir:

Sepal length Sepal width Petal length Petal width Species
Çanak yap. boy Çanak yap. en Taç yap. boy Taç yap. en Tür
5.1 3.5 1.4 0.2 I. setosa

Ölçüler, santimetre cinsinden verilmiştir. Tabloda 150 kayıt bulunmaktadır.

Aşağıdaki kodların karar ağacı grafik dosyalarını üretebilmesi için sisteminize graphviz uygulamasını yüklemiş olmanız gerekir. Kurulumu aşağıdaki gibi kolayca yapabilirsiniz.

KODLAR

Sorularınızı yorum alanından bana iletebilirsiniz.

Ahmet Aksoy

Links:

Şub 252017
 
1.658 views

DeepCoder internetten topladığı kodlarla program yazıyor

DeepCoder internetten topladığı kodlarla program yazıyor

Microsoft ve Cambridge Üniversitesinin işbirliğiyle geliştirilen DeepCoder sistemi internetten ve diğer kaynaklardan derlediği kod parçalarını kullanarak kendisine verilen sorunu çözen yazılımlar üretebiliyor.

DeepCoder internetten topladığı kodlarla program yazıyor

Resim: winbuzzer.com

Aslında bir yapay zeka (AI) çalışması olan DeepCoder, kod parçalarının depolandığı veritabanını tarayarak yapacağı işe uygun bileşenleri buluyor ve uygun şekilde bir araya getiriyor.

Bu teknik, bir çok programcının çalışma biçimini de yansıtıyor. Yeni yazılan bir çok uygulamanın önemli bir kısmı daha önce geliştirilmiş olan çeşitli kütüphaneler ve yordamları kullanarak geliştiriliyor. Doğal olanı da bu. Aksi halde her çalışmada Amerikayı yeniden keşfeder gibi, daha önce binlerce kez yeniden yazılmış olan ve geliştirilerek sorunsuz hale getirilen hazır kodları kullanmak yerine, sıfırdan bir çaba içine girmek gerekirdi. Modern çağın modüler sistemleri, yazılım dünyasında da aynen geçerli.

DeepCoder ve benzer şekilde çalışan diğer sistemler, bir yazılımcının çalışmasını benzer şekilde yineliyor. Üstelik kullandığı yapay zeka teknikleri sayesinde sürekli yeni şeyler öğreniyor ve kendini geliştiriyor.

Buna rağmen, bu sistemi geliştiren programcılar, “geniş kapsamlı projelerin, küçük kod parçalarını birleştirerek elde edilemeyeceği” görüşünü savunuyorlar.

Yapay zeka ve robot bilimi alanında yaşanan gelişmeler, bir çok mesleği doğrudan etkilemeye başladı bile. Yazılımcılar da kendi rakiplerini geliştirmek için var güçleriyle çalışıyorlar.

Ahmet Aksoy

Kaynaklar: