Ana içeriğe atla

Kayıtlar

Öne Çıkan

Rusya Vizesi Fırsatçılığı

Neredeyse 7 yıl olacak yazı yazmayalı :) Eski yazılarıma baktım da hepsi programlama ile ilgili. Tabi o zamanlar henüz yurt dışına çıkmadığımdan vize ile ilgili işlemleri de bilmiyordum.

Gelelim Rusya vizesi olayına. Geçen sonbaharda hazır uçak biletlerinde kampanya varken bir yerlere gidelim dedik. Vize alınması gerektiğini biliyorduk ama yine de Mart ayı için Rusya'ya bilet aldık. (Gidiş dönüş 2 kişi 300TL)

Şubat ayı geldi hala vizeler kalkmayınca (malum adamların uçağını uçurduk) dedik vize başvurusu yapalım. Ama Rusya vizesi shengen gibi kolay değilmiş. Aslında kolay ama bir tur operatöründen alınmış bir belge istiyorlar. Bunu da internet üzerinden formu doldururken farkettik. Bir kaç araştırmadan sonra aracı şirketler bu belge ile birlikte vize ücretine kişi başı 150$ istediklerini görünce dedik uçak biletini yakalım gitmeyelim daha iyi.

Hatta bizim evin yakınında, neredeyse her gün önünden geçtiğim bir Jolly Tur var. Geçerken sorayım dedim Rusya vize ücretini. O da kişi başı…
En son yayınlar

Error 5030 - Error changing collation

The Database could not be exclusively locked to perform the operation.
ALTER DATABASE failed. The default collation of database 'DatabaseName' cannot be set to "Collation Name". (Microsoft SQL Server, Error: 5030)Eğer veritabanınızın dil seçeneğini değiştirmeye çalışıyor fakat başaramıyorsanız ve buna benzer bir hata alıyorsanız yapmanız gereken 3 satır kodu yazıp çalıştırmak.İyi çalışmalar..
-- bu kod veritabanını "Single User" moda dönüştürür
ALTER DATABASE DBADI SET SINGLE_USER WITH ROLLBACK IMMEDIATE
-- bu kod ile veritabanın yeni dil ailesine dahil ederiz
ALTER DATABASE DBADI COLLATE DILAILESIADI
-- bu kod ile veritabanını tekrardan "Multi User" moda çeviririz
ALTER DATABASE DBADI SET MULTI_USER

Transport Level Error

"A transport-level error has occurred when sending the request to the server. (provider: Named Pipes Provider, error: 0 - An unexpected network error occurred.)"
Böyle bir hata alıyorsanız Management Studio SQL Server ile olan bağlantısını kaybetmiş demektir. File'dan tekrar bağlan dediğinizde sorunun çözüldüğünü göreceksiniz. İyi çalışmalar..

Datalist Kontrolü

Bir makale sitesinde yazıların başlıklarının altalta dizildiğini düşünün ve başlığa tıklandığında o yazıya gitmek istiyoruz diyelim. Bunu datalist ile yapmak istersek yazılacak kod buna cok benzerdir. Yalnızca sayfa ismi yada datasource farklılık gösterebilir.

Datalist'i sayfamıza eklediğimizde "Edit Item Template" kısmında nasıl görünmesini istiyorsak o şekilde dizayn edebiliriz. Mesela ben içine bir tablo attım, tablo içine de bir adet HyperLink attım. Datasource bağlandığı anda ki bu kod tarafında da bağlanabilir, "Baslik" ve "ID" kısmımlarını Eval komutu ile çekiyor.
<asp:DataList ID="DataList1" runat="server" Width="800px" DataSourceID="AccessDataSource2">
     <ItemTemplate>
           <table >
              <tr>
                 <td>
                    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"Post.aspx?ID="+ Eval("I…

Error 28 - SQL Server doesn't Support Requested Protocol

Bugün sql server'a bağlanmaya çalışırken aldığım ve saatlerce nedenini bulamadığım bir hata :)
Tabi ki de şu an çözümünü buldum ve paylaşmak istedim.
Öncelikle "SQL Server Configuration Manager" ı çalıştırıyoruz. Protocols kısmından TCP/IP yi "enabled" yapıyoruz. Ki bu ayar ilk yüklendiğinde "disabled" olarak geliyor.
(Başka bir sorun olmuştu da bugun tekrar yüklemek zorunda kaldım :) )
Ardından ayarların aktif olması için Windows servislerden SQLServer servisini yeniden başlatıyoruz. Artık sorunsuzca bağlanabilirsiniz :)
İyi çalışmalar..

Tasarım Desenleri : Abstract Factory

Bu desen Factory Method desenine çok benzer. Amaç yine aynıdır. Sistemden nesnelerin oluşma işini soyutlar. Abstract Factory benzer özellikleri olan nesne fabrikalarını gruplar. İçinde birden fazla fabrika vardır.
Örneğimizde birden fazla türde database'de kaydetme ve sorgulama işlemlerini gruplamak için soyut fabrikayı kullanıyoruz :
Kısaca kodlarına da bakalım :
Önce ürünlerimizin gerçek ve soyut sınıflarını yazıyoruz.
Kaydetme.cs
interface Kaydetme
{
void kaydet(string cumle);
}
SQLBaglanti.cs
class SQLBaglanti:Kaydetme
{
public void kaydet(string cumle)
{
MessageBox.Show("sql'e kaydedildi");
}
}
AccessBaglanti.cs
class AccessBaglanti:Kaydetme
{
public void kaydet(string cumle)
{
MessageBox.Show("access'e kaydedildi");
}
}
Komut.cs
interface Komut
{
void sorgula(string query);
}
SQLSorgu.cs
class SQLSorgu:Komut
{
public void sorgula(string query)
{
MessageBox.Show("sql'de sorgu oluştu");
}
}
AccessSorgu.cs
class AccessSorgu:Komut
{
public void sorgula(string query)
{
MessageBox…

Tasarım Desenleri : Factory Method

Bu tasarım deseni nesne oluşturma işini sistemden ayırır ve aldığı parametreye göre nesneleri oluşturarak kullanıcıya geri döner.
Bir örnek verecek olursak düşünün ki gezmeye giderken farklı yöntemleriniz olsun. Ben şimdilik iki tane kullanacağım : Araba ve Bisiklet. Bu iki sınıf "Yöntem" arayüzümüzden türemişler. Bir adet de YöntemFabrika'mız var.

Yöntem.cs
interface Yöntem
{
void Gez();
}
Araba.cs
class Araba : Yöntem
{
public void Gez()
{
MessageBox.Show("arabayla geziyorum");
}
}
Bisiklet.cs
class Bisiklet : Yöntem
{
public void Gez()
{
MessageBox.Show("bisikletle geziyorum");
}
}
YöntemFabrikası.cs
class YöntemFabrikası
{
public Yöntem yöntemYarat(string opt)
{
if (opt == "arabayla")
return new Araba();
else if(opt=="bisikletle")
return new Bisiklet();

return new Araba();//if'lere girmezse
}
}

ve kullanacağımız yer
string parametre = //istenilen yerden dinamik olarak çekilebilir
Yöntem y = ne…