WEB Programlama

WEB PROGRAMLAMA
Web programlamanın Temelleri
Programlama ya da diğer adıyla yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanım verecek olursak programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir. Programlama, bir programlama dilinde yapılır. Bu programlama dili Java ve C# gibi yüksek seviyede bir dil olabileceği gibi C, assembly ve bazı durumlarda makine dili de olabilir. Yazılan kaynak kodu genellikle bir derleyici ve bağlayıcı yardımıyla belirli bir sistemde çalıştırılabilir hale getirilir. Ayrıca kaynak kodu, bir yorumlayıcı yardımıyla derlemeye gerek duyulmadan satır satır çalıştırılabilir.Derleyici, yazılan programları okuyup içerisinde mantıksal veya yazınsal hatalar olup olmadığını bulan, bulduğu hataları kullanıcıya göstererek programın düzeltilmesine yardım eden, hata yoksa programı çalıştırıp sonucunu gösteren, ayrıca çeşidine göre pek çok başka özelliği barındırabilen birer platformdur. Programcılar genelde programlamayı gerçek hayata benzetirler. Bir program yazmak veya bir problemi çözmek için öncelikle komutları unutmak ve çözümü gerçek hayatta yapıyormuş gibi düşünmek gerekir onlara göre. Komutlar sadece araçtır. Programlamaya başlayanların kendi dilleriyle Merhaba Dünya yazmalarıyla başlar ve bir programlama dilini öğrenmekteki tek zorluk programlamanın ne olduğunu öğrenmektir. Bundan sonraki aşamalar ise kolayca atlatılabilir.

Web Sunucuları
Web sunucusu, hosting ya da "barındırma" işlemini İnternet protokolü üzerinden sunan bir sunucudur. Barındırma ya da hosting, Web sayfalarını İnternet'te yayınlamak için gerekli alanın kiralanmasıdır. Diğer bir ifade ile hosting, bir Web sitesinde yayınlanmak istenen sayfaların, resimlerin veya dokümanların İnternet kullanıcıları tarafından erişebileceği bir bilgisayarda tutulmasıdır.
Bir Web sitesi kurmak için dosyaların saklanacağı bilgisayar bir ev bilgisayarı olmamalıdır, çünkü gerekli program ve donanımı olsa bile İnternet bağlantısının veri yükleme hızı bu iş için genelde yetersizdir. İnternet'te site yayınlamak için özel olarak üretilmiş, İnternet'e hızlı bağlantısı olan, yüzlerce kullanıcıya aynı anda hizmet verebilecek bir bilgisayarda dosyaların saklanması gerekir. Web siteye ait dosyalar için depo vazifesi gören ve İnternet kullanıcılarının erişimine sunan bilgisayarlara Web sunucusu, bu veri saklama ve yayınlama işlemine de Web hosting denir.

HTML
HTML, bir programlama dili olarak tanımlanamaz. Zira HTML kodlarıyla kendi başına çalışan bir program yazılamaz. Ancak bu dili yorumlayabilen programlar aracılığıyla çalışabilen programlar yazılabilir. Programlama dili denilememesinin nedeni tam olarak budur. Temel gereği yazı, görüntü, video gibi değişik verileri ve bunları içeren sayfaları birbirine basitçe bağlamak, buna ek olarak söz konusu sayfaların web tarayıcısı yazılımları tarafından düzgün olarak görüntülenmesi için gerekli kuralları belirlemektir. HTML kodunu web tarayıcıları okur, yorumlar ve görsel hale dönüştürürler, dolayısıyla aynı HTML kodunun farklı tarayıcılarda farklı sonuç vermesi olasıdır. CSS ve JavaScript ile beraber kullanıldığında HTML vasıtasıyla görsel ve dinamik web siteleri yaratılabilir.
Küçüktür ve büyüktür işaretleri arasına yazılan HTML komutları kullanılarak yazılır. İşaretlenen metnin başını ve sonunu belirtmek için çoğunlukla çift olarak kullanılırlar ancak işaretlemek yerine metnin bir yerine bir işaret konacaksa tek olarak da kullanılabilirler.

XHTML
XHTML, açılımıyla Extensible HyperText Markup Language Türkçesi Genişletilebilir Büyütülmüş Metin İşaretleme Dili istemci taraflı bir metin işaretleme dilidir. XHTML 26 Haziran 2000'den beri bir web standardıdır. Kodlama olarak oldukça büyük farklar yaratan bu dil için:'XML sözdiziminin HTML içinde kullanılması.' diyebiliriz. HTML dilinin farklı tarayıcılarda  farklı yorumlanması ve sözdiziminde fazla düzensizlik ve hata olduğu için XHTML W3C tarafından önerilmiştir. XHTML 'nin diğer bir özelliği de kodlama yapanları CSS teknolojisini kullanmaya özendirmesidir.

CSS Nedir?
CSS, HTML ’e ek olarak metin ve format biçimlendirme alanında fazladan olanaklar sunan bir WEB teknolojisidir. İnternet sayfaları için genel geçer şablonlar hazırlama olanağı verdiği gibi, bağımsız olarak harflerin stilini, yani renk, yazı tipi, büyüklük gibi özelliklerini değiştirmek için de kullanılabilir. Bu tekniğin en önemli özelliği kullanımındaki esnekliktir. Bir Web sayfası içerisinde birbiriyle uyumlu birkaç renk ve birkaç yazı tip kullanılır ve bunları her sayfada ayrı ayrı tekrar belirtmek yerine CSS yardımıyla bir sefer tanımlayıp bütün Web sayfalarında ortak olarak kullanılabilir. Böylece sayfaların hafızadaki boyutu epey küçüldüğü gibi güncelleme yapmak da kolaylaşır.
CSS kodları, HTML kodlarının içine yazılabildiği gibi harici bir CSS dosyası oluşturularak da işlem yaptırılabilir. Türüne göre <BODY> veya <HEAD> bölümlerinde yer alabilirler.

Web Programlama – Diller Değişken Tanımları ve Temel Fonksiyonlar
Değişkenler bilgisayarın geçici belleğinde bilginin saklandığı gözlere verilen sembolik adlardır. Bir C programında, bir değişken tanımlandığında bu değişken için bellekte bir yer ayrılır. Her değişkenin tuttuğu değerin nasıl bir veri olduğunu gösteren (önceki bölümde anlatılan) bir veri tipi vardır.
C programlama dilinde, değişkenler ve sabitler programın başında bulunmalıdır. Bazı uygulamalarda değişkenin bir başlangıç değerinin olması istenir. Böyle durumlarda değişken bildirilirken başlangıç değeri verilebilir. Örneğin:

      char isim='X', z;    /* değer atamak zorunlu değil */
      int sayi=0, n;
      float toplam=0.0, sonuc=22.14;
Değişken isimleri verirken bazı kurallara uymak zorunludur. Bunlar:
  • Değişken adları en fazla 32 karakterden oluşabilir. 32 karakterden uzun değişken adları ilk 32 karakteri değerlendirilir. Geriye kalan karakterler işleme tabi tutulmaz.
  • Değişken adları İngiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) ya da rakamlar (0-9) ile yazılmalıdır. Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz.
  • Değişken adları herhangi bir rakam ile başlayamaz. İlk karakter bir harf olmalıdır. Sonrakiler rakamlardan oluşabilir.



Temel Fonksiyonlar
C genel amaçlı bir programlama dilidir. 1970 yıllarında Bell Laboratuvarlarında UNIX işletim sistemi yaratılırken ortaya çıkmıştır.
Öteki dillere göre küçüktür. Özellikle giriş/çıkış deyimleri sistemin bir parçası değildir. Bunlar birer C fonksiyonu ile yapılır. Genel olarak her C derleyicisinin yanında C fonksiyonlarını içeren zengin kütüphaneler vardır. C hem sistem düzeyinde hem program düzeyinde çalışabilir.
C dilinde fonksiyonlar programın yapı taşlarıdır. Belirli bir işi yapmak için uygun biçimde bir araya getirilmiş C deyimlerinden oluşur. Böyle olduğu için bir programa özgü olarak yazılan bir C fonksiyonu aynı işlevi görmek üzere bir başka C programına çağrılabilir ve orada kullanılabilir. C de her iş bir fonksiyonla yapılır. Ana programın kendisi de bir fonksiyondur ve main() adını alır.



Web Programlama – Diller Nesneye Yönelik Programlama
Nesne tabanlı programlama dili, nesne kullanımını destekleyen ve sarma ilkesine uyan programlama dillerini tanımlar. Ancak nesne tabanlı programlama dilleri, kalıtım gibi nesne yönelimli programlama dillerine özel özellikleri taşımazlar. Bu durumda nesne tabanlı programlama dilleri nesne yönelimli programlama dillerinin altkümesini oluşturur.
Nesne yönelimli olan nesne tabanlı programlama dillerinden ABAP/4, C#, C++, Eiffel, Java, Object Pascal, Objective-C, PHP, Python, REALbasic, Ruby, Simula, Smalltalk ve Visual Basic .NET'i sayabiliriz. Nesne tabanlı olup da nesne yönelimli olmayan programlama dili olarak Ada, JavaScript (JS) ve Visual Basic (VB), nesne ve sınıfları desteklese de kalıtımdan yoksun olmasından dolayı iyi bir örnek teşkil etmektedir.

Meta Diller
Meta, tüm Wikimedia Foundation projelerinin örgütlenme ve eşgüdümünü sağlayan viki tabanlı bir web sitesidir.
Kasım 2001'de Meta-Wikipedia adıyla yayına başlayan Meta günümüzde birçok amaca hizmet etmektedir. Meta,
1.     Vikipedi' nin de içinde bulunduğu Wikimedia projeleri de dâhil olmak üzere özellikle politika tartışmalarının yapıldığı bir ortam
2.     Tarafsız bakış açısını doğrudan yansıtmayan denemelerin yer aldığı bir forum
3.     Dillerarası eşgüdüm sorunlarını tartışma, içerik hazırlama ve düzenlemeye yardımcı bir ortam
4.     Geliştirme sürecini örgütlemeye yardımcı bir ortam
5.     Mediawiki yazılımının kullanımına ilişkin ipuçları sunan bir rehber
6.     Reklam ve vandalizm karşıtlığının örgütlenmesine yardımcı bir ortam sağlamaktadır.

Meta, Vikipedistlerin de içinde bulunduğu Wikimedistlere tartışma olanağı sağlayan temel alanlardan biridir. Bu olanağı sağlayan diğer ortamlara e-posta listeleri, IRC kanalları ile madde ve kullanıcıların tartışma sayfaları örnek olarak gösterilebilir. Meta, İngilizce Vikipedi projesinden bağımsız olduğundan kendine özgü kurallar içerir. Birleştirilmiş hesap uygulaması tamamlanıncaya dek kullanıcıların Meta'da ayrı bir hesap açmaları gerekmektedir. Vikipedi' nin İngilizce sürümünü temel alan Metatüm Wikimedia dil toplulukları tarafından kullanılan çok dilli bir tartışma ortamına dönüşmüştür.

Dinamik Web Programlama (Java, AJAX, JQuery)
AJAX
Ajax, İnternet sayfalarında JavaScript ve XMLHttpReguest kullanımı ile etkileşimli uygulamalar yaratan tekniğin adıdır. Nasıl okunması gerektiği konusunda bir genel uzlaşma olmamakla birlikte çoğunlukla yazıldığı ajaks olarak okunurken, kimileri tarafından aynı yazılımlı ismiyle futbol takımı örnek gösterilerek ayaks olarak okunmaktadır. En yaygın kullanım alanı, sayfayı yeniden yüklemeye gerek kalmaksızın, sayfada görünür değişiklikler yapmaktadır. XMLHttpReguest kullanılarak birden fazla bağımsız işlem yapılabilir. Bazı bilişim uzmanları, AJAX’ ın HTML veXML’ den sonra en yenilikçi internet yazılımı olduğunu ve Web 2.0.’ı sonlandırıp, 3.  evrenin kapısını açtığını öne sürmüşlerdir.
Ajax tekniği aşağıdaki teknolojileri kullanır:
·         Bilgiyi biçimlendirmek ve görüntüsünü değiştirmek için XHTML (ya da HTML) ve CSS.
·         Görüntülenecek bilgiyi dinamik olarak göstermek ve onunla etkileşimli çalışmak için özellikle JavaScript ve JScript gibi ECMAScript olan kullanıcı tarafındaki bir scripting dili yardımıyla erişilebilen DOM.
·         Web sunucusu ile bilgi değiş tokuşunda kullanılan XMLHttpRequest objesi. Bazı Ajax frameworkler de ve bazı durumlarda web sunucusuyla bilgi alışverişi için XMLHttpRequest yerine IFrame de kullanılır; diğer uygulamalarda ise dinamik olarak eklenen JavaScript TAG' leri de kullanılabilir.
·         Kullanıcıyla sunucu arasındaki bilgi alışverişlerinde genelde XML formatı kullanılır. Önceden hazırlanmış HTML, düz metin, JSON ve hatta EBML dahi olmak üzere herhangi bir format da kullanılabilir. Bu tip dosyalar sunucu tarafında herhangi bir script (PHP, ASP vs.) ile bile üretilmiş olabilir.
·         DHTML, LAMP ve SPA gibilerin aksine Ajax kendi başına bir teknoloji değildir, ancak terim birçok teknolojinin bir bütün olarak kullanıldığını ifade eder.


Site ve Veri Tabanı Güvenliği
Veri tabanları birbirleriyle ilişkili bilgilerin depolandığı alanlardır. Bilgi artışıyla birlikte bilgisayarda bilgi depolama ve bilgiye erişim konularında yeni yöntemlere ihtiyaç duyulmuştur. Veri tabanları, büyük miktarda bilgileri depolamada geleneksel yöntem olan dosya-işlem sistemine alternatif olarak geliştirilmiştir. Veri tabanları sayesinde bilgilere ulaşır ve onları düzenleyebiliriz. Veri tabanları genellikle bireysel olarak satın alınamayacak  kadar yüksek meblağlara sahip olmasına karşın; ücretsiz kullanıma açılan akademik veri tabanları da bulunmaktadır. Akademik veri tabanları aracılığıyla bazen bibliyografik bilgi bazen de tam metinlere erişmek mümkündür. Veri tabanları, veri tabanı yönetim sistemleri aracılığıyla oluşturulur ve yönetilir. Bu sistemlere; Microsoft Access, MySQL, IBM DB2, Informix, Interbase, Microsoft SQL Server, PostgreSQL, Oracle ve Sysbase örnek olarak verilebilir.



Yorumlar

Bu blogdaki popüler yayınlar

VLSI Devre Tasarımı

Yapay Sinir Ağlarına Giriş

İnsan Bilgisayar Etkileşimi