Binary Numeral System

Binary, Decimal, Octal, Hexadecimal gibi sayı sistemlerinden günlük hayatımızda en çok 3′ünü kullanıyor ve farkında olmuyoruz.

Nasıl yani? Biz sadece Decimal sayı sistemini kullandığımızı düşünüyoruz diyor olabilirsiniz. İsterseniz gelin bir daha gözden geçirelim. Trafik lambaları, cep telefonları, televizyonlar, bilgisayarlar ve internet, uydu alıcıları, akıllı fabrikalar, üretim makineleri, bilgisayarlı arabalar, akıllı ev aletleri çamaşır makineleri, bulaşık makineleri, fırınlar vb.. Bunları hayatımızdan şu an için birden çıkarma şansımız var mı? Eğer cevabınız hayır ise, zaten Binary sayı sisteminin her an yanında ve içindesiniz demektir.

Bir de bu sistemlerin çalışması için bunları programlayanların sürekli Hexadecimal sayı sistemi ile bu sistemlere yükleme yaptıklarını düşünürseniz, bana hak vereceğinizi düşünüyorum.

Binary Sistemin mantığı ile ilgili bir tablo paylaşmak istiyorum. Tabloyu daha da uzatacaktım ama bu kadarı ile maksatın hasıl olacağını düşündüm. Çünkü internetten araştırdığımda yeteri kadar bilgi bulamamıştım. Ben de YusufFirat.com ‘da bunu paylaşayım istedim.

Posted in General / Genel | Leave a comment

3D Print olayı..

3D Print işini abartmışlar. Artık ürettiği 3 boyutlu nesneyi renklendirerek çıkartıyor.

(Not: 3D print konusunu bilmeyenlere özetlemem gerekirse. Özellikle model üretmek için kullanılan bu üretim şekli ile yapılmış bir çok parça sanayii ‘de de aktif olarak kullanılmaktadır. 3 boyutlu bir tasarım programı ile tasarlanmış görseli 3 boyutlu olarak üreten bir cihazdır. En çarpıcı örnek olarak bir rulmanı “sağlam çalışır bir rulman” üretebilecek bir teknolojidir. Plastik gibi bir malzemenin milim milim üst üste eritilmesine benzer bir teknoloji kullanılır.)

Posted in General / Genel | Leave a comment

SQL ‘de çift kayıtları silme

Sql Server’da bir tablodaki tekrar eden kayıtları nasıl silebiliriz ?
L_User isminde bir tablo oluşturup tabloya bir kaç kayıt girelim.

  1. CREATE TABLE [dbo].[L_User] (
  2.     [ColumnId] [int] IDENTITY (1, 1) NOT NULL ,
  3.     [UserName] [char] (10) NULL ,
  4.     [UserPwd] [char] (10) NULL
  5. ) ON [PRIMARY]

Böyle bir örnekte kesin ve doğru bir query şekli olmadığı için kişilere bağlı olarak farklı yöntemler kullanılabilir. while ile döngü kurma, cursor kullanmak, temporary table oluşturmak gibi yöntemler tercih edilebilir. Burada bunlardan bir iki tanesine örnek vereceğim.

Bu yöntemlerden en kolayı, identity columndan yararlanmaktır. Tekrar eden kayıtları gruplayıp en küçük veya en büyük ID’lerini alıp diğerlerini sileceğiz.

  1. DELETE FROM L_User WHERE NOT ColumnId IN (
  2.     SELECT MIN(ColumnId) FROM L_User
  3.     GROUP BY UserName,UserPwd
  4. )

Bu yönteme benzer olarak tabloyu kendisiyle JOIN edip eş kayıtları bulacağız. Eşleşen kayıtların ID’lerinden küçük olanları sileceğiz. Önce, klasik WHERE mantığıyla yapalım.

  1. DELETE FROM L_User WHERE ColumnId<
  2.     (SELECT MAX(ColumnId) FROM L_User U2
  3.     WHERE L_User.UserName = U2.UserName
  4.     AND L_User.UserPwd = U2.UserPwd)

Bunu INNER JOIN ile ifade edelim.

  1. DELETE FROM L_User FROM L_User U1 INNER JOIN (
  2.     SELECT MAX(ColumnId)ColumnId,UserName,UserPwd
  3.     FROM L_User
  4.     GROUP BY UserName,UserPwd)U2
  5. ON U1.UserName=U2.UserName
  6. WHERE U1.ColumnId < U2.ColumnId

Başka bir yöntem olarak WHILE ile her kayda konumlanarak silelim.

  1. SET ROWCOUNT 1–Her defasında bir kayıt okunsun
  2. SELECT 2006–Bir değer select edelim
  3. WHILE @@ROWCOUNT > 0
  4.     DELETE L_User
  5.     WHERE 1 <
  6.         (SELECT COUNT(*) FROM L_User U2
  7.         WHERE L_User.UserName = U2.UserName
  8.            and L_User.UserPwd = U2.UserPwd)
  9. SET ROWCOUNT 0–ROWCOUNT’u geri alalım
Posted in General / Genel | Leave a comment

C# XML Parsing (XML parçalayarak okuma)

Öncelikle page.xaml dosyasını düzenlemek gerekir. TextBlock elementi olarak include edilmiştir.

<TextBlock x:Name ="OutputTextBlock" Canvas.Top ="10" TextWrapping="Wrap"/>

Using kısmına şu değerleri eklemeliyiz;

using System.Xml;
using System.IO;
using System.Text;

XML writer ve XML reader için şu örnek kodu kullanabilirsiniz;

StringBuilder output = new StringBuilder();

String xmlString =
        @"<?xml version='1.0'?>
        <!-- This is a sample XML document -->
        <Items>
          <Item>test with a child element <more/> stuff</Item>
        </Items>";
// Create an XmlReader
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
    XmlWriterSettings ws = new XmlWriterSettings();
    ws.Indent = true;
    using (XmlWriter writer = XmlWriter.Create(output, ws))
    {

        // Parse the file and display each of the nodes.
        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    writer.WriteStartElement(reader.Name);
                    break;
                case XmlNodeType.Text:
                    writer.WriteString(reader.Value);
                    break;
                case XmlNodeType.XmlDeclaration:
                case XmlNodeType.ProcessingInstruction:
                    writer.WriteProcessingInstruction(reader.Name, reader.Value);
                    break;
                case XmlNodeType.Comment:
                    writer.WriteComment(reader.Value);
                    break;
                case XmlNodeType.EndElement:
                    writer.WriteFullEndElement();
                    break;
            }
        }

    }
}
OutputTextBlock.Text = output.ToString();

 

Aşağıdaki örnek te, XML reader (Okuma) methodunu gösterir;

StringBuilder output = new StringBuilder();

String xmlString =
    @"<bookstore>
        <book genre='autobiography' publicationdate='1981-03-22' ISBN='1-861003-11-0'>
            <title>The Autobiography of Benjamin Franklin</title>
            <author>
                <first-name>Benjamin</first-name>
                <last-name>Franklin</last-name>
            </author>
            <price>8.99</price>
        </book>
    </bookstore>";

// Create an XmlReader
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
    reader.ReadToFollowing("book");
    reader.MoveToFirstAttribute();
    string genre = reader.Value;
    output.AppendLine("The genre value: " + genre);

    reader.ReadToFollowing("title");
    output.AppendLine("Content of the title element: " + reader.ReadElementContentAsString());
}

OutputTextBlock.Text = output.ToString();

 

Posted in General / Genel | 1 Comment

String içinden bir kaç karakter seçme işlemi.

Örneğin Textbox1 isimli bir Texbotx ‘ımız varsa

İçine girilmiş olan string değer ise;  “Türkiyenin en büyük şehri İstanbul” olsun.

string ilkucharf = Textbox1.Text.Substring(0,3);

 

Posted in General / Genel | Leave a comment

C# “Use of unassigned local variable ‘xxx’ hatası”

Use of unassigned local variable ‘DeğişkenAdı’ hatası

C#’da Use of unassigned local variable ‘DeğişkenAdı hatası alırsanız;

Sebebi Şudur; Eğer döngülerden önce değişkene değer atanmaz ise yukardaki hata mesajı gelir degisken tanımlar iken döngünün içine girilemeyeceğide hesap edilmelidir. O yüzden döngü öncesi değer atanması şarttır. Yani Değişkeni tanımladığınız yerde ona bir değer atayın. Örn: String a=”0″; gibi.

Örnek;

1 string HDD;
2 foreach (ManagementObject disk in searcher.Get())
3 {
4 HDD = disk["Model"].ToString();
5 }
Posted in General / Genel | Leave a comment

Merhaba!

Merhabalar, ben Yusuf FIRAT. bloguma ilk cümlelerimi yazıyorum. Uzun soluklu bir sürecin başında böylesi ilk tanışma ve giriş cümlelerini sevmediğimden olsa gerek cümleyi uzatıp anlamını kısaltıyorum.

Yusuf Fırat kimdir, acaba aradığım Yusuf Fırat bu mu diye düşünüyor olabilirsiniz. Çünkü internette biraz aratınca bol miktarda Yusuf Fırat karşınıza çıkabilir. İşte ben kendim hakkımda biraz ip ucu vereyim. Benim adım 3 kelimeden oluşuyor. Orta anadoludan gelmiş, İstanbulda yaşıyorum. Eski kadıköylüyüm. Bilgi Teknolojileri, Yazılım, İlaç ve Lojistik kelimeleri benim anahtar kelimelerim sayılır.

Aslında blog ile yeni tanışmam değil, yaklaşık 3-4 yıldır bir web sitem kendimce blogum vardı. Ancak deneme yaptığım bu çalışmaların son aşaması olarak bu son blogumum sürekli güncel tutmayı ve beğenilerimle, gelişimlerimi paylaşmayı hedefliyorum. Ola ki, tecrübelerimden yararlanan çıkar ve bilmediğim bir yerlerde bilmediğim kişilere de bilgi veya destek olmuş olabilirim.

Şimdilik selam ve sevgilerimle sizlere merhaba diyorum.

Posted in General / Genel | Tagged , , | Leave a comment