play3w hack 2

bundan bir zaman önce play3w nin ne olduğunu nasıl kırılacağını anlatan bir yazı yazmıştım hemen üstünede ufak bir proje yapıp perl ile uğraşmak istemeyenler için c++ ilen konuyu çözmüştüm. fekat burda yayınlamadığımı fark ettim.

program gayet basit bir input dosya veriyorsunuz birde output ismini yazıyorsunuz. oda play3w nin gereksiz kısımlarını silip size yalın bir avi veriyor. yazalıda epey oldu hala çalışıyormu emin değilim bir arıza çıkarsa diye kodu da sayfada mevcut.

RegEx

Regular Expression olarak bilinir. özünde textlerin sql i gibi bir tanımlama yapılabilir. daha anlamlı uzun açıklamak için misal elimizde bir text var ve içinde 90-555-5555555 gibi geçen bir stringi aramak istiyoruz. nasıl yapabiliriz dediğimizde.

Binary search ot search bok search diyenler çıkacaktır hatta dictionary yapar ordan en hızlı bulurum diyen çıkacaktır. eminimde yapılır 🙂 peki bunu implement etmek ne kadar zaman alacaktır tahminen 2 gün. hadi iyi coder olsun sağlam çalışan bir kod koyması 5 saat. bu arada string bu “90-555-5555555” değilde “90-999-5555555” olursa nolucak algoritmamı değişcek yok iyi coderim ben harika yazdım onu parametrik çalışıo peki evladım aranacak stringi “амина çаким <клавые> русçа олду” yaptım şimdi nolucak yamulcak şimdi olmasa illa biyerde çatlar. o sebep regex tavsiye ediyoruz.

az evelki örneği çözen regex patterni:”[+]d+[-]d+[-]d+” istediğin kadar değiştir kaçırmaz. regex libleri her dil ortamında bulunun string arama işlemlerinde en uygun oturmuş algoritmaları barındıran liblerdir. bir regex libinde annesini bile bulabileceğini söyleyen bir deyim duymuşdum. yani içinde ne var hiç sormayın ama güzel çalışıo 🙂 kullanalım kullandıralım.

.net 1.1 den kalma bir kod

codeprojectde geziniyorsunuz merak ettiğiniz bir konuda bir makale mevcut ama fii tarihinden kalmış kodu vs.net 2005(fii diom ama bende 2005 kullanıom 8 orca değil :)) ile açınca bi convert işlemi yapıyor ve bu yazının amacı olan konu geliyor. çalıştırınca bide bakıonuzki aşağıdaki gibi bir exception yemişiniz

Cross-thread operation not valid: Control ‘objenin adı’ accessed from a thread other than the thread it was created on.

bu threadlerin gui bileşenlerine ulaşım mantığı .net 2 de değiştiğinden kaynaklanıyor. aslında delegate melegate bi sürü bişeyler tanımlayıp en sonundada o bileşene istediğinizi koyabilirsiniz ama kolay denenebilecek bir yolu gösterim boşa uraşmayın 🙂

Control.CheckForIllegalCrossThreadCalls = false;

bunu main’e veya form load eventine yerleştirip bi start verin yerse devam yemezse zaten kaçarı yok girceniz o delegate lere 😀 eski kodlar elimde olsa delegatelerle ilgili hislerimi anlatıor ama şükürki yok. ban yeriz walla

Jerry Seinfeld

eskiden çok izlediğim bir komediydi bunu yazanda yönetende jerry di die aklımda kalmış nette gezinirken bu yazıyı gördüm paylaşam dedim.

adamın sırrı kocaman bir takvimde hergün bi konuyla ilgili bişeler yapıp X ler koyması ve buna zincir demesi, özünde “zinciri kırma başarıya ulaş” gibi bir fikri varmış yazı ondan bahsedio.

bide zincir kuralı vardı integralde güzel işti U U’ üssülerle. bi zaman kafadan yapardım şimdi tek katmanlı integrali alamaz oldum 🙂 demekki universite boş işmiş 😀

Mail Subscription

yani

mail aboneliği

konusu. rss imizi yazdık ama bide bu rss de geçen verinin milletin mailine gitmesini istiyoruz. olmaz ya hani bir nevi haber bülteni hesabı.her sitede olan gayet standart bi konu.

bunun için kod yazmamıza gerek yok thanks to web 2.0 feedburner bu hizmeti veriyor. rss ini feedburne veriyor ve diyorsunuzki bunu maille yayınla. bu kadar basit.
bende arayüz ingilizce nerden türkçe yapılır bilmiom bide soktumun ekran kartı sebebiyle screen shot alamıom ama yol göstermesi açısından adımları anlatacağım.

1. adım feedburner.com a gidip yukardaki “My Feeds” linkine tıklayın. o size feedburner a verdiğiniz rss leri listeleyecektir.

2. hangi rss e mail olayı vercekseniz seçin orda tablarla stat ları açacaktır. o tablardan “Publicize” tabına geçin

3. soldaki linklerden “Email Subscriptions” ı seçip activate diyin sayfanın aşşasından

4. “Subscription Link Code” başlığının altındaki kutuda geçen link kodunu alıp kendi sayfanıza yerleştirin.

oraya tıklayan kullanıcılar bi bot kontrolünden geçip kayıt olcaklar rss inize sonuç yeni yayınlar girdikçe rss e abonelerin mailine mail olarak gidecek. bi önceki blog da verdiğim motor rss linkinde bir sürü motor vardı ulan millete habire böle çoklu çoklu mail gitmesin diye korkuodum ama test ettim feedburner işini bilio abone abone olduğu tarihden sonra yayınlanan rss haberlerini mail olarak alıyor. sonuç:

feedburner rocks

RSS ve image ve img gösterememek

RSS lerde imaj olabilmesi durumu uzun süredir var bugün bi şekilde rss generate edicem ve imaj sokmam bu sefer kesin şart. önceki denemem la-lu daydı olmadı olmadı sikerim diyip vazgeçmiştim 🙂 neyse velhasılı açtım yine aynı kodu gereken db bağlantıları bilmemne ekledim ama bir türlü rss itemlarında img gösteremiyorum. normal html giriom olmuo normal olmayan şeyler giriom olmuo meğersem hala ne boka yaradığını bilmediğim bi şekilde sokuluyormuş.

CDATA tagıyla sokuyorsunuz. bu ne iştir hala bilmem böle [[]] garip bi şemali vardır ! taşır falan neyse rss ine resim sokmak isteyene temiz bir örnek yazayim bir daha uraştırmasın.

<item>
<title>Canavar VN800</title>
<category><![CDATA[Cruiser-Chooper]]></category>
<category><![CDATA[Kawasaki]]></category>
<category>Istanbul</category>
<link>http://www.motosikletpazari.com/motor/ilangoster/11.aspx</link>
<description>
<![CDATA[ <a href=’http://www.motosikletpazari.com/motor/ilangoster/11.aspx’><img src=’http://www.motosikletpazari.com/ilanresimleri/11/1.jpg’ alt=’Canavar VN800 Cruiser-Chooper Kawasaki Istanbul’ width=’200′ height=’150′ border=’0′ /></a><br/> ]]>FULL

Moto City Kiziltoprak BP yani
</description>
<pubDate>Tue, 09 Oct 2007 15:43:11 GMT</pubDate>
<guid>http://www.motosikletpazari.com/motor/ilangoster/11.aspx#TOP</guid>
</item>

örnek gayet açıklayıcı bide şunu ekleyem bu cdata tagı arasına direk html girebiliyoruz. mis gibide gösterio FF de ie7 de.

motor rss
dahada detaylı bir rss istiosanız www.celebslam.com un rss ine bakın WP güzel teknoloji tabii cokur cokur çıkartıo böle şeyleri 🙂

Microsoft dan bir ilk daha

msdn zart zurt kurcalanırken habire msn adresimle veya bişeylerle üye olmuşumdur e bültene ve bugün microsoft ramazan bayramımı kutladı iletisim@microsoft.com adresinden gelen maile bi şaşdım 🙂 türkiye de türkiye microsoft pazarlama dışında halka ilişkiye geçiyor amanııın derler 😀

Ramazan Bayramını sevdiklerinizle beraber sağlık, mutluluk ve huzur içinde geçirmenizi dileriz.

Microsoft Türkiye

Godaddy Mail Server

Uzun süredir mutlu mesut kullandığım godaddy de mühim problemi bu gece çözdüm. durum sadece hosting için para ödüyor olmam 🙂 her nanesine ayrı ayrı yetişilmez zaten. problem bu hostingde mail hesabı açamamam aslında hosting accountunda mail falan olmasıda garip olur. öte yandan godaddy diyorki domaini benden al 10 tanede bundan 20 tanede free mail. ama domaini ondan almadıysak nolucak.

godaddy de benim accountumda her domaini host edebiliyorum ama o kadar. peki diyelimki turkticaret.net den bir domain almış bir arkadaşım var ve bu aldığı domaini kendi hostingimde yapıosam. o zaman bu işin olur yolu arancak.

adım 1 google small bussiness adı altına bişeyler veriyordu lan o neydiki diyip arama yapılır. sonuçta bulunur 🙂 hakaten adıda small business olan bölüme girilir. ordan get started ve wala hakaten olay free dir kuşku ve korkuyla ilerlenip gereken hesap açılır.

adım 2 içerdeyiz domain adımıza uygun google apps açtık ama bu godaddy ile ilgili ayarların yapılması lazım. aha “Domain Settings” yazıo ne olaki diyip girip ordan gereken ayarlar bulunur burdaki adımlar izlenir ve mutlu son.

domainimizi uygun biçimde google a yönlendirdik sadece mailler için, artık hostingi godaddy den maili de gmailden yönetcez.

allah derim ulan daha nolsun 🙂

Asp.Net DefaultButton DefaultFocus

bunlar çoğu zaman gereken hareketlerdir. bir site yüklendiğinde hemen bişeyler yazıp aramaya izin vermesi isteniyorsa. ilk adım yazı yazılacak textbox ın focus edilmesi gerekir. ikinci adımda burdan entera basınca form’un submit olması istenir. veya o sayfada herhangi bir buttona basılmış olması istenir. bu gibi hallerde yazılabilecek güzel bir kod parçacığı verelim:

Page.Form.DefaultFocus = txtSearchTerm.ClientID;
Page.Form.DefaultButton = LinkButton1.UniqueID;

ee hajı mascix biz bunu biliyorduk ne zikime yazıon bunu diyenler yazının devamını okusun.

konusu geçen propertyler masterpage ve usercontrollerden oluşan komplex bir sitede geçiyor. bu propertylerden önce masterpage e direk defaultfocus vermeyi denedim ama arkadaş onu yemedi sanırım bu usercontroldeki textbox ın idsini yakalayamadığı içindir. sonra bir ara enter tuşuyla default basılması istenen button kodunu bulmuşdum.

txtSearchTerm.Attributes.Add(“onKeyPress”, “javascript:if (event.keyCode == 13) __doPostBack(‘” + LinkButton1.UniqueID + “‘,”)”);

ve denemişdim güzel çalışıyordu fakat sonradan en yukardaki iki satırı bulunca ulan dedim bu javascriptli kod boka benzio öteki pek bi temiz bunu silemde kullanmayam dedim ve sildim sonra IE de mis gibi çalışan bu DefaultButton özelliğinin firefox da iplenmediğini fark ettim 🙂 evet görüldüğü üzere .net de herşeyi bilmek yetmiomuş bazen okumaya devam etmek gerekiomuş. bende kodumu şu şekilde değiştirdim.

txtSearchTerm.Attributes.Add(“onKeyPress”, “javascript:if (event.keyCode == 13) __doPostBack(‘” + LinkButton1.UniqueID + “‘,”)”);
Page.Form.DefaultFocus = txtSearchTerm.ClientID;
//note:bu yöntem firefox da çalışmadı 🙂
//Page.Form.DefaultButton = LinkButton1.UniqueID;

Godaddy Mysql Asp.Net SqlDataSource

lokalde geliştiripde server a atınca çalışan teknoloji istiyorum. ne dil kullanırsanız ne ortam olursa olsun ya versiyonu tutmaz ordan yatar ya konfigurasyonu farklıdır yada manyakdır çalışmaz 🙂 misal godaddy de bazı yerlerde mod_rewrite çalışır aynı makinede bazı yerlerde çalışmaz.

neyse mysql kullanıyorum bir uygulamada lokalde gridview ve sqldatasourcu çalışır duruma getirmişim update delete falan mis gibi çalışıyor attım hosta hata aynen:

Unable to find the requested .Net Framework Data Provider. It may not be installed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

sebep machine.config de tanımlı olmayan mysql.data.dll imizin trust meseleleri çekip çalışamaması. bide dbfactory ile ilgili konuları var ama o konuları anlamadım. neyse bu gibi bir durum nasıl çözülür.

web.config’e gereken satırlar eklenir:
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.1.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
version numarasından çatlıyabillir kullandığınız dll in versiyonu ile değiştirin. ve bir mutlu son daha sqldatasource gridview ve mysql tatlı tatlı çalışmaya başlar o hatada kaybolur. efendim gökden 3 elma düşmüş …………….