ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ

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

Download "ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ"

Transkript

1 ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ BĠTĠRME ÖDEVĠ BAġLIĞI AKILLI EV OTOMASYONU PROTOTĠPĠ BĠLEġENLERĠNĠN, WEB TABANLI UYGULAMA VE MOBĠL ĠġLETĠM SĠSTEMĠ UYGULAMASI ĠLE UZAKTAN KONTROLÜNÜ SAĞLAMAK. Yazarın Adı SOYADI Semih ERDEM DanıĢmanın Adı SOYADI Cengiz TOGAY Mayıs, 2012 ÇANAKKALE

2 BĠTĠRME ÖDEVĠ BAġLIĞI AKILLI EV OTOMASYONU PROTOTĠPĠ BĠLEġENLERĠNĠN, WEB TABANLI UYGULAMA VE MOBĠL ĠġLETĠM SĠSTEMĠ UYGULAMASI ĠLE UZAKTAN KONTROLÜNÜ SAĞLAMAK. Çanakkale Onsekiz Mart Üniversitesi Mühendislik-Mimarlık Fakültesi Bitirme Ödevi Bilgisayar Mühendisliği Bölümü Yazarın Adı ve SOYADI Semih ERDEM DanıĢmanın Adı ve SOYADI Cengiz TOGAY Mayıs, 2012 ÇANAKKALE ii

3 SEMĠH ERDEM, tarafından YRD. DOÇ. DR. CENGĠZ TOGAY yönetiminde hazırlanan AKILLI EV OTOMASYONU PROTOTĠPĠ BĠLEġENLERĠNĠN, WEB TABANLI UYGULAMA VE MOBĠL ĠġLETĠM SĠSTEMĠ UYGULAMASI ĠLE UZAKTAN KONTROLÜNÜ SAĞLAMAK başlıklı çalışma tarafımızdan okunmuş, kapsamı ve niteliği açısından bir Bitirme Ödevi olarak kabul edilmiştir. Jüri Başkanı Jüri Üyesi Jüri Üyesi Bölüm Başkanı Bilgisayar Mühendisliği Bölümü iii

4 TEġEKKÜR Bitirme ödevi projesinde kendisiyle çalışma imkanı sunan, bilgilerini ve yardımlarını bizden esirgemeyen değerli hocam Yrd. Doç. Dr. Cengiz Togay a teşekkür ederim. Projenin prototipinin hazırlanmasında emeği geçen, değerli zamanını bize ayıran Öğr. Gör. Utku Bayram a ve bulunduğum konuma gelmemi sağlayan aileme, tüm hocalarıma, arkadaşlarıma teşekkür ederim. Semih Erdem iv

5 SĠMGELER VE KISALTMALAR JSF (Java Server Faces): Java Sunucu Yüzü. IDE(Integrated Development Environment): Tümleşik Geliştirme Ortamı. Winmo(Windows Mobile): Windows Mobile İşletim Sistemi v

6 BĠTĠRME ÖDEVĠNĠN ADI Akıllı ev otomasyonu prototipi bileşenlerinin, web tabanlı uygulama ve mobil işletim sistemi uygulaması ile uzaktan kontrolünü sağlamak. ÖZET Çalışma bir client/server modelidir. Projede bir ev prototipi oluşturuldu. Prototipe ısı sensörü, ledler, parolalı kapı girişi, alarm sensörü, klima yerine kullanılacak fan ve kapı otomatı eklendi. Yani bir evde olması gereken temel bileşenler yerleştirildi. Amacım bu çalışmada yer alan bileşenleri, internet bağlantısı ile uzaktan kontrolünü sağlamak. Bunu mobile işletim sistemi ve web tabanlı bir uygulama ile başardım. Client tarafta JSF ve PrimeFaces kullanarak web tabanlı bir uygulama arayüzü geliştirdim. Mobil tarafta ise Windows Mobile 6.5 işletim sisteminde uygulama geliştirdim. Prototipte veri durumlarını bir internet bağlantısı ile ağa sunmak gerekiyordu. Bu nedenle bir Java Web Servis yazdım. Web Servis ile Java Communication Api kullanarak, prototipte yer alan bileşenlerin durum bilgilerini seri porttan çekip ağa sundum. Böylece bileşenlerin durum bilgilerini clientlara iletmeyi başardım. Akıllı ev Pic Web Servis Mobil uygulama ġekil 1. Proje şeması vi

7 ĠÇĠNDEKĠLER BİTİRME ÖDEVİ ONAY SAYFASI TEŞEKKÜR SİMGELER VE KISALTMALAR ÖZET Sayfa iii iv v vi BÖLÜM 1-GĠRĠġ Yazılım Geliştirme Ortamlarının Kurulması Eclipse Geliştirme Ortamı Kurulumu Dinamik Web Projesi Oluşturulması Dinamik Web Projesine Primefaces Kütüphanesinin Eklenmesi Microsoft Visual Studio 2008 Ortamının Kurulması Windows Mobile 6.5 Uygulaması Oluşturulması 5-6 BÖLÜM 2- ANA BÖLÜM Web Servisin Oluşturulması Java Communication Api Nedir ve Kurulumu Apache Axis2 ile Web Servis Oluşturma JSF ve Primefaces Kullanarak Web Tabanlı Uygulama Oluşturma Login Ekranının Oluşturulması Login Ekranı View Katmanının Oluşturulması Login Ekranı Model Katmanının Oluşturulması Kullanıcının Login Olabilmesi İçin Veri Tabanı Kontrolü Anasayfanın Oluşturulması Anasayfanın View Katmanının Oluşturulması Anasayfanın Model Katmanının Oluşturulması Ayarların Oluşturulması Ayarların View Katmanının Oluşturulması Ayarların Model Katmanının Oluşturulması vii

8 2.3 Oluşturulan Web Tabanlı Uygulamaya Web Client Özelliği Eklenmesi Mobil İşletim Sistemi Uygulamasının Oluşturulması Mobil Uygulamanın Arayüzünün Oluşturulması Mobil Uygulamaya Web Servisin Eklenmesi Mobil Uygulamanın Akıllı Telefonlar İçin Hazır Hale Getirilmesi Devre Şeması F877 PIC Program KAYNAKLAR 50 ġekiller 51 viii

9 ix

10 BÖLÜM 1 GĠRĠġ Yazılım geliştirmek için gereken ortamın oluşturulması. 1.1 Yazılım Geliştirme Ortamlarının Kurulması. Web tabanlı uygulama ve web servis geliştirimi, Java programlama dili ile gerçekleştirilmesi nedeniyle yazılım geliştirme ortamı olarak Eclipse IDE for Web Developer (Version Indigo Release) seçildi. Winmo 6.5 mobil işletim sistemi uygulaması için yazılım geliştirme ortamı olarak Microsoft Visual Studio 2008 seçildi Eclipse Geliştirme Ortamı Kurulumu. Öncelikle Windows işletim sistemi için Eclipse geliştirme ortamında Java programlama dili ile uygulama geliştirme istiyorsak, bilgisayarımızda Java Runtime Environment ve Java Development Kit yüklü olmalıdır. Bunları adresinden elde edebiliriz. Daha sonra bağlantısından Eclipse IDE for Java EE Developer (Version Indigo 3.7) indirilir. İndirilen dosya sıkıştırılmış dosya şeklindedir ( zip ya da tar.gz ). Bu dosyayı sizin seçiminiz olan bir dizene sıkıştırılmış halden dışarı çıkarılır. Eclipse.exe çalıştırılır. Şekil 1.1 deki görüntü elde edilir. 1

11 ġekil 1.1. Eclipse geliştirme ortamı arayüzü Dinamik Web Projesi Oluşturulması. Dinamik web projesi oluşturmak için öncelikle bir uygulama sunucusuna ve gerekli jar dosyalarına ihtiyacımız var. Uygulama sunucusu olarak Tomcat 6.0 seçildi. adresinden uygulama elde edilebilir. Gerekli olan jstl-1.2.jar sayfasından bilgisayarımıza indiriyoruz. Öncelikle uygulama sunucumuzu kuralım. Şekil 1.1 de görülen en alt panelde Servers kısmına sağ tıklayın New > Server diyerek Tomcat v6.0 Server ı seçip Next diyoruz. Sonraki ekrandan Browse diyerek indirdiğimiz Tomcat uygulama sunucusu dosyasının yolunu gösteririz. JRE yi jr6 olarak seçip Finish diyoruz. Sonra Servers panelinden Tomcat i çift tıklarız ve açılan ekrandan Use Tomcat Installation seçilir. Ardından kaydedilir. Şekil 1.2 de gösterilmektedir. 2

12 ġekil 1.2. Use Tomcat installation. Servers panelinden Tomcat i başlattığımızda bir tarayıcıya yazarız ve karşımıza şekil 1.3 teki gibi görüntü ortaya çıkar. ġekil 1.3. Tomcat başlatıldığında alınan ekran görüntüsü. 3

13 Şimdi dinamik web projesi oluşturabiliriz. Eclipse ekranından File -> New -> Dynamic Web Project diyoruz. Sırasıyla aşağıdaki şekilleri izliyoruz. ġekil 1.4. Dynamic web project başlangıç görünümü. Gelecek iki ekranı da next diyerek geçelim. JSF kütüphanelerini ekleyeceğimiz kısma geçelim. ġekil 1.5. JSF kütüphane ekranı. 4

14 Şekil 1.5 deki ekrandan dosya yükleme butonuna tıklarız. JSF için Oracle ın son sürüm kütüphanelerini yükleriz. Yükleme işlemi bittikten sonra Finish deriz. Projeye sağ tıklayıp Run As > Run on Server dersek projemizi çalıştırırız Dinamik Web Projesine Primefaces Kütüphanesinin Eklenmesi. Projede web tabanlı uygulamada kullanışlı ve güzel bir arayüz oluşturmak amacıyla JSF için Primefaces kütüphanesini kullandım. Peki nedir Primefaces? Primefaces bileşenleri sayesinde yazılımcıyı HTML, CSS, Javascript ile ilgili detaylardan kurtarıyor ve yapılacak ana işe odaklanmasını sağlıyor. Primefaces açık kaynak kodlu bir yazılım ve Türkiye de geliştirilip uluslararası pazarda kendine yer edinmiş nadir projelerden. Daha detaylı bilgileri adresinden alabilirsiniz. adresinden son versiyonları indirilip, bu jar dosyalarını(kütüphane) projeye sağ tıklayıp Build Path > Configure Build Path deriz ve Libraries kısmından projeye import ederiz Microsoft Visual Studio 2008 Ortamının Kurulması. dan MVS 2008 i indirip kuruyoruz. adresinden Windows Mobile 6.5 Professional Developer Tool Kit (USA).msi indirilir ve bilgisayarımıza kuruyoruz Windows Mobile 6.5 Uygulaması Oluşturulması. Visual Studio ya gerekli kurulumları yaptıktan sonra File -> Project diyoruz ve Visual C# kısmından Smart Device ı seçip gerekli proje ismini verdikten sonra karşımıza şekil 1.6 daki ekran geliyor. 5

15 ġekil 1.6. Winmo 6.5 yeni proje oluşturma. Gelen ekrandan yukarıdaki işlemleri yapıp Device Application seçilir ve Ok a basılır. Böylece Windows Mobile 6.5 uygulaması oluşturmaya hazırız. 6

16 BÖLÜM 2 ANA BÖLÜM 2.1 Web Servisin Oluşturulması. Giriş bölümünde IDE üzerine uygulama sunucusu kurma ve dinamik web projesi oluşturma olayını anlattık. Web servis implementasyonu için Apache Axis2 kullandım. Proje oluşturmadan önce web servis için gerekli jar dosyalarını adresinden indirelim. Daha sonra Eclipse de Open -> Window -> Web Services -> Axis2 Preferences diyerek indirdiğimiz dosyaların yolunu gösterelim. Şimdi web servis için Axis2 özellikleriyle desteklenen bir web projesi oluşturmaya hazırız. Yeni bir adı Axis2WebService olan web projesi oluşturalım. Bu Bölüm de anlatıldı. Çıkan ekrandan Modify butonuna tıklayalım karşımıza çıkan ekran Şekil 2.1 de gösterilmektedir. Çıkan ekrandan Axis2 Web Services i işaretleyelim. Sonrasında Bölüm de anlatılan prosedürleri uygulayalım. ġekil 2.1. Axis2 web servis seçimi. 7

17 Projeyi oluşturduktan sonra projeye Service paketi ekleyelim. Pakete WP7Service sınıfımızı ekleyelim. Oluşturulan sınıfımızın kaynak kodları şu şekildedir. package Service; import java.io.serializable; import java.util.vector; import comport.javacomport; public class WP7Service { private static final long serialversionuid = 1L; private static boolean doorstatus; private static boolean windowstatus; private static boolean airconditionerstatus; private static boolean alarmstatus; private static boolean lightstatus; private static int roomtemperature; private Vector servicevector; private static int kontrol = 0; private static int kontrol1 = 0; private static JavaComport jcomport; public WP7Service() { public String semih() { return "Deneme"; public void yazdir() { kontrol++; if (kontrol == 1) { jcomport = new JavaComport(); try { servicevector = new Vector(); servicevector = jcomport.baslat(); 8

18 catch (InterruptedException e) { // TODO Auto-generated catch block e.printstacktrace(); if (Integer.parseInt((String) servicevector.get(servicevector.indexof("@") + 1)) == 1) { airconditionerstatus = true; else { airconditionerstatus = false; if (Integer.parseInt((String) servicevector.get(servicevector.indexof("$") + 1)) == 1) { lightstatus = true; else { lightstatus = false; if (Integer.parseInt((String) servicevector.get(servicevector.indexof("%") + 1)) == 1) { doorstatus = true; else { doorstatus = false; int a=integer.parseint((string) servicevector.get(servicevector.indexof("&") + 1)); int b=integer.parseint((string) servicevector.get(servicevector.indexof("&") + 2)); roomtemperature=(a*10)+b; int room =Integer.parseInt( (String) (servicevector.get(servicevector.indexof("<") + 1))); roomtemperature = Integer.parseInt(room); 9

19 System.out.println("room: " + room); public static boolean isdoorstatus() { return doorstatus; public static void setdoorstatus(boolean doorstatus) { if (WP7Service.doorStatus == false) { WP7Service.doorStatus = true; try { jcomport.mywrite("d"); catch (InterruptedException e) { e.printstacktrace(); else if (WP7Service.doorStatus == true) { WP7Service.doorStatus = false; try { jcomport.mywrite("e"); catch (InterruptedException e) { e.printstacktrace(); public static boolean isairconditionerstatus() { return airconditionerstatus; public static void setairconditionerstatus(boolean airconditionerstatus) { if (WP7Service.airConditionerStatus == false) { WP7Service.airConditionerStatus = true; try { jcomport.mywrite("f"); 10

20 catch (InterruptedException e) { e.printstacktrace(); else if (WP7Service.airConditionerStatus == true) { WP7Service.airConditionerStatus = false; try { jcomport.mywrite("g"); catch (InterruptedException e) { e.printstacktrace(); public static boolean isalarmstatus() { return alarmstatus; public static void setalarmstatus(boolean alarmstatus) { WP7Service.alarmStatus = alarmstatus; public static boolean islightstatus() { return lightstatus; public static void setlightstatus(boolean lightstatus) { if (WP7Service.lightStatus == false) { WP7Service.lightStatus = true; try { jcomport.mywrite("l"); catch (InterruptedException e) { e.printstacktrace(); else if (WP7Service.lightStatus == true) { WP7Service.lightStatus = false; try { 11

21 jcomport.mywrite("k"); catch (InterruptedException e) { e.printstacktrace(); public static int getroomtemperature() { return roomtemperature; public static void setroomtemperature(int roomtemperature) { WP7Service.roomTemperature = roomtemperature; public static boolean iswindowstatus() { return windowstatus; public static void setwindowstatus(boolean windowstatus) { WP7Service.windowStatus = windowstatus; Sınıfımız bu şekilde yazıldıktan sonra bir comport paketi yaratalım. Sınıfımızın ismini JavaComport olarak verdikten sonra aşağıdaki kodları ekleyelim. JavaComport sınıfı port üzerinden bileşenlerimizin donanımsal olarak bağlı olduğu PIC ile haberleşen sınıf. MyWrite fonksiyonu seri porttan yazma, myread fonksiyonu seri porttan okuma işlemini gerçekleştirir. package comport; import java.io.*; import java.util.*; import javax.comm.*; public class JavaComport implements Runnable, SerialPortEventListener { static CommPortIdentifier portid; static String messagestring; 12

22 static SerialPort serialport; static OutputStream outputstream; Thread readthread; InputStream inputstream; private static int kontrol = 1; private Vector vector ; 2000); public Vector baslat() throws InterruptedException { messagestring = "+b"; vector = new Vector(); mywrite(""); myread(); kontrol++; Thread.sleep(500); for (int i = 0; i < vector.size(); i++) { System.out.print(vector.get(i)); System.out.println(); return vector; public JavaComport() { try { portid = CommPortIdentifier.getPortIdentifier("COM4"); catch (NoSuchPortException e1) { // TODO Auto-generated catch block e1.printstacktrace(); try { serialport = (SerialPort) portid.open("simplewriteapp", catch (PortInUseException e) { e.printstacktrace(); 13

23 public void mywrite(string string) throws InterruptedException { if(string == "f") messagestring = "+f"; else if(string == "g") messagestring = "+g"; else if(string == "l") messagestring = "+l"; else if(string == "k") messagestring = "+k"; else if(string == "d") messagestring = "+d"; else if(string == "e") messagestring = "+e"; try { outputstream = serialport.getoutputstream(); catch (IOException e) { try { serialport.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); catch (UnsupportedCommOperationException e) { try { outputstream.write(messagestring.getbytes()); catch (IOException e) { Thread.sleep(500); public void myread() throws InterruptedException { try { inputstream = serialport.getinputstream(); catch (IOException e) { System.out.println(e); 14

24 try { if (kontrol == 1) serialport.addeventlistener(this); catch (TooManyListenersException e) { System.out.println(e); serialport.notifyondataavailable(true); try { serialport.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); catch (UnsupportedCommOperationException e) { System.out.println(e); readthread = new Thread(this); readthread.start(); public void run() { try { Thread.sleep(20000); catch (InterruptedException e) { System.out.println(e); public void serialevent(serialportevent event) { switch (event.geteventtype()) { case SerialPortEvent.BI: case SerialPortEvent.OE: case SerialPortEvent.FE: 15

25 case SerialPortEvent.PE: case SerialPortEvent.CD: case SerialPortEvent.CTS: case SerialPortEvent.DSR: case SerialPortEvent.RI: case SerialPortEvent.OUTPUT_BUFFER_EMPTY: break; case SerialPortEvent.DATA_AVAILABLE: byte[] readbuffer = new byte[1]; try { while (inputstream.available() > 0) { int numbytes = inputstream.read(readbuffer); vector.add(new String(readBuffer)); catch (IOException e) { System.out.println(e); break; Aslında JavaComport sınıfını kullanabilmek için Java Communication Api yi projeye tanıtmamız gerekiyor Java Communication Api Nedir ve Kurulumu. Java Communication Api Windows İşletim Sistemi nde COM portlara erişimi sağlar. Bu Api ile her port için bir nesne yaratabiliriz, portları açabiliriz, asenkron ve senkron iletişim sağlayabiliriz. Biz de prototipteki bileşenlerin durumlarına erişmek ve durumlarını değiştirmek için COM portları kullanacağız. Bunu ise RS-232 donanımı ile sağlarız html adresinden Api yi indirelim. Api dosyasında bulunan dosyalar 16

26 comm.jar, win32com.dll, javax.comm.properties. Win32com.dll dosyası Windows işletim sisteminde System32 klasörüne atılır. Comm.jar ve javax.comm.properties dosyaları ise projeye import edilir Apache Axis2 ile Web Servis Oluşturma. Sınıflarımızı oluşturup, Java Communication Api yi projemize eklendikten sonra WP7Service sınıfımıza sağ tıklıyoruz ve New -> Other -> Web Service diyoruz. Şekil 2.2 deki görüntüyü elde ederiz. ġekil 2.2. Web servis uygulaması için ilk adım. Şekil 2.2 deki ekrandan Web service runtime: Apache Axis i tıklarız. Karşımıza çıkan Service Deployment Configuration ekranından Apache Axis2 yi seçelim. Gelecek ekranları Next diyerek geçelim ve böylece web servisimiz oluşturulmuş oldu. Projeyi Tomcat uygulama sunucumuzda çalıştırdığımız zaman, tarayıcıya eğer 8080 portundan çalışıyorsak yazarsak Şekil 2.3 teki ekran bizi karşılar. 17

27 ġekil 2.3. Apache Axis2 web servis karşılama ekranı. 2.2 JSF ve Primefaces Kullanarak Web Tabanlı Uygulama OluĢturma. Bölüm de dinamik web uygulamasına Primefaces kütüphanesi nasıl eklenir anlatıldı. Dinamik web tabanlı uygulamamız, prototipte yer alan bileşenlerin durumlarını gösteren ve bu durumları değiştirmemizi sağlayacak arayüzü bize sunar. Primefaces ise görsellik açısından kullanıldı. Client4 adında bir dinamik web uygulaması oluşturalım Login Ekranının Oluşturulması Login Ekranı View Katmanının Oluşturulması. View katmanında son kullanıcıların gördüğü, xhtml sayfalarımızın vb. bulunduğu görsel sayfalardır. Öncelikle Login ekranının Projede webcontent dizinine sağ 18

28 tıklayalım. New -> HTML File diyelim. Çıkan ekrandan Login.xhtml dosyası oluşturalım ve aşağıdaki kodları ekleyelim. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:h=" xmlns:f=" xmlns:p=" xmlns:ui=" <h:head> <title>primefaces with facelet</title> </h:head> <h:body onload="dlg.show()"> <p:dock position="top"> <p:menuitem value="ayarlar" icon="/images/settings1.png" url="settings.xhtml" /> <p:menuitem value="yenile" icon="/images/refresh.png" url="login.xhtml" /> </p:dock> <p:growl id="growl" showdetail="true" life="3000" /> *" /> <p:dialog id="dialog" header="login" width="420" widgetvar="dlg"> <h:form> id="username" hatası: Boş değer girilemez." /> <h:panelgrid columns="2" cellpadding="5"> <h:outputlabel for="username" value="kullanici Adi: <p:inputtext value="#{loginbean.username" required="true" label="username" requiredmessage="kullanıcı adı: Doğrulama Boş değer girilemez." label="password" /> <h:outputlabel for="password" value="parola: * " /> <h:inputsecret value="#{loginbean.password" requiredmessage="parola: Doğrulama hatası: id="password" required="true" action="#{loginbean.login" status, args)" ></p:commandbutton> <f:facet name="footer"> <p:commandbutton value="giriş" oncomplete="handleloginrequest(xhr, 19

29 <p:commandbutton value="temizle" onclick="this.form.reset()"></p:commandbutton> </f:facet> </h:panelgrid> </h:body> </html> </h:form> </p:dialog> <script type="text/javascript"> function handleloginrequest(xhr, status, args) { if (args.validationfailed!args.loggedin) { jquery('#dialog').parent().effect("shake", { times : 3, 100); </script> Login Ekranı Model Katmanının Oluşturulması. JSF de model katmanında java beanler bulunur. Yani view katmanından gelen istekler java sınıfları tarafından gerçekleştirilir. Login ekranının model katmanını aşağıdaki şekilde oluştururuz. package client; import java.math.biginteger; import java.security.messagedigest; import java.security.nosuchalgorithmexception; import javax.faces.application.facesmessage; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; import javax.faces.validator.validatorexception; import = public class Login { private boolean giris; private String username; 20

30 private String password; public String getusername() { return username; public void setusername(string username) { this.username = username; public String getpassword() { return password; public void setpassword(string password) { this.password = password; public String login() { String md5password = getmd5sum(password); LoginPersistence loginpersistence = new LoginPersistence(); giris = loginpersistence.login(username, md5password); System.out.println("Deneme package Login username:"+username+" "+password); if (username!= null && password!= null && giris) { FacesMessage message = new FacesMessage(); message.setsummary("parola eşleşme hatası tekrar deneyiniz\nnot: Parola 50 karakterden fazlasını karakteri içermez "); throw new ValidatorException(message); else { System.out.println("else"); FacesMessage message = new FacesMessage(); message.setsummary("parola eşleşme hatası tekrar deneyiniz\nnot: Parola 50 karakterden fazlasını karakteri içermez "); throw new ValidatorException(message); 21

31 2.2.2 Kullanıcının Login Olabilmesi İçin Veri Tabanı Kontrolü. Kullanıcının prototipteki bileşenleri yönetebilmesi yetkilendirilmeye tabi tutulmuştur. Bu nedenle kullanıcının login olabilmesi için veri tabanı kontrolüne ihtiyaç duyulur. Veri tabanı olarak MySQL kullanıldı. Smarthouse isimli bir veritabanına, logintable adlı bir tablo oluşturuldu. ID(int), username(string), password(string) özelliklerlerinden oluşan tabloya kullanıcılar eklenir. Bu bizim JSF deki Controller katmanına denk gelmektedir. Kalıcı katman için persistence paketi oluşturuldu ve aşağıdaki sınıflar eklendi. package persistence; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; import java.sql.statement; public class Baglanti { public static Statement baglanti() { try { Class.forName("com.mysql.jdbc.Driver"); Connection baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/smarthouse","root"," "); Statement ifade = baglanti.createstatement(); return ifade; catch (ClassNotFoundException e) { e.printstacktrace(); catch (SQLException e) { e.printstacktrace(); return null; 22

32 package persistence; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class LoginPersistence { private boolean giris; public boolean login(string username, String password){ Statement st = Baglanti.baglanti(); String sql = "select *from logintable where username='" + username + "' and password='" + password + "' "; ResultSet set = null; try { set = st.executequery(sql); catch (SQLException e) { e.printstacktrace(); try { giris = set.next(); catch (SQLException e) { e.printstacktrace(); return giris; 23

33 2.2.3 Anasayfanın Oluşturulması Anasayfanın View Katmanının Oluşturulması. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:h=" xmlns:f=" xmlns:p=" xmlns:ui=" <h:head> <title>smart House Main Page</title>.yazi { <style type="text/css"> text-decoration: none; font-size: medium; font-family: monospace; font-weight: bolder; color: gray;.tarih { float: left; text-decoration: none; font-size: medium; font-family: monospace; font-weight: bolder; color: red; </style> <script type="text/javascript" src=" <script type="text/javascript"> google.load('visualization', '1', { packages : [ 'gauge' ] ); </script> <script type="text/javascript"> function drawvisualization() { var sicaklik = '<h:outputtext value="#{client.roomtemperature" />'; var data = new google.visualization.datatable(); var a = 4; data.addcolumn('string', 'Label'); data.addcolumn('number', 'Value'); data.addrows(2); 24

34 data.setvalue(0, 0, 'Oda Sıcaklığı'); data.setvalue(0, 1, parseint(sicaklik)); // Create and draw the visualization. new google.visualization.gauge(document.getelementbyid('visualization')).draw(data); google.setonloadcallback(drawvisualization); </script> </h:head> <h:body> <h:outputtext value="son Güncelleme: #{Client.tarih" styleclass="tarih"></h:outputtext> <p:dock position="top"> <p:menuitem value="anasayfa" icon="/images/home.png" url="main.xhtml" /> <p:menuitem value="ayarlar" icon="/images/settings1.png" url="settings.xhtml" /> <p:menuitem value="yenile" icon="/images/refresh.png" url="main.xhtml" /> <p:menuitem value="çıkış" icon="/images/exit.png" url="login.xhtml" /> </p:dock> <div style="margin: 50px auto auto auto; width: 200px; height: 200px;" id="visualization"></div> <h:form prependid="false" id="form"> <p:growl id="growl" showdetail="true" /> <center> <h:graphicimage width="104" height="98" value="#{client.picture" /> </center> <p:panel style="width:600px;margin: 80px auto auto auto;" header="smart House"> <div style="float: left;"> <p:commandlink update="aircon" action="#{client.clientaircondition"> <p:graphicimage width="104" height="98" value="/images/air.png" /> </p:commandlink> <br /> <h:outputtext id="aircon" styleclass="yazi" value="#{client.airconstring"></h:outputtext> </div> <div align="right"> 25

35 <p:commandlink action="#{client.clientlightstatus" update="light"> <h:graphicimage width="104" height="98" value="/images/light.png" /> </p:commandlink> <br /> <h:outputtext id="light" styleclass="yazi" value="#{client.lightstring"></h:outputtext> </div> <br></br> <br></br> <div style="float: left"> <p:commandlink action="#{client.clientdoorstatus" update="door"> <h:graphicimage width="104" height="98" value="/images/door.jpg" /> </p:commandlink> <br /> <h:outputtext id="door" styleclass="yazi" value="#{client.doorstring"></h:outputtext> </div> <div align="right"> <h:commandlink action="#"> <h:graphicimage width="104" height="98" value="/images/wake.jpg" /> <br /> <h:outputtext value="#"></h:outputtext> <f:ajax /> </h:commandlink> <h:outputtext></h:outputtext> </div> </p:panel> </h:form> </h:body> </html> Anasayfanın Model Katmanının Oluşturulması. package client; import java.rmi.remoteexception; import java.text.dateformat; import java.text.simpledateformat; import java.util.date; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; 26

36 import javax.faces.bean.viewscoped; import = public class Client { private boolean doorstatus; private String doorstring; private boolean windowstatus; private boolean airconditionerstatus; private String airconstring; private boolean alarmstatus; private boolean lightstatus = true; private String lightstring; private int roomtemperature; private String picture; private WP7ServicePortTypeProxy proxy; private DateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); private String tarih = dateformat.format(date); public Client() throws RemoteException, InterruptedException { proxy = new WP7ServicePortTypeProxy(); proxy.yazdir(); Thread.sleep(2000); loadairconditioner(); loadlight(); loadroomtemperature(); loaddoor(); public void loadroomtemperature() { try { 27

37 roomtemperature = proxy.getroomtemperature(); catch (Exception e) { System.out.println("Web Servise ulaşılamadı loadroom"); e.printstacktrace(); if (roomtemperature <= 0) { picture = "images/snow.gif"; else if (roomtemperature > 0 && roomtemperature <= 10) { picture = "images/weather_storm.png"; else if (roomtemperature > 10 && roomtemperature <= 20) { picture = "images/weather_st.png"; else picture = "images/weather_fog.png"; public void loadairconditioner() { try { airconditionerstatus = proxy.isairconditionerstatus(); catch (RemoteException e) { System.out.println("Web Servise ulaşılamadı loadair"); e.printstacktrace(); if (airconditionerstatus) airconstring = "Klima Açık"; else airconstring = "Klima Kapalı"; public void ClientAirCondition() throws InterruptedException { try { proxy.setairconditionerstatus(!airconditionerstatus); catch (RemoteException e) { e.printstacktrace(); 28

38 Thread.sleep(1500); // WEB SERVISTEKI METHOD SET EDILMEDEN ONCE // LOADAIRCONDITIONER SET EDILIYORDU BU NEDENLE // THREAD KULLANILDI // 1000 keyfi olarak secildi. loadairconditioner(); public void loadlight() { try { lightstatus = proxy.islightstatus(); catch (RemoteException e) { System.out.println("Web Servise ulaşılamadı loadlight"); e.printstacktrace(); if (lightstatus) lightstring = "Işıklar Açık"; else lightstring = "Işıklar Kapalı"; public void ClientLightStatus() throws InterruptedException { try { proxy.setlightstatus(!lightstatus); catch (RemoteException e) { e.printstacktrace(); Thread.sleep(1500); loadlight(); public void loaddoor() { try { doorstatus = proxy.isdoorstatus(); 29

39 catch (RemoteException e) { System.out.println("Web Servise ulaşılamadı loaddoor"); e.printstacktrace(); if (doorstatus) doorstring = "Kapı Açık"; else doorstring = "Kapı Kapalı"; public void ClientDoorStatus() throws InterruptedException { try { proxy.setdoorstatus(!doorstatus); catch (RemoteException e) { e.printstacktrace(); Thread.sleep(1500); loaddoor(); public String getairconstring() { return airconstring; public void setairconstring(string airconstring) { this.airconstring = airconstring; public String getlightstring() { return lightstring; public void setlightstring(string lightstring) { this.lightstring = lightstring; public int getroomtemperature() { return roomtemperature; 30

40 public void setroomtemperature(int roomtemperature) { this.roomtemperature = roomtemperature; public String getpicture() { return picture; public void setpicture(string picture) { this.picture = picture; public boolean iswindowstatus() { return windowstatus; public void setwindowstatus(boolean windowstatus) { this.windowstatus = windowstatus; public String gettarih() { return tarih; public void settarih(string tarih) { this.tarih = tarih; public boolean isdoorstatus() { return doorstatus; public void setdoorstatus(boolean doorstatus) { this.doorstatus = doorstatus; public String getdoorstring() { return doorstring; 31

41 public void setdoorstring(string doorstring) { this.doorstring = doorstring; Ayarların Oluşturulması Ayarların View Katmanının Oluşturulması. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:h=" xmlns:f=" xmlns:p=" xmlns:ui=" <h:head> <title>settings</title> </h:head> <h:body> <p:dock position="top"> <p:menuitem value="anasayfa" icon="/images/home.png" url="main.xhtml" /> <p:menuitem value="ayarlar" icon="/images/settings1.png" url="settings.xhtml" /> <p:menuitem value="yenile" icon="/images/refresh.png" url="settings.xhtml" /> <p:menuitem value="çıkış" icon="/images/exit.png" url="login.xhtml" /> *" /> </p:dock> <h:form> <p:growl id="growl" showdetail="true" /> <p:panel style="width:500px;margin: 80px auto auto auto;" header="ayarlar" cellpadding="5"> <h:panelgrid columns="2"> <h:outputlabel for="username" value="kullanici Adi: id="username" hatası: Boş değer girilemez." /> <p:inputtext value="#{settingsbean.username" required="true" label="username" requiredmessage="kullanıcı adı: Doğrulama 32

42 <h:outputlabel for="password" value="parola: * " /> Boş değer girilemez." label="password" /> Parola: * " /> Boş değer girilemez." label="newpassword" /> <p:password value="#{settingsbean.password" requiredmessage="parola: Doğrulama hatası: id="password" required="true" <h:outputlabel for="newpassword" value="yeni <p:password value="#{settingsbean.newpassword" requiredmessage="parola: Doğrulama hatası: id="newpassword" required="true" <h:outputlabel for="password1" value="parola Doğrula: * " /> <p:password value="#{settingsbean.confirmpassword" requiredmessage="parola: Doğrulama hatası: Boş değer girilemez." id="password1" required="true" label="password1" /> <p:commandbutton value="gonder" update="growl" action="#{settingsbean.dogrula"></p:commandbutton> </h:panelgrid> </p:panel> </h:form> </h:body> </html> Ayarların Model Katmanının Oluşturulması. package settings; import javax.faces.application.facesmessage; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; import javax.faces.context.facescontext; import persistence.loginpersistence; import persistence.settingspersistence; 33

43 @ManagedBean(name = public class Settings { private String username; private String password; private String newpassword; private String confirmpassword; private boolean confirmupdate; private boolean user; private SettingsPersistence spersistence; private LoginPersistence loginpersistence; private FacesMessage message; public String getusername() { return username; public void setusername(string username) { this.username = username; public String getconfirmpassword() { return confirmpassword; public void setconfirmpassword(string confirmpassword) { this.confirmpassword = confirmpassword; public String getpassword() { return password; public void setpassword(string password) { this.password = password; 34

44 public void kaydet() { if (!newpassword.equals(confirmpassword)) { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Parola eşleşme hatası"); FacesContext.getCurrentInstance().addMessage(null, message); else { dogrula(); public String dogrula() { if (!newpassword.equals(confirmpassword)) { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Parola eşleşme hatası"); FacesContext.getCurrentInstance().addMessage(null, message); else { spersistence = new SettingsPersistence(); loginpersistence = new LoginPersistence(); user = loginpersistence.login(username, password); if (user) { confirmupdate = spersistence.update(username, password, newpassword); if (confirmupdate) { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Başarılı", "Parola güncellendi"); 35

45 FacesContext.getCurrentInstance().addMessage(null, message); return "Main.xhtml?faces-redirect=true"; else { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Parola güncellenemedi tekrar deneyiniz"); FacesContext.getCurrentInstance().addMessage(null, message); return "basarisiz"; else { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Kullanıcı Adı/Parolanızı kontrol ediniz"); FacesContext.getCurrentInstance().addMessage(null, message); return "basarisiz"; return "basarisiz"; public String getnewpassword() { return newpassword; public void setnewpassword(string newpassword) { 36

46 this.newpassword = newpassword; package persistence; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class SettingsPersistence { public boolean update(string username, String password, String newpassword) { Statement st = Baglanti.baglanti(); try { st.executeupdate("update logintable SET password='" + newpassword + "' where username='"+username+"' "); System.out.println("UPDATE YAPILDI"); return true; catch (SQLException e) { // TODO Auto-generated catch block e.printstacktrace(); return false; 2.3 Oluşturulan Web Tabanlı Uygulamaya Web Client Özelliği Eklenmesi. Web tabanlı uygulamızdan web servisteki olayları tetikleyebilmek amacıyla web client eklenmesi gerekmektedir. Projemize sağ tıklayarak New -> Other -> Web Service Client diyoruz. Karşımıza şekil 2.4 teki gibi bir ekran geliyor. 37

47 ġekil 2.4. Uygulamaya web servis client ekleme ekranı. Buradan Browse diyerek Select Service Implementation ekranı bizi karşılar. Browse tuşunun yanına yazarak web servisimizi ekleriz. Bu arada web servisimiz uygulama sunumuzda çalışıyor durumda olmalıdır ki bu işlemi yapabilelim. Finish dediğimiz anda web uygulamamızın paketlerinde Service adlı paket oluşmalı ve şu sınıfları içermelidir. WP7Service.java WP7ServiceLocator WP7ServicePortType WP7ServicePortTypeProxy WP7ServiceSoap11BindingStub 38

48 2.4 Mobil İşletim Sistemi Uygulamasının Oluşturulması Mobil Uygulamanın Arayüzünün Oluşturulması. Bölüm de anlatılan şekilde bir proje oluşturuyoruz. Form1.cs dosyasına ToolBox dan ısı sensörünün değeri için bir progressbar ve diğer bileşenler için 4 button ve değerlerin güncellenmesi için bir button sürükleriz. Form1.cs dosyasının arka planına şu kodları yazarız. using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; namespace _15Ocak2012 { public partial class SmartHouse : Form { private bool airconditionerstatus; private bool airconditionerstatus1; private bool lightstatus; private bool lightstatus1; private bool doorstatus; private bool doorstatus1; private int roomtemperature; private bool roomt; WebReference.WP7Service proxy; public SmartHouse() { InitializeComponent(); proxy = new WebReference.WP7Service(); proxy.yazdir(); Thread.Sleep(2000); label1.text = "Son Güncelleme: " + DateTime.Now.ToString("t"); loadairconditioner(); loadlight(); loaddoor(); // loadroomtemperature(); 39

49 public void loadroomtemperature() { proxy.getroomtemperature(out roomtemperature,out roomt); label2.text = roomtemperature.tostring() + " C"; if (roomtemperature > 0) progressbar1.value = (2 * roomtemperature); else progressbar1.value = 0; public void loadairconditioner() { proxy.isairconditionerstatus(out airconditionerstatus, out airconditionerstatus1); if (airconditionerstatus) { button1.text = "Klima Açık"; button1.backcolor = Color.Green; else { button1.text = "Klima Kapalı"; button1.backcolor = Color.Red; public void ClientAirCondition(object sender, EventArgs e) { proxy.setairconditionerstatus(!airconditionerstatus, airconditionerstatus1); loadairconditioner(); public void loadlight() { proxy.islightstatus(out lightstatus, out lightstatus1); if (lightstatus) { button2.text = "Işık Açık"; button2.backcolor = Color.Green; else { button2.text = "Işık Kapalı"; button2.backcolor = Color.Red; public void ClientLightStatus(object sender, EventArgs e) { 40

50 proxy.setlightstatus(!lightstatus, lightstatus1); loadlight(); public void loaddoor() { proxy.isdoorstatus(out doorstatus, out doorstatus1); if (doorstatus) { button3.text = "Kapı Açık"; button3.backcolor = Color.Green; else { button3.text = "Kapı Kapalı"; button3.backcolor = Color.Red; public void ClientDoorStatus(object sender, EventArgs e) { proxy.setdoorstatus(!doorstatus, doorstatus1); loaddoor(); public void guncelle(object sender, EventArgs e) { proxy.yazdir(); Thread.Sleep(2000); loadairconditioner(); loadlight(); loaddoor(); MessageBox.Show("Güncelleme Yapıldı"); label1.text = "Son Güncelleme: " + DateTime.Now.ToString("t"); 41

51 2.4.2 Mobil Uygulamaya Web Servisin Eklenmesi. Projeye sağ tıklarız ve Add Web Reference deriz ve bizi şekil 2.5 ekranı karşılar. ġekil 2.5. Add web reference ekranı. URL yazan kısma çalışır şekilde bulunan web servisin yolu verilir. Go tuşuna basılır ve Add Reference dediğimizde uygulamamız artık emülatörde çalışmaya hazır Mobil Uygulamanın Akıllı Telefonlar İçin Hazır Hale Getirilmesi. Solution Explorer a sağ tıklarız. Add -> New Project deriz. Project types panelinden Other Project Type -> Setup and Deployment sonra templates panelinden Smart Device CAB Project seçilir. Name verildikten sonra Ok a tıklarız. Şimdi isimlendirdiğimiz CAB projesi Solution Explorer da görünür. CAB projesine sağ tıklayıp Add > Project Output denilir. Gelen ekrandan Primary Output seçilir Ok a tıklanır. Sonra Build menüsünden CAB dosyası build edilir. Sonra hepsi kaydedilir. Projemizin bulunduğu dizinde CAB dosyamız bulunur, bu dosya artık Windows 42

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak http://tomcat.apache.org adresine gidiyoruz.

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak http://tomcat.apache.org adresine gidiyoruz. Tomcat Uygulama Sunucusunun Kurulumu İlk olarak http://tomcat.apache.org adresine gidiyoruz. Tomcat Uygulama Sunucusunun Kurulumu-2 Binary Distributions başlığı altındaki Core: seçeneğinin altında 32-bit

Detaylı

Data Structures Lab 1 2012-Güz

Data Structures Lab 1 2012-Güz Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim

Detaylı

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır. 1.Eclipse http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/s R2/eclipse-jee-juno-SR2-win32.zip&mirror_id=1163 linkinden indiriyoruz. 2.Eclipse açıldıktan sonra

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

Axis2 ile Web Servis Đstemci Örnekleri (Java, Delphi, C Sharp)

Axis2 ile Web Servis Đstemci Örnekleri (Java, Delphi, C Sharp) Axis2 ile Web Servis Đstemci Örnekleri (Java, Delphi, C Sharp) Bu dokümanda Unity On Demand (UOD) ürünündeki web servislerini kullanmak için farklı programlama dillerinde (Java, Delphi ve C#) istemci örneklerinin

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

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ı

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005 Kaynak Kodlardan Derleme Turquaz Muhasebe Versiyon 0.2 Hüseyin Ergün 26 Mart 2005 Turquaz Muhasebe, Kaynak Kodları Derleme Sayfa 2 İçindekiler İÇİNDEKİLER 2 GEÇMİŞ DEĞİŞİKLİKLER 3 1. GİRİŞ 4 1.1 AÇIKLAMA

Detaylı

MASTER PAGE SAYFASI KULLANIMI

MASTER PAGE SAYFASI KULLANIMI MASTER PAGE SAYFASI KULLANIMI Hazırladığımız Web sayfalarında sayfanın belli bölgelerinin sürekli sabit kalmasını istiyorsak ve bazı kısımlarının değişmesini istiyorsak Master Page Sayfası kullanırız.

Detaylı

SINIF İÇİ UYGULAMA KODLARI

SINIF İÇİ UYGULAMA KODLARI SINIF İÇİ UYGULAMA KODLARI ARABA HAREKET ETTİRME using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

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ı

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

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

Detaylı

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ. 20 Ocak 2012 / Cuma Yeni uygulama Yönetim adlı bir klasör oluşturacağız. Yönetim klasörü içerisine bir masterpage oluşturacağız. (tabloyla) Örneğin; Ana Sayfa Albüm ekle Fotoğraf ekle Content Place Holder(Değişecek

Detaylı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA) BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması

Detaylı

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 9 Şubat 2012 / Perşembe Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 1) emlakkategorisi adlı tabloyu oluşturuyoruz 1 2) ilanlar adlı tabloyu

Detaylı

KANTAR UYGULAMASI Kurulum Kılavuzu

KANTAR UYGULAMASI Kurulum Kılavuzu KANTAR UYGULAMASI Kurulum Kılavuzu Serhat Öztürk Medyasoft Danışmanlık ve Eğitim A.Ş. v.1.0 Kantar Uygulaması üç temel parçadan oluşur. Veritabanı, WCF servisi ve Masaüstü uygulaması. Bu nedenle sistemde

Detaylı

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table; using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data; using MySql.Data.MySqlClient; namespace arac_servisi

Detaylı

WAMP SERVER KURULUMU

WAMP SERVER KURULUMU WAMP SERVER KURULUMU Bilgisayarınızda; PHP web programlama dilini kullanarak web sayfası hazırlayacaksanız ya da PHP web programlama dili kullanılarak hazırlanmış Joomla, Wordpress, Drupal vb.. içerik

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ı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kullanıcı Doğrulama İşletim Sistemi Sistem Türü Öğrenme Bu başlıkta bilgisayarımızın mevcut

Detaylı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kullanıcı Doğrulama İşletim Sistemi Sistem Türü Öğrenme Bu başlıkta bilgisayarımızın mevcut

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

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

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

Detaylı

http://www.microsoft.com/visualstudio/eng/downloads

http://www.microsoft.com/visualstudio/eng/downloads Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio

Detaylı

BLGM 354 DENEY 1 * GİRİŞ

BLGM 354 DENEY 1 * GİRİŞ BLGM 354 DENEY 1 * GİRİŞ Amaçlar 1. Oracle istemcisi kurulumu 2. Veritabanı bağlantısı 3. SQL geliştirme ortamında çalışma Oracle İstemcisinin Kurulumu Oracle istemcisi bölümün FTP sunucusundan (ftp://ftp.cmpe.emu.edu.tr)

Detaylı

sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER 05-06-7670

sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER 05-06-7670 sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER 05-06-7670 http://www.ubenzer.com/ İ çindekiler İçindekiler...2 Tasarım

Detaylı

JBoss Seam. Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com

JBoss Seam. Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com JBoss Seam Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com Seam Framework JSF JPA EJB 3.0 Ajax RichFaces A4J Drools itext PDF JFreeChart Facelet Security SSL Web Servis Pojo IoC JBPM Hibernate

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ ÖRNEK 1 default.aspx

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA) İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

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ı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

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

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

Detaylı

WWW.OZTEKHABERLESME.COM

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

Detaylı

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir? JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 1.1- JasperReports Server ve Ireport Nedir? 1.2- JasperReports Server ve Ireport Kurulumu 1.3- JasperReports Server Genel

Detaylı

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI ECLIPSE PROGRAMININ ÇALIŞTIRILMASI 1 Eclipse programının çalışır hale getirilebilmesi için JDK nın kurulumunun tamamlanmış olması gerekmektedir. Eclipse programı dosyasını indiremediyseniz dersin internet

Detaylı

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. VS2005 den yeni bir web sitesi oluşturmasını isteyelim. Yeni bir ASP.NET

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ı

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

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

Detaylı

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ı

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK ORT3167 İnternet Programcılığı 1 Ders1-2 Öğr. Grv. Aybike ŞİMŞEK Dersin Amacı Web tabanlı uygulamalar Web Servisleri geliştirebiliyor duruma gelmek ve bunlarla ilgili bir projeyi takım çalışması ile gerçeklemek.

Detaylı

GridView ve DetailsView kullanarak kayıt düzenlemek

GridView ve DetailsView kullanarak kayıt düzenlemek GridView ve DetailsView kullanarak kayıt düzenlemek Bir önceki yazımda teorik olarak bu iki kontrole ait eventlerden söz etmiştim. Şimdi uygulama yapma zamanı. Bunun için daha önceki yazılarımıza devam

Detaylı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kart Okuyucu Sürücü Kurulum Kullanıcı Doğrulama 2 İşletim Sistemi Sistem Türü Öğrenme Bu

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ı

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu nda, aşağıdaki adımlar sırası ile takip edilmelidir. 1 - MAC İçin

Detaylı

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

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

Detaylı

C için tümleşik geliştirme ortamı (IDE) kurulumları

C için tümleşik geliştirme ortamı (IDE) kurulumları C için tümleşik geliştirme ortamı (IDE) kurulumları 1. Code::Blocks IDE 2. Eclipse IDE 3. Dev-C++ IDE 4. Code::Blocks EDU-Portable (CodeBlocks-EP) IDE ( IDE: Integrated Development Environment http://tr.wikipedia.org/wiki/t%c3%bcmle%c5%9fik_geli%c5%9ftirme_ortam%c4%b1

Detaylı

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım )

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım ) WEB E-POSTA AYARLARI Outlook 2003 Ayarı Outlook 2007 Ayarı Outlook 2010 Ayarı Gmail Ayarı Hotmail Ayarı Tüm Ayarlar İçin Gelen posta sunucusu (POP3) ve giden posta sunucusu (SMTP) ye bnposta.bingol.edu.tr

Detaylı

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI Kurulum Aşamaları: 1. Java Kurulumu 2. E-imza Sürücülerinin İndirilmesi 3. Kart Okuyucu Kurulumu 4. Akıllı Kart Kurulumu 5. Sertifikayı Kullanıma Açma Bilgisayarların

Detaylı

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

PERKON PDKS Kurulum ve hızlı başlangıç rehberi Oluşturma 02.11.2015 Revizyon: 19.01.2016 Rev. No: 03 Yazan: Süleyman FAKİR Düzenleyen: F. DELİRİ PERKON PDKS Kurulum ve hızlı başlangıç rehberi 1) PDKS Kurulumu, Lisans Onaylaması Ve Veri Tabanı Ayarları

Detaylı

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU Ders Tanıtım Sunumu Database Managegement II Elbistan Meslek Yüksek Okulu 2016 2017 Güz Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 08 Eyl. 2016 KURULUM SQL SERVER 2016 yılı başlarında piyasaya çıkan SQL Server

Detaylı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

CİSCO ANY CONNECT UYGULAMASI İLE İÇ KAYNAKLARA ERİŞİMİ KLAVUZU

CİSCO ANY CONNECT UYGULAMASI İLE İÇ KAYNAKLARA ERİŞİMİ KLAVUZU CİSCO ANY CONNECT UYGULAMASI İLE İÇ KAYNAKLARA ERİŞİMİ KLAVUZU Cisco any connect uygulaması ile kurum dışındaki bir bağlantı noktasından, mobil cihazlar (cep telefonu, tablet ve diz üstü bilgisayar) ile

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME Default.aspx

Detaylı

BİL132 Bilgisayar Programlama II

BİL132 Bilgisayar Programlama II BİL132 Bilgisayar Programlama II 8. Olağandışı durumlar (exceptions) Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yüksel Tarhan Olağandışı durum Kütük bulunamadı Diskte yer kalmadı Nesne referans

Detaylı

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU Sayfa 1 / 18 KURULUMA BAŞLANMADAN ÖNCE YAPILMASI GEREKENLER : Sistem Özelliklerinden işletim sisteminin 32-bit mi yoksa 64-bit mi olduğu kontrol

Detaylı

JBoss Seam Next Generation Integration Framework

JBoss Seam Next Generation Integration Framework JBoss Seam Next Generation Integration Framework Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Seam Framework JSF JPA Hibernate EJB 3.0 Ajax RichFaces A4J Drools itext PDF

Detaylı

BEUN VPN Hizmeti. VPN Nedir?

BEUN VPN Hizmeti. VPN Nedir? BEUN VPN Hizmeti VPN Nedir? VPN, Virtual Private Network, yani Sanal Özel Ağ ın kısaltılmasıdır. VPN, İnternet gibi halka açık telekomünikasyon altyapılarını kullanarak kullanıcılar veya uzak ofisleri

Detaylı

MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU

MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU Bir domain ortamındaki kullanıcıların aynı kullanıcı adı ve parola bilgisiyle merak mail server içerisine entegre edilmesi için domain controller ve merak

Detaylı

MIRACLE DATA WORKS KURULUM DOKÜMANI

MIRACLE DATA WORKS KURULUM DOKÜMANI MIRACLE DATA WORKS KURULUM DOKÜMANI İçindekiler Server Kurulumu... 3 Microsoft.NET Framework 4.0 Kurulumu... 3 Crystal Reports 2008 Redistributable Package (C12) Kurulumu... 5 Microsoft SQL Server 2008

Detaylı

BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ

BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ Batman Üniversitesi Kütüphanesi veritabanlarına kampüs dışından erişebilmek için Üniversitemiz Bilgi İşlem Daire Başkanlığı

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ı

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN 1 AHMET YESEVİ ÜNİVERSİTESİ İLERİ VERİTABANI SİSTEMLERİ ORACLE VERİTABANI KURULUMU VE PL/SQL DEYİMLERİ SUAT ÜSTKAN 102173019 BİLGİSAYAR MÜHENDİSLİĞİ YÜKSEK LİSANS ARALIK 2010 2 İçindekiler 1. Oracle Database

Detaylı

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Öğretim Teknolojileri Destek Ofisi Instructional Technologies Support Office Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Semboller, Ses Ekleme, Video Ekleme Orta Doğu Teknik Üniversitesi

Detaylı

NETBEANS GUI İLE MS SQL İŞLEMLERİ

NETBEANS GUI İLE MS SQL İŞLEMLERİ NETBEANS GUI İLE MS SQL İŞLEMLERİ JDBC Driver Registry Database Reference Download Java Class MS Access (32bit v6) Default available on less recent Windows systems (*.mdb) sun.jdbc.odbc.jdbcodbcdriver

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ı

Windows Live ID ve parolanızı giriniz.

Windows Live ID ve parolanızı giriniz. Ücretsiz Deneme Hesabı Oluşturma ve Temel Özelliklerin Kullanım Kılavuzu Bilgi girilmesi gerekli alanlar Kişisel bilgi içeren alanlar http://www.windowsazure.com/tr-tr/pricing/free-trial/ adresine gidiniz

Detaylı

1 Aralık 2011 / Perşembe

1 Aralık 2011 / Perşembe 1 Aralık 2011 / Perşembe Örnek :İki adet panel var.eğer 1nci panelde şifre Mustafa ise kendimiz bir session değişkeni oluşturup tamam yazdıracağız.değilse Şifre hatalı yazdıracağız. protectedvoid Page_Load(object

Detaylı

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI WINDOWS TA JAL IN İNDİRİLMESİ VE KURULMASI JAL derleyicisi aslında Jal.exe isimli tek bir dosyadan oluşur. Jal.exe derleyici programı, yazılan JAL programı

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME Veritabanına kayıt işlemleri 4 farklı işlemden oluşur Bunlar Görüntüleme (SELECT), Kayıt

Detaylı

Elektronik Dergi ve Veri Tabanlarına Kampus Dışından Erişim

Elektronik Dergi ve Veri Tabanlarına Kampus Dışından Erişim Elektronik Dergi ve Veri Tabanlarına Kampus Dışından Erişim Üniversitemiz Kütüphanesinin abone olduğu süreli yayınların elektronik versiyonlarına ve lisanslı veritabanlarına erişim firmalar ile yapılan

Detaylı

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ 23 Mart 2012 / Cuma Yeni bir site açıyoruz. Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ Namespace

Detaylı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

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

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

Detaylı

Java JDK (Java Development Kit) Kurulumu:

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

Detaylı

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU BİLGİ İŞLEM DAİRE BAŞKANLIĞI 2015 Elektronik Belge Yönetim Sistemi ile ilgili her türlü teknik destek için Bilgi İşlem Daire

Detaylı

TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI. Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1

TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI. Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1 TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1 Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 2 Bu

Detaylı

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ ÖDEVLERİ SİSTEME YÜKLEME USULLERİ Sistem yüklenecek ödevlerin hepsi PDF formatında olacaktır. Ödevlerinizi PDF formatında hazırlamak için aşağıdaki yöntemleri kullanabilirsiniz. Buradaki anlatımlarda hazırladığınız

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ı

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır. WINDOWS 2003 SUNUCULARI ÜZERĐNE PHP YÜKLENMESĐ ERDAL YAZICIOĞLU erdal(at)gmail.com http://barbarossa41.wordpress.com Merhabalar, Çözümpark.com adresinde bir kullanıcı ASP ve PHP yi aynı sunucu üzerinde

Detaylı

12 Ocak 2012 / Perşembe

12 Ocak 2012 / Perşembe 12 Ocak 2012 / Perşembe Masa üstünde webvt adlı klasör var. Bu klasör üzerinde çalışacağımız için bunu web sitemiz olarak açacağız. Visio Studio programını açıp File Open Web Site açılan pencerede Masa

Detaylı

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK BLG4134 Görsel Programlama III Öğr. Grv. Aybike ŞİMŞEK CV_EKLE isimli bir veritabanı oluşturun. CV isimli tabloyu aşağıdaki şekilde oluşturun. Aşağıdaki kod ile bir stored procedure oluşturun. Bunun için

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ı

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI BİLGİLERİ KAYDETME YÖNTEMİ Kayıt işlemi yaparken 3 tane yöntem kullanılacaktır. Bu yöntemler Örnek içerisinde ayrı ayrı

Detaylı

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir: Bölüm 25 Java Veritabanı Bağlantısı (JDBC) 25.1 JDBC Nedir? JDBC, JavaDatabaseConnectivity(Java Veritabanı Bağlantısı) anlamına gelmektedir ve Java programlama dili ve geni veritabanları arasında veritabanı-bağımsız

Detaylı

Görsel Programlama (Visual Programming) 2.Hafta

Görsel Programlama (Visual Programming) 2.Hafta Görsel Programlama (Visual Programming) 2.Hafta 2016-2017 Bahar Dönemi Class Yapısı ve Form 1Muhammer İLKUÇAR, MAKÜ-2015 BURDUR Class - Obje Nesne (Nesne tabanlı programlama) İnsan ırkının ortak özelliklerini

Detaylı

MEKANİZMA TEKNİĞİ (7. Hafta)

MEKANİZMA TEKNİĞİ (7. Hafta) MEKANİZMA TEKNİĞİ (7. Hafta) Mekanizmaların Sayısal ve Programatik Analizi Buraya kadar olan kısımda mekanizmaların üzerindeki tüm uzuvların konum, hız ve ivmelerini analitik yöntemlerle bulmuş olduk.

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ı

Microsoft Outlook 2003 Kurulumu

Microsoft Outlook 2003 Kurulumu Microsoft Outlook 2003 Kurulumu Tools (Araçlar) menüsünden E-mail Accounts (E-posta Hesapları) seçeneğini seçiniz. Buradan Add a new e-mail account (Yeni bir e-posta hesabı ekle) sekmesine tıklayınız,

Detaylı

Burak Kıymaz 13.10.2015 JAVA FX

Burak Kıymaz 13.10.2015 JAVA FX JavaFx neden çıktı? JAVA FX Eskiden desktop için swing kullanılırdı fakat pek iyi değildi. Javafx bu konuda css kullanmaya da izin verdiği için daha iyi bulundu. xml veriyi biçimlendirmek için kullanılan

Detaylı

BitTorrent İstemci Kullanımı

BitTorrent İstemci Kullanımı BitTorrent İstemci Kullanımı Değerli Müşterimiz, BitTorrent internet üzerinden dosya paylaşım yazılımına ve aynı tekniği kullanan dosya takas sistemine verilen isimdir. Diğer eşten eşe (P2P) paylaşım programlarından

Detaylı

INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK

INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK INTERNET INFORMATION SERVICES 6.0 da (IIS 6.0) Web Sayfası yayınlamak için ilk olarak IIS 6.0 ın kurulu olması gereklidir. IIS Windows ta default

Detaylı

"SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz.

SQL Server Management Studio yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz. Microsoft SQL Server 2008 R2 Kurulumu "SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz. http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx

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ı

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

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

Detaylı

TachoMobile Server Uygulaması Kullanım Kılavuzu

TachoMobile Server Uygulaması Kullanım Kılavuzu TachoMobile Yönetim Sistemi Proje Destek Dokümanı / Server Uygulaması v1.00.01 İÇİNDEKİLER Server Uygulaması 1. YAZILIM KURULUMLARI 1.1 Java 1.1.1 Kurulum 1.2 TachoMobile Server Uygulaması 1.2.1 Kurulum

Detaylı

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; Bunun için uyevarmi() fonksiyonu tasarlayacağız. Fonksiyon

Detaylı