String İçindeki Bir Alt String’i Kırpmak

Stackoverflow sitesinde rastladığım bir soru var. Kişi bir string verisi içindeki herhangi bir karakteri ya da alt string i nasıl kırpabileceğini sormuş. Topluluktaki bazı kişilerle ufak-tefek çatışmalar, tartışmalar olsa da istenilen işlemi genelleştirilmiş bir şekilde şu şekilde gerçekleştirebilirsiniz:
Continue reading

TThreadPool Günlükleri – Vol I : TParallelizableProperties

Son iki yazımda bahsettiğim üzere bir süredir YSA konusu üzerinde bazı çalışmalar yapıyorum. Hatta dün yayınladığım yazıda, üzerinde çalıştığım ağ ile ilgili bazı kısımların paralelleştirilebileceği hakkında birkaç kelam etmiştim. Bugün bu paralelleştirme çalışmaları üzerine mantığını oturtmaya ve işleyişini geliştirmeye yavaş yavaş başladım. İşte ilk meyveler:

Continue reading

Case Şart Koşulu ile String İfadeler Kullanmak

Bir değişkenin alabileceği 2 den fazla değeri kontrol etmek amacıyla bir çoğumuz C++ daki “Switch-Case” veya Delphi’deki “Case-Of” koşul kontrollerini kullanırız. Çok sayıda değeri iç içe If-then ler ile kontrol ettirmek hem okunurluğu azaltacaktır, hem kod kalabalığı yapacaktır, hem de eğer yapıyı düzgün bir şekilde kuramazsanız ve syntax a dikkat etmezseniz hata yapma olasılığınız çok yüksek olacaktır.

Temel olarak bir case-of deyimi şu şekilde kullanılır:

Continue reading

Bir Linked List Hikayesi – Scene II – The List Itself – I ListItem

Bağlı liste macerama kaldığım yerden devam ediyorum…

Veri yapıları dersimizin ilk saatleri. Vasıf Hocam ilk iki konuyu anlatmış, Kuyruk yapısını bitirmiş, ara konular üzerine sohbet ediyorduk sınıfça. Bilmeyenleriniz için, Vasıf Hocamızın ara konuları Biyometrik Tanıma ile ilgilidir hep :). Sorduğu bir soru vardı “Şunu nasıl gerçeklersiniz?” şeklinde. Ben de el kaldırıp “Dinamik dizi tanımlarım. Her yeni değer ulaştığında bu diziyi güncellerim” demiştim. Dinamik dizi hayranıyız ya o zamanlar ( 1. sınıfta, programlama sınavlarında soruları dinamik dizilerle çözüyordum hep :) Hatta 2. sınıfta Programlama II sınavlarında bile daha dinamik organizasyon anlatılmadan ben dinamik dizilerle çözüyodum gene :) )… Tutturmuşum bir dinamik dizi dinamik dizi gidiyorum… Hocanın ilk tepkisi: ( bıyık altı, dudak kenarı gülümseyerek ) “Ohoo ne yaptın oğlum?!! İşlem yükünün çoğu senin dizi organizasyonunda harcandı!!”. Akabinde açıklamasını yaptı, “bu değerleri bir listede tutarım” şeklinde… Ve hemen ardından da “Başlık atın arkadaşlar: ‘Liste Veri Yapısı’ “…

Continue reading

Bir MultiDesktop İncelemesi…

İnternetin kesikliği ve fındık toplama işinin de bitmiş olmasıyla kendime yeni uğraşlar edinmem gerektiğini düşünüyodum. Kitap okumak.. Okudum. Müzik dinlemek.. E, bunu her zaman yapıyorum zaten.. Ne yapayım ne yapayım derken eski projelerime sardım kendimi. Bir türlü tamamlayamadığım Server-Client programım ( Tamamladığım farklı versiyonları mevcut. Bu versiyon tamamen benim fantazim.. ), bellek taşmalarını engelleyemediğim ve bir türlü performansını artıramadığım Linked List yapılarım… C++ ve C# ta durum nedir bilmiyorum ama Delphi’deki TList sınıfı, bir linked list değil bir Pointer Array’dir ve ne yaptımsa benim listemin hızını TList’in hızına bir türlü yaklaştıramadım (C# tamamen nesneye dayalı bir dil olduğundan ve pointer desteğinin de kısıtlı olduğunu bildiğimden “C#’ta da gerçek bir Linked List uygulaması yoktur.” diyebilirim sanırım.)…

Neyse… Oturdum yeniden yazmaya başladım bu yapıyı. Bir editör, yeni bir tane daha, yeni bir tane daha.. Geçtiğimiz bahardaki halime benzedim :) Gene 7-8 tane editör penceresi… Bir de oranın buranın Explorer pencereleri.. Taskbar doldu taştı. Ya biraz daha düzenli olmalı projeleri sırayla geliştirmeliydim ( ki hayatta yapamam ) ya da bu karışıklığa başka bir alternatif bulmalıydım. Emektar Dial-Up ile internete bağlandım ve başladım “MultiDesktop in Windows XP” diye aramaya… :)

Continue reading