coding @ the speed of thought RSS 2.0
 Sunday, May 27, 2007

Tüm İSTEK'lilere...
Yahu öldük mü biz?

Pazar günü okulun pilav günü vardı...Emre ile birlikte bir heyecanla okula gittik...
aaa hiçkimseyi tanımıyoruz.Hocalar değişmiş...Bir bilemedin iki hocayı tanıyoruz.
İlk önce fazla önemsemedik, gelir bizimkiler dedik, aldık basketbol topunu Emre ile eski günleri
andık.Kısa bir anma töreni oldu çünkü maç 2-2 iken ikimizde öldük...

Pilav gününün sonlarına doğru gidip listeye baktığımızda mezunların tarihleri 2000 den
başlıyordu, ve 95 mezunu 3 kişiydik...

Nerde İSTEK ruhu, nerde Tarabya Tatil Köyü ruhu arkadaşlar...

Sunday, May 27, 2007 11:04:15 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Wednesday, May 23, 2007

Bırakın veritabanına kullanıcılar kendi formüllerini girsinler, uğraşılmaz bu kullanıcılarla canım...

declare
@v1        int,
        @v2        int,
        @v3        int

declare @formula    nvarchar(50)

set @v1=2
set @v2=4
set @v3=5
set @formula='SELECT (@v1+@v3)*@v2'

set @formula=replace(@formula,'@v1',convert(varchar,@v1))
set @formula=replace(@formula,'@v2',convert(varchar,@v2))
set @formula=replace(@formula,'@v3',convert(varchar,@v3))

print @formula
EXEC sp_executesql @formula

Wednesday, May 23, 2007 9:27:05 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Post-It | T-Sql
 Tuesday, May 22, 2007

BHO geliştiren arkadaşlar, bazen ie den manage add-ons bölümünden geliştirdiğimiz dll'i disable yapmak o dll'i serbest bırakmayabilir.Dll serbest kalmayınca da yeni kodu derlerken veya derlenmiş dll i üzerine kopyalarken bu nesne bir process tarafından tutuluyor hatası alırız.

Bu tür durumlarda yapmanız gereken task manager dan explorer process ini kill edip, new task menü seçeneğine explorer yazarak tekrar başlatmanız olacaktır.Logout Login çok uzun sürüyor :)

Tuesday, May 22, 2007 2:20:11 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software

Okuma

RegistryKey rgkSettings = Registry.CurrentUser.CreateSubKey("MyRegistryKey");
txtUserID.Text = (string)rgkSettings.GetValue("LoginUserID");

Yazma

RegistryKey rgkSettings = Registry.CurrentUser.CreateSubKey("MyRegistryKey");
rgkSettings.SetValue("LoginUserID", txtUserID.Text);

Tuesday, May 22, 2007 12:07:12 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Post-It | Software
 Sunday, May 20, 2007

Adamlar bu işi boşuna hayat tarzı yapmamışlar.

Sunday, May 20, 2007 6:48:06 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
url : http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
email : \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

Sunday, May 20, 2007 5:36:19 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Post-It | Software
 Saturday, May 19, 2007

System.Text.RegularExpressions.Regex rgxValidate = new System.Text.RegularExpressions.Regex("[0-9]");
if (!rgxValidate.IsMatch(txtFaxNo.Text))
{
errClients.SetIconAlignment(txtFaxNo, ErrorIconAlignment.MiddleLeft);
errClients.SetError(txtFaxNo, "Fax numarası giriş formatı hatalı.");
return;
}

Saturday, May 19, 2007 3:34:31 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Post-It | Software

 declare CURS_X cursor read_only forward_only for 
  (
  select X1,X2 from ...
  )

 open CURS_X
 fetch next from CURS_X into @X1,@X2
 while @@FETCH_STATUS=0
  begin
   .........
   .........
   --bir sonraki kayit okunuyor   
   fetch next from CURS_X into @X1,@X2
  end
 close CURS_X
 deallocate CURS_X

bundan sonra böyle, post-it lerimi burda tutmaya karar verdim.
bu da ilki.yazarken iyi oluyor.

Saturday, May 19, 2007 3:04:30 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Post-It | T-Sql


CP R60 :)
Secure Platform (Alet sürekli karada durduğu için)
Saturday, May 19, 2007 2:46:14 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Tuesday, May 15, 2007

http://www.kapgetr.com/

Bu da girişimciliğin hat safhası.Sevgili arkadaşım Onur'un aklına gelen bir fikir.O arama motoru bu arama motoru gezmeden aynı anda birden fazla arama motorunu kullanabiliyorsunuz.

Google'a ayrı, Yahoo'ya ayrı zaman mı? Kapgetr arıyorum çıkıyorum :)

Tuesday, May 15, 2007 10:40:32 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Internet
 Tuesday, May 08, 2007

Fatih arkadaşımızın bir talebine istinaden .net framework class library yi gezinirken problemine kolay bir çözüm buldum.Eğer bir web sitesinin html içeriğini okumak istiyorsanız Uri sinifi biçilmiş kaftan.Eski yöntemlere (winsock,tcpclient) gerek kalmadan (tabiki bu yöntemler kullanılıyor ama arka planda) Uri sınıfını kullanarak bir web sitesinin içeriğini alabiliriz.Örnek aşağıda;

using System;
using System.Collections.Generic;
using System.Text;

using System.Net;
using System.IO;

namespace UriX
{
class Program
{
static void Main(string[] args)
{
Uri siteUri = new Uri("http://www.google.com/");
WebRequest wr = WebRequest.Create(siteUri);
WebResponse wer = wr.GetResponse();

Stream strX = wer.GetResponseStream();
StreamReader strR = new StreamReader(strX);
Console.WriteLine(strR.ReadToEnd());
}
}
}

Tuesday, May 08, 2007 10:08:55 AM (GTB Standard Time, UTC+02:00)  #    Comments [1] -
Internet | Software
 Monday, May 07, 2007

Web uygulamanızda birden fazla sitemap kullanmanız gerektiği durumlarda (birden fazla menü kontrolleri, sitemap kontrolleri...) web.config dosyasına system.web tag'ı altına aşağıdaki ayarları eklemeniz yeterli olacaktır.

    <siteMap>
      <providers>
        <add name="MyWeb" type="System.Web.XmlSiteMapProvider" siteMapFile="web.sitemap"/>
        <add name="MyWeb1" type="System.Web.XmlSiteMapProvider" siteMapFile="web1.sitemap"/>
        <add name="MyWeb2" type="System.Web.XmlSiteMapProvider" siteMapFile="web2.sitemap"/>
      </providers>
    </siteMap>

Sitemap dosyalarını atadığınız SiteMapDataSource kontrollerinde de aşağıdaki özelliği yazmanız gerekmektedir.

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" SiteMapProvider="MyWeb1" />           

Monday, May 07, 2007 1:41:40 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software

Web Parts, geliştirdiğiniz web uygulamalarında kullandığınız Web User Control nesnelerini veya Calendar, FileUpload gibi standart Asp.Net kontrollerini, kullanıcı bazında özelleştirebilmenizi sağlayan ve bu kontrollerin web sayfası üzerinde sizin belirlediğiniz web alanlarında kullanıcının isteği doğrultusunda görüntülenmesini sağlayan kontrollerdir.

Burada sıkıntı yaşayabileceğinizi düşündüğüm bir sorunun çözümünü paylaşmak istiyorum.Web part kullanımında kişiselleştirme kullanıldığından dolayı bütün bu kişisel ayarlar App_Data'nın içine otomatik olarak yaratılan ASPNETDB veritabanına kaydedilir.Lokalde çalışırken sorun yoktur fakat sunucuya upload edildiğinde bağlantı hataları veritabanının bulunamaması gibi sorunlarla karşılaşabilirsiniz veya bu veritabanını sunucu üzerine register etmek isteyebilirsiniz.

Yapmanız gereken, web.config dosyasına system.web tag'ı içine;

<webParts>
      <personalization  defaultProvider="AspNetSqlPersonalizationProvider">
        <providers>
          <remove name="AspNetSqlPersonalizationProvider" />
          <add name="AspNetSqlPersonalizationProvider"
          type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"
          connectionStringName="DBConn"
          applicationName="/" />
        </providers>
      </personalization>
</webParts>

ayar kayıtlarını girmenizdir.Burda önemli olan design aşamasında oluşturulan aspnetdb yi sunucu üzerine taşıdıktan sonra aynı web.config dosyasının içine connectionstrings tag'ı altında bu mdf'i bildiren bir connection string tanımlamanızdır.

  <add name="DBConn" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=ASPNETDB.MDF;Integrated Security=True;pooling=true;min pool size=5;max pool size=20;connection lifetime=50"
   providerName="System.Data.SqlClient" />

Bu sayede uygulamanız kişiselleştirme kayıtları için artik sizin belirlediğiniz veritabanını kullanacaktır.

Monday, May 07, 2007 12:42:56 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Tuesday, May 01, 2007


www.hakia.com

Amaç aynı, arama...
Bugün google, yahoo vs gibi arama motorlarını kullanıyoruz.Arama anahtarı olarak girdiğimiz bilgiler arama motorunun veritabanındaki anahtar sözcüklerle karşılaştırılıp sonuçlar karşımıza listeleniyor.Fakat gelen sonuçların doğruluğu, sitelerdeki keywordlerin doğru girilmesine bağlıdır.

Yöntem farklı
Hakia da ise durum farklı.Kelimeler anlamlarına göre yorumlanıyor.Bunun üzerine değişik birkaç metodoloji kullanılıyor (ontosem,qdex,semanticrank).

Yani ben hakia'ya "Why did Enron collapse?" diye soru sorabiliyorum.Hakia'da bu soruyu yorumlayıp, bu sorunun cevabını içeren siteleri sonuç olarak listeliyor.

Vakit nakittir...
Dr.Berkan'a göre Kuzey Amerikada son 1 ayda yapılan arama sayısı 5.6 milyar.Bunun yarısının tam sonuç alınamayan aramalar olduğunu ve arama başına bir dakika harcandığını düşünürsek son 1 ayda 47 milyon dakika boşa harcanan zaman mevcut olduğunu görürüz.Evet vakit nakittir...

Bunun sonucu olarak, ilerleyen zamanlarda bu sistemin kullanılabileceği alanları düşünüyorum...
Mobil telefonlar - ses algılama ile çalışan arama motoru:hakiaMobile
Alışveriş merkezlerinde, Plazalarda, Açık merkezi alanlarda - ses alıgılama ile çalışan kiosklar:hakiaKiosk
....

Büyük başarı.Dr. Rıza C. Berkan'a böyle bir teknolojiyi kullanıma sunduğu için teşekkür ediyorum.

Tuesday, May 01, 2007 4:03:53 PM (GTB Standard Time, UTC+02:00)  #    Comments [2] -
Internet
 Monday, February 12, 2007

Client tarafında 'Sys is undefined' hatası alıyorsanız;
IIS6.0 üzerinde Asp.NET 2.0 uygulamanız çalışmıyorsa;
Bu yukardaki iki problemden dolayı akıl sağlığınız tehlikede ise, aşağıdakileri okumanızda yarar var.

Windows Srv 2003 std sp2 üzerinde IIS6.0'i kurdugunuzda Web extensions kısmında asp.net 2.0 için gerekli olan web service extension kaydı gelmiyor.
Bunu manuel olarak eklemelisiniz.
Web service extensions kısmında sağ click new extension i seçip aşağıdakileri gireceksiniz.
Web service extension name=ASP.NET v2.0.50727
DLL= C:\Windows\Microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

Evet artık bu şekilde çalıştırabilirsiniz.

Peki siteyi ayağa kaldırdıktan sonra Ajaxv1.0 ile ilgili bir problem oluşursa;
Client tarafında sys is undefined gibi bir hata alırsanız.Aklınıza ilk gelecek şey ajax'da bir sorun olduğu
veya client da javanin son sürümünün yüklü olmadığı olacaktır.

Google da sys is undefined diye bir arama yaparsanız tonla döküman gelecektir.
Genelde bu dökümanlarda asp.net web.config dosyasında ajaxv1.0 a geçtiğinizde yapılması gereken değişiklikleri
görürsünüz.Tabi yapılması gereken herşeyi yaptıktan sonra aynı hatayı almaya devam ederseniz sağlık problemleri
başlar :)

Gariptir, 1 günlük bocalamadan sonra isp'de sunucuyu tam kabinlere koymadan önce görevli arkadaşın
-aa bi dk.bu cdrom bizim.bunu çıkartmamız gerekiyor
demesi ve sunucudan cd rom'u cikartmasi aklıma geldi.
Sonra sunucuya bakıp sistem saatini kontrol ettim.
Sene 2003'dü.
Sistem tarihini normal hale getirdim ve sys is undefined sorunu çözüldü.

Sağlık problemlerimin devam etmemesi için bir tarihin client tarafındaki java hatası ile nasıl bir alakası olur diye
düşünmek istemedim ve yoluma devam ettim.

Monday, February 12, 2007 2:50:58 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Server Systems | Software
 Sunday, January 07, 2007
Saçlar uzadı.Berber metin abiyi ziyaret edeyim dedim.
Hepimiz biliriz, berberlerde muhabbet ya maçtır, ya da standart gündem konuları...
Koltuğa oturdum, metin abi patlattı bombayı
Sitede access kullanıyorum database i mysql e mi çevireyim mssql e mi? ne dersin?
Devir değişti...

Sunday, January 07, 2007 3:32:52 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Friday, December 15, 2006

Dün IBM in Rational Software Test Run'ına katıldım.Rational Software IBM'in java platformunda yazılım geliştirenler için sunduğu bir ürün.Genel bir tanıtımdan sonra lablara başladık.Lablarda pek fazla problem yoktu.Ama sanki bir eğitim ortamı gibiydi.Daha ürünü tam tanımadan direkt tasarıma girdik.Microsoft'un tanıtımlarını hatırladım.Ms tanıtımlarında da tam tersine uzun uzun ürün anlatılır detaylara pek fazla girilmezdi.İçimden geçirdim IBM tümevarım, Ms tümdengelim yapıyor diye :), Şunu kesinlikle vurgulamak isterimki burda yazdıklarımla iki ürünü karşlaştırmıyorum, zaten iki ayrı platform .net ve java...Sadece ürün hakkında ilk izlenimlerimi sizinle paylaşmak istedim.

Rational'a genel olarak baktığımızda design tarafı çok detaylı ve güzel.Bir projeyi kod yazmadan sadece uml tasarımı yaparak ve Rational 'ın wizardlarını kullanarak geliştirebiliyorsunuz.Son sürümünde Ajax desteği daha da genişlemiş durumda, palette bayağı genişlemiş.Fakat ne yazıkki basit anlamda bir tablonun bir DataTable'a atanması ve ordan kullanıcının add update delete işlemlerini gerçekleştirmesi için tekrar manuel kod yazmanız gerekiyor.Bu biraz tutarsız.Bütün bir sayfayı wizardlarla tasarlıyorsunuz ve 1 satır kod yazmıyorsunuz, öbür tarafta basit bir tablonun edit işlemi için kod yazmak zorunda kalıyorsunuz...

Bir ürüne yığınla lisans parası verilecek ve basit bir add update delete işlemi için kod yazmamız gerekecek.Umarım/İnanıyorum ki ilerleyen sürümlerinde Rational a da bu özellik eklenecektir.


Friday, December 15, 2006 1:06:57 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Saturday, December 02, 2006

Vs60 dan Vs.net e geçen arkadaşların karşılaşacağı bir sorun.
Formun WindowState özelliğinin değiştiğinin algılanması; (Maximized,Minimized,Normal)

Form event lerinde bu olaya hakim olmamızı sağlayacak bir olay mevcut değil.
Bu işlemi WndProc metodunu override ederek hallediyoruz.

m.Msg WM_SIZE (0x0005) e eşit olduğunda form'un size edildiğini anlıyoruz.
m.WParam ise bize size olayının türünü belirtiyor.

protected override void WndProc(ref Message m)
{
    if (m.Msg == /*WM_SIZE*/ 0x0005)
    {
        if (m.WParam.ToInt32() == 2)
        {
             //Maximized
        }
        else if (m.WParam.ToInt32() == 0)
        {
             //Normal
        }
    }
    base.WndProc(ref m);
}
Saturday, December 02, 2006 12:17:18 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Thursday, November 30, 2006

Bana en fazla gelen sorulardan birisi...

mySQL:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft SQL Server:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2:

SELECT column FROM table
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY

Oracle:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
Thursday, November 30, 2006 5:20:28 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Server Systems
 Monday, November 27, 2006

Evdeyim.Kodluyorum.Bizim aslan kendi laptopunda youtube u geziyor...
Yatma vakti dedim.Tamam dedi, odasına gitti.
Bende bir süre çalıştım ve yatmak üzere bilgisayarı kapattım.
Tam oğluşun bilgisayarını kapatacaktım ki ekranda bir mesaj...
[Active Directory]
"To manage users and groups on this computer, use local users and groups......"

Bizimki ilk hack denemesini yapmış dedim içimden :)
Monday, November 27, 2006 2:03:43 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Friday, November 17, 2006

Çok sevdiğim bir arkadaşım uzun bir bocalama zamanından sonra bana bu problemle geldi.Bu sorunla karşılaşan arkadaşlar bocalamasın diye yazayım dedim.

Projenize Add Items dan SiteMap dosyası ekleyin ve değerlerinizi yazın; ör:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="root.aspx" title="root"  description="">
        <siteMapNode url="1.aspx" title="1 menü"  description="">
          <siteMapNode url="1a.aspx" title="1a menü"  description="" />
          <siteMapNode url="1b.aspx" title="1a menü"  description="" />
        </siteMapNode>
        <siteMapNode url="2.aspx" title="2 menü"  description="">
          <siteMapNode url="2a.aspx" title="2a menü"  description="" />
        </siteMapNode>
    </siteMapNode>
</siteMap>

ASP.NET sayfanıza SiteMapDataSource ve Menü kontrollerini ekleyin.
    <div>
        <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
        </asp:Menu>   
    </div>
        <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
    </form>

Projenizi çalıştırdığınızda sadece bir root menüsü göreceksiniz.Peki root 'un yanına bir menü seçeneği daha eklemek isterseniz ne yapmanız gerekir? SiteMap dosyasina <SiteMap> tagı arasına 1 tane daha <SiteMapNode> ekleyelim?

Ne yazıkki hayır.Vs2k5 size derlemeye çalıştığınızda hata verecektir.Çünkü <SiteMap> tag'inin arasında sadece 1 tane <SiteMapNode> a izin verilir.Bu sorunu aşmak için yapmaniz gereken çok basit.

Sayfanızdaki SiteMapDataSource kontrolüne ait tag'a bir özellik ekleyeceksiniz,
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
ShowStartingNode="false"

Artık root menü de gözükmeyecek 1 ve 2 görüntülenecektir.

ShowStartingNode="false" dan önce;
sitemap.JPG

ShowStartingNode="false" dan sonra;
sitemap1.JPG
Friday, November 17, 2006 11:23:49 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software

VSTO Sunucu dökümanları & Cache kullanımı
http://www.yazgelistir.com/Makaleler/1000001052.ygpx

GridView & DetailsView kontrollerinin kullanımı & MsSQL Stored Proc entegrasyonu ile veri bütünlüğünün sağlanması
http://www.yazgelistir.com/Makaleler/1000001050.ygpx
http://www.yazgelistir.com/Makaleler/1000001051.ygpx
Friday, November 17, 2006 10:58:31 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Articles
 Monday, October 30, 2006

Normalde sayfa üzerine 1 gridview,1 detailsview ve 1 datasource kontrolü yerleştirerek db tablosuna veri ekleyebiliyor silebiliyoruz.Fakat datasource da select komutuna iki ayrı tablodan veri aldığınızda ve detailsview ile yeni kayıt eklediğinizde gridview refresh olmuyor.

Sorunu gidermek için, detailsview 'ın iteminserted olayında gridview u refresh edecek kodu yazmaniz gerekiyor.

    protected void DetailsView2_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
    {
        GridView1.DataBind();
    }

Kolay gelsin.
Monday, October 30, 2006 11:44:45 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Internet | Software

Atlas'dan Asp.Net Ajax beta1 e geçip, scriptmanager,scriptmanagerproxy,updatepanel gibi extension kontrollerinde problem yaşayan arkadaşlara;

Sorun şu anda bir bug gibi gözüküyor.Web.config de Microsoft.Web.Extensions ile alakali tagprefix niteliğini ajax olarak değiştirmeniz gerekiyor.Tabi bu değişiklikten sonra sayfalar üzerindeki kontrollerin de prefixlerini düzeltmeniz gerekiyor.

            <controls>
        <add tagPrefix="ajax" namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add tagPrefix="ajax" namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI" assembly="Microsoft.Web.Preview"/>
                <add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI.Controls" assembly="Microsoft.Web.Preview"/>       
            </controls>

Ben çektim siz çekmeyin :)
Monday, October 30, 2006 10:44:13 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Internet | Software
 Sunday, October 22, 2006

ASP.NET GridView ve DetailsView kontrollerini kullanarak basit bir Ajanda uygulaması hakkındaki görsel dersim.GridView ve DetailsView kontrollerinde alanlara DropDownList eklenmesi.MsSQL Stored Procedure leri kullanılarak veri bütünlüğünün sağlanması.



Görsel dersi indirmek için tıklayın.
Sunday, October 22, 2006 1:47:47 PM (GTB Standard Time, UTC+02:00)  #    Comments [1] -
Software
 Sunday, October 01, 2006

nice mutlu yıllara oğlum.

Sunday, October 01, 2006 10:58:39 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Thursday, September 28, 2006

Entity modeli kullanarak veri erişim bileşeni yaratma konusunda yazdığım makale.NHibernate'e alternatif :)

1- http://www.yazgelistir.com/Makaleler/1000001026.ygpx
2- http://www.yazgelistir.com/Makaleler/1000001027.ygpx
3- http://www.yazgelistir.com/Makaleler/1000001028.ygpx
4- http://www.yazgelistir.com/Makaleler/1000001029.ygpx

CodeDom, AppDomain ve Plug-in tabanlı programlama ile ilgili makalelerim.(yazıCan)

1- http://www.yazgelistir.com/Makaleler/1000001034.ygpx
2- http://www.yazgelistir.com/Makaleler/1000001035.ygpx

Thursday, September 28, 2006 2:55:22 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Articles
 Sunday, September 24, 2006

Uzun bir süreden sonra tekrar selamlar,

Araştırma yaptığım ve ilerdeki projelerimde altyapı olarak kullanacağım bir proje üzerinde çalışıyordum.CodeDom ve Plugin tabanlı programlama.Açıkçası konu ile ilgili bir örnek proje üzerinde uzun süre düşündüm ve sonunda Morad# 'ın bir fikri üzerine yazıCan 'ı geliştirdim.



Program basit bir notepad olarak işliyor fakat plugin tabanlı olmasından dolayı uygulamaya kendiniz c# kodu kullanarak eklenti yazabiliyorsunuz.Örneğin ekranda seçili bir metni büyük harf'e çevirmek istiyorsunuz.Bunun için c# kodu ile bir plugin yazıp programa yükleyip kullanabiliyorsunuz.

İşi biraz daha kolaylaştırmak amacıyla plug in kodunu yazıCan üzerinde yazılabilir ve derleyebilir hale getirdik.Bunun için CodeDom isimalanındaki sınıfları kullandık.

Programı burdaki linkten indirebilirsiniz. http://www.leventyildiz.net/dload/yaziCan.rar

yazıCan ile ilgili makalelerim yakında yayımlanacaktır.

Sunday, September 24, 2006 8:46:07 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Friday, September 01, 2006

Her insan hata yapar, ama bu kadar aşağılanmazki insan canım.

Friday, September 01, 2006 9:56:21 AM (GTB Standard Time, UTC+02:00)  #    Comments [2] -
Software
 Tuesday, August 29, 2006

Mobil cihazlar için uygulama geliştiren arkadaşlar,

Eğer Ms mobile device emulatörlerini kullanıyorsanız, ve projenizde tcp/ip bağlantısı yapılması gerekli bir durum mevcutsa(web servisleri,dbconnection vs) emulator cihazinin kendine ait bir ip adresi olmasi gerekiyor.

Aksi taktirde localhost sizin development pc nizde kendi pc niz fakat emulator de sizin pc niz degil emulator un kendisi anlamina gelir, boyle olunca emulator tcpip baglantisini kendisine yapmaya calisir ve istisnai durum alir durursunuz.

Virtual Machine Network Driver for Microsoft Device Emulator 'u indirerek emulatör ün kendi ip sini almasini sağlayabilirsiniz.

http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&DisplayLang=en

Tuesday, August 29, 2006 10:25:42 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Saturday, August 19, 2006

Uzayan bir tartışmaya kendimce yorum;
WebForms mu Windows Forms mu?

Her ikiside.
Internet explorer kapaliyken insanlar yazdiginiz sistemler hakkında uyarı,hatırlatma vs vs bilgilerini nasıl alacaklar?

Reverse engineering derseniz siz de windowsforms ların içinde business objelerinizi tutmayın derim.Web servisleri mevcut...

Saturday, August 19, 2006 6:55:49 PM (GTB Standard Time, UTC+02:00)  #    Comments [2] -
Software
 Friday, August 18, 2006

Can sıkıcı başka bir problem,

Excel den veri okuyacağım.TYPE_E_INVDATAREAD hatası ile karşılaştım.Birkaç google adımından sonra...;.Excel in ingilizce sürümü yüklü ise ve bölgesel ayarlar ingilizce dışında başka bir dile ayarlanmışşa bu sorunu verir.Cözüm olarak Office in MUI paketini yükleyebilirsiniz.

Çözüm 2; sistemin Culture özelliğini Excel'inkine uydurmak gerekiyor.

--quote
System.Globalization.
CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

Microsoft.Office.Interop.Excel.Workbook workBook = app.Workbooks.Open(....
.................
.................
Excel işlemleri
.................

System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;
--unquote

Bu sorunu Open metodunda vermesi açıkçası gerçekten can sıkıcı.TCP sınıfında çoklu bağlantılarda programcıyı yormadan tcp port numaralarını yükseltmeyi üzerine almış bir c# Excel in CultureInfo su için bizim kalbimizi kırıyor.

Friday, August 18, 2006 8:28:27 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Thursday, August 17, 2006

System.Data.OleDb sınıfında muhtemel bir bug;

--quote
olecomSQL.CommandText =
"update faxids set localid=@Plocalid where gfiid=@Pgfiid";
olecomSQL.Parameters.Add(
new OleDbParameter("@Pgfiid", this.Tag.ToString()));
olecomSQL.Parameters.Add(new OleDbParameter("@Plocalid", txtDocNo.Text));
--unquote

parametrelerimiz @Plocalid ve @Pgfiid,
OleDbCommand türünden olecomSQL nesnesine eklenmesinde bir problem yok.
Fakat kod çalışmıyor.
Kısa bir araştırmadan sonra commandtext deki parametre bildirim sırasına göre yazdığımda çalıştığını gördüm.

yani;
--quote
olecomSQL.CommandText = "update faxids set localid=@Plocalid where gfiid=@Pgfiid";
olecomSQL.Parameters.Add(new OleDbParameter("@Plocalid", txtDocNo.Text));
olecomSQL.Parameters.Add(new OleDbParameter("@Pgfiid", this.Tag.ToString()));
--unquote

Eğer parametre girişi olarak ? bildirimini kullansaydık, buna normal derdim, fakat parametre ismi belirttiğimizden dolayı bu sorun bana muhtemel bir bug olarak geldi.

Thursday, August 17, 2006 10:44:56 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Saturday, August 12, 2006

Çevrimiçi el yazısı tanıma ile ilgili vakti zamanında yapmış olduğum bir projeyi sf.net e kaydettim.Projeye katılmak isteyen arkadaşlar için link;

http://sourceforge.net/projects/hattat

Saturday, August 12, 2006 11:52:35 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Wednesday, August 09, 2006

Bugün itibariyle MCAD - Microsoft Certified Application Developer ünvanına nail olmuş bulunmaktayım.

Wednesday, August 09, 2006 1:24:54 PM (GTB Standard Time, UTC+02:00)  #    Comments [1] -
Genel
 Tuesday, August 08, 2006

Şirkette QoS yapmamız gerekti.
ISA'da bandwith pooling desteği yok ne yazıkki.
Squid de ise detaylı bir pooling mevcut.

Senaryo:
Normal kullanıcılarım bir de Yöneticiler var.
Elimizde de 2048 bir adsl var, bunun 1024'ünü bizim QoS yapacağımız yazılımlara ayıralım.
Kalan 1024 de ise şu şekilde bir çıkış ayarlayalım;

Kullanıcılar hat dolu ise 512/hat boş ise 1024 çıksın
Yöneticiler ne olursa olsun 1024 çıksın.

konfigurasyon aşağıdaki gibi.

delay_pools 2
delay_class 1 1
delay_class 2 1
delay_parameters 1 128000/128000 #1024/1024
delay_parameters 2 64000/64000 #512/1024
delay_access 1 allow USERS
delay_access 2 allow !USERS

baya güzel çalışıyor. [Onur'a sevgilerimle]

Tuesday, August 08, 2006 10:36:55 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Server Systems

Skype'nin mobil cihazlar için sürümleri mevcut durumda fakat blackberry için sanırım hala desteği yok.Bu durumda 3rd party ler devreye girmiş.Aşağıdaki linkte 20 buddy'ye kadar sınırlı bir free Blackberry Skype yazılımı mevcut.20 ve üzeri için $ gerekiyor. :)

http://www.webmessenger.com/products/mimskype.htm

Tuesday, August 08, 2006 10:22:05 AM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Software
 Sunday, August 06, 2006

VOIP çözümleri uzun süre önce merdiven altında kurulan şirketlerin %50 ucuza yurtdışı telefon görüşmeleri satmasıyla gündeme girdi.Bu şirketler aslında ne legal ne illegaldiler.Yakalandıkları taktirde mahkeme ceza veremiyordu çünkü ceza hukukunda böyle bir madde yoktu sadece teknik ekipmana el konuluyordu.

Londra'yı TT üzerinden aramak için 1.44YTL ödeniyordu, fakat görüşmeler bu merdiven altı şirketlerden yapıldığında 0.72YTL'ye mal oluyordu.İşin güzel tarafı bu şirketler yurtdışında terminasyon yapan VOIP carrier firmalarına bu görüşme için sadece 0.18YTL ödüyorlardı.

Günler geçti TT bu özelleştirme yaptı lisanslar çıktı satıldı vs vs vs

VOIP teknolojisi ülkemizde sadece maliyetlerin düşmesi ile anıldı.Kimse bu görüşmelerin güvenirliğini sorgulamıyordu.Acaba görüşmelerim güvenilirmi? Network ağına sızabilecek phreacher(telekom hackerları) lar görüşmelerimi kaydedebilir mi?

Bir sistem mühendisi arkadaşımın keşfettiği bir problemi sizinle paylaşmak istiyorum.

A bilgisayarından skype hesabınıza login olun.
listenizdeki herhangi bir kişiyle yazılı mesajlaşmaya başlayın.

B bilgisayarından A bilgisayarında kullanmakta olduğunuz skype hesabıyla tekrar login olun.(A bilgisayarındaki hesabınızdan logout olmayın)

listenizdeki arkadaşınıza birkaç test mesajı gönderin.

Göreceksiniz ki bütün mesajlaşma B bilgisayarından takip edilebilmektedir.
VOIP paketlerinin de aynı şekilde her iki pc de gönderilip gönderilmediğini incelemedim fakat görünüşe bakılırsa hesap bilgilerinizi ele geçirmiş birisi sizin haberiniz olmadan yapacağınız görüşmeleri online olarak takip edebilir durumdadır.

Tabi bu sadece bir yazılımın açığı veya tasarımın köklü değişimlere izin vermemesinden kaynaklanan bir sorun olabilir.
Peki görüşmelerimizi nasıl güvenli bir şekilde yapabiliriz?
.....
.....
(devamı gelecek)

Sunday, August 06, 2006 9:57:59 PM (GTB Standard Time, UTC+02:00)  #    Comments [1] -
Internet | Security

Robotics, PIC programlama ile uğraşan arkadaşlar için ms den gelen çağrı.

http://msdn.microsoft.com/robotics/

Sunday, August 06, 2006 3:39:07 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Saturday, August 05, 2006

Formula 1 biletleri satın alabileceğiniz bir site.



www.voyagetrends.com

Saturday, August 05, 2006 1:18:14 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Monday, July 31, 2006

.NET Raporlama & Harici Rapor Dosyaları hakkında yazmış olduğum makale.

http://www.ceturk.com/Dersoku.asp?id=403

Monday, July 31, 2006 4:28:15 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Articles
 Tuesday, July 25, 2006

Mbsa kısaca network ağınızda bulunan bilgisayarların güvenlik açıklarını saptayabilmeniz için Microsoft tarafından ücretsiz olarak sunulan bir programdır.En beğendiğim özelliklerinden birkaçı:

1)Pc lere herhangi bir kurulum yapmadan kendi pc'nizden client pc'yi tarayabiliyorsunuz.Üstelik client çalışmaya devam ederken bu işlemi yapabilirsiniz.
2)Belli bir ip bloğunu tarayabiliyorsunuz (start ip - end ip) ki bu teker teker tarama yapılmasına göre çok daha hızlı.
3)Detaylı ve profesyonel bir raporlaması mevcut.Bulduğu açıklar hakkında ne yapmanız gerektiğini size bildiriyor, konu ile alakalı linkler veriyor.

not:Taradığınız makina üzerinde administrator hakkına sahip olmalısınız.

ilgili link : www.microsoft.com/technet/security/tools/mbsahome.mspx

Tuesday, July 25, 2006 3:43:56 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Server Systems

Paint Shop Pro ile bütünleşmiş bir arkadaşımın oğlum için yapmış olduğu çalışma.

Teşekkürler j-joey.

Tuesday, July 25, 2006 2:08:59 PM (GTB Standard Time, UTC+02:00)  #    Comments [0] -
Genel
 Monday, July 24, 2006

Herkese selamlar,

Artık Yazılım geliştirme ve Sistem yönetimi ile ilgili deneyimlerimi sizinle buradan paylaşacağım.
Mevcut makalelerim;

yazgelistir.com

How to interpret handwriting with c# 2
http://www.yazgelistir.com/Makaleler/1000000804.ygpx
 
Smart Client & Click Once & VSTO
http://www.yazgelistir.com/Makaleler/1000000678.ygpx
 
How to interpret handwriting with c#
http://www.yazgelistir.com/Makaleler/1000000659.ygpx

Exception handling & management
http://www.yazgelistir.com/Makaleler/1000000642.ygpx

C# Boxing & Unboxing
http://www.yazgelistir.com/Makaleler/1000000607.ygpx

Methods & overloading them
http://www.yazgelistir.com/Makaleler/1000000605.ygpx

Using ini files in c#
http://www.yazgelistir.com/Makaleler/1000000600.ygpx

Notes on string concentration
http://www.yazgelistir.com/Makaleler/1000000598.ygpx

Sending email with c# using SMTP protocol
http://www.yazgelistir.com/Makaleler/1000000597.ygpx

Sending email with c# using SMTP protocol
http://www.yazgelistir.com/Makaleler/1000000596.ygpx

Sending email with c# using SMTP protocol
http://www.yazgelistir.com/Makaleler/1000000181.ygpx


csharphelp.com

Sending email with c# using SMTP protocol
http://www.csharphelp.com/archives4/archive637.html


c-sharpcorner.com

How to Interpret Handwriting with C#
http://www.c-sharpcorner.com/UploadFile/leventyildiz/interprethandwriting09022005081741AM/interprethandwriting.aspx?ArticleID=f10409c3-22ef-40e3-abda-d86412ba87d8


ceturk.com

Sending mail using Outlook.(VS60)
http://www.ceturk.com/ornekyukle.asp?id=22

QmailMsgMoreXmb Qmail queue reporting(Linux bash programming)
http://www.ceturk.com/ornekyukle.asp?id=163

Using excel files(VS60)
http://www.ceturk.com/dersoku.asp?id=2

Coding principals
http://www.ceturk.com/dersoku.asp?id=3

Using ini files in c#(VS60)
http://www.ceturk.com/dersoku.asp?id=4

Using word files(Vs60)
http://www.ceturk.com/dersoku.asp?id=1

Using system printers(VS60)
http://www.ceturk.com/dersoku.asp?id=5

Vb & MsSQL Using stored procs(VS60)
http://www.ceturk.com/dersoku.asp?id=6

Reading a <Long Text> field with Ado Getchunk method.(VS60)
http://www.ceturk.com/dersoku.asp?id=14

Using Triggers
http://www.ceturk.com/dersoku.asp?id=16

Sending mail using SMTP protocol.(with attachment)(VS60)
http://www.ceturk.com/dersoku.asp?id=18

Map Network Drive with VB()
http://www.ceturk.com/dersoku.asp?id=20

Visual Basic - 1
http://www.ceturk.com/dersoku.asp?id=27

Visual Basic - 2
http://www.ceturk.com/dersoku.asp?id=28

Visual Basic - 3
http://www.ceturk.com/dersoku.asp?id=171

Howto catch MDI form lostfocus event(VS60)
http://www.ceturk.com/dersoku.asp?id=268

Visual Basic - 4
http://www.ceturk.com/dersoku.asp?id=326

Visual Basic - 5
http://www.ceturk.com/dersoku.asp?id=327

Sevgi dolu günler,