22 Kasım 2014 Cumartesi

Bazı Temel Terimler

Bu yazımda, veritabanı yönetim sistemleri dersinde yapacağımız proje ödevi için sıkça kullandığımız, kullanacağımız temel kavramladan bahsedeceğim.

URI(uniform resource identifier): Yani nizami kaynak belirteci, bir kaynağı ya da veriyi isimlendirmek için kullanılan bir standarttır. Aynı zamanda kaynağı nitelendirir.  Kısaca "adres" veya "link" olarak adlanadırabileceğimiz her türlü gösterimin mutlak syntax'ında neler olabilir, olamaz bunu belirleyen karakter düzeyindeki standartın adıdır.

URL(Uniform Resource Locator): İnternet'te bir kaynağa (belge veya resim gibi) rastgelen, standart bir formata uygun bir karakter dizgisidir.

HTML5: HTML(Hyper Text Markup Language)'nin 5. sürümüdür. HTML4 her ne kadar yeterli gibi gözükse de CSS ile yazılan fazladan kodlar hatalara sebep oluyordu ve bunu önlemek için HTML5 geliştirildi. CSS ile olan uyum sorunu düzeltildi ve beraberinde getirdiği yeni etiketler ile hem içerik ve görsele hem de arama motorlarına büyük kolaylıklar sağladı.

CSS (Cascading Style Sheets): HTML'e ek olarak metin ve format biçimlendirme alanında fazladan olanaklar sunan bir Web teknolojisidir. İnternet sayfaları için genelgeç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.

JS: JavaScript, Brendan Eich tarafından geliştirilen (önceleri Mocha daha sonra LiveScript olarak adlandırılan) başlangıçta sadece istemci taraflı (client-side) yorumlanan bir betik dilidir C dilinin tarayıcılara uyarlanmış hâli diyebiliriz. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim kurmak için kullanılmaktadır.

Web Server: Hosting işlemini İnternet protokolü üzerinden sunan bir sunucudur. 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.

ODBC(Open Database Connectivity): Birbirinden farklı veritabanlarına standart metotlarla bağlantı yapmanızı sağlar. Bir nevi veritabanları ve uygulamalar arasında bir köprü görevi görürler.

JDBC(Java Database Connectivity): Java ile ilişkisel bir veritabanına erişmek ve verisel işlemler yapmak için program-veritabanı arasında köprü işini yapar.

ADO.NET(ActiveX Data Objects.NET): Microsoft tarafından sunulan, veritabanı ile uygulamalarımız arasında köprü görevini görmektedir. ADO.NET ile uygulama tarafımızda veritabanımıza bağlanabilir, verilerimizi buradan listeleyebilir, güncelleyebilir, veri ekleyebilir veya silebiliriz. ADO.NET ile SQL sorguları, komutlarını uygulama tarafımızda kullanabiliriz.

ORM(Object Relational Mapping): İlişkisel veritabanı (RDBMS) ile nesneye yönelik programlamanın (OOP) arasındaki ilişkiyi kuran ve ilişkisel veritabanındaki bilgileri yönetmek için, nesne modellerini kullanan bir tekniktirBasit bir ifadeyle kullanılan nesneleri(object) veritabanındaki tabloya bağlayıp veritabanı bağlantılarını(alışveriş) yapar. ORM tekniği belli bir programlama diline bağlı değildir ve her OOP dilinde yazılabilir/kullanılabilir.

Entity Framework: .NET platformu için geliştirilmiş olan ORM frameworklerinden biridir.

Hibernate: Java platformunda yazılmış bir ORM (Object/Relational Mapping) aracıdır.

Biz projemizde Django çatısını ve ide olarak PyCharm kullanıyoruz. 

Django python dilini kullanarak web siteleri geliştirebileceğiniz bir web frameworkudur. Python ile web sitesi yazmak için birden fazla web frameworku mevcutt, en yaygın olanı djangodur. 

Django  MVC yapısını kullanır. MVC yapısından bahsedecek olursak , django'da çoğu zaman MVT yapısı olarak da geçer. 

M(Model) bizi karışık sql komutlarından kurtaran ORM yapısını kullanan kısım burasıdır. Kendine has basit bir class yapısı ile veritabanı tablolarımızı oluşturmamızı sağlar. 

V(View), aslında veritabanından hangi verileri çekmek istediğimizi belirlediğimiz alan. Tamamen python kodları kullanılır.

T(Template) ise view dan alınan verileri verdiğimiz html alanıdır. Django'da templates diye bir klasör gelmez bunu kendimiz oluşturmalıyız. Sonra settings.py dosyasında template'lerin hangi klasörün altında tuttulduğunu göstermeliyiz. Böylece viewdan sadece html dosyasının adını yazdığımızda direk bu klasörün altında arama gerçekleşir.