| Hilmi BEYDEŞ's profileHilmi BEYDEŞPhotosBlogLists | Help |
|
June 10 Windows 7.0Wall Street Journal tarafından düzenlenen D6 “D: All Things Digital” Konferansında Bill Gates ve Steve Ballmer birlikte sahne aldılar ve ilk defa Windows 7’nin özelliklerinden birini gösterdiler. Microsoft Surface teknolojisinin SDK olarak dahil edildiği Windows 7 üzerinde dokunarak işlem yapmak mümkün olacak, çoklu dokunma teknolojisi videoda da göreceğiniz gibi Dell Lattitude XT gibi bir dizüstü bilgisayarında kolayca çalışabiliyor, böylelikle 2010 yılında çıkması planlanan yeni Windows ile her yüzeyin bilgisayara dönüşmesi için önemli bir adım atılmış olacak. Windows 7 hakkında konuşmak için çok erken ama bu yılın sonunda ve özellikle de 2009’da ürünü daha yakından tanımamız mümkün olacak. Sayfanın altındaki videoyu mutlaka izleyin. Daha önceden de bahsettiğim surface teknolojisi artık windows a gömülü olacak. June 07 C# ile Registry İşlemleriWindows’ un tüm bilgileri bildiğiniz gibi registry de saklanmakta. Bu yazımda registry e bilgi kaydetme ve okuma işlemleri üzerinde duracağım. Öncelikle registry e nasıl ulaştığımızı söyleyeyim. Başlat, Çalıştır, Regedit dediğimizde Kayıt Defteri Düzenleyicisi yani Registry bilgilerini görmüş oluyoruz. Registry de 5 ana kök var. Bunlar: HKEY_CLASSES_ROOT Bunlara herhangi bir veri ekleyip okuyabilmekteyiz. Peki nasıl? Yine örnek proje üzerinden gideceğim. C# da bu işlemleri yapabilmek için private void button1_Click(object sender, EventArgs e) { string text = textBox1.Text; } Okuma işlemi de benzer şekilde: private void button2_Click(object sender, EventArgs e) { string text = Registry.CurrentUser.GetValue("UserName").ToString(); } Ana rootların altına klasör eklemek için örneğin şöyle yapabiliriz. Bu yazımda C# da registry işlemleri nasıl yapılır öğrenmiş olduk. Çok kolay olduğunu görebiliyorsunuz. Zaten Microsoft ile proje geliştirmek gayet kolaylaştı. Tek tıkla her şey elinizin altında. Herkese İyi Çalışmalar! June 05 SharePoint İçin Kilit SiteMicrosoft yeni bir site ile karşımızda. Önümüzdeki yıllarda geniş yankı uyandıracağına inandığım ve benim de biraz ilgilendiğin SharePoint ürünü ile alakalı harika bir site hazırlandı. Sıfırdan başlayıp geniş bilgiler elde edebileceğiniz bu siteyi mutlaka ziyaret edin ve ilgi duyarsanız mutlaka tüm linkleri bitirin:). Öncelikle sharepoint kurulu virtual harddiski indirmenizi öneririm. http://MSSharePointDeveloper.com Herkese İyi Çalışmalar! Windows XP de Bilgisayarı Otomatik KapatmakWindows XPde bilgisayarı Otomatik Kapatmak için hazır bir program vs. gerek yok aslında.. Basit bir komutla bu işlemi yapabilirsiniz.. May 30 Gün ve Ay İsimleri Nereden Geliyor?Ntvmsnbc.com da rastladığım ilginç bir bilgiyi paylaşmak istedim. İşte gün ve ay isimlerimizin kökenleri: Cuma-Arapça-toplama, toplanma May 29 C# ile Drag&DropHepimizin bildiği sürükle bırak… Peki implementasyonu nasıl? Bir kontrolün mouse ile tutulup taşınması mantığını içerdiğinden genellikle kontrolün MouseDown eventine kodlarımızı yazmalıyız. Burada önemli olan metot ve özellikleri inceleyelim. DoDragDrop: Sürüklenecek bilginin belirlenmesini sağlar. Genel olarak mantık şöyledir. Öncelikle mousedown eventinde DoDragDrop ile taşınacak veriyi seçeriz. Sürüklenecek kontrolün AllowDrop özelliğini true yaparız. DragDropEffects ile de sürükleme tipini belirleriz. Son olarak da sürüklenen veriyi bırakılan kontrole ekleriz. Yaptığım örneği 5sn den kısa sürede indirip deneyebilirsiniz. Herkese İyi Çalışmalar! May 28 Neden MSDN?İtalyanlar MSDN in önemini anlatan güzel ve eğlenceli bir video yapmışlar:). Silverlight teknolojisi ile hazırlanmış iki sevimli yazılımcının 3 gününü gülerek izleyeceksiniz. Mutlaka izleyin! http://www.microsoft.com/italy/msdn/prodotti/promozioni/value/default.aspx May 27 DataTable da Filtreleme ve Sıralama- 2filterExpression: Filtreleme ifadesi. WHERE ifadesi private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = dt; DataRow[] satir = dt.Select("musteri_id<30 and musteri_id>20"); foreach (DataRow dr in satir) { MessageBox.Show(dr["musteri_adi"].ToString()); } } DataTable da var olan bu özellikler sayesinde projelerimiz üzerindeki performans yükünü büyük bir oranda azaltmış oluyoruz. Zira eğer her sıralama veya filtreleme işlemi için server a gidecek olursak performansımız doğal olarak düşük olur. Her şeyden önce bu biz mühendislerin tercih etmeyeceği bir noktadır. Bu arada yaptığım projeyi skydrive a upload ettim. Dileyen indirebilir. http://cid-ecd27a5458288d23.skydrive.live.com/self.aspx/Ortak/datatable.rar Herkese İyi Çalışmalar!!! May 26 DataTable da Filtreleme ve Sıralama -1
Ado.Net sıklıkla kullandığımız sınıflardan biridir DataTable. DataTable a ait DataRow ve DataColumn sınıfları ile işlemler yapabilmekteyiz. Bu yazımda genel olarak kullandığımız datatable da filtreleme ve sıralama işlemlerine göz atacağız. DataRow özelliği altında filtreleme işlemleri find metodu ile yapabiliyoruz. Ancak bu metottan tek bir kayıt geri dönüyor. Zira Find() primary key üzerinden arama yapıyor. Şu örnek koda bakalım: private void Form1_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(@"data source=HILMIPC\HILMI;integrated security=sspi;initial catalog=ilk"); SqlDataAdapter da = new SqlDataAdapter("Select * from musteri", con); dt = new DataTable("musteri"); // dt global olarak tanımlanmıştı da.Fill(dt); DataColumn[] dc = { dt.Columns["musteri_id"] }; dt.PrimaryKey = dc; }
private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = dt; DataRow satir= dt.Rows.Find(19);//varolan bir ID girin. aksi halde hata verecektir.veya try catch de kullanabilirsiniz:) MessageBox.Show(satir["musteri_adi"].ToString()); } Hemen kısa bir izahatta bulunayım. Bağlantıyı kurup DataTable doldurulduktan sonra onun üzerinde hangi kolonların primary key olacağını belirlememiz gerekiyor ki find metodu çalışabilsin. Daha sonra da buton click te datarow un find metodunun kullanılışını görüyoruz. Peki primary keyden başka alan üzerinden işlem yapamıyor muyuz? Tabi ki yapabiliyoruz. DataTable a ait Select() bu işi yapıyor ve 3 adet override a sahip. Select(); (devam edecek) May 25 Genel Exception SınıflarıC# da hata yakalama işlemlerini try-catch-finally blogları ile yapıyoruz. Bu yazımda .Net framework içerisinde tanımlanmış olan exception sınıflarından yaygın olanları inceleyeceğim. Herkese İyi Çalışmalar!!! May 24 Asp.net ile vCalendar OluşturmakAsp.net ile hazırladığımız bir sitede etkinlik duyurusu yaptık diyelim. Bunu kullanıcının Outlook takvimine randevu olarak eklemek istiyoruz. Nasıl yaparız sorusunun cevabını bu yazımda bulabilirsiniz. Öncelikle veri tabanımızda tabloyu oluşturalım.
Daha sonra bir web Project açalım. Sayfamızın source kısmına geçip page bölümüne ResponseEncoding="iso-8859-9" ibaresini ekliyoruz. Bunu eklememiz Türkçe karakter desteğini sağlayacaktır. Sonra Body kısmına aşağıdaki kodu ekleyelim: <asp:Repeater ID="Repeater1" runat="server" DataSourceID="vcalendar" OnItemCommand="onClick"> <ItemTemplate> <asp:Label ID="lblBaslik" runat="server" text='<%#Eval("baslik")%>'></asp:Label> <br/> <asp:Label ID="lblOzet" runat="server" Text='<%#Eval("ozet")%>'></asp:Label> <br/> <asp:Label ID="lblbaslangic" runat="server" Text='<%#Eval("bitis")%>'></asp:Label> <br/> <asp:Label ID="lblbitis" runat="server" Text='<%#Eval("baslangic")%>'></asp:Label> <br/> <asp:LinkButton ID="linkbutton1" runat="server" CommandName="vcalendar">Takvime Ekle</asp:LinkButton> <br /> </ItemTemplate> <SeparatorTemplate> <br /> ________________________________ <br /> </SeparatorTemplate> </asp:Repeater> Tasarımdan sonra asıl kod sayfamız aşağıdaki gibi olacak: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SqlConnection con = new SqlConnection(@"Data Source=HILMIPC\HILMI;Initial Catalog=vcalendar;Integrated Security=True"); SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM[etkinlik]", con); DataSet ds = new DataSet(); da.Fill(ds);
Repeater1.DataBind(); } }
protected void onClick(object source,RepeaterCommandEventArgs e) { if (e.CommandName == "vcalendar") { string baslik = ((Label)e.Item.FindControl("lblbaslik")).Text; string ozet = ((Label)e.Item.FindControl("lblozet")).Text; string baslangic = Convert.ToDateTime(((Label)e.Item.FindControl("lblbaslangic")).Text).ToString("yyyyMMddTHH0000"); string bitis = Convert.ToDateTime(((Label)e.Item.FindControl("lblbitis")).Text).ToString("yyyyMMddTHH0000"); string UID = Guid.NewGuid().ToString().Replace("-", "");
StringBuilder sb = new StringBuilder(); sb.Append("BEGIN:VCALENDAR\n"); sb.Append("BEGIN:VEVENT\n"); sb.Append("DTSTART:" + baslangic + "\n"); sb.Append("DTEND:" + bitis + "\n"); sb.Append("UID:" + UID + "\n"); sb.Append("DESCRIPTION:" + ozet + "\n"); sb.Append("SUMMARY:" + baslik + "\n"); sb.Append("END:VEVENT" + "\n"); sb.Append("END:VCALENDAR"); Response.ContentType = "text/x-vCalendar"; Response.AddHeader("Dosya","filename=" + UID + ".vcs;"); Response.Write(sb.ToString()); Response.End(); } } Bu sayede Outlook randevusu ayarlamış olduk. Kodu biraz incelemenizi tavsiye ederim. İyi Çalışmalar! May 22 Photosynth ve CSI:NYCSI:NY dizisi içerisinde Microsoft Live Labs ürünlerinden olan Photosynth ürünü kullanılarak bir okul cinayetinin suçlusu dedektifler tarafından arandı. Dizi içerisinde geçen sahnede öğrencilerin parti esnasında fotoğraf makineleri ve cep telefonlarıyla çekmiş oldukları tüm fotoğraflar Photosynth sayesinde biraraya getirildi ve böylelikle muhtemel suçlunun bulunması sağlanmış oldu. CSI yönetmenleri geçtiğimiz yaz Microsoft’u ziyaret ettiklerinde onlara Photosynth demosu yapılmıştı ve ekip bunu dizi içerisinde kullanmak istediklerini belirtmişlerdi, bunun üzerine Microsoft Live Labs takımı ile yakın çalışarak yan tarafta izleyebileceğiniz bölüm içerisindeki sahne ortaya çıktı. Photosynth’in gücünü gösteren çok güzel bir örnek oldu, bildiğiniz gibi biz de Microsoft Türkiye olarak bugüne kadar Sultanahmet Meydanı ve Anıtkabir’in binlerce fotoğrafını Photosyth kullarak biraraya getirmiştik. Gençsen Geleceksin seminer dizisinde de bunları paylaşmıştık. Photosynth i denemek ve incelemek için tıklayınız: http://labs.live.com/photosynth/ May 21 Imagine Cup 09 Temasını Seçin!
Bir Imagine Cup yılını da en azından Türkiye olarak geride bıraktık. Finalistimiz dünya finali için hazırlanırken dünyada gelecek senenin Imagine Cup teması oluşturma çabaları başladı. Aşağıdaki linke tıklayıp siz de yeni temaları görünteleyip seçim aşamasında oy kullanabilirsiniz. http://www.mondorobot.com/microsoft/IC2009 Herkese iyi çalışmalar! May 16 SOA Semineri
SOA - Service definition - Explictness - Coupling - Configuration - RPC/XML, SOAP/XML, Remoting, Web Services , COM, DCOM, COM+ Katmanlı Mimari - Database mimarisi - Database tasarımı - Design Patterns - ADO.NET - Katmanlar - NHibernate Tarih / Saat : 24 Mayıs 2008, Saat 13:00 Yer : Microsoft İstanbul Ofisi, Marmara Salonu Seminere katılmak için tıklayın: http://www.msakademik.net/seminer_kayit.aspx?etkinlik_id=241 May 15 Not So Naive AlgorithmDiskten bir metin arama algoritması olan Not So Naive Algoritmasını inceleyeceğim bugün. Gerçek hayattaki performansında hemen tüm metin arama algoritmaları genellikle diskten okuma işlemlerinde pek farklı değildir. Ancak Not So Naive Algoritması kodlama açısından en uygulanabilir algoritmadır. C Kodu void NSN(char *x, int m, char *y, int n) { /* Burada x aranacak metin; y metim yığını; m metin yığınının uzunluğu ve n ise aranacak metinin uzunluğudur. */ int j, k, ell;
/* Önişlem */ if (x[0] == x[1]) { k = 2; ell = 1; } else { k = 1; ell = 2; }
/* Arama */ j = 0; while (j <= n - m) if (x[1] != y[j + 1]) j += k; else { if (memcmp(x + 2, y + j + 2, m - 2) == 0 && x[0] == y[j]) OUTPUT(j); j += ell; } } Buradaki memcmp komutunu kısaca açıklayalım: MEMCMP : Herkese İyi Çalışmalar May 14 PopFly GameCreatorArtık aramızda popfly ı bilmeyen yok. Ancak Alfa aşamasında olan Game kısmını tanıtmak istiyorum. popfly.com a girdiğinizde Create Game butonuna tıkladığınızda küçük çaplı oyunlar yapabilmeye başlıyoruz. Tabiki popfly ın mantığı ile paralel şekilde. Yani tek bir satır kod yazmadan:).
Sıkıldığınızda mash-uplar veya web sayfalar oluşturmaya devam edebilirsiniz.
Şimdi live hesabınızla girip deneyin.
May 13 Voice Over Internet Protocol SONVoice Over IP ile İlgili Tanımlar VoIP: İnternet Protokolü üzerinden ses aktarımı ( IP Telefonculuğu, Internet Telefonculuğu ve Dijital Telefon olarak adlandırılır), sesli görüşmelerin İnternet veya diğer IP tabanlı ağ üzerinden yapılmasıdır. SIP: Oturum Başlatma Protokolü - IETF MMUSIC Çalışan Grup tarafından geliştirilmiştir ve video, ses, anında mesajlaşma, online oyunlar ve sanal gerçeklik gibi çoklu ortamı kapsayan bir etkileşimli kullanıcı oturumunu başlatma, değiştirme ve son vermek için önerilen standarttır. PSTN: Kullanıcı anahtarlamalı telefon şebekesi - İnternetin dünya üzerindeki kullanıcı IP tabanlı paket anahtarlamalı şebekelerinin yoğunlaşmış haline çok benzer şekilde, dünya üzerindeki kullanıcı çevrim-anahtarlı telefon şebekelerinin yoğunlaşmış halidir. ISDN: Entegre Hizmetler Dijital Şebeke- ses ve verinin sıradan bakır telefon kabloları üzerinden analog sistemlerden daha iyi kalitede ve daha hızlı dijital (analog'un tersine) aktarımını sağlayacak şekilde tasarlanmış bir çevrim anahtarlı telefon şebeke sistemidir. PBX: Özel Şube Santrali (Özel İşletme Santrali olarakta bilinir) - Genel bir taşıyıcı ya da telefon firmasının sahip olduğu santrale karşılık özel kurumların kendilerinin sahip olduğu bir telefon santralidir. IVR: Telefonculukta, Etkileşimli Sesli Yanıt - genellikle telefonla arama yapan bir kişinin sesli menüden bir seçim yapmasına imkan veren ve aksi takdirde bir bilgisayar sistemi arayüzü ile karşılaşılan bilgisayarlaştırılmış bir sistemdir. DID: Direkt Dahili Arama (Avrupa'da DDI olarak da bilinir) telefon şirketlerinin (telco), müşterilerinin PBX sistemleri ile kullanılmak üzere onların PBX'ine bağlı bir dizi numara tahsis etme yoluyla sundukları bir özelliktir. RFC: Yorumlar Talebi (RFCs için Yorumlar Talepleri) İnternet ve Unix toplumlarındaki ticari yazılımlar ve bedava yazılımlar tarafından yaygın olarak takip edilen bir dizi numaralı Internet bilgilendirici belge ve standartlarından birisidir.
Voice Over Internet Protocol kısaca VoIp, internette veya da diğer packet switch ağlarında ses iletiminin optimize edilerek sağlandığı bir protokoldür diye tanımlamıştık. Ancak gördük bu tanım altında kısa bir sürede birçok geliştirilme yapılmış ve yapılmaya devam ediyor. VoIP uygulama alanları hem eğitim hem de diğer sektörlerde hızlıca artmaktadır. VoIP servislerine duyulan bu aşırı istek de maliyetlerin azalmasına sebep olmuştur. IP tabanlı servisler günümüzde yönetim ve öğrenme açısında da potansiyel bir güç olmuştur. Ayrıca ileride medya, veri, vidyo ve ses üzerinde de birleştirme olacaktır. Bu seviyedeki bir birleştirmeyi sağlayabilmek için beraber çalışabilirlik ve standartlar üzerinde çalışma kritik olacaktır. Diğer bir önemli nokta ise kablosuz VoIP alanındaki gelişmeler olacaktır. Bu sayede her bir kişi uzaktan istediği yerden bilgisayarlarını kullanarak istedikleri verilere ulaşabilecekler. Belki de ilerde multiplayer oyun oynamak gibi bir şey olacak VoIP. Ancak hala daha geliştirilmeyi bekleyen birçok VoIP konusu hali hazırda bulunmaktadır. Bunlar IP tabanlı video konferanslarda VoIP entegrasyonu, adresleme, aktif dizin desteği vb… konulardır. Kısaca VoIP teknoloji dünyamızda aslında bir kilometre taşıdır. Birçok şeyi değiştirmiş bizlere çok büyük faydalar sağlamıştır ve de sağlamaya devam edecektir. (SON) May 11 Teşekkürler GALATASARAYEğer bir işi kalbinizi ortaya koyarak yapıyorsanız o işte başarılı oluyorsunuz. 5 maç seyircisiz oynadı Cim Bom, teknik direktör Kalli bir ara hasta oldu, bir ara ne olduğu belli olmadı ama saha kenarında nadir vardı. 4 oyuncusu genç ve bir önceki sezon küme düşen takımdan gelen oyunculardı. Emre Ankaragücü'nden gelen bir oyuncu. Servet Sivas'tan. Orkun Erciyes'ten. Hakan Manisa'dan. Volkan Antalyaspor'dan. Serkan ve Barış Almanyada 3.lige düşen Essen takımından. Bunların yanında tecrübeli Kral Şükür, Ümit Karan, Hasan Şaş, Ayhan ve Süper Yıldız ARDA ve Lincoln ile CİMBOM tek yürek oldu. Her maçta sahada on bir altın ASLAN yürek vardı. Paralarla değil her maçtaki oyununuzla maçları kazanabiliyorsunuz. Sonuçta yeni bir tarih yazdı GALATASARAY. Her birine teker teker TEŞEKKÜRLER! ŞAMPİYON GALATASARAY!!! May 10 Imagine Cup Turkey FinalBir senedir beklenen an geldi ve geçti. Finalist The EFS Team grubu arkadaşlarımın hepsine tekrardan çok teşekkür ediyorum.
Cuma günü tüm finalist grupların sunumlarını izleme şansına sahip oldum. Innovatif düşünce olarak imagine kelimesinin karşılığını aslında The EFS Team çok iyi vermişti. Ancak Jürilerin değerlendirmesi sonucunda ise Türkiye klasmanı şöyle oluştu:
1-L'orientalis - Kocaeli Üniversitesi
2-Miracle - Kayseri Erciyes Üniversitesi
3-Rota - Çanakkale Üniversitesi
Tüm grupları tebrik eder Ms Yaz Okulu 2007 den arkaşım Semih Balkancı'nın grubu L'orientalis' e de Paris'te başarılar dilerim. |
|
|