30 Aralık 2011 Cuma

Silverlight-BusyIndicator Toolkit

Silverlight uygulamalarımızda bazı durumlarda  çeşitli işlemler gerçekleştirilken bekleme olabiliyor,bu bekleme anında kullanıcıyı oyalayacak:)(ya da bilgilendirme amaçlı) bazı yazılar göstermek isteyebiliriz.Silverlight da bunu "BusyIndicator" karşılar.


Örneğin veritabanından veri çekme anında "Lütfen Bekleyin .." gibi bir yazı gösterilmek istenebilir.

<toolkit:BusyIndicator x:Name="mesgulum" BusyContent="Lütfen Bekleyin..." HorizontalAlignment="Center" VerticalAlignment="Center" />

"Lütfen Bekleyin..." gösterilmesi istenen yerlerde de
mesgulum.IsBusy =true; eklemek gerekir.

Ya da bir metod yazılır,her defasında o çağırılır.

Görüntü aşağıdaki gibi olur.




Silverlight Textbox kontrolü İçin Satır Dolduğunda Yazdıklarım Aşağı İnsin Proportiesi

Merhaba Arkadaşlar,
Silverlight da textbox kontolü için satır dolduğu zaman yazdıklarınız aşağı insin istiyorsanız "Texttwrapping" proportiesinin değiştirmeniz gerekir.
Defaultta şu şekilde yazılır,yani yazının tamam mı bir satıra yerleşir.





Aşagıdaki gibi "textwrapping" proportiesini "wrap" yaparsak satır dolduktan sonra alt satıra geçer.






DERYA GÜNDÜZ

28 Aralık 2011 Çarşamba

Web Development Helper

Web Development Helper client ile server arasındaki trafiği inceleyip bize haber verir,bunları loglaya da bilirler.web development helper şu şekilde açılır:
Çalışan Projede=>tools=>explorer bars=>web development helper



DERYA GÜNDÜZ

İki Primary Key'li Olan Tablolar Arasındaki Relationlar

Eğer İki Primary Key'i olan tablo ile başka bir tablo arasında realtion kuracaksanız(bu iki primary keyi olan tablodaki primary keylerden biri diğerine foreign key olacaksa),direk bir tanesini alıp bağlamaya çalışırsanız hata ile karşılaşırsınız.
Senaryomuz şu şekilde:


Aslında siz iki sadece isyeri bilgisini bağlamak istiyorsunuz.Bunu denerseniz şöyle bir hata alırsınız:
Bunun içinde foreign key olacak tabloda da iki alanın olması gerek(isyeri ve sirket alanları).İkisini birden bağlamak gerekecek.
Aşağıdaki gib bağladıktan sonra hata almayacaksinizdır:


DERYA GÜNDÜZ

Runtime Error-Giderilmesi

Projenizi çalıştırdığınız herhangi bir zamanda çalışan proje ile beraber böyle bir hata alırsanız ne yapmalısınız?
Sadece proje derlerken değil bilgisayar açık olduğu başka zamanlarda da "ok" dediğiniz halde karşınıza tekrar tekrar gelebilir.
İşte "Runtime Error" :)))

Hatanın nedeni daha önce kurulu olan c++lar ile diğerlerinin çakışmasıdır,eskisini silmek sizi bu hatadan kurtaracaktır.
Denetim Masası=>Programlar=>Program Ekle/Kaldır=>


Seçili olanı kaldırmanız yeterli olacaktır,tabi diğer eskileri de kaldırmanız tavsiye olunur:)


DERYA GÜNDÜZ

Microsoft Sql'de "Collasion" Hatasının Giderilmesi

Merhaba Arkadaşlar,
Üzerinde çalıştığım bir projede karşılaştığım bir problem ve nasıl giderildiğini sizlerle paylaşmak  istiyorum.Siz de aynı hata ile karşılaşırsanız,çözmeniz kolaylaşır.
Aldığım hata "Collasion" Hatası idi.Tablolar arasında relation yaparken relation kurmaya izin vermeyip aşağıdaki gibi bir hata aldım.




Hata dil ile ilgiliymiş.Tablodaki bağlamak istediğimiz alanlardaki dil seçeneklerinin aynı olması gerekiyor.Tablo1 deki kolonun dil seçeneği(bağlamak istediğimiz kolonlardan biri) aşağıdaki gibi ise:


Tablo2 deki kolonun dil seçeneği(bağlamak istediğimiz kolonlardan biri) aşağıdaki gibi ise:
Collasionun nedeni bu iki dil seçeneğinin aynı olamamasıdır.
Bu hatayı düzeltmek için ise ikisnin dil seçeneği aynı yapılmalıdır.
Collasion seçeneğinin yanındaki 3 nokta tıklanarak dil seçilir.

Böylelikle bu hatayı gidermiş oluyoruz.Umarım faydalı olmuştur.

DERYA GÜNDÜZ

30 Ekim 2011 Pazar

LINQ(LANGUAGE INTAGRATED QUERY)


Linq Nedir,Nerelerde Kullanılır?
Linq’uin Türkçe karşılığı “Dİl ile Bütünleştirilmiş Sorgu”dur .Linq teknolojisi,  .Net Framework 3.5 ile beraber  ortaya çıktı.Linq teknolojisi ile veriye daha kolay erişebilir ve veri üzerinde  tıpkı veri tabanı sistemlerindeki gibi basit sorgular gerçekleştirebiliyoruz.Genelde veri kaynağı olaral XML ve ilişkisel veri tabanları kullanırız.Linqin yaptığı şey programlama dilinde tek bir veri tabanı kaynağına erişmek yerine  veri erişimini programlama dili ile tümleşik bir şekilde sunmaktır.Linq, sqldeki gibi sorgular yapılmasını sağlar fakat farklı olarak bu sorguları nesnel ifadeler ile yapar,bu ifadeler ile veri kaynağı arasındaki iletişimi sağlayan da Linq dir.Linq yazdığımız sorguları  IEnumerable<T> türevli tipler üzerinde kullanabiliyoruz.
Lİnq’de kullanılan sınıflar:
·         System.Query:Sorguların gerçeklştirilmesi için gerekli olan sınıfları içerir.
·         System.Xml.Xlinq:Xml dökümanlarının sorgulanabilmesi için gerekli olan sınıfları içerir
·         System.Linq :Linq e ait sınıf ve arabirimler bu sınıf altında bulunur.
·         System.Data.Linq:Sql tablolarının sorgulanması için gerekli olan sınıfları içerir
Linq Çeşitleri:
Lİnq;linq veritabanları,ado.net,xml  ve bellekte bulunan veriler için bize özel sağlayaccılar sunar.
Bunlar:
·         Lİnq to Object:Koleksiyonları sorgulama yarar.Fakat sadece Ienumerable<T> arabirmini destekleyen koleksiyonlar sorgulanır.System.Linq.Enumarable a ait fonksiyonlar kullanılır.
·         Linq to XML(Xlinq):Xml belgelerini sorgulamak için kullanılır,bu verileri hızlı ve kolay sorgulama yeteneği kazandırıyor.System.Xml.Lİnq  kütüphanesini kullanılır.
·         Lİnq to SQL(Dlinq):İlişkisel veri tabanlarının sorgulanmasını sağlar,bunlar sorgularken güç ve performans kazandırır.Linq ile sql arasındaki iletişimi DBML(Database Markup Language-Veritabanı İşaretleme Dili) sağlar.
·         Linq to Dataset:Ado.Nettek Dataset nesnelerinin ilişkisel veritabanı gibi sorgulanmasını sağlar.



Ado.Net ve Linq to Sql Arasındaki fark:
Linq to Sql den önce veritabanından veri çekmek için Ado.Net kullanılırdı(Günümüzde de kullanılıyor tabi ki).Linq to sqlde kullanım kolaylığı ve kod kısalığı vardır.Ado.Nette veri çekmek için connection string,sqlcommand,dataset,bağlantıyı açma kapama gibi işlemler yapmak zorundayız.Bu da çok fazla kod gerektiren yazılımlar için çok yük getirir.Performans açısından ise hemen hemen aynılar.Kullanım tercih ve alışkanlığa bağlı tabi ki.

Linq To Sql Örneği:


Linq to Sql Kullanırken Takip Edilecek Adımlar:


1)Projeye ters tıklayıp add-new item deyip,linqtosql Classes eklemek ,



2)Classa isim verdikten sonra ekleme işlemi tamamlanmış olur,
 

3)Northwind.dbml classı oluşturulmuş oldu,buraya kullanmak istediğimiz veritabanı ve içeriğindeki kullanılacak olan tabloları eklememiz gerekir.


4)Kullanılmak istenen veritabanını server explorer kısmından eklememiz gerekecek.Data Connections üstine ters tıklayıp-add connection dedikten sonra aşağıdaki ekran karşımıza gelecektir,burdan server adı ve veritabanı adı seçilip eklenir.Ben bu örnekte hazır veritabanı olan Northwind’I ekledim

5)Veri tabanını server explorer a  ekledikten sonra veritabanı kullanılmaya hazırdır.Veritabanını istediğimiz kısmını kullanabiliriz.Bütün tablolara burdan erişebiliriz,kullanacaklarımızı sürükle bırak ile .dbml cllasına eklemeliyiz.



Bundan sonrası linq to sql in işi,kod tarafında istediğimiz sql sorgularını gerçekleştirebiliriz.

Örnek bir uygulama olarak aşağıdaki kod parçasını inceleyebiliriz:
Hazır veritabanı olan Northwind içindeki ürünleri getirmek için aşağıdaki metod kullanılabilir.
Az once eklemiş olduğuz Northwind linq to sql classını kullanmak için DataContexten  nesne oluşturmak gerekir.

  NorthwindDataContext db = new NorthwindDataContext();

  void Urundoldur(int id)
        {
         grdUrunler.DataSource = from p in db.Products
                     where p.CategoryID == id
                     select new
                        {
           Adi = p.ProductName,
           Stok = p.UnitsInStock,
           Fiyat = p.UnitPrice,
           Tedarikçi = p.Supplier.CompanyName,
           Kategorisi = p.Category.CategoryName
                                  };
          grdUrunler.DataBind();
        }

Readmee Ekim Sayısı Yayınlandı

Benim de makalemin olduğu,Readmee Ekim sayısı çıktı.Her zamanki gibi içerik dolu dolu,okumanızı tavsiye ederim.



19 Ağustos 2011 Cuma

Microsoft Yaz Okulu Sona Ererken Bana Kalanlar.....


18 Ağustos 12 Temmuz tarihleri arasında Tobb Etü'de gerçekleşen Microsoft Yaz Okulu eğitimlerimiz  sona erdi. İleriki senelerde yaz okuluna katılmak isteyen arkadaşlar için faydalı olabileceğini düşündüğüm bir yazı olsun istiyorum.Nasıl başvurdum,ne gibi şartlar aranıyor,eğitim boyunca neler yaptık,hangi eğitimleri aldık gibi soruların cevaplarını bulabileceğiniz bir yazı olacak.

Nasıl Başvuru Yapılır ve Aranan Şartlar?

Nisan ayında  msakademik.com sitesinde Microsoft yaz okulu için başvuruların alındığı duyuruldu.Başvuruyu internet üzerinden yaptım,bir form doldurdum.Formda bildiğim programa dilleri,yaptığım projeler,katıldığım eğitim ve seminerler,klüp-dernek etkinliklerim,organizasyonlarım,akademik referanslarım,not ortalamam gibi bilgiler soruldu.Bence  seçerken baktıkları en kritik şeyler de bu saydıklarım.
Genelde her üniversiteden 1 ya da 2 kişi seçmişlerdi.Eğitimler İstanbul,Ankara ve İzmir olmak üzere 3 yerde gerçekleşti,genelde okunan şehire en yakın merkezlere göre şehir eşleşmesi yapılıyor.Bizim grupta Eskişehir OsmanGazi Üniv.,Hacettepe Üniv.,Çankaya Üniv.,Katü  ,Ankara Üniv.,Tobb Etü Üniv.,Anadolu Üniv.,Selçuk Üniv.,Erciyes Üniv.,Fatih Üniv.,Bilkent Üniv. ‘den arkadaşlar vardı(bunlar hatırlayabiklerim).
Eğitimler boyunca her 2-3 günde bir farklı bir eğitmen gelip,farklı konularda eğitimler verdi.

Eğitmenlerimiz ve Eğitimlerimiz:

·         Daron Yöndem-Silverlight
·         Mahmut Temur-Sql
·         Pavel Slavov-Windows Azure
·         Sertay Halka-C#
·         Burak Batur-SharePoint
·         Engin Polat-Xna Game Studio
·         Ekin Özçiçekçiler-Windows Phone 7.1

Eğitim son haftasında da 
  • Buğra Karabey,Ulusal Teknoloji Politikaları Yöneticisi,Bulut Bilişim konusunda ve 
  • Umut Erkal,İmagine Cup'da dünyada ilk 6 ya giren ekip üyesi,Kinect Programlama ve Embedded Programlama ile ilgili seminer verdi.
ve Proje yapmamızı istediler.Ben de Windows Phone uygulaması olarak Birim Çevirmece yaptım.Yaptığım uygulamada Bilgisayar birimleri ve uzunluk ölçüleri birbirine çevirilebiliyor.

Laboratuarın çok sıcak olması ve bazı aksaklıklar dışında eğitim verimli geçti,eksiklerimin ne kadar çok olduğunu(zaten öğrendikçe daha çok eksik olduğunu anlarsın hep zaten) gördüm.Yani çoook çalışmam gerek çooook:)))Sektör engin bir derya misali.....

Hiç bilmediğim teknolojiler konusunda en azından aşina oldum,değerli hocalar tanıdım ve güzel arkadaşlar edindim.Örneğin Silverlight,XNA,Windows Phone,Azure ve SharePoint konusunda hemen  hiç bilgim yoktu,şuan ne oldukları,neler yapılabileceği konusunda fikrim var.Gelişmekte ve popüler olan bu teknolojileri işin ehiller inden dinlemek de ayrı bir zevkti benim için:)

Eğitimden kalan Birkaç mutlu kare:)))))










14 Temmuz 2011 Perşembe

DUYURU-Eskişehir Osmangazi Üniversitesi Bilgisayar Mühendisliği e-dergisi readmee 1 sene arayla tekrar sizlerle



Okulumuzun e-dergisi olan readmee bir senelik uzun bir ara vermişti.Uzun bir aradan sonra yeni arayüzü ve tasarımı ile readmee  Temmuz sayısı okuyucuları ile buluştu.

Benim de Xml Web Servisleri yazı dizisi ile yer aldığım readmee'yi keyifle okumanız dileğiyle.

Temmuz 2011 Sayısı Dergi İçeriği:

- Kaybolan 6 Yıl ve… ( Mahmut Bulut )
- IPv6 ( Pelinsu Önal )
- Görüntü İşleme ( Selin Köykıran )
- XML Web Servisler ( Derya Gündüz )
- WCF — 1 ( Abdulvahap Demir )
- Dragon Age : Origins vs. Dragon Age II ( Oğuz Cevizoğlu )
- Angry Birds ( Yusuf Kesgin )
- Çin Gezim ve Yansımaları ( Ömer Faruk Tunçbilek )

dilerseniz readmeeyi pdf formatında kaydedebilirsiniz.

readmee.com

DERYA GÜNDÜZ

XML WEB SERVİSLERİ


Web ortamındaki gelişmeleri üç safhada inceleyebiliriz:

  1. Belge Web’i (Document Web) : Web’in en ilkel halidir. Bu web türünde bilgi sadece okunabiliyordu,bilgi üzerinde değişiklik yapmak mümkün değildi.yani HTTP protokolü ile HTML dilinde biçimlendirilmiş statik belgelerin kullanıcılara sunuluyordu.
  2. Uygulama Web’i (Application Web) :dinamik HTML belgeleri ile kullanıcı ve iş uygulaması arasında etkileşim sağlandı.Bilgi üzerinde okuma ve bilgi yazma imkanı verdi.
  3. Servis Web’i (Services Web) : İşletmelerin diğer işletmelerle olan iş süreçlerini bütünleştirme gereksinimi sonucunda ortaya  çıkan ve gelişmekte olan yeni yapıdır.  Bu yapının temel taşı web servisleridir.
Web servisleri Nedir?

W3C  (World Wide Web Consortium)  tarafından yapılan resmi tanımıyla web servisi, bilgisayarlar arasında ağ üzerinden etkileşimi ve uyumluluğu sağlayacak yazılım sistemidir.Web servisleri programların etkileşimi sağlamaktadır.Web servisleri sayesinde farklı veri tabanındaki bilgiler çekilebilir.
Web servisler içinde metodlar barındırır ve client bir istekte bulunduğunda bu metodlar ile client isteğine yanıt vermiş olur.




Web servislerinin en büyük avantajı:Web servislerinin en büyük avantajı  Xml  (extensible Markup Language-genişletilebilir etiketleme dili) tabanlı olmasıdır.Xml, kişilerin kendi etiketlerini tanımlayarak bu etiketler ile hiyerarşik yapı kurabildikleri ,bunları istedikleri zaman değiştirebildikleri ; esnek, teknolojiden -platformdan bağımsız text tabanlı bir meta dilidir.Xml tabanlı olması beraberinde platform bağımsız olmayı da getirir.
Platformdan bağımsız derken ne kastettiğimi biraz daha açmak istiyorum:Günümüz teknolojisi o kadar zenginleşti ve çeşitlendi ki…..Farklı farklı işletim sistemleri,programlar… Bunlar bir yana bir programın bile birden çok farklı versiyonu var. Bu kadar çeşitliliğin olması şüphesiz yanında uyum problemlerini getirecektir.Bir dosyayı aynı programın farklı versiyonlarında çalıştırmak istediğimizde bile zaman zaman problem yaşamaktayız,kaldı ki farklı program ve işletim sistemlerinde yaşanmasın.Bütün teknolojilerde ortak olarak açılan ve çalışan tek dosya türü text dosyalarıdır(notepad).Ama notepad ile en basitinden bir tablo oluşturup bunun üzerinde çalışmak istediğimizde bile bu tabloyu organize etmek baya bir zor olacaktır:kolonların sırası kayabilir,karışabilir….Bunun yerine tablolarımızı hiyerarşik yapı ile xmle atmak işimizi bayağı bir kolaylaştıracaktır.Xml verinin hızlı bir şekilde sogulanmasını,değiştirilmesini,transfer edilmesini,verinin içerik bilgisi ile saklanmasını(bu noktada htmlden ayrılır) sağlar.Xmlin güzel yanlarından birtanesi de uluslararası bir standarttır ve evrensel bir formattır ve firewallara takılmaz(text tabanlı olmasından kaynaklı).

Web Servisinin İşleyişi :
1.       Eğer kullanılacak XML Web Servisinin adresi bilinmiyorsa bir UDDI dizini yardımı ile bir XML Web Servisi bulunur.
2.       Discovery dosyasına (.disco) yapılan istek ile web servisinin tanımlama dosyasına yönelinir.
3.       Web Servisinin açıklama dosyası olan WSDL dosyasına istek yapılır. Servis biçimi öğrenilir.
4.       Artık XML Web Servisinin metodları çalıştırılmaya hazır olarak istemcinin hizmetindedir. XML Web servisinin metodları çalıştırılır.

Web Servis Kullanımı:Web Servisi(metodları) yazıldıktan sonra proje referans olarak eklenir.Referans olarak ekledikten sonra web servis metodlarına projeden erişilip metodlar kullanılabilir.Küçük bir örnek ile web metodun nasıl göründüğü ile fikir edinmek gerekirse:


public class Service1 : System.Web.Services.WebService
    {

        [WebMethod]
        public int Toplam(int a, int b)
        {
            return a+b;web 
        }

        [WebMethod]
        public int Cikarma(int a, int b)
        {
            return a - b;
        }
.
.
.
Web servis çalıştırılınca şekildeki gibi görünür.

Web servis kullanmak için eklenmesi gereken kod parçası,
localhost.Service1 ws = new localhost.Service1();

Metodlar da şu şekilde kullanılır:
label1.Text = ws.Toplam(a, b).ToString();

Web servis eklendikten sonra şu şekilde görünür:

 

Web Servisi Standartları:

Web Servisi = SOAP + WSDL + UDDI

SOAP(Simple Object Access Protocol): SOAP distributed (dağıtık) uygulamalarda ve web servislerinin haberleşmesinde kullanılmak üzere tasarlanan, istemci/sunucu mantığına dayalıbir protokoldür.. SOAP protokolü sayesinde web servisleri, basit ve mesaj tabanlı bir iletişim sağlar. SOAP'ı benzeri protokollerden ayıran en belirgin ve üstün özelliği yapısının  SOAP'ı benzeri protokollerden ayıran en belirgin ve üstün özelliği yapısının  XML üzerine kurulu olmasıdır.
Soap’da header ve body kısımları vardır.Body kısmına mesajın ne olduğu yazılır.Güvenlik amacı ile Soap Headera kullanıcı adı ve şifre gömülebiliyor.
WSDL(Web Services Description Language):Bir uygulamada web servisini kullanabilmek için web servisinin hangi protocolleri içerdiğini,arayüzünün nasıl olduğunu,nasıl çağrılabileceğini bilmek gerekir.Bu noktada UDDI’ya ihtiyaç duyulur.UDDI web servisi tanımlamalarını tutn bir protokoldür.
UDDI(Universal Description Discovery and Integration): UDDI kurumların kendilerini ve sağladıkları servisleri yayınlayarak tanıtamalarını, ve bu bilgilerin daha sonra diğer kurumlarca taranıp bulunmasını sağlayan bir standarttır.

okulumuzun readmee e-dergisinde yayınlanan yazım,

DERYA GÜNDÜZ 
BİLGİSAYAR MÜHENDİSLİĞİ 4. SINIF

2 Mayıs 2011 Pazartesi

MİCOSOFT TÜRKİYE YAZ OKULUNA SEÇİLDİM!!!!!



Beni çok sevindiren bir haberi blogumda da paylaşma istiyorum.Stajımı nerede yapacam diye  kara kara düşünürken Microsoft yardımıma yetişti.Microsoft yaz okuluna katılmayı çok istiyordum.Bana çok şey katacağından emindim çünkü.Geçen Microsofttan aradılar,yazokulu başvurum kabul edilmiş,dünyanın en mutlu insanı oldum tabi.Yaz stajımı öyle bir yerde yapmak benim için gurur kaynağı.


DERYA GÜNDÜZ

27 Ocak 2011 Perşembe

ERASMUSDAN BANA KALANLAR

       
     5 aydır erasmus programı dolayısıyla geldiğim Litvanya'dayım.Artık son günlerim, birkaç gün sonra bütün yaşananları,bütün arkadaşlıkları geride bırakıp ülkeme dönüyorum.Çok karışık duygular içindeyim şuan:herkesi herşeyi çok özledim;gün sayıyorum artık,ama tabi bir burukluk da var.Burada yaşadıklarımı hiçbir zaman unutmayacağım,inanılmaz tecrübeler yaşadım burada,birçok ilkimi gerçekleştirdim, hayal bile  edemeyeceğim yerlere gittim,Avrupa’daki akrabalarımın hemen hepsini ziyaret etme şansına sahip oldum.İlk  günler bayağı sıkıntılıydı benim için,ama bunlar zaten bir yere alışma dönemimde geçirilen zorluklar imiş,çabucak toparlandım ve uyum sağlamaya çalıştım.Buradaki yaşantıya uyum sağlayabildim mi o biraz şüpheli de,ama hayatımı devam ettirebilecek kadarına evetJ Çünkü buradaki yaşantı,insanlar,insanların ahlak anlayışları çok farklı.Zaten ahlak anlayışı ya da etik denen bir şey yok,o değerlerden tamamen uzaklaşmış bir yaşantısı var Avrupa insanının.Aslında alkol almadıkları sürece çok iyiler,hoş sohbetler,saygılılar;ama içmeye başladılar mı hiç çekilmez,kaçmak gerek.


Tripler(geziler):

        Hiç bilmediğin bir yere kendi yaptığın ayarlamalarla gitmek kadar zevkli bir şey olamaz,bu zevk erasmusda  tavan yaptı benim için, hem de ülke bu  bazlı oldu ,yeni yerler keşfetmek,yeni insanlar tanımak,yeni diller duymak,yeni sistemler ve daha bir sürü yeniler.....
Her gezi hazırlığında aynı heyecanı duyduk.Masamın üzerinde bir Avrupa haritam var,oraya bakarak(geçişleri ayarlamak ve konumu daha iyi yorumlayabilmek için) ve her şeyden önemlisi rynair’den ucuz bilet yakaladıysan gitmemen için hiçbir neden yok:”trip to somewhere” diye başlardı.Sonra hostel faslı,hostellere mail atılır,pazarlık yapılır,tabi bu birkaç yere birden yapılır ki en ucuzu bulunsun.Çünkü hostellerde rezervasyonu internet üzerinden yapınca 2 euro kesinti oluyor ve mail yolu ile olduğunda daha ucuza da ayarlayabiliyorsun.Hosteller konusununda da hostelsclub.com’un emeği unutulmaz,en uygun hosteller orda olurdu çünkü:)Bu da ayarlandıktan sonra geriye ne kalır?gezilecek yerler,ülke ile ilgili bilgiler flan filan.Haritalar da gidilen ülkeden havaalanı,otobüs garı ya da tren garından tourist information’dan temin edilirdi,ilk gittimiz gezilerimizde haritalara para veriyorduk da sonradan işi öğrendik:)









Yolculuk günü Vilnius’dan Kaunas’a(çünkü rynair Kaunasdan kalkıyor) tren ile gidilir ordan da  havaalanına.Rynair’in çilesi bitmez,en ucuz biletler orda ama o verdiğin az para ile de rezil oluyorsun:)Zaten gittiğin ülkede center’a(merkez) gitmek için daha fazla para veriyorsun,örnek:Paris’den Stockholm’a 10 euroya uçak bileti aldık ama Paris’deki havaalanına gitmek için 30 euro verdik,trajikomik.Uçağa binmeden de seni rezil edip gönderirler,ayakkabılarını çıkarttırırlar falan,bazen çantadaki  çatalı fark ederler bazen de bibergazını fark etmezler(bi arkadaşın cebinde varmış,farketmemişler),uçağın içinde hele bir dakika bile o anonslar bitmez,sosyete pazarlarından beter,habire bir şeyler satmaya çalışırlar,smokers ile başlarlardı(sigara satıyorlardı),sonra parfüm,telefon kartı,aklınıza gelen gelmeyen her şey:)Ya çok erken kalkardı ya da geç….ah ryanair neler çektirdin.Çok param olursa hiç binmeyecem ryanaire bir daha:),Ama Allah var şimdi ryanairden olmasa bu kadar gezemezdik.
Buarada geziden önce bir  de yolluk hazırlamak gerekiyordu,yolluk diyorum da aslında yolda yemek için değil,gittiğimiz yerlerde yemek için,oralarda çok para harcamayalım diye kendimiz yapıp götürüyorduk.Genelde baget(Fransız ekmeği) ile ekmek arası falan yapıyorduk,bi de bisküvi falan.Bir ara işi abartıp patates falan bile kaynattık,hatta bazı arkadaşlar yumurta bile:)Her gittiğimiz ülke ayrı bir macera,ayrı bir güzledi.Bir kaç defa havaalanında falan yattık,bazen tren garında o kapanınca da otobüs garında devam ettik.Otobüs ile gittimiz ülkeler için  de bileti geceye alıyorduk ki,o gece için hostele para vermeyelim de yolda geçsinJTüm gün gezdikten sonra hostele zor varıyorduk,ayaklarımın ağrısından uyuyamıyordum geceleri.Hosteller de ayrı maceraydı,değişik değişik insalar vardı,hiç tanımadığın insanlarla aynı odayı paylaşmak zorunda kalıyorsun falan....İşte erasmusun gezi  yönü böyle geçti…..


Erasmus ilklerim:

       Pek çok farklı milletten insan tanıma fırsatı yakaladım erasmus ile,kültürlerini tanımaya çalıştım.Artık dünya haritası hakkında  biraz daha fazla bilgi sahibiyim,enazından gittiğim yerleri bir daha hiç unutmamJBir çok ilki burada yaşadım,aslında biçok insan için basit ilkler olabilr ama ben deneme şansına burada sahip oldum:Hindistan cevizi yedim(meyvesini alıp,kendimiz kırmaya çalıştık,biraz zor oldu tabi),mangoyu tattım,bikaç değişk meyve daha tattım da adlarını bilmiyorumJ,5d sinemaya ilk defa burada gittim,ilk defa burada bowling oynadım,buz pistinde kaymaya çalıştım ama başaramadım,ayakta durmayı bile başaramadım buzdaJ,pitona dokundum hatta tutup foğraf çektim,kuşu elime aldım(normalde korkarım da),ata bağlanmış kızakta kaydım,canlı domuz gördüm,domuz etinin o iğrenç kokusuna maruz kaldım çok sıkL,bukadar sarhoş ve alkol kullanan insanı bir arada görüdm,çok farklı ülkelere gittim…….bunlar şimdilik aklıma gelenler.




Artık bavul toplama vakti geldi,normal hayatıma dönmem gerek. Dersler,okul,projeler,sınavlar,kongreler,konferanslar.....Bu erasmus süresinin  benim için en olumsuz ya da tek olumsuz yanı,bölümle ilgili kendimi geliştirecek zamanı yaratamamış olmamdır.Gelişmelerden ve kendimi bölümle ilgili kendimi geliştiremekten uzak kaldım,ama bana okadar çok şey kattı ki o yüzden pek de üzülmüyorum,o açığımı da artık gelecekte kapatırım..
Bana kalan öğrendiklerim,edindiğim ilginç tecrübeler,fotoğraflar,bozuk para koleksiyonumu zenginleştiren paralarım,bol bol fotoğraf,farklı milletlerden arkadaşlarım ve erasmusa beraber gittiğimiz arkadaşlarda konuşup gülüşecek bolca malzeme oldu:)




7 Ocak 2011 Cuma

Html'de Navigation Map

Sınava çalışırken sınav konuma dahil olan Html ile ilgili yeni birşey daha öğrendim:Navigation map.
Araştırmalarım sonucunda öğrendiklerimi paylaşmak istiyorum:
<map> tagı  bir resim ya da harita üzerinde tıklanabilir alanlar oluşmasını  sağlayan bir tagdir.<map>  tagında olması gereken attribute "name"dir.<map> tagı <img> tagının "usemap" attributesi ile birlikte kullanılır.
<map> tagı ile <area> tagı yardımıyla tıklanabilir alanlar oluştururuz. Tıklanabilir alanlar tıklandığı zaman başka bir image'a yönleniyor.Harita ve image arasında bağlantı sağlanmış oluyor.
w3school.com adlı siteden bir örnekle daha ayrıntılı bir şekilde anlatmaya çalışacağım.
Elimizde 3 tane gezegen resminin olduğu bir resim var.Bu resimde 3 tane  tıklnabiir alan var:sun,mercury,venus.
Kullanıcı hangisine tıklarsa o gezegenle ilgili resme  yönleniyor.
Tıklanabilir alan oluşturulan resim(harita):
güneş

 mercur

venus






<map name="planetmap">  
//burda yazılan name img tagınının "usemap" attributesinde kullanılacaktır
  <area shape="rect" coords="0,0,82,126" alt="Sun" href="sun.htm" />
  <area shape="circle" coords="90,58,3" alt="Mercury" href="mercur.htm" />
  <area shape="circle" coords="124,58,8" alt="Venus" href="venus.htm" />
</map>

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" />

Böylece hangi nesneye gidilirse onun resmi açılacaktır.

DERYA GÜNDÜZ

Javascriptte basit hesap makinesi

Javascript c ve benzeri dillerdeki fonksiyon işlevini görmektedir.Javacripte yazdığınız işlevleri html kısmında fonksiyon adı ile çağırırsınız,böylece fonksiyondan yapmasını istediğiniz şey uygulanmış olur.Javascript kodları <head> tagi arasına yazılır.Basit bir hesap makinası örneği ile Javascriptin genel mantığı ile ilgili bir fikriniz olabilir:


<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function   addition()
{
  s1=document.getElementById("textbox1").value;    
//textboxa verilen id değeri yardımıyla ordaki değer alınıyor
  s2=document.getElementById("textbox2").value;
textboxresult.value=parseInt(s1)+parseInt(s2);
//değerler var tipindedir,onlara işlem yaptırtmak için int çevirmek gerekiyor
}
function   subtraction()
{
  s1=document.getElementById("textbox1").value;
  s2=document.getElementById("textbox2").value;
textboxresult.value=parseInt(s1)-parseInt(s2);
}
function   multip()
{
  s1=document.getElementById("textbox1").value;
  s2=document.getElementById("textbox2").value;
textboxresult.value=parseInt(s1)*parseInt(s2);
}
function   division()
{
  s1=document.getElementById("textbox1").value;
 s2=document.getElementById("textbox2").value;
if(s2==0)
alert("donomioater cant be ,change the value")
else
textboxresult.value=parseInt(s1)/parseInt(s2);
}</script>

</head>

<body>
<input  type="text"  id="textbox1" >
</br>
<input  type="text"  id="textbox2" >
</br>
<input type="button"  id="buttonadd" value="+" onclick="addition()">
<input type="button"  id="buttonasub" value="-" onclick=" subtraction()">
<input type="button"  id="buttonamul" value="*" onclick="multip()">
<input type="button"  id="buttondiv" value="/" onclick="division()">
</br>
<input  type="text"  id="textboxresult" >
</body>

</html>
 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri