Yazılım geliştirme sırasında  ya da bazı durumlara anlam vermek için kimi zamanda araştırma geliştirme işlemleri sırasında çeşitli araçlar düşüneceğimizden daha çok yardımıcı olabileceğini görüyoruz. Yeri geldiğinde gördüğüm hoşuma giden araçları sizlerle paylaştım.

Ama farkettim ki sıklıkla kullandığım 3 aracı sizlerle paylaşmamışım :)

-Fiddler
-LinqPad
-FireBug

Fiddler

Web Debugger olarak nitelendirebileceğimiz bu uygulama web geliştiricileri için olmazsa olmazlardandır diyebilirim.Bilgisayarınızdan herhangi bir yolla internet üzerinden bir yere eriştiğinizde ya da ie ile herhangi bir websitesine requestte bulunuduğunuzda ya da localinizde geliştirdiğiniz asp.net projelerinde Fiddler hemen devreye girerek tüm trafiği analiz eder ve size gösterir. HTTP protoklündeki tüm detayları size göstererek gerek keşleme olsun gerek sitenizin yüklenme süresi olsun gerek yüklenme sırasında tüm response ve requestlerin tüm detaylarına kadar izlemek olsun sayamayacağım bir çok özelliği ile yeri geldiğinde web uygulamarında karşımıza çıkacan sorunlara karşın can simidiniz olabilir.
http://www.fiddlertool.com/dl/Fiddler2Setup.exe linkinden bu aracı indirebilirsiniz.


Birkaç özelliğinden bahsedecek olursak TimeLine özelliği bir sitenin ne kadar sürede yüklendiği sitenin yüklenmesi sırasında hangi parçanın ne kadar zaman sürdüğü gibi bilgileri grafiksel olarak görebilirsiniz. Hiç tahmin etmediğiniz bir script dosyası ya da bir resim sitenin yüklenme süresini artırıyor olabilir.Bu sayede sorunlu içereği tespit etmek çok kolay olacaktır. (Resimlerin büyük hali için resmin üzerine tıklayınız)

Diğer önemli bir özellik ise, göndermiş olduğunuz Request'in ve size gelen Respons'un tüm ayrıntılarını gözlemleyerek arabelleğe alma (cache) gibi işlemleri ya da ajax işlemleri sırasında response detaylarını görebilir, buna göre istemci tarafli arabelleğe alma işlemlerinizi birkez daha gözden geçirebilirsiniz ;)

Diğer güzel bir özelliği ise sunucudan sıkıştırılmış (Gzip ya da deflate formatlarından birisi) olarak gönderilen içeriği çözerek (https istekleri ve sonuclarını da Fiddler ile incelemenizi tavsiye ederim ;) ) anlanlı şekilde gösterebiliyor. Google içeriğini Gzip ile sıkıltırarak istecilere gönderiyormuş meğersem ;)

Alernatif bir araç olarak HttpWatch'ı da inceleyebilirsiniz.
http://www.httpwatch.com/


LinqPad

Linq ile uğraşanlar için yardımcı bir araç olarak kullanılaiblir. En azından yazılan linq query'lerinin C# Expression karşılıklarının görülerek - ya da tam tersi - kod yazma becerinizin artmasını veya bazı durumlara anlam verebilmenizi sağlar. Bunların yanında herhangi bir geliştirme ortamına ihtiyac duymadan sorgularanızı yazabilir, sonuclarını güzel bir şekilde göstererek projenizi bozmadan testler yapabilirsiniz.Kurulum gerekmeden kullanabileceğiniz uygulamayı http://www.linqpad.net/ adresinden indirebilirsiniz.

 

FireBug

Özelliklerinin saymakla bitirilmeyeceği, kısaca HTML,CSS ve Javascript Debugger olarak nitelendirebileceğimiz bu FireFox eklentisi web geliştiricilerinin olmazsa olmazlarındandır.
http://www.getfirebug.com/ adresinden temin  edebileceğiniz bu eklenti ile herhangi bir site üzerinde istediğiniz değişiklikleri yaparak "acaba burası şöyle olsa idi, acaba şu tag'ın arka plan rengi şöyle olsa nasıl görünürdü, şimdi şu div'in class'ı şu değil de bu olsa sayfa ne hale gelirdi" gibi içinizdeki araştırma geliştirme ve test dürtülerinizi gerçekleştirmek için sonuna kadar imkan veren harika bir eklenti.

 

Eğer sizlerin de kullandığı yararlı araçlarınız varsa incelemek için sabırsızlanıyorum!


 
Categories: Inceleme

.net dünyasına ilk adım atanlardan sıkça duyduğum soruların başında "bu namespace'leri nerden bileceğim, bu class'ın var olduğunu nerden bileceğim, ya da hangi namespace içerisinde olduğunu nerden bileceğim" şeklinde sorular geliyor. Ben de "zamanla ve kullandıkça, ihtiyacınız oldukça" diye cevaplıyorum.

Şu ve şurdaki linklere dikkat edersek aslında .net framework'ün ne kadar geniş bir dünya olduğunu, hatta biraz abartırsak da "dibsiz bir kuyu" olduğunu da söyleyebilirim ;)

Gün geçmiyor ki yeni assembly'ler, yeni namespaceler ve type'larla karşılaşmayalım sayın programcılar :)


 
Categories: .NET | C# | Inceleme

Alper Hocam ile sık sık "yahu bu http'nin değişmesi lazım, browserların değişmesi lazım, geri kaldı birçok gelişmeye göre..." diye başlayan birçok sohbetimiz olmuştur. Ben de boş zamanlarımda "acaba değiştirsek neresinden nasıl başlardım?, dur bakalım şu HTTP'nin ince ne detayları varmış" diyerek HTTP'nin birçok detayını inceleme kararı almıştım. Araştırmalarım sırasında şu link biraz şaşırttı beni açıkcası.

Dökümanın dediğine göre bir resim dosyası base64 formatına çevrilip <img> tagına verildiğinde standartlara göre browserların bunu görüntülemesi gerekiyor ( bilin bakalım kim desteklemiyor olabilir ? ;) ). Küçük bir test kodu ile bunu denedim. Herhangi bir resim dosyasını base64 formatındaki bir string'e çeviren kod aşağıda.
 public string GetStringFromImage(string path)
{
return Convert.ToBase64String(File.ReadAllBytes(path));
}
Görüntülenmesi istediğim resim ise ;



HTML kodum ise aşağıda. Formata dikkat ederseniz - aslında şemaya -
data:[<mediatype>][;base64],<data>
şeklinde.

<img src="data:img/gif;base64,R0lGODlhYQAWAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wD
MAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADN
mMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmY
AmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMm
WbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM
5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswz
mcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz/
//8AAP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZ
v/Mmf/MzP/M////AP//M///Zv//mf//zP///ywAAAAAYQAWAAAI0gAfCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsmRDAAAoosy
48iTKlwNfykx5sGVMmhJtWtSp0CZPngZ/4owIdKTPoQ+K3tTZ8ijMpU+TyrwplWZUpUFxCu0ZVarXmla1hqVaVeDTpkgTztyKEC3UgmvNipVL9mj
dtG2HMsVL92tVvXP9op3ZV/BYlwT35o3r1W5fx0Udf8UKF3BivoonH9Ysd7Pbwp8ZrkWqNDNkwp0NXw3M2aTr17Bjy55Nu7bt2xQDAgA7" />

Eğer yukardaki şekilde değil de kod ile base64 string'ini direk <img> tagına atamak istiyorsanız aşağıdaki kod sorunu çözecektir.

<img src="data:img/gif;base64,<%Response.Write(Convert.ToBase64String( System.IO.File.ReadAllBytes("C:\\vs.gif"))); %>" />

Sonuç; ie7 - yamulmuyorsam -  desteklemez iken, Firefox bunu başarılı bir şekilde görüntülüyor.



Tabi bu yöntemle resim göstermek neye yarar, limitleri var mıdır, yok mudur tarzında sorularınız için şu linkden faydalanabilirsiniz.

 
Categories: Asp.net | Inceleme

Bilişim alanında güçlü bir beyin fırtınası estirmek ve fırtınadan öğrencilerin ve bölüm akademisyenlerinin azami derecede faydalanmasını sağlamak amacıyla 28-29 Şubat 2008'de, Bucak Hikmet Tolunay MYO Oğuzhan Kampusü'nde, "2.Bilişim Fırtınası" düzenlendi.

29 Şubat' günü sevgili Sefer Algan ile etkinlikte yer aldık. Açıkcası tam bir süprizler günüydü.Etkinlikte de bahsettiğim gibi gerçekten yürekten "Hoşbulduk" dedirtecek kadar misafirperver ve ilgili öğretim görevlileleri bizi karşılayarak Bucak'a gittik.

Gerek yerel halktan yazılıma gönül verenler, gerek universitenin öğrenciler, gerek öğretim görevlileri dinleyiciler arasındaydı. Ama bundan çok daha önemlisi ilçenin yazılım ile ilgili dersleri olan "lise"lerden de öğrenciler gelmişlerdi. Bu öğrencilerden bir kız "ben bir uygulama yapacağım ama web demi yapsam yoksa windows da mı karar veremedim?" sorusu vardı ki bu beni benden aldı diyebilirim.

Gerek gösterilen ilgi gerek gelen sorulardan katılımcıların yazılıma ne kadar gönül verdikleri ortadaydı. Belki büyük şehirde olmamız belki bilgi paylaşımının bol olduğu bir şehirde yaşıyor olmamızdan mıdır nedir tam anlamış değilim ama bizim gibi yazılımı sevip yazılım alanında ilerlemek isteyen Bucak'lı öğrencilerimizin bizler kadar bilgiye erişme fırsatı olmuyor. Bu yazılıma gösterilen ilgi karşısında inanın "yahu istanbul, ankara ... gibi illerde yapılan seminerlere katılmayan, ya da iş olsun diye katılan, ya da aman dinleneyim ne semineri şimdi" diyenler aklıma geliyor da susmakla yetinmek sanırım daha iyi olacak.

Öğrenciler için faydalı olmak adına elinde gelen tüm özveriyi gösteren ,Tekrardan Okul Müdür Sayın Doç. Dr. Hüseyin DALGAR'a ,Hasan MAZLUM'a, misafirperverliğinden ve ilgisinden dolayı İlker UNAL'a, Recep ÇOLAK'a, yemek tercihlerindeki önerileri ve bizi havaalanına son dakikada yetiştiren sevigili Şeref ÇALKAYA Hocam'a (Kusura bakmayın vedalaşamadık) ve ismini hatırlayamadığım Hoca'larıma teşekkür ediyorum.


 
Categories: Inceleme | Internet | Yasam