Friday, December 1, 2017

Ürdün



  Çok hızlı bir şekilde karar alıp, harekete geçtiğim bir gezi oldu Ürdün. Nitekim bir pazar günü arkadaşım Firuze ile konuşup, pazartesi biletleri alıp, cumartesi Amman'a uçtuk. Ürdün'de 4 gece 5 gün kaldık. Bir kaç gün daha kalsak iyiymiş.

Ürdün pahalı bir ülke. 100 dolar 70 dinara denk geliyor. Biz Ürdün'ü gezmek için yerel bir rehber ile anlaştık.(1) Araba kiralamak güzel bir alternatif, tatilinizin maliyetini düşürecektir. 😊

Ürdün'e gitmeden önce, 'Ürdün güvenli mi?' cümlesini çok duydum. Ürdün güvenli bir ülke. Rahatsızlık verici bir şey ile ne karşılaştık ne de hissettik.  Halk çok yardım sever ve güler yüzlüydü.  Ayrıca Türk'leri çok seviyorlar. Kaldığımız otelde çalışan bir amca Türkiye'den geldiğinizi öğrenince yanımıza geldi. Büyük büyük babasının Mardin'den Filistin'e göç ettiğini, daha sonra Ürdün'e geldiklerini anlattı. Türkiye'yi gönülden çok sevdiğini söyledi.

İlk gün  otelimize yerleştikten sonra, Amman sokaklarında biraz gezip, yemek yemeye gittik. Yemek için Hashem adlı bir restorana gittik. (Restoran dolar da kabul ediyor). Burada falafel ve humus yedik. Yemeğin yanına turşu ve domates getiriyorlar. Yediğim en lezzetli falafel ve humustu. Hesabı ödemeden yada sipariş verirken mutlaka Türkiye'den geldiğinizi söyleyin. Herhangi bir yerde çay içecekseniz 'no sugar' demeyi unutmayın. Yoksa çay yerine şerbet içersiniz 😊

İkinci gün Petra Antik Şehrine gittik. Petra Dünya Kütür Mirası içinde yer almakta. Petra eski yunanca da taş demektir. Petra'ya taşların renginden dolayı Rose City'de denilmekte.  Hayranlık uyandıracak, muazzam güzel bir yer. Petra Nabatiler tarafından M.Ö yapılmış. Şehre girmeden önce yaklaşık bir kilometre Siq adı verilen vadiden geçmeniz gerekiyor. Şehrin girişinde bizi 'El-Hazne' denilen yapı karşıladı. Şehrin bitiminde ise bir manastır bulunmakta. Manastıra ulaşmak için uzun bir mesafe kat etmek gerekti. Manastıra ulaştığımız zaman bize Türkçe seslenen biri oldu. Türkiye'de hukuk okumuş Ürdün'lü bir rehber, kendisiyle tanışıp bilgi aldık.

Siq
El-Hazne
Manastır Yolu

Petra'nın içini yürüyerek gezebilir yada Bedevilerin deyimi ile 'El-Ferrari yada El-Porsche' kullanabilirsiniz. Petra'nın giriş noktasından son noktaya gidip tekrar dönmeniz için yaklaşık 15 kilometre yürümeniz gerekecek. Petra'nın kapanış saati  akşam beş olduğu için erken gitmenizde fayda var. Bu arada Petra'ya giriş 50 dinar. Akşamları Petra'da 'Petra By Night' oluyormuş. Rehber kanıp gitmeyin, iki mum yakıp, bir  çay verip gönderiyorlar dedi. Bizde gitmedik.  Etkinliğe katılmak isterseniz ekstra 17 dinar ödemeniz gerekiyor. Günün sonunda yorulmuş olarak otelimize geri döndük.

El-Ferrari

Petra ile ilgili National Geographic'in güzel bir belgeseli var. İzlemenizi tavsiye ederim.(2)

Üçüncü gün sabah kahvaltısından sonra 'Little Petra' ya doğru yol aldık. Little Petra'ya girişi bir önceki gün Petra'ya aldığımız biletler ile yaptık. Bu yüzden biletlerinizi atmayın. Sabah erken gittiğimiz için şehir boştu. Burada işimiz bittikten sonra 'Wadi Rum'a doğru hareket ettik. Petra'yı gezerken, Ürdün'de beni etkileyecek en güzel yer burasıdır galiba diye içimden geçirmiştim. Ta ki Wadi Rum'a varıncaya kadar. O an 'Petra insanların yaptığı muazzam bir sanat eseri ama burası da Allah'ın yarattığı muazzam bir şaheser' demiştim. Wadi Rum'da bizi Bedevi bir rehber gezdirdi. Rehberimiz maalesef İngilizce pek bilmiyordu. Gezimizi güneşin batışını izleyerek bitirdik. Güneşin batışını izlerken rehberimiz bize çay yaptı. İçtiğim en güzel çaylardan biriydi. Güneşin batması ile çöl soğumaya başladı. Wadi'deki gezintimizden sonra gece kalmak için Bedevi kampına doğru hareket ettik.

Wadi Rum


Dördüncü gün yoğun bir gündü. Güneşin doğuşunu izlemek için sabah erken uyandık. Çöl sabah soğuktu. Çay içerek ısınmaya çalıştık. Daha sonra kahvaltımız yapıp, Hicaz Demiryolu'nu görmek için yola koyulduk. Hicaz Demiryolu, II. Abdülhamit tarafından 1900-1908 yıllarında Şam ile Medine arasında inşa ettirilmiş.

Daha sonra Lut gölünü (Dead Sea) doğru hareket ettik. Lut gölü deniz seviyesinden 400 metre altında. Kulaklarda ve başta ağrıya neden olabiliyor. Biz Lut gölünde çok fazla kalmadık,daha doğrusu kalmak istemedik. Bulunduğunuz yerden karşıya baktığınızda gördüğünüz topraklar İsrail topraklarıdır (Lut Gölü-2). Ürdün tarafının daha temiz ve bakımlı olduğu söyleniyor. İsrail tarafında da Lut gölüne gitmiştim. Çok bir fark olduğunu düşünmüyorum.


Lut Gölü

Lut Gölü-2


Buradan Nebo dağına doğru hareket ettik. Nebo dağı Hz. Musa (a.s) 'nin vefat ettiği yer olarak kabul ediliyor. Hz. Musa'nın mezarının nerede olduğu bilinmiyor.  Dağın tepesinde şuan bir kilise bulunuyor. Kilise ilk hristiyanların hac yeri kabul ediliyormuş.




Daha sonra Madaba'ya doğru yol aldık. Madaba'da daha çok hristiyanların yaşadığı bir şehir. Mozaikler şehri olarak biliniyor.



Beşinci gün kahvaltımızı yapıp, hava alanına gittik. Uçuşumuzda iki saat rötar yaşandı. Neyse ki havaalanında ücretiz wifi mevcuttu.

Sonuç olarak Ürdün, şuana kadar yaptığım en güzel geziydi diyebilirim. Biz çok keyif aldık.
sizlerin de görmenizi şiddetle tavsiye ederim. 😊



1. Rehber bizi gideceğimiz yerlere götürdü. Kalacağımız otelleri ayarlardı. Ürdün hakkında bazı bilgiler verdi.

2.https://www.youtube.com/watch?v=ke9jydTXZ9w


3.http://tr.visitjordan.com/Wheretogo.aspx



Wednesday, September 13, 2017

Check-in İşeminde Work Item State Değerinin Otomatik Resolved Olması


Check-in işleminde work item'a ait state bilgisi otomatik olarak resolved oluyorsa;

VS2015 ->Tools-> Options -> Source Control ->  Visual Studio Team  Foundation Server -> Resolve associated work items on check-in 'deki tik kalıdırılır.

yada

Registery da HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinAction -> ResolveAsDefaultCheckinAction değeri false yapılır.

NOT: Makinanın  restart edilmesi gerekebilir.




Friday, September 8, 2017

TFS 2015 Build ile Çağrılan PowerShell'e Parametre Değeri Göndermek



    TFS Build ile çağrılan PowerShell'e  parametre göndermek için yapılması gereken işlemler aşağıdaki gibidir.

    Build Tanımları

             1.   Build tanımına PowerShell adımı eklenir.



             2. Repository tabına gidilip 'Mappings' ayarları yapılır


             3. Variables tabına gidilip, scripte kullanılan parametreler tanımlanır.


            4. Build tabında Arguments alanına scritpe gönderilecek olan  parametreler yazılır.



        Powershell'de  parametre tanımlaması


        param(
   
                              [Parameter(Mandatory=$true)]
                              [string]$UserName,
   
                              [Parameter(Mandatory=$true)]
                              [string]$Password
             )

TFS Rest Api ile Test Case Oluşturmak



    Yaptığım iş gereği var olan bir Test Case değerini okuyup tekrar oluşturmam gerekti.
 
     $response =  Invoke-RestMethod -Uri "http://tfsaddress/collectionname/_apis/wit/workItems/1"

     if($response.fields.'System.WorkItemType' -eq "Test Case")
     {
     
       $areaPath        = $response.fields.'System.AreaPath'.Replace("\","\\")
       $teamProject     = $response.fields.'System.TeamProject'
       $iterationPath   = $currentIteration
       $workItemType    = $response.fields.'System.WorkItemType'
       $title           = $response.fields.'System.Title'
       $priority        = $response.fields.'Microsoft.VSTS.Common.Priority'
       $automationStatus= $response.fields.'Microsoft.VSTS.TCM.AutomationStatus'
       $steps           = $response.fields.'Microsoft.VSTS.TCM.Steps'.Replace('"',"'")
       $assignToUser    = $assignToUser.Replace("\","\\")

       $json = @"
       [
        {
             "op": "add",
             "path": "/fields/System.Title",
             "value":"$title"
        },

        {
             "op": "add",
             "path": "/fields/System.TeamProject",
             "value":"$teamProject"
        },
       
        {
            "op" : "add",
            "path": "/fields/System.AreaPath",
            "value": "$areaPath"
        },
       
        {
            "op" : "add",
            "path": "/fields/System.WorkItemType",
            "value": "$workItemType"
        },
         
        {
           "op" : "add",
           "path": "/fields/System.IterationPath",
           "value": "$iterationPath"
        },  
     
        {
           "op":"add",
           "path":"/fields/System.State",
           "value":"Design"
        },

        {
           "op" : "add",
           "path": "/fields/Microsoft.VSTS.Common.Priority",
           "value": "$priority"
        },

        {
            "op" : "add",
            "path": "/fields/Microsoft.VSTS.TCM.AutomationStatus",
            "value": "$automationStatus"
        },

        {
           "op" : "add",
           "path": "/fields/Microsoft.VSTS.TCM.Steps",
           "value": "$steps"

        },

        {
           "op" : "add",
           "path": "/fields/System.AssignedTo",
           "value": "$assignToUser"

        },

        ]"
"@

}

   
$result = Invoke-RestMethod  -Uri "http://tfsaddress/collectionname/_apis/wit/workitems/`$Test%20Case?api-version=1.0"
                             -Credential $mycreds
                             -Method Patch
                             -Body  $json
                             -ContentType "application/json-patch+json"




Wednesday, August 16, 2017

PowerShell Invoke-RestMethod Türkçe Karakter Problemi



PowerShell üzerinden rest method invoke etmeye çalışırken, post ettiğim parametre değerlerinde Türkçe karakterler problemi yaşandı. Gönderdiğim json parametresini  UTF8 encoding ile gönderince problem düzeldi.


$secpasswd = ConvertTo-SecureString "mypassword" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("myuser", $secpasswd)

$jsonParam = "{""name"":""Özlem"",""surname"":""Arslan""}"

Invoke-RestMethod  -Uri $createUri -Credential $mycreds -Method "Post" -Body  ([System.Text.Encoding]::UTF8.GetBytes($jsonParam))  -ContentType "application/json"

Wednesday, August 2, 2017

Check In Yaparken Work Item Zorunlu Hale Getirmek


 
 
Check In işlemlerinde 'Related Work Items' alanın zorunlu hale gelmesini aşağıdaki kod ile   sağlayabilirsiniz.


  


 
   var ev = notificationEventArgs as CheckinNotification;

   CheckinNotificationWorkItemInfo[] workItemInfos = ev.NotificationInfo.WorkItemInfo;

   if ((workItemInfos == null || workItemInfos.Length == 0))
   {
         statusMessage = "Work Item ID numarası yazınız ";

         return EventNotificationStatus.ActionDenied;
    }

Friday, February 24, 2017

There is no source code available for the current location



Projede debug yapmaya çalışırken uygulama  'There is no source code available for the current location'  şeklinde hata verdi. 

Projeyi kontrol ettiğimizde belirtilen dizinde istediğimiz .cs mevcuttu. VS'de   Project-> Properties-> Common Properties -> Debug Source Files tabına geldiğimiz zaman "Do not look for these soruce files"  listesinde debug etmeye çalıştığımız .cs ye ait bilgi bulunmaktaydı. Bu bilgiyi sildiğimiz zaman yaşadığımız problem giderilmiş  oldu.










Monday, February 13, 2017

typings install unhandled promise rejection (rejection id: 1): Unable to connect to "https://api.typings.org" ..



     > typings install
       / Resolved "undefined"
       (node:6452) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id:    1):  PopsicleError: Unable to connect to https://api.typings.org/entries/dt/node/tags/6.0.0..
 
      Yukardaki gibi bir hata alıyorsanız, proxy ayarlarınız ile ilgili bir sorun yaşıyor olmanız muhtemeldir.
     
      Install komutunu 'typings --proxy "http://...:8080/" install' şeklinde çalıştırdığım zaman  kurulum başarılı  bir şekilde gerçekleşti.
 

Thursday, January 5, 2017

error MSB3491: Could not write lines to file "obj\Debug\xxx.csproj.FileListAbsolute.txt". Access to the path 'C:\blabla\1\s\x\obj\Debug\xxx.csproj.FileListAbsolute.txt' is denied.


Could not write lines to file "obj\Debug\xxx.csproj.FileListAbsolute.txt".
Access to the path 'C:\blabla\1\s\x\obj\Debug\xxx.csproj.FileListAbsolute.txt' is denied.

Proje derlenirken yukarıdaki gibi hata alırsanız, source kodunuzdan debug klasörünü silmeniz yeterli olacaktır.

Tuesday, January 3, 2017

If ildasm is installed in a non-standard location, please provide the full path to ildasm in the fortify-sca.properties file as com.fortify.sca.IldasmPath


Hp Fortify'da .Net uygulamasını taramaya çalışırken hata loglarında "If ildasm is installed in a non-standard location, please provide the full path to ildasm in the fortify-sca.properties file as com.fortify.sca.IldasmPath" şeklinde hata görebilirsiniz. Böyle bir durumda "fortify-sca.properties" config dosyasında "IldasmPath" bilgisi yok demektir.

fortify-sca.properties, Fortify kurulumunun yapıldığı yerede Core klasörünün altında bulunur. Bu dosyaya  aşağıdaki gibi tanım yaparsanız problem ortadan kalkacaktır.
 
"com.fortify.sca.IldasmPath=C:\\Program Files (x86)\\Microsoft
SDKs\\Windows\\v7.0A\\Bin\\ildasm.exe"



TFS Build 2015 - Ortak Kullanılan Referans Klasörü



Ortak kullanılan dll leri bir klasörde toplamış ve var olan diğer projeleriniz bu  klasörden referans alarak çalışıyor olabilir. Bu tarz projeleriz derlenirken hata almak istemiyorsanız tfs build ayarlarını yaparken 'Repository' ayarlarından ortak kullandığınız klasörü de maplemeniz gerekecektir.

 

 
 
 


 
 
 
 
 
 
 

 


Ürdün

  Çok hızlı bir şekilde karar alıp, harekete geçtiğim bir gezi oldu Ürdün. Nitekim bir pazar günü arkadaşım Firuze ile konuşup, pazartesi...