linux’ta yazılım geliştirme

32
Linux’ta Yazılım Linux’ta Yazılım Geliştirme Geliştirme rş.Gör. Yaşar Arslan [email protected]

Upload: alesia

Post on 26-Jan-2016

107 views

Category:

Documents


1 download

DESCRIPTION

Afyon Kocatepe Üniversitesi. Linux’ta Yazılım Geliştirme. Bilgi İşlem Daire Başkanlığı. Arş.Gör. Yaşar Arslan. [email protected]. Linux geniş yazılım arşiv ve kütüphanesi ile birlikte sunuluyor. - PowerPoint PPT Presentation

TRANSCRIPT

Linux’ta Yazılım GeliştirmeLinux’ta Yazılım Geliştirme

Arş.Gör. Yaşar Arslan

[email protected]

C, C++, Java, Ada, Fortran, Pascal, Cobol, Basic, Lisp, Scheme, Python, Kylix başta olmak üzere hemen her programlama dilinin yorumlayıcı ve derleyicisini bulabilirsiniz.

C, C++ dilleri esnekliği ve zengin sistem geliştirme kütüphaneleriyle tavsiye edilen dillerdir. Grafiksel arayüz hazırlamada fazla kullanılmaz.

Linux geniş yazılım arşiv ve kütüphanesi ile birlikte sunuluyor.

X Window (kısaca X) adı verilen grafik arayüzü Linux’ta sadece metin ekranda çalışmak istemeyen kullanıcılar için günümüz windows sistemlerine benzer şekilde geliştirilmiş mekanizmadır.

Grafiksel programlama için Kylix ve Java başta gelen dillerdir. Ayrıca Kdevelop yazılımı grafiksel arayüzleri kısa sürede hazırlamanızı sağlayacaktır.

www.linuxapps.com www.linuxlinks.com www.linux-directory.com ‘dan bulabilirsiniz.

Grafiksel...Grafiksel...

Kabuk, klavyeden girilen komutları çalıştırarak bir arabirim görevi yapar. Sistem komutlarını döngüler kurarak, şartlara bağlayarak, normal bir programlama gibi düzenlememizi sağlar

Değişik türde kabuk derleyicileri kullanıcılara sunulmuştur.

sh: İlk Unix kabuğu. ksh: sh kabuğunun geliştirilmiş hali. bash: Kullanım kolaylığı bakımında nen çok

rağbet gören ve kaynak koduyla dağıtılan dildir. csh: C diline benzer bir programlama yapısı

vardır.

Kendi içinde Kabuk programlama:

Örnek kabuk programı:

#!/bin/bash

cp /var/deneme.txt /home/yedekler/

rm –rf /var/deneme.txt

cd /home/yedekler

echo “İşlem tamamlandı”

Editörde yazıp prg ismiyle kaydedelim ve>chmod 700 prg

komutu ile çalışır hale getirelim.

>. /prg dosya ismini bu şekilde yazıp çalıştıralım

Yazılım Geliştirme sunumuz iki bölüm halinde devam edecek.

1. Görsel Programlama:

Kylix; Kurulum, kullanım ve özellikleri.

2. Esnek programlama:

C: Kullanım ve özellikleri.

KYLIX: Linux üzerinde Görsel KYLIX: Linux üzerinde Görsel programlamaprogramlama

•Kylix tanımlaması,

•Kylix uygulama platformları,

•Kylix’in yeni sürümü Kylix3,

•Bileşen ekleme yöntemleri,

•Veritabanı ile kullanımı ve ek

bileşenler,

•Örnek uygulamalar.

Kylix; Delphi kütüphanesinin, Linux GUI birimini destekleyecek biçimde tasarlanması ile oluşturulan programlama paketidir.

Windows ortamında program geliştirme aracı olarak kullanılan Delphi’nin Linux platformuna uygun hale getirilmesi diyebiliriz.

Kısa zamanda geniş çapta bir yenilemeye dönüşerek Borland ailesinin yeni

ve farklı bir üyesi olmuştur.

Kylix PaketiKylix Paketi

ÖzellikleriÖzellikleriÜç paket halinde kullanıcılara sunuluyor:

Enterprise, Professional, Open Edition.Kolay kullanım ara yüzleri oluşturma (GUI).Nesneye bağlı programlama (Object Oriented).Veritabanı uygulamaları geliştirme.Web ve Web Servisleri uygulamaları geliştirme.Komponent kütüphanesi (CLX) desteği ile yeni

bileşenler ekleyebilme.İstemci-sunucu uygulamaları geliştirme.Kullanıcının Delphi veya C++ ile çalışabilmesi

Kylix 3 Deneme SürümüKylix 3 Deneme Sürümü Hangi Linux versiyonu destekler1. Redhat 7.22. Mandrake 8.23. Suse 7.3 ve üst versiyonları Download www.borland.com/kylix > tar -xvzf kylix3_trial.tar.gz dosya açılır,/usr/local/kylix3 dizini altına kopyalanır,mailinize gelen reg89.txt dosyasini/usr/local/kylix3 altına kopyalayın ~/kylix3> sh setup.sh –m komutu ile kurulum başlar.~/kylix3/bin>. /kylixstart komutu ile çalıştırın.

KullanımKullanımDelphi’ye benzer arayüz ile hızlı ve kolay kullanım. Borland Delphi ve Kylix, ortak gramer olarak

ObjectPascal (Object Oriented Pascal - OOP) dili kullanır.

Delphi ile yazılmış kodlar library ayarlarını yapmak suretiyle Kylix üzerinde de çalışır.

Delphi Windows ortamında Win32 arabirimini kullanır. Yazılan kodları bu arabirime çevirir.

Kylix Linux ortamında Xwindow sistemini yöneten Qt arabirimini kullanarak derleme yapar.

Bileşen YüklemeBileşen YüklemeBileşenler genellikle kurulumunu açıklayan bir dosya

ile birlikte gelirler ve o açıklamaya göre kurulumu yapılır.

Başlıca siteler:

www.torry.net www.delphi32.com

www.delphiturk.com (Türkçe)

zeoslib.sourceforge.net (Veritabanı araçları)

www.fast-report.com (Raporlama araçları)

www.teechart.com (Grafik çizim araçları)Kylix’te eksikliği hissedilen raporlama, veritabanı ve

grafik araçlarını kurmanız tavsiye edilir.

Bileşen YüklemeBileşen Yükleme

Veritabanı UygulamalarıVeritabanı UygulamalarıKylix; Oracle, DB2, Informix, Red Hat

Database, PostgreSQL, MySQL, and InterBase veritabanlarını destekler.

Delphi’de olduğu gibi veritabanı motoru ile gelmez, kullanılacak veritabanı sunucusu sisteme kurulur ve program tarafından bağlantısı sağlanarak işlemler yapılır.

Kylix içerisinde gelen dbexpress bileşeni veritabanı bağlantısını ve işlemlerini sağlar.

Veritabanı bağlantı ve işlemlerini sağlayan bileşenleri, önceden açıklanan sitelerden indirebilirsiniz.

Veritabanı ile Veritabanı ile bağlantıbağlantı

Linux üzerinde veritabanıLinux üzerinde veritabanı Bir veritabanı sunucusu kurmak, izlemek,

sorgulamak ve diğer işlemlerini yapmak için 3 yazılımı kullanmamız gerekiyor.

1. MySQL (Veritabanı modeli)2. Apache webserver (server durumuna dönüştürme)3. Phpmyadmin (MySQL veritabanı izleme aracı) Kurulumlardan sonra safe_mysql komutu ile

Mysql çalıştırılır, izlemek için web browser adres kutusuna localhost.localdomain/phpmyadmin yazarak veritabanı işlemlerimize başlayabiliriz.

Her açılışta veritabanımızın devreye girmesini istiyorsak rc.local dosyasına safe_mysql eklenir.

Kylix

Esnek ve zengin kütüphane desteği.Yeni başlayan ve geliştirme amaçlı kullanım için

ideal ve kapsamlı bir dil (basit ve güçlü yapı).Çoğu işletim sistemleri C dili kullanılarak

yazılmıştır (Unix, Linux, Windows API).Gelişmiş programlama dilleri temelde C’yi kullanır

(C++, CBuilder, Java).Linux üzerinde sistem programlama ve netwok

işlemleri yapılabilir.Veritabanı işlemleri için kullanılabilir.

C ile programlama C ile programlama

Kullanım:Linux üzerinde herhangi bir editor ile yazılır ve Linux komutu ile derlenir, derleme sırasında hata oluşursa hatalar satır numarası ile bildirilir.

Hazırladığımız programı deneme.c isminde kaydetmiş olalım, derlemek için;

>cc –o deneme deneme.c>cc –o çalışacak_dosya hazırlanmış_dosya>. /denemekomutu ile çalıştırılır.

C yapısı C yapısı #include<.....> Kullanılacak kütüphane dosyaları. int fonk(); int a; Fonksiyon ve global variable tanımı int main(arguman kullanılabilir) Ana yapı başlangıcı { int a=3; Local variable tanımı(herhangi yerde tanımlanabilir) İşlemler, döngüler, fonksiyon çağırma işlemleri. fonk(); } int fonk() { Fonksiyonun yapacağı işlemler }

C içinde Linux’a has özelliklerC içinde Linux’a has özelliklerWindows veya Dos ortamında kullandığımız C,

Linux’a daha zengin kütüphanelerle gelir.Sistem Programlama:

Bir program içerisinde birden fazla process (işlem) çalıştırma. Çok karmaşık ve zor yapıları process’lere paylaştırarak çözümleyebiliriz.

i=fork(); Yeni process oluşturma aşaması

if (i) {....} Process oluşmuşsa işlemleri yapabiliriz.

- Oluşturulan process sanki yeni bir programmış gibi diğerinden ayrı olarak programlanabilir.

Proccessler arası iletişim sağlanabilir.

Ayrı ayrı çalışan iki process arasına sanal borularla köprüler(Pipe) kurulur ve iletişimi sağlanır.

Named ve Unnamed Pipe. Network Programlama:

Bilgisayarlar arası iletişim sağlanabilir.

Network ortamında mesaj veya dosya alışverişi, istemci-sunucu işlemleri, TCP/IP veya UDP protokollerinin kullanımları ile gerçekleştirilebilir.

Bu amaç için genelde soketler kullanılır, IP ve port numaraları aracılığı ile iletişim gerçekleşir.

Günümüz network iletişim sistemlerinin (software) temeli, bu ilkelerden oluşmaktadır. Programlamacı olarak network programlama ile uğraşıyorsanız C size güzel ve hızlı kütüphaneler sunuyor.

C dilinin bu özelliklerini kullanarak standart programlardan ziyade network ortamında çalışabilen veri transferini network ortamına aktarabilen istemci-sunucu mantığı ile çalışan yazılımlar geliştirilebilir. Web server’dan chat programına kadar profesyonel amaçlı yazılımlar geliştirilebilir.

C ile Veritabanı işlemleriC ile Veritabanı işlemleriKylix’te olduğu gibi çeşitli veritabanlarını

destekler ve veritabanı bağlantısı sağlar.Grafiksel dillere göre hızlı çalışır, binlerce kaydı

olan kütüklerde bu hissedilir.Görsel açıdan zayıf olduğundan dolayı

programcının arayüz hazırlamasında fazla kod yazması gerekir.

Grafik ortamını kaldıramayan düşük konfigürasyonlu bilgisayarlarda çok rahat çalışır.

Program çalışması esnasında, sistem kaynaklarını daha az tüketir.

Gerekli AyarlamalarGerekli Ayarlamalar Sistemimizde veritabanı kurulu olması gerekli,

(Mysql kurduğumuzu varsayalım) eğer program haricinde görsel olarak işlemler yapmak istiyorsak Apache server ve phpmyadmin türünden yazılımları kurmamız gerekir.

Program içerisinde kütüphane kısmına;

#include<“mysql.h”> satırını eklememiz gerekir ki bu veritabanımız ile program arsındaki bağlantı anahtarıdır(dosya). Derleme sırasında dosya bulunamadı gibi hatalar alınırsa mysql’ in kurulu olduğu dizinde bu dosya bulunabilir ve programın klasörüne taşınır.

Diğer bir ayar ise derleme sırasında gerçekleşir ki

bu, bağlantı kurulacak veritabanın path’ini belirterek

gerçekleştirilir.

>cc –o dnm dnm.c -L/var/lib/mysql -lmysqlclient

/usr/lib/mysql: veritabanımızın bulunduğu path.

Derleme sorunsuz tamamlanmışsa ayarlarımız

yapılmış ve eğer bir sorun olursa sorunu program

içerisinde yazdığımız kodlarda aramamız gerekir

Ayarlar devamı...Ayarlar devamı...

Program içinde kullanımıProgram içinde kullanımı#include "mysql.h"#include <stdio.h>MYSQL my_connection; int main(){mysql_init(&my_connection);mysql_real_connect(&my_connection, "127.0.0.1", "root",NULL, "yasar",0,NULL,0);char query1[100]={"SELECT * FROM tablo1"};mysql_query(&my_connection,query1);}

mysql_..... uzantısı ile başlayan bütün fonksiyonlar mysql.h dosyası içerisinden çağrılırlar ve veritabanımızla ilgili bütün fonksiyonlarımızı bu şekilde gerçekleştiririz.

Bütün fonksiyonlarını bilmemiz şart değildir, bize gerekli olan fonksiyonları mysql.h dosyası içerisinden veya aşağıdaki linkde bulunan dosyayı inceleyerek kullanabiliriz.

www.uni-regensburg.de/www_server/dokumentation/mysql/manul_clients.html

Ayrıca sistem programlama için dokümanlar;

cmpe.emu.edu.tr/kostin/PUBLIC/CMPE343.LEC/

Örnek programlarla Örnek programlarla açıklamalarımız devam ediyor...açıklamalarımız devam ediyor...

•Kylix arayüzü tanıtımı

•Bileşen yükleme

•Veritabanı açılışı ve yöneticiliği

•Kylix ile veritabanına bağlantı sağlama

•C ile veritabanına bağlantı sağlama

Katıldığınız için Teşekkürler!Katıldığınız için Teşekkürler!