Sıkıntıdan gezinirken (bu genelde MS Windows başlatStart menüsünde olur); Microsoft Visual Studio 2010 SDK SP1 -> Tool altında Start Experimental Instance of Microsoft Visual Studio 2010 SP1 adında bir kısayol olduğunu farkettim.
Şu şekilde de çalıştırabilirsiniz:
Nedir bunun hikayesi diye azıcık araştırdım.
Amaç Visual Studio için bir nevi test ortamı oluşturmakmış. Örneğin bir Extension'ı denemek istiyorsunu ama çok önemli de bir proje üzerinde de çalışıyoruz ve Extension' dan doğacak bir probleminde Visual Studio'ya yansımasını istemiyoruz. Bu durumda deneyselExperimental olan verisyonu açıyoruz (devenv /RootSuffiz Exp), Extension'ı kuruyoruz ve test ediyoruz. Beğenmedik kaldırıyoruz.. Bu işlem standart olarak kullandığımız Visual Studio'yu (devenv) etkilemiyor. Başka bir deyişle Geliştirme ArayüzüIDE ile ilgli herşeyi (options, toolbox ,extension vb) soyutlanmış oluyor.
Not: Şu adresten Visual Studio 2010 SP1 SDK yüklemeniz gerekiyor.
Geçenlerde bir uygulama için Captcha örneği hazırlıyoruz. Test aşamasında iken güvenilirliğini nasıl test edebiliriz diye düşündüm. Akabinde aklıma MS OneNote uygulaması geldi. Ms Outlook'tan sonra en sık kullandığım ikinci MS Office uygulamasıdır. Uygulamanın özellikleri saymakla bitmez ama bizi ilgilendiren ise bir çeşit OCR özelliği barındırmasıdır. Bu özellik sayesinde resimlerin içindeki metinleri ayrıştırabiliryorsunuz.
Resime sağ tıkla ve metni ayrıştır.
Basit bir örnek ile başlayalım.
Arial 14 gri üzerine siyah metin. Sonuç -> 5TSRB5
İki çizgi atalım Sonuç - > KW4
Arka planı HatchBrush ile değiştirelim Sonuç -> String.Empty :)
Not: Bu test 100% güvenilir değildir. Daha iyi algoritmalar ile ayrıştırma daha başarılı olabilir.
Örnek proje.
Visual Studio 2008 arayüzü ile JavaScript kodlaması yaparken kod tamamlamalarındaIntellisense boşlukspace tuşuna alışık bir yazılımcıysanız Visual Studio 2010 sinirlerinizi çok bozabilir. Sadece Enter ve Tab tuşlarını dikkate alıyor.
Çözüm; Tools -> Options -> Text Editor -> JScript -> Miscellaneous altında Only use Tab or Enter to commit seçeneğini kaldırmanız yeterli olacaktır.
Herhangi bir text (cs,sql gibi) ortamında çalışırken Ctrl+U klavye kısayolunu ile seçili tüm karakterleri küçük harfe çevirebilirsiniz.
Güncelleme: Ctrl + Sfth + U ile de büyük harfe çevirebilirsiniz.
Nihayet Visual Studio 2010 RC sürümüne ulaştı. Artık kullanma zamanı gelmiştir benim için. Bundan sonra sitemde yayınlayacağım projeler bu versiyonda olacak.
Geçen hafta 1. bölümü biten site yayınlama konusunun devamı.
Bu bölümde, uygulama için tasarlanmış veritabanıdatabasenı uzak sunucuya nasıl aktarılacağına bakacağız. Burada ki söz konusu veritabanı MS Sql Server 2000 yada daha yeni bir sürüm olacak.
Tabiki de bu işlemleri yaparken hizmeti aldığımız hosting firmasının bize sunduğu imkanlar çok önemli. Biz olayı, bakup-restore imkanı vermeyen hosting firmalar için ele alacağız.
Hosting firması, bir arayüz ile backup/restore hizmeti vermiyor yada uyumsuzluklardan dolayı işlemi gerçekleştiremiyorsanız yapmanız gereken; Önce veritabanının DDLCreate scriptini oluştumanız daha sonra bunu çalıştırmalısınız. İskeleti oluşturduktan sonra DMLInsert scriptlerini (ki bu çok zahmetli bir işlemdir) oluşturup yine sunucuda çalıştırmanız gerekmektedir. Klasik MS Sql Server Management Studio sadece DDL scriptleri oluşturabilir. İşte tam burada Sql Publish Wizard uygulaması devreye girip hayatımızı kurtarıyor.
VS2008 kurulu ise SWP uygulamasını şu dizin altından bulabilirsiniz; 64 bit işlemciler için C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2 32 bit işlemciler için C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\1.2
Başlamadan önce belirtmeliyim ki, SPW ile oluşturulan scriptler var olan bir veritabanı üzerinde işlem yapar. Öncelikle sunucu üzerinde aynı adlı bir veritabanı oluşturmuş olmanız gerekmektedir.
Kendi bilgisayarınızda kurulu olan Ms Sql Server' a bağlantı kuruyoruz.
Publish edilecek veritabınını seçiyoruz. Script all objects in the selected database seçeneği seçildiği takdirde, adım sayısı azalacak ve gerekli olan tüm DDL ve DML scripleri direk oluşacaktır.
İhtiyaç duyduğumuz nesneleri (Table,View,Procedure vs) seçiyoruz.
Alt nesneleri seçiyoruz.
Oluşacak script için dosya adı ve yolu belirliyoruz.
Uygun Ms Sql Server versiyonu seçillir.
Özet bilgisi ve ardından scriptimiz oluşturulur.
Bu işlemlerden sonra yapmanız gereken tek şey, oluşan script içeriğini host firmasının size verdiği arayüz de çalıştırmak olacaktır.
İkinci bölümün sonu...
Asp.Net eğitimi alan hemen hemen tüm öğrencilerin sıkıntılarından biri de, yapılan uygulamaların gerçek sunucuda nasıl yayınlanacağıdır. İşi bilenler için gayet basit gibi görünse de tecrübesi olmayan kişiler için ızdırap haline dönüşebilir. Hal böyle olunca bu konu ile ilgili tecrübelerimi aktaracağım küçük bir yazı dizisi hazırladım.
Konuyu üç bölüm halinde işleyeceğim. İlk bölüm, uygulamanın ftp ile sunucuya yüklenmesi. İkinci bölüm, uygulamanın (varsa) kullandığı veritabanının sunucuya yüklenmesi. Son ve üçüncü bölüm ise bir takım ipuçları içerecektir.
Bu bölümde, resimde görülen örnek projeyi sunucuya yüklenecek hale getireceğiz. Bunu göstermemim sebebi, uygulamanın çalışması için sunucuya herşeyi yüklenmesine gerek olmadığıdır.
Yayınlamadan önce bir iki ayar yapmamız gerekiyor. Web.config dosyasını açıp, compilation -> debug özelliğinin degerini false olarak ayarlıyoruz. Bu performans açısından önemli. Bu konu ile ilgili daha fazla bilgi edinmek isterseniz Scott Guthrie's şu yazısını okumanızı tavsiye ederim. Daha sonra, çalışma zamanıruntime nda ki olası hataları daha ayrıntılı görmek için customError -> mode özelliğinin değerini false olarak ayarlıyoruz. Bunu yapmanızı özellikle tavsiye ederim. Genelde ilk denemelerde hata alma olasılığı yüksektir. Detay görmek problemleri çözmekte çok faydalı olacaktır. Her şey yoluna girdiğinde şu yazıdaki gibi bir hata yönetimi yapmak işinize yarayabilir.
Yayın öncesi ayarları yaptıktan sonra sıra geldi uygulamanın sunucuya gönderilecek çıktısının alınması. Bunun için Projeye sağ tıklayıp Publish komutunu veriyoruz. Bu komut ile proje önce derlenir, hataerror alınırsa işlem iptal olur. Kimi zaman ikazlarwarnings alabilirsiniz ve genelde de size nerede olduğu konusundan bilgi vermez. Bu gibi durumlarda aklıma gelen olası sorun, projenin ihtiyaç duyduğu bir kaynağı (resim, script vs) bulamamasıdır. Asp.Net projeleri için birden fazla Publish seçeneği bulunmaktadır. Varsayılan seçenek, belirtilen bir klasöre sadece sunucuya gitmesi gereken dosya va klasörlerin çıktısını oluşturur. Zaten bu da bizim istediğimiz seçenek. Diğer seçenekleri görmek yada kullanmak için (Örneğin local sunucuya yayınlamak gibi) üzerinde üç nokta bulunan düğme işinizi görecektir. Herhangi bir değişiklik yapmadan çıktılar için bir yol belirliyoruz. İşlem başarılı bir şekilde tamamlandığında aşağıdaki gibi bir klasör çıktısı olacaktır. Bunlar sunucuya gitmesi gereken dosyalardır.
Bin klasöründeki dll dosyaları ve config uzantılı dosyalar sunucuya yüklendiğinde uygulamanız sonladırılır ve ilk çağrıda yeniden başlar. Bu durumda uygulama içindeki tüm oturumsession vs yok olacaktır. Size tavsiyem bakım zamanlarını geç saatlerde yapın ve app_offline.htm adında bir dosya oluşturup sitenin kök klasörüne koyun. Uygulama erişimini engelleyecektir.
Geriye son bir işlem kaldı. Çıktıların sunucuya yüklenmesine. Bunun için bir ftp uygulamasına ihtiyac var. Bir çok paralı yada parasız alternatif olmasına karşın benim tavsiye Total Commander adlı uygulamayı kullanmanız. Resimde görüldüğü gibi ftp sunucunuzu uygulamaya kayıt edin. Publish klasöründeki tüm dosyaları sunucu bilgisayarında size verilen (bu genelde ya wwwroot yada httpdocs adında bir klasör olur) klasöre kopyalayın.
Enterprise Library, Linq yada EntityFramework gibi yapılar kullanacaksanız, hosting paketinizin size vermiş olduğu Trust Level' ın medium yada full olduğundan emin olun. MVC gibi OutOfBand (şimdilik) denilen framework'lerinde direk çalışmadığını belirtmek isterim . Bunun için sunucunuzdan destek almalısınız.
Artık (veritabanı kullanmıyorsanız) uygulamayı test edebilirsiniz. Olası durumalara karşı problemleri çözüp yukarıda gerekli adımları tekrar etmeniz yeterli olacaktır.
Birinci bölümün sonu ...
Vista' da gadget olduğu dönemlerde hiç hoşlanmadığım fakat Seven ile çok severek kullandığım Sticky Notes uygulaması hakkında MS tarafından yayınlanan bir bilgiyi düzeltmek için bu yazıyı ekliyorum.
Yazıda metinleri biçimlendirebilmek için bazı tuş kombinasyonları listelenmiş. Hatalı olan kombinasyon, metinlerin boyutunu değiştirenler. Bilgiye göre; Increased text size : Ctrl+Shift+> Doğrusu; Ctrl+Shift+. Decreased text size : Ctrl+Shift+< Doğrusu; Ctrl+Shift+,
Uzun yıllardır notebook kullanıyorum. Klavye düzeninde < ve > işaretleri aynı tuş üzerinde. Durum böyle olunca nasıl bu kombinasyonlar kullanılacak pek anlayamadım.
Küçük bir araştırma yaptım. Esas sorun MS'in yerelleştirme konusunda sağlam bir hata yapmasından ibaret. Dillerin kullandığı Klavye yerleşiminin farklı olması sorunun esas sebebi.
Kaynak
Html' e aşina iseniz ki ben çok aşinayımdır :) Help Workshop uygulaması ile kendi dokümantasyonunuzu oluşturmanız çok kolay olacaktır. Mantık olarak yapılan iş; Html uzantılı (bir birine bağlanmış) dosyaları (js,css ve resim de kullanabilirsiniz) derleyip .chm uzantılı yardım & bilgi dokumanları haline dönüştürmek. Basit bir web uygulaması yapmak gibi de düşünebilirsiniz. Şu ana kadar çok faydasını gördüm. Bilmeyenler de öğrensin diye basit bir görsel hazırladım. Umarım işinizi görür.
İlk beta sürümlerinden beri Windows 7 kullanıyorum. Zamanında aynısını Vista içinde yapmıştım. Beta araba çıksa alırım :) Vista kullandığım zamanlarda Stardock firmasının LogonStudio uygulamasını kullanıyordum. Bu uygulama sayesinde işletim sisteminin logon ekranının arka planında bulunan resim değiştirilebiliyor. Windows7 (7057) x64 veriyonunda maalesef bu uygulama çalışmıyor. Bende bir tane yazayım dedim bugün. Nihayetinde bitti. Denemek isterseniz uygulamayı buradan indirebilirsiniz.
Geliştirma aşamasında olduğundan hatalar olasıdır. Özellikle dosya ve registry erişimi konusunda. Test ederken Administrator hesabı ile oturum açmak uygun olacaktır.
Bir önceki yazımda Fck Editor'ü Asp.net projelerinde daha rahat kullanılabilecek hale getirdiğimden bahsetmiştim. Sanırım bir şey eksik kalmış, Fck Editor'ü bir projeye nasıl entegre ederimi unutmuşuz :)
Adım adım ilerleyelim;
1. Gerekli dosyaları buradan indirelim.
2. Resimde işaretli klasörleri projeye ekleyelim.
3. Eklediğimiz dosyalar içerisinde işaretli olan ascx dosyasını düzenleyerek upload edeceğimiz kaynakların yollarını belirleyebiliriz.
4. FredCK.FCKeditorV2.dll dosyasını Toolbar' a ekleyelim. Bunu yapmak için dll dosyasını Toolbar'a sürükleyip bırakabilir yada Toolbar'a sağ tıklayıp Choose Items.. komutunu kullanabiliriz.
Artık Fck Editor kontrolünü Textbox kullanır gibi WebForm'larımızda kullanabiliriz.
Ara ara web tabanlı WYSIWYG editorleri incelerim. GeçenlerdeFck Editor ile oyalandım. Gerçekten de çok başarılı bir editor olduğunu rahatlıkla söyleyebilirim. Gerçi indirip hemen kullanamıyorsunuz ama biraz ilgi ve alaka ile bunu başarıyorsunuz.
Azıcık araştırdım birazcık kurcaladım ufak tefek te eklemeler yaptım. Amacım Asp.Net Web Form' larında hızlı bir şekilde kullanmak.
Neler yaptım bir bakalım;
Proje dosyası, fckApplication.
Resimler
Toolbar optimizasyonu
Dosya gösterimi için alternatif satır rengi
Resimler için ön izleme
Visual Studio 2008 kurulumu ile sabit diskimize konuçlanan resim kütüphanesinde bayağı bir değişiklik ve eklemeler yapılmış. Çok da güzel olmuş. Kütüphanenin tam yolu: C:\Program Files\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\1033\VS2008ImageLibrary.rar En çok dikkatimi çeken ve kullanışlı olduğunu düşündüğüm _Common Elements klasörü altında bulunan png uzantılı dosyalar.
Tek bir png dosyasında aynı resmin farklı versiyonları bulunuyor. Photoshop ile düzenlemek daha kolay olacak. Nedendir bilinmez, Microsoft underline ifadesi için bir resim dosyası yapmaması. Bir önceki versiyonda da yoktu hala yok. Neyse bende fazla bir tane var.
08.05.2008 perşembe günü Doğuş Üniversitesi' nde Framework 3.5 ve VS 2008 özelliklerini kullanarak Asp.Net uygulaması yaptık.
Yapılan uygulama. SunFlowerUygulamada kullanılan veritabanı.DataBase
02.05.2008 Cuma günü Yeditepe Üniversitesi Mühendislik Fakültesi B411 Nolu laboratuarda Asp.Net 2.0 ile ilgili workshop yaptık.Daha çok giriş niteliğinde olan eğitim ile birlikte Yeditepe Üniversitesi' ndeki eğitim serimizinde sonuna gelmiş olduk.Katılan tüm öğrencilere ve Ümit BÜYÜKABALI' ya teşekkür ediyorum.Değindimiz konular - Page, WebForm & Application - Asp.Net Controls - ViewState - MultiView & Validation Controls - FileUpload - AJAXYapılan örnek proje
01.05.2008 Perşembe günü itibariyle The Code Project sitesinde ilk makalem yayınlandı. Publishing Remote Object From IIS
25.04.2008 Cuma günü Yeditepe Üniversitesi Mühendislik Fakültesi B411 Nolu laboratuarda Sql Server 2005 ve Ado.Net 2.0 ile ilgili workshop yaptık.Daha çok bir programcı gözüyle değindiğimiz Sql Server 2005 ten sonra temel Ado.Net yapısının ele alındığı basit bir web uygulaması ile eğitimi tamamlamış olduk.Değindimiz konularSql Server 2005 - Data Types - Table - View - Stored ProcedureAdo.Net - Connection - Command - Parameters - DataAdapter - DataSet & DataTableYaptılan örnek proje.Veritabanı örneği.Resimler
23.04.2008 Çarşamba günü Trakya Üniversitesi' nde gerçekleşen Asp.Net 2.0 laboratuar çalışmasını 25.04.2008 Cuma günü Doğuş Üniversitesi' nde gerçekleştirdik.Değindimiz konular - Html - MasterPage & Navigation - Ado.NetYapılması öngörülen fakat bitirilemeyen uygulamanın tamamı.Proje.
23.04.2008 Çarşamba günü Trakya Üniversitesi Bilgisayar Mühendisliği L201 Nolu laboratuarda Asp.Net 2.0 ile ilgili workshop gerçekleştirdik. Sql Server 2005' in azizliğne uğramasaydık uygulamanın tamamını beraber yapmamız kaçınılmazdı :) Değindimiz konular - Html - MasterPage & Navigation - Ado.Net - Membership & Login Controls Uygulama sırasında kullanmış olduğum IE Developer Toolbar. Toolbar. Yaptılan örnek proje. Proje. Projede kullanılan veritabanı. Veritabanı Resimler
18.04.2008 Cuma günü Yeditepe Üniversitesi Mühendislik Fakültesi B411 Nolu laboratuarda C# 2.0 ile ilgili 2. ve son workshop tamamlanmış oldu.Değindimiz konular - Delegates - Event - Interface - SerializationYaptılan örnek projeler.Reflection, vakit olmadığı için anlatamadığım bir konu fakat yinede örneği aşağıda.Reflection örneği.Resimler
Microsoft Visual Studio arayüzünün tanıtımı ile başlayan bu kitap, Visual C# .NET ile Windows tabanlı programlamaya başlamak için bir rehber niteliğindedir. Değişkenler, veri tipleri, operatörler, döngüler, algoritmalar, diziler ve metotlar gibi programlamanın temelini oluşturan kavramlar, basitten karmaşığa doğru ilerleyen laboratuvar uygulamalarıyla okuyucuya verilir. Visual Studio arayüzü ile C# dilinin kullanım kolaylığını temel alan bu kitap, programlamaya yeni başlayanlara hitap eder.
Emeği geçen herkese teşekkür ederim.
Kitap detayları için tıklayın.
10.04.2008 perşembe günü Doğuş Üniversitesi Acıbadem kampüsünde .Net Framework 3.5 yenilikleri ile ilgili biraz seminer biraz workshop tadında etkinlik gerçekleştirdik.Değindiğimiz konular: - Object & Collection Initializers - Anonymous Types - Extension Methods - Lamda Expression - LINQSonunda ise LinqToSql ve Ajax kullanarak basit bir web uygulaması geliştirdik.
11.04.2008 Cuma günü Yeditepe Üniversitesi Mühendislik Fakültesi B411 Nolu laboratuarda C# 2.0 ile ilgili 3 saat süren bir workshop yaptık.Öğrencilerin C++ ve Java konusundaki bilgileri sayesinde önce temel dil farklılıklarına değindik ve hızlıca uygulamalara geçtik. Değindimiz konular - Visual Studio 2008 Interface - C# Syntax - Data Types - Boxing / Unboxing - Class structer - Encapsulation - Inheritance - Error Handling and Custom ExceptionYapılan örnek proje.Resimler