Herkese merhaba. Bilgisayar Teknolojisi ve Bilişim sistemleri bölümü 4.sınıf öğrencisiyim.

Bu sene bitirme tezi yazmam gerekiyor ancak konu bulmakta sıkıntı çekiyorum. Mobil veya web alanında tez konusu önerisi verebilir misiniz ? Açıkcası web servisler üzerine yazmaya meyilliyim ancak yine de kesin karar veremiyorum, kaynak sıkıntısı önemli bir sorun.

Tavsiyelerinizi bekliyorum.

soruldu: 15 Ara '13, 20:43

ydlgr's gravatar image

ydlgr
1164410
cevap kabul oranı: 0%

değiştirildi: 16 Ara '13, 06:16

Turgay%20Can's gravatar image

Turgay Can
8.3k63798


Birbiri ile iletişime geçen iki tane uygulama düşünün. Bir tanesi web uygulaması diğeri ise masaüstü ve ya mobil uygulama. Bu iki uygulama, duplex servis üzerinden çift yönlü haberleşiyor.

Örneğin web üzerinde bir nesne ve slider bar var ve diğer uygulama üzerinde ise bir label ve slider bar var. Siz nesnenin opacity değerini değiştirdikçe, diğer uygulama üzerindeki label ve slider bar, sizin webte yaptıgınız değişikliklere cevap vererek, webte ki nesnenin opacity değerini gösteriyor. Ayrıca siz, diğer uygulama üzerinden label a bir değer girdiginizde ve ya slider barı hareket ettirdiginizde, aynı şekilde web uygulaması bu istekleri dinleyerek, nesnenin opacity değerini değiştiriyor. Değişen nesnenin değeri de tüm browserlara broadcast olarak dağıtılıyor. Kısacası, web üzerindeki bir nesnenin opacity değeri, her iki uygulama üzerinden hem değiştiriliyor, hem de görüntüleniyor.

Bu uygulamada kullanacagınız ve öğreneceğiniz teknolojiler, web service, web uygulaması, masaustu uygulaması, tarayıcılara broadcast yayın yapılması (chat uygulaması gibi). Ayrıca bu uygulama sadece yazılım alanında değil, M2M mimarilerde de baya işinize yarar.

Yorumunuzdan sonra

Madem bu konuya sıcak bakıyorsunuz, daha net bir örnek, piyasada kullanılan bir örnek vermek istiyorum. Şu an uzaktan kontrol sistemlerinde bu tür bir alt yapı kullanılıyor. Örneğin, bir benzin istasyonundaki lambaların uzakran acılıp kapatılması. Lambaların tüm görüntüsü ekrana geliyor, sizin sectiginiz lambaları acıp kapatıyorsunuz ve bu değişiklikler, aynı anda acık olan tüm tarayıcılarda görünüyor.

Raphael.js kütüphanesi ile nesneler web üzerine konuluyor, bu nesnelerin web tarafında özellikleri değiştiginde (lambalar acılıp kapandıgında) masaustu yazılımda gercek zamanlı olarak , görünüyor. Ayrıca masaustu uygulamadan da bir değişiklik yapılınca bu web tarafına yansıtılıyor. Bu iki uygulama birbiri ile duplex WCF ile konusuyor. SignalR kütüphaneside kullanılarak, acık olan tüm tarayıcılara bu değişiklikler anında yansıtılıyor.

Başka uygulama alanları uzaktan sayac okuma, klima acma kapama, yani aslında veri alabilecegimiz tüm cihazlar ile konusan bir uygulama oluyor. Bu işler daha cok yeni sayılır. Web anlamında dünyada bile daha yeni bir sektör.

permanent link

cevaplandı: 16 Ara '13, 03:07

AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

AliRıza Adıyahşi ♦
7.9k146288
cevap kabul oranı: 44%

değiştirildi: 16 Ara '13, 12:46

Teşekkür ediyorum fikriniz için. Danışman hocamızın tezle ilgili söylediği şey bir sorun hakkında araştırma yapın demesi. Bu uygulama gayet hoş içerisindeki teknolojiler de tam bana hitap eden teknolojiler. Değerlendirmeye alacağım, çok teşekkür ediyorum.

(16 Ara '13, 12:33) ydlgr ydlgr's gravatar image

Çok güzel bir proje fikri ancak yapabilir miyim emi değilim hiç uğraşadığım bir alan. Yeni olduğu için de kaynak sıkıntısı çekeceğimi düşünüyorum açıkçası.

(16 Ara '13, 16:33) ydlgr ydlgr's gravatar image

Aslında biraz uğraşla, hic bilmeyen birisi için bile en fazla 2-3 haftalık bir proje.

(17 Ara '13, 00:06) AliRıza Adıyahşi ♦ AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

Acaba başka hangi kütüphanelerle çalışmam gerekecek(Raphael ve signalR dışında). Bana gidiş yolumu gösterirseniz gerçekten çok memnun olurum. Küçük bir araştırma yaptım ve tam tez konusu olabilecek bir alan ve ülkemizde de fazla bilinmeyen bir alan.

(18 Ara '13, 00:40) ydlgr ydlgr's gravatar image
  • Web Serviceleri kullanman bence tezin için gayet iyi olur. Kesinlikle WCF Serviceleri kullanmanı öneririm.
  • Web alanında da aslında tez konusu olarak yüzlerce konu sayılabilir. Ama bence sadece tez konusu olsun diye bence çok uç konulara bakmak yerine ilerde sektörün ihtiyaçlarına uygun bir konu bulman bence daha doğru olabilir. Eğer asp.net ile web uygulamaları geliştiriyorsan Asp.net MVC ile çeşitli otomasyonlar gerçekleştirebilirsin. Ayrıca böyle de HTML5, Css3, Jquery, Ajax, EF, Hibernate gibi teknolojilerin de daha içine girip detaylıca öğrenebilirsin. ki bu senin için büyük bir avantaj olabilir. Mesela:
  • Online Sinema Rezervasyon Otomasyonu
  • Online Otel Rezervasyon Sistemi
  • Haber Portalı
  • Online Öğrenci Bilgi Sistemi vb..
  • Bunlar senin için ilk başta kolay yapılabilir uygulamalar olarak görünebilir ama projelerin içine girdikçe aslında veritabanı tasarımından, projenin tasarımına, mimarisine, kodlanmasına kadar önüne bir çok detay ortaya çıkacaktır ve bu detaylar senin ilerdeki iş hayatında da karşına çıkacak olan detaylardır.
  • Mobil alanında ise mesela androidde ksoap2 kütüphanesiyle webservislerini kullanarak yukarda anlattığım tarzda otomasyonlar da geliştirebilirsin. Veya şu anda mobilde trend olan anlık mesajlaşma, dosya transfer uygulamaları da geliştirebilirsin. Ya da harita üzerinde konum belirleme, konum bildirimi gibi uygulamaların da senin için yararlı olacağını düşünüyorum.
  • Kısacası benim düşüncem, ilerde hem kendini geliştirebileceğin, hem de ilerdeki iş hayatın için faydalı olacak bir tez konusu seçmen senin için daha iyi olacaktır.
permanent link

cevaplandı: 16 Ara '13, 06:17

mustafaalkan64's gravatar image

mustafaalkan64
35181220
cevap kabul oranı: 0%

değiştirildi: 16 Ara '13, 06:50

Hocamız bu tür uygulamaları kabul etmiyor. En başta ben de böyle düşünmüştüm ancak çok basit cevabını aldım. Fikir beğendirmek gerçekten zor, bir sorunun çözümüne dair bir uygulama olabilir. Çok teşekkürler

(16 Ara '13, 12:35) ydlgr ydlgr's gravatar image

Mobil bir uygulama geliştirseniz bile içinde eğer bir data olacaksa bunu web servisi katmanı ile pushlamanız gerekir. Burada teknoloji seçimi tamamı ile size kalmıştır. Uygulamanın geliştirilmesi konusunda ise hangi teknolojilere hakimseniz, o teknoloji ve araçlarını kullanmanızda fayda var. Bu hem zaman tasarrufu hemde dökümentasyon için işinizi kolaylaştıracaktır.

Mobil ve web servisi ayrı ayrı teknolojilerde olabilir. Java'da İyi performans için http protokolünü kullanan REST 'i tavsiye edebilirim (json data tipinde). Hatta database yapınızda varsa bunun için ORM araçlarını kullanmanız geliştirme hızınızıda artırır. (Hibernate, NHibernate, EclipseLink .. gibi)

Proje önerim : Google map ile hız hesaplanması, anlık, saatlik ve ortalama, bu verileride bir havuz da toplayıp lokasyonlar arası muhtemel gidiş süresini hespalama. Kullanıcılar anlık olarak data push edeceğinden arka planda basit bir karar verme mekanizması şart olacaktır. Dinamik olarak parametreleri alıp, veri güncellemelerini yapacak(5 dk. bir gibi.)

permanent link

cevaplandı: 16 Ara '13, 06:49

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 16 Ara '13, 07:14

Teşekkürler cevabınız için. Navigasyonlarda kullanılan sistem tarzı sanırım proje fikriniz ancak yapılmamış birşey olması isteniyor malesef yada yapılmış ancak eksik veya sorunu olan bir teknoloji, uygulama olabilir. Gerçekten konu seçmek ve onaylatmak tezin neredeyse yarısı.

(16 Ara '13, 12:38) ydlgr ydlgr's gravatar image

Yapılmamış olması gibi söylemi hocalar hep söyler, buna o kadar takılma kesinlikle. Yukarıda bahsettiğim şey zaten şuan Türkiye'de yok. Çünkü bahsettiğim projede verileri ibb yada yandex gibi servislerden değil, direkt olarak uygulamayı kullanan kullanıcılardan alacaksın ve ona göre analiz edeceksin. Yani gerçek zamanlı, canlı veri.

Hocana yapılmış birşeyin üzerine ek bir özellik kattığında zaten farklı bir şey olacağını belirt ;) Banada klişe bu tür söylemler söylemişlerdi fakat kabul ediyorlardı. Önemli olan hocaya ben bunu yapmak istiyorum demesini iyi bileceksin.

(16 Ara '13, 13:03) Turgay Can Turgay%20Can's gravatar image

Denemeye değer. Birkaç fikri bir arada götürmeyi planlıyorum, öncelikli olarak bu fikri sunacağım. İnşallah hayırlısıyla bitirebilirim :)

(16 Ara '13, 16:22) ydlgr ydlgr's gravatar image

Acaba bu uygulama ile google maps ile alan hesaplama uygulamasını birleştirsem sizce nasıl olur ?

(18 Ara '13, 01:47) ydlgr ydlgr's gravatar image

Alan hesaplama tek başına bir anlam ifade etmez fakat 4square gibi alan içindeki kişileri filan gösterirseniz bir anlam ifade edebilir yada yukarıdaki kavram içinden çıkmadan x kişi a noktasından bulunduğu alana m saatte /dakikada gelmiştir gibi.

(18 Ara '13, 02:00) Turgay Can Turgay%20Can's gravatar image

Biraz önce danışman hocam ile görüştüm ancak çok basit cevabı aldım. Mobil veri ve paket güvenliği üzerine yoğunlaşabilirsin dedi. Bu alanda neler yapılabilir ? Konu beğendiremiyorum resmen.

(18 Ara '13, 02:51) ydlgr ydlgr's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

Dağıtık Dosya sistemi üzerine proje yapabilirsin. Google bugün büyük verilerle başa çıkmak için MapReduce ve Google File System (GFS) yapılarını kullanıyor. Bu yapılara bir göz atmanı öneririm.

Açık kaynak oparak Apache Vakfının Hadoop projesi mevcut. Şuan birçok büyük kurum (Facebook, Amazon, Yahoo, eBay, Linkedin ..) big data analizi için hadoop kullanıyor.

Linux işletim sistemi bir makinaya ve içinde sanal bir işletim sistemi daha kurup, iki işletim sisteminede paralel olarak hadoop kurulumu yapabilirsin. İki makinayı kümeleyip büyük data işlemek için Java ile uygulamalar geliştirilebilir.

Diğer konu dijital imza. Belki Amerika yasaları gereği Dijital imza pek popüler ve uygun değil ancak avrupada ve ülkemizde birçok devlet sistemi elektronik ortama taşınmakta. Ve burada en önemli hususlardan biri ıslak imzanın yerine dijital imzanın kullanması. Xml, pdf, cms dosyalara kişisel veya kurumsal mühürler ile dijital imzalar atılıp kurumlar arası güven sağlanabilmektedir.

Dijital imza için Java Cryptography Architecture (JCA) ile başlayabilirsin. Privete Key, Public Key, Certificate, Keystore terimleri ile haşir neşir olduktan sonra Xades, Pades, Cades standartlarına göz atailirsin. İmza atmak için kişisel nitelilikli elektronik sertifika alabilirsin veya java ile kendi keystore ve pfx dosyanı oluşturup bu dosya ile imza uygulaması geliştirebilirsin.

Türkiyede Avea ve Turkcell marka sim kartları sanırım minumum olarak sha-1 algoritmasını destekliyor. Yani sha-1 ile sim kart üzerinden mobil imza atabilirsiniz. (Datanın özetini bir uygulamanızda hesaplatıp, özeti web servis ile operatöre gönderip oradandan kullanıcıya ulaşıp kullanıcının telefonunda sim kart üzerinde imza atılması).

permanent link

cevaplandı: 16 Ara '13, 14:13

MDemir's gravatar image

MDemir
2.1k173445
cevap kabul oranı: 24%

değiştirildi: 16 Ara '13, 14:14

Dağınık dosya sistemi hoşuna gitti aslında. Ancak uygulama yazabilir miyim ondan şüpheliyim. Java, android ve php ile haşır neşirim son iki senedir. Küçük bir araştırma yaptım ve tez konusu için ideal. Hocama fikirleri sunacağım, umarım başarabilirim.

(16 Ara '13, 16:04) ydlgr ydlgr's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×4
×1

Soruldu: 15 Ara '13, 20:43

Görüntüleme: 1,638 kez

Son güncelleme: 18 Ara '13, 02:51

powered by BitNami OSQA