Browsing the archives for the Programlama category.

Advices For Python Beginners

Açık Kaynak, Programlama

This will be a brief advices-only post for a long term learning plan :)

– Use pip (python package installer), never install python packages manually
If you choose installing packages manually, you will have to deal with package dependency hell. Also if you install python packages with your OS package installer (apt-get yum etc), your python packages may be old.
– Read this! http://www.python.org/dev/peps/pep-0008/
– Don’t ever use tab for identation, a tab may mean 2 or 4 or x space characters which means your identation meaning will change if you use your code file in different environments.
– Pylint may be useful
– Learn virtualenv if you run different projects at same machine, package versions may matter a lot in some circumstances

Continue Reading »

Bu yazı toplamda 1680, bugün ise 1 kez görüntülenmiş

No Comments

hexspeak

Açık Kaynak, Programlama, ytulinux

http://en.wikipedia.org/wiki/Hexspeak

use strict;
open(HANDLE,”wordlist.txt”) || die “wrong path buddy”;
my @wordlist = <HANDLE>;
@wordlist = grep /^[A-F]+$/, @wordlist;
@wordlist = sort { length $b cmp length $a } @wordlist;
print @wordlist[0..30];
ACCEDED
DEFACED

Bu yazı toplamda 2333, bugün ise 0 kez görüntülenmiş

No Comments

C ile Çevre (ENVIRONMENT) Değişkenlerini Kullanmak

Açık Kaynak, Programlama, tutorial, ytulinux

Önemli bir konu olan çevre değişkenlerinin c içerisinde kullanılması konusuna biraz eğilelim.

Diyelim ki bir program yazdık, ve programa ait bir takım ayarları home dizini altında saklamak istiyoruz. Bunun için $HOME değişkenini programın içerisine bir şekilde almamız gerekir. stdlib.h içerisindeki char * getenv(char * str1) fonksiyonu bize bunu sağlar. Bunun için bir örnek program yazdım, şöyle bir bakmanızla getenv in nasıl kullanıldığını anlayabileceğiniz bir program. Tabi programımız çok da basit olmasın diye for kullanımına dair bir çakallığı da göstermek istiyorum :)

Continue Reading »

Bu yazı toplamda 2413, bugün ise 0 kez görüntülenmiş

No Comments

getopt.h ile Programa Ait Seçeneklerin Argv Üzerinden İşlenmesi

Açık Kaynak, Programlama, tutorial, ytulinux

* http://www.advancedlinuxprogramming.com/ *

Evet “Önce bir selam vereydin” şeklindeki itirazlarınızı duyabiliyorum. Bu kaynak çok iyi, bu yüzden yazının başına yıldızla işaretlenmiş şekilde yazıyorum. Eğer linux üzerinde programlama konusunda aşmak istiyorum diyorsanız bir kaç haftalık tüm programınızı iptal edip bu kitaba yoğunlaşın derim. (Ne oldu zor geldi değil mi ehuehuehu zaten ben de azar azar ilerlemeyi düşünüyorum)

Neyse, konumuz programlara ait argümanların işlenmesi. Tabi biz işlemiyoruz her zamanki gibi, Zimbabwe’yi yeniden keşfetmenin alemi yok, yazmış adamlar.

Kullanacağımız kütüphane <getopt.h>. Adından da anlaşılacağı üzere, kullanıcı programı çağırırken hangi seçeneklerle çağırdıysa bunları bize sırasıyla veriyor.

Continue Reading »

Bu yazı toplamda 2401, bugün ise 0 kez görüntülenmiş

No Comments

stdarg.h ile Argüman Sayısı Belirsiz Olan Fonksiyonlar Yazmak

Açık Kaynak, Programlama, tutorial, ytulinux

Evet sayın seyirciler gün geçmiyor ki yazılımcıların iğrenç zevklerine bir başkası eklenmesin.

Bugünki (bugünkü, bugünküüü hmm evet) konumuz argüman sayısı belirsiz olan fonksiyonlar yazmak.

Hangimiz printf i görüp de, bu nasıl yazılıyor acaba dememiştir ki? Evet bugün çocukluk hayallerimiz gerçekleşiyor ve argüman sayısı kullanıma göre değişebilen mini mini fonksiyonlar yazıyoruz.

Öncelikle konu ile ilgili bir takım talihsiz açıklamalar yapayım.

Efenim öncelikle, işin bellek yerleşimine kadar uzanan bir takım hesaplamalarda bulunacağız ki ne yaptığımızın farkında olalım.

Continue Reading »

Bu yazı toplamda 2151, bugün ise 1 kez görüntülenmiş

No Comments

Opencv, c İle Nasıl Kullanılır? -Görüntü İşleme- (1)

Açık Kaynak, Programlama, tutorial, Uzun Kod İçerikli, ytulinux

Evet güne hızlı başladım, şimdi de opencv ile bir resim nasıl açılır, nasıl görüntülenir, üzerinde bir iki basit işlem nasıl yapılır gibi şeyleri öğreneceğiz. (Linux için opencv paketini yükleyip, en altta verdiğim parametrelerle derleme yapmanız yeterli. Windows için biraz arama yapmanız gerekecek :) )

Öncelikle her yazıda yaptığımız gibi, konu ile ilgili struct‘ın ne olduğunu görelim. Açtığımız resimler ile ilgili bilgiler (IplImage *) struct’ında tutulur. Şu an yapacağım kopyala yapıştırdan gözünüz korkmasın, hepsini bilmek zorunda değilsiniz. width, widthstep, height, nChannels, depth ve imageData‘yı bilmeniz yeterli, bunlar birazdan açıklanacak.

Continue Reading »

Bu yazı toplamda 5429, bugün ise 0 kez görüntülenmiş

16 Comments

GLib Tek Bağlı Liste ile Örnek Proje, Kelime Sayacı

Açık Kaynak, Programlama, tutorial, Uzun Kod İçerikli, ytulinux

Geçen gün farketmemişim, glib kütüphanesinde tek bağlı liste de bulunuyormuş. Onu da anlatmadan geçmenin pek mantıklı olmayacağını düşündüm, ancak çift bağlı liste ile çoğunlukla aynı özellikleri taşıdığı için örnek bir proje yapıp olayı onun üstünden anlatmak daha mantıklı olacaktır.

Önceki makaleyi okumayanların, http://www.huseyinalb.com/glib/ adresinden okumalarını tavsiye ediyorum. Orada anlatılan bir çok şeyi burada atlayacağımdan emin olabilirsiniz :)

Öncelikle GSList, yani tek bağlı listenin struct‘ına bakalım.

typedef struct {
gpointer data;
GSList *next;
} GSList;

Görüleceği üzere, çift bağlı listeden tek farkı kendisinden önceki elemana atıf vermemesi.

Örnek projemiz, bir dosyadan alınan yazıda bulunan kelimeleri sayıp, miktarlarına göre sıralamak. Öncelikle, önceki anlatımdan bunun önemli bir farkını belirtmekte yarar var. Bu sefer glib’de bulunan hazır fonksiyonlardan tamamıyla faydalanmamız pek mümkün değil, çünkü kendi tanımladığımız bir struct’ı kullanmak zorundayız.

typedef struct
{
char * kelime;
int miktar;
} kelimeTip;

Bu struct’ta kelimeler ve bu kelimelerden kaç tane bulunduğu saklanacak. Okuduğumuz yazıdan her gelen kelime, listede aranacak, eğer zaten varsa listedeki kelimenin miktarı arttırılacak, eğer yoksa listeye eklenecek. Bunun için gereken fonksiyonların prototiplerini yazmak gerekirse;

Continue Reading »

Bu yazı toplamda 4537, bugün ise 3 kez görüntülenmiş

3 Comments

GLib Çift Bağlı Liste Nasıl Belgesi

Açık Kaynak, Programlama, tutorial, ytulinux

Merhabalar, uzun bir süre sonra kaldığım yerden yazmaya devam etmenin kıvancını duymaktayım :)

Bundan bir kaç saat önce, hash tablosu kullanmak için bir kütüphane aramaya başladım ve glib-2.0 kütüphanesinin, standartlaşmış ve c programlama dili ile veri yapılarına takla atlatmak üzere donatılmış olduğunu farkettim. Kısa bir flashback yaşayıp, boşa geçen yıllarımı yadettikten sonra, bu konuda bir nasıl belgesi aramaya başladım.

http://www.scribd.com/doc/3499572/Manage-C-Data-Using-the-GLib-Collections

adresindeki kitabı buldum ki henüz bir kaç sayfasına bakmış olmama rağmen oldukça beğendim.

http://www.gtk.org/api/2.6/glib/

adresinde de bu kütüphaneye ait atıf kütüphanesini (Reference Library) buldum. Ancak demin linkini vermiş olduğum kitap eğer sayılmazsa, bir çok alanda yazılmış tonlarca dökümantasyona kıyasla bu konuda pek anlatım bulamadım.

Bu kütüphanedeki yapıları kullanabilir hale gelmek istiyorum, tabi bunu yaparken belgelendirmesini de yapıp topluma faydalı sayacan sevecen bir genç olmamak için herhangi bir nedenim yok.

Hedefim olabildiğince her veri yapısını kullanmayı gösteren ayrı ayrı nasıl belgesi yazmak, umarım sıkılıp bu belgelendirmeyi yarıda bırakmam.

Continue Reading »

Bu yazı toplamda 4028, bugün ise 0 kez görüntülenmiş

4 Comments

Nesne Tabanlı C

Açık Kaynak, Programlama, tutorial, Uzun Kod İçerikli, ytulinux

Eveeet kim demiş cde nesne tabanlı programlama yapılamaz diye?
Öncelikle nelere ihtiyacımız var onları görelim…

– Struct yapılarını kullanabilme yeteneği
– Bellek allocate etme becerisi (İşaretçiler hakkındaki bilgi de buna dahil sanırım)
– Nesne tabanlı programlama hakkında biraz fikir
– Beş yıllık excel 2025 tecrübesi 😛

Hedef: C programlama diline nesne tabanlı programlama yapma becerisi kazandırmak

Öncelikle yapacağımız programı açıklayalım. Şu bizim genel, öğrenci diye nesne yarat, sonra bunu sınıf diye bir nesneye ekle geyiğini yapacağız. Bunu yaparken nesne kullanacağız. Peki c de nesne nasıl yaratılır?

Öncelikle, nesnelerin aslında bizim c programlama dilimizdeki structların fonksiyon eklenmiş hali olduğunu (kabaca) düşünürsek,

1- Structlarda tuttuğumuz verileri değiştirmeyle ilgili fonksiyonlara ihtiyaç duyacağımızı,
2- Structları yaratmak için constructor işlevini gören fonksiyonlar yazmamız gerektiğini
3- Structları yoketmek için yine birer fonksiyon yazmamız gerektiğini
4- Hiyerarşide üstte yer alan fonksiyonlarda kullandığımız nesnelerin alt nesnelerine direk değil, aradaki nesne vasıtasıyla iş yaptırmamız gerektiğini

Continue Reading »

Bu yazı toplamda 2570, bugün ise 0 kez görüntülenmiş

3 Comments

Gprolog ve Prolog dili için Başlangıç Rehberi

Açık Kaynak, Programlama, tutorial, ytulinux

Yapay zeka sınavından yeni çıkmış halimle düşündüm ki, madem prolog öğreniyorum bir tutorial yazayım bu konuda :)
GProlog kullandığım için onu anlatmayı düşünüyorum.
Öncelikle Prolog denilen nesne nedir onu açıklayayım.
Prolog, genellikle kullandığımız programlama dillerinden farklı bir mantığa sahiptir. Geleneksel programlama dillerindeki gibi arka arkaya yapılan olaylar dizisi mantığı tam olarak yoktur. Bize ait bir bilgi tabanı olur, onu komutlarla başta belirtiriz. Sonra bu bilgi tabanındaki verilerle bir takım çıkarımlar yapmamızı sağlayan kuralları tanımlarız. Bunları derledikten sonra, tanımladığımız kurallar ile birtakım sorgular yaparız. Örnekli anlatıma geçilince bunlar “haaaaa” sesli ifadeleri eşliğinde anlaşılacaktır.
GProlog ise, adından anlaşılacağı gibi GNU Prologdur. Yani prolog kodlarının üzerinde çalışması ve derlenmesi için yazılmış GNU programıdır.

Continue Reading »

Bu yazı toplamda 3668, bugün ise 1 kez görüntülenmiş

4 Comments
« Older Posts