29 Şubat 2012 Çarşamba

HTML5 Canvas Örneği - Canvas Paint

Verdiğim HTML5 eğitiminde Canvas konusunu incelerken ufak çaplı bir paint uygulaması yaptık canvas üzerinde. Ders anlatımı burada paylaşmak için uzun geldi, ancak örneği incelemek isteyen olursa:

  1. html5reset-1.6.1.css dosyasını indirip,
  2. jquery-1.7.1.min.js dosyasını indirip,
  3. Son olarak benim yazdığım kodu  https://gist.github.com/1936942 adresindeki gist'ten alıp bir .html dosyasına yapıştırıp,
  4. hepsini bir klasörün içinde toplayıp
  5. Chrome tarayıcısında açarsa, canvas ile yapılmış paint uygulamasını görmüş olur.
Not: Chrome için çalışan demoyu şurada görebilirsiniz.

Derste sadece chrome için fare olaylarını yönettik, diğer tarayıcılara uyumlu olsun diye uğraşmadık, o da olmadı zaten :)
-- Düzenleme: derste yazdığım kodu buraya taşıyorum:

15 Şubat 2012 Çarşamba

SQL Server'dan MySQL'e Bağlanmak

Ben de mümkün olacağını zannetmezdim, ama iş başa düşünce küçük bir google araştırması sonucu mümkün olduğunu gördüm. Taylor Gerring isimli şahsiyetin yazısını özetliyorum.

SQL Server'dan MySQL (ve diğer RDBMS'lere) bağlanabilmemizde ODBC ve Linked Servers görev alıyor. Bu yüzden, MySQL'in ODBC sürücüsüne ihtiyacımız var, dolayısıyla Connector/ODBC'yi indirip SQL Server'ın kurulu olduğu bilgisayara kuruyoruz. Yine bu bilgisayar üzerinde MySQL bağlantımızı kolaylaştıracak bir DSN tanımlıyoruz. Bunun için Denetim Masası'ndan "Sistem ve Güvenlik" altında "Yönetim Araçları" bölümünde "Veri Kaynakları (ODBC)" bölümüne giriyoruz. Ya da daha kısayoldan Başlat menüsünde Çalıştır'a girip "odbcad32" yazmamız da yeterli. Burada Kullanıcı DSN bölümünde Ekle butonuna basarak yeni bir ODBC kaynağı oluşturmaya başlıyoruz.

İlk adımda bize ne tür bir driver kullanacağımız soruluyor. Burada daha önce yüklediğimiz MySQL ODBC Driver'ı bulup seçiyoruz. Tamamladıktan sonra ayarlama (configuration) ekranına geçiyoruz.

MySQL ODBC Ayarları

Burada "Data Source Name" (kısaca isim) ve "Description" (açıklama) alanları kendi keyfimize göre doldurabileceğimiz alanlar, yani daha sonra baktığımızda ne yaptığımızı kendimize hatırlatacak bir şeyler yazabiliriz. Alttaki bölümlerde ise MySQL bağlantısı için kullanılan değerleri girdiğimiz yerler var. MySQL'in öntanımlı portu 3306 otomatik geliyor yukarıdaki resimde gördüğünüz gibi.

Burada da işimiz bittikten (ve Test butonuna basıp bağlantı bilgilerimizi başarıyla sınadıktan) sonra artık SQL Server Manager'a geçip MySQL bağlantısını orada kaydedebiliriz. SQL Manager'da pata-küte "New Linked Server" demeden önce Providers altında bulunan MSDASQL öğesine bir ayar çekebiliriz.


Object Explorer
Buradaki ayarlara baktığımızda ODBC ile yaptığımız bağlantılarda ne gibi özelliklerin kullanılacağına karar verebildiğimizi görüyoruz. Örneğin bu bağlantı üzerinde "LIKE" sorgusu çekilip çekilemeyeceğini işaretleyebiliyoruz. Sanırım performansı büyük oranda etkileyebilecek ya da güvenlik sorunu oluşturabilecek bu tip sorguların bir ayar yeri olarak düşünülmüş. Burada işimiz bittikten sonra "Linked Servers"a sağ tıklayıp "New Linked Server..." diyerek bağlantıyı kuruyoruz, daha doğrusu bağlantı kurma ekranına geliyoruz.




New Linked Server...
İlk satırda verdiğimiz ad önemli, ileride sorgu oluştururken bu adı kullanacağız, o yüzden yazmaktan erinmeyeceğiniz kısa bir ad olsun, hele içinde benim yaptığım gibi boşluk karakteri kullanmayın derim. Product name ve Data source satırlarına da daha önce DSN tanımlarken verdiğiniz ismi aynen verin. Bu arada Provider bölümünü "Microsoft OLE DB Provider for ODBC Drivers" olarak seçmeyi unutmayın.



Artık sorgularınızda MySQL tablolarınızı kullanmaya başlayabilirsiniz. Sorgu kullanırken iki yöntemimiz var. Birincisi Openquery yöntemi (Diyelim ki Linked Server adı olarak "MysqlLinked" seçtiniz):


SELECT * FROM OPENQUERY(MysqlLinked, 'SELECT * FROM mysqlTablosu');

İkinci yöntem ise daha doğrudan bir yöntem, bu yöntemle MySQL tablolarınızı doğrudan bir SQL Server tablosuymuşçasına JOIN içine alma şansımız var:

SELECT * FROM MysqlLinked...mysqlTablosu';

Herkese kolay gelsin.