Kod yazarken…

Açık konuşmak (yada yazmak) gerekirse konuya başlık bulamadım :/

Bu yazının içeriği kodlama yaparken bilerek yada bilmeyerek kullandığımız bazı kısaltmalar, ipuçları ve editorVisual Studio avantajlarını sıralamak hatırlatmak.





DB Helper

Klasik Ado.Net kullanımını daha basit bir hale getiren metotları (transaction destekli) barındıran kütüphane projesi.

  • ExecuteScalar
  • ExecuteNonQuery
  • ExecuteReader
  • FillTable

Örnek kullanım;

Github bağlantısı.

Powershell ile Site ve Veritabanı Yedekleme

Geçenlerde yapmam gereken ama imkanların oldukça kısıtlı olduğu bir yedekleme senaryosunu sizinle paylaşacağım. Bu senaryoda 3. parti bir yazılım kullanamıyoruz. Olabildiğince native takılıyoruz anlayacağınız.

Uzaktan yönetilen fiziksel Windows tabanlı sunucuda herhangi bir yönetim paneli (plesk vs) bulunmuyor. Bu sunucu üzerinde bir web uygulaması ve uygulanın kullandığı Sql Server bulunmakta. Yedeklemenin kapsamı hem uygulama dosyaları hem de veritabanı.

Kabaca planım şu; Uygulamanın kök dizinine veritabanının yedeğini almak. Peşinden kök dizini sıkıştırıp bir zip dosyası elde etmek. Son olarak veritabanı yedek dosyasını kök dizinden silmek. Bundan sonrasını site sahibi dosyaya istediğini yapabilir 🙂

Yedeklemeyi yapacak Powershell komutlarımız aşağıda.

Bu kodları kısaca inceleyelim.

  1. Zip işlemi için gerekli referansı ekliyoruz.
  2. Oluşacak yedek dosyası için tarih bazlı bir isim oluşturuyoruz. Örneğin “23_12_2016.zip”
  3. Veritabanı yedeği oluşturuyoruz. İşlemin Windows yetkilendirme ile yapıldığını unutmayın.
  4. Kök dizinini içinde veritabanı yedeği ile birlikte sıkıştırıyoruz. Detaylı bilgi için bu yazıya bakabilirsiniz.
  5. Kök dizinden veritabanı dosyasını siliyoruz.

Bu kodları ps1 dosya uzantısı ile kayıt etmeyi unutmayın

Senaryo gereği son aşama script dosyamızın belirli zaman aralıkları ile çalıştırılmasını sağlamak . Bunun için en uygun araç Task SchedulerGörev Zamanlayıcısı.  Zaten baştan beri amacımız her işi olabildiğinde mevcut araç gereç ile yapmak.

Şimdi Task Scheduler ı açarak adım adım ilerleyelim.

Kısayol : Win+ R ↵  Taskschd.msc

İlk olarak Create Task ile eni bir görev oluşturalım.

Hatırlaması kolay bir isim verelim. Açıklama alanı şart değil boş geçilebilir. Arka plan uygulamaları gibi kullanıcı oturumuna ihtiyaç duymaması için 2. seçeneği yani “Oturum açılmasa da çalıştır” seçeneğini seçelim. Bu en sona kısımda tekrar karşımıza çıkacak. Ok ile devam edelim.

Yeni bir Trigger oluşturalım.

Ekranda da görüldüğü üzere Trigger lar iş parçacıklarının hangi zaman aralıkları ile çalışacağını ifade eder. Bu örnekte her gün saat 23:00 de çalışmasını söylüyoruz.

Sırada yeni bir Action oluşturma var.

Burada da amaç hangi uygulamanın yada komutun çalıştırılacağını belirtmek. Bizim amacımız bir Powershell script dosyasını çalıştırmak olduğu için -file parametresi ile script dosyasının yolunu belirtiyoruz.

İşlemi sonlandırırken ilk başta yapmış olduğumuz seçeneğe istinaden bizden bir oturum açma bilgisi istenecektir. Bu bilgi sayesinde sunucunuz yeniden başlasa bile herhangi bir oturum açılmasına gerek kalmadan görev çalışabilecektir.

Burada anlattıklarım farklı ihtiyaçlara göre çeşitlendirebilir. Umarım bu senaryo size az da olsa bir fikir verebilir.

Sağlıcakla kalın.

Kullanışlı Visual Studio Kısa Yolları

İş sırasından oldukça sık kullandığım ve çok kullanışlı bulduğum kısa yolları sıralıyorum.

Ctrl + Ğ + S
Aktif dökümanın Solution Explorer da seçilmesi/bulunması

Ctrl + U / Ctrl + Shft + U
Seçili metni küçük/büyük harfe çevirir

Ctrl + Shft + B
Solution/Project derler

Ctrl + K / D
Aktif dökümanı tekrar formatlar. Eğe kodlamada hata varsa yapmaz !

Ctrl + K / K
Aktif satıra Bookmark ekler. Tekrarlanırsa kaldırır.

Ctrl + M / M
Aktif alanıscope (küme parantez) kapatırcollapse. Tekrarlanırsa açarexpand.

Ctrl + M / L
Tüm alanıscope (küme parantez) kapatırcollapse. Tekrarlanırsa açarexpand.

Ctrl + K / C Ctrl + K / U
Aktif satırı yada seçili alanı açıklamacommnet alanı içine alır. Diğeri ise tam tersi.

Ctrl + Alt + L
Solution Explorer ı açar.

Ctrl + ç + M
Team Explorer ı açar.