#Sharp.Net - Suat Tuncer

3/4/2009 - Yeni Blog

Kategori: Gunluk

Merhabalar,

Uzun zamandır bu adreste yazmıyordum, bunun sebebi biraz da blogu taşımak isteyişimdi. Gelin görün ki blogcu.com yönetiminden istememe rağmen bana ait dataların bir yedeğini alamadığım için henüz buraya aktaramadım.  http://suattuncer.highcode.org  adresinide daha fazla boş bırakmak istemediğimden yeni yazılarımı eklemeye başladım.

ilk fırsatta 2005'den buyana tüm yazılarımı yorumlarıyla birlikte http://suattuncer.highcode.org adresine taşıyacağım.

Yorum (yok) :: Yorum yaz! :: Bağlantı

15/12/2008 - Bayramlar yaşardık...

Kategori: Gunluk

Bayramlar yaşardık hep birlikte,
en büyüğümüzden en küçüğümüze bir arada.
Bir bayram daha yaşadık
                      ama en büyüğümüz bizden uzakta
                                                     hem de çok uzakta.
"Dade"miz,
kendi dilimizde annemiz,
masmavi gözleriyle, son bir gülümseyerek ayrıldı aramızdan.

Mekanın cennet olsun güzel ninem.

Yorum (yok) :: Yorum yaz! :: Bağlantı

14/11/2008 - Asp.Net MVC Framework

Kategori: CSharp

İsim şahane acayip çekici işin içine bir MVC patterni eklenince dayanamıyor insan ağzı sulanıyor fakat madalyonun öteki yüzü böyle değil.

Yeni projemizi MVC paternini uygulayarak geliştirmeye karar verdik ve nede olsa "yabancı" değildir diye microsoft cephesinden Asp.Net MVC Framework'ü incelemeye başladık mamahif indirdiğim sample ile yüklediğim sürüm arasındaki kodlarda bile farklıklar var. Controler methodlarında ciddi değişiklikler yapılırken bir obsolute veya beta attribute bile kullanmadan iterasyonu yapılmış. beta olarak lanse edilsede bu ürün, bence gelişimi için uzunca bir zamana daha ihtiyacımız var.

Ayrıca ne olacak bu web'in Microsoft'tan çektiği. Web uygulamları geliştirme konusnda web formlar ile çok farklı bir yaklaşım getirmişti ki  çok değil geçen senelerde browser application adıyla WPF 'dan bahsetmeye başladı. Şimdide tekrar bir değişiklik ile Asp.Net MVC. tamam güzel hiç birini iptal etmiyor hep üzerine katıyor ama her biri biraz eksik kalıyor. Artık birini mükemmelleştirmeli diye düşünüyor ve buradan bizzat kendilerine sesleniyorum :-).

Bir web teknolojisi istiyorum. 

OOP olsun.
Hafif olsun
Modellemesi kolay olsun
Zengin olsun.

Yorum (yok) :: Yorum yaz! :: Bağlantı

31/10/2008 - NHibernate ve Performans

Kategori: CSharp

Çok uzun olmamakla beraber bir süredir proje geliştiriken NHibernate kullanıyorum. Aslında oldukça pratik bir tool. Özellikle nesnelerin rahatlığını size sunduğu için odağınızı neredeyse tamamen uygulama katmanına kaydırıyor, buda daha kaliteli, okunabilir ve yüksek oranda object oriented bir kodun orataya çıkmasını sağlıyor.

Fakat yaşadığım bir kaç sıkıntıyı paylaşmak isterim. Create, Update ve Delete işlemlerinde oldukça hızlı ve sorunsuz çalışmasına rağmen sorgulama özellikle de raporlamada çok ciddi performans sıkıntıları var, tabi burada problem birazda benim raporlama kaynağı olarakta object collectionlar kullanmak istememden kaynaklanıyor.

Tavsiyem sorgulamada HQL veya SQL kullanılmasından yanadır özellikle complex raporlama tarzı sorgularda kesinlikle IQuery interfacesi kullanılmalı ICriteria değil. Benim tercihim HQL hernekadar SQL tarzı sıkıcı sorgular yazmak zorunda kalsamda nesne sorguladığım için daha keyifli ve kullanışlı. Gönül isterdiki LINQ ile NHibnernate kardeş kardeş çalışsın mamhif henüz mümkün değil.

Yorum (4) :: Yorum yaz! :: Bağlantı

13/9/2008 - Kişisel Müzik

Kategori: Gunluk
Yasaklansın arkadaş toplu taşıma araçlarında yüksek sesle kişisel müzik (herkese dinlettiğin müzik nasıl halen kişisel olur o ayrı) dinlemek yasaklansın arkadaş.

Ataşehir'den Bakırköy'e gelenece kadar, iett otobüsünde ve deniz otobüsünde kaç çeşit müzik dinlemek zorunda kaldım bilmiyorum. Burdan sana sesleniyorum bonus kafa, metal müzik iyi olabilir ama bana dinletmek zorunda değilsin ve sen dik saçlı bebe, pop müzik tam sana göre olabilir ama bana göre değil. Hayır müziklede aram gayet iyidir ve müziksin duramam yaşayamam belkide. Beni asıl ifriteden, o kulaklıklardan çıkan tiz ses.

Gelişmiş toplumların en büyük özellikleri bir arada yaşarken ortak yaşam alanlarında bir birlerini rahatsız etmemeleridir. Ben artık sürekli yanımdakini, berimdekini, müziğin sesini kısmaları konusunda uyarmaktan bıktım. Bundan sonra yanımda ufak bir makas taşıyacağım ve direk kulaklıklarının kablolarını keseceğim.

Ayrca Sanada diyecek iki çift sözüm ey cep telefonu devi Nokia, ürettiğin her telefonu kişisel deneyim, müzik, resim kişisel de kişisel diye lanse ediyorsun da bu kulaklıklarını neden bu kadar adi yapıyorsun. Yap adam gibi kulaklık sadece takan dinlesin ben dinlemeyeyim.

Bir an önce toplu taşıma araçlarına "Lütfen Yüksek Sesle Müzik Dinlemeyiniz " şeklinde bir uyarı asılması için siz yetkililer harekete geçin. Aksi halde ben kendi uyarı etiketlerimi bindiğim her araça yapıştıracağım.

Bilginize.
Yorum (yok) :: Yorum yaz! :: Bağlantı

1/9/2008 - Barış İstiyorum

Kategori: Gunluk

Barış istiyorum tüm dünya için,
hayatında barışı tatmayan insanlar için,
tasa gütmeden tüm insanların gök yüzene bakmasını ,
mavinin sonzuluğunda mutlu olmalarını istiyorum.

BARIŞ   ( Yannis Ritsos )
Çocuğun gördüğü düştür barış,
Ananın gördüğü düştür barış,
Ağaçlar altında sevdalıların sevda sözleridir barış.
Gözlerinin içinde uçsuz bucaksız bir gülümseme,
elinde yemiş dolu bir zembil
ve alnında ter tomurcukları,
-pencerede suyu soğutan testideki damlalar gibi-
akşamüstü eve dönen babadır barış..

 Dünyanın yüzünde yara izleri kapanırken,
ağaçlar diktiğimizde
havan mermilerinin kazdığı çukurlara,
yangının kavurduğu yüreklerde,
ilk tomurcuklarını açarken umut
ve ölüler kanlarının boşa gitmediğini bilerek
yana dönüp içerlemeksizin
uyuyabildiklerindedir barış..

 Barış yemek kokusudur tüten
akşamleyin arabanın yolda durmasının
korkutmadığı,
kapı çalınmasının dost demek olduğu
ve pencereyi saat başı açmanın,
renklerinin uzaktaki çanlarıyla
gözlerimizin bayram etmesini
sağlayan gökyüzü
demek olduğu zamandır  barış..

 Barış bir bardak sıcak süt ve bir
kitaptır uyanan çocuk önünde.
Başaklar birbirlerine eğilip ‘İşte,
ışık, ışık, ışık!’ dedikleri
ve ufuk çemberi ışıkla dolup taştığı
zamandır barış..

 Hapishaneler onarılıp kitaplıklar yapıldığı zaman,
eşikten eşiğe bir türkü yükseldiği
zaman geceleyin,
cumartesi akşamları mahalle
berberinden çıkan yeni traş olmuş bir işçi gibi
baharda ay buluttan çıktığı zamandır barış..

 Geçmiş gün,
yitirilmiş gün olmadığı
sevinç yapraklarını akşamın içine
salan kök
ve kazanılmış bir gün, hak edilen bir
uyku olduğu zaman,
acıyı kovmak için zamanın dört bucağından
güneşin hemen ayakkabılarını
bağladığını duyduğun zamandır barış..
 

Barış ışınlar demetidir yaz ovalarında,
iyilik alfabesidir tanın dizlerinde.
‘Kardeşim’ dediğin,
‘Yarın kuracağız’ dediğin zaman
kuracağız dediğimizi kurunca
türkü çağırdığımız zamandır barış..

 Ölüm yüreklerde az yer kapladığı
ve güvenli parmaklarda mutluluğu
gösterdiği zaman bacalar,
ikindi vaktinin büyük karanfilini
ozan ve proleterya aynı şekilde kokladığı
zamandır barış..

 İnsanların sıkışan elleridir barış,
dünyanın masasındaki ekmektir,
gülümsemesidir annenin.
Budur yalnızca.
Başka bir şey değildir barış.
Ve toprakta derin karıklar açan
sabahlar tek bir sözcük yazarlar:
Barış.
Başka bir şey değildir barış..

 Dizelerimin rayları üzerinde
buğday ve güller yüklenmiş
geleceğe doğru yol alan trendir barış.
Kardeşlerim,
barış içinde derin derin soluk alıyor
tüm dünya bütün düşleriyle.
Verin elinizi kardeşlerim,
barış budur işte.

Yorum (3) :: Yorum yaz! :: Bağlantı

1/7/2008 -

Kategori: Gunluk
Merhabalar,

An itibariyle BilgeAdam'dan ayrılmış bulunuyorum değerli dostlarım. Eğitmenlik her ne kadar keyifle yaptığım bir iş olsada artık proje sahalarına geri dönmüş bulunuyorum :-), daha gidecek çok yolumuz var...

 
Yorum (3) :: Yorum yaz! :: Bağlantı

9/6/2008 - HighCode

Kategori: Gunluk

 HighCode logo 

           Yazılım dünyasında, bilgi ve deneyim paylaşımına farklı bir soluk getireceğine inandığım highcode.org sitesi yakında zamanda hayata geçecek fakat şimdiden üye kabul işlemleri başladı. Sizde şimdiden geliştmeleri takip etmek için mail listesine kaydolabilirsiniz,

Yorum (yok) :: Yorum yaz! :: Bağlantı

3/8/2007 - Dış Dünyayla Proxy Server Üzerinden Konuşmak

Kategori: CSharp

 

Büyük şirketlerde ve kurumsal yapılar içersinde ISA server olmazsa olmaz yapılardan biridir. Her türlü network trafiğini kontrol altında tutmak için en ideal yoldur. Amaç tüm network trafiğini izlemek ve denetim elde tutumak olunca işin içne kaçınılmaz olan güvenlik girmektedir.

 

Bir çoğumuzun bildiği gibi ISA Client nesnesi üzerinden dışarıyla konuşmak için üyesi olduğumuz networkte geçerli bir Kullancı Adı ve şifreye sahip olmak şarttır suat.tuncer@sirket.com gibi.

 

Böyle bir networkte dışarıya çıkmanın tek yolu proxy serverı kullanmaktır. Bunu yapmak için Internet Explorer’ın connection kısmında proxy server adresini girmek yeterlidir.

 

IE 7.0’da ISA Client’ın Yapılandırdığı Proxy Ayarları

 

Fakat yazdığımız uygulamalarda bu yeterli değil. Güvenliğin arttılıdığı ve kısıtlamaların arttığı WAN’larda özellikle dışarıya çıkmak isteyen uygulamalar söz konusuysa bu işi bizim yapmamız gerekir.

 

Bu yazıda kısaca bu problemin nasıl aşılacağını anlatacağım. Öncelikle basitce webden bir dosya almaya çalışalım.

 

using System;

using System.Collections.Generic;

using System.Text;

 

using System.Net; //webclient nesnesi için

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            WebClient client = new WebClient();

            client.DownloadFile("http://img.blogcu.com/uploads/suattuncer_20051018.jpg", "c:\dosya.jpg");

        }

    }

}

 

Yukarıdaki dosya alınmaya çalışıldığında aşağıdaki gibi bir hatayla karşılaşmaktayım, Bu arada hemen belirteyim bu hatayı, ancak ISA Server bulunan ve Proxy Authentication isteyen bir NetWorkde görebilirsiniz

 

 

Bu problemi aşmanın yolu Domain hesabımızı kullanmak olacaktır. WebClient nesnesi incelendiğinde bu gibi sorunları aşması için Credential gibi bir özelliğe sahip olduğunu göreceksiniz, .Net’de,  System.Net altında yeralan bir çok sınıfın Credential özelliği bulunmaktadır. Bir ağ kimliği oluşturarak Proxy üzerinden yada herhangi bir network üzerinden dışarıya çıkmak için kullanılmaktadır.

 

 NetworkCredential Nedir ?

 

Network üzerinde geçerli olan bir kimlik gibi düşünülebilir. Kısıtlanmış ve Authentication’a bağlı noktalarda uyugulamayı kullanan kişinin kendini doğrulamak için çıkartıp göstereceği kimliktir.  Tıpkı yukarıdaki hata mesajında bahsedildiği gibi : “Proxy Authentication Required”

 

Yukarıdaki kodu aşağıdaki gibi revize edip tekrar çalıştırdığımızda sorunsuz çalıştığını göreceksiniz.

 

using System;

using System.Collections.Generic;

using System.Text;

 

using System.Net;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            WebClient client = new WebClient();

 

            //networkde geçerli bir limlik tanımlaması yapılıyor

            NetworkCredential kimlik = new NetworkCredential();

            kimlik.Domain = "sirket.com";

            kimlik.UserName = "suat.tuncer";

            kimlik.Password = "password";

 

            //Proxy server tanımlanıyor

            WebProxy proxyServer = new WebProxy("10.1.0.100", 8080);

 

            //proxy sunucu üzerinden doğrulanacak kimlik

            proxyServer.Credentials = kimlik;

 

            //WebClient nesnesinin dışarıya hangi sunucu üzerinden çıkacağı belirtiliyor

            client.Proxy = proxyServer;

 

            // artık güvenliğe takılmadan dosya indirilebilir

            client.DownloadFile("http://img.blogcu.com/uploads/suattuncer_20051018.jpg", "c:\dosya.jpg");

        }

    }

}

 

NetworkCredential        : Network üzerinde doğrulanacak bir kimlik tanımlamak için kullnılır

WebProxy                          : Konu başında anlattığım Proxy Server’ın ta kendisi kodumuzdaki, Network trafiğinin hangi sunucu üzerinden gerçekleşeceğini belirtir.

 

Belki her durumda değil ama sıkı güvenlik kurallarının olduğu NetWorklerde ihtiyaç duyduğum bir yapıydı.

Soru ve Önerileriniz için

suattuncer@hotmail.com   .::.   http://suattuncer.bloguc.com

 

 

Yorum (5) :: Yorum yaz! :: Bağlantı

30/5/2007 - Neden Herşey Sıfırdan Başlar

Kategori: LLP

 

Hiç düşündünüz mü, neden dizilerde indexler sıfırdan başlar ?

Aslında oldukça basit; int tipinde 5 elemanlı bir dizinin elemanlarını dolaşmak için genellikle aşağıdaki kod kullanılır

 

int main(){ 
     int rakamlar[5]; 
     for(int i=0;i<5;i++){
          //istenilen kodlar buraya
     
     return 0;
}

 

Yukarıdaki dizinin herhangi bir elemanına erişmek demek, aslında dizinin o elemanının RAM'deki adresine erişmek demekdir şöyleki ;
     int rakamlar[5];  //int tipi bellekte 4 Byte yer tutar
RAM'de bu diznin yerleşimini şöyle olacaktır

 

rakamlar dizisi
1. Eleman [0] 80100 data
80101 data
80102 data
80103 data
2. Eleman [1] 80104 data
80105 data
80106 data
80107 data
3. Eleman [2] 80108 data
80109 data
80110 data
80111 data
4.Eleman [3] 80112 data
80113 data
80114 data
80115 data
5.Eleman [4] 80116 data
80117 data
80118 data
80119 data

 

Dizinin 4. Elemanına erişmek için 3 nolu index kullanılır, buda bizi 3 nolu elemanın RAM'de saklandığı bloğun başlangıç adresine erişmek edemektir. Hemen hesaplayalım.


dizinin başlangıç adresi + (dizi tipinin adres büyüklüğü * erişilmek istenilen indeks)

yani :
80100 + (4*3) = 80112 > yani 4. elemanın (3 indeks numaralı elemanın) başlangıç adresi

 

şimdi 0'dan başlamadığını düşünüp hesaplayın, hiç bir zaman ilk elemana erişilemezdi :-)

Yorum (3) :: Yorum yaz! :: Bağlantı

<- :: Sonraki Sayfa ->

Hakkımda

.Net teknolojileri, # Sharp Dilleri ve olan biten ne varsa

Kategoriler

Arkadaşlarım

hepgittik