ORM Object Relational Mapping Nedir?

ORMMapping

Bu yazıda ORM nedir Nasıl bir çalışma mantığı var bu konuları işledikten sonra avantajlarını sizinle paylaşacağım.

ORM ve ya Object Relational Mapping denilen kavram aslında bizim kod bloklarımız ile veritabanımız arasında oluşan bir köprüdür. Bu tanım ORM’nin en basite indirgenmiş hali.

Şimdi bu tanımdan sonra biraz işi detaylandırarak anlatmaya çalışacağım.

Continue reading ORM Object Relational Mapping Nedir?

Java Serialization (Serileştirme) Nedir?

serialization

 

 

 

 

 

 

 

Java tamamen nesne yönelimli bir programlama dili olduğu için, Java üzerinde uygulama geliştirirken nesneleri sıkça kullanıyoruz. Java platformunda bilindiği gibi, int, double, byte gibi primitive tipler dışındaki herşey nesnedir.

Ancak Java’da kullanılan nesneler, Java platformunda (JVM) hayat bulurlar. Platform dışında nesnelerin, hiçbir anlamı yoktur. Nesne yönelimli programlama paradigmasını destekleyen Java’da, tasarlanan nesnelerin tekrar kullanılabilmesi (reuse) önemli bir konu olduğuna göre, bu nesneleri Java platformu dışında da hayata geçirmek gerçekten önemlidir. Bahsedilen bu problem, Java Serialization API sayesinde çok kolay bir şekilde aşılabiliyor.

Konuya bir de şu yönden bakarsak, herhangi bir nesne içerisindeki fieldları bir dosyaya yazdırdığımızda, bu verilerin sadece değerlerini (values) dosya içerisinde depolarız. Halbuki bu verilerin sınıf tanımlaması içerisindeki tipleri de en az değerleri kadar önemlidir. Herhangi bir nesnenin fieldındaki değer 3 ise, bu değerin string mi int mi olduğunun dosya üzerinde bir anlamı yoktur.

Java Serialization API sayesinde bir nesnenin birebir kopyasını, Java platformu dışında da depolayabiliriz. Bu mekanizma ile daha sonra,  nesneyi depolanan yerden çekip, aynı durum (state) ve özellikleri ile kullanmaya devam edebiliriz. Tüm bu sisteme, Object Serialization (Nesne Serileştirme) adı verilir.

Continue reading Java Serialization (Serileştirme) Nedir?

03 HelloServletWorld

Merhaba Arkadaslar,

Onceki yazilarda temel kavramlari , Servlet’in ve Container’in gorevlerini inceledik. Bu yazida Apache Tomcat kurulumunu yapacagiz, ilk Servlet ornegimizi yazacagiz. Boylelikle Servlet dunyasina “HelloWorld” diyecegiz.

Bu yazilarimda Eclipse IDE , JDK 7 , Apache Tomcat 7 kullanacagim. Ben calismalarimi Ubuntu’da yapiyorum. Soz konusu Java oldugu icin isletim sisteminin bir onemi yok. Javaci arkadaslara linux dagitimlarini kurcalamalarini ve kullanmalarini tavsiye ederim. Bu kadar linux tavsiyesinden sonra biz konumuza donelim.

Apache Tomcat’i indirip bilgisayariniza kurup kullanabileceginiz gibi zip halini indirip su sekilde kurabilirsiniz.

 

Adim – 1
zip ve source code‘u indirip uygun bir dizinde acalim.

Continue reading 03 HelloServletWorld

04 Declare Class Members – 01

Merhaba Arkadaslar
Bu yazimda Java’da Class Members (methods , instance (non-local) variable) tanimlanmasi hakkında bilgi vereceğim.

Access Modifiers

Methodlar ve instance variable’lara 3 access modifier da uygulanir.
public
private
protected
ve tabi ki bunlardan biri kullanilmazsa varsayilan olarak package level (default) uygulanir.

Bunlardan default ve protected birbiriyle neredeyse aynidir. Ilerleyen kisimlarda farkından bahsedecegim.

public uyeler

Halka acik public metotlara ve değişkenlere tum siniflardan erişim mumkundur. Tabiki ulasacagimiz metodun veya değişkenin sinifina ait bir referans değişkenimiz araciligiyla ulaşabiliriz.
ikinci olarak siniflar farkli paketlerde ise mutlaka ulasilan sinifi import etmek gerekir. Dolayisiyla Java ayni paket altinda ayni isimde iki sinif tanimlanmasina izin vermez.

Continue reading 04 Declare Class Members – 01

02 Servlet ve Servlet Container Gorevleri

Servletlerin main() metodu yoktur ve Servlet’lerin tum kontrolu Servlet Container’in altindadir.

Servlet Container’a ornek olarak Apache Tomcat’i verebiliriz.
Onceki bolumden hatirlayacagimiz gibi Web Server Application(ornegin Apache) istegi alir(request) eger istek static bir kaynaksa kendisi ilgilenir fakat eger istek Servlet icinse kendisi ilgilenmez bu istek ile Web Container Application ilgilenir.

Onceki yazida Apache Tomcat ‘ten bahsettik. Apache Tomcat hem HTTP Web Server hem de Servlet Container ozelligine sahiptir.

01-servlet-container

Continue reading 02 Servlet ve Servlet Container Gorevleri

03 Interface Declaration

Merhaba Arkadaslar,
Bu dersimiz, Java ‘da Interface (arabirim) tanimlanmasi ile ilgili olacaktir.

Bir interface (arabirim) tanimladigimizda , metotlar govdesiz olarak tanimlanir. yani { } icermezler. Interface bir sablon, kontrattir yani bir interface i uygulayan sinif bu metotlari mutlaka uygulamak, (override) zorundadir.

abstract bir sinif , bir interface i uygulayabilir ve metotlarini uygulamak zorunda degildir, abstract olmayan bir sinif mutlaka metotlari uygulamak ,(override) , zorundadir.

Interface (arabirim) , herhangi bir sinif tarafindan uygulanabilir (implements) . Bu sayede kalitim hiyerarsisinde birbiriyle tamamen iliskisi olmayan siniflar dahi ayni arabirimi uygulayabilir. Bu Interface yapisinin en onemli ozelligidir.

Continue reading 03 Interface Declaration

01 Servlet Giriş

HTTP_ClientServerSystem

Servlet’lerin Temeli

Servlet’ler Web Server tarafından çalıştırılan programlardır . Aslında Servlet bir Java class’ından farksız değildir

Öncelikle Servlet’in faydalarını anlamak için Web tarayıcı ise Sunucu tarafı arasındaki iletişimi anlamak gereklidir.

Servlet’lerden daha eski bir teknoloji olan Applet’ler yardımı ile Web tarayıcısının işlevleri artırılabilinmişti. Servlet’ler yardımı ile de Web Serverin fonksiyonelliği dinamil olarak artırıldı.

 

Web Tarayıcısı ile Sunucular nasıl anlaşır ona bir bakalım ?

Static bir web page için düşünecek olursak eğer ;

  1. Kullanıcı ilgili sayfanın Url’sini tarayıcıya girer.
  2. Tarayıcı bu istek için Sunucuya bir Http(Hyper-Text Transfer Protocol) talebi üretir.
  3. Web Sunucusu bu talebi alır ve ilgili dosya ile eşler.
  4. Bu dosya , Http yanıtı için tarayıcıya döndürülür. Bu yanıtın header(başlık) ‘da içeriğin tipine işaret edilir.
    Bu içerik text , resim yada baska bir şey olabilir. Bunlara MIME type denilir. Bilgi için buraya bakınız .
    İçerik html kaynak kodu ise MIME type text/html olur.

 
Continue reading 01 Servlet Giriş

02 Class Declaration and Access Modifier

Kaynak Dosya Tanimlamasi

  • Javada , her kaynak dosya icin yalnizca bir adet public sinif tanimlanabilir.
  • public tanimlanan sinif , dosya ismiyle mutlaka ayni olmak zorundadir. Ornegin ,
    public class Employee tanimlanmissa kaynak dosyasi mutlaka Employee.java olmalidir.
  • package tanimlamasi mutlaka en basta yer almalidir.
  • import tanimlamasi package tanimlamasi ile class tanimlamasi arasinda yer almalidir.
  • import ve package tanimlamasi , bir kaynak dosyada tum sinif tanimlamalari icin gecerlidir.
  • Bir kaynak dosya tabi ki birden fazla public olmayan sinif tanimlamasi icerebilir.

Continue reading 02 Class Declaration and Access Modifier

01 Legal Identifiers ve Naming Standards

Class

Class yani sinif bir sablondur, peki neyin sablonudur bu ? Class, bir object ‘ in yani objenin sablonudur, peki ne is yapar bir class ? Objenin durum [state] ve davranislarini [behaviors(methods)]  larini tanimlamamizi saglar.

Object

Calisma zamaninda Java Virtual Machine (JVM) , new anahtar kelimesi ile karsilastiginda, ilgili class tan bir instance olusturur (instance of a class) Bu objenin kendi durum[state]  ve davranislari [behaviors(methods)vardir.

Legal Identifiers (Belirleyici)

Class, degisken (variable) , metot ve diger Java ogelerinin birer isme ihtiyaci vardir. Bu isimlere Javada Identifier denir. Java’da bir seylere isim verirken , ciddi anlamda problem yasayabiliriz, Java bu konuda son derece hassastir

  • Belirleyiciler (identifier), harf , $ (currecy character) veya alt_cizgi  _  (underscore) ile baslayabilir.
  • Ilk karakterden sonra harf , $ ve alt cizgiye ek olarak tabi ki rakam da kullanabiliriz.
  • Belirleyicilerin uzunluk acisindan bir siniri yoktur.
  • Java’nin anahtar kelimelerini (keyword) ,  belirleyicilere verilemez.
  • Belirleyiciler buyuk-kucuk harfe duyarlidir (case sensitive). Yani sayi ve Sayi farkli iki belirleyicidir.

Continue reading 01 Legal Identifiers ve Naming Standards

Java’ya Giriş

Java_620X0

Java’nın Kısa Tarihi

  •  1991 yılında Sun, kapalı kapılar ardında ve Patrick Naughton, Mike Sheridan, and James Gosling önderliğindeki küçük bir takımla bir proje başlattı.
  • 13 kişiden oluşan ve “Green Team” (Yeşil Takım) adı verilen bu grubun amacı ITC dünyasında geleceği tahmin edip onagöre ARGE yapmaktı.
  • Ve bu takım da geleceğin, kişisel ve ev elektronik cihazlarında olduğunu öngörüp bu alana yöneldi.
  •  Ve 23 Mayıs 1995’te Java resmi olarak piyasaya sunuldu
  •  2010 yılında Oracle’ın Sun’ı satın almasıyla Java da eldeğiştirmiş oldu

 Java Nedir?

  • Sun 1995’te Java’yı sunarken yayınladığı bir yazıda Java’yı şöyle tanıtıyordu:
  • Java: Basit, nesne-merkezli, ağlarda yetenekli, yorumlanan,sağlam, güvenli, mimari olarak tarafsız, taşınabilir, yüksekperformanslı/başarımlı, çok kanallı, dinamik bir dil.
  • Java: A simple, object-oriented, network-savvy, interpreted,robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language

 Java Nesne Merkezlidir 

  • Java’da basit veri tipleri hariç herşey, bütün tipler, bir nesnedir
  • Çok güçlü kapsülleme (encapsulation) ve bilgi saklama (information hiding) ayırımı vardır
  •  Arayüz (interface) ile gerçekleştirme (implementation)arasında çok açık bir ayrım vardır

Continue reading Java’ya Giriş