Eğitim Teknolojileri Uzmanı, Eğitim Danışmanı, BTK Akademi Eğitmeni, Microsoft Açık Akademi, Vakademi Eğitmeni, Udemy Eğitmeni, Abaküs Kitap Yazarı, Python, C#, SQL Server, ADO.NET EF, WinForms, ASP.NET, Visual Studio, Amiga, Commodore 64
Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
14 Haziran 2017 Çarşamba
11 Kasım 2011 Cuma
C# ile İşlemci bilgilerini elde etmek (CPU Seri No)
Bu örnekte sadece birkaç özellik kullanıldı, örneği inceleyerek diğer özellikleri de elde edebilirsiniz.
Örneği kullanabilmek için System.Management.dll kütüphanesini ve System.Management isim alanını kullanmalısınız.
public Hashtable GetCPUInfo()
{
Hashtable bilgiler = new Hashtable(); //bilgileri tutacak olan hashtable
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (bilgiler.Count == 0) //sadece ilk işlemciye ait bilgileri almak istiyoruz
{
bilgiler.Add("ID",mo.Properties["ProcessorId"].Value.ToString());
bilgiler.Add("DeviceID",mo.Properties["DeviceID"].Value.ToString());
bilgiler.Add("Socket", mo.Properties["SocketDesignation"].Value.ToString());
bilgiler.Add("Manufacturer", mo.Properties["Manufacturer"].Value.ToString());
}
mo.Dispose();
}
return bilgiler;
}
public string GetCPUSeriNo()
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
//sadece ilk işlemciye ait bilgileri almak istiyoruz
return mo.Properties["ProcessorId"].Value.ToString();
mo.Dispose();
}
}
TextBox temizlerken kullandığım genel yöntem
Kod örneğini aşağıda bulabilirsiniz.
public void Temizle(ControlCollection controls)
{
foreach (Control c in controls)
{
if (c is TextBox)
((TextBox)c).Text = String.Empty;
Temizle(c.Controls);
}
}
20 Temmuz 2011 Çarşamba
MySQL Connector / Net 6.4.3 - Download
MySQL Connector / .NET, uygulama geliştiricilere MySQL üzerinde kolayca .NET uygulamaları geliştirme imkanı sağlar. Bu iş için ADO.NET altyapısı kullanılır.
Kurulum, Visual Studio Entegrasyonu, destek ve sıkça sorulan soruları barındıran dokümanlar için bu linki takip edebilirsiniz. Ayrıca .NET üzerinde C#, VB.NET ve PowerShell kullanarak MySQL uygulamaları geliştirmek için buradaki bilgilerden de faydalanabilirsiniz.
MySQL Connector/Net 6.4.3 (DOWNLOAD)
Labels:
.NET,
ADO.NET,
C#,
Database,
Download,
MySql,
MySQL Connector,
PowerShell,
Programlama,
Source Code,
VB.NET,
Visual Studio

18 Eylül 2010 Cumartesi
Java Dersleri - JDK Download
Java SE Development Kit 6u21 (JDK) bu link üzerinden indirilebilir.
Ayrıca JRE'i de indirmek isterseniz, (Java SE Runtime Environment 6u21) bu linki kullanabilirsiniz.
Java Dersleri - DrJava - Sistem Gereksinimleri ve Kurulum
DrJava'nın çalışması için Java 2 v1.4 veya daha yeni sürüm bir virtual machine gerekiyor. Ayrıca derleme yapabilmek için de makinanızda JDK (JRE değil) kurulu olmalı.
Windows platformu için ilgili dosyayı indirip, istediğiniz bir klasöre kopyaladıktan sonra .exe dosyasını çift tıklayıp çalıştırabilirsiniz herhangi bir kurulum gerekmiyor. Uygulamayı ilk kez çalıştırdığınızda dosya tipleri ile ilişkilendirme yapmak isteyip istemediğiniz sorulacak. Bu noktada evet diyerek .java dosyalarının bundan sonra DrJava ile birlikte açılmasını sağlayabilirsiniz.
Uygulamayı çalıştırma esnasında hatalar alıyorsanız ya da aklınızda farklı sorular var ise, uygulamanin resmi sitesinde yer alan ve aşağıda linkini verdiğim, sıkça sorulan sorular bölümüne bakabilirsiniz.
http://drjava.sourceforge.net/faq.shtml
Ayrıca aşağıdaki konuları kapsayan 3 videoyu bu linkten izleyebilirsiniz.
JDK kurulumu,
DrJava kurulumu ve özelleştirilmesi,
ve DrJava kullanımı hakkında bilgiler
Labels:
DrJava,
IDE,
Java,
Programlama

Java Dersleri - DrJava (Ücretsiz IDE) Download
DrJava, Java uygulamaları kodlamak için üretilmiş olan ve yeni başlayanlar için anlaşılması ve de kullanılması kolay olan bir uygulama geliştirme ortamıdır. Üretilmesinin ana amaçlarından birisi öğrencilerin Java ile programlamayı anlamasını kolaylaştırmaktır. Programcıların sezgisel bir şekilde kullanabilecekleri, oldukça kullanıcı dostu bir arayüz sunar.
Şu anda mevcut olan son kararlı sürüm drjava-stable-20100913-r5387 , aşağıdaki linkte verdiğim sayfadan indirilebilir. Bu sürüm hem Java5 hem de Java6'yı destekliyor. Aynı sayfa üzerinde DrJava'nın kaynak kodları ve Eclipse için geliştirilen plug-in de bulunabilir.
Labels:
Download,
DrJava,
Eclipse,
IDE,
Java,
Open Source,
Plug-in,
Programlama,
Source Code

12 Eylül 2010 Pazar
.NET içerisindeki 5 Temel Tip ve Değer, Referans farkı
.NET 'in 5 temel tipi vardır.
Bunlar Enum , Struct , Interface , Class ve Delegate tipleridir.
Adı geçen tiplerden Enum ve Struct değer türlü olup , diğer 3 tip referans türlüdür.
Değer türlüler belleğin stack bölümünde yer alırken, referans türlüler ise heap bölümünde yer alırlar.
Değer türlüler, datalarını kendi üstlerinde taşırken, referans türlüler veriyi heap bölgesinde tutar ve stack veya heap üzerindeki bir referans (pointer'a benzetebiliriz) ile veriyi işaret ederler. Bu işaretçi işletim sistemine bağlı olarak bellekte 32-bit (4 byte) veya 64-bit (8 byte) yer kaplar.
İki değer türlü arasında atama yapıldığında, verinin yeni bir kopyası çıkartılır ve bir değişken üzerinde yapılan değişiklik diğerini kesinlikle etkilemez. Referans türlüler arasında yapılan atamalarda ise referansın bir kopyası çıkartılır ve iki referans da aynı adresteki datayı işaret ederler. Bu durumda hangi referans üzerinden işlem yapılırsa yapılsın, ortamdaki data tektir ve direkt olarak bir değişken üzerinden yapılan değişiklik , diğeri üzerinden gözlemlenebilir.
Bunlar Enum , Struct , Interface , Class ve Delegate tipleridir.
Adı geçen tiplerden Enum ve Struct değer türlü olup , diğer 3 tip referans türlüdür.
Değer türlüler belleğin stack bölümünde yer alırken, referans türlüler ise heap bölümünde yer alırlar.
Değer türlüler, datalarını kendi üstlerinde taşırken, referans türlüler veriyi heap bölgesinde tutar ve stack veya heap üzerindeki bir referans (pointer'a benzetebiliriz) ile veriyi işaret ederler. Bu işaretçi işletim sistemine bağlı olarak bellekte 32-bit (4 byte) veya 64-bit (8 byte) yer kaplar.
İki değer türlü arasında atama yapıldığında, verinin yeni bir kopyası çıkartılır ve bir değişken üzerinde yapılan değişiklik diğerini kesinlikle etkilemez. Referans türlüler arasında yapılan atamalarda ise referansın bir kopyası çıkartılır ve iki referans da aynı adresteki datayı işaret ederler. Bu durumda hangi referans üzerinden işlem yapılırsa yapılsın, ortamdaki data tektir ve direkt olarak bir değişken üzerinden yapılan değişiklik , diğeri üzerinden gözlemlenebilir.
Labels:
.NET,
Programlama,
Programming

7 Ağustos 2010 Cumartesi
The Eight Fallacies of Distributed Computing
Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences.
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
Source
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
Source
Labels:
Programlama,
Programming

5 Temmuz 2010 Pazartesi
Every line is a child of mine
EVERY LINE IS A CHILD OF MINE
- WHY HAVE YOU COMMENTED OUT THESE LINES OF CODE?
- I DON'T HAVE THE HEART TO KILL THEM
Labels:
Karikatür,
Programlama

17 Haziran 2010 Perşembe
4 Haziran 2010 Cuma
CDRom'un kapağını açıp kapatan minik bir kod parçası
Bu özellikleri kendi uygulamanızda kullanmak için, winmm.dll dosyasından faydalanarak yazılmış olan aşağıdaki sınıfı projenize dahil edip, static methodlara çağrı yapmanız yeterli.
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace CDRomDriver_Manager
{
public class CDRomDriveManager
{
[DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi)]
protected static extern int mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback);
public static int OpenTray()
{
int result = mciSendString("set cdaudio door open", null, 0, IntPtr.Zero);
return result;
}
public static int CloseTray()
{
int result = mciSendString("set cdaudio door closed", null, 0, IntPtr.Zero);
return result;
}
}
}
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace CDRomDriver_Manager
{
public class CDRomDriveManager
{
[DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi)]
protected static extern int mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback);
public static int OpenTray()
{
int result = mciSendString("set cdaudio door open", null, 0, IntPtr.Zero);
return result;
}
public static int CloseTray()
{
int result = mciSendString("set cdaudio door closed", null, 0, IntPtr.Zero);
return result;
}
}
}
Labels:
C#,
Programlama,
Source Code

Lego Printer - Hello World
Apple Mac bilgisayara bağlı LEGO Printer
Legolardan yapılmış bir printerdan basılan "Hello World" videosu :)
Legolardan yapılmış bir printerdan basılan "Hello World" videosu :)
Labels:
Hardware,
Hello World,
Lego,
Lego Printer,
Printer,
Programlama

13 Mayıs 2010 Perşembe
DevExpress'ten 60 adet ücretsiz Control
DevExpress tarafından WinForms, ASP.NET ve Silverlight için geliştirilmiş çok sayıda control ücretsiz olarak download'a sunuldu.
Ücretsiz içeriğe ulaşabilmeniz için DevExpress sitesinde minik bir üyelik işlemi tamamlamanız gerekiyor. Üyelik sonrasında download ve kurulum detayları mailinize gelecek.
İşlemler için aşağıdaki linki kullanabilirsiniz.
http://www.devexpress.com/Products/Free/WebRegistration60/
Ücretsiz içeriğe ulaşabilmeniz için DevExpress sitesinde minik bir üyelik işlemi tamamlamanız gerekiyor. Üyelik sonrasında download ve kurulum detayları mailinize gelecek.
İşlemler için aşağıdaki linki kullanabilirsiniz.
http://www.devexpress.com/Products/Free/WebRegistration60/
Labels:
Download,
Programlama

22 Nisan 2010 Perşembe
Marble adding machine Video
Bu cihaz ve benzerleri ile ilgili bilgileri aşağıdaki siteden edinebilirsiniz.
http://woodgears.ca/marbleadd/
Labels:
Ercan,
Programlama

22 Şubat 2010 Pazartesi
Visual Studio 2010 , 12 Nisan 2010'da bizlerle olacak
Rob Caron'ın verdiği habere göre Visual Studio 2010 ve .NET Framework 4 çok yakında bizlerle olacak. 12 Nisan için yakın demek doğru mu emin değilim fakat uzak olmadığı kesin. Haber ile ilgili diğer detaylar için bu linki takip edebilirsiniz.
9 Şubat 2010 Salı
Microsoft Visual Studio 2010 Ultimate Release Candidate (x86) DVD Download
Visual Studio 2010 nihai sürün adayını indirip denemek için aşağıdaki linki takip edebilirsiniz.
http://arkdownload.blogspot.com/2010/02/microsoft-visual-studio-2010-ultimate.html
http://arkdownload.blogspot.com/2010/02/microsoft-visual-studio-2010-ultimate.html
Labels:
.NET,
C#,
C# 4.0,
Download,
Programlama,
VB.NET,
Visual Basic 10,
Visual Studio 2010

13 Kasım 2009 Cuma
using ifadesini kullanarak bir namespace ya da tip için alias oluşturmak
Projeniz dahilinde kullanmak istediğiniz iki ayrı .dll var ve bu iki .dll içerisindeki sınıfları kolayca kullanabilmek için de ilgili namespace'leri kod sayfanıza eklediniz. Buraya kadar herşey güzel fakat aynı isimde iki sınıf olduğundan dolayı, Visual Studio, sınıf adından yola çıkarak hangisini kullanacağını bilemiyor. Çözümü basit, tipin fullname'ini kullanmak fakat her seferinde bu şekilde yazmak biraz zorlayıcı olacaktır. Daha kolay bir çözüm olarak using ifadesini kullanarak tiplere birer takma ad verebiliriz. Takma ad tiplere verilebileceği gibi isimalanlarına (namespace) da verilebilir. Kullanım şekli aşağıdaki gibidir.
using TakmaAd = NameSpace1.Class1;
TakmaAd degisken = new TakmaAd();
Aşağıdaki linkte de konu ile ilgili birşeyler bulabilirsiniz.
http://msdn.microsoft.com/en-us/library/sf0df423(VS.80).aspx
using TakmaAd = NameSpace1.Class1;
TakmaAd degisken = new TakmaAd();
Aşağıdaki linkte de konu ile ilgili birşeyler bulabilirsiniz.
http://msdn.microsoft.com/en-us/library/sf0df423(VS.80).aspx
Labels:
C#,
Programlama

28 Eylül 2009 Pazartesi
.NET ile MD5 Kullanarak Şifreleme İşlemi
String bir ifadenin MD5 ile şifrelenmesini ele alacağımız bir örneğimiz olacak. Bu işlemleri yaparken, System.Text ve System.Security.Cryptography namespace'i altındaki üyelerden faydalanacağız. Kullanacağımız sınıflar UTF8Encoding ve MD5CryptoServiceProvider olacak.
MD5, geri dönüşü olmayan algoritmalardan biri olan Hash Algoritması'nı kullanır. Hash Algoritması ile şifreleme yapacak olan method MD5CryptoServiceProvider sınıfı içerisindeki ComputeHash isimli methoddur. Bu method çalışmak için parametre olarak Stream ya da byte[] ister.
Bizim amacımız string bir değeri şifrelemek olduğu için, öncelikle elimizdeki string ifadeyi bir Stream ya da byte[] haline çevirmeliyiz. Ben byte[] kullanmayı tercih ediyorum. Bu işi gerçekleştirmek için UTF8Encoding sınıfının GetBytes isimli methodunu kullanacağız. Örnek kullanım aşağıda yer alıyor.
string deger = "www.ercanbozkurt.com"; //şifrelemek istediğimiz değer
UTF8Encoding encoder = new UTF8Encoding(); //GetBytes methodunu kullanabilmek için UTF8Encoding sınıfından bir nesne örneği alıyoruz.
byte[] sayisalDeger = encoder.GetBytes(deger); //Değeri GetBytes methoduna parametre olarak geçip sonucu byte[] tipinden bir değişkene alıyoruz.
String tipindeki değerimizi, byte[] olarak elde ettikten sonra sıra geldi şifreleme aşamasına. Örnek kullanım hemen alttaki satırda yer alıyor.
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); //MD5CryptoServiceProvider sınıfından bir nesne örneği alıyoruz.
byte[] sifreliDeger = md5.ComputeHash(sayisalDeger); //ComputeHash methodunu kullanarak sayısal değeri şifreliyoruz.
Şifreli değer elde edildikten sonra SQL, Access ya da istediğimiz başka bir ortamda saklanabilir.
MD5, geri dönüşü olmayan algoritmalardan biri olan Hash Algoritması'nı kullanır. Hash Algoritması ile şifreleme yapacak olan method MD5CryptoServiceProvider sınıfı içerisindeki ComputeHash isimli methoddur. Bu method çalışmak için parametre olarak Stream ya da byte[] ister.
Bizim amacımız string bir değeri şifrelemek olduğu için, öncelikle elimizdeki string ifadeyi bir Stream ya da byte[] haline çevirmeliyiz. Ben byte[] kullanmayı tercih ediyorum. Bu işi gerçekleştirmek için UTF8Encoding sınıfının GetBytes isimli methodunu kullanacağız. Örnek kullanım aşağıda yer alıyor.
string deger = "www.ercanbozkurt.com"; //şifrelemek istediğimiz değer
UTF8Encoding encoder = new UTF8Encoding(); //GetBytes methodunu kullanabilmek için UTF8Encoding sınıfından bir nesne örneği alıyoruz.
byte[] sayisalDeger = encoder.GetBytes(deger); //Değeri GetBytes methoduna parametre olarak geçip sonucu byte[] tipinden bir değişkene alıyoruz.
String tipindeki değerimizi, byte[] olarak elde ettikten sonra sıra geldi şifreleme aşamasına. Örnek kullanım hemen alttaki satırda yer alıyor.
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); //MD5CryptoServiceProvider sınıfından bir nesne örneği alıyoruz.
byte[] sifreliDeger = md5.ComputeHash(sayisalDeger); //ComputeHash methodunu kullanarak sayısal değeri şifreliyoruz.
Şifreli değer elde edildikten sonra SQL, Access ya da istediğimiz başka bir ortamda saklanabilir.
Kaydol:
Kayıtlar (Atom)