6 Kasım 2016 Pazar

C# Deciaml HEXADECİMAL Dönüşümü

Decimal To Hexadecimal
C# programlama dilinde program yazanların genelde kullandıkları sayı sistemi onluk sayı sistemi olsa da özellikle elektronik sistemlerle entegreli sistemlerde en çok kullanılan sayı sistemi 16'lık yani Hexadecimal sayı sistemidir. Genel düşünme yapısı olarak ve tüm hayatımızda onluk yani decimal sayı sistmemini kullandığımız için Hexadecimal sayı sistemini kullanabilmemiz için decimal hexadecimal dönüşümlerinini yapabilmemiz gerekiyor. Bu kısa makalede de bu konuya değineceğiz ve C# programlama dilinde bu işlemleri nasıl yapıldığını öğreneceğiz.
Konuyu anlayabilmek açısından küçük bir form uygulaması yapacaız ve bu form uygulamasına bir tane textbox bir tane de buton ekleyeceğiz. Bu programın amacı ise textboxa girdiğimiz sayının hexadecimal karşılığını bulmaktır.
Forma butonu ve textboxı ekledikten sonra butona'a çift tıklıyoruz ve butonun click eventine aşağıdaki kodları yazıyoruz. Kodları size gösterdikten sonra daha sonra detaylı açıklamasını da yapacağım.

4 Kasım 2016 Cuma

C# OpenFileDialog Kullanımı Ve Özellikleri

C# programlama dilinde OpenFileDialog dosya  yüklemek için kullanılır. Bu makalenin amaçlarından bir tanesi de OpenFileDialog sınıfının detaylarını, parametreleri ile birlikte kullanımını örnekler üzerinden açıklamaktır.

OpenFileDialog sınıfı genel çalışma yapısı olarak kullandığını diğer programlarda olduğu gibi size dosya seçme penceresine yönlendirir. Visual Studio araçlar menüsünden projeye eklenebildiği gibi sınıf içinde de tanımlanabilir. Visual Studio ortamında da araçlar kutusunda OpenFileDialog'u görebilirsiniz. Eğer bulunmuyorsa da seçtiğiniz tab'ın üzerinde Choose Item yaparak araçlar kutusuna ekleyebilirsiniz.
Ama benim önerim kod içinde bu sınıfı çağırmaktır. Çünkü her zaman form uygulaması dışında normal sınıflarda da kullanmanız gerekebilir. Bu gibi durumlara da hazırlıklı olabilmeniz açısından class içinde çağırmak ve buna alışmak daha iyi olabilir.
Konuyu fazla uzatmadan OpenFileDialog örneğine geçmek istiyorum. Genel kullanımla ilgili örnekten sonra bu kodların açıklamasını ve makalenin devamında ise parametrelerini tek tek açıklayacağım. Yukarıda resimde programımızın arayüzü bulunuyor. Kolaylık olsun diye forma bir buton, textbox ve label ekledim. Bunları eklememin amacı da butona tıklanınca dosya yükleme ekranının açılmasını sağlamak ve dosya yükledikten sonra dosya isminin textboxta, dosya yolunun da labelda görüntülenmesi sağlamaktır. Öncelikle genel görünüm olarak aşağıdaki kodları inceleyelim.

1 Kasım 2016 Salı

RabbitMQ Server Kurulumu İçin İşletim Sistemi Seçimi

RabbitMQ Server
RabbitMQ'ü Message Queue alanında güçlü kılan iki nokta vardır. Bunlardan birincisi, hemen hemen her programlama dili için desteğinin bulunması diğeri ise, hemen hemen tüm işletim sistemleri için desteğinin bulunmasıdır. Son zamanlarda Message Queue alanında cloud uygulamaları da yaygınlaşsa da halen en çok tercih edilen yöntem local sunucuların kurulmasıdır.
Bu makalemizin konusu RabbitMQ Server kurulumu yapılırken işletim sistemi seçimidir. Aynı zamanda sunucu seçimi yapılırken de projeye uygun işletim sisteminin seçiminin önemi ve bu konudaki ipuçları anlatılacaktır. Bunlarla beraber RabbitMQ sunucusunun hangi durumlarda ayrı bir sunucuda konumlandırılması üzerine de ufak tüyolar vermeye çalışacağım.
Makalenin anlaşılması açısından konuyu hiç hakim değilseniz Message Queue Mantığı ve RabbitMQ Nedir? makalelerine de göz atmanızı tavsiye ederim. Ama konuyu zaten biliyorsanız ve merak ettiğiniz asıl konuı RabbitMq Server kurulumu için işletim sistemi seçimi ise o zaman konumuza yavaş yavaş başlaya biliriz...

29 Ekim 2016 Cumartesi

Mustafa Kemal Atatürk ve "19 Rakamı"

Mustafa Kemal Atatürk
Mustafa Kemal Atatürk
Çoğumuz yaşanan olayların, yaşamların tesadüfler zincirinden ibaret olduğunu düşünürüz. Çoğumuzun düşünce ve din görüşüne göre ise yaşanan olaylar bir ilahi gücün kontrolündedir. Bu görüşlerden hangisini benimsediğiniz size kalmış. Aslında gerçekleşen olaylar arasında bağ kuramamak bütünü görememek olayları tesadüfler zinciri olarak algılamamıza neden olur ve bu yüzdendir ki çoğu olayları tesadüf diye algılarız. Belki de uzun yılar geçtikten sonra dönüp bir olayın tamamına baktığımızda bazı gerçeklerle yüzleşiriz ki bu makalemi de bu konulardan birine ayırmak istiyorum.
Bu makaledeki amacım Mustafa Kemal Atatürk ve hayatındaki sırlarla 19 rakamı arasındaki bağı ortaya çıkarmaktır. Mustafa Kemal Atatürk 19 mayis 1881 yılında Selanik'te doğmuştu. Sadece bu olay üzerinden bakarsak belki dünyada Atatürk gibi doğan binlerce kişi vardır. Yani 19 mayis ve ya yılın diğer aylarının 19'unda doğmuş olan binlerce insan olabilir değil mi?Ama yine de ilginç bir tesadüf değil mi? 19 yüzyılın bitmesine 19 yıl kala ayın 19'da doğmuş olmak.Yani bu doğuma tamamen tesadüf de diye bilirsiniz. Belki bu tarihte doğan diğer insanları da araştırmak lazım ama konumuz Mustafa Kemal Atatürk ve 19 rakamı...
Milli Mücadelenin 1919 yılında başlamış olması ilginç değil mi . İki 19 un yan yan geldiği bir yılda. Hatta 19 yüzyıldan 19 yıl geçmişken. Bu tarihlerle ilgili o kadar çok şey söylenebilir ki...
Mustafa Kemal Atatürk 19 Mayıs 1919'da Refet Bey (Bele), Kâzım Bey (Dirik), 'Ayıcı' Mehmet Arif Bey, Hüsrev Bey (Gerede)lerle beraber Samsun'a çıktı. Yine ilginç bir tesadüf değil mi 19 mayısta doğum gününde Milli Mücadelenin dönüm noktasının gerçekleşmesi. Üstelik burada da 3 19 yan yana gelmiş. 1919 19 mayis....

RabbitMQ Nedir?

Message Queue uygulamalarından bir olan RabbitMQ son zamanlarda yazılımcılar tarafından en çok tercih edilen uygulamalardan bir haline gelmiştir. Bu makaleyi okumadan önce *MQ (Message Queue) Mantığı makalesini okumanızı tavsiye ederim. Ön bilgi niteliğindeki bu makaleyi anlamak burada anlatacaklarımı daha iyi anlamanız için çok önemlidir. Bu makalemi de Message Queue mantığını iyi anladığınızı varsayarak yazıyorum.
Rabbit MQ Nedir?
Makalemizin içeriğinde RabbitMQ'nün ne olduğu, çalışma mantığı, RabbirMQ Server uygulaması, aynı zamanda RabbitMQ client kütüphanaleri ile ilgili bilgi verilecek ve makalenin sonunda örnek uygulama üzerinden konu pekiştirilecektir.
Öncelikle bilmeniz gereken en önemli konulardan bir tanesi RabbitMQ Client - Server mimarisi ile tasarlanmıştır. Önemli olan nokta publisher, Server ve consumer hepsi ayrı ayrı makinelerde olabilir. Ayrıca publisher ve consumer sayıları için herhangi bir kısıtlama yoktur. Bunu daha açıklayıcı şekilde açıklayacak olursak ortada bir queue sunucumuz var. Yani queue'larımız bu sunucu üzerinde tutulur ki buna da RabitMQ Server uygulaması denir. Publisher bu sunucuya bağlanarak mesajı gönderir. Ve publisher sayısı için de bir kısıtlama yoktur. Aslında kısıtlama size bağlıdır. Varsayılan ayar olarak belirli kısıtlamalar vardır tabi ki ama mimari olarak kısıtlamak size kalmış durumda. Yani istenilen sayıda kişinin RabbitMQ sunucusuna bağlanarak kuyruklara mesaj yazması mümkün. Bu aynı zamanda consumer için de geçerli. Yani kuyruktan mesajları alıp okuyan veya işleyenler için. Consumer uygulaması için de herhangi bir kısıtlama yoktur. Yukarıda bahsettiğimi RabitMQ server ayarlamaları dışında. Ama dediğim gibi bunu da sınırsız yapmak size kalmış.

28 Ekim 2016 Cuma

Blogger- Makaleye HTML Kod Bloğu Ekleme

Blogger HTML Kod Bloğu Ekleme
Blogger'da makale yazarken en çok sıkıntı oluşturan noktalardan bir tanesi blog makalesi için html kodlarını bloğa eklerken oluşur. Bunun nedeni ise blogger makale yazma aracının arkasında da html engine olmasıdır. Bu engine siz makaleyi normal yazı olarak yazsanız bile bu makaleyi html kodlarına çevirir. HTML taglardan oluştuğu için de blogger makale yazma aracı sizin makalenizdeki html kodlarını ayırt edemez ve kodlar içinde işleyerek sadece verileri gösterir. Bu makaleyi okuyorsanız düşünüyorum ki sizin de sıkıntınız tam olarak bu olsa gerek. Bu kısa makalemde size bu sorunu çözmek için bir araç sunacağım. Bunun dışında ise araç kullanmadan kendinizin de mantığını anlayıp basitçe bloğunuza HTML kod satırlarını nasıl ekleyeceğini göstereceğim. Aslında linkini vereceğim araç ile işlemlerinizi kolayca halledebilirsiniz. Ama düşünüyorum ki eğer bloğunuza HTML kodu eklemek istiyorsanız o zaman en azından HTML konusunda biraz bilgilisinizdir. Bu yüzden bu işlem için kullanılan tagı ve kullanımını da anlatmam sizin işinizi daha da kolaylaştıracaktır.
Anlatmaya bir aracı size sunarak başlayacağım. Bu araca FORMAT MY SOURCE CODE FOR BLOGGING bloğundan erişebilirsiniz. Bu aracı kullanmak oldukça basittir ve gerçekten çok kullanışlı. Üst kısma kodlarınızı ekliyorsunuz ve Format Text butonuna tıkladığınızda aşağı kısımdaki metin alanına bloggera eklenecek kod oluşturuyor.

24 Ekim 2016 Pazartesi

"web.config" Dizaynı İçin BEST PRACTICES

Web.config file
Bu makalenin yazılma amacı web uygulamalarınızda korunması gereken, aynı zamanda kolayca değiştirmeniz gereken durumlarda kolayca müdahale edebileceğiniz verilerin nereye yazılacağı konusunda Best Practicelerle sizi tanıştırmaktır. Öncelikle belirtmem gerekiyor ki bu makaleyi yazarken "Best practices for deploying passwords and other sensitive data to ASP.NET and Azure App Service" makalesinden çok yararlandım. İngilizceniz çok kötü değilse bu makaleye de bir göz atmanızı tavsiye ederim. Zira ben bu makalede okuduklarımı ve iş tecrübemi de katarak bu yazıyı yazıyorum. Burada makaleyi Asp.net bazından anlatıyorum. Ama kullandığınız programlama dilinden bağımsız bir makale olduğunu söylemek zorundayım. Çünkü bu makale daha çok doğru stratejiler üzerine kurulmuştur. Umarım burada okuduklarınız iş hayatınızda size çok yardımcı olacaktır...

23 Ekim 2016 Pazar

*MQ (Message Queue) Mantığı

Message Queue Mantığı
Message Queue
Programlama ile ilgilenmiş çoğu kişinin karşılaştığı ve belki de önemsemeden geçtiği konulardan bir tanesi olan MQ yani Message Queue konusudur. Aslında MQ sözünü yada Message Queue sözünü muhtemelen bu haliyle duymamışsınızdır. Genelde bu mantığın uygulandığı MSMQ, ZeroMQ, IronMQ, WebsphereMQ, RabbitMQ hatta cloud message queue olarak Azure tarafından geliştirilen Azure Queues bu alanda ortaya çıka ürünler olduğu için ismini duyma ihtimaliniz çok daha fazla...
Bu uygulamaların hepsinin ortak yönü message queue hatta biraz daha açacak olursak asenkron iletişimi desteklemesidir.
Konunun anlaşılması için asenkron iletişimin de anlaşılmasının çok önemli olduğunu düşündüğüm için konuyu anlatmaya buradan başlayacağım. Devamında ise yukarıda sıraladığım uygulamalardan biri olan RabbitMQ üzerinden Message Queue mantığını anlatmaya çalışacağım. Konuyu RabbitMQ ile anlatmak istememin en önemli nedenlerinden bir tanesi platform bağımsız olması ve hemen hemen tüm programlama dillerini desteklemesidir.

9 Ekim 2016 Pazar

Kalıtımı Engellemek - SEALED Anahtar Sözcüğü

C# Logo
Programlama nesne yönelimli programlamayla yani Object Oriented mantığıyla sanata dönüşür. Nesne yönelimli programlamanın temel konularından bir tanesi de inheritance yani kalıtımdır. Kalıtımı kullanmak yada kullanmamak tamamen sizin program tasarımınıza kalmış. Ama bazı durumlarda yazdığınız sınıfın kalıtımını engellemek veya bir fonksiyon, property'nin(özelliğin) override edilmesini engellemek isteyebilirsiniz. İşte bu işlemleri C# programlama dilinde yapmanın yolu sealed anahtar kelimesini kullanmaktır. Bu makelemin de temel amacı C# programlama dilinde sealed anahtar sözcüğünü tanıtmak, kullanım alanlarını ve kullanım mantığını açıklamaktır.
Konuyu geçmeden önce belirtmem gerekiyor ki bu konuyu anlayabilmek için nesne yönelimli programlama mantığını ve kalıtım konusunu çok iyi anlamanız gerekir. Burada anlatılan konular C# programlama dili kullanılarak örneklense de kullandığınız programlama dilinde büyük ihtimal sadece kullanılan sözcükler değişecektir. Yani önemli olan konu burada mantığı anlamak olmalıdır.

Visual Studio Web Projelerinde Türkçe Karakter Sorunu Çözümü

Advanced Save Option, Visual Studio, Türkçe Karaker Sorunu, SeçimVisual Studio ile web projesi yapıyorsanız karşılaşabileceğiniz sorunlardan bir tanesi Türkçe karakterleri görüntüleme sıkıntısı olabilir. Bu sorunu çözmek için yapacağınız işlem çok basittir. File menüsünden  “Advanced Save Option” Encoding seçeneğini Unicode(UTF-8 with signature)-Codepage 65001 seçmeniz, Line endings seçeneğinini de Current Setting olarak bırakmanız yeterli olacaktır. Bundan sonra projeyi kaydederseniz projenizde Türkçe karakter sorunu giderilmiş olur. 
Advanced Save Option, Visual Studio, Türkçe Karaker Sorunu,Unicode
Aynı zamanda projenizi çok dilli de geliştiriyorsanız yine bu seçeneği seçmelisiniz. Eğer özel bir dilde geliştiriyorsanız buna uygun diğer dil seçeneklerine bakabilirsiniz. Ama sorunla sürekli karşılaşmamak için Unicode(UTF-8 with signature)-Codepage 65001 seçmenizi tavsiye ederim.

Popüler Yayınlar