Microsoft Team Foundation Server Kullanımı

Microsoft kod geliştiriciler için projejelerini saklayabileceği, ekleyebileceği bir sunucu olarak Team Foundation Server’ı limitli bir şekilde kullanıcıların hizmetine sunuyor. Döküman yedekleme için Drive ne ise proje depolamak için Team Foundation Server’da aynısı diyebiliriz. Free TFS şu an sadece 5 kullanıcının kullanmasına izin veriyor. Projelerinizi TFS’e e-mail hesabınızla bağlanarak hesabınıza yüklüyorsunuz. Daha sonra ekip arkadaşlarınızla projelerinizi paylaşabiliyorsunuz. Rooms ismi verilen kısımda proje ile ilgili ekip arkadaşlarınızla mesajlaşabilir, konuşabilirsiniz.

ic854728

Backlog kısmından proje aşama, versiyonlarınızı kaydedebilirsiniz. Ayrıca test caseleri oluşturmak ve adımlarını takip etmek için de son derece kullanışlı bir arayüze sahip.

20150810102721211

 

TFS ile ilgili bilgileri bu yazı altında toplayacağım.

Bootstrap multiselect List Kullanımı

Responsive çoklu seçimli combolar için Bootstrap multiselect kullanılabilir.

Kullanımı :
<select id=”multiSelectArea” multiple=”multiple” title=”Seçiniz”>
<option>1 </option>
<option>2 </option>
</select>

Option seçeneklerinin veri tabanından okunması :
for (var i = 0; i < dataTable.length; i++){
$(‘#multiSelectArea’).append($(‘<option>’, {
value: result[1][i][“ValueColumn”],
text: result[1][i][“TitleColumn”]
}));
$(‘#multiSelectArea’).multiselect(‘rebuild’);

MultiSelect Attributes :
$(‘#multiSelectArea’).multiselect({
nonSelectedText: ‘Seçiniz ‘, // Default Text
nSelectedText: ‘Seçildi’, // Seçeneklerden bir tanesi seçildiğinde yazılacak text
maxHeight: 150, // Listenin yüksekliğini set eder. Scroll oluşturur.
buttonWidth: ‘150px’, // Combo’nun genişliğini set eder.
includeSelectAllOption: true, // Listedekilerin tümünün seçilmesini de seçeneklere ekler.
allSelectedText: ‘Tüm Seçenekler Seçildi’, // Tüm Seçenekler seçildiğinde combonun içinde yazacak metin.
selectAllText: ‘ Tümünü Seç’ //Tümünü Seç yazısını set eder.
});

 

https://github.com/davidstutz/bootstrap-multiselect/blob/master/index.html

 

 

Searchable List

 

 

MVC Kısa Notlar

View dosyalarında Model kullanma :

sayfanın modeli tanıması için sayfanın üst kısmına

@model List<ProjectModelName.Models.TableName> tanımladıktan sonra @foreach(var item in Model ) şeklinde kullanılabilir.

 

MVC space ( boşluk ) ekleme :   

Yazdırılacak ifadeden önce   @:  kullanarak boşluk eklenebilir.

MVC Linq komutları:

Take(x): Belirtilen sayıda kayıt döner.

Karşılaşılan Hatalar

The specified -35628-   port is in used.  hatası : Bu hata IIS Express’in başka projeler için çalıştırıldığını gösterir. Bunun için çalıştırılan projeyi durdurmak gerekir. Hangi projelerin IIS Express üzerinde çalıştığını görmek için FILE -> Open -> Web Site dediğinizde karşınıza çıkan pencerede Local IIS kısmını kontrol edebilirsiniz. Burada ki çalışmaları durdurduğunuzda hatayı geçmiş olacaksınız.

enter image description here

 

VS  invalid token ‘using’ in class struct or interface member declaration   error :

Bu hatanın sebebi tırnak içerisindeki ifadenin bir metod içerisinde yer alınmamasıdır. İfade metod içerisinde doğru syntax ile yazıldığında hata geçilecektir.

 

CS0433: The type ‘ASP.global_asax’ exists in both ‘c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\fa3cb89b\2b019286\assembly\dl3\1697fe05\5259d9ff_b5e6d101\App_global.asax.DLL’ and ‘c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\fa3cb89b\2b019286\App_global.asax.gq6hfbr1.dll’   

Siteyi publish edip filezilla ile yükledikten sonra browserda karşınıza bu hata gelmesi halinde bin klasörünün altında App_global.asax.compiled dosyasını silerek hatayı geçebilirsiniz. En azından ben bu şekilde geçtim 🙂

An exception of type ‘System.Threading.ThreadAbortException’ occurred in mscorlib.dll and wasn’t handled before a managed/native boundary  : 

Tools -> Options -> Debugging -> General -> menüsünün altında ki Break when exceptions cross AppDomain or managed/native boundaries seçeneğinde ki check’i kaldırmanız halinde hata düzelecektir.

Visual Studio 2015 değişken değerlerini debug’ta görememe

Visual Studio 2015 fails to evaluate variables when two versions of assembly are loaded.  Debug yaparken AddWatch , QuickWatch ile değişken değerlerini kontrol ettiğimizde referanslardan birinin iki defa yüklenmiş olmasından dolayı null exception gibi bir uyarı çıkmaktadır. Bunu aşmak için Debug – > Options ->Debugging -> General ‘ın altında Use the legacy C# and VB expression evaluations seçeneği işaretlenmelidir. Bu şekilde değerleri görebilirsiniz.

 

enter image description here

 

Uygulamalar

Textgram : Instagram yazılı resim ve fotoğraflar paylaşmak için geniş bir template ve font’a sahip android uygulamasıdır.

ChromaKey : Yeşil bir perdenin önünde duran birisinin farklı yerlerde gösterebileceğiniz bir uygulama. Film sektöründe ve öğretici videolarda kullanılabilir.

Tagul : Kelime Bulutu oluşturmaya yarayan bir araçtır.   https://tagul.com/signup

Polleverywhere : Kullanıcıların uygulama üzerinden girdikleri kelimelerin yoğunluğunu, oranını ölçebileceğimiz bir araç. Kelime bulutları da yoğunluğa göre gelişmektedir.

Plickers : Kullanıcılara dağıtılan kartların üzerinde A,B,C,D şıkları yazmaktadır. Soruyu soran öğretmen ya da sunumu yapan kişi soruyu sorduktan sonra telefonuyla anında kartları tarayıp doğru ve yanlış cevap verenleri görüntüleyebilmektedir.

Socrative : Quiz yapma aracıdır.

Pawtoon : Kolayca sunum ve animasyon oluşturabilme aracıdır.

Hatalar ve Çözümleri

MVC : Entity ‘de bir değişiklik yapıp kaydetmeye çalıştığımızda ” Validation failed for one or more entities. See ‘EntityValidationErrors’ property for more details ” şeklinde bir hata alıyorsak  en olası sebebi şunlar olabilir  :

  1. Veritabanında (database) NULL olamaz olarak yapılandırılmış (Allow Nulls işareti kaldırılmış) bir alana NULL değer girmeye çalışmak
  2. Belirtilen üst sınır dışında veri giriyi yapmaya çalışmak, örneğin, nvarchar(5) olan bir alana 5 karakterden uzun veri girişi yapmaya çalışmak.

Çözüm olarak try catch bloğunda

catch (DbEntityValidationException e)
{
     foreach (var eve in e.EntityValidationErrors)
     {
           Response.Write(string.Format("Entity türü \"{0}\" şu hatalara sahip \"{1}\" Geçerlilik hataları:", eve.Entry.Entity.GetType().Name, eve.Entry.State));
       foreach (var ve in eve.ValidationErrors)
       {
         Response.Write(string.Format("- Özellik: \"{0}\", Hata: \"{1}\"", ve.PropertyName, ve.ErrorMessage));
        }
         Response.End();
         }



şeklinde bir kod parçasıyla hangi property’den dolayı hata alındığını görebiliriz.

C#  :  System.InvalidCastException: Specific cast is not valid (Belirtilen atama geçerli değil ) hatası : Bu hata iletilecek datanın beklenen şekilde alınmadığı ya da atandığı datatable, list vs. ile uyumlu olmadığından dolayı verilebiliyor. Bu hatayla entity’de sp’den aldığım datayı datatable atarken aldım. Sp’nin döndüğü cursor’u kontrol ettiğimde bir kolonun , den sonraki ondalık kısım da uzun bir rakamlar dizisi geldiğini gördüm. Round ile kolonun 3 haneli gelmesini sağlayınca hata düzeldi.

SQL :String or binary data would be truncated : Bu hata tabloya insert etmek ettiğiniz kayıttan dolayı alınabilir. Insert edilen kolonun length’i ile gelen data genişliği uyuşmamaktadır. Kolon length’i arttırılabilir.

MVC : Httpcontext current does not contain a definition hatası : Sebebi Controlller class’ı da HTTPCOntext isimli bir property’ye sahiptir. Buradaki HTTPContext’in altında Current property’si olmadığı için hata alınır.

HttpContext.Current kısmını System.Web.HttpContext.Current şeklinde değiştirmek gerekir.