• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 23.4.2016 00:55:33C programlama 2 oyun
  • 20.4.2016 16:34:41Local Database
  • 15.4.2016 14:26:15Fatura kayıt işlemi
  • 21.3.2016 01:55:30C# problem

Popüler Sorular

  • 27.5.2012 05:49:50Asp.Net ile Date time alana veri ekleyemiiyorum ?
  • 2.4.2012 00:45:18.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 12.5.2012 08:44:49Acil Yardım
  • 27.5.2012 13:46:51veri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

  • 09.07.2013 Algoritma ve Programlama Mantığı Kitabı
  • 11.05.2013 Yazılım Dilleri'ne Destek Verin
  • 12.04.2013 RFID Mimarisi ve Programlama Kitabı
  • 19.02.2013 Türkiye'nin İlk Asp.Net 4.5 Kitabı
IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

TFS-Client Object Model icin Hello World

Team Foundation Server Client Object Model' i kod tarafında nasıl ele alabileceğimizi basit bir Hello World uygulaması ile incelemeye çalışıyoruz.

15.03.2013

Yazar: Burak Selim Şenyurt (Google+)

Kategori: TFS

3161

commodoreMerhaba Arkadaslar,

Çok eskidendi diyemeyecegimiz kadar yakin bir zamanda, bilgisayar programcilarinin ilah oldugu devirlerde, evimizin 37 ekran TV’ lerine girmis Commodore 64K, Amiga oyunlarina sabaha kadar vakit ayirdigimiz yillarda; ne Source Code Control denen bir kavram vardi, ne de 9 kisilik askeri manga misali çalisan Scrum ekipleri. Ancak teknoloji ve yazilim dünyasi öylesine hizla ilerledi ki…Kosar adimlarla geldigimiz günümüzde, özellikle Enterprise çapta yürütülen projelerde, ekip olmadan hareket etmek neredeyse imkansiz hale geldi.

Yazilima basladigim yillarda Microsoft Visual SourceSafe kullanan birisi olarak olayin uzun bir süre önce kod kontrolü ve saklanmasinin ötesine geçtigini söylesem sanirim hepimiz bu noktada hem fikir oluruz Winking smile Artik ALM(Application Lifecycle Management) olarak ifade edilen ve ürün gelistirmenin sadece koddan olusmadigini ifade eden önemli bir kavram var hayatimizda. Hatta bu kavramin içerisine giren MSF(Microsoft Solution Frameworks),  SCRUM, CMMI(Capability Maturity Model Integration) gibi pek çok süreçte mevcut. Müsteri ihtiyaçlarinin daha hizli daha çevik bir sekilde karsilanmasi esasina dayali bu süreçler çok ama çok popüler.

Tabi isin önemli bir parçasini da ALM için kullanilan etkili araçlar üstlenmekte. Microsoft bu alanda 2000li yillarin ortalarindan itibaryen Visual SourceSafe’ i terk edip Team Foundation Server’ a geçis yapti. Team Foundation Server su an geldigi 2012 sürümü ile, yazilim alanindaki önemli bir ihtiyaci da karsilamakta: ALM’ in dijital ortamda yönetimi, yürütümü ve kontrolü.

Tabi Team Foundation Server’ in çok genis bir kavram oldugunu ve bir makaleye sigdirilamayacak kadar çok özelligi bulundugunu gönül rahatligi ile ifade edebilirim Laughing out loud Diger yandan bugünkü yazimiza konu olan onun küçük görünen ama çok önemli islerin altina imza eden bir parçasi…

Client Object Model

Peki, Microsoft adresinden download edebileceginiz bu nesne modeli bize ne sunuyor? Olaya asagidaki grafik ile baslayalim.

comhello_1

Yukaridaki grafik anlatiminda TFS’ in uygulama modeline ait örnek bir dagilima yer verilmektedir. Hepimiz esas itibariyle Team Foundation Server’ in, n sayida makine üzerine fiziki olarak dagitilabilen bir uygulama sunucusu ve çevre programlar bütünü oldugunu biliyoruz. Bu anlamda TFS uygulama sunucusuna baglanan pek çok istemci çesidi de mevcut. Örnegin Continous Integration gibi modelleri destekleyen Build planlarinin yönetildigi Build Server veya bir gelistirici makinesi üzerinde kosan Visual Studio gibi.

TFS’ i bir dünyadan ziyade bir evren olarak nitelendirmek saniyorum ki yanlis olmaz. Sadece kurulum sonrasinda elimizin altinda Application Server, Sharepoint ve SSRS(Sql Server Reporting Services), SSAS(Sql Server Analysis Services), Build Server gibi parçalar olusmakta. Hatta sanallastirma da isin içerisinde girdiginde Lab Management için gerekli ek bir çok ortam türemekte. Tüm bunlara bir de Tool setlerini eklediginizde Günes Sisteminin üretmis olabilirsiniz.

Evren demistik…Çünkü Günes Sistemi disina çikarak farkli sistemleri de bu çembere dahil edebilirsiniz(LINUX’ dan UNIX’e, MacOS X’ den Eclipse’ e, Oracle’ dan TIBCO’ ya…)

Aslinda TFS sistemine dahil olabilecek istemcileri düsündügümüzde çogumuzun aklina standart bir gelistirici makinesi ve üzerinde yüklü olan Visual Studio sürümü gelmektedir. Oysaki TFS’ i kullanabilen istemcilerin böyle bir zorunlulugu yoktur. TFS’ in çevre birimler ile olan entegrasyonu adina asagidakileri ifade edebiliriz.

  • Visual Studio IDE’ sinin bir parçasi olan Team Explorer ücretsizdir. Gelistirici olmayan birisi tarafindan rahatlikla kullanilabilir.
  • MS Office uygulamalari TFS’ e entegre olabilir, dolayisiyla Work Item’ lar(Seçtiginiz süreç sablonuna göre değişiklik gösterebilir) örnegin Excel’ e indirebilir, güncellenebilir(Hatta Ms Project ile proje planinizi aktarabilirsiniz vs)
  • Takim üyeleri Web arayüzünü kullanip TFS ortamina baglanabilir, ALM’ e dahil olabilir, Source Code’ lari görebilir, hatta raporlama hizmetlerine(SSRS-Sql Server Reporting Services) ulasip güncel duruma bakabilir(Elbette yetkilendirmelere bagli olarak neleri görüp neleri göremeyeceklerini nerelere erisip nerelere erisemeyeceklerini belirleyebilirsiniz)
  • Sharepoint portali ile doküman bazli proje akislari Team Project’ ler ile iliskilendirebilir.
  • Team Explorer Everywhere sayesinde herhangi bir Eclipse IDE ile de Team Explorer’ in avantajlarindan yararlanilabilir. Dolayisiyla örnegin Java ekipleri TFS’ e entegre olabilir. *
  • Son olarak MSSCCI Provider hizmetinden yararlanip, yabanci araçlarinda(SQL Navigator, PowerBuilder, Solaris UNIX, LINUX, TIBCO vb) TFS’ e entegre olmasi mümkündür.*

* Son iki madde saha da tecrübe edilmistir Winking smile

Esas itibariyle istemciler, uygulama sunucusu üzerinde yer alan TFS Web servislerini kullanirlar. Bu açidan bakildiginda söz konusu servisleri tüketen istemci uygulamalar bu isi Client Object Model üzerinden icra etmektedirler. Bu su anlama da geliyor; TFS’ i kullanacak kendi istemci uygulamalarimizi gelistirebiliriz.

Online olarak da Cloud tabanli hizmet veren TFS’ in yakinda zaman da OData protokolünü baz alan servisleri yayinlandi. Bu konuda Brian Keller’ in su adresteki yazisini incelemenizi siddetle tavsiye ederim.

TFS açisindan olaya bakildiginda 3 farkli nesne modeli oldugunu ifade edebiliriz. Sunucu tarafi için Server Object Model, istemci tarafi için bu yazimizda ele alacagimiz Client Object Model ve son olarak da Build Service’ lerin, COM ile olan iletisiminde devreye giren Build Process Object Model. Biz bu yazimizda sadece Client Object Model’ in nasil kullanilabilecegini basit bir Hello World uygulamasi ile irdelemeye çalisiyor olacagiz.

Hello Client Object Model

Client Object Model’ i yüklendikten sonra .Net projesine asagidaki ekran görüntüsünde yer alan Microsoft.TeamFoundation.Client ve Microsoft.TeamFoundation.Common assembly referanslarinin eklenmesi yeterli olacaktir.

comhello_2

Olur da Reference penceresinde Extensions kisminda çikmazlar, bu durumda C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\ adresine bir ugrayin derim Winking smile

Åžimdi dilerseniz ilk örnek kodlarimizi yazalim.

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.Framework.Common;
using System;
using System.Configuration;
using System.Net;

namespace HelloTFSCOM
{
    class Program
    {
        static void Main(string[] args)
        {
            Uri tfsAddress = new Uri(ConfigurationManager.AppSettings["TfsAddress"]);

            TfsConfigurationServer tfsServer =
                TfsConfigurationServerFactory.GetConfigurationServer(tfsAddress);
            tfsServer.Credentials = new NetworkCredential(
                ConfigurationManager.AppSettings["Username"],
                ConfigurationManager.AppSettings["Password"],
                ConfigurationManager.AppSettings["Domain"]
                );
            tfsServer.Connect(ConnectOptions.IncludeServices);
            Console.WriteLine("TFS Server : {0}\n"
                ,tfsServer.Name               
                );

            var teamCollections = tfsServer.CatalogNode.QueryChildren(
                new[] { CatalogResourceTypes.ProjectCollection },
                false, CatalogQueryOptions.None);

            foreach (var teamCollection in teamCollections)
            {
                Guid teamCollectionId = new Guid(teamCollection.Resource.Properties["InstanceId"]);
                TfsTeamProjectCollection teamProjectCollection = tfsServer.GetTeamProjectCollection(teamCollectionId);

                Console.WriteLine("Team Project Collection : {0}\n"
                    ,teamProjectCollection.Name                   
                    );

                var teamProjects = teamCollection.QueryChildren(
                    new[] { CatalogResourceTypes.TeamProject },
                    false, CatalogQueryOptions.None);

                foreach (CatalogNode teamProject in teamProjects)
                {
                    Console.WriteLine("Team Project {0}\n\tDescription {1}"
                        ,teamProject.Resource.DisplayName
                        ,teamProject.Resource.Description
                        );
                }
            }
        }
    }
}

Ilk olarak TfsConfigurationServer tipine ait bir nesne örnegi olusturuyoruz. Bunun için TfsConfigurationServerFactory fabrika sinifindan ve GetConfigurationServer metodundan yararlanilmaktadir. Operasyona gelen parametre TFS sunucu adresidir. Bu adresi app.config/web.config gibi bir dosyadan alabiliriz. Çok dogal olarak TFS sunuculari genellikle domain kontrolü altinda kurulurlar. Bu sebepten domain içerisinde yetkisi olan kullanicilarin sunucuya erisebilmesi mümkündür. Bu sebepten sirket ortamlarinda kullanici adi ve sifre haricinde bir de domain bilgisine ihtiyaç vardir. Kod parçasinda bu 3 bilgi, NetworkCredential sinifina ait bir nesne örneginde toplanarak, Credentials özelligine atanmistir.

Sonraki adimlarda sirasiyla bir baglanti islemi ve sonrasinda da TFS sunucusu üzerinde yer alan Team Project Collection içeriklerinin sorgulanmasi islemi gerçeklestirilmektedir. Aslinda sorgulamalarin ortak noktasi, dikkat edilecegi üzere QueryChildren isimli bir metottan yararlanilmasi ve neyin sorgulanacagini belirtmek için CatalogResourceTypes enum sabitinden yararlanilmasidir. Bu sabitin alacagi degerleri gördügünüzde aslinda bu seviyede neleri sorgulayabileceginizi de anlamis oluyorsunuz Smile

comhello_4

Dolayisiyla TFS üzerinde oldukça fazla nesneyi sorgulayabiliriz. Örnegimizde sadece Team Collection ve içerisinde yer alan Team Project örnekleri degerlendirilmistir. Oysaki test ortamindan raporlara, Sharepoint Proje portallerinden SQL veri tabani örneklerine kadar pek çok içerik sorgulanabilmektedir.

Örnek uygulamayi çalistirdigimizda ben asagidaki ekran görüntüsünde yer alan sonuçlari aldim.

comhello_7

Bu örnek tfs.visualstudio.com üzerinde olusturdugum bir koleksiyona aittir. seddulbahir.visualstudio.com adresinden ulasabildigim koleksiyon içerisinde bir kaç deneme projesi olusturdum. Tahmin edeceginiz üzere Windows Live ID ile burada yer almaniz ve eger bir değişiklik olmadiysa 5 kisiye kadar ücretsiz olarak yararlanmaniz mümkün. Yani 5 kisilik bir ekibiniz var ise hemen bir TFS hesabi açip çalismaya baslayabilirsiniz Winking smile Bu arada Windows Live ID ile baglandigimiz bu sistemde Credential için bir Domain bilgisi vermenize gerek yoktur.

TFS Proje Iskeleti

Aslinda bu tip bir örnegi isletmeden önce TFS’ in genel olarak proje iskelet yapisini bilmekte de yarar vardir. Asagidaki sekilde bu durum kisaca özetlenmeye çalisilmaktadir.

comhello_3

Normal sartlarda TFS i kurdugumuzda(ki install islemi eger farm üzerine kurulum yapiyorsaniz biraz sıkıntılı olabilir Confused smile) hep Default Collection üzerinden çalisiriz. Default Collection aslinda SQL tarafinda da bir veri tabanina karsilik gelmektedir. Oysaki 100lerce projeye sahip olup, bunlarin çogunu Enterprise seviyede insa eden firmalarda birden fazla Team Collection kullanildigi da görülmektedir. Her Team Collection aslinda bir Team Project ailesini isaret etmektedir. Bir baska deyisle bir Team Collection içerisinde n sayida Team Project barindirabilirsiniz. Çok dogal olarak her bir Team Project de kendi içerisinde birden fazla proje barindirabilir.

Ne yazik ki Team Project ile Project kavramlari zaman zaman birbirlerine karisabilmektedir. Aslinda bu ayirim uygulanmak istenen süreç noktasinda kendisini daha belirgin gösterir. Nitekim bir Team Project olustururken Scrum, MSF, CMMI veya özellestirilmis bir Process Template seçilmelidir.

Var olan bir Process Template’ i indirip, XML içerikleri ile oynayabilir ve sirket kültürünüze uygun farkli bir süreç sablonu olusturabilirsiniz. Bu anlamda Microsoft’ un Power Tools ürününü kullanmanizi öneririm. Visual Studio 2012’ ye bir eklenti seklinde gelip sablonlari görsel olarak yönetebilmenize olanak tanimaktadir.

comhello_6

Yani ALM yogurt yiyis sekli belirlenmelidir. Sonrasinda ise bu Team Project içerisine dahil olan ve ayni sekilde yogurt yiyecek olan ekip elemanlari, n sayida ve n çesitte proje üzerinde çalisabilir. Bu projeler .Net uygulamalari olabilecegi gibi .Net disi ortamlar da olabilir. Önemli olan tüm bu projelerin ayni Team Project içerisinde dahil olmalaridir.

WorkItemStore ile Work Item Ögelerini Sorgulamak

Åžimdi örnegi biraz daha ilerletelim ve diger TFS Web Service’ lerinden nasil yararlanabilecegimize bakalim. Söz gelimi bir Team Project için söz konusu Work Item’ lari çekmeye çalisalim. Bu amaçla örnek kodlarimizi asagidaki gibi gelistirebiliriz.

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.Framework.Common;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using System;
using System.Configuration;
using System.Net;

namespace HelloTFSCOM
{
    class Program
    {
        static void Main(string[] args)
        {
            #region Bir Team Collection' daki Task' larin Çekilmesi

            TfsTeamProjectCollection tfsCollection = new TfsTeamProjectCollection(
                new Uri(ConfigurationManager.AppSettings["TfsAddress"] + "/DefaultCollection"));
            tfsCollection.Credentials = new NetworkCredential(
                ConfigurationManager.AppSettings["Username"],
                ConfigurationManager.AppSettings["Password"]
                , ConfigurationManager.AppSettings["Domain"]
                );

            WorkItemStore store = (WorkItemStore)tfsCollection.GetService(typeof(WorkItemStore));

           WorkItemCollection queryResults = store.Query(@"
                           Select [State], [Title]
                           From WorkItems
                           Where [Work Item Type] = 'Task' and [Team Project]='ARGE'
                           Order By [State] Asc, [Changed Date] Desc");

            for (int i = 0; i < queryResults.Count; i++)
            {
                Console.WriteLine("{0}\n{1}\n{2}\n",queryResults[i].Title, queryResults[i].State, queryResults[i].ChangedDate.ToString());           
            }

            #endregion Bir Team Collection' daki Task' larin Çekilmesi
        }
    }
}

WorkItemStore tipi Microsoft.TeamFoundation.WorkItemTracking.Client.dll assembly’ i içerisinde yer aldigindan söz konusu kütüphanenin projeye referans edilmesi gerekmektedir.

Work Item’ larin sorgulanabilmesi için WorkItemStore servisinden yararlanilabilir. Bu servise ait bir nesne örnegini elde etmek içinse var olan bir TFS Team Collection’ dan faydalanilabilir. Bu sebepten örnek kod parçasinda TfsTeamProjectCollection tipinden bir örnek üretilmistir. Adres kismindaki /DefaultCollection ilavesine lütfen dikkat edelim. Bu sekilde DefaultCollection’ i isaret eden bir örnek olusturmus bulunuyoruz. Sonrasinda tfsCollection degiskeni üzerinden GetService fonksiyonunu çagirmaktayiz. Dikkat edilecegi üzere fonksiyon parametre olarak WorkItemStore tipini almaktadir. Bu durumda TFS Sunucusuna sunu söylemis oluyoruz.

Ey o adresteki DefaultCollection. Bana, tuttugun Work Item örneklerini sorgulayabilmem için bir servis referansi verrrr!!!

Bu islemin ardindan artik Work Item’ larin sorgulanmasina baslaniyor. Aslinda tipik bir SQL sorgusu diyebilecegimiz ama literatürde WIQL(WorkItem Query Language) olarak geçen ifademizi Query metoduna parametre olarak veriyoruz. Sorgumuz son derece basit. ARGE isimli Team Project içerisinde yer alan WorkItem’ lardan Task tipinden olanlari, önce State’ e göre A…Z sirasinda, sonrasinda da son değişiklik zamanina(Changed Date) göre Z…A sirasinda talep ediyoruz. Sonuç olarak benim deneme amaçli olarak kullandigim ARGE isimli Team Project için asagidaki ekran görüntüsünde yer alan sonuçlari elde ettigimi ifade edebilirim.

comhello_5

Görüldügü üzere ARGE projesine ait Task tipinden Work Item ögelerinin basliklari(Title), güncel durumlari(State) ve son değişiklik zamanlari(Changed Date) elde edilebilmistir. Bu noktada neler yapabileceginizi ifade etmek istedigimizde sadece Team Explorer ile veya TFS’ in Web arayüzü ile yapabildiklerinizi düsünmeniz kafi olacaktir.(WIQL’ in örnek kullanimlari ve 5 parçadan olusan iskelet yapisinin teknik detayi için MSDN adresini ziyaret edebilirsiniz)

WorkItemStore disinda kullanilabilen pek çok servis vardir. Örnegin ISecurityService, ILocationService, IBuildServer, IProcessTemplates, VersionControlServer vb…Söz konusu servislerden bazilari Team Collection, bazilari da TFS Server seyiyesinde kullanilabilmektedir. Detayli bilgiye bu adresten ulasabilirsiniz.

Bu yazimizda TFS Client Object Model ile basit de olsa el sıkışmaya çalistik. Elbetteki örnegi devam ettirip ilerletmek sizin elinizde. Söz gelimi iyi bir antrenman olarak Visual Studio Team Explorer penceresinin bir benzerini ve hatta Windows Phone 8 veya Windows 8 üzerinde çalisacak sekilde zengin kullanici deneyimi sunacak olan bir türevini gelistirebilirsiniz. Dokunmatikligi isin içerisine katin Winking smile Böylece geldik bir makalemizin daha sonuna. Tekrardan görüsünceye dek hepinize mutlu günler dilerim.

HelloTFSCOM.zip (181,68 kb)

Yazar Hakkında

Burak Selim Şenyurt

Burak Selim Şenyurt

buraksenyurt.com

Yıldız Teknik Üniversitesi Matematik Mühendisliği mezunu olan Şenyurt, 1999 yılında profesyonel olarak adım attığı yazılım dünyasında, 2003 yılından beri Microsoft .Net teknolojileri ile ilgilenmektedir. Yazılım hayatına Assist Line isimli Call Center firmasında Delphi programcısı olarak başlayan Şenyurt sonrasında, sırasıyla Bizitek(Junior Developer), Netron(Master Trainer), Citibank(Outsource Senior Software Developer), Innova(Application Development Consultant), ve TCM(Software Architect) firmalarında görev almıştır. Su anda ING Bank bünyesinde Kıdemli Yazılım Danışmanı olarak görev yapmaktadir. 2006, 2007 yıllarında C#, 2008,2009,2010 yıllarında ise Connected System Developer kategorisinde Microsoft MVP seçilen Şenyurt, evli ve 1 çocuk babasıdır. C# diline olan düşkünlüğü, oğluna S(h)arp adının verilmesinde önemli bir etken olmustur.

Sosyal Medya

ORANLAR

  • 3161izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Hocam Link başka sayfaya yönlendiriyor.
  • merhaba benim merak ettiğim bir konu var y...
  • Merhaba download linki çalışmıyor. Rica et...
  • Nevzat Bey selamlar, Açıkçası bizler a...
  • Parametreleri Cache İşleminden Yalıtma kon...

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 118445
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 63060
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 47248
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ