Mount shared folder in VM

You can use below command for mount shared folder to VM guest. You need install vmware tools before use this.

/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other

Belli başlı git komutları

Sıkça kullandığım git komutlarını listelemeye çalıştım.

No Komut Açıklama
1 git checkout dev Lokaldeki dev brach’ine geçmenizi sağlar.
2 git pull Tüm brach güncellemelerini sunucudan indirir.
3 git checkout -b bug/yeni Yeni bir lokal brach oluşturur.
4 git checkout bug/yeni  Lokal bug/yeni branch’ine geçmeyi sağlar.
5 git commit -m “Açıklama” Yapılan değişiklikleri çalışılan lokal brach’e kaydeder.
6 git push Kaydedilen değişiklikleri çalışılan brach ile aynı isimle sunucuya gönderir.
7 git merge dev Çalışılan brach’i lokal dev branch’ine birleştirir.
8 git stash Yapılan değişikliği geçici olarak kaydeder.
9 git stash pop Kaydedilen geçici değişikliği geri getirir.
10 git cherry-pick commitno Commit’i aktif branch’a taşır.
11 git reset --hard HEAD~x x commit öncesine döner.
~x yerine ^ kullanılırsa son commit’i ifade eder.
–hard yapılan değişiklikleri siler.
12 git push -f <remote> <branch> brach geçmişini temizleyerek gönderir.
13 git stash clear Geçici dosyaları temizler.
14 git reset HEAD^ Son commit’i geri alır, değişiklikler korunur.

Komutların kullanımı için örnek senaryolar:

Yeni geliştirme yapılması:
1 -> 2 -> 3 -> 5 -> 6 -> 1 -> 2 -> 4 -> 7 -> 6

Henüz sunucuya gönderilmemiş (6) değişiklikleri farklı bri brach’e taşımak:
4 -> 10

Sunucuya gönderilmiş commitleri silmek:
11 -> 12

Sunucuya gönderdilmiş commit’i silerek yeni bir commit ile göndermek için:

14 -> 12

Detaylar: http://ohshitgit.com/

Git konusunda değerli bir kaynak: https://www.slideshare.net/lemiorhan/git-antipatterns-extended-version-with-28-common-antipatterns-scturkey-meetup

Üniversite öğrencilerine ücretsiz bitbucket hesabı

Bitbucket 2011 yılından beri üniversite öğrencilerine ücretsiz ve sınırsız hesap sağlıyor. Yararlanmak için ihtiyacınız olan tek şey edu uzantılı mail adresi.

https://blog.bitbucket.org/2011/04/01/free-unlimited-user-source-code-hosting-for-university-students/
Benzer şekilde ücretsiz GitHub hesabı da alabilirsiniz.

C# ‘da X509 sertifikasını PkiPath formatında kaydetmek

Her zaman olduğu gibi C# bu formatı desteklemiyor. Normalde X509Certificate2 nesnesnin Export() metodu mevcut ancak PkiPath formatını destelemiyor. Bu işlemi yapabilmek için ücretis Bouncy Castle kütüphanesi kullanabilirsiniz. Kütüphane içinde yer alan Org.BouncyCastle.Pkix.PkixCertPath class’ın GetEncoded() metodunu kullanabilirsiniz.

C# Uygulamanın yada DLL’nin dosya sürümünü almak için

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetEntryAssembly(); //DLL’i çağıran ana uygulama
if (assembly == null)
assembly = System.Reflection.Assembly.GetExecutingAssembly(); //Kodu çalıştıran uygulama
string version = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion; //versiyon

Terminal ekranında daha büyük yazılar görmek için

Terminal ekranı True Type tipinde fontlarla çalışmaktadır. Eğer hazır bir true type font bulabilirseniz aşağıdaki adımları takip ederek bunu kullanılabilir hale getirebilirsiniz. Hazır bir true type fontu buradan  indirebilirsiniz.
  1. Kayıt Defteri düzenyecisini açınız (regedit.exe)
  2. Aşağıdaki alana gidiniz:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
  3. Sağdaki alanda sağ tıklayarak veri ekleyiniz.
  4. Metin türünde bir değer ekleyiniz ve isim olarak da sıfırlardan oluşan bir isim veriniz. Verdiğin isim içerdiği sıfır sayısı bakımından en büyük olan olmalıdır ve sıfır sayıları birbirini takip etmelidir. Örneğin 0 ve 00 varsa 000 olarak ekleyiniz.
  5. TerminalVector değerini eklediğiniz yeni anahtara giriniz.

Uygulama yönergesi aynağı: http://www.yohng.com/software/terminalvector.html

Bu adımlardan sonra temin ettiğiniz fontu Denetim Masası’ndaki Fontlar bölümüne yükleyiniz. Terminal ekranını açtığınızda sol üst köşesine tıklayarak Özellikler seçeneğine giriniz.

Yazı tipi sekmesinde yukarıdaki adımları uygulayarak girmiş olduğunuz TerminalVector değierini yazı tipi başlığı altında göreceksiniz.

Buradan TerminalVector yazı tipini seçerek Boyutunu istediğiniz gibi değiştirebilirsiniz.

Komut Satırı Özellikleri

MS SQL’de yine ciddi bir bug

UPDLOCK ve READPAST anahtarlarını birlikte kullanarak transaction içinde seçmiş olduğunuz kayıtların diğer transactionlar tarafından görülmemesini istiyorsanız sorgunuzda mutlaka ORDER BY deyimi bulunmalıdır. ORDER BY yoksa çalışmıyor.

MSSQL’de ciddi bir bug

MSSQL’de tabloya insert cümlesi ile veri atmaya çalışırken aşağıdaki hatayı aldım. İnternet üzerinden yaptığım aramalarda bu hatanın network sorunu olduğundan bahsedilmiş. Oysaki lokalde çalışan 2008 R2 veri tabanı ile çalışıyordum.

A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 – Physical connection is not usable)

Aşağıdaki gibi bir insert cümlesi kullanıyordum:

INSERT INTO MyTable (RecordDate) VALUES (@RecordDate)

DateTime nesnesini C# tarafında yaratmıştım ve NULL olduğu için aşağıdaki değeri taşıyordu:

01.01.0001 00:00:00

C# nesnemi nullable yapıp insert komutuna eklerken DBNull.Value yapınca sorun düzeldi.

Ama aklım hala Microsoft gibi bir firmanın DateTime hatası dönmek yerine fiziksel bağlantının koptuğu yönünde bir mesaj veriyor olması.