Linux’ta Yazılım Geliştirme

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Ağları ve İnternet
Advertisements

.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
SGB.NET’İN TEKNİK ALTYAPISI
PHP VE MYSQL.
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
Mysql, PhpMyAdmin, PHP, Dinamik Web Sayfası, PHPNuke Kullanımı
Filezilla Client & Server
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
 Ofis dışından erişim  Kurulum gerekmez  Internet Explorer, Mozilla FireFox, Google Chrome, Safari üzerinden çalışma  Sade ve basit arayüz Web Avantajları.
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
Web Host Manager (WHM) Nedir Ne İşe Yarar ?
C Programlama Diline Giriş
Windows işletim sistemi ve sürümlerinin incelenmesi
ÖMÜR BİLGİLİ
Javascript Oğuz İNAL.
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
DOVECOT İLE IMAP VE POP3 SERVER KURULUMU
Paket Yönetimi Öğr. Gör. Mustafa SARIÖZ BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ.
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
Dumlupınar Üniversitesi
İSİM UZAYLARI (NAMESPACE).
İnternet Programcılığı II
İSİM UZAYLARI (NAMESPACE)
MART 2013 İŞLETİM SİSTEMLERİ.
Lınux Command arch:Makine mimarisi hakkinda bilgi verir. “uname -m” komutu ile ayni isleve sahiptir. cat [dosya]:Dosyalari ardarda siralayarak standart.
İşletim Sistemleri Tanım: Kullanıcı ile bilgisayar donanımı arasında bağlantıyı sağlayan özel bir yazılımdır.
Bilgisayar Programlama
İnternet Teknolojisi Temel Kavramlar
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
Paralel Programlamaya Giriş
İnternet Programcılığı II
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Windows için mysql kurulumu sitesinden mysql veritabanının ilgili sürümü indirilir. Biz.
İnternet Programlama PHP.
İŞLETİM SİSTEMLERİ İşletim sisteminin, kolay ve hızlı kullanım, kaynak verimliliği gibi kıstasların dışında, ortamında saklanan bilgilerin, gerekse izinsiz.
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
İnternet Programcılığı II
PHP.
Hayrettin Bucak Sistem yöneticisi TÜBİTAK ULAKBİM Ekim 2003.
İnternet Teknolojisi Temel Kavramlar
Paralel Programlamaya Giriş
İKMAP İnternet 1 Ders Notu
VERİ ERİŞİM ARABİRİMİ PROGRAMLAMA DİLLERİ KENDİ OLANAKLARIYLAVERİTABANI ERİŞİMİNİ TAM ANLAMIYLA GERÇEKLEŞTİREMEZLER. BU NEDENLE VERİ ERİŞİM ARABİRİMİ (DATA.
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
Veritabanı Yönetim Sistemleri - I
İnsan Kaynakları Bilgi Sistemleri
KIRKLARELİ ÜNİVERSİTESİ
Akıllı İstemcileri Geliştirmek ve Dağıtmak
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
BM-308 Paralel Programlamaya Giriş Bahar 2016 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
GYTE Programlama dilleri Can GÜLŞE PHP Parser Hypertext Preprocessor.
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
SUNUCU İŞLETİM SİSTEMLERİ
Doküman Yönetim Sistemi (DYS) Kurulumu ve Ayarları
Asp.Net Veritabanı İşlemleri
C Programlama Dili Bilgisayar Mühendisliği.
Muhammet Doğan KABLAN
Dünyanın bilgisine açılan pencere...
PROGRAMLAMA TEMELLERİ
Server Yönetim Programları
ACTIVE DIRECTORY.
İNTERNET PROGRAMCILIĞI 2
Dünyanın bilgisine açılan pencere...
YAZILIM KOD ÜRETEÇLERİ
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
Sunum transkripti:

Linux’ta Yazılım Geliştirme Afyon Kocatepe Üniversitesi Bilgi İşlem Daire Başkanlığı Linux’ta Yazılım Geliştirme Arş.Gör. Yaşar Arslan yarslan@aku.edu.tr

Linux geniş yazılım arşiv ve kütüphanesi ile birlikte sunuluyor. 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.

Grafiksel... 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.

Kendi içinde Kabuk programlama: 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.

cp /var/deneme.txt /home/yedekler/ rm –rf /var/deneme.txt Ö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 programlama 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 Paketi 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.

Ö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ü Hangi Linux versiyonu destekler Redhat 7.2 Mandrake 8.2 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ım Delphi’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ükleme Bileş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ükleme

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 bağlantı

Linux üzerinde veritabanı Bir veritabanı sunucusu kurmak, izlemek, sorgulamak ve diğer işlemlerini yapmak için 3 yazılımı kullanmamız gerekiyor. MySQL (Veritabanı modeli) Apache webserver (server durumuna dönüştürme) 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

C ile programlama 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.

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 >. /deneme komutu ile çalıştırılır.

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 özellikler Windows 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.

Bilgisayarlar arası iletişim sağlanabilir. 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şlemleri Kylix’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 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.

Ayarlar devamı... 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

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 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 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!