12 Nisan 2021 Pazartesi

Çalıştır kısmına istediğiniz ismi yazarak kendi uygulamanızı çalıştırma yöntemi

Merhabalar!

Bu yazımızda Başlat -> Çalıştır (Win + R) kısmından istediğimiz uygulamayı direk çalıştırabilme yöntemini anlatacağım.

  • Öncelikle Kayıt defteri'ni açıyoruz. (Veya başka bir yoluyla Win + R yaptıktan sonra regedit yazabilirsiniz)


  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths Yoluna gidiyoruz.


  • App Paths'a sağ klik atıp New -> Key diyoruz.



  • Çalıştır'a yazmak istediğimiz ismin sonuna .exe ekleyerek bir klasör oluşturuyoruz.  Örneğin ben bdoboss.exe yazıyorum.



  • Sağ tarafta oluşan (Default) isimli nesneye çift klik atıyoruz ve "Value data:" şeklinde istediği alana programımızın tüm uzantısını yazıyoruz. (Örnek olması için yazıyorum bendeki uzantı şu şekilde: C:\Users\DEVELOPER01\source\repos\virDeneme\virDeneme\bin\Debug\netcoreapp3.1\virDeneme.exe )


  • Yine sağdaki boş bir alana sağ klik atıp New -> String Value seçeneğini seçiyoruz.



  • New Value #1 şeklinde oluşan ismine Path yazıyoruz.


  • Path'e çift klik atıp "Value data:" alanına az önceki tüm uzantısınız verdiğimiz programımızın sadece yolunu yazıyoruz. (Yine örnek olması için bendeki yolu yazıyorum: C:\Users\DEVELOPER01\source\repos\virDeneme\virDeneme\bin\Debug\netcoreapp3.1 )



  • Tebrikler! Artık Çalıştır'a ayarladığınız ismi yazarak programınızı çalıştırabilirsiniz!










27 Ocak 2021 Çarşamba

C# Kullanıcı arayüzü (UI) donmadan async metod kullanımı

Sayfamıza bir adet buton ve bir adet label ekleyelim.

Yeni thread açmadan async şekilde fonksiyon çalıştırma yöntemi:

private async void button1_Click(object sender, EventArgs e)     
{           
        var t = Task.Factory.StartNew(async () =>
                {
                     for (int i = 0i < 1000000i++)
                     {
                        await Task.Delay(1);
                        label1.Text = i.ToString();
                     }
                },CancellationToken.None,
                TaskCreationOptions.None,
                TaskScheduler.FromCurrentSynchronizationContext());
 }

------------------------------------------------------------------------------------------------

Yeni thread açarak (eski tarz) async metod çalıştırma yöntemi:

public
Form1()
{
     InitializeComponent();
     Control.CheckForIllegalCrossThreadCalls = false;
 }

private async void button1_Click(object sender, EventArgs e)
{
            await Task.Run(() =>
            {
                for (int i = 0; i < 1000000; i++)
                {
                    label1.Text = i.ToString();
                }
            });
}

Bu yöntem daha fazla thread oluşturarak işlemciyi daha fazla yoracaktır.

3 Aralık 2020 Perşembe

C# Array.ForEach kullanımı

 using System;

public class SamplesArray { public static void Main() { // üç elemanlı bir sayı dizisi oluşturun int[] intArray = new int[] {2, 3, 4}; // KareleriniGoster yöntemi için bir temsilci belirleyin Action<int> action = new Action<int>(KareleriniGoster);
       // ve kullanın Array.ForEach(intArray, action); } private static void KareleriniGoster(int sayi) { Console.WriteLine("{0:d}'nin karesi= {1:d}", sayi, sayi*sayi); } } /* Bu kod aşağıdaki çıktıyı üretir: 2'nin karesi= 4 3'nin karesi= 9 4'nin karesi= 16 */

Kaynak : Microsoft

29 Eylül 2020 Salı

JavaScript ile konsola renkli ve farklı boyutta yazı yazdırma

 Selam arkadaşlar bu sefer çok kısa bir bilgi ile karşınızdayım. JavaScript'te console.log() yaparken birbirinden farklı şekilde loglar yazdırmak isterseniz bu şekilde komutlar kullanmanız gerekli.

     setTimeout(console.log.bind(console, '%cFoo' , 'color: #FF00FF; font-size: 35px;'), 0);



18 Ağustos 2020 Salı

Angular Custom Pipe Yazımı

Herkese Merhaba!

Bu yazıda kendi istediğimizi yapan bir pipe nasıl yazılır onu anlatacağım.

İstediğimiz konuma xyz123.pipe.ts dosyasını oluşturup;

export class xyz123 implements PipeTransform {}

şeklinde bir class oluşturalım.

Main module dosyamıza import ettiğimiz bir utilities modülümüz var ise utilities modülünün içine, yok ise main module dosyasına oluşturduğumuz pipe dosyasını import edelim.

import xyz123 } from './xyz123.pipe';

@NgModule({

    imports: [
        CommonModule
    ],
    providers: [  ],
    declarations: [
        xyz123 
    ],
    exports: [
        xyz123 
    ]
})

(Typescript dosyamızda bu pipe'ımızı kullanmak istiyorsak pipe class'ımızı modülümüzdeki providers kısmına da eklememiz gerekmektedir.)

Oluşturduğumuz xyz123.pipe.ts dosyamıza geri dönelim. Pipe'ı baz alan importumuzu yapalım ve Pipe olduğunu dışarıya belli edip yapmasını istediğimiz kodu yazalım.

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
    name: 'xyzPipe'
})

export class xyz123 implements PipeTransform {

    transform(value: any, args?: any): any {

        let firstDigit = value.match(/\d/); // metindeki ilk sayıyı(digit'i) bulur
        let index = value.indexOf(firstDigit); // sayının indexini verir
        return value.substring(0, index) + ' ' + value.substring(index); //metnin arasına bir boşluk ekleyip return eder
   }
}

Şimdi html dosyamıza dönüp pipe'ımızı kullanalım.

 {{ 'istediğim yazı ve sonuna boşluksuz rakamlar123' | xyzPipe }}

Çıktı:        "'istediğim yazı ve sonuna boşluksuz rakamlar 123"

Bu yazdığımız pipe'a göre metindeki ilk rakamı bulup bir öncesine boşluk ekledik. Metodumuzun içinde bu olayı istediğimiz gibi yazabiliriz.

5 Ağustos 2020 Çarşamba

Team Foundation Sidekicks 2015 / 2017 / 2019 Kurulumu

Merhaba arkadaşlar! 



    TFS (Azure DevOps) kullanan ya da kullanmış olan kişiler bazı durumlarda projesini kullanan ya da daha önce kullanmış kişilerin sunucu üzerindeki workspace kaydınız kaldırmak isteyebilir. Bunun için yetkili bir hesaptan (VS2017 için)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
dosya konumunda komut istemini açıp tf komutları yazmanız gereklidir. Bazı 3. parti yazılımlar ile bunu güzel bir arayüz ile komutlar ile uğraşmadan halletmek mümkündü. Ancak bu yazılım en son Visual Studio 2015 için geliştirilmiş ve daha yenisi yok bu yüzden çalışmamakta. Yabancı bir kaynakta bulduğum olayı uyguladım ve gerçekten çalıştı bunu da sizinle paylaşmak istedim.

Adım 1: Gerekli Dosyaları indirelim. İndir
Adım 2: Gerekli Dosyalar\Kurulum Dosyaları içerisinde bulunan TF_Sidekicks_6.0.0 kurulum dosyasını çalıştırın ve yazılımı bilgisayarınıza kurun.
Adım 3: (Eğer Visual Studio 15 kurulu değil ise) Regedit'i açıp HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio konumuna gidin. 
Adım 4: VisualStudio klasörüne sağ klik atıp sırasıyla New -> Key seçeneklerini seçin ve 14.0_Config isminde klasör oluşturun.
Adım 5: 14.0_Config klasörüne sağ klik atıp sırasıyla New -> String Value seçeneklerini seçin ve oluşan değere InstallDir ismini verin. 
Adım 6: InstallDir isimli değerin Data'sına Sidekicks'in kurulu olduğu konumu girin. (Default kurulum yolu: C:\Program Files (x86)\Attrice Corporation\Team Foundation Sidekicks 2015)
Adım 7: Gerekli Dosyalar\DLL Dosyaları içerisinde bulunan Dll dosyalarını kopyalayıp Sidekicks'in dosya konumuna gidip yapıştırın.
Yazılımı sağlıklı şekilde çalıştırabilirsiniz!

Dipnot: Ben ille de komut isteminden kod ile silmek istiyorum diyenler şu kodlar ile listeleme ve silme yapabilir:

- Sunucudaki tüm workspace konumlarını ve sahip bilgisayarlarını listeler:
tf workspaces /owner:* /collection:"https://abcxyz123.visualstudio.com"

- İstediğin bilgisayardaki istediğin workspace'i silme komutu (aradaki boşluğu silip birleşik yazın):
tf workspace /delete /server:https://abcxyz123.visualstudio.com 
                                    DESKTOP-4S9PDLR;c8c6fef5-0f3b-4b57-8baf-002669bdc2fb 
| |
| |
       ▼       ▼
Bilgisayar adı Kullanıcı ismi (Örn: John DOE veya 
                                                                                        TFS Sidekicks'te gözüken owner name)

Kaynak: dotnetcatch

29 Haziran 2020 Pazartesi

JSON veriyi otomatik sınıflandırma eklentisi

Selamlar!

Bu yazıda Visual Studio ve XCode için JSON veriyi çekilebilir metoduyla beraber otomatik sınıf olarak ayarlayan bir site ve eklentiden bahsedeceğim.

Öncelikle sitemizin adı QuickType, siteye buradan ulaşabilirsiniz. Sitenin Visual Studio, Visual Studio Code ve XCode'a ait eklentileri bulunmakta. Siteyi kullanmadan direk yazılım içerisinden işinizi halledebilmeniz için.


  • Visual Studio 2017 için resmi indirme linki: Link - Alternatif Link
  • Visual Studio 2019 için resmi olmayan ama portlanmış yazılım linki: Link - Alternatif Link
  • Visual Studio Code için resmi indirme linki: Link
  • XCode için resmi indirme linki: Link


Visual Studio üzerinde kullanım yöntemi: