Bilgisayar Programlama Dili I Laboratuvar Programı

Download Report

Transcript Bilgisayar Programlama Dili I Laboratuvar Programı

•
İnternet kullanıcısının, internet’e dahil olduktan sonra ilk
duyduğu ve gözlemlediği kavramlardan birisi Web
kavramıdır. WEB (World Wide Web-Geniş Dünya Ağı),
içerisinde bir çok dosya türünü barındırabilen çoklu ortam
sistemidir.
•
Yapı olarak yazi, resim, video, ses gibi bir çok dosya türünü
destekleyerek, birbirleri ile uyum içerisinde sağlıklı bir
şekilde çalışmalarını sağlar.
1
•
•
•
Web, basit olarak sayfalardan oluşmasına rağmen sayfaların
birbirlerine bağlantı (link) kurulmasi ile bütünlük arz eder.
Dolayısı ile bir sayfadan diğerine yol tanımlari yapılabilir ve
sayfalar arasında bağlantılar yardımı ile geçişler sağlanabilir.
Web’in en önemli özelliği ise bir çok işletim sistemini
desteklemesi ve internet servislerini bünyesinde
barındırmasıdır.
Bir diğer özelliği de web sayfalarının boyutudur. Yapı ve
büyüklük açısından hiçe sayılacak kadar az bir disk alanında
çok büyük işler başarabilen web sayfaları, kullanışlı ve basit
yapısıyla da ilgi odağı haline gelmiştir.
2
•
•
Web sitelerine bağlantıyı sağlamak ve bu bağlantıyı koparmak,
sayfa üzerinde yer alan dosya türlerinden faydalanabilmek,
bilgi alış verişleri, linkler yardımı ile dosya transferleri ve
elektronik posta işlemleri gibi bir çok web işlemi belirli
sözleşmeler (protocol) çerçevesinde gerçekleşir. Dolayısı ile
Web’in de iletişim kurallarını belirten bir protokole ihtiyacı
vardır.
Bu protokole HTTP (Hyper Text Transfer Protocol -Yüksek Metin
Aktarım Protokolü) denir. Başka bir ifadeyle Web işlemlerinin
sağlıklı bir şekilde işleyebilmesi için, bu protokole ihtiyacı
vardır.
3

Web sitelerinin alan adlarının hangi IP’ye
yönlendirileceğinin saklandığı sunucudur.


1. Web Browser (Client: İstemci)
2. Web Server (Server: Sunucu)

İnternet üzerinde herhangi bir web sitesinden, bir
bağlantıya (link) tıkladığımızda tarayıcımız (browser)
sayfayı bize gösterirken hangi adımları izler?




1. İstemci makinenin kullanıcısı Web tarayıcısı kullanarak, web
sayfası üzerinde bir link ’e tıklar.
2. Browser DNS (Domain Name Server) a bağlanıp istemde
bulunduğu sayfanın server IP sini alır.
3. Ardından Aldığı IP ‘ye bir çağrı (istek) gönderir ve sayfayı ister.
4. Web Server da bu isteğe cevap verir ve “http” üzerinden
sayfayı Web Browser ‘a gönderir.

Web sitelerini biz hazırlayacağız, geliştirdiğimiz web sitesine
internete bağlı bilgisayarlardan nasıl erişim yapılacak?
Genel Kavramlar
 Domain (Alan adı)
 Hosting (Sunucu üzerinde web sitemizin dosyalarını
barındırdığımız alan)
 FTP (File Transfer Protocol)


Domain name (alan adı) basit olarak bir web sitesinin kullanıcılar
tarafından bilinen adıdır. Buna aynı zamanda o web sitesinin
adresi de denir.
Aslında internet üzerinde web sitelerini barındıran her
bilgisayarın IP numaraları mevcuttur ve sitelere ulaşabilmek için
bu numaraları kullanırlar. Örneğin serdaremek.com’un
bulunduğu bilgisayarın IP numarası 85.153.46.105 ′dır. Fakat
internet kullanıcılarının bu numaraları akıllarında tutmaları çok
zor olacağından her sitenin bir domaini yani adresi vardır.
Bir web sitesine ulaşabilmeniz için o sitenin domainin’i internet
tarayıcınızın (Internet Explorer, Firefox, Opera vb.) adres satırına
yazar ve o siteye ulaşırsınız.
Örnek: www.sdu.edu.tr , www.mgm.gov.tr

Sadece IP adresleri ile web sitelerini
İnceleyebilseydik. Web sitelerinin isimlerini
kullanamasaydık ne olurdu?
Bu durum günlük hayatımızdaki şu örneğe benzemektedir:
Tüm insanların birbiri ile iletişim kurarken isimleri yerine Tc
kimlik numaralarının kullanılması.
Örneğin: 25243245342 merhaba 
KAÇ KİŞİNİN TC kimlik numarasını
ezberleye bilirsiniz?



Hosting (Barındırma), bir web sitesinde yayınlanmak istenen
sayfaların, resimlerin veya dokümanların internet kullanıcıları
tarafından erişebileceği bir bilgisayarda tutulmasıdır.
Internet’te site yayınlamak için özel olarak üretilmiş, internet
omurgasına çok hızlı bağlantısı olan, yüzlerce kullanıcıya aynı
anda hizmet verebilecek bir bilgisayarda (sunucuda) yayınlamak
istediği dosyaların saklanması gerekir.
Web sitelerine ait dosyaları saklayan ve internet kullanıcılarının
erişimine sunan bu bilgisayarlara web sunucusu (web server),
bu veri saklama ve yayınlama işlemine de “web hosting”denir.

İnternete bağlı bir bir bilgisayardan diğerine (her iki yönde de)
dosya aktarımı yapmak için geliştirilen bir internet protokolü ve
bu işi yapan uygulama programlarına verilen genel addır.


FTP (File transfer Protocol) adından da anlaşılacağı gibi dosya
transferlerini gercekleştiren protokoldür.
Internet ortamında bulunan bir site, temelde yine bir makinede
(server) saklanır. Belirtilen IP adresi ya da domain doğrultusunda
server’de yer alan klasöre ulaşarak oradaki bilgiler web aracılığı
ile alınır.
14
•
•
Temelde bu sistem üzerine konumlandırılan internet siteleri ile
kullanıcı arasinda gerçekleştirilecek dosya transferleri bu
protokol çerçevesinde gerçekleştirilir. Server’den kullanıcı
makinesine yada kullanıcının makinesinden server’e dosya
transferlerini gerçekleştirmek için FTP protokolü kullanılır.
Piyasada bir çok FTP programı mevcuttur. Bu programlar
belirttiğiniz adresten FTP protokolünü kullanarak dosya alabilme
yada yine belirttiğiniz FTP adresine dosya gönderebilme
yeteneğine sahip programlardır. (Or. CuteFTP,…)
15
•
•
Web sayfaları, HTML (Hyper Text Markup Language) denen dil ile
yazılır. Bu dil yapı olarak text(yazı) tabanlı komutlardan oluşur.
Komutlara ve komut parametrelerine değerler verilerek sayfa
oluşturulur. Sayfaya hazır nesneler (objects) konulabilir ve bu
nesneler arasında bağlantılar (links) kurulabilir.
Internet’in hızla yaygınlaşması ve web sayfalarına olan yoğun
ilgiden dolayı, bu dilde oldukça gelişme kaydedilmiştir.
16

















<html>
<body>
<h1>Komodo HTML Sample</h1>
<form id="test-form" onsubmit="return hack()">
<input type="submit" value="Click Me" id="sub-button"/>
</div>
<h3>Output:</h3>
<div id="script-output"></div>
<h3 id="log-header">Log:</h3>
<div id="log-div">
<div id="ctrl"><a href="JavaScript:clear('log')">Clear</a>
&nbsp;<a href="JavaScript:hide('log-div')">Hide</a></div>
<div id="log"></div>
</div>
</form>
</body>
</html>
17
•
•
•
SGML (Standard Generalized Markup Language)
Uluslararası Standardlar Organizasyonu tarafından
onaylanmış standardize bir dildir.
SGML, daha önce tanımını yaptığımız HTML dilinin
temelini oluşturmaktadır. Bu bağlamda SGML, HTML
diline nazaran yapısal bir özellik içermektedir. HTML
dilinde hazırlanan bir dökümanda sadece dökümanın
görünümü ön plana çıkartılacaktır. Oysa ki, SGML
dökümanın yapısal özelliklerini tanımlayacaktır.
SGML ile hazırlanan bir arşivde dökümanlar, döküman
elementlerinin hiyerarşik organizasyonu olarak döküman
şifre edilebilir. Bundan dolayı, arşiv dökümanları
oluşturan dalları birleştirerek bir yönetim sağlar.
18
•
•
•
•
XML (Extensible Markup Language), SGML dilinin bir
ebeveynidir. Adından da anlaşılacağı gibi geliştirilebilirgenişletilebilir bir yapıya sahiptir.
XML, SGML’ye benzemekle birlikte daha basit bir yapıya
sahiptir. Gerek SGML’de gerekse XML’de yeni diller
programlama şansına sahip olacaksınız.
Hazırlanan bütün dökümanlar temelde bir yapıya sahiptir.
SGML ve XML dilleri dökümanın yapısını tanımlamak için
organize edilmiştir.
XML, ağda veri değiştirmesini oldukça hızlı bir şekilde
gerçekleştirebilen bir dildir. Dilin kodlaması için etiketler
(tags) kullanılır.
19


<?xml version="1.0"?>
<kayitlar>
<kayit>
<adi> faruk </adi>
<soyadi> çubukçu </soyadi>
<adresi> 1234 sokak no: 1 </adresi>
<ili> izmir </ili>
</kayit>
<kayit>
<adi> ayşe </adi>
<soyadi> örnek </soyadi>
<adresi> 1234 sokak no: 2 </adresi>
<ili> istanbul </ili>
</kayit>
</kayitlar>
20
•
•
Java Script, Netscape tarafından geliştirilmiş programlama dili
ile yazılmış kodlardır. Java Script, tarayıcı ile doğrudan
yorumlanabilme yeteneğine sahiptir. En çok kullanılan iki
tarayıcı İnternet Explorer 3 ve daha sonrası, Netscape
Navigator 2 sürümü ve daha sonrası sürümleri için java
scriptlerin doğrudan yorumlanmasını sağlamaktadır.
Java Script’ler doğrudan sayfa içerisine etiketler yardımı ile
yerleştirilebilir. Ayni şekilde sayfa içerisinde çağrılabilicek
şekilde kütüphane dosyaları da oluşturulabilir. Dışarıdan
cağrılan Java Script dosyaları (*.js) uzantısını alır.
21






















function validateForm(form) {
var i;
var pass = true;
for (i = 0; i < form.length; i++) {
var element = form.elements[i];
if (element.name.substring(0,8) == "required") {
if (((element.type=="text" || element.type=="textarea") &&
element.value=='') && element.selectedIndex==0) {
pass = false;
break;
}
}
}
if (!pass) {
var shortName = element.name.substring(8,30).toUpperCase();
alert("Please complete the " + shortName + " field correctly.");
return false;
}
else {
return true;
}
}
22
•
•
•
CSS (Cascading Style Sheet – Stil Şablonları), HTML stillerine
benzer bir yapı içerir. HTML stiline göre daha geniş stil
seçeneklerine sahiptir. Yazı ile ilgili bir çok denetimi içerisinde
tutabilir.
CSS’nin önemli özelliklerinden birisi de stil dosyası olarak da
saklanabilmesidir. Sakladığınız CSS’yi başka sayfalara
uygulayabilir, web sayfa elementlerinin görünüşlerini kontrol
edebilirsiniz.
İnternet Explorer’da stil seçeneklerini değiştirmek için javascript
ve vbscript gibi script dillerini kullanabilirsiniz. CSS, elementlerin
özelliklerine biçim vermek için, sayfa yüklendikten sonra devreye
girer.
23
•
•
•
CSS, tek dökümanda metnin görünüşlerini kontrol eden bir
grup format özelliği içerir. CSS biçimi, güncelleştirildiğinde
veya değistirildiğinde, bütün sayfalar üzerinde aktif olur.
CSS biçimleri, yerleştirme, özel efektler ve fare kontrolleri
gibi HTML özelliklerini ayni zamanda belirtebilir.
CSS stilleri, dökümanın baş tarafında bulunurlar ve
biçimlerin serilerini tanımlarlar. CSS biçimleri, tanımlamaya
uygun kriterleri nesne özelliği veya metin yoluyla tanımlayan
html etiketi için biçim özelliğini tanımlayabilirler.
24


<html>
<head>
<style>
<!-a {color:#000069;text-decoration:none;font:bold}
a.hover {color:#FF0000}
-->
</style>

</head>
</html>
25
•
Dinamik web sayfası ne demektır?
– Dinamik web sayfası kullanıcı ile etkileşim sağlayan sayfalardır.
– Dinamik web sayfaları ile:
•
•
•
•
•
Kullanıcıyı tanıyan arabirimler oluşturabilirsiniz
Kullanıcının site arabirimini özelleştirmesini sağlayabilirsiniz
Kullanıcının çeşitli bilgileri size göndermesini sağlayabilirsiniz
Site içerisinde belli kriterlere göre arama işlemleri yapabilirsiniz
Kullanıcının niteliğine göre yönlendirme işlemleri yapabilirsiniz
26
o ... Dinamik web sayfaları ile:
• Sayfa içerisinde çeşitli matematiksel işlemler yapabilirsiniz
• Veri tabanı içerisine verileri aktararak verilerin çağrılıp kullanılmasını
sağlayabilirsiniz
• Form verilerini değerlendirerek kullanıcıyı çeşitli sayfalara yönlendirebilirsiniz
• Üye sayfaları oluşturabilir sadece üyelerin etkileşim sağlayabildiği güvenli
arabirimler oluşturabilirsiniz
27
•
•
Hazırladığınız dinamik bir web sayfasını disk ortamında tarayıcıya
doğrudan yükleyip çalıştıramazsınız. Bunun için sisteme bir
sunucunun yüklenmesı gerekir. Ayrıca hazırladığınız dinamik
sayfanın çalışması için siteyi yayımladığınız uzak yada yerel
sunucunun da bu dosyayı desteklemesi gerekir.
Örneğin; sadece ASP desteği veren bir web sunucusundan,
hazırladığınız PHP dosyalarını yayımladığınızda sorun oluşur. Bu
açıdan oluşturacağınız dinamik sayfaları destekleyen sunucunun
türünü önceden belirlemeniz ve uygulamalarınız bu platformda
geliştirmeniz gerekir. Aşağıda sunucu türleri ve özellikleri
gösterilmektedir.
28

ASP (Active Server Page), sunucunun (server) aktif bir şekilde
sayfayı işlemesini sağlar. ASP’nin geliştirilmesindeki asıl amaç
web sayfalarına dinamik bir yapı kazandırmaktır. Dinamik
yapının yanı sıra kod güvenliği için de ASP oldukça başarılıdır.
ASP’nin yapısal özelliklerine geçmeden önce sunucu (server) –
istemci (client) mimarisi üzerinde kısaca duralım.
29
•
•
İnternet sitelerinde gezinirken bazı sitelerin etkileşimli bir
şekilde veri işlediklerini görmüşsünüzdür. Siteye ait sayfada
girdiğiniz bir veri işlenerek daha sonra size geri
döndürülmektedir. Bu tür işlemler için sunucu-istemci
mimarisi kullanılarak veriler server’de işlenir ve işlenen bu
ham veriler yeniden istemciye döndürülür.
Bu bağlamda client (istemci), verileri giren ve arabirim
yardımı ile gönderen terminaldir. Server (sunucu) ise bu
verileri veri tabanı dosyalarına saklar ve işler.
30
•
•
ASP (Active Server Page) teknolojisi teknik olarak sunucuda
yer alan bilgileri işleyerek istemciye gönderme yeteneğine
sahiptir. Bu bağlamda ASP sunucu ile istemcinin etkileşimini
sağlamaktadır.
ASP teknolojisini kullanarak sayfalara dinamik bir yapı
kazandırmak için siteyi yayımladığınız serverin ASP
teknolojisini desteklemesi gerekir. Server bu özelliği
içermiyorsa ASP uzantılı dosya çalışmaz. Ayni şekilde
hazırladığınız ASP dosyalarını disk ortamında da doğrudan
çalıştıramazsınız.
31
•
•
ASP dosyalarının disk ortamında çalıştırılabilmek için bu
teknolojiyi destekleyen yerel bir sunucunun (server) sistemde
yüklü ve çalışır olması gerekir.
Server hizmeti Microsoft NT ve NT teknolojisi ile oluşturulmuş
Windows 2000, Windows XP Professional, Windows Vista işletim
sistemlerine entegre olarak doğrudan gelir. Bu işletim
sistemlerinde IIS (Internet Information Services)’yi kurarak yerel
sunucu hizmetini başlatabilirsiniz.
32
•
•
•
PHP (Personal Home Page), web sayfaları oluşturmak için
geliştirilen script dilidir. PHP, ASP’de olduğu gibi server
tabanında çalışabilen dinamik bir yapı gerekir. Ayrıca PHP,
HTML dili ile hazırlanan bir sayfanın içerisine gömülebilir
(embed).
PHP script dili, C, Java ve Perl dillerinin söz dizimlerini kullanır.
Bu açıdan bu dillerin yapısına benzer bir yapıya sahiptir.
PHP’nin en önemli özelliklerinden birisi veri tabanlarını geniş
bir menzil içerisinde desteklemesidir. Bu paralelde PHP
hemen hemen bütün veri tabanı uygulamalarını destekler.
33
•
•
JSP (Java Server Page) sayfa içerisinde yer alan dinamik
(hareketli) ve statik (durgun) bölümlerin birbirinden ayırma
yeteneğine sahip bir teknolojidir. JSP teknolojisi web sayfaları
içerisinde doğrudan kullanılabilir. Ayrıca tasarımcıya hızlı
geliştirme ve kolaylık imkanları sağlar.
JSP teknoloji, XML yada Java programlama dilinde sayfa içeriğini
oluşturan etiketler ve scriptleri ister. Etiketler ve scriptler
kullanılarak sayfaya erişim sağlanır.
34
•
Cold Fusion, dinamik (hareketli) sayfa uygulamaları ve interaktif
web siteleri oluşturmak için geliştirilmiş bir alettir. Cold Fusion
ilişkisel veri tabanları ile SMTP (Simple Mail Transfer ProtocolBasit Posta Gönderme Protokolü)’yi kullanarak elektronik posta
hizmeti sunan ve bu teknolojileri birleştiren güçlü web
uygulamaları inşa etmeyi sağlar. Web uygulamalarını oluşturmak
için JFML etiketi ile standard HTML dosyasını birleştirir.
35


İnternet sayfalarını gezinmek için kullanılan programlara tarayıcı
(browser) denir. İnternet Explorer, MSN Explorer, Netscape
Navigator, Opera, Firefox, Mozilla bunlardan bazılarıdır.
İnternet sayfaları tarayıcı tarafından yorumlanarak gösterilir.
36
•
•
Değişkenleri kullanarak sayfaya kullanıcının girdiği verileri
alarak değerlendirdik. Bu şekilde bir veri alış verişi anlıktır ve
değişkenlere yeni veriler aktarıldığında önceki veriler silinir.
Dinamik web sayfaları ile verileri alıp saklamak için veri tabanı
dosyaları kullanılır. Veritabanı dosyaları içerisinde verileri kalıcı
olarak saklayabilir, yeni kayıtlar ekleyebilir ve bu verileri çeşitli
kriterlere göre filtreleyebilirsiniz.
Ör. Üyelik gerektiren bir siteye girilen veriler, bir veritabanı
içerisinde tutulur. Veritabanı içerisinden çağrılan bilgiler
değerlendirilir ve kullanıcının çeşitli sayfalara yönlendirilmesi
sağlanır.
37
•
Piyasada veri tabanı oluşturmak için programlar mevcuttur.
Windows kullanıcılarının en çok tercih ettiği veri tabanı programı
Windows Access’dir. Access ile veritabanı dosyaları
oluşturulabilir, oluşturduğunuz veri tabanı içerisindeki kayıtlara
dinamik web sayfasından erişebilirsiniz. Ancak veri tabanı
içerisindeki kayıtlar arttıkça Access veri tabanının işlemesi
yavaşlar. Bu gibi durumlarda MS SQL yada MY SQL gibi daha
ğüçlü veri tabanı programlarını kullanabilirsiniz.
38


Dersin Sonu