Tags: , , | Categories: Fun, Programlama, Security, Tip, Web Uygulaması Posted by okutbay on 24.07.2013 21:26 | Yorumlar (0)

İlk web sayfalarımı yaparken içerik kopyalanmasını önlemek için çeşitli numaralar yapar kopyalayanın işini zorlaştırmaya çalışırdım. Sonraları bunun gereksizliğine inandım. Çünkü içeriğin kopyalanması engellemezdi ve ayrıca ziyaretçiler için sinir bozucu olabiliyordu. Ben de bu uygulamadan vazgeçtim. Ama görüyorum ki bazı sitelerin yöneticileri hala yazılımcılarından böyle önlemleri almalarını istemekte ve arkadaşlarımızın değerli zamanlarını ve emeklerini gereksiz konulara yönlendirmekteler. Yapmayın etmeyin. Boşverin isteyen istediğini kopyalasın. Unutmayın kilit dost içindir. Hırsız niyet ettiyse kilit falan dinlemez.

Neden yazdım bu kadar yazı. Çünkü sinirlendim. Okuduğum bir Yılmaz Özdil yazısını facebookda paylaşmak istedim. Açıklama kısmına yazıdan bir bölümü kopyalayıp yapıştırmak istediğimde başarısız oldum. Hemen bir word belgesi açtım. Seçili bölümü sürükleyip belgeye bıraktım. Ve işte metin buradaydı. Orada durmadım düz metine çevirmek için bir ne notepad açıp wordden oraya yapıştırdım. Oradan da facebook a.

Sonuç sadece insanları sinir ediyorsunuz...  

2 kişi tarafından 4.5 olarak değerlendirildi

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Categories: Library, Programlama Posted by okutbay on 23.09.2011 00:11 | Yorumlar (0)

Microsoft®, .NET Framework®'un 4.5 Developer Preview versiyonunu duyurdu. Konu hakkında detaylı bilgi ve indirme bağlantısı şöyle: 

Microsoft® .NET Framework® 4.5 Developer Preview

Download Microsoft® .NET Framework® 4.5 Developer Preview - Full

 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Categories: IDE, Programlama, Tip Posted by okutbay on 16.09.2011 21:42 | Yorumlar (0)

.NET uygulamalari gelistirirken Visual Studio versiyonlarini kullanmayi tercih ediyoruz. Tabi yıllar içinde Framework versiyonları ile beraber visual studio versiyonlari da değişti. Değişmeyen bir tek şey kaldı benim için. Her kurulum sonrasında Windows > Close All Documents için bir kısayol ataması yapmak...

Benim tercihim Shift + Ctrl + F4...  

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories: Coding Disaster, Genel, Hata, Programlama, SSS (FAQ) Posted by okutbay on 24.11.2010 14:52 | Yorumlar (0)

Yazılım işindeyseniz sıfırdan geliştireceğiniz yeni projelerin toplamından daha fazla bitmiş, çalışmakta olan sistemlere bakım yapmakla, hatalarını gidermekle uğraşacağınız çok kuvvetli bir olasılıktır (Bu gerçeği bilerek iş hayatına atılırsanız yaşayacağınız hayal kırıklıklarının mesleğinize duyduğunuz sevgiyi azaltmasının önüne geçebilirsiniz gibi geliyor...)

Bir gerçek daha yazılım geliştirirken karşınıza çıkacak en can sıkıcı hatalardan biri null reference hatalarıdır. Can sıkıcıdır çünkü kodu yazan arkadaşınız (ya da siz) nasıl olur da null olma olasılığına karşı gerekli kontrolü yapmayı unutmuşdur.

Ama bu hatadan daha da can sıkıcı olanı bir string ya da dizinin null olmasıdır. Çünkü bir dizi ya da string null ise .Lenght(), .ToString() gibi metodlarını çatır çatır patlayacaktır.

Bu duruma en temel çözüm her hangi bir özellik ya da method string ya da array döndürüyorsa null döndürmesine asla izin vermemektir (bunu sadece ben söymiyorum Microsoft da best practice olarak bunu öneriyor...). NULL yerine boş string ya da dizi döndürün...

Klavyeler şen ola...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories: SSS (FAQ), Veritabanı, Programlama Posted by okutbay on 27.09.2010 11:04 | Yorumlar (0)

ExecuteNonquery ile çalıştırdığınız sql ifadeleri etkilenen satır sayısı olarak -1 döndürüyor ise muhtemelen çalıştırdığınız stored procedure içinde aşağıdaki ifade vardır.

SET NOCOUNT ON;

Bu ifade var ise çalışıtırılan sorgunun sonucunda dönen (ya da etkilenen) satır sayısı döndürülmez. Select ifadeleri için mantıklı olan bu opsiyon silme, güncelleme ve ekleme işlemlemleri için anlamsızdır. İfadeyi kaldırın ya da OFF yapın böylece etkilenen satır sayını alabilirsiniz.

Not: Bu ifade sql server management studio tarafından yeni yaratılan stored procedurelere otomatik olarak eklenmektedir. Yazacağınız stored procedure insert, update, delete yapacak ise kaldırın.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories: Programlama, Hata Posted by okutbay on 12.08.2010 16:24 | Yorumlar (1)

Yeni yazmaya başladığımız projede teknolojinin son nimetlerinden faydalanmak için Visual Studio 2010, .NET Framework 4.0, Entity Framework 4.0 kullanalım dedik... Hatta veritabanımızda Sql Server 2008 olsun dedik...

Development başladı. Her şey çok güzeldi... Ta ki müşteriye göstermek üzere mevcut sunucuların üzerinde bir test sürümü yayınlayana kadar...

Uygulamayı publish ettik... Ama yazdığımız formlardan bir kısmı kayıt eklemiyordu. Logları incelediğimizde şöyle bi exception ile karşılaştık...

"System.ArgumentException: The version of SQL Server in use does not support datatype 'datetime2'."

İlk başta afalladık kaldık tabi... "datetime2 de ne ola ki?"  dedik... Farklı kaynaklardan bulduğumuz çözüm işe yaramayınca daha da bi afalladık...

Sorun geliştirme yaptığımız veritabanı ile sunucu üzerindeki veritabanı versiyon farklılığından kaynaklanıyor. Model .EDMX xmlinde bulunan ProviderManifestToken="2008" değerini 2005 olarak değiştirdik... Tekrar derleyip uygulamayı güncelledik. Hata değişmedi. Üstüne gittik veritabanı uyumluluğunu 2008 den 2005 e çekip aynı işlemi tekrarladı... Sorunu aşamadık...

Bakalım nasıl çözeceğiz... Merakla araştırmaya ve denemeye devam ediyoruz...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Categories: Programlama, Genel, Tanıtım Posted by okutbay on 26.02.2010 16:03 | Yorumlar (0)

There is an open source project to use with your projects. It's easy to use.

dotnetzip.codeplex.com

Let's zip a folder :)

    1 using (ZipFile zip = new ZipFile())

    2 {

    3     zip.AddDirectory("c:\somedirectory");

    4     zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G");

    5     zip.Save("nameofthezipfile.zip");

    6 }

Happy coding...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Categories: Tip, Programlama, Genel Posted by okutbay on 26.02.2010 11:41 | Yorumlar (0)

You can always write comment to your codes. But comment itself can be outdated and misleads a developer. So writing self-documented codes must our first aim to make our code more maintainable.

In my opinion a big step to achieve self-documented code begins writing if clauses.

If a developer understands if clause, he/she understand purpose of the code block more easily.

But how can we write more readable if clause.

Very easy: Don't write logical comparisons into if clause.

    1 if ((preprocessedFailedEmails.Count > 0) || (failedEmails.Count > 0))

    2 {

    3     //some code

    4 }

Although this is a very simple if clause it's a bit hard to get what is happening there. Let's make it more readable.

    1 bool hasErrors = ((preprocessedFailedEmails.Count > 0) || (failedEmails.Count > 0));

    2 if (hasErrors)

    3 {

    4     //some code

    5 }

Happy coding...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , | Categories: Genel, Programlama Posted by okutbay on 23.02.2010 16:49 | Yorumlar (0)

This is sample application to serializes sample object

    1 using System;

    2 using System.Collections.Generic;

    3 using System.Text;

    4 

    5 using System.IO;

    6 using System.Xml.Serialization;

    7 

    8 namespace ConsoleApplication1

    9 {

   10     class Program

   11     {

   12         static void Main(string[] args)

   13         {

   14             SampleObject sampleObject = new SampleObject();

   15             sampleObject.Id = 35;

   16             sampleObject.Name = "Ozan K. BAYRAM";

   17 

   18             XmlSerializer serializer2 = new XmlSerializer(typeof(SampleObject));

   19             MemoryStream ms = new MemoryStream();

   20             XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces();

   21             xmlSerializerNamespaces.Add("", ""); //if you want namespace for your XML define here

   22             serializer2.Serialize(ms, sampleObject, xmlSerializerNamespaces);

   23             StringBuilder XMLText = new StringBuilder();

   24             ms.Position = 0;

   25             using (StreamReader Reader = new StreamReader(ms))

   26             {

   27                 XMLText.Append(Reader.ReadToEnd());

   28             }

   29 

   30             string serializedObject = XMLText.ToString();

   31         }

   32     }

   33 }

Output string

xmlserializationoutput

 

Sample class to use

    1 [Serializable]

    2 [System.Xml.Serialization.XmlRoot("sampleobject")]

    3 public class SampleObject

    4 {

    5     [System.Xml.Serialization.XmlAttribute("id")]

    6     public int Id { get; set; }

    7 

    8     [System.Xml.Serialization.XmlElement("name")]

    9     public string Name { get; set; }

   10 }

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , , , , , | Categories: Programlama, SSS (FAQ), Tip Posted by okutbay on 13.11.2009 17:32 | Yorumlar (0)

Clipboard is a windows object. If you want to use clipboard in your .NET framework console applications you must reference `System.Windows.Forms` and mark your main method with `STAThreadAttribute` attribute.

Then you can use this class's methods e.g. Clipboard.SetText("some text to store in the clipboard");

Happy coding.

1 kişi tarafından 2.0 olarak değerlendirildi

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5