MODEL VIEW - CONTROLLER (MVC) TASARIM KALIBI

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

Download "MODEL VIEW - CONTROLLER (MVC) TASARIM KALIBI"

Transkript

1 MODEL VIEW - CONTROLLER (MVC) TASARIM KALIBI İyi bir yazılım: Okunabilir, anlaşılabilir olmalı; dokümantasyonu iyi yapılmalı; esnek olmalı (yani modüler ve geliştirilebilir bir yapıda olmalı) ve tabii kullanılabilir olmalı. Tasarım Kalıpları iyi bir tasarımın yapılması, yazılım esnekliğinin ve okunabilirliliğinin arttırılması, sık karşılaşılan sorunlara çözüm sunması için deneyimlerin derlenmesiyle oluşturulmuşlardır. Tasarım kalıpları herhangi bir sorunun çözümü için uygulama yapısına göre geliştirilebilecek esnek yapılardır. Sık karşılaşılan problemlerin çözümü için bu genel metotları tasarlama fikri 1980 öncesine dayanır. O zamanlarda Smalltalk programlama dili nesne tabanlı bir yaklaşım içerisindedir. Bu yaklaşım analiz aşamasında çok büyük kolaylıklar getirmiştir. Tasarım kalıplarına gelirsek: 1988'lerde kullanıcı arayüzü problemine çözüm getirmek amacıyla Smalltalk programlama dili için tasarlanan framework bir çözüm oluşturmuştur. Burada kullanıcı arayüzü tasarlanırken genel bir şablon çözüm sunulmuştur. Bu frameworkün adı da birazdan detayları anlatılacak olan MVC(Model-View-Controller) dır. Uygulamalar, verilere erişim için gerekli kodların, işlem mantığını oluşturan kod kısımlarının ve kullanıcı arayüzlerinin bir birleşimidir. Bu birleşimden dolayı da yapılmak istenen en ufak bir değişiklikte birçok sorun ortaya çıkacaktır. Çünkü bu birbiri ile ilişkili bileşenlerde herhangi birinde bir değişiklik yapılmak istendiğinde her kısmın tekrar elden geçirilmesi gerekecektir. Bu bileşenler arasındaki fazla bağlılık sınıfların yeniden düzenlenmesini zor hatta imkansız hale getirir çünkü her biri birden çok sınıf ile bağlantılı bulunmaktadır. MVC bir uygulamayı az önce bahsedilen nedenden dolayı Model, View ve Controller olmak üzere bileşene bölme işlemidir. Modüler olarak uygulamanın bu şekilde bileşenlere bölünmesi uygulama geliştirmede çok önemlidir. Programcı ile tasarımcının işlerini birbirinden ayırmakta kolaylık, geliştirilen uygulama için de iş birliğini ve hızı sağlar. Her bileşenin kendine has görevleri ve iş sahası vardır. Model işlem mantığını yürüten bileşendir. Temel veri ve fonksiyonları içerir. Kendisine gelen hareketlerden veya çıkan gösterimlerden bağımsızdır. Modelin view ve controller bileşenlerinden ayrılması aynı modelin birden çok arayüzü olmasına olanak verir. Örneğin; kimlik denetleme (authentication) işlemleri, veritabanıyla sorgu işlemleri özetle bilgi işlem mantığı Model in görev sahasındadır. View kullanıcıya sunulan arayüz bileşenidir. Bileşenleriyle modelden aldığı bilgileri kulanıcıya sunar. Modelin çeşitli arayüzleri olabilir, ancak her arayüzün ayrı bir controller bileşeni vardır. Sunum bölümünü Swing, Windows, Web v.b. arayüzleri oluşturur. Örneğin; kullanıcıdan bilgi almak için kullanılan bir Form olabilir. Controller: Controller, Model ve View arasında çalışan bir arabirimdir. Kullanıcı girdilerini alır. Bunlar genellikle olaylardır. Örneğin, fare hareketleri, butonlara tıklanması yada klavye girişi gibi. Bu olaylar view ve model için servis isteklerine çevrilir. Kullanıcı sadece controller sayesinde sistem ile etkileşim halindedir. Controller

2 da view ile birlikte çalışarak kullanıcı arayüzünü oluşturur. View den yapılan her isteği yakalar ve Model den bilgi işlem mantığını çalıştırıp tekrar view de arayüz için gerekli olan parametreleri üretir ve view bileşenine geri iletir. View de bunu alır ve arayüzü üretip gösterir. Neden böyle bir bileşen ayrımına ihtiyaç duyulduğunu daha detaylı bir örnekle görelim: Mesela kurumsal uygulamalar farlı tipteki kullanıcılar için farklı tipteki arabirimlere ihtiyaç duyarlar. Örneğin bir internet mağazası uygulaması web müşterileri için bir HTML (HyperText Markup Language) ön yüzüne, wireless bağlanan müşteriler için WML (Wireless Markup Language) ye, yöneticiler için Java TM (JFC) / Swing e ve sağlayıcılar için de XML (EXtensible Markup Language) tabanlı web servisine gerek duyarlar. Tek tipteki istemcileri destekleyen uygulama geliştirirken sunumu ve kontrolü için data erişimini ve işlem mantığını arayüze özel mantıkla (interface-spesific logic) geliştirmek bazen yaralı olabilir. Fakat böyle bir yaklaşım birden çok istemci tipini desteklemesi gereken kurumsal bir uygulamaya tahsis edilmek istendiğinde yetersiz kalacaktır. Her biri her tipteki istemci arayüzünü destekleyecek farklı uygulamaların geliştirilmesi gerekir. Her uygulamada arayüze yönelik olmayan kodun (Non-interface-specific code) tekrar tekrar kopyalanması, uygulamanın test ve bakım aşamasında olduğu kadar gerçeklenmesi işlemini de zorlaştırır. Arayüze özel olan ve olmayan kodlar birbiriyle içiçe olduğu için hangi kısmın seçilip tekrarlanacağının belirlenmesi maliyetlidir. Bu kopyalama çabaları da kaçınılmaz bir şekilde hatalı olacaktır. Aynı temel fonksiyonu sağlaması beklenen bu tür uygulamalar farklı sistemler için geliştirilirler. Bu tasarımın temel kısımlarıysa: 1-Farklı görünümler (örneğin:html, WML, JFC/Swing, XML) içinde sunulsalarda aynı kurumsal datalara ulaşılması gerekliliği;

3 2-Farklı etkileşimler üzerinden aynı kurumsal dataların güncelleme yapılması ihtiyacı: Bir HTML sayfası yada WML kartı üzerindeki link seçimleri, JFC/Swing GUI üzerindeki butonlara tıklanması işlemi ve XML de yazılan SOAP (Simple Object Access Protocol) mesajları. 3-Bu farklı tipteki görünümler ve etkileşimler, kurumsal uygulamanın çekirdek fonksiyonlarını gerçekleyen bileşenleri etkilememeli. Çözüm ise: MVC mimarisini yazılım geliştirilecek platforma ki bu yukarıdaki örnek uygulama için J2EE (Java 2 Enterprise Edition) platformuna uygulayarak temel iş model fonksiyonunu bu fonksiyonu kullanan sunum ve kontrol mantığından ayırmak. Modelview-controller şeklindeki benzer ayırma işlemleri, farklı görünümlerin aynı kurumsal data modelini kullanmalarını sağlar, ayrıca bu kurumsal dataların farklı istemciler tarafından gerçekleme, test ve bakım işlemlerini kolaylaştırır. Bu şekil ise model-view-controller kalıbının diyagrama dökülmüş halidir: Durum Sorgusu MODEL -Uygulamanın durumunu belirler -Durum sorgularına cevap verir -Uygulamanın fonksiyonlarını ortaya koyar -View u değişiklerden haberdar eder Durum değişimi Uyarıyı değiştir VIEW -Modeli temsil eder -Modellerden güncellemeleri alır -Kullanıcı hareketlerini controller a gönderir -Controller ın görünüm seçmesine olanak tanır Görünüm seçimi Kullanıcı hareketleri CONTROLLER -Uygulama hareketlerini tanımlar -Kullanıcı hareketlerini model güncellemesine çevirir -Cevap olarak bir view seçer -Tüm bunları her fonksiyon için yapar Model View Controller Diyagramı

4 MVC tasarım kalıbı kullanılmayan uygulamalarda(ki buna Model1 de denir): 1- Görünüm için kullanılan kodlarla, iş mantığının yürütüldüğü kodlar bir aradadır. Bu da uygulama esnekliğini ve modülerliğini ortadan kaldırır. 2- Arayüz tasarımcısı gereksiz kodlarla uğraşmak zorunda kalır. 3- Kod tekrarı vardır. MVC tasarım kalbı kullanılan uygulamalarda ise(ki buna Model2 de denir): 1- İş mantığı arayüz kodlarından ayrılmıştır. Buda uygulamaya esneklik kazandırmıştır. 2- Model 2, Arayüz tasarımcısının iş mantığı kodlarıyla uğraşmasını ortadan kaldırır. Tasarımcı arayüz tasarımına yoğunlaşır. 3- Kod tekrarı en aza indirilmiştir. FRAMEWORK KULLANIMI Model2 web uygulamaları geliştirmek için iyi bir tasarım kalıbıdır. Uygulama geliştiriciler deneyim kazandıkça uygulamaları içerisinde tekrar tekrar kullanabilecekleri genel kısımları belirlemeye başlarlar. Bu genel kısımlarında birçok yerde kullanılacağını zamanla görürler. Örneğin Model2 uygulamalarında oluşturulan controller servlet ler birçok benzer özelliğe sahiptir. Bu genel bölümlerde tekrar kullanılabilirliği artırır. Tasarım kalıpları da bu tür tekrar kullanılabilir kalıpların kullanımını kolaylaştırır. Böyle tekrar kullanılabilir kalıplardan oluşmuş bir koleksiyonunuz varsa, framework için bir taban oluşturulmuştur demektir. Framework, birbiriyle ilişkili ve birbirini destekleyen sınıf ve elemanların bir kümesidir, önceden hazırlanmış bu kısımlarla da uygulama geliştirme daha kolay hale getirilir. Esasında framework ler uygulama geliştirmek için altyapı sağlar, uygulamalar için üzerinde detaylarını belirleyeceğiniz bir iskelet oluştururlar. Uygulamalarımızı geliştirirken birçok web uygulama framework ü kullanabiliriz. Bunlara bir kaç örnek verecek olursak: Struts : adresinden ulaşılabilir. Genellikle model2 (MVC) tasarım modeline göre geliştirilecek uygulamalar için kullanılır. Açık kaynaklı bir framework tür. Velocity : adresinden temin edilebilir.bir java tabanlı kalıp oluşturma aracıdır. Java kodu içerisinde tanımlanan nesnelere referans vermek için kendine has basit kalıplardan oluşmuş bir dil kullanır.

5 Tapestry : adresinden temn edilebilir. JavaServer Pages (JSP) ye alternatif olarak oluşturulmuştur. JSP (JavaServer Pages) deki kod üretimi ve script işlemlerinin yerini bileşen nesne modeline bırakmasını sağlamıştır. WebWork : adresinden temin edilebilir. Açık kaynaklı prosesler kullanılarak hazırlanmıştır, anlaşılması ve bakımı kolay olan ve kısa bir zaman içerinde hazırlanabilen kompleks web siteleri oluşturmayı sağlayan bir gurup araç ve framework sağlamak amacıyla geliştirilmiştir. Turbine : adresinden temin edilebilir. E-ticaret siteleri gibi gelişmiş web uygulamaları geliştirmek için hazırlanmış büyük, açık kaynaklı ve servis tabanlı bir framework tür. STRUTS FRAMEWORK Struts model2 uygulamaları geliştirilmek için açık kaynaklı bir framework tür. Apache nin Jakarta projesinin bir parçasıdır. Struts taki fonksiyonelliğin temel alanları: Controller servlet, uygulama geliştirici tarafından hazırlanan uygun action sınıfına istekte bulunur. JSP etiket (tag) kütüphaneleri ve bununla ilişkili controller servlet teki destek, uygulama geliştiricilere interaktif form-tabanlı uygulama geliştirirken yardımcı olur. XML parse işlemini destekleyen yardım sınıfları, Java reflection API tabanlı JavaBeans in artması gibi otomatik özellikler, mesajlar ve uyarıların (promts) herkes tarafından kullanılır hale gelmesi. Struts ta bilgi akışı Model2 uygulamasıyla benzerdir. Bütün istekler framework ün bir parçası olan controller servlet tarafından yönlendirilir. Bu controller uygulaması veritabanından bağlantı veya otomatik istek yönlendirme gibi birçok alanda çalışır. Uygulamanın çalışması için uygulama geliştirici tarafından yazılmış olan action sınıfları controller tarafından yaratılır. Bu action sınıfı Struts Action sınıfından türetilerek oluşturulur. Controller ın Action ın altsınıflarını yaratacak şekilde tasarlanması tekrar kullanılabilir framework bölümüne iyi bir örnektir.

6 Controller servlet, sınıflar (action ları sarmalamak için) ve altyapı (web uygulamaları içinde bilgi iletimi için) yı içeren bir framework Bu action örnekleri etki alanına özel(domain-spesific) aktiviteler çalıştıran model beans i oluşturur. Bu akivitelere örnek olarak: iş mantığını yürütme, veritabanına bağlanma ve diğer bean metodlarını çağırma. Model beans Model2 tasarım kalıbında olduğu gibi asıl iş mantığını içerisinde bulundurur. Bu action örnekleri model beans i kullanarak çalışır, o da controller sayesinde modeli göndererek view bileşeninin oluşmasını sağlar. View, model beans ten aldıklarının görsel olan kısımlarını kullanıcıya sunar. Göründüğü üzer bu da Model2 deki bilgi akışının aynısıdır. Bu bilgi akışının sağlanmasında da struts iyi bir altyapı oluşturmaktadır. Struts uygulama geliştirmenin diğer detaylarınıda gerçkleştirir. View un gerçeklenebilmek için framework birçok temel JSP etiketlerinide içerir. Ayrıca da database bağlantı seçimi esnek kayanak gösterimi gibi internasyonel getirilme işlemlerine yardım için class lar sağlar. Struts Model2 yi kullanarak geliştirilecek olan web uygulamlarını kolaylaştırmak için oluşturulmuş hafif bi framework tür. Model2 tasarım kalıbını destekleyecek şekilde Struts kullanılarak geliştirilen bir uygulama kullanılmadan geliştirilene göre %35-40 oranında harcanan enerjiyi kullanımını azaltacaktır. Struts ın güç yanlarından biri ise Model2 ye uygun uygulama geliştirirken dışarıya servis vermemesidir kendi iç bağları daha sıkıdır. Diğer framework ler ise bu konular açısından daha genişletilebilirlerdir, örneğin Turbine...

7 COCOON Cocoon sadece bir framework tipi değildir. Diğer web framework lerinin sağladığı kolaylıkların yanında publishing framework özelliğine sahiptir. Cocoon istenildiği takdirde otomatik olarak döküman dönüştürebilmektedir. Web sitelerini benzersiz bir esneklikle oluşturmak için XML teknolojisinin gücünü de kullanarak yeni bir uygulama servisi sunar. MVC tasarım kalıbının diğer bir boyutunu kullanarak view işlemlerini otomatik olarak framework üzerinde yapar.( Extensible Stylesheet Transformation Language ) XSLT gibi XML teknolojilerinden yararlanan kompleks bir framework tür. Çünkü çok fazla konfigürasyon ve gelişim sorunları vardır. Cocoon un bu yayınlama yani dökümantasyon ve web uygulama framework bölümleri çekirdek seviyesinde birbiriyle ilgilidir fakat uygulama kısımda görülmezler. Bu da şunu gösterirki web framework ü publishing framework ün bir görünümüdür. Mimarinin amacı da bu iki framework ü farklı elemanlar olarak göstermektir. The publishing framework Publishing framework genel olarak istemcilere özel dokümantasyonun otomatik olarak oluşturulmasını sağlayan bir araçtır. Aşağıdaki şekilde iki ayrı istemci cihaz web uygulaması çalıştıran publishing framework ten istekte bulunuyorlar. Browser dokümanı ister. Publishing framework de istekte bulunan kullanıcıyı ve istenen kaynakları fark eder (ki bu istekte HTTP başlık bölümünün bilgisidir). Kaynakların gönderilmesine başlamadan önce kaynaklara XSLT dönüşümü uygular ve browser a uygun HTML dökümanı hazırlar. Cep telefonu gibi bir kablosuz cihaz aynı publishing framework ten aynı kaynak için istekte bulunur. Ancak kullanıcının farklı olmasından dolayı farklı XSLT dönüşümü uygulanır ve cep telefonu WML ( Wireless Markup Language ) dokümanı alır. Publisheing Framework, isteği yapan cihaza bağlı olarak otomatik dönüşümler yapar

8 Publishing framewok ün faydaları iki gurupta incelenir. İlk olarak: yazılım geliştiricileri farklı donanımlar için farklı tipte içerik oluşturma derdinden kurtarır. Yazılım geliştiriciler XML dokümanları oluştururlar. Stylesheet geliştiriciler de uygulamanın desteklemesi gereken farklı tipteki cihazlar için XSLT stylesheet oluştururlar. Bu adım içeriğin oluşturulması adımından tamamıyla farklıdır. Publishing framework kullanmanın diğer faydası ise yazılıma getirdiği esnekliktir. Yeni bir cihaz ortaya çıktığında içeriği oluşturan kişiler uygulamada herhangi bir değişiklik yapma gereği duymazlar. Bu yeni cihazı desteklemek için gereken tek şey yeni bir stylesheet tir. Bu yaklaşımla ilgili iki sorun vardır: İlki, dönüştürme işleminin servlet motorunda aşırı derecede kaynak tüketilmesine neden olmasıdır. XML in ayrıştırılması ve dönüşüm işlemi çok fazla işlemci gücü gerektirir. Diğer sorun da XSLT stylesheet lerinin karmaşıklığıdır. Yazılım geliştiriciler için de öğrenilmesi zor bir dildir. Şuanda bu stylesheet oluşturma işlemini kolaylaştıran araçlar yeterli değildir. Bu yüzden de yazılım geliştiriciler styleshhet leri elleriyle yazarlar. Bunu yapan geliştiricilerin de az bulunmasından dolayı publishing framework ün pratikte yayılması sınırlanmıştır. Araçlarla desteklenmesi arttıkça işlemlerin gerçeklenmesi kolaylaşacaktır. The web framework Bir web framework olarak Cocoon aynı zamanda bir publishing framework tür. Cocoon u her duruma göre içeriğe farklı stylesheetler uygulayarak HTML dokümanları oluşturacak şekilde yapılandırabiliriz. Eğer Cocoon sadece bir web framework olsaydı zamanımızın çoğunu uygulamamızı her cihaza uygun hale getirmeye harcardık. Buna ek olarak her stylesheet i kendimiz yazmak zorunda kalacaktık. Bu nedenle her içeriğe uygun bir stylesheet gurubunun oluşturulması ve farklı cihazlar için birinin uygulanması daha kolay olacaktır. İşte Cocoon bu görevi yerine getirir. Öncelikle hazır olan sınıf ve stylesheetleri kullanarak MVC kalıbına uygun web uygulamaları geliştiririz ve ardından da bunları farklı durumlar için özelleştiririz. Aşağıda Cocoon un web framework olarak yapısı görülmektedir:

9 Bir cocoon web uygulamasında kullanıcı Cocoon servlet e bir istekte bulunur. Bunun ardından servlet sitemap aracılığıyla gelen isteğin web uygulamasının içeriğine ait olduğunu anlar ve uygun işlemi gerçekleştirir. Bu yapıda sitemap, Struts ayar (konfigürasyon) dokumanı gibi çalışır. Bu action model bean lere referans eder ve işlemleri gerçekleştirir.sonuç bilgisi standart bir web kolleksiyonu formunda paketlenerek Cocoon servlet ine tekrar gönderilir. Servlet de sitemap ten uygun arayüz ve dönüşüm tipini seçer. Seçilen dönüşüm uygulandıktaktan sonra cevap kullanıcıya geri yollanır. Cocoon Extensible Server Pages (XSP) konseptini oluşturmuştur. Bu sayfalar JSP ye benzer fakat daha katı bir XML sentaksı ve bazı farklı yapılandırıcılar kullanır. RUBY Ruby 'hızlı ve kolay', nesneye yönelik yazılım geliştirmeye yarayan ve yorumlanan bir betik (script) dilidir. Ruby nin sentaksı Ada ve Perl dillerinden etkilenmiştir. Bu nedenden ötürü Perl dilini bilen kişiler Ruby nin sentaksına kolaylıkla alışabilmektedirler. Bu dilin yaratıcısı Yukihiro "Matz" Matsumoto dur.1995 yılında ilk sürümü yayınlanan Ruby nin şu anki sürümü tür ve şu anda 1.9 sürümünün geliştirilmesi üzerine çalışılmaktadır. Ruby nin doğrudan işletim sistemi çağrıları yapabilmesi, güçlü dizi işlemleri ve ifadelerinin düzenli olması, geliştirme sırasında anında geri besleme yapabilmesi onu güçlü kılan özellikleridir. Ruby aynı zamanda kolay ve hızlı bir dildir. Değişken bildirimleri gerektirmemesi, değişken türlerinin olmayışı, sözdiziminin basit olması onu hızlı ve kolay kullanılabilir bir dil yapmıştır. Ruby tamamiyle nesneye dayalı bir dildir. Ruby de her şey nesnedir. Sınıflar, kalıtım, yöntemler, yineleyiciler ve sonlandırıcılar bulunmaktadır. Fakat Ruby çoklu kalıtıma (multiple inheritance) izin vermemektedir. Ruby nin özellikleri: Nesneye dayalıdır, Değişkenler dört seviyede tanımlanabilir: global, sınıf, instance ve yerel, İstisna yakalama, Perl gibi dil seviyesinde düzenli ifadeler bulundurur, Operatör aşırı yükleme vardır (operator overloading), Otomatik çöp toplama vardır ( garbage collecting ), Taşınabilir, Tüm platformlarda multi-threading e izin verir,

10 Çoğu platformda DLL (Dynamic Link Library) ve ortak kütüphanelerin dinamik olarak çağrılmasına izin verir, Standart olarak büyük bir kütüphaneye sahiptir. Örnek Ruby Uygulaması: # Sayının faktöriyelini bulan yazılım def fact(n) if n == 0 1 else n * fact(n-1) end end print fact(argv[0].to_i), "\n Ruby nin desteklediği işletim sistemleri: UNIX tiplerinin çoğu,dos, Microsoft WINDOWS 95/98/NT/2000/XP/2003, OS X, BeOS,AMIGA,Acorn Risc OS, OS/2,Syllable. Mac Ayrıca Ruby nin RoR (Ruby on Rails ) adlı web uygulama framework ü de vardır. Bu framework MVC kalıbına sağdık kalınarak hazırlanmıştır. Daha az kod ve ayarlamayla gerçek uygulamalar hazırlanmasına izin veren bu framework Ruby nin desteklediği metaprogramming özelliğinden faydalanmaktadır. Bu da rahat okunabilir bir sentaksının olmasını sağlamıştır. Rails RubyGems aracılığıyla yayınlanmaktadır. RubyGems, Ruby nin resmi paketleme ve kütüphaneleri için dağıtım kanalıdır. MVC Açısından RUBY ON RAILS Veritabanı içeren MVC kalıbındaki web uygulamalarında Model kısmında ilişkisel veritabanındaki tabloları temsil eden sınıflar yer alır. RoR da Model sınıfları ActiveRecord tarafından değerlendirilmektedir. Bundan ötürü programcının sadece ActiveRecord un alt sınıflarını oluşturması yeterlidir. Bundan sonra program otomatik olarak veritabanındaki hangi tabloları kullanacağını ve bunlarda hangi kolonların yer aldığını bulur. İşin View kısmı ise RoR tarafından farklı şekillerde halledilebilir. Bunun için gömülü Ruby içeren RHTML dosyaları kullanılabilir. Bu dosyalar HTML ve Ruby kodlarının birlikte kullanılmasıyla oluşturulmuş ve sentaksı JSP ye benzeyen dosyalardır. Web tabalı MVC uygulamalarda Controller methodları kullanıcı tarafından web browser aracılığıyla çalıştırılırlar. Ruby on Rails da controller işlemleri Action Pack tarafından değerlendirilmektedir. Bu işlemler için Applicationcontroller sınıfının alt sınıfları tanımlanır ve içinde web uygulaması tarafından çalıştırılacak methodlar oluşturulur.

11 KAYNAKLAR Art Of Web Development,Greenwich,Neal Ford,Manning Publications,2004 Essential ActionScript 2.0,Colin Moock,O REILLY Model View Controller (MVC) and Casabac,Casabac Technologies Jacarta Struts Cookbook, By Bill Siggelkow, O'Reilly, February 2005 Jakarat Struts For Dummies, Mike Robinson and Ellen Finkelstein,Wiley Publishing, Indianapolis,2004 Jacarta Struts Live, Richard Hightower, Colorado,2004 Struts Tutorial, Stephan Wiesner,2002 Struts in Action Building web applications with the leading Java framework, Ted Husted, Cedric Dumoulin, George Franciscus, David Winterfeldt,Manning,Greenwich,2003 Model-View-Controller (MVC) Architecture,John Deacon Agile Web Development, Dave Thomas David Heinemeier Hansson, The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Jakarat Pitfalls,Bill Dudny,Wwilley Publishing,2003 Web Tabanlı J2EE Uygulamalarında Struts Framework & Hibernate Desteği,Çanakkale Üniversitesi Dokümaları ModelViewController and Object Teams: A Perfect Match of Paradigms,Technical University Berlin oller/

12

13

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

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

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. 1 Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller

Detaylı

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

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

Detaylı

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

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

Detaylı

PAZARTESİ SALI 2015-2016 Ders Programı 1. Öğretim 09.00-09.50 10.00-10.50 11.00-11.50 12.00-12.50 HRT4291 WEB TABANLI CBS GR:11 Ü.GÜMÜŞAY EZ-121 ; D1-129 HRT4291 WEB TABANLI CBS GR:22 Ü.GÜMÜŞAY EZ-121

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ı

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ 040080202 MEHMET ALİ SERT 040090521 SUNUM İÇERİĞİ Problem Tanımı Tespit Edilen Sorunlar Problemin Sonuçları

Detaylı

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

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

Detaylı

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

1.PROGRAMLAMAYA GİRİŞ

1.PROGRAMLAMAYA GİRİŞ 1.PROGRAMLAMAYA GİRİŞ Bilindiği gibi internet üzerindeki statik web sayfaları ziyaretçinin interaktif olarak web sayfasını kullanmasına olanak vermemektedir. Bu yüzden etkileşimli web sayfaları oluşturmak

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ı

Veritabanı. Ders 2 VERİTABANI

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

Detaylı

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

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

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

Detaylı

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ı

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

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

Detaylı

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ı

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri nedir? Sunucu Yazılım Teknolojileri nedir? Gündem 1 nedir? 2 XML 3 nedir? nedir? : Asynchronous JavaScript and XML Yeni bir teknoloji değil, daha çok bir yöntembilim, teknik, tasarım deseni. RIA = Zengin

Detaylı

C# nedir,.net Framework nedir?

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

Detaylı

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır. Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

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

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

Detaylı

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ı

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

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

Detaylı

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri Django Web Çatısı Mete Alpaslan Katırcıoğlu Emre Yüce Portakal Teknoloji mete.alpaslan@portakalteknoloji.com emre.yuce@portakalteknoloji.com Akademik Bilişim 2008 Çanakkale, 30 Ocak 2008 Sunum Planı Django

Detaylı

İnternet Programcılığı

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

Detaylı

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

Film Arşiv Sistemi. Yazılım Tasarım Belgesi 1. Sürüm Tarihçesi Film Arşiv Sitesi Yazılım Tasarım Belgesi Sürüm Tarih Yazarlar Açıklamalar 1.0 28.12.2010 Rana ALGAN Elif BONCUK Bu belge sistemin tasarım detaylarını içerir. 2. Giriş 2.1 Amaç ve Kapsam

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ı

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması Giriş WPF Nedir? Tasarım ve Kodlamanın Birbirinden Ayrılması XBAP Nedir? Silverlight Nedir? Sunum Katmanları Neydi? Sunum Katmanları İle Neler Yapılabiliyordu Neden Microsoft? VCL Application, FireMonkey

Detaylı

Spring Giriş Eğitimi

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

Detaylı

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek ozlem.ozgobek@linux.org.tr

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek ozlem.ozgobek@linux.org.tr Özgür Yazılımlarla Web Programlama Özlem Özgöbek ozlem.ozgobek@linux.org.tr Web Nedir? İnternet dünya çapında birbirine bağlı bilgisayar ağlarından oluşan bir sistemdir. Web ise internette çalışan servislerden

Detaylı

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni 1 Ruby Nedir? 1.1 Amaçlar Bu kitabın asıl amacı, Ruby on Rails Web Framework u ile web programcılığı yapacaklara gerekli olan Ruby bilgilerini vermektir. Bunu yaparken, kitap okura şu becerileri de kazandıracaktır:

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ı

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 Yrd.Doç.Dr.Hacer Karacan İçerik Grafik Kullanıcı Arayüzü Uygulamaları AWT, Swing Arayüz Yerleşim Düzeni Temel GKA Bileşenleri Olay Yönetimi Olay Dinleyiciler Olay

Detaylı

Yrd. Doç. Dr. Gökçe BECİT İŞÇİTÜRK. Gökçe BECİT İŞÇİTÜRK 1

Yrd. Doç. Dr. Gökçe BECİT İŞÇİTÜRK. Gökçe BECİT İŞÇİTÜRK 1 Yrd. Doç. Dr. Gökçe BECİT İŞÇİTÜRK Gökçe BECİT İŞÇİTÜRK 1 Gökçe BECİT İŞÇİTÜRK 2 Kullanıcıların site içeriğini belirlemede rol oynadığı, Dinamik, Teknik bilgi gerektirmeyen, Çok yönlü etkileşim sağlayan,

Detaylı

Veritabanı Uygulamaları Tasarımı

Veritabanı Uygulamaları Tasarımı Veritabanı Uygulamaları Tasarımı Veri Tabanı Veritabanı yada ingilizce database kavramı, verilerin belirli bir düzene göre depolandığı sistemlere verilen genel bir isimdir. Günümüzde özel veya kamu kuruluşların

Detaylı

İNTERNET PROGRAMCILIĞI - II

İNTERNET PROGRAMCILIĞI - II 0 İÇİNDEKİLER Bölüm 1 PHP İle Web Programlamaya Giriş 1 Bölüm 2 PHP Kodlama Standartları 5 Bölüm 3 PHP Değişken Kullanımı 17 Bölüm 4 IF Yapısı 32 Bölüm 5 Döngüler ve Diziler 64 1 BÖLÜM 1 PHP İLE WEB PROGRAMLAMAYA

Detaylı

Web Uygulamaları Mimarileri ve Güvenliği

Web Uygulamaları Mimarileri ve Güvenliği Web Uygulamaları Mimarileri ve Güvenliği METU CCLUB erbil Karaman başlıklar... Web uygulama mimarileri Uygulama geliştirme ve framework kullanımı Güvenli web uygulamaları için öneriler baslamadan önce...

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ı

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ı

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir. ÖN BİLGİ Servlet Dinamik içerik üreten bir Java Web bileşenidir. Web teknolojilerinin temelinde bulunur. JSP ve JSF hala Servlet'i kullanır. Bir Servlet, her yönüyle, herşeyden önce, bir Java nesnesidir.

Detaylı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine

Detaylı

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G. Veritabanı Dersi Teoriden Pratiğe Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G. BÖLÜM 25 Web den Erişim Ortak Geçit Arayüzü Bazı Web Kavramları

Detaylı

PHP 1. Hafta 1. Sunum

PHP 1. Hafta 1. Sunum PHP 1. Hafta 1. Sunum PHP101: PHP nedir? Bu dersten sonra bilecekleriniz PHP nedir? PHP ye neden ihtiyaç vardır? PHP nin gelişimi HTML, HTTP ve JS nedir? PHP yle alakası nedir? PHP nin uygulama alanları

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ı

Web Uygulama Anaçatıları. Tahir Emre KALAYCI. May 5, 2009

Web Uygulama Anaçatıları. Tahir Emre KALAYCI. May 5, 2009 Web Uygulama Anaçatıları Tahir Emre KALAYCI May 5, 2009 Gündem 1 Web Uygulama Anaçatıları Nedir? Spring, Ruby On Rails, ZK, CakePHP, Flex, GWT, Dojo 2 İçerik Yönetim Sistemleri Nedir? Drupal, Joomla!,

Detaylı

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

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

Detaylı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders08/ 1 Servlet Nedir? Internetin ilk zamanlarında geliştirilen web sayfaları durağan bilgiler içeriyordu. Zaman geçtikçe web sayfaları daha değişken,

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü EYLÜL 2012 İŞLETİM SİSTEMLERİ İÇERİK 2 2 Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri Unix Linux Windows Mac OS Android Yazılım Yazılım(Software),

Detaylı

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü TCMB Deneyim Raporu Kurumsal Java Uygulama Platformu Sacit Uluırmak Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü 2007 TCMB made available under the EPL v1.0 30.04.2007 Gündem

Detaylı

Swing ve JDBC ile Database Erişimi

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

Detaylı

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür. Nagios Enterprises, kurumsal ölçekte, BT altyapı gözetiminde endüstri standardı olan Nagios için resmi ürünler, hizmetler ve çözümler sunuyor. Dünya çapında yüz binlerce kullanıcıyla Nagios bilgi teknolojileri

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

OPC Data Access (DA) Temelleri

OPC Data Access (DA) Temelleri OPC Data Access (DA) Temelleri Hazırlayan Kepware Technologies Türkçe Meal Salih GÖK Anket Data Access nedir? Data Access in getirileri OPC DA e giriş (Data Access) OPC DA Özelliklerine bakış Hızlı bir

Detaylı

Java Temel Özellikleri

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

Detaylı

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Programlama Dilleri II Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Ders Hakkında.NET, Ye n i Je n era syo n Inter n et in geliştirilmesi için gerekli ürün ve teknoloji platformudur. Bugün sayısal

Detaylı

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164 xi Ruby on Rails Nedir? 2 Rails Neden Farklıdır? 2 Başlamadan Önce Bilinmesi Gerekenler 4 İnternet Nasıl Çalışır? 4 İstemci-Web Sunucu İlişkisi 5 HTTP Protokolü 6 URL-Kaynak Konumlandırma Adresleri 7 HTTP

Detaylı

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı. 26 Şub. 2013 Öğr. Gör.

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı. 26 Şub. 2013 Öğr. Gör. Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı 26 Şub. 2013 Öğr. Gör. Murat KEÇECİOĞLU PHP Nedir? Platformdan bağımsız (işletim Sistemi) dinamik web sayfaları

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ı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI 19.10.2015. 3 Yazılım Türleri

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI 19.10.2015. 3 Yazılım Türleri İÇERİK 2 BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI İşletim Sistemleri ÖĞR. GÖR. HASAN ALİ AKYÜREK Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

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

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

Detaylı

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

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

Detaylı

Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey

Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey Hande DOĞAN KÖSEOĞLU 04.11.2010 Kapsam Veri Erişim ve Yönetim Kütüphanesi Bileşen Tabanlı Mimari

Detaylı

MODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan, gokhan@enderunix.org

MODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan, gokhan@enderunix.org MODSECURITY DENETİM KAYITLARINI ANLAMAK Gökhan Alkan, gokhan@enderunix.org 1 İÇİNDEKİLER MODSECURITY DENETİM KAYITLARINI ANLAMAK... 1 1. ModSecurity Nedir?... 3 2. ModSecurity Nasıl Çalışır?... 3 3. ModSecurity

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 3 Gün 18 Saat COĞRAFİ

Detaylı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı 1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi

Detaylı

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR 4.ÜNĐTE Đyi bir DNS in içermesi gereken özellikler nelerdir? ( 5 ) Đsimlendirme imlası açık ve süphesiz olmalıdır; Bir kullanıcı bir isme

Detaylı

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

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

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JSP Etiketletleri(Tags) Üst Düzey Programlama-ders06/ 1 Kişiye Özel JSP Etiketleri JSP Etiketleri, JSP sayfasında yazılan Java script leri yerine kullanılabilen HTML etiketleri yapısına

Detaylı

Interact API v2.0 Belge sürümü : 2.0.0

Interact API v2.0 Belge sürümü : 2.0.0 Interact API v2.0 Belge sürümü : 2.0.0 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 Hata kodları...4

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 3 Gün 18 Saat COĞRAFİ

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ı

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

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

Detaylı

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design Chapter 6 Mimari Tasarım Lecture 1 1 Konular Mimari Tasarım Kararları Mimari Bakış Açıları Mimari Desenler Uygulama Mimarileri 2 Yazılım Mimarisi Sistemi meydana getiren alt sistemlerin belirlenmesi için

Detaylı

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

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

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama XML 1 XML XML (Extensible Markup Language) verileri belirli yapıda tutmak için kullanılan bir işaretleme dilidir. Bu yapı bilindiği için verinin istenildiğinde kullanılmasını, değiştirilmesini

Detaylı

Asp.Net Veritabanı İşlemleri

Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

ESİS Projesi. Kaynaklar Bakanlığı

ESİS Projesi. Kaynaklar Bakanlığı ESİS Projesi Hem ulusal, hem de uluslararası platformda enerji, bir ülkenin politika üretmesi ve uygulaması gereken en önemli stratejik alanlardan birisidir. Ülkemiz de sahip olduğu kritik jeopolitik konumu

Detaylı

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.

Detaylı

Web Uygulama Güvenliği Kontrol Listesi 2010

Web Uygulama Güvenliği Kontrol Listesi 2010 Web Uygulama Güvenliği Kontrol Listesi 2010 1 www.webguvenligi.org Web uygulama güvenliği kontrol listesi 2010, OWASP-Türkiye ve Web Güvenliği Topluluğu tarafından güvenli web uygulamalarında aktif olması

Detaylı

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi eklenmesi KalacakYer.com BİTİRME ÖDEVİ Grup Elemanları: Demet NAR 040000660 Neşe e ALYÜZ 040000662 Danış ışman: Yrd. Doç Dr. Feza BUZLUCA

Detaylı

Kaspersky Open Space Security: Release 2. İşletmeniz için birinci sınıf bir BT güvenliği çözümü

Kaspersky Open Space Security: Release 2. İşletmeniz için birinci sınıf bir BT güvenliği çözümü Kaspersky Open Space Security: Release 2 İşletmeniz için birinci sınıf bir BT güvenliği çözümü Güncellenmiş uygulamalar Updated applications Release 2 uygulamaları: Kaspersky Anti-virus for Windows Workstations

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ı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

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ı

ClientAceDA Bağlantısı. ClientAce DA bağlantısı, Visual Basic.NET veya C# programcılarının rahatlıkla. serverlarla bağlantı kurabilen

ClientAceDA Bağlantısı. ClientAce DA bağlantısı, Visual Basic.NET veya C# programcılarının rahatlıkla. serverlarla bağlantı kurabilen Kepware'in ClientAce OPC.NET Toolkiti, bir OPC client uygulaması yapmak isteyen programcılara kullanımı kolay bir tool sunar. ClientAce, iki ana parça içeren bir nesne temelli programlama tool dur: DA

Detaylı

Servis olarak Altyapı

Servis olarak Altyapı Servis olarak Altyapı Servis olarak Altyapı (Infrastructure as a Servis, IaaS) fiziksel makineler, sanal makineler ve sanal depolama gibi temel kaynaklara erişebilmeyi sağlar. Bu kaynaklardan başka IaaS

Detaylı

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language) TÜMLEŞİK MODELLEME DİLİ UML (Unified Modeling Language) UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların, Özellikle birden fazla yazılımcı tarafından kodlanacağı

Detaylı

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

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

Detaylı

Internet Programming II

Internet Programming II Hafta I Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 15 Şub. 2015 PHP Nedir? Platformdan bağımsız (işletim Sistemi) dinamik web sayfaları ve

Detaylı

İNTERNET PROGRAMLAMA II. Tanımlar

İNTERNET PROGRAMLAMA II. Tanımlar İNTERNET PROGRAMLAMA II Tanımlar WWW( World Wide Web) Dünya üzerindeki bütün bilgisayarların bağlı olduğu bir ağdır. Çoğunlukla Web olarak adlandırılır. Web üzerindeki bilgisayarlar standart protokolleri

Detaylı

MOBIL UYGULAMA GELIŞTIRME

MOBIL UYGULAMA GELIŞTIRME MOBIL UYGULAMA GELIŞTIRME PELIN YILDIRIM FATMA BOZYIĞIT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Android Nedir ve Uygulama Temelleri Android Uygulama Bileşenleri

Detaylı

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing Chapter 8 Yazılım Testi Lecture 1 1 Konular Geliştirme testi Test tabanlı geliştirme Sürüm testi Kullanıcı testi 2 Programı test etmek Test etmek, bir programın yapması gereken şeyi yaptığını doğrulamak

Detaylı