Dağıtık Sistemler CS5001

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

Download "Dağıtık Sistemler CS5001"

Transkript

1 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Dağıtık Programlar ve Uygulamalar II Katman / 3 Adım Yaklaşımı

2 Dağıtık Programlar Dağıtık Programlar 2.0 Senkronizasyon yerine iletişim Dağıtıklık ortak durumlar(state) için klasik yapılar, eş zamanlı programlar için program yapısı olarak görülmektedir(senkronizasyon). lokal uygulamalarda dağıtıklık : Küçük uygulamalarda da dağıtıklık gereklidir. Bu nedenle Programlama Dilleri daha kompleks bir yapı yerine dağıtık uygulamalar için gereklidirler. Dağıtık uygulamalar için programlama dilleri yeni/tekrar gündeme gelmiş yaklaşım: Diller (!) yapı tanımlamalarında iletişim kuran süreçler Süreç topolojisi bulunan açık sözdizim ve semantik barındıran. Dağıtık sistemler için programlama dilleri uzun bir geçmişe sahiptir ancak hiçbir zaman gerçekleştirilememişlerdir. Seite 2

3 Senkronizasyon Yerine İletişşm Ortak kaynak yasaktır(mümkün değil yerine) Birden fazla süreç(thread) tarafından paylaşılan bir durum, kompleks problemleri beraberinde getirir kompleks yapılara ihtiyaç duyar (Semafor, Muteks, Şart değişkenleri, ) test edilmeleri zordur kötü ölçeklenmiştir. Senkronizasyon yerine iletişim Ortak bir duruma sahip olmayan bir programda Mesajlar üzerinden bilgi transferinde bulunan aktif elementler (Süreçler / Threads) Ortak bir kaynak bulunmadığından dolayı senkronizasyon talimatları önemli değildir. Ortak Durum(State): kötü! Yerel durum(state): iyi! Seite 3

4 Aktif Monitör Olarak Buffer: Mesaj işleme süreci passiv => aktiv geçiş stratejisi Senkron çağrı => Mesaj tipi, bir yanıt gönderme, alma wait => Mesajın kaydedilmesi notify => Kayıt edilmiş mesajın işlenmesi Mesajları işle: Put-Mesajı gönder OK-Yanıt Get-Mesajı gönder Daten-Yanıt public class Buffer<TokenType> { TokenType place; boolean empty = true; synchronized void put(tokentype t) throws InterruptedException { while (! empty ) wait(); place = t; empty = false; notify(); synchronized TokenType get() throws InterruptedException { while ( empty ) wait(); empty = true; notify(); return place; Put-Mesaj göndericisiyle birlikte kaydedildi gecikmiş Get-Mesajının işlenmesi Get-Mesajı göndericisiyle birlikte kaydedildi gecikmiş Put-Mesajı işlenmesi Seite 4

5 Aktif monitör olarak Buffer : Mesajları işleyen süreç (Pseudocode) process Buffer { Queue<PutMsg> pendingputs; Queue<GetMsg> pendinggets; Token place; boolean empty = true; void processpendingget() { if (! pendinggets.empty) { getmsg, sender = pendinggets.remove() send DataMsg(place) to sender empty = true; processpendingput(); void process(msg msg, sender) { case msg { PutMsg(item) => if (!empty) { pendingputs.enqueue(msg, sender) else { place = msg.item; send OK to sender; empty = false; processpendingget(); void processpendingput() { if (! pendingputs.empty) { putmsg, sender = pendinggets.remove() send OKMsg to sender place = putmsg.item empty = false; processpendingget(); GetMsg(item) => if (empty) { pendinggets.enqueue(msg, sender) else { send Data(place) to sender; empty = true; processpendingput(); do (forever) { reveive msg from sender process(msg, sender) Seite 5

6 Senronizasyon Yerine İletişim Aktif Monitör Olarak Buffer: Ağ Programı Olarak Gerçekleştirim (1) public class ActiveBuffer<TokenType extends Serializable> extends Thread { private final DatagramSocket dtgrmsocket; private class Pkt { Pkt(InetAddress senderadr, int senderport, Msg msg) { this.senderadr = senderadr; this.senderport = senderport; this.msg = msg; InetAddress senderadr; int senderport; Msg msg; public enum Token { Ping, Pong public class BufferServer { private TokenType place; private boolean empty = true; private List<Pkt> pendingputs = new LinkedList<>(); private List<Pkt> pendinggets = new LinkedList<>(); public ActiveBuffer(int bufferport) throws SocketException { this.dtgrmsocket = new DatagramSocket(bufferPort); /** args: arg[0]: port SocketException */ public static void main(string[] args) throws SocketException { if (args.length!= 1) { System.out.println("Aufruf: BufferServer <port>"); System.exit(0); int port = Integer.valueOf(args[0]).intValue(); ActiveBuffer<Token> activebuffer = new public void run() { activebuffer.start(); while (true) { Pkt pkt = receive(); process(pkt.msg, pkt.senderadr, pkt.senderport); private void process(msg msg, InetAddress address, int port) {... private void processpendingget() {... private void processpendingput() {... private void send(msg msg, InetAddress adr, int port) {... Seite 6?

7 Aktif Monitör Olarak Buffer : Ağ Programı Olarak Gerçekleştirim (2) private void process(msg msg, InetAddress address, int port) { if (msg instanceof PutMsg<?>) { PutMsg<TokenType> putmsg = (PutMsg<TokenType>) msg; if (!empty) { pendingputs.add(new Pkt(address, port, putmsg)); else { place = putmsg.getcontent(); empty = false; send(new OKMsg(), address, port); processpendingget(); else if (msg instanceof GetMsg) { GetMsg getmsg = (GetMsg) msg; if (empty) { pendinggets.add(new Pkt(address, port, getmsg)); else { empty = true; send(new AnswerMsg<TokenType>(place), address, port); processpendingput(); else { private void processpendingput() { throw new IllegalArgumentException(); if (! pendingputs.isempty()) { Pkt pkt = pendingputs.remove(0); send(new OKMsg(), pkt.senderadr, pkt.senderport); place = ((PutMsg<TokenType>)pkt.msg).getContent(); empty = false; processpendingget(); private void processpendingget() { if (!pendinggets.isempty()) { Pkt pkt = pendinggets.remove(0); send(new AnswerMsg<TokenType>(place), pkt.senderadr, pkt.senderport); empty = true; processpendingput();? Seite 7

8 Aktif Monitörden Pasif Monitöre: Özet İyi Fikir Senkronizasyonu iletişim ile değiştirmek prensipte iyi bir fikir. Bu büyük senkronizasyon problemlerini beraberinde getirir. Değişik bir yoldan çözülmeleri gerekmektedir. Destek Eksikliği Klasik shared state senkronizasyonu birden fazla yapıyla desteklenir. Muteksler, Koşul değişkenleri, Semafor, Uygun olan destek iletişim yoluyla gerçekleştirilen senkronizasyonda eksik kalır. put get producer buffer consumer producer Seite 8 buffer consumer

9 İletişim Paradigması İçin Destek Eksikliği Mesajların Koşullu Alınması ~ Wait'e karşılık gelir belirli mesajlar sadece belirli şartlar altında işlenebilirler(boş bir buffera yazmak), aksi takdirde mesajlar kayıt edilmelidir. Mesajların gecikmeli işlenmesi ~ Notify'a karşılık gelir Kaydedilmiş mesajlara kesin işlemlerin uygulanması (Put'tan sonra gecikmeli bir Get işleme alınabilir.) İletişim partnerlerinin yönetimi Gerçekte bir mesajın göndericisi mesaj alımının onayını ve/veya mesajının işlenmesini ve/veya bir yanıt elde etmelidir. Bundan dolayı mesajın göndericisi kolay tespit edilebilir olmalıdır. Serileştirme / Yönetim Biçimi Mesajlar taşıma esnasında serileştirilmeli ve deserileştirilebilmelidir. Bu rahat ve güvenli olarak gerçekleştirilebilmelidir. Seite 9

10 ve Dağıtık Programlar Dağıtık programlar dağıtık algoritmaları gerçekleştirirler. Bilgisayar bilimi dağıtık algoritmalara uygun bir yapı üzerinde 40 yıldan fazla bir süredir çalışmaktadır ne yazıkki çalışmalar tamamlanamamıştır. Genel çözümler dağıtıklık problemini soyutlaştırmayı (Middleware) ya da kolaylaştırılmış standartlara indirgemeyi (Web-Teknolojileri) denemektedirler. Bu probleme birçok çözüm üretilmiştir. Evrensel olarak kabul edilmiş semantik olarak tutarlı sistemler(dağıtık Programlama Dilleri) (henüz) yoktur. Durum değişmeye başlamıştır Şeffaflık arayışının bir hata olduğu kanıtlanmıştır Senkronizasyon yerine iletişim popülerdir Daha karmaşık uygulamalar: Dağıtıklık problemi isimlendirme ve serileştirmeden kaynaklanmamaktadır, kompleks algoritmalardan kaynaklanmaktadır. Uygun 'Dağıtık Programlama' arayışı yeni başlamıştır. Seite 10

11 Örnek : Scala'da Dağıtık Buffer (Akka-Aktörleri ile) 1 import akka.actor.actor import akka.actor.stash sealed abstract class Msg abstract class DataMsg[T](d : T) extends Msg case object GetMsg extends Msg case object OKMsg extends Msg case class PutMsg[T](data: T) extends DataMsg[T](data) case class AnswerMsg[T](data: T) extends DataMsg[T] (data) put get OK value producer buffer consumer class ActiveBuffer[T] extends Actor with Stash { var empty : Boolean = true; var place : Option[T] = None; Reaktif Gösterim def receive = { case PutMsg(data:T) => { if (!empty) { stash else { place = Some(data) sender! OKMsg empty = false unstashall() case GetMsg => { if (empty) { stash else { sender! AnswerMsg(place.get) place = None empty = true unstashall() Bir mesaj ulaştığında Eğer mesaj bir Put-mesajı ise Eğer yer boş ise: koy ve OK gönder ve başka işlenmemiş mesaj var mı diye bak Eğer boş değilse: mesajı geriye gönder Eğer mesaj bir Get-mesajı ise Eğer yer dolu ise: al ve geri gönder Ve başka işlenmemiş mesaj var mı diye bak Eğer boş ise: mesajı geri gönder Akka-Aktörleri ile Scala'da Aktif Monitör Seite 11

12 Örnek : Scala'da Dağıtık Buffer (Akka-Aktörleri ile) 2 class Consumer(buffer: ActorRef) extends Actor { import context._ import akka.actor.actorref import akka.actor.actor def accepter: Receive = { case AnswerMsg(data: Token) => println(data) buffer! GetMsg object Token extends Enumeration { type Token = Value val Ping, Pong = Value def receive = { case Start => { buffer! GetMsg become(accepter) object Start import Token._ class Producer(buffer: ActorRef) extends Actor { import context._ def pinger: Receive = { case OKMsg => buffer! PutMsg[Token](Ping) become(ponger) def ponger: Receive = { case OKMsg => buffer! PutMsg[Token](Pong) become(pinger) def receive = { case Start => { buffer! PutMsg[Token](Ping) become(pinger) Consumer-Actor import akka.actor._ import Token._ object Main extends App { val system = ActorSystem("BufferSystem") val buffer = system.actorof( Props[ActiveBuffer[Token]].withDispatcher("DequeBasedMailboxDispatcher"), name = "buffer") val producer = system.actorof( Props(new Producer(buffer)), name = "producer") val consumer = system.actorof( Props(new Consumer(buffer)), name = "consumer") producer! Start consumer! Start Producer-Aktor Tüm-Sistem DequeBasedMailboxDispatcher { mailbox-type = "akka.dispatch.unboundeddequebasedmailbox" Seite 12 Application.conf

13 Scala / Akka: Temel Unsurlar (Senkronizasyon yerine iletişim açısından) Aktif unsurların basit tanımları Mesajların kolay yönetimi ve işlenmesi işlenmemiş mesajların olduğu bir mesaj kutusu Pattern-Match ile arama yapılabilir. Uygun olmayan mesajlar geri gönderilebilir (stash) geri gönderilen mesajlar yeniden aktive edilebilir (unstash) Bir mesajın adres bilgilerinin kolay yönetimi: kimden, kime Kolay gönderim ve alma: serializasyon ve deserializasyon problem yaratmaz. Seite 13

14 Dağıtık Programlar ve Uygulamalar İki-Katmanlı Yaklaşım Katman 1: Ağ ve Taşıma Bu katman veri aktarımı ile tüm Klasik orta katman kurallarıyla serileştirme, isimlendirme vb. düzenler. Bu katman dağıtıklığı şeffaflaştırmaz. Bu katman burada daha fazla ilginç değil. İlet i dağ şim v e ı soy tıklık utla ştır ı lm az! Katman 2: Dağıtık Geçiş Sistemleri Bu katman uygulamanın (dağıtık) algoritmasını tamamlar. Üç-Adım-Prosedürü Adım 1: Uygulama mantığı İlk olarak uygulamanın mantığı, ancak gerçekte dağıtık olmayanı, bir sistemde gerçekleştirilir. Bu örnek olarak thread'lerin ortak bir kaynak olmadan gerçekleştirimleri demektir. Adım 2: Gerçek Dağıtıklık Mantıksal süreçler, gerçek iletişim kanallarını kullanarak mesaj değişimi yapan gerçek süreçler olarak gerçekleştirilir. Uygulama ağ problemi ve işlemci hatası olmadan mükemmel çalışmalıdır. Adım 3: Sorun Giderme Ağ problemleri ve işlemci hataları için sorun giderme özelliği eklenir. Seite 14

15 Dağıtık Programlar ve Uygulamalar Dağıtık Uygulamaların Gerçekleştirimi Konsept süreçlerin tanımlanabileceği mesaj gönderim ve alımının yapılabileceği ve herhangi bir yapıyla( Ağlar / Grafikler ) düzenlenebileceği Herhangi bir dil / herhangi bir yapı Gerçekleştirim Gerçek durumlara uygun diller/yapı Ne yazık ki her zaman bir konsept mi yoksa bir gerçekleştirim mi olması gerektiği, ve konsepte veya gerçeğe uygun bir altyapıyla gerçekleştirilip gerçekleştirilmediği açık değildir Seite 15

16 Dağıtık Programlar ve Uygulamalar Eşzamanlı ve Dağıtık Diller çok miktarda vardır farklı iddaaları vardır Oyuncak ya da gerçek uygulamalar için Gerçek dağıtıklığı ya da eşzamanlılığı desteklerler,... değişik modelleri temel alırlar RPC RMI Senkron iletişim Çalıştırıcılar(Actuators). see: Seite 16

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences İstemci-Sunucu Uygulamaları: Aktive Monitörler Pasif monitörden(paylaşılan durum) aktif

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Dağıtık Programlar ve Uygulamalar I - Dağıtık Programlar Dağıtık Algoritmalar ve Dağıtık

Detaylı

Alıştırmalar 2 - Dağıtık Sistemler. Alıştırma 2. Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013

Alıştırmalar 2 - Dağıtık Sistemler. Alıştırma 2. Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013 1 Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013 Alıştırmalar 2 - Dağıtık Sistemler Alıştırma 1 1. Neden dağıtık algoritmalar ardışık algoritmaların aksine her zaman literatürde bir melin

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Biçimsel model nedir Biçimsel model matematiksel olarak tanımlanmış olan bir modeldir.

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Modeller ve Gösterimler Sistemler, Uygulamalar, Algoritmalar Dağıtık Sistem Bir dağıtık

Detaylı

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır. Stack Sınıfı (yığıt) java.util Class Stack java.lang.object java.util.abstractcollection java.util.abstractlist java.util.vector java.util.stack Stack (yığıt) sınıfı nesnelerin LIFO (last-input-first-output)

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Giriş İşleyiş Materyal Kullanılabilirlik: Master of Science (Informatik) Seçmeli-Ders (Theorie-Pool) Materyal

Detaylı

JAVA ile DAĞITIK PROGRAMLAMA

JAVA ile DAĞITIK PROGRAMLAMA KARADENİZ TEKNİK ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuarı JAVA ile DAĞITIK PROGRAMLAMA 1. Giriş JAVA, ağdaki programların haberleşmesi için TCP ve UDP olmak üzere iki

Detaylı

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR KUYRUKLAR QUEUES Doç. Dr. Aybars UĞUR Giriş Bu bölümde gerçek yaşamdaki kuyrukların bilgisayardaki gösterimleri üzerinde durulacaktır. Kuyruklar, eleman eklemelerin sondan (rear) ve eleman çıkarmaların

Detaylı

Ağ Sunucusu Programlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com

Ağ Sunucusu Programlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Ağ Sunucusu Programlaması Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com 1 Genel Sunum Bilgisi ve Lisans Sunum 16 Aralık 2004 günü Erciyes Üniversitesi'nde LKD adına verilmiştir. Sunuma ait

Detaylı

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. PART 5 5. Denetleyici Türleri Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. Java Erişim Kontrol Denetleyicileri (Access Control Modifiers) Erişim Harici Denetleyiciler

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance) İki Yöntem Komposizyon (Composition) Kalıtım (Inheritance) Komposizyon(Composition) class Meyva { } //... class Elma { } private Meyva m = new Meyva(); //... Komposizyon - UML Örnek Motor.java AileArabasi.java

Detaylı

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc Görsel Programlama Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc Sözcüksel Kurallar Java programları aşağıdaki bileşenlerin bir kolleksiyonudur: Boşluk

Detaylı

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri İşletim Sistemleri Dr. Binnur Kurt binnur.kurt@gmail.com Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. Prosesler 4. İplikler 5. 6. Prosesler

Detaylı

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler: Class LinkedHashMap java.util Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap Kılgıladığı arayüzler: Cloneable, Map, Serializable Bildirimi: public

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ı

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ı

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN PAKET (PACKAGE) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.bufferedreader;

Detaylı

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Öğretim Elemanları: Dr. A. Şima Etaner-Uyar Dr. Gülşen Cebiroğlu-Eryiğit Dersle ilgili bilgiler Ders Kitabı Data Structures and Algorithms in Java, 4th Ed.,

Detaylı

BIL101 07/11/2012 Lab5 Programlama Sorulari

BIL101 07/11/2012 Lab5 Programlama Sorulari BIL101 07/11/2012 Lab5 Programlama Sorulari 1- Bir kişinin banka hesabı üstünden yapacağı para çekme ve yatırma işlemleri sonucu banka hesap bakiyesini hesaplayacak bir program yazınız. Programiniz asagidaki

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri : Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Protokoller ve Katmanlar Protokoller Protokol Özellikleri Bir protokolün 5 unsuru* Service:

Detaylı

CENG/BILM 341 FINAL REVIEW. Dr. Esma Yıldırım

CENG/BILM 341 FINAL REVIEW. Dr. Esma Yıldırım CENG/BILM 341 FINAL REVIEW Dr. Esma Yıldırım Ques@on 1 Ques@on: An array of threads are working for filling and emptying a buffer that can hold mul@ple elements. There are two types of threads in the system.

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String> Sınıfı java.util Class java.lang.object java.util. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator Bildirimi: public final class extends Object implements Iterator, Closeable

Detaylı

1 - Button Kontrolu Nasıl Yapılır?

1 - Button Kontrolu Nasıl Yapılır? 1 - Button Kontrolu Nasıl Yapılır? Graphical Layout Activity_main.xml

Detaylı

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır. Bölüm 20 20 Arayüzler Arayüz bir sınıf değildir. Arayüz yazmak sınf yazmaya çok benzer ancak ikisi birbirinden farklı konseptlerdir. Sınıf bir nesnenin özelliklerini ve davranışlarını belirtirken; bir

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ı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Android projesi oluşturabilir, Android projesini çalıştırabilir, Android projesi genel yapısını açıklayabilir, Activity kavramını açıklayabilir,

Detaylı

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü: Bölüm 24 Java Ağ Uygulamaları 24.1 Java Appletleri Applet, Web tarayıcısında çalışan bir Java programıdır. Bir applet, Java uygulaması için tamamen fonskiyonel olabilir çünkü bütün Java API ye sahiptir.

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 8 1. ve 2. soruların sayfa çıktıları

Detaylı

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1 PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates

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ı

Görsel Programlama (Visual Programming)

Görsel Programlama (Visual Programming) Görsel Programlama (Visual Programming) 2014-2015 Bahar Dönemi ListBox 1 2 Bileşeni(Nesnesi) Text Özelliği TextBox nesnesi gibi kullanılabilir 3 Item Ekleme 4 combobox1.maxdropdownitems = 5; combobox1.maxdropdownwidth=200;

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Chain of Responsibility Tasarım Şablonu KurumsalJava.com Chain of Responsibility Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Chain of responsibility sorumluluk zinciri anlamına gelmektedir. Sisteme gönderilen bir

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ı

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ı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

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ı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 1 hafta ÖDEV NO: 4 1 Kısaca

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA İlk defa 1977 yılında Ron Rivest, Adi Shamir ve Leonard Adleman tarafından oluşturulan RSA algoritması geliştiricilerinin soyisimlerinin ilk harfleriyle

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Bölüm 24 Java Ağ Uygulamaları 24.1 Java Soket Programlama Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Sunucu programı

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Layout çeşitlerinin ve aralarındaki farkları açıklayabilir, Android projesinde farklı Laoyut kullanabilir, Android projesinde TextView,

Detaylı

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ Aşağıda belli bir yere kadar programlanmış olan Gezgin satıcı problemine ait kodları inceleyerek programın geri kalan kısmını tamamlayınız. Seçme, Çaprazlama ve Mutasyon

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

Multicore/Multithread Programlama

Multicore/Multithread Programlama Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon İçindekiler 1 GİRİŞ... 2 2 KOD ÖRNEKLERİ... 3 2.1 AÇILIŞTA YAPILMASI GEREKENLER... 3 2.2 ÖKC-HARİCİ CİHAZ EŞLEŞMESİ... 3 2.3 MALİ REFERANS İSTEĞİ... 4 2.4 PROGRAMLAMA BİLGİLERİNİN GÖNDERİLMESİ... 5 2.5

Detaylı

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. WSDL-SOAP MURAT TEZGİDER Web Servisi Nedir? web servisi :standart formatları kullanarak programlama dili, işletim sistemi ve platformdan bağımsız olarak bilgiyi paylaşan

Detaylı

Prosesler Arası Haberleşme ve Senkronizasyon

Prosesler Arası Haberleşme ve Senkronizasyon 4 Prosesler Arası Haberleşme ve Senkronizasyon Eş Zamanlılık Eş zamanlı prosesler olması durumunda bazı tasarım konuları önem kazanır: Prosesler arası haberleşme Kaynak paylaşımı Birden fazla prosesin

Detaylı

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon :

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon : e-fatura UYGULAMASI (Yazılım Standartları ve Nesne Yapısı) Ağustos 2014 E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 ANKARA Versiyon : 1.0 1/15 GELİR İDARESİ BAŞKANLIĞI Uygulama

Detaylı

CSSigner, Cybersoft firması tarafından geliştirilmiş açık kaynak kodlu e-imza yazılım kütüphanesidir.

CSSigner, Cybersoft firması tarafından geliştirilmiş açık kaynak kodlu e-imza yazılım kütüphanesidir. Kullanım Kılavuzu Cybersoft Enformasyon Teknolojileri Ltd. Şti. ODTU Teknokent Silikon Binaları 1. Kat No: 18 06531 ODTU / Ankara Türkiye Tel : +90 312 210 19 40 Giriş CSSigner, Cybersoft firması tarafından

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ı

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon :

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon : e-fatura UYGULAMASI (Yazılım Standartları ve Nesne Yapısı) Ağustos 2013 E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 ANKARA Versiyon : 1.0 1/14 GELİR İDARESİ BAŞKANLIĞI Uygulama

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 2:Server Side Internet Programming

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 2:Server Side Internet Programming The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8 Yrd.Doç.Dr.Hacer Karacan İçerik İstisna Yönetimi (Exception Handling) İstisna Nedir? İstisna Yakalama Mekanizması İstisna İşleme Modeli İstisnaların Listesi İstisna

Detaylı

Yukardaki örneğe dayanarak, aşağıdakiler tanımlar Object Oriented açısından doğrudur:

Yukardaki örneğe dayanarak, aşağıdakiler tanımlar Object Oriented açısından doğrudur: PART 17 17. Kalıtım Kalıtım; bir nesnenin, başka bir nesnenin özelliklerinin edinmesi işlemi olarak tanımlanabilir. Kalıtımın kullanımı ile, bilgi hiyerarşik sırayla yönetilebilir. Kalıtımdan bahsettiğimiz

Detaylı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

USOCK Uygulama Bağımsız Mesajlaşma Altyapısı

USOCK Uygulama Bağımsız Mesajlaşma Altyapısı USOCK Uygulama Bağımsız Mesajlaşma Altyapısı Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-1 Umut BENZER 05-06-7670 http://www.ubenzer.com/ Savaş YILDIZ 05-07-8569 İçindekiler

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi YAYIN ALICILARI. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi YAYIN ALICILARI. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi YAYIN ALICILARI BİLEŞENLERİ 1 GİRİŞ (1/4) Uygulamalar cihazda meydana gelen bazı olaylardan (internet bağlantısı ile ilgili olaylar, güç bağlantısı ile

Detaylı

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız. İl İlçe uygulaması //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız Açıklama : Seçilen ile ait ilçeleri listeleyen program String [,] il= private void Form1_Load(object sender, EventArgs e) { for

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

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ı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

Spring Framework Eğitimi

Spring Framework Eğitimi Hazırlayan: Barış Dere @BarisDere baris.dere@gmail.com Spring Framework Eğitimi Ders 2: Http://www.youtube.com/barisdere Ders içeriği Spring IoC container tanıtımı Spring IoC container çalışma şekli Metadata

Detaylı

Görevler Arası Zamanuyumlama

Görevler Arası Zamanuyumlama Görevler Arası Zamanuyumlama Ahmet Burak Can Hacettepe Üniversitesi abc@cs.hacettepe.edu.tr Birlikte Çalışan Görevler Bilgisayar kaynaklarının etkin kullanımı için, görevlerin birlikte ve koşut işlemi

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition Bölüm 5: İşlemci Zamanlaması 5.1 Silberschatz, Galvin and Gagne 2009 Temel Kavramlar Çoklu programlama sayesinde CPU kullanımının optimize edilmesi CPU I/O İşlem Döngüsü Bir işlemin çalıştırılması birbirlerini

Detaylı

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Kaynak Kod Güvenliği Bir Güvensiz API Örneği Kaynak Kod Güvenliği Bir Güvensiz API Örneği Bedirhan Urgun, Ağustos 2010, WGT E-Dergi 6. Sayı Bu yazıda Tomcat J2EE kısmi uygulama sunucusunda bulunan bir güvenlik açığına, güvenlik probleminin kaynağına

Detaylı

Haz. Yrd.Doç.Dr. Yunus Emre Selçuk

Haz. Yrd.Doç.Dr. Yunus Emre Selçuk NESNEYE DAYALI TASARIM VE MODELLEME KISIM 1: TASARIM KALIPLARI 1.3. 1 CHAIN OF RESPONSIBILITY: Amaç: Birbirleri ile ilişkili bir nesneler zinciri veya hiyerarşisindeki bir nesnenin, aldığı bir mesajı işleyemeyeceği

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

Detaylı

Java Programlama. Jenerikler

Java Programlama. Jenerikler Java Programlama Jenerikler Jenerikler ve Kolleksiyonlar İlk kez Java 5 e eklendi (2004) Jeneriklerle dile yeni yazım kuralları eklendi Temel API lerdeki pek çok sınıf ve metodun tanımı değiştirildi Özellikle

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ı

Proxy (Vekil) Tasarım Şablonu KurumsalJava.com

Proxy (Vekil) Tasarım Şablonu KurumsalJava.com Proxy (Vekil) Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Oluşturulmaları zaman alıcı ve sistem kaynaklarını zorlayan nesnelere vekalet eden nesnelere proxy

Detaylı

Java Performansı Online Seminer Akın Kaldıroğlu

Java Performansı Online Seminer Akın Kaldıroğlu Java Performansı Online Seminer Akın Kaldıroğlu Java gerçekten yavaş mı? Yoksa developerlar mı yavaş? Dil mi yavaştır yoksa uygulama mı yavaştır? C/C++ kadar hızlı çalışan Java kodu yazılabilir mi? Yüksek

Detaylı

PORT HABERLEŞME SERİ PORT FARUK BOZAN

PORT HABERLEŞME SERİ PORT FARUK BOZAN PORT HABERLEŞME SERİ PORT FARUK BOZAN farukbozan@javatiryakileri.com bozanfaruk@gmail.com Merhaba değerli Java dostları. Bu yazımızda port haberleşme konusuna değineceğiz. Yalnız şu noktaya dikkatinizi

Detaylı

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur.

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur. Reader sınıfı java.lang.object java.io.reader Karekter akımlarını okuyan soyut (abstract) sınıftır. Soyut olmasına neden olan ve dolayısıyla alt sınıflarda kurulması gereken tek metodu read(char[], int,

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

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ı

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ı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

Mantıksal (Logic) Operatörler

Mantıksal (Logic) Operatörler Mantıksal (Logic) Operatörler Bilgisayar dillerinin hemen hepsinde, program akışını kontrol edebilmek ve yönlendirebilmek için mantıksal operatörler kullanılır. Java dilinde kullanılan mantıksal operatörler

Detaylı

İstisna yönetimi (Exception Management) İşakış yönetimi Geçerlilik yönetimi

İstisna yönetimi (Exception Management) İşakış yönetimi Geçerlilik yönetimi 1. GİRİ İçerik / Bağlam Yönelimli Programlama (BYP) ve Cephe Yönelimli Programlama, geçmişleri 90 lı yıllara dayanmasına rağmen bu konuda geliştirilen teknolojiler son yıllarda ortaya çıkmaya başlamıştır.

Detaylı

Hiyerarşik Yazılım Tasarımı Kavramı

Hiyerarşik Yazılım Tasarımı Kavramı Hiyerarşik Yazılım Tasarımı Kavramı Yazılımda kodlamaya girmeden önce herkesin öğrenmesi gereken en önemli kavramlardan biriside yazılım dizaynında temel hiyerarşik modelleme kavramıdır. Yazılımı tasarlayan

Detaylı

Class LinkedList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.abstractsequentiallist java.util.

Class LinkedList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.abstractsequentiallist java.util. LinkedList java.util Class LinkedList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.abstractsequentiallist java.util.linkedlist LinkedList sınıfı List arayüzünü kılgılar

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

Detaylı