HACETTEPE ÜNİVERSİTESİ

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

Download "HACETTEPE ÜNİVERSİTESİ"

Transkript

1 HACETTEPE ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği Laboratuvarı Common-Digester Yardım Belgesi M.Aykut YİĞİTEL

2 İçindekiler 1. Dış Bağımlılıklar 3 2. Giriş 3 3. Arayüz Tanımları 4 4. Sınıf Tanımları 4 5. Digester Yapılanış Özellikleri Nesne Yığıtı Öğe Eşleştirme Örüntüleri İşleme Kuralları 7 6. Logging 9 7. Kullanım Örnekleri Basit Bir Nesne Ağacı Yaratma Bir Struts Yapılanış Kütüğünün İşlenmesi XML Belgelerinde Gövde Metninin Ayrıştırılması Kaynakça 13 2

3 Digester paketi, XML belgelerinin kural tabanlı olarak işlenmesini sağlar. Dış Bağımlılıklar Digester bileşeni aşağıdaki standart kitaplıkların gerçekleştirimine bağımlıdır: XML Parser JAXP/1.1 belirtimlerine uyumlu olarak Ayrıca bir takım Jakarta Commons kitablığı bileşenlerinin uyumlu bir kümesine bağımlıdır. Uyumlu Bağımlılık Kümeleri Digester +Logging 1.0.x +BeanUtils 1.x +Collections 2.x Digester +Logging 1.0.x +BeanUtils 1.x +Collections 3.x Digester +Logging 1.0.x +BeanUtils Giriş XML biçimli veri ile uğraşan bir çok uygulama ortamında, XML belgesinin içiçe geçmiş belirli XML öğe örüntülerine rastlanıldığında belirli Java nesnelerinin yaratıldığı (veya varolan nesnelerin yöntemlerinin çağırıldığı) olaya dayalı biçimde işlenebilmesi çok yararlı olacaktır. Yalın XML belgesi ayrıştırma yaklaşımını (SAX) kullanmış olan yazılım geliştiriciler, Digester in üst düzey, SAX olayları için daya kullanışlı bir arayüze sahip olduğunu hatırlayacaklardır. Bir Degister kullanabilmek için, aşağıdaki ana maddeler gereklidir: org.apache.commons.digester.digester sınıfının yeni bir örneğini yaratılır. Daha önce istemde bulunulmuş ayrıştırma işlemleri tamamlandığı ve belirli bir Digester örneği aynı anda birden çok iş parçacığı(thread) tarafından kullanılmadığı müddetçe önceden yaratılmış Digester örnekleri güvenli olarak kullanılabilir. Bir daha ki ayrıştırma işlemini başlattığınızda Digester in işlemini uyarlayacak olan yapılanış özelliklerinden(configuration properties) istedikleriniz kurulur. İsteğe bağlı olarak, istenilen başlangıç nesnes(ler)i Digester in nesne yığıtına(object stack) konulur. Bir girdi belgesinde rastlanıldığında işletme kurallarının (processing rules) devreye girmesi istenilen öğe eşleme örüntüleri(element matching patterns) belirlenir. Belirli bi örüntü için birden çok kural belirlenebilir. Eğer bir örüntü için birden çok kural varsa, kurallar listelenme sıralarına göre yürütülür. digester.parse() yötemi çağrılır. Ayrıştırı tarafından fırlatılacak olan IOException ya da SAXException larını ya da herhangi bir işlem kuralı tarafından fırlatılacak olacak işetim zamanı(runtime) anlatımını(expression) yakalamak için hazırlıklı olmalıyız. 3

4 org.apache.commons.digester paketinin içerdiği sınıf ve arayüzlere genel bir bakış atalım. Arayüz Tanımları ObjectCreationFactory FactoryCreateRule(daha önce açıklanmıştı) ile birlikte kullanılması için tasarlanmış bir arayüzdür. Rules kurallar kümesi tanımlamak için öngörülmüş arayüzdür. Ayrıştırma işleminde karşılaşılan içiçe geçmiş nesnelerde eşleşme ve ilgili kuralların işletilmesini de sağlar. RuleSet bütün bir kural tanımının yapılması işini kısa yoldan yapmak için öngörülmüştür. Sınıf Tanımları AbstractObjectCreationFactory ObjectCreationFactory gerçekleştirimleri için soyut temel sınıftır. AbstractRulesImpl Rules gerçekleştirimleri için temel servisleri sağlar BeanPropertySetterRule gövde metni üzerindeki bean özelliklerini kurar. CallMethodRule CallParamRule ile aldığı değiştirgeleri kullanarak yığıtın üstündeki sınıfın bir metodunu çağırır. CallParamRule CallMethodRule ile kullanılacak değiştirge değerlerini saklar. Digester digester, bir XML girdi akımında belirli içiçe geçmiş örüntü öğelerinin bulunması ve bunlarla ilgili ayrıştırma işlemine başlamadan tanımlanmış olan kuralların çalıştırılmasını sağlar. ExtendedBaseRules karışık şemalar için RulesBase sınıfının uzantısı FactoryCreateRule yeni bir nesne yaratılıp yığıta konulması için ObjectCreationFactory sınıfını kullanır. NodeCreateRule kuralla eşleşen XML öğesini içeren bir DOM node yaratır. ObjectCreateRule yeni bir nesne yaratığ yığıta koyan kural gerçekleştirimidir. ObjectParamRule CallMethodRule için değiştirgeleri saklayan kural gerçekleştirimir. ParserFeatureSetterFactory ayrıştırıcıya dayalı bir SAXParser yaratır. PathCallParamRule CallMethodRule için yol(path) bilgisini saklayan ve Digester ı içeren kural gerçekleştirimi. RegexMatcher RegexRules için düzgün deyim eşleşme stratejisi. Rule belirli bir XML öğesine rastlanıldığında yapılması gerekenlerin belirtildiği sınıf. RulesBase kuralların standart davranış biçimini destekleyen Rules arayüzünün varsayılan gerçekleştirimi. RuleSetBase RuleSet arayüzünü gerçekleyen temel sınıf. SetNestedPropertiesRule bu sınıfın özellikleriyle eşleşen oğul öğelere dayalı olarak yığıtın üstündeki nesnenin özelliklerini kuran sınıf. SetNextRule yığıtın en üstünün bir altındaki nesnenin(ata) bir metodunu, yığıtın en üstündeki nesneyi(oğul) değiştirge olarak geçirerek çağıran sınıf. SetPropertiesRule yığıtın üstündeki nesnenin özelliklerini kuran sınıf. SetPropertyRule yığıtın en üstündeki nesnenin belirli bir özelliğini kuran sınıf. SetRootRule yığıttaki kök nesnenin bir metodunu, yığıtın en üstündeki nesneyi(oğul) değiştirge olarak geçirerek çağıran sınıf. 4

5 SetTopRule yığıtın en üstündeki nesnenin(parent) setparent nesnesini, yığıtın en üstünün bir altındaki nesneyi(child) geçirge olarak geçirerek çağıran sınıf. SimpleRegexMatcher basit regex eşleşme algoritması. Substitutor yerine koyma stratejileri için mantıksal bir arayüz. WithDefaultsRulesWrapper herhangi bir eşleşme sağlanmadığında varsayılan kuralları döndüren Rules Decorator. Digester Yapılanış Özellikleri (Configuration Properties) Bir org.apache.commons.digester.digester örneği, işlemini uyarlamak için kullanılan birçok yapılanış özelliğine sahiptir. parse() veya türevindeki yöntemleri cağırmadan önce, ayrıştırma işleminde etkili olabilmesi için bu özelliklerin yapılandırılmış olması gerekmektedir. Özellik classloader ErrorHandler namespaceaware rulenamespaceuri rules Betimleme ObjectCreateRule ve FactoryCreateRule kuralları tarafından gerektiğinde, sınıfların yüklenmesi için kullanılan sınıf yükleyicileri isteğe bağlı olarak belirtebilirsiniz. Ayrıştırma hataları oluştuğunda bildirilecek olan SAX errorhandler ı isteğe bağlı olarak belirtebilirsiniz. Varsayılan olarak, rastlanılan herhangi bir ayrıştırma hatasının günlüğü tutulur(logged) ve Digester işlemine devam eder. True ya kurulduğunda ayrıştırımın gerçekleştiriminin XML namespace lerden haberdar olarak yapılmasını sağlayan boole. Sonradan eklenen bütün kuralların ilişkili olduğu public URI of the namespace veya eklenen kuralların hiçbir namespace ile ilişkili olmadığı boş(null) Rule örneklerinin o anki içiçe pluggable örüntülerle eşleşmesini sağlayan Rules bileşeni. usecontextclassloader FactoryCreateRule ve ObjectCreateRule tarafından gereksenen uygulama sınıflarının o anki iş parçacığı(thread) nın bağlam sınıf yükleyicisi (context class loader) tarafından yüklenmesi için true ya kurulması gereken boole. validating XML belgesinin DOCTYPE bildirisinde belirtildiği gibi bir belge biçim tanımlamasına (Document Type Definition) göre geçerli kılınması istendiğinde true ya kurulması gereken boole. Varsayılan değer olan yanlış(false), valid belgelerin yerine sadece well formed XML belgelerini bulan bir ayrıştırma talep eder. Yukarıda tanımlanan sayıl özelliklere ek olarak, DOCTYPE bildirisi ile ilgilendirilen bir belge biçim tanımlamasının yerel bir kopyasını yazabilirsiniz. Böyle bir yazım XML ayrıştırıcıya, belirtilen puplic tanımlayıcıyla bir DOCTYPE bildirisine rastladığında, DOCTYPE bildirisindeki belge biçim tanımlasını yerine, yazılı sistem tanımlayıcısındaki(bir URL) hakiki belge biçim tanımı içeriğini kullanmasını söyler. Örneğin, Struts framework denetleyici servlet i, Struts yapılanış kütüğünde DTD nin yerel kopyasını kullanmasını söylemek için aşağıdaki yazımı kullanır. Bu, Struts un internete bağlı olmayan çevrelerde de kullanılmasını sağlar ve internete bağlı sitelerdeki işlemleri de hızlandırır.(çünkü ağ üzerine açılmaktan kaçınır). 5

6 URL url = new URL("/org/apache/struts/resources/strutsconfig_1_0.dtd"); digester.register ("-//Apache Software Foundation//DTD Struts Configuration 1.0//EN",url.toString()); Örnekte java.lang.classloader.getresource() yada java.lang.classloader.getresourceasstream() metodlarına geçirilen değiştirge(parameter) yol(path) gösterilmiştir. Nesne Yığıtı org.apache.commons.digester.digester ın sıkça rastlanınlan kullanımında devingen olarak oluşturulan java nesne ağaçları vardır. Bu ağacı oluşturan nesnelerin özellikleri üzerinde çalışılan XML belgesine bağlıdır. Digester paketi ilk olarak Struts un bir parçası olarak tasarlandı, ancak daha sonra fadalı olacağı düşünülerek başlı başına bir paket olarak öngörüldü. Nesne yığıtının öngördüğü işlermler şunlardır: clear() nesne yığıtının o anki içeriğini temizler peek() yığıtın en üstündeki nesneye ait bir referans dödürür ancak onu yığıttan çıkarmadan pop() yığıtın en üstündeki nesneyi yığıttan siler ve döndürür push() yığıtın en üstüne yeni bir nesne ekler Belirli bir XML öğesine rastlanıldığına ona dair bir nesne oluşturulur ve bu yığıta eklenir. İç içe geçmiş bu örüntünün sonuna gelininceye değin o nesne yığıtta kalır. Öğenin sonuna gelindiğine yığıttan alınır. Yaratılan nesneleri nasıl ilişkilendireceğim? Digester, yığıtın ilk elemanın diğer elemanlara parametre olarak geçirilebildiği fonksiyonları standart olarak öngörür. Bu kural, nesneler arasında ata-oğul ilişkisi kurmamızı sağlar. Bire-bir ve bire-birçok ilişkiler kurmamız kolaylaşır. İlk yaratılan nesneye dair bir referans nasıl elde edeğim? nesne yaratma kuralında açıkladığımız gibi XML belgesinin sonuna gelindiğinde yığıttaki bütün nesneler silinir. Buna rağmen Digester yığıta ilk konulan nesnenin referansını saklar. parse() metodundan geriye dönen değer yığıta ilk olarak konulan nesneye referansdır. Parse() metodunu çağırmadan önce yığıtta saklanacak referanslar ile yığıta eklenecek nesneler arasında ata-oğul ilişkisi kurulabilir. Öğe Eşleştirme Örüntüleri org.apache.commons.digester.digester parser ı, incelemekte olduğumuz XML belgesinin öğe sıradüzeni içinde dolaşabilmemizi sağlar. Kullanıcının dikkatini daha çok incelenen XML belgesinde belirli bir iç içe geçmis örüntüye rastlanıldığında ne yapılacağına çevirir. Bu ayarlamaların yapılmasına olanak sağlayan düzenek öğe eşleştirme örüntüleri olarak bilinir. 6

7 Çok basit bir öğe eşleştirme örüntüsü sıradan bir dizgi olan a. Bu örüntü XML belgesinde ne zaman bir <a> öğesine rastlanırsa eşleşmiş olur. Kaç sefer rastlanıldığının bir önemi yoktur. İç içe geçmiş <a> öğeleri bu örüntü ile eşleşmeş. Bu çeşit eşleşmeleri daha sonra açıklayacağız. Bir sonraki öğe eşleştirme örüntüsü örneği a/b. Bu örüntü <a> öğesinin içinde iç içe geçmiş <b> öğesi olduğunda eşleşir. Bu eşleşme incelene XML belgesinin içeriğine göre istenildiği kadar gerçekleşebilir. İstenilen derinliği belirleyebilmek için eğik çizgi(slash) kullanılır. a, a/b ve a/b/c örüntüleri için işleme kuralları işleme kuralları yazdığımızı farzedelim. Aşağıdaki içeriğe sahip bir XML belgesi geldiğinde, belirtilen örüntüler eşleşecektir: <a> <b> <c/> <c/> </b> <b> <c/> <c/> <c/> </b> </a> -- örüntü "a" ile eşleşir -- örüntü "a/b" ile eşleşir -- örüntü "a/b/c" ile eşleşir -- örüntü "a/b/c" ile eşleşir -- örüntü "a/b" ile eşleşir -- örüntü "a/b/c" ile eşleşir -- örüntü "a/b/c" ile eşleşir -- örüntü "a/b/c" ile eşleşir Eşleşme örüntü dizgilerinde * karakterini(wildcard) kullanarak nasıl iç içe geçmiş olduğuna bakılmaksızın belirli bir XML öğesinin eşleşmesi sağlanabilir. Örneğin */a örüntüsü, belgenin içinde herhangi bir pozisyondaki(iç içe geçme bakımından) <a> ile eşleşir. Belirli bir XML öğesine rastlandıında, o öğeye dair birden çok kuralın çalıştırılması gerekmesi çok doğaldır. Çünkü wilcard ların kullanılmasıyla, o öğeyle uyuşan birsürü kural olabilir. Bu gibi durumlarda, sırasıyla o öğeyle eşleşen bütün kurallar işletilir. İlk olarak Digester a yazıldıkları sıra ile çağrılıp, tam tersi sırada sonlandırılırlar. İşleme Kuralları İşleme kurallarının amacı, örüntüler eşleştiğinde ne yapılacağını tanımlamakdır. İşleme kuralı, org.apache.commons.digester.rule arayüzünden türetilen bir java sınıfıdır. Her kural aşağıdaki olay metodlarından bir veya birkaçını gerçekleştirir.(implement) Begin() eşleşen XML öğesine rastlanıldığında çağırılır. Bu öğe ilgili özelliklerin tutulduğu bir veri yapısı da değiştirge olarak geçirilir. Body() eşleşen öğenin iç içe geçmiş içeriğine rastlanıldığında çağırılır. Ayrıştırma işleminin bir parçası olarak baştaki veya sondaki boşluk damgaları silinir. 7

8 End() eşleşen XML öğesinin sonuna gelindiğinde çağırılır. Eğer bu öğenin içerisinde (gövdesinde) eşleşen örüntüler varsa bu örüntülere dair kurallar işletilmişse, bu kural işletilmeden muhakkak hepsi sonlanmış olmalıdır. Finish() ayrıştırma işlemi bittiğinde her bir kurala geçici verilerini temizlemesi için bir şans vermek için cağırılır. Digester ınızı yapılandırırken kendiniz özel kurallar ekleyebilirsiniz. Bu düzenek uygulamaya özel olarak devingen biçimde kural gerçekleştirimleri yapmanızı sağlar. Bunlara ek olarak, genel ihtiyaçların karşılanması için bir çok kural sınıfı bizim için sağlanmıştır. Bu sınıflar aşağıdaki gibidir: ObjectCreateRule begin() metodu çağrıldığında bu kural belirtilen bir java sınıfının bir örneğini oluşturur ve yığıta koyar. Sınıf adı bu kuralın yaratıcı metoduna(constructor) değiştirge olarak geçirilir veya o an işlenmekte olan XML öğesinin bir özelliğine de yazılabilir. End() metodu çağrıldığında yığıtın üstündeki nesne(yüksek ihtimalle begin() metoduyla bizim eklediğimiz) silinir. FactoryCreateRule ObjectCreateRule un bir çeşit türevidir. Bu j-kuralla birlikte yaratılacak olan sınıfın hiçbir değiştirge almayan bir yaratıcı sınıfı yoksa, veya nesnenin Digester tarafından ele alınmasından önce yapılması gereken yapılandırmalar varsa bu kural kullanılır. SetPropertiesRule begin() metodu çağrıldığında digester JavaBeans özellik kurucu(setter) metodları belirlemek için standart Java Reflection API sini kulanır. Sık kullanılan, aynı öğe eşleştirme örüntüsüyle önce bir object create rule tanımlamak ve ardından set properties rule tanımlamaktır. SetNextRule end() metodu çağrıldığında, digester yığıtta en üsttekinin bir altındaki öğeyi belirli bir özellik için özellik kurucu metod açısından analiz eder. Daha sonra yığıtın en üstündeki öğeyi değiştirge olarak geçirerek bu metodu çağırır. Bu kural çoğunlukla iki nesne arasında bire-birçok bağıntı kurmak için kullanılır. ( addchild gibi bir metod ismiyle) SetTopRule end() metodu çağrıldığında, digester yığıtın en üstündeki öğeyi belirli bir özellik için özellik kurucu metod açısından analiz eder. Daha sonra yığıtın en üstünğn bir altındaki öğeyi değiştirge olarak geçirerek bu metodu çağırır. Bu kural SetNextRule un yerine, addparent kullanılarak bir alternatif teşkil eder. CallMethodRule Digeser yığıtının en üstündeki öğenin ismi verilen metodunun end() metodu çağrıldığında çağrılmsını sağlar. Bu kuralı çağrılacak metodun ismi, alacağı değiştirge miktarı ve metodun değiştirge türlerini tanımlamak için java sınıf isimleri ile yapılandırılabilir. CallParamRule bu kural CallMetodRule için belirli değiştirgelerin kaynağını tanımlar. Bu değiştirge değerini belirli bir değişkenden ya da iç içe geçmiş örüntünün içinden alabilir. NodeCreateRule ağacın bir kısmını DOM Node a çeviren ve yığıta yeniden koyan özelleşmiş bir kural. 8

9 Standart Rule sınıflarının örneklerini yaratabilir ve digester.addrule() metoduyla yazabiliriz(register). Ancak, kullanımları çok yoğun olduğu için digester sınıfı, standart kuralların yazılması için kısa bir yol öngörmüştür. Aşagıdaki kod bir örnek: Rule rule = new SetNextRule(digester, "addchild", "com.mycompany.mypackage.mychildclass"); digester.addrule("a/b/c", rule); aşağidakiyle yerdeğiştirebilir: digester.addsetnext("a/b/c", "addchild", "com.mycompany.mypackage.mychildclass"); Logging Logging, digester kural kümelerinde hata ayıklamak(debugging) için hayatsal bir araçtır. Digester, büyük boyutlarda hata ayıklama verisi loglayabilir. Bu yüzden, digester ı ciddi olarak kullanmaya başlamadan önce, loglamanın nasıl çalıştığını anlamalıyız. Digester Jakarta Commons Logging i kullanır. Bu bileşen istenilen şekilde ayarlanabilir. Çok temel loglamalar yapması için bir çok log verisini görmezden gelebilir. Daha geniş bilgi için commons-logging belgelerine göz atılabilir. Digester tarafından iki temel log kullanılır: SAX ile ilgili mesajlar org.apache.commons.digester.digester.sax kütüğünde loglanır. Bu log digester tarafından alınan temel SAX olayları hakkında bilgi verir. Diğer bütün herşey için org.apache.commons.digester.digester kullanılır. Hata ayıklama aşamasında bu loglama işlemini açık bırakmanız faydalı olacaktır. Commons-Logging in içerdiği SimpleLog gerçekleştirimini kullanmak istediğimizi, digester i Digester Logger ın DEBUG katmanında, Digerter.log un INFO katmanında olayları loglamak için ayarlamak istediğimizi farzedelim. Bunu bir commonslogging.properties kütüğü yaratarak halledebiliriz. Ancak aşağıdaki özellikleri taşıması gerekir: org.apache.commons.logging.log=org.apache.commons.logging.impl.simplelog org.apache.commons.logging.simplelog.log.org.apache.commons.di gester.digester=debug org.apache.commons.logging.simplelog.log.org.apache.commons.di gester.digester.sax=info 9

10 Kullanım Örnekleri Basit bir nesne ağacı yaratma Foo ve Bar adında iki basit JavaBean imiz olduğunu varsayalım. package mypackage; public class Foo { public void addbar(bar bar); public Bar findbar(int id); public Iterator getbars(); public String getname(); public void setname(string name); } public mypackage; public class Bar { public int getid(); public void setid(int id); public String gettitle(); public void settitle(string title); } Ve digester in aşağıdaki XML belgesini ayrıştırmasını(parse) istiyoruz. <foo name="the Parent"> <bar id="123" title="the First Child"/> <bar id="456" title="the Second Child"/> </foo> Aşagıdaki örnek ayrıştırma kuralları ve girdi kütüğü için örnek bir kullanım teşkil etmektedir: Digester digester = new Digester(); digester.setvalidating(false); digester.addobjectcreate("foo", "mypackage.foo"); digester.addsetproperties("foo"); digester.addobjectcreate("foo/bar", "mypackage.bar"); digester.addsetproperties("foo/bar"); digester.addsetnext("foo/bar", "addbar", "mypackage.bar"); Foo foo = (Foo) digester.parse(); Bu kurallar aşağıdaki işleri yapar: 1. en dıştaki <foo> öğesine rastlandığında, mypackage.foo nun yeni bir örneği yaratılır ve yığıta konur. <foo> öğesinin sonunda bu nesne yığıttan silinir. 2. yığıtın üstündeki elemanın(henüz yaratılan ve yığıta konulan Foo nesnesi) özellikleri o XML öğesinin özellikleri doğrultusunda kurulur. 10

11 3. içiçe geçmiş bir <bar> öğesine rastlanıldığında mypackage.bar ın yeni bir örneği yaratılarak yığıta konur. <bar> öğesinin sonunda bu nesne yığıttan silinir.(foo/bar ile eşleşen diğer kurallar işletildikten sonra) 4. yığıtın üstündeki elemanın(henüz yaratılan ve yığıta konulan Bar nesnesi) özellikleri o XML öğesinin özellikleri doğrultusunda kurulur. 5. yığıtın en üstündekinin bir altındaki öğenin addbar metodunun yığıtın en üstündeki öğe değiştirge olarak geçirilerek çağrılmasını sağlar. Bu öğe mypackage.bar türünden olmalı. Bu kural ata/oğul ilişkisinin kurulmasını sağlar. Ayrıştırma işlemi tamamlandığında, yığıta konulan ilk nesne(bu durumda Foo nesnesi) geri döndürülür. Bütün özellikleri kurulmuş ve bütün oğul Bar nesneleri sizin için yaratılmış olarak geri döner. Bir Struts yapılanış kütüğünün işlenmesi Birkaç eşleşme örüntüsünün ve işleme kuralının nasıl kullanıdığına bakalım. İlk olarak digester in nasıl yaratıldığı ve ilklendirildiğini inceleyelim: Digester digester = new Digester(); digester.push(this); // denetleyici servlet i yıgıta koy digester.setvalidating(true); Daha sonra denetleyici servlet, digester in kendi yığıtına eklenmeli. digester.addobjectcreate("struts-config/globalforwards/forward",forwardclass, "classname"); digester.addsetproperties("struts-config/globalforwards/forward"); digester.addsetnext("struts-config/global-forwards/forward", "addforward", "org.apache.struts.action.actionforward"); digester.addsetproperty ("struts-config/global-forwards/forward/setproperty","property", "value"); Bir <forward> öğesine rastlandığında aşağıdaki işlemler yapılır: ActionForward nesnesinin bir örneği yaratılır. Java sınıfının adı ilklendirme değiştirgesi olarak geçirilir. Yeni ActionForward nesnesi yığıta konur. <forward> öğesinin özelliklerine göre yığıtın en üstündeki ActionForward nesnesinin özellikleri kurulur. İçiçe geçmiş <set-property> öğelerine rastlanması ek özellik kurucu metodların (setter) çağırılmasına sebep olur. Yığıtın en üsttekinin altındaki nesnenin(denetleyici servlet) addforward() metodu, yığıtın en üstündeki nesne(actionforward nesnesi) değiştirge geçirilerek çağırılır. <forward> öğesinin sonunda, son öğe(actionforward nesnesi) yığıttan silinir. Daha sonra, digester şu şekilde çalıştırılır: 11

12 InputStream input = getservletcontext().getresourceasstream(config);... try { digester.parse(input); input.close(); } catch (SAXException e) {... sorunla ilgilen... } XML belgelerinde gövde metninin ayrıştırılması Digester birimi, XML kütüklerindeki içiçe geçmiş gövde metinlerinin işlenmesini de sağlar. Aşağıdaki örnek bir web uygulamasının deployment descriptor(/web-inf/web.xml) ının ayrıştırılmasını gösteriyor. Bunun için aşağıdaki metodlara sahip bir bean sınıfının olduğunu farzedelim. package com.mycompany; public class ServletBean { public void setservletname(string servletname); public void setservletclass(string servletclass); public void addinitparam(string name, String value); } İşleyeceğimiz XML belgesi aşağıdaki gibi olacaktır: <web-app>... <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.actionservlet<servlet-class> <init-param> <param-name>application</param-name> <param-value>org.apache.struts.example.applicationresources<param-value> </init-param> <init-param> <param-name>config</param-name> <param-value>/web-inf/struts-config.xml<param-value> </init-param> </servlet>... </web-app> Şimdi bu girdi kütüğü için birkaç digester işleme kuralı tanımlayalım: digester.addobjectcreate("web-app/servlet", "com.mycompany.servletbean"); digester.addcallmethod("web-app/servlet/servlet-name", "setservletname", 0); digester.addcallmethod("web-app/servlet/servlet-class", "setservletclass", 0); digester.addcallmethod("web-app/servlet/init-param", "addinitparam", 2); 12

13 digester.addcallparam("web-app/servlet/init-param/param-name", 0); digester.addcallparam("web-app/servlet/init-param/paramvalue", 1); Öğeler ayrıştırıldıkça, aşağıdaki işlemler gerçekleştirilecek: <servlet> - yeni bir com.mycompany.servletbean yaratılır ve yığıta konur. <servlet-name> - yığıtın en üstündeki elemanın setservletname() metodu tek değiştirge olarak bu öğenin gövde içeriği geçirilerek çağrılır. <servlet-class> - yığıtın en üstündeki elemanın setservletclass () metodu tek değiştirge olarak bu öğenin gövde içeriği geçirilerek çağrılır. <init-param> - yığıtın en üstündeki nesnenin addinitparam() metodunun çağrılması için bir hazırlık yapılır ancak çağırılmaz. Çünkü çağırılması için daha sonra alacağımız iki değiştirge gereklidir. <param-name> - cağırmak için hazırlık yaptığımız metodun ilk değiştirgesi. <param-name> - cağırmak için hazırlık yaptığımız metodun ikinci değiştirgesi. </init-param> - hazırlığını yaptığımız addinitparam() metodunun işletilmesini sağlar. Bean e yeni bir isim-değer ikilisinin kaydedilmesini sağlar. <init-param> - aynı işletim kurallarının tekrar çalıştırılmasını sağlar. </servlet> - yığıtın en üstündeki eleman(daha önce koyduğumuz ServletBean) silinir. Kaynakça 13

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki

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ı

https://twitter.com/farukbozan 19 Şubat 2016 Cuma

https://twitter.com/farukbozan 19 Şubat 2016 Cuma Bugünkü yazımda çok basit ve temel anlamda Spring ile XML tanım tabanlı bean okuma işlemini anlatmaya çalışacağım. Spring framework bizim yerimize nesnelerin birbirine olan bağımlılıklarını düzenleyip,

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ı

/*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ı

Ö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ı

// 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ı

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ı

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ı

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ı

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ı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Yazılımda Günlükleme (Logging) Üst Düzey Programlama-ders07/ 1 Günlükleme -Logging Tüm büyük çaplı uygulamalarda günlükleme(logging) ihtiyaçları bulunmaktadır. Bir uygulamanın hata

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ı

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute  IActionFilter MVC Kullanıcı Doğrulama ve Yetkilendirme MVC projesinde kullanıcıların oturum açmasının sağlanması ve sadece yetkili oldukları action metotlara erişebilmelerini anlatan bir örnek uygulama gerçekleştirilecektir.

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ı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Görsel Programlama DERS 12. Görsel Programlama - Ders12/ Görsel Programlama DERS 12 1 Java Ağ İşlemleri (Java Networking) Birbirleri ile ağ araçları ve kabloları ile bağlantılı bilgisayarlar bir ağ sistemi oluştururlar. İnternet, şirketlerin yerel bilgisayar

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

NESNEYE YÖNELİK TASARIM SÜRECİ

NESNEYE YÖNELİK TASARIM SÜRECİ NESNEYE YÖNELİK TASARIM SÜRECİ GİRİŞ Nasıl? sorusuna yanıt aranır. Nesne modeli: Analizden tasarıma. Doğrudan problem alanı ile ilgili nesnelerden oluşan model, yardımcı nesnelerle zenginleştirilir. Ana

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ı

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ı

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ı

JavaServer Faces (JSF) Sunucu Yazılım Teknolojileri 2008

JavaServer Faces (JSF) Sunucu Yazılım Teknolojileri 2008 JavaServer Faces (JSF) Sunucu Yazılım Teknolojileri 2008 JSF Nedir? Yeni nesil Web uygulama anaçatısıdır. Bileşen modeline dayanır: UI Bileşenleri Olay tabanlı etkileşim modeli Geliştiriciler tarafından

Detaylı

Bölüm 9. Altprogramlar ISBN 0-321-49362-1

Bölüm 9. Altprogramlar ISBN 0-321-49362-1 Bölüm 9 Altprogramlar ISBN 0-321-49362-1 9. Bölüm konuları Giriş Altprogram temelleri Yerel atıf ortamları (local referencing environments) Parametre geçme yöntemleri Altprogram olan parametreler Çok anlamlı

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ı

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ı

(Sözlük, dictionary, birleşik array, map)

(Sözlük, dictionary, birleşik array, map) 14 hash (Sözlük, dictionary, birleşik array, map) 14.1 Hash Sınıfı Array ambarı, içindekileri tamsayılarla (index) damgalayıp sıralayan harika bir yapıdır. Ama bazı durumlarda indis ya yoktur ya da kullanılması

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ı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

Kablosuz Algılayıcı Ağları İçin TinyOS İle Uygulama Geliştirme

Kablosuz Algılayıcı Ağları İçin TinyOS İle Uygulama Geliştirme Kablosuz Algılayıcı Ağları İçin TinyOS İle Uygulama Geliştirme Kasım Sinan YILDIRIM AKADEMİK BİLİŞİM 2010 10-12 Şubat 2010 Muğla Üniversitesi, Muğla Ege Üniversitesi Bilgisayar Mühendisliği Bölümü İzmir,

Detaylı

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. SİSTEM VE YAZILIM o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. o Yazılım, bilgisayar sistemlerinin bir bileşeni olarak ele alınmalıdır. o Yazılım yalnızca

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ı

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ı

YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI

YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI YAZILIM ÜRÜN HATTI DEĞĐŞKENLĐĞĐNĐN DENETĐM ÇEVRĐMĐ ĐLE ELE ALINMASI Emra AŞKAROĞLU ASELSAN A. Ş. 1 ĐÇERĐK Yazılım Ürün Hattı nedir? Yazılım Ürün Hattı Değişkenliği Ürün Özellik Ağacı Oluşturma Uygulama

Detaylı

Spring Framework Eğitimi

Spring Framework Eğitimi Hazırlayan: Barış Dere www.barisdere.com @BarisDere baris.dere@gmail.com Spring Framework Eğitimi Ders 3: Http://www.youtube.com/barisdere Ders içeriği Scope nedir Singleton scope Prototype scope Web scopes

Detaylı

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1 İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:

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ı

emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı

emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı 1 Berkant AKIN Mehmet GÖKÇAY, Kaan DOĞAN TUBİTAK-SAGE Ulusal Yazılım Mimarisi Konferansı Ankara, 2010 Neden

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ı

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 Bölüm 10 Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 10. Bölüm konuları Çağırma / geri dönme semantiği Yığıt-dinamik yerel değişkeni olan altprogramların gerçeklenmesi İçiçe altprogramlar Statik

Detaylı

RSA ŞİFRELEME ALGORİTMASI

RSA ŞİFRELEME ALGORİTMASI RSA ŞİFRELEME ALGORİTMASI İlk defa 1977 yılında Ron Rivest, Adi Shamir ve Leonard Adleman tarafından oluşturulan RSA algoritması geliştiricilerinin soyisimlerinin ilk harfleriyle anılmaktadır. Bu yazımızda

Detaylı

BTP208 İnternet Programcılığı II XML ve XML Uygulamaları. (2. Kısım)

BTP208 İnternet Programcılığı II XML ve XML Uygulamaları. (2. Kısım) BTP208 İnternet Programcılığı II XML ve XML Uygulamaları (2. Kısım) Hazırlayan Öğr. Gör. Özgür ÖZŞEN İçerik XML DTD Belge Tipi Tanımlamaları 1 Karakter Veri Bir elemanın başlangıç ve bitiş etiketi içindeki

Detaylı

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015 BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015 Ders- 13 World Wide Web (WWW) Yrd. Doç. Dr. Burcu Can Buğlalılar Bilgisayar Mühendisliği Bölümü Bilgisayar Katmanları İçerik World Wide Web (WWW) Anlık Mesajlaşma

Detaylı

Decorator Tasarım Şablonu

Decorator Tasarım Şablonu Decorator Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com http://www.javadergisi.com Mevcut bir sınıf hiyerarşisini ya da sınıfın yapısını değiştirmeden, oluşturulan

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ı

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 1 1. İÇİNDEKİLER 1. İçindekiler 2 2. Bu Belgenin Amacı 3 3. Kullanım Şekli.3 4. Uyarılar.4 5. Hata Kodları.4 6. Kullanıcı Bilgileri Kontrolü..5

Detaylı

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır. XML Genişletilebilir İşaretleme Dili (extensible Markup Language), hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmayı sağlamaktadır W3C tarafından tanımlanmış

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ı

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ı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

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ı

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com MyFaces Özgür JSF Uyarlaması Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Sunum Bilgisi ve Lisans Bu sunum 22 Mayıs 2005 günü Linux Kullanıcıları Derneği adına verilmiştir. Sunum içeriği

Detaylı

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 5. Yönlendiricilerde İşlem İzleme ve Hata Ayıklama

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 5. Yönlendiricilerde İşlem İzleme ve Hata Ayıklama HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 5 Yönlendiricilerde İşlem İzleme ve Hata Ayıklama Bu deneyde, Laboratuvar görünümü, Çizim 5.1 de gösterilen biçimde

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ı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

TÜİK e-vt. Web Servis Kılavuzu

TÜİK e-vt. Web Servis Kılavuzu TÜİK e-vt Web Servis Kılavuzu Mayıs 2015 ANKARA Versiyon: 1.2 1/12 Versiyon Yayım Tarihi Eklenen/Silinen/Değişen Bölüm 1.0 20.02.2014 ---- Kılavuzun ilk sürümü. 1.1 17.04.2014 Sayfa 13 Hata Kodu Tablosu

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ı

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ı

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon Dinamik Kodlama Ürün Grubu Kategori Versiyon Önkoşulu [X] Fusion@6 [X] Yeni Fonksiyon @6 Uygulama @6 Serisi ürünlerde, kullanıcı arabirimlerinin her yerine eklenen dinamik kodlama özelliği ile, programın

Detaylı

JSTL DOKÜMANI. İçindekiler. Yazan: Elif Yavuz

JSTL DOKÜMANI. İçindekiler. Yazan: Elif Yavuz JSTL DOKÜMANI İçindekiler 1. JSTL e Genel Bakış 1.1. JSP scriptlet etiketleri kullanmada ne sorunlar var? 1.2. JSTL in faydaları neler? 1.3. JSTL in olumsuz yanları neler? 2. JSTL Kullanma 2.1. JSTL Kullanım

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ı

Ü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ı

JAVASCRIPT JAVASCRIPT DİLİ

JAVASCRIPT JAVASCRIPT DİLİ JAVASCRIPT JAVASCRIPT DİLİ Netscape Navigator 2.0 ile birlikte geliştirilen JavaScript dili istemci taraflı (client-side) script dilidir. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr

NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr NESNEYE YÖNELİK PROGRAMLAMA Yrd.Doç.Dr. Zeynep ORMAN ormanz@istanbul.edu.tr Kullanım Diyagramları (Use Case Diagram) Kullanım senaryoları sadece düz metin (text) olarak değil, istendiğinde metin yerine

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.1 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam...1 2.2 Hedef Kitle...1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...1

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ı

C# ile e-posta Göndermek

C# ile e-posta Göndermek Kemal Demir http://kemal.csharpturk.net kemal@csharpturk.net C# ile e-posta Göndermek 25.12.2006 Web sitemizin üyelerine ya da adreslerini bir yerde biriktirdiğimiz arkadaşlarımıza toplu olarak eposta

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ı

COM API v2.0 Belge sürümü : 2.0.3

COM API v2.0 Belge sürümü : 2.0.3 COM API v2.0 Belge sürümü : 2.0.3 1. Đçindekiler 1. Đçindekiler...2 2. Bu belgenin amacı...3 3. Belge sürümleri...3 4. Sistem gereksinimleri...3 5. Kullanım şekli...4 5.1 Genel...4 5.2 Uyarılar...4 5.3

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Çarpışma çözümleme yöntemleri Sunum planı Bağlantıları kullanarak çarpışmaların çözümlenmesi. Coalesced Hashing (Birleştirilmiş

Detaylı

İLİŞKİSEL VERİTABANI. İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır.

İLİŞKİSEL VERİTABANI. İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır. İLİŞKİSEL VERİTABANI İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır. İlişkiler genellikle, her iki tablonun aynı adlı alanları olan, anahtar alanlardaki verilerin

Detaylı

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM

Detaylı

DEVLET PLANLAMA TEŞKİLATI BİLGİ TOPLUMU DAİRESİ BAŞKANLIĞI. e-yazışma Projesi. Paket Yapısı

DEVLET PLANLAMA TEŞKİLATI BİLGİ TOPLUMU DAİRESİ BAŞKANLIĞI. e-yazışma Projesi. Paket Yapısı DEVLET PLANLAMA TEŞKİLATI BİLGİ TOPLUMU DAİRESİ BAŞKANLIĞI e-yazışma Projesi Paket Yapısı 11/04/2011 İçindekiler 1. Giriş... 2 2. Paket Yapısı... 2 2.1. Paket Bileşenleri... 2 2.2. Senaryo... 6 1 1. Giriş

Detaylı

16. Kesit ve Cephe Aracı

16. Kesit ve Cephe Aracı 16. Kesit ve Cephe Aracı Bu Konuda Öğrenilecekler: Kesit/cephe bilgi kutusu ile çalışmak Kesit/cephe oluşturmak Kesit/cephe geçerli ayarlarıyla çalışmak Kesit/cephelere erişmek ve değiştirmek Kesit/cephelerin

Detaylı

Kayıtlı Elektronik Posta e-yazışma Projesi İstemci Kütüphaneleri

Kayıtlı Elektronik Posta e-yazışma Projesi İstemci Kütüphaneleri Kayıtlı Elektronik Posta e-yazışma Projesi İstemci Kütüphaneleri Geliştirici Kılavuzu Sürüm 1.1 20.01.2014 İçindekiler Kısaltma ve Açıklamalar... 3 Bölüm 1.... 4 Giriş... 4 Bölüm 2. İstemci Kütüphaneleri...

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ı

JSF Melih Sakarya. Java Server Faces Facelet. www.mergecons.com. www.mergecons.com 1

JSF Melih Sakarya. Java Server Faces Facelet. www.mergecons.com. www.mergecons.com 1 JSF Melih Sakarya JSF Java Server Faces Facelet www.mergecons.com www.mergecons.com 1 Facelet JSF için JSP ye alternatif bir yapıdır. Tamamen xml tabanlıdır ve xhtml olarak yazılır. Xml standartlarına

Detaylı

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Güven Fidan AGMLAB Bilişim Teknolojileri 18/10/11 GRID ÇALIŞTAYI 2007 1 MapReduce Nedir? Büyük data kümelerini işlemek ve oluşturmak

Detaylı

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7 BM208- Nesneye Dayalı Analiz ve Tasarım Sunum 7 Component(Bileşen) Diyagramları Sistemin fiziksel yapısını modellemede kullanılır. Bu fiziksel yapıdan kasıt gömülü kontroller, portlar, arayüzlerin yanı

Detaylı

Basit bir web uygulaması

Basit bir web uygulaması AJAX Ahmet Demirelli ahmetdemirelli@sabanciuniv.edu SCJP 5.0, SCWCD 1.4 Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı 3/20/2007 Sabanci University 1 Ajanda Neden AJAX ihtiyacı AJAX

Detaylı

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ Versiyon: 1.0.4 URL Adresi http://merchant.mobilepax.com/services/product.aspx Gönderilen XML Yapısı MobilePaxProduct fonksiyonu buton bilgisi oluşturulacak ürünün

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ı

1. Basit kural da kullanılabilecek fonksiyonlar. SWITCH(ifade?Değer1=Sonuç1;Değer2=Sonuç2;...; DeğerN=SonuçN) IFTHEN(Koşul?

1. Basit kural da kullanılabilecek fonksiyonlar. SWITCH(ifade?Değer1=Sonuç1;Değer2=Sonuç2;...; DeğerN=SonuçN) IFTHEN(Koşul? 1. Basit kural da kullanılabilecek fonksiyonlar. SWITCH(ifade?Değer1=Sonuç1;Değer2=Sonuç2;...; DeğerN=SonuçN) IFTHEN(Koşul?Doğruysa;Yanlışsa) MID(String,Başlangıç,Uzunluk) TODAY 2. Script Kural Script

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ı

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ı

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ı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

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ı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Yasin Hınıslıoğlu 1 Mehmet Serdar Güzel 2 1 Ahmet Yesevi Üniversitesi Yönetim Bilişim Sistemleri Bölümü, Ankara 2 Ankara Üniversitesi Bilgisayar

Detaylı

BENZETİM. Prof.Dr.Berna Dengiz

BENZETİM. Prof.Dr.Berna Dengiz Prof.Dr.Berna Dengiz 2. Ders Sistemin Performans.. Ölçütleri Sistem Türleri Benzetim Modelleri Statik veya Dinamik Deterministik ( belirli ) & Stokastik ( olasılıklı) Kesikli & Sürekli Sistemin Performans

Detaylı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

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ı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

JavaFX Temelleri (2)

JavaFX Temelleri (2) JavaFX Temelleri (2) Araç İpuçları (Tooltips), Yazı Tipleri (Fonts), Çalışma Ortamları ve Dağıtım Oluşturma, JavaFX Özellikleri (JavaFX Properties), Gözlenebilirlik (Observability), Bağlanımlar (Bindings)

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

Spring Security Framework Harezmi Bilişim Çözümleri

Spring Security Framework Harezmi Bilişim Çözümleri Spring Security Framework Harezmi Bilişim Çözümleri www.java-egitimleri.com 1 Ajanda Güvenlik İhtiyaçlarına Genel Bakış Spring Security Nedir? & Özellikleri Neden Spring Security? Spring Security Yapıtaşları

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ı