Ana içeriğe atla

Kayıtlar

2010 tarihine ait yayınlar gösteriliyor

Using diğer bir deyişle Try-Finally

Bu yazımızda using ifadesi nedir, ne değildir, ne yapar onu inceleyeceğim... Yine daha önce olduğu gibi basit bir kod yazarak konunun daha anlaşılabilir olmasını istiyorum. using System.Data; namespace Using_TryFinally { class Deneme { static void Main() { using (DataTable dt = new DataTable()) { } } } } şeklinde hiçbir şey yapmayan bir kodumuz olsun. Bu kodu Visual Studio (VS) ile konsol uygulaması olarak derlediğiniz zaman ortaya çıkan exe'nin kodunu .NET Framework IL Disassembler (IL DASM) açıyoruz. Bu şekilde aslında arka planda neler oluyor, kodumuz ne hale geliyor onu görmüş oluyoruz. Şimdi VS'nin bizim kodumuzu dönüştürdüğü kodu bir inceleyelim: .method private hidebysig static void Main() cil managed { .entrypoint // Code size 29 (0x1d) .maxstack 2 .locals init ([0] class [System.Data]System.Data.DataTable dt, [1] bool CS$4$0000) IL_0000: nop ...

Windows Server 2008 Cluster With Virtual PC

Merhaba, bu yazıma başlamadan önce dün benimle birlikte yazmaya başlayan iş arkadaşım,can dostum güzel insan Ogün'e hoşgeldin demek istiyorum.Aslında bu yazıyı aceleye getirip şuan yazmamın da sebebi bu :) Bu yüzden fazla ayrıntıya girmeyeceğin zaten bu konuyla ilgili birçok güzel kaynak internette bulunmakta.Bunlardan bir kaçının linkini vereyim belki bu yazıyı okumayı çok istemiyorsunuzdur :) ÇözümPark'tan Alper Özdemir'in yazısı ve yine ÇözümPark'tan Serhat Akıncı'nın yazıları: http://www.cozumpark.com/blogs/windows_server/archive/2010/01/17/windows-server-2008-cluster-mimarisi.aspx http://www.serhatakinci.com/index.php/tag/windows-server-2008-cluster Gelelim benim bu konuda söylemek istediklerime.Bu işlerde aşırı çaylak bir eleman olarak takıldığım birçok konu oldu kurulum sırasında yada her zaman olduğu gibi ince ayrıntılar.Mesela ben sanal makinalarla 2 node'lu bir cluster yapısı kurmayı amaçlıyordum böyle örneklere vardı fakat windows 7 üzerinde...

String.Empty ve "" karşılaştırması

benim için beklenmedik bir şekilde performans açısından kazanan string .empty! bugün aşağıdaki örnekteki str1 ve str2 değişkenlerinin durumunu ve bir farkı olup olmadığını inceleyeceğiz. class StringDeneme { static void Main() { string str1 = string.Empty; string str2 = ""; } } yukarıdaki kodu console projesinde derleyip oluşan .exe'mizi ildasm ile incelediğimizde şu kodu görüyoruz: .method private hidebysig static void Main() cil managed { .entrypoint // Code size 14 (0xe) .maxstack 1 .locals init ([0] string str1, [1] string str2) IL_0000: nop IL_0001: ldsfld string [mscorlib]System.String::Empty IL_0006: stloc.0 IL_0007: ldstr "" IL_000c: stloc.1 IL_000d: ret } // end of method Program::Main str1 değişkenimize string [mscorlib]System.String::Empty değeri atanmış (ldsfld) yöntemiyle. str2 değişkenimize "" değeri atanmış (ldstr) yöntemiyle. msdn'nden ldsfld'nin açıklamasına...

TC Kimlik No Algoritması

Oluşabilecek tüm kimlik numaralarını hesaplayan algoritmayı aşağıda bulabilirsiniz. Bu sayede tam hatırlayamadığınız bir kimlik numarasını bulabilirsiniz mesela. Ben bu yüzden kullanmıştım bu algoritmayı. for (int a1 = 1; a1 for (int a2 = 0; a2 for (int a3 = 0; a3 for (int a4 = 0; a4 for (int a5 = 0; a5 for (int a6 = 0; a6 for (int a7 = 0; a7 for (int a8 = 0; a8 for (int a9 = 0; a9 { int tekBasamaklar = a1 + a3 + a5 + a7 + a9; int ciftBasamaklar = a2 + a4 + a6 + a8; int t1 = (tekBasamaklar * 3) + ciftBasamaklar; int c1= (10 - (t1 % 10)) % 10; int t2 = c1 + ciftBasamaklar; int t3 = (t2 * 3) + tekBasamaklar; int c2 = (10 - (t3 % 10)) % 10; string tc = String.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}", a1, a2, a3, a4, a5, a6, a7, a8, a9, c1, c2); Console.WriteLine(tc); } ya da bu algoritmayla biraz daha oynayıp şu şekilde işler yapabilirsiniz: /// Girilen 9 basamaklı sayının son iki basamağını bulup TC Kimlik No oluşturur string tc = Console....

OpenSSL

Öncelikle OpenSSL hakkında genel bir bilgi vermek gerekir. OpenSSL ile ilgili genel ve güzel bir yazı var onu paylaşıp daha sonra windows sistemi altında OpenSSL sertifikası nasıl üretilir ve diğer aşamalarını yazacağım. OpenSSL nedir? OpenSSL projesi güvenliği geliştirmek için çaba harcayan ticari, geniş özellikli ve açık kaynak kodlu, Güvenli Soket Katmanı (SSL v2/v3), İletim Seviyesi güvenliği (TLS v1) protokollerini uygulayan, çok güçlü genel amaçlı bir şifreleme kütüphanesidir. Bu proje bütün dünyada iletişim, plan ve OpenSSL araçlarını geliştirmek için interneti kullanan gönüllüler topluluğu tarafından yönetilir. Bilindiği üzere SSL sertifikaları global firmalar tarafından oldukça yüklü rakamlara (Ücretlere) üretiliyorlar. Aslinda bu sertifikaları kendimiz üretmek mümkün, bunun için kendiniz sertifika sunucusu kurabilir ve işletebilirsiniz. OpenSSL organizasyonu burada devreye giriyor, ve bir kaç küçük program ile kendi sertifikalarınızı üretmenize olanak veriyor. Neden o z...

Kerberos

Kerberos Nedir? Athena Projesinin bir parçası olarak MIT'de geliştirilen kimlik denetim sistemidir.Adını Yunan mitolojisindeki Yeraltı’nı koruyan üç başlı köpekten alır. Bu üç başlı köpeği şunlar temsil eder; istemci, servis sağlayıcılar ve kimlik doğrulama merkezi.   Kerberos güvensiz bir ağda güvenli hostlar için kullanılan bir kimlik doğrulama protokolüdür.Simetrik şifrelemeyi kullanılır. Peki Kerberos'un Amacı Nedir? Kerberos genel olarak şu amaçları gerçekleştirmeyi hedefler. Kullanıcının şifresi ağ üzerinde asla iletilmemeli Kullanıcının şifresi kullanıcı tarafında asla kaydedilmemelidir, kullandıktan sonra atılmadır. Kullanıcının şifresi, şifrelenmeden asla veritabanında tutulmamalıdır Kullanıcı her oturum için yalnız bir kere şifre girişi yapar. Yani şifre bir kere onaylandıktan sonra oturum sonuna kadar geçerli olacaktır (Single Sign-On) Kimlik doğrulama bilgileri kimlik doğrulama sunucusu üzerinde bulunur. Uygulama sunucusu kimlik doğrulama bilgiler...

MATLAB ile Voice/Unvoice

Bir arkadaşa yardım için basitçe hazırladığım matlab programı. Wav uzantılı sesi alarak 2 tür işlemden geçiriyor ve Ses'te konuşma olup olmadığını tespit ediyor.Bu 2 yöntem Zero Crossing Rate ve Short-Time Energy. Bu konularla ilgili internette pek çok kaynak bulunmakta. Matlab ile amatörce geliştirdiğim kod ise şöyle: % İlk Giriş Wav Dosyasının Alınması fn=input('\nWav dosyası ismi girin : ','s'); [x,Fs]=wavread(fn);   % wav dosyası okunuyor                          % x:giriş    fs:frekans x=x.'; fprintf('Frekans : %g\n',Fs); %---------------------------------------------------------------- % Zero Crossing Rate - Sınır Kesit Oranı M = length(x) - 1;               x1 = x(1:end-1); x2 = x(2:end); xp = x1 .* x2; I = (xp < 0); zc = sum(I) / M; fprintf('Zero Crossing Rate : %g\n',zc); if(zc>0.07)     fprintf('ZCR ye göre İnsan Sesi Var(Voice)\n'); else ...

C# ile Yüz Bulma ve Tanıma

Aylardır uğraştığım yüz tanıma sistemi tezimi nihayet bitirdim.Lafı uzatmadan hemen yaptığım uygulamadan bahsedeyim. Öncelikle yaptığım yüz tanıma sistemini gerçekleştirmek için donanımsal ve yazılımsal olarak en düşük sistem gereksinimleri şunlar.  —Donanımsal Gereklilikler İşlemci:        Pentium III veya üstü Bellek:         128 MB Hard Disk:   4GB veya üstü Monitör:       14”SVGA          —Yazılımsal Gereklilikler İşletim Sistemi:                             Microsoft Windows NT/2000 veya üstü Paket:                           ...

Metinler İşaret Diline Dönüşüyor

GANAS Projesi kapsamında metinleri anında işaret diline dönüştüren bir görsel çevirmen geliştiriliyor. Proje, işitme engellilerin halka açık olan yerlerde paylaşılan bilgileri anlayarak hayatlarını kolaylaştımak üzere tasarlandı. Proje ile hava alanları, okullar, sinemalar, televizyon ve internet sitelerinde çeviri servisleri sağlanmaya başlanabilecek.  NDRA,  Castilla-La Mancha Üniversitesi ve Adecco Vakfı  ile ortaklaşa yürüttüğü  GANAS Projesi  (İşaret Dili için Otomatik Animasyon Üretimi Projesi) kapsamında işitme engelliler için metinleri işaret diline dönüştüren bir çevirmen geliştiriyor. Proje ile işitme engellilerin sosyal yaşama dahil olması ve çevrelerindeki bilgilere erişebilmeleri hedefleniyor. Sonuç  olarak  metinler bir bilgisayar yardımı ile üç boyutlu karakterler kullanılarak işaret diline dönüştürülüyor. Proje 3 modülden oluşuyor. Gerçek çevirmenin videosu yol gösterici olarak kabul edildiğinde, düzenleme modülü üç boyutlu karakt...

DNSSEC

İlk uyarı için birkaç gün geç kaldım fakat haberin içeriği önemli paylaşmak istedim... 5 Mayıs'ta internet bağlantınızla ilgili büyük problemler yaşaya bilirsiniz.. Bütün internet kullanıcılarını etkilemesi beklenen  DNSSEC  sisteminin ilk aşamasına 5 Mayıs'ta ICAN, ABD Hükümeti ve Verisgn  yönetiminde geçilecek. İnternet kullanıcıların güvenli sitelere kavuşturmayı amaçlayan bu proje kapsamında Çarşamba günü Dünya genelinde internet ulaşımında çeşitli sorunlar yaşanabilir. İşte ayrıntılar... Domain Name System Security Extensions yani DNSSEC ; birçok internet kullanıcısının yakından ilğilendiği Domain Name System  (DNS)  ve Internet Protocol  (IP)  sistemleri tarafından sunulan bilgilerin daha güvenli hale getirilmesini amaçlayan ve bu yönde yenilenen sistem için kullanılan bir terim. DNSSEC'i biraz daha açarsak ne demek istediğimiz  çok  daha net anlaşılacaktır. Bu yeni sistemle DNSSEC tüm DNS sunucularından gelen yanıtlara dijital ...

Yüz Tanıma Sistemi - 6

C# Kameradan Görüntü Alma Kameradan görüntüyü almak için "webcam_capture" kütüphanesini kullanıyoruz.Referanslardan dll'i ekledikten sonra. Önce forum kısmına bir picturebox ve bir buton ekleyelim.Daha sonra "Kamera" adında bir sınıf oluşturuyoruz.Bu sınıf kod içeriği şöyle ; using System.Data; class Kamera {  private WebCamCapture kameraa;  private Anaform p;  PictureBox ilkresim; public void Kamera_Etkin(Anaform form, int W, int H, PictureBox ilkres) {   p = form;  ilkresim = ilkres;  kameraa = new WebCamCapture();  kameraa.CaptureHeight = H;  kameraa.CaptureWidth = W;  kameraa.TimeToCapture_milliseconds = 1;  kameraa.ImageCaptured += new WebCamCapture.WebCamEventHandler(kamera_resim); } public void Start() {   kameraa.Start(0); } public void kamera_resim(object source, WebcamEventArgs e) {   ilkresim.Image = e.WebCamImage; } } Kamera sınıfımızı oluşturduk şimdi anaform'da bir kamera nesnesi tanımlıyoruz ; using S...

Yüz Tanıma Sistemi - 5

Sayısal Resim Sayısal resim bir matrise benzetilebilir. Resmin en küçük elemanına piksel adı verilir. Alttaki resimde görüldüğü gibi M x N boyutunda matris olarak düşünürsek her bir pikselin değeri bir dizinin i ve j' inci terimi olarak ifade edilebilir. En basit durumda pikseller 0 veya 1 değerini alırlar. Bu piksellerden oluşan resimlere binary (ikili) resim denir. Monokrom, yani tek renkli resimlerde ise her eleman 0 ile 255 arasında değerler alır. Böylece her pikselin parlaklık değerinin farklı olması ile gri tonda bir resim elde edilir. En parlak nokta 255 beyaz, en karanlık nokta 0 siyah bunların arasındakiler ise gri renk değerlerini alırlar. Renkli resimler ise üç ana rengin karışımı ile oluşurlar. Bunlar kırmızı (Red) ,yeşil (Green) ve mavidir (Blue). Renkli resimler hakkında daha ayrıntılı bilgileri  www.goruntuisleme.org  adresinde diğer makalelerde bulabilirsiniz.. Kaynak :   http://www.goruntuisleme.org/

Yüz Tanıma Sistemi - 4

Kullanılan Kütüphaneler Yüz tanıma sistemi geliştirirken kullanabileceğimiz birçok kütüphane var. Genel olarak en yaygını OpenCV kütüphanesi. OpenCV hem açık kaynak olması hem de performans olarak da iyi olduğundan biraz daha önde. Ayrıca Aforge,EmguCv,SharperCV,OpenCVDotNet gibi seçenekler mevcut. OpenCV ana sayfası : http://opencv.willowgarage.com/wiki/ OpenCV kütüphanesini indirmek için (2.0 Sürümü)  : http://sourceforge.net/projects/opencvlibrary/ Ayrıca OpenCV konusunda BlueKid hocamızın sitesinden çok ayrıntılı bilgi edinebilir ve birçok örnek bulabilirsiniz.( http://derindelimavi.blogspot.com/ ) OpenCvSharp C# ile kullanımı gayet kolay olan ve başarımı yüksek bir diğer kütüphane. Başlangıç olarak kamera görüntüsünde yüz bulma işleminde ben Aforge framework'unu kullandım.Aforge framework'u de gayet kullanışlı ve birçok kütüphaneye sahip. Daha çok bilgi almak ve indirmek için sitesine bir göz atabilirsiniz : http://code.google.com/p/aforge/  ...

Java Dilinde Küçük Bir Alıştırma

Yüz tanıma sistemine kısa bir ara.Bu aralar yeni yeni uğraşmaya başladığım java dilinde küçük bir örnek program. Örneğimiz şöyle ; 1'den 100'e kadar sayıları ekrana yazacak bir program yazıyorsunuz. Fakat 3'ün katları için "Noqo", 5'in katları için "Nisqo" ve 3'e ve 5'e tam bölünen sayılar için de "NoqoNisqo" yazacaksınız. Örnek ekran çıktısı: 1 2 Noqo 4 Nisqo Noqo 7 8 Noqo Nisqo 11 Noqo 13 14 NoqoNisqo 16 …….. 98 Noqo Nisqo Kodlarımız da şöyle ;   public class NoqoNisqo {     public static void main(String args[]) {         for (int i = 1; i <= 100; i++)         {          if(i%15==0) System.out.print("NoqoNisqo\n");          else          if(i%3==0) System.out.print("Noqo\n");          else          if(i%5==0) System.out.print("Nisqo\n"); ...

Yüz Tanıma Sistemi - 3

Yüz Bulma ( Face Detection) Yüz tanımaya geçmeden önce en önemli husus bir kamera görüntüsünde yada resim içinde yüz kısmının ayrıştırılması gerekmektedir. İnsan yüzü kendine özgü rengi ile renk uzayında belli bir aralıkta temsil edilebilmektedir. Bu durum imgeler üzerinde de sadece ışıktan kaynaklanan bir yoğunluk değişimi göstermektedir. Ayrıca, insan teni ayırt edilebilir bir dokusal doygunluğa sahiptir. Yüz bulma işlemi, öncelikle renk tonu ve doygunluk değerlerinden faydalanılarak ten süzgeci gerçeklenmesi ile başlamaktadır. Özgün imgeden elde edilen değerler bu konuda yetersiz kalmasına karşın negatif imgeden de elde edilen renk tonu ve doygunluk değerleri ile daha kararlı bir süzgeç yapısı oluşturmak gerekir .  0 ≤ H ≤ 0.942 , 0.1 ≤ S ≤ 0.69 , 0.25 ≤ Sn Sn : Negatif imgeye ait doygunluk değeri Ten süzgeci sonucunda elde edilen siyah-beyaz imge üzerinde iyileştirme amaçlı olarak önce morfolojik işlemler, daha sonra da bağlantısallığa b...

Yüz Tanıma Sistemi - 2

PCA Algoritması ve Özyüzler Metodu PCA algoritması ve Özyüzler metodunun kısaca bir tarihçesine bakalım; Öz yüzler yaklaşımı ilk olarak Sirovich ve Kirby (Eigenfaces, Principal Component Analysis, PCA, 1987) tarafından kullanılarak yüzü etkin bir şekilde göstermek için uygulanmıştır. Temel bileşen analizi olarak da bilinen Karhunen-Louve genişlemesine dayanmaktadır. Bu, bilgi teorisinde veriyi kodlama ve kodunu çözmede iyi bilinen bir tekniktir. Bu kişiler yüz resimleri gruplarından başlayarak bu resimlerin temel bileşenlerini hesaplamışlardır. Daha sonra da öz vektörün sadece küçük parçalarının ağırlıklı birleşimini kullanılarak yüz resmini yeniden oluşturmuşlardır. (Kirby ve Sirovich, 1990) bu metotlarını 115 yüz resmi veri tabanında test ettiler ve yaklaşık olarak %3 yanılma (hata) payıyla bir yüzü yeniden oluşturmak için sadece 40 öz vektörün yeterli olduğunu göstermişlerdir. Bundan kısa bir süre sonra yüzün simetrisini dikkate alarak (örneğin bütün yüzlerde gözler, burun v.s....

Yüz Tanıma Sistemi - 1

Türkçe kaynağın bulunmasının oldukça zor olduğu bir konu. Bitirme tezi konum olduğu için bu konuda araştırmalarımı sürdürmekteyim. Elimden geldiğince çalışmalarımı ve araştırma sonuçlarını burada paylaşacağım. Yüz tanıma sistemine geçmeden önce temel olması açısından biyometriyi açıklamak gerekir.Aslında Ahmet Kakıcı bu konuyu çok iyi açıklamış ve başlangıç olarak bana rehber olan bir yazı yazmış. Peki yüz tanıma sistemi nedir?  Yüz tanıma sistemi, yüzün karakteristik özelliklerini analiz ederek, farklı noktalar ve bölgeler arası biyometrik ölçümler yaparak veritabanı ile karşılaştırma yapar ve kişiyi tanımlar. Yüzün bu karakteristik özelliklerine düğüm noktaları da denir. Bu düğüm noktalarından bazıları şöyledir; Burunun genişliği, Göz çukurunun derinliği, Elmacık kemiğinin şekli, Çene kemiğinin uzunluğu Bu düğüm noktaları rakamsal bir değerle kodlanır ve bu kodlara faceprint adı denir. Tabiki bu sadece genel bir probleme bakış. Bu problemin birçok çözüm yolu var ve çı...

Java Programında String Tersi Alan Program

İşine yarayan olursa uğraşmasın diye paylaşmak istedim. import java.io.*; public class StringTersi {        public static void main(String args[]) throws IOException {                String[] Gecici;         String cumle;         char karar='e';         BufferedReader klavye = new BufferedReader                                 (new InputStreamReader(System.in));         do{             System.out.print("Lütfen bir cumle giriniz : ");             cumle = klavye.readLine().toString();                           Gecici=cumle.split("");              fo...

Windows 7 : GodMode

Öncelikle bu modu nasıl açacağınızdan bahsedelim ; Masaüstünde  yeni  bir klasör oluşturun ve adını   GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}   olarak değiştirin. Klasör farklı bir simge alacak ve adı " GodMode" olarak değişecek. İşte bu kadar basit. Şimdi bu simgeye çift tıklayın : Her birine ulaşmak için farklı yolları takip etmeniz gereken onlarca Windows 7 ayar seçeneği tek bir pencerede karşınızda! Bu seçenekler arasında İnternet seçeneklerinden, Donanım ve anti-virüs ayarlarına kadar hemen her şeyi bulabilirsiniz.

TOR : Kendinizi Koruyun

Tor , kendinizi tarfik analizine karşı koruyabilmenize yardımcı olan bir yazılım projesidir. Trafik analizi kişisel özgürlüğü ve gizliliği, gizli ticari eylemleri ve ilişkileri ve devlet güvenliğini tehdit eden bir çeşit ağ denetimidir. Tor iletişiminizi dünyanın her tarafından gönüllüler tarafından işletilen dağıtılmış bir ağ üzerinden sağlayarak sizi korur: birilerinin sizin Internet bağlantınızı izleyerek hangi siteleri gezdiğinizi öğrenmesini engeller, ayrıca girdiğiniz sitelerin sizin fiziksel yerinizi öğrenmesini de engeller. Tor, Internet tarayıcıları, anında mesajlaşma istemcileri, uzaktan erişim ve TCP protokolünü kullanan diğer uygulamalar dahil mevcut uygulamalarınızın bir çoğu ile çalışır. Kaynak :  http://www.torproject.org                                         ...

Youtube'da 3D Video Özelliği

Henüz yaygınlaşmamış olan 3D monitörler olmadan da 3D video izleyebilirsiniz. Bunun için sadece YouTube üzerinde bulunan 3D özellikli videoları bulmanız gerekiyor. Peki bu 3D nasıl çalışır ve nasıl teknolojiyle ilintilendirilir? Birbirinden biraz mesafeli olan lensler yerleştirildikten sonra video çekimi gerçekleştirilir. Rengi farklı olan bu iki görüntünün birleştirilmesi sonucu açık mavi ve kırmızı olan klasik renkler, kullanılan renkli 3D gözlükleri ile bu yansıma oluşturulur. YouTube’a ekleyeceğiniz videolara siz de 3D özelliği katabilirsiniz. Bunun için, ‘yt3d:enable=true’ etiketini ekleyebilir, yayınladığınız videonun YouTube 3D özelliği ile izlenmesini sağlayabilirsiniz. Bu videoya tıklayan ziyaretcilerin karşısına ise, 3D izleme seçeneği çıkar. Henüz YouTube kategorileri arasında ayrıca 3D destekli videolar kategorilendirilmedikleri için, YouTube arama kutusuna 3D yazıp arama yaparsaniz bu özelliğe sahip videolara ulaşmış olursunuz. Kaynak :  Bilişim Haber