linux’ta yazılım geliştirme
Post on 26-Jan-2016
107 Views
Preview:
DESCRIPTION
TRANSCRIPT
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.
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.
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.
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
top related