Akın Kaldıroğlu Java ile Nesne Merkezli Programlama

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "www.javaturk.org Akın Kaldıroğlu www.javaturk.org Java ile Nesne Merkezli Programlama"

Transkript

1 Akın Kaldıroğlu Java ile Nesne Merkezli Programlama Şubat 2014

2 Küçük Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eği=m malzemelerinin tüm hakkı Akın Kaldıroğlu na aidr. Ø Bu eği=m malzemelerini kişisel bilgilenme ve gelişiminiz amacıyla kullanabilirsiniz ve isteyenleri hhp:// adresine yönlendirip, bu malzemelerin en güncel hallerini almalarını sağlayabilirsiniz. Ø Yukarıda bahsedilen amaç dışında, bu malzemelerin, =cari olsun/olmasın herhangi bir şekilde, toplu bir eği=m faaliye=nde kullanılması, bu amaca yönelik olsun/olmasın basılması, dağıqlması, gerçek ya da sanal ortamlarda yayınlanması yasakqr. Böyle bir ih=yaç halinde lüren benimle ile=şime geçin. Ø Bu eği=m malzemelerine katkıda bulunmak ya da eleş=rilerinizi bana iletmek isterseniz çok sevinirim. Ø Bol eğlenceli ve Java lı günler dilerim. Akın Kaldıroğlu 2

3 Java nın Kısa Tarihi Ø 1991 yılında Sun, kapalı kapılar ardında ve Patrick Naughton, Mike Sheridan ve James Gosling önderliğindeki küçük bir takımla bir proje başla\. Ø 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 ona yönelik AR- GE yapmakq. Ø Ve bu takım da geleceğin, kişisel ve ev elektronik cihazlarında olduğunu öngörüp bu alana yöneldi. 3

4 *7 Ø 18 aylık hummalı bir çalışmadan sonra 1992 yazında *7, Star Seven isimli ve dokunmalı ekrana sahip bir kontrol cihazı geliş=rdirler. Ø Bu cihaz TV, video oynaqcısı ve müzik se= gibi pek çok ev cihazını kontrol edebiliyordu. Ø Cihazın bu yeteneği, plarormdan bağımsız bir dile sahip olmasından kaynaklanıyordu. Ø James Gosling bu dile Oak adını vermiş=. 4

5 Java ve Internet Ø Bu proje pek çok kablolu TV şirke=ne teklif edildi ama zamanının ilerisinde olduğundan kabul görmedi. Ø Ama takımın ileri gelenleri o sırada, geliş=rdikleri altyapının Internet e çok uygun olduğunu farkedler. Ø Ve hemen yönlerini değiş=rip, ismi daha sonra resmi olarak HotJava olan Java- tabanlı bir tarayıcı geliş=rdiler: WebRunner 5

6 İç Giyim Olarak Oak Ø Gosling explains: "We had already been developing the kind of `underwear' to make content available at the the Web was being developed. Even though the Web had been around for 20 years or so, with FTP and telnet, it was difficult to use. Then Mosaic came out in 1993 as an easy- to- use front end to the Web, and that people's The Internet was being transformed into exactly the network that we had been trying to convince the cable companies they ought to be building. All the stuff we had wanted to do, in fit perfectly with the way were writen, delivered, and used on the Internet. It was just an incredible accident. And it was patently obvious that the Internet and Java were a match made in heaven. So that's what we did." 6

7 Oak tan Java ya Ø Oak ismi bu sırada Java olarak değiş=rildi, Ø Ve 23 Mayıs 1995 te Java resmi olarak piyasaya sunuldu. Ø Ve o tarihlerde ne Java yı geliş=renlerin ne de bir başkasının tahmin edemeyeceği yoğunlukta bir ilgiyle karşılaşq. Ø 2010 yılında Oracle ın Sun ı saqn almasıyla da Java el değiş=rmiş oldu. 7

8 Java Nedir? Ø Sun, 1995 te Java yı sunarken yayınladığı ve Java nın babası James Gosling in kaleme aldığı bir yazıda Java yı şöyle tanıqyordu: Ø Java: Basit, nesne- merkezli, ağlarda yetenekli, yorumlanan, sağlam, güvenli, mimari olarak tarafsız, taşınabilir, yüksek performanslı/başarımlı, çok kanallı, dinamik bir dil. Ø Java: A simple, object- oriented, network- savvy, interpreted, robust, secure, architecture neutral, portable, high- performance, mulhthreaded, dynamic language. 8

9 Java BasiDr I Ø Java nın o kadar da basit değildir aslında, Ø Java, ataları olan C ve C++ dillerinden daha basidr. Ø Çünkü bu dillerde olan ve karmaşıklık ge=ren özellikleri ve yapıları içermez: Ø Pointer aritme=ği, Ø Programcıya bağımlı bellek yöne=mi (memory management), Ø İşlemci çoklu kullanımı (operator overloading), Ø PlaRorm bağımlı yapılar. Ø Java soyut dolayısıyla daha yüksek seviyeli bir dildir. 9

10 Java BasiDr II Ø Java bu dillere göre aşağıdaki avantajlara da sahip=r: Ø Standartlar üzerine kurulmuş olmak, Ø PlaRorma bağlı olmayan yapılara (örneğin basit veri yapıları) sahip olmak, Ø Daha derli- toplu geliş=rme ortamlarına sahip olmak, Ø Temel dil dışında da kurumsal ve gömülü uygulama yapılarına sahip olmak Ø Daha küçük ve sade bir dil ile daha güçlü olmayı tercih eder, Ø Ama özellikle 5.0 sürümüyle başlayan eklemelerle Java bayağı büyüdü. Ø Örneğin generic yapıları 10

11 Java Nesne Merkezlidir I Ø Java nesne- merkezli bir dildir. Ø Nesne- merkezli diller, daha çok aşina olunan prosedürel/ yordamsal dillerden çok farklıdırlar. Ø Yordamsal dillerde en önemli kavram/soyutlama yordam/ prosedür/fonksiyondur ve bu yapılar, bir problemi alt problemlere bölüp, her birini adım adım (step- wise decomposi=on) tanımlamakta kullanılır. Ø Fakat nesne- merkezli diller tamamen nesne kavramı üzerine otururlar. 11

12 Nesne Nedir? Ø Nesne, insan zihninin kendisine yöneldiği, özellik ve davranışlara sahip, fiziksel olan ya da olmayan herhangi bir olgudur. Ø Yazılımda her =p nesne için, verisi ile davranışını bir paket haline ge=rip sarmalayan (encapsulahon) ve adına genelde sınıf (class) denen şablonlar oluşturulur. Sınıf = Veri + Davranış Ø Nesneler, şablonlardan yani sınıflardan üre=lmiş çalışma zamanı yapılarıdır. 12

13 Nesne ve Varlıklar/Olgular Ø Nesnelerin çoğu zaman gerçek dünyadaki varlıkları ya da olguları ifade edkleri düşünüldüğünde, nesnelerin özellikleri gerçek varlıkların/olguların özelliklerine, davranışları ise varlıkların/olguların birbirleriyle olan ile=şimine karşılık geldiği söylenebilir. 13

14 Alan Key in 5 Kuralı Ø Herşey bir nesnedir. Ø Program, birbirlerine mesaj (message) göndererek ne yapmalarını belirten nesnelerden oluşur. Ø Her nesne diğer nesnelerden (associa=on/composi=on) oluşur ve hayzada yer kaplar. Ø Her nesnenin bir =pi (type) vardır. Ø Aynı =pten olan nesneler aynı mesajları alabilirler. 14

15 Java Nesne Merkezlidir II Ø Java da basit veri =pleri hariç herşey, bütün =pler, bir nesnedir. Ø Çok güçlü kapsülleme (encapsulahon) ve bilgi saklama (informahon hiding) mekanizmaları vardır. Ø Arayüz (interface) ile gerçekleşhrme (implementahon) arasında çok açık bir ayrım vardır. 15

16 Java Ağlarda Yeteneklidir Ø Tarihi olarak Java nın ve Web devriminin doğumu aynı döneme rast gelmiş=r. Ø Bu yüzden Java, ağ ve ilgili yapılar akılda tutularak tasarlanmış ilk dildir. Ø Java ile bilgisayar için değil ağ için yazılım geliş=rirsiniz. Ø HTTP ve HTTPs gibi en yaygın Web protokolleri Ø Web Servisleri Ø Uzak nesneler (remote objects) Ø Ve Telnet, FTP vs. gibi diğer bütün protokoller 16

17 Java Yorumlanır Ø PlaRormdan bağımsız olabilmesi için Java kaynak kodları doğrudan makina koduna derlenmez, Ø Java kaynak kodları (.java dosyaları), Java bytecodeuna (.class dosyaları) derlenir. Ø Bytecode, JVM in komutlarıdır ve çalışma zamanında (run- =me) JVM tarayndan yorumlanır. Ø JVM (Java Virtual Machine ya da Java Sanal Makinası), donanım ve işle=m sistemi üzerinde çalışan sanal bir plarormdur. 17

18 Java Yorumlanır Ø Aslında Java hem derlenen (compiled) hem de yorumlanan (interpreted) bir dildir. Ø Java kaynak kodları (.java dosyaları) Java bytecodelarına (.class dosyaları) derlenir. Ø Bytecodelar çalışma zamanında (run- =me) JVM tarayndan yorumlanır. Ø Dolayısıyla Java da kod yazarken, nihai çalışma ortamını bilmeniz gerekmez. Ø Taşınabilir (portable) 18

19 19

20 Bytecode Nedir? Ø Bytecode, JVM in makina dilidir, Ø Bir byte uzunluğunda olduğu için böyle adlandırılmışqr. Ø Bytecode, herhangi bir işlemciye özel değildir ya da bir başka deyişle tamamen ve sadece JVM e özeldir, Ø Bytecodelar, JVM tarayndan çalışma zamanında (run- =me) plarorma özel komutlara çevrilir: Ø Yorumlama Ø Bu şekilde Java nın plarormdan bağımsız ya da taşınabilir olması sağlanır. 20

21 JVM Ø JVM (Java Virtual Machine ya da Java Sanal Makinası), donanım ve işle=m sistemi üzerinde çalışan sanal bir plarormdur. Ø Hemen her plarorm için en az bir JVM mevcuhur. Ø Derlenmiş Java kodlarıyla plarorm arasında bir katman oluşturur ve aynı bytecodeların farklı plarormlarda değişmeden, aynı şekilde çalışmasını sağlar. 21

22 22

23 23

24 public class Selam{ } public String selamsoyle(string isim){ return "Selam " + isim + " :)"; } public class SelamTest { } public static void main(string[] args) { Selam selam = new Selam(); String cevap = selam.selamsoyle("ali"); System.out.println(cevap); } 24

25 Java Taşınabilirdir Ø Java tanımlı standartlar ve şartnameler (specificahons) üzerine kurulmuştur. Ø Bu açıdan Java da gerçekleş=rmeye (implementa=on) bağlı hiçbir noktanın olmaması amaçlanmışqr. Ø Örneğin int veri =pi her yerde 32 bidr. Ø Ayrıca, Java dili ve JVM, plarormlarla alakalı sadece en genel ön kabullere sahip=r. Ø Bu durum Java nın plaworm bağımsızığı ve taşınabilirliğinin sağlayıcısıdır ve Java programcısına üzerinde çalışqğı ortamdan bağımsız davranma gücünü verir. 25

26 WORA Ø Başından bu yana bir kere yaz her yerde çalışpr (Write Once, Run Anywhere, WORA) Java nın taşınabilirlik konusundaki hedefidir. Ø Tabi olarak bu prensibin geçerli olması için programcı da herhangi bir plarorma özel kod yazmamalıdır. Ø Java yı uzunca süredir uygulayanlar, bir kere yaz her yerde test et (Write Once, Test Anywhere, WOTA) prensibinin daha doğru olduğu üzerinde hemfikirdirler. 26

27 Java Sağlamdır Ø Sağlamlık (robustness) çalışma zamanı güvenirliği olarak tanımlanır. Ø Java, dayanıklı (reliable) ve sağlam yazılımlar üretmek için tasarlanmışqr. Ø Java güçlü bir =p sistemine sahip=r dolayısıyla hem derleme zamanında hem de çalışma zamanında =p uyumu ve çevrimi (cast) kontrol edilir, Ø Sıra dışı durumları ele almak için mekanizma oluşturulmuştur (excep=on handling), Ø Bellek yöne=mi otoma=k=r, programcıya bırakılmamışqr. Ø Ve daha pek çok derleme/çalışma zamanı kontrollerini içerir. 27

28 Java Güvenlidir Ø Java nın ağ ortamlarında kullanılmak için tasarlanmış olduğu belir=lmiş=. Ø Bu yüzden Java, ağ ortamlarında bulunmanın ge=rdiği tehlikelere karşı koyacak şekilde yapılandırılmışqr. Ø Yabancı makinlardaki nesnelerin, yerel makinadaki nesnelere ve işle=m sistemine erişimi kontrol alqndadır. Ø Java nın ilk yıllarında duyulan güvenlik açıklarına arqk pek rastlanılmamaktadır. Ø Java daki güvenlik API ları sayesinde şifrelemeden (encryp=on) sayısal imzalara (digital signatures) kadar her türlü güvenlik kodu yazılabilir. 28

29 Java Mimari Olarak Tarafsızdır Ø Java, birbirlerinden farklı, pek çok değişik plarormun bulunduğu ağ üzerinde çalışmak için tasarlandığından, herhangi bir plarormu varsaymaz, plarormlardaki ortak özellikler dışında herhangi bir ön kabulü yoktur. Ø Bu durum Java nın sanal bir makina üzerinde çalışması ve hiçbir plarorma varsaymayan bir şekilde, standartlar üzerine inşa edilmesinin bir sonucudur. Ø Java bytecode da herhangi bir plarorma bağımlı değildir. 29

30 Java Yüksek Başarımlıdır I Ø Bu özelliği tabiki açıklanmaya muhtaçqr. Ø Nesne- merkezli diller, =p hiyerarşileri ve polimorfizm gibi özelliklerinden dolayı zaten çalışma zamanında çok iş yaparlar. Ø Java, taşınabilir ve mimari olarak tarafsız olmak için sanal makina gibi bir ara katman üzerinde çalışmayı tercih etmiş=r, Ø Ayrıca Java sağlam bir çalışma zamanı kurgulamak için çalışma zamanında daha pek çok kontroller sahip=r. Ø Bu ve benzeri durumların Java yı tabii olarak çalışma zamanında daha yavaş kılabilmektedir. 30

31 Java Yüksek Başarımlıdır II Ø Java nın çalışma zamanı performansını ar\rmak için çok mesafe katedilmiş=r. Ø Etkin derleyici (Op=mizing compiler) Ø Etkin JIT ve benzeri teknolojiler Ø Java cılar da performanslı kod yazmak için hem hız hem de bellek tüke=mi açısından, diğer dilleri kullananlara göre daha bilgili olmalıdırlar. 31

32 Java Yüksek Başarımlıdır III Ø Ama unutulmamalıdır ki projeler daha çok ih=yaçların yanlış kavranması vs. gibi sebeplerden başarısız olmaktadır, performanstan değil. Ø Ayrıca performans ve ölçeklenebilirlik (scalability) genel olarak mimarinin bir özelliğidir ve mimariler bu konulardaki hedefler gözönüne alınarak tasarlanmalıdır. 32

33 Java Çok Kanallıdır Ø Kanal (thread), bir işlem/süreç (process) içinde oluşturulan küçük bir işlem/süreç=r (lightweight process). Ø Aynı işlem içinde çalışan farklı kontrol akışlarına kanal denir. Ø Kanallar aynı işlem içinde çalışqklarından, birçok işi aynı anda ve daha hızlı ve etkin olarak yerine ge=rebilirler. Ø Böylece daha yetenekli ve hızlı cevap veren yazılımlar geliş=rilebilir. Ø CPU ve plarormların çok hızlı hale gelmesi, dillerdeki çok kanallı özellikleri kullanmamızı gerek=rmektedir. 33

34 Java Dinamik=r Ø.class dosyalarındaki Java =plerinin daha program derlenirken hazır olmaları şart değildir, =pler JVM e çalışma zamanında her hangi bir anda yüklenebilir. Ø Dolayısıyla pek çok dilde var olan derleme zamanındaki sta=k bağlanq kurma (sta=c linking) genel olarak Java da yoktur. Ø Bu da ağ üzerinde çalışan ve derleme sırasında erişilmesi mümkün olmayıp, çalışma zamanında ulaşılan nesnelerin dinamik olarak JVM e yüklenebilmesini sağlar. 34

35 Java nın Sahibi Kimdir? Ø Excel in sahibinin Microso olması anlamında Java nın sahibi yoktur. Ø 2010 yılına kadar Java nın orijinal geliş=ricisi olan Sun, Java nın sahibi ve lisanslayıcısıydı. Ø 2010 yılında Oracle Sun ı saqn alarak, Java nın sahibi ve lisanslayıcısı oldu. 35

36 Java yi Kim Geliş=rmektedir? Ø Java, JCP (Java Community Process, hhp:// ) tarayndan geliş=rilmektedir. Ø JCP, kişi ve kuruluşların serbestçe kaqlabildiği ve kararların oy çoğunluğu ile verildiği milletlerarası bir ortamdır. Ø Çok farklı bilgi ve tecrübeye sahip binlerce kişi ve kurum JCP çaqsın alqnda Java nın gidişaqnı belirlerler. Ø Her ne kadar Oracle (eskiden Sun), JCP de çok etkin olsa ve bu yüzden eleş=rilse de Java nın geleceği çok daha demokra=k yollarla belirlendiği söylenebilir. 36

37 JSR I Ø JCP nin üyeleri yeni bir Java teknolojisini Java Specifica=on Request (JSR) mekanizması ile teklif edebilirler. Ø Her JSR ın bir yürütücü heye= ve teknik bir lideri vardır. Ø JSR lar, içinde halka açık incelemenin de (public review) bulunduğu bir dizi sa~adan geçip demokra=k bir oylama ile sonuçlandırılırlar. 37

38 JSR II Ø Kabul edilen her JSR aşağıdaki üç şeyi üretmek zorundadır: Ø API ı da içeren bir şartname (specifica=on) Ø Bir referans gerçekleme (reference implementa=on) Ø Teknoloji uyumluluk pake= (technology compa=bility kit) Ø Dolayısıyla her Java teknolojisi gerçekleş=rmesi, bu açık ve üzerinde mutabakat oluşmuş tarifname ve API lar üzerine bina edilirler. Ø İsteyen her kişi ve kurum da bu tarifnameler üzerine ürün geliş=rip, bedava ya da ücre=yle lisanslayabilir. 38

39 Özgür Yazılım Ø Java nın bu açık ve standartlara dayalı yapısı özgür yazılımların gelişmesine de yardımcı olmaktadır. Ø Java bugün açık kaynak kodlu (open source) yazılım felsefesine gönül verenlerin en fazla kullandıkları dil haline gelmiş=r. Ø Bu sayede hemen her Java teknolojisinin =cari olmayan, açık kaynak kodlu gerçekleş=rmesi mevcuhur. 39

40 Java nın Tipleri Ø Sun, tek bir =pin yeterli olmayacağını düşünerek, Java nın üç farklı =pini oluşturmuştur: Ø Standart Java (Standard Edi=on, SE) Ø Mikro Java (Micro Edi=on, ME) Ø Kurumsal Java (Enterprise Edi=on, EE) Ø Şu anda Ø Java SE nin 7. sürümü vardır, 8.si 2014 e planlanmışqr Ø Java EE nin 7. sürümü May 2013 da çıkmışqr, Ø Java ME nin 3.3 sürümü vardır. Ø hhp://en.wikipedia.org/wiki/java_version_history 40

41 Java Derken Neyi Kastediyoruz? Ø Java Ø Bir programlama dilidir, Ø Bir geliş=rme ortamıdır, Ø Bir uygulama ortamıdır, Ø Bir kurulum ortamıdır. Ø Bu anlamda Java, klasik programlama dillerinden farklı olarak, çok geniş ama yeknesak bir yazılım geliş=rme eko- sistemi sunar. 41

42 Java ya Nasıl Başlarım? Ø Java ya hhp:// (eskiden hhp://java.sun.com ) adresine gidip JDK in en son sürümünü indirip makinanıza kurarak başlayabilirsiniz. Ø JDK i kurduğunuz yerdeki bin klasörünü path e koyup, komut saqrı (CMD, terminal, etc.) javac ile kodunuzu derleyip, java ile de çalışqrabilirsiniz. Ø İsterseniz Netbeans (hhp:// ya da Eclipse (hhp:// IntelliJIDEA ( hhp:// gibi geliş=rme ortamlarını da kullanabilirsiniz. 42

43 Java nın TabiaQ ve Zorlukları I Ø Java nesne- merkezlidir, dolayısıyla arqk prosedürel değil nesne merkezli düşünmeniz gereklidir. Ø Java, sürükle- bırak merkezli programlama yaklaşımından ziyade, C/C++ geleneğine daha uygun olarak, ne yazdığınızı tam olarak bilmenizi ister. Ø Java şartname (specifica@on) temellidir: Ø Dolayısıyla şartname ve onu gerçekleş=ren farklı ürünlerin olduğunu anlamanız gereklidir. Ø Dolayısıyla aynı işi yapan, aynı API ye sahip değişik ürünler vardır. 43

44 Java nın TabiaQ ve Zorlukları II Ø Java, yazılım mimarilerine, tasarım şablonlarına (design paherns) önem verir ve onları kullanır. Ø Java da düşünmek ve modellemek yazmaktan daha önemlidir Ø Küçük bir şey yapmak için bile hiç tahmin edemeyeceğiniz kadar düşünmeniz gerekebilir. Ø Dolayısıyla hızlıca sürükle- bırak şeklinde geliş=rme yerine tasarımı üzerine düşünülmüş, sürekle- bırak kullanılsa bile arka planda ne olup bidği iyice bilinen geliş=rme modeli daha uygundur. Ø Amaç, örneğin, 2000 saqrlık ASP ya da PHP sayfası yerine, çoğunlukla saqr saqr yazılmış ama çok daha modüler ve şablonlara uygun tasarlanmış saqrlık JSP sayfaları yazmakqr. Ø Java özgür ve açık kaynak kodlu yazılımların en yoğun olduğu dildir: Ø Dolayısıyla aynı işi yapan açık kaynak kodlu pek çok farklı ürün vardır. 44

45 Java Ser=fikaları I Ø Java yı, sistemli bir şekilde, temellerinden başlayarak öğrenmenin bir yolu da Oracle ın Java ser=fikalarını almakqr. Ø Oracle ın Java ser=fikaları, Java SE 5, 6 ve 7 ile Java EE 5, 6 ve 7 sürümleri ile Java ME üzerinedir. Ø Ser=fikalar, tecrübeniz olmasa bile temel bilginizin sağlam olduğunu göstermenin en güzel yoludur. Ø OCP, Java Programmer olmak tecrübem yok ama Java nın temellerini iyi biliyorum demek=r. Ø Ser=fikalı olmak yurt dışı için çok önemlidir ve ülkemizde de gidkçe daha fazla önem kazanmaktadır. 45

46 Neden Ser=fika? Ø Ser=fika alan bir Java cı, şu iki şeyi göstermiş olur: Ø Kendi kariyeri ile ilgili bir hedefi vardır ve buna doğru ilerlemektedir, Ø Tecrübesi olmasa bile gerekli bilgi donanımına sahip=r. Ø Dolayısıyla, özellikle yeni mezunlar ya da Java da yeni bir yapıyı öğrenmek isteyenler için önemlidir. Ø Bu anlamda ser=fika sahibi olmak saygın bir durumdur. Ø Oracle ın Java ser=fikaları hakkında hhp://educa=on.oracle.com/pls/web_prod- plq- dad/ ou_product_category.getfamilypage?p_family_id=48 sayfasından geniş bilgi alabilirsiniz. 46

47 Java SE Ser=fikaları I Ø Java SE ser=fikaları, girişten başlayarak, Associate (OCA), Professional (OCP) ve Master (OCM) adlarında 3 seviye olarak yapılandırılmışqr: 47

48 Java SE Ser=fikaları II Ø OCA ve OCP, çoktan seçmeli sınavlardır. Ø OCA, OCP için, OCP de OCM için zorunludur. Ø OCA sınırlı ve giriş seviyede, OCP ise yerelleş=rme, çok kanallı programlama ve veri tabanı programlaması gibi konuları da içeren, dolayısyla Java SE bilgisini ölçmektedir. Ø OCM ise bir proje ödevi ve bu ödevle ilgili yazılan bir makaleyi içermektedir. 48

49 Java EE Ser=fikaları Ø Java EE ser=fikaları temelde farklı Java EE teknolojilerine odaklanan ve onlardaki yetkinliği gösteren ser=fikalardır Ø Java EE 5 için OCP, Java EE 6 için ise OCE (Oracle Cer=fied Expert) 49

50 Java Ser=fikaları III OCM, Java EE 5 Enterprise Architect OCP, Java EE 5 Web Component Developer OCP, Java EE 5 Business Component Developer OCP, Java EE 5 Web Services Developer OCM, Java SE 6 Developer OCM, Java EE 6 Enterprise Architect OCP, Java PlaZorm, Enterprise EdiHon 6 Web Component Developer OCP Java SE 5/6/7 OCA Java SE 5/6/7 OCE, Java PlaZorm, Enterprise EdiHon 6 Enterprise JavaBeans Developer OCE, Java PlaZorm, Enterprise EdiHon 6 Java Persistence API Developer OCE, Java PlaZorm, Enterprise EdiHon 6 Web Services Developer OCP, Java ME 1 Mobile ApplicaHon Developer 50

51 Daha Fazla AyrınQ İçin Ø Oracle ın Java SE Ser=fikaları: OCA, OCP ve OCM hhp:///?p=2375 Ø Oracle ın Java EE 5 Ser=fikaları: OCP ve OCM hhp:///?p=2404 Ø Oracle ın Java EE 6 Ser=fikaları: OCE ve OCM hhp:///?p=

Akın Kaldıroğlu www.javaturk.org. Şubat 2009

Akın Kaldıroğlu www.javaturk.org. Şubat 2009 Akın Kaldıroğlu www.javaturk.org Şubat 2009 Akın Kaldıroğlu Akın Kaldıroğlu 1993 yılından bu yana yazılım geliştirmektedir. Mesleğe C ve C++ ile başladı, 1996 da ilk sürümüyle birlikte Java ya geçti ve

Detaylı

Java Temel Özellikleri

Java Temel Özellikleri Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 1 Zümra Kavafoğlu Dersin Amacı Nesneye Yönelik Programlama Kavramını Java Dili Üzerinden Öğrenmek Nesneye yönelik programlama ile ilgili nesne, sınıf, kalıtım, çok

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA DİLİ Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Programlama Diline Giriş Java Platform Çeşitleri Java nın Kodlama ve Çalışma Adımları Java Derleyicisi, Java Yorumlayıcısı Java Çöp Toplayıcısı

Detaylı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

Java JDK (Java Development Kit) Kurulumu:

Java JDK (Java Development Kit) Kurulumu: Java JDK ve Eclipse Kurulumu Öncelikle java ile program geliştirmeye başlamak istiyorsanız iki şeye ihtiyacınız olacak; 1-Java JDK (Java Development Kit) : Java ile yazdığımız kodları derleyip çalıştırmak

Detaylı

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Java Programlama Giriş

Java Programlama Giriş Java Programlama Giriş 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR 1 Neden Java Programlama Platformdan bağımsızdır

Detaylı

C# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

Detaylı

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ BİLGİSAYAR PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr.Caner KOÇ Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü ckoc@ankara.edu.tr DERS KAYNAKLARI 1. A. Kadir GÜNEYTEPE:

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Java ve Linux. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006

Java ve Linux. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006 Java ve Linux Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006 Sunum Planı Java Çalışma Ortamı POSIX uyumu ve Linux Java Toplum Süreci (JCP) Açık kaynak kodlu

Detaylı

İçerik. Temel Kavramlar. Yazılım Geliştirme Aşamaları. Problemi Anlama ve Çözümleme. Biçimsel Gösterim - 1. Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Yazılım Geliştirme Aşamaları. Problemi Anlama ve Çözümleme. Biçimsel Gösterim - 1. Nesneye Yönelik Programlama İçerik Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Temel Kavramlar Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Basit bir Java programı BS-515 Nesneye Yönelik Programlama

Detaylı

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java JAVA KODLAMAYA GİRİŞ Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java Programı

Detaylı

2007-2008 Bahar. BM 211 Programlama Dilleri 3 1

2007-2008 Bahar. BM 211 Programlama Dilleri 3 1 Programlama Dilleri III 2007-2008 Bahar BM 211 Programlama Dilleri 3 1 Ders Hakkında Ders Sorumlusu Öğr.Gör. Bora UĞURLU Ders Slaytları İçin http://members.comu.edu.tr/boraugurlu/ Dersle İlgili İletişim

Detaylı

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)

Detaylı

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu Java ile Nesne Merkezli ve Fonksiyonel Programlama 3. Bölüm Soyut Sınıflar (Abstract Classes) Akın Kaldıroğlu Kasım 2015 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

Temel Kavramlar. BS-515 Nesneye Yönelik Programlama. Ders #1 (26 Ekim 2009)

Temel Kavramlar. BS-515 Nesneye Yönelik Programlama. Ders #1 (26 Ekim 2009) Temel Kavramlar BS-515 Nesneye Yönelik Programlama Dr. Ayça Tarhan Ders #1 (26 Ekim 2009) İçerikç Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

Java 2 Micro Edition (J2ME)

Java 2 Micro Edition (J2ME) Java 2 Micro Edition (J2ME) Arş.Gör. Cenk ATLIĞ Bahar 2005-2006 Trakya Üniversitesi Bilgisayar Mühendisliği İçerik Giriş MIDP nedir? MIDP in Java 2 Platformundaki yeri Java 2 Platformunda cihazların kullanım

Detaylı

Java Programlamaya Giriş

Java Programlamaya Giriş Java Programlamaya Giriş Amaçlar: 1. Java kurulumu (Netbeans ve JDK) 2. Java Netbeans Kullanımı 3. Program yazma Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek

Detaylı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

Lecture 11: Generics

Lecture 11: Generics BLM202E Data Structures Lecture 11: Generics Bilgisayar Mühendisliği Bölümü Öğr. Gör. Musa AYDIN 2014 2015 (Bahar) BLM202E Data Structures - 2015 Spring Java programlama dilinin güçlü özelliklerinden biri

Detaylı

Client Server Database

Client Server Database Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

Detaylı

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1 Bölüm1 İlk Bilgiler ISBN 0-321-49362-1 Bölüm 1 Konuları Niye Programlama Dilleri prensiplerini öğreniyoruz? Programlama alanları Dil değerlendirme kriterleri Dit tasarımına etkiler Dil kategorileri Dil

Detaylı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

Detaylı

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir.

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir. BÖLÜM 1 Java Programlamaya Giriş Java programlama dili ilk olarak başında James Gosling`n bulundugu Sun Microsystems tarafından 1995 yılında, Sun Java Platformunun ana unsuru olarak geliştirilmeye başlandı.

Detaylı

JAVA PROGRAMLAMAYA GİRİŞ

JAVA PROGRAMLAMAYA GİRİŞ LAB I JAVA PROGRAMLAMAYA GİRİŞ Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek uygun bir geliştirme ortamı kurulmalıdır. Eclips IDE yaygın olarak kullanılan

Detaylı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

Temel Bilgisayar (Basic Computer) Yazılım (Software)

Temel Bilgisayar (Basic Computer) Yazılım (Software) Temel Bilgisayar (Basic Computer) Yazılım (Software) Yazılım (Software) Eğitim TV - egitimtv.biz - facebook.com/egitimtv 2 Yazılım Daha önce de bahsettiğimiz gibi; yazılım, bilgisayar üzerinde çalışan

Detaylı

GÖRSEL PROGRAMLAMA - I 2013-2014

GÖRSEL PROGRAMLAMA - I 2013-2014 GÖRSEL PROGRAMLAMA - I 2013-2014 Ders Hakkında Ders Sorumlusu Öğr.Gör. Ekrem Eşref KILINÇ Dersle İlgili İletişim İçin ekremesrefkilinc@gmail.com Neler Öğreneceğiz? Nesneye yönelik programla nedir? (Metot

Detaylı

PROGRAMLAMA TEMELLERİ

PROGRAMLAMA TEMELLERİ PROGRAMLAMA TEMELLERİ 2.HAFTA Yazılım Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar

Detaylı

1. Bölüm Java ya Giriş Java ile Nesne Merkezli Programlamaya Giriş Akın Kaldıroğlu

1. Bölüm Java ya Giriş Java ile Nesne Merkezli Programlamaya Giriş Akın Kaldıroğlu Java ile Nesne Merkezli Programlamaya Giriş 1. Bölüm Java ya Giriş Akın Kaldıroğlu Mayıs 2015 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğiam malzemelerinin tüm hakları

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları. Script Statik Sayfa Dinamik Sayfa Dinamik Web Sitelerinin Avantajları İçerik Yönetim Sistemi PHP Nedir? Avantajları Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında

Detaylı

İnternet Programcılığı

İnternet Programcılığı 1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

Java. Hakkımızda. Java Eğitimi

Java. Hakkımızda. Java Eğitimi JAVA Hakkımızda 1999 yılında bilişim teknolojileri alanında eğitim vermek amacıyla kurulan Bilişim Eğitim Merkezi temellerini istihdam ve verimlilik odaklı bir yapı üzerinde atmış ve verdiği eğitimlerle

Detaylı

Moodle-IST Kullanım Klavuzu

Moodle-IST Kullanım Klavuzu Moodle-IST Kullanım Klavuzu 1 İÇİNDEKİLER 1. ÖYS (Öğrenim Yönetim Sistemi) ve Moodle Nedir?...3 2. Sisteme Giriş...4 2. Ders Takibi...5 4. Ödev yükleme...7 2 1. ÖYS (Öğrenim Yönetim Sistemi) ve Moodle

Detaylı

Java Dersi. Altuğ Bilgin Altıntaş

Java Dersi. Altuğ Bilgin Altıntaş Java Dersi Altuğ Bilgin Altıntaş Bu Dönem Hakkında Corba Servlet RMI Temel Kısım EJB JSP XML 2 JDBC JNI Çalışma Evreleri 6 Çalışma Evreleri 7 Java dosyasının hali 7 İlk Java uygulaması 7 Ciddi bir uygulama

Detaylı

İŞLETİM SİSTEMLERİ. (Operating Systems)

İŞLETİM SİSTEMLERİ. (Operating Systems) İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri

Detaylı

ÖZGÜR YAZILIMLAR İLE J2EE

ÖZGÜR YAZILIMLAR İLE J2EE ÖZGÜR YAZILIMLAR İLE J2EE Buğra Çakır bugra@ibrahimcakir.com Seminer İçeriği 1. İki ve üç katmanlı yazılım mimarileri 2. Java ve J2EE platformu 3. Özgür yazılımlar ile J2EE 4. Eclipse, Lomboz ve JBoss

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JSP Üst Düzey Programlama-ders04/ 1 JSP JSP durağan HTML ile dinamik oluşturulan içeriği birleştirmeyi sağlar. Bir web sayfası tasarlama programı ile web sayfasını tasarlar daha sonra

Detaylı

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI

MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI 2011 2012 Güz Yarıyılı Java Programlama YZM 363 5 AKTS 4. yıl 7 yarıyıl Lisans Seçmeli 3 s/hafta 3 kredi Teorik: 3 s/hafta

Detaylı

1. HAFTA TEMEL KURULUM İŞLEMLERİ ve NESNE TABANLI PROGRAMLAMA KAVRAMLARI

1. HAFTA TEMEL KURULUM İŞLEMLERİ ve NESNE TABANLI PROGRAMLAMA KAVRAMLARI 1. HAFTA ve NESNE TABANLI PROGRAMLAMA KAVRAMLARI TMYO Bilgsayar Teknolojileri Uzaktan Eğitim Bölümü Nesne Tabanlı Programlama Zafer YAVUZ zaferyavuz@ktu.edu.tr Sunum İçeriği NESNE TABANLI PROGRAMLAMA JAVA

Detaylı

Java EE 5 Teknolojileri Jboss Seam

Java EE 5 Teknolojileri Jboss Seam Java EE 5 Teknolojileri Jboss Seam Hakan Uygun İçerik Kurumsal Uygulama Nedir? Java Teknolojileri Web Uygulaması Java EE Bileşenleri JBoss Seam Yazılım İhtiyaçları Bireysel Kullanıcı Eğitim Eğlence İletişim

Detaylı

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1 İçerik Giriş

Detaylı

Yönlendiriciler ve Yönlendirme Temelleri

Yönlendiriciler ve Yönlendirme Temelleri Yönlendiriciler ve Yönlendirme Temelleri 2/66 Yönlendiricilerin çalışma prensibini öğrenmek. Yönlendirici temellerini tanımlamak. Yönlendirici tablolarını tanımlamak ve kullanımını öğrenmek. 2 1 3/66 Yönlendirme,

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

İşletim Sistemleri. Discovering Computers Living in a Digital World

İşletim Sistemleri. Discovering Computers Living in a Digital World İşletim Sistemleri Discovering Computers 2010 Living in a Digital World Sistem Yazılımı Sistem yazılımı, bilgisayar ve aygıtlarının çalışmasını kontrol eden ve sürdüren programlardan oluşur. İşle;m sistemleri

Detaylı

Swing ve JDBC ile Database Erişimi

Swing ve JDBC ile Database Erişimi Swing ve JDBC ile Database Erişimi JDBC API, tablolanmış herhangi bir tür veriye, özellikle İlişkisel Veritabanı, erişim sağlayan bir Java API sidir. JDBC, aşağıda verilen üç etkinliğin gerçekleştirilebileceği

Detaylı

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu Turquaz Açık kodlu muhasebe yazılımı http://www.turquaz.com Turquaz Proje Grubu Konu Başlıkları 1. Turquaz Proje Grubu 2. Programın fikri 3. Geliştirme aşaması 4. Programın içeriği 5. Yapılacaklar 6. Dizayn

Detaylı

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Nesne Yönelimli Programlama BİM-222 2/II 1+0+2 2 3 Dersin Dili

Detaylı

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması Hakan ALBAĞ Tahsin Barış AKAN Bitirme Projesi 05.06.2006 Giriş Ticari yazılımlarda ortak ihtiyaçlar Birden

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

Selsoft Eğitim Kataloğu

Selsoft Eğitim Kataloğu Selsoft Eğitim Kataloğu Haziran 2015 İçindekiler 1. Giriş... 3 2. le İlgili Genel Bilgiler... 3 a. Sınıf İçi ve Online... 3 b. Eğitim İhtiyaç Analizi... 4 c. Seviye ve Performans Değerlendirme... 4 d.

Detaylı

www.javaturk.org Akın Kaldıroğlu www.javaturk.org Java ile Nesne Merkezli Programlama

www.javaturk.org Akın Kaldıroğlu www.javaturk.org Java ile Nesne Merkezli Programlama Akın Kaldıroğlu Java ile Nesne Merkezli Programlama Ocak 2014 Küçük Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eği>m malzemelerinin tüm hakkı Akın Kaldıroğlu na aier. Ø Bu eği>m malzemelerini

Detaylı

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1 BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1 Kaynaklar: Sefer Algan, Her Yönüyle C#, 6. Baskı, Pusula Yayıncılık. www.sharpnedir.com 1. DÜZEYLERİNE GÖRE BİLGİSAYAR DİLLERİ Script Dilleri Yüksek Düzeyli Diller

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine İŞLETİM SİSTEMLERİNE GİRİŞ - 2 Kaynakların Paylaşımı (Resource Sharing) Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde paylaşılan kaynaklar

Detaylı

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ASP.NET TEMELLERİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu İnternet Nasıl Çalışır? Sunucu istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan

Detaylı

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş. Ekosisteminde Kurumsal Yazılım Geliştirme Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş. Hakkımızda Harezmi Bilişim Çözümleri 2011 yılında kuruldu Uzmanlık alanlarımız Kurumsal uygulama geliştirme Java

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Spring Giriş Eğitimi

Spring Giriş Eğitimi Spring Giriş Eğitimi Bu eğitimde Spring ın hangi problemlere karşı etkili olduğundan bahsedeceğim. Ayrıca çekirdek Spring teknolojisinin nasıl işlediği; Dependency Injection - DI ve Inversion of Contol

Detaylı

5. Bölüm Alt Sınıflar (Nested Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

5. Bölüm Alt Sınıflar (Nested Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu Java ile Nesne Merkezli ve Fonksiyonel Programlama 5. Bölüm Alt Sınıflar (Nested Classes) Akın Kaldıroğlu Ocak 2017 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim malzemelerinin

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu JavaServerFaces Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek

Detaylı

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI: 1 Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ ALINTI: https://webmaster.kitchen Metin Editörleri 2 Bir web sitesi geliştirmek istiyorsanız, bir HTML düzenleyicisine ihtiyacınız olacaktır. Elbette

Detaylı

Tekir (Ön Muhasebe Yazılımı)

Tekir (Ön Muhasebe Yazılımı) Tekir (Ön Muhasebe Yazılımı) Tekir Nedir? Kullanılan Teknolojiler Nelerdir? Sistem Gereksinimleri Nelerdir? Merve Yalçın Ahmet Deniz Korkmaz Tekir nedir? Tekir, açık kaynak kodlu özgür bir muhasebe yazılımıdır.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 2. BÖLÜM 2 PROGRAMLAMAYA GİRİŞ Programlama Terimleri ve Programlama Ortamı 3 Program Programlama IDE

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu 10-02-2007

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu 10-02-2007 Akademik Dünyada Özgür Yazılım Onur Tolga Şehitoğlu 10-02-2007 1 Özgür Yazılım Nedir? Neden Özgür Yazılım? 2 Masaüstü İşletim Sistemi Ofis Uygulamaları 3 Görüntüleme 4 Bilimsel Araçlar Octave SciLab R

Detaylı

R ile Programlamaya Giriş ve Uygulamalar

R ile Programlamaya Giriş ve Uygulamalar R ile Programlamaya Giriş ve Uygulamalar İçerik R ye genel bakış R dili R nedir, ne değildir? Neden R? Arayüz Çalışma alanı Yardım R ile çalışmak Paketler Veri okuma/yazma İşleme Grafik oluşturma Uygulamalar

Detaylı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

MİKROİŞLEMCİ MİMARİLERİ

MİKROİŞLEMCİ MİMARİLERİ MİKROİŞLEMCİ MİMARİLERİ Mikroişlemcilerin yapısı tipik olarak 2 alt sınıfta incelenebilir: Mikroişlemci mimarisi (Komut seti mimarisi), Mikroişlemci organizasyonu (İşlemci mikromimarisi). CISC 1980 lerden

Detaylı

Bölüm 1. Ön Hazırlıklar ISBN 0-321-49362-1

Bölüm 1. Ön Hazırlıklar ISBN 0-321-49362-1 Bölüm 1 Ön Hazırlıklar ISBN 0-321-49362-1 Bölüm 1 Konular Programlama Dilleri Kavramlarının Çalışılma Nedenleri Programlama Alanları Dil Değelendirme Kriterleri Dil Tasarımındaki Etkileri Dil Kategorileri

Detaylı

Programlama Yazılımı ile Web Sitesi Oluşturma

Programlama Yazılımı ile Web Sitesi Oluşturma Hafta- 2 Programlama Yazılımı ile Web Sitesi Oluşturma Programlama yazılımı, bir web projesi oluşturmak için alternatif birkaç yol sunar. Buyollardan bir tanesi ihtiyaca uygun olarak seçilebilir. Programlama

Detaylı

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır. 18 İçindekiler Lütfen Dikkatle Okuyunuz! Yasal Uyarı Bölüm Başlıkları Önsöz Kitabın İçeriği Nedir? Kitabın İçeriği Ne Degildir? Kitap Kim İçin Yazıldı? Yazar Hakkında Kitap Nasıl Okunmalı? Yazar İle İletişim

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı