20 Ağustos 2016 Cumartesi

ASUS ux32vd ultrabook ve CPU hız problemi

Uzun araştırmalar sonucunda aldığım asus ux32vd ultrabook yaklaşık 3 yılını doldurdu
ve genel olarak bekleneni veremedi. Büyük bir hayal kırıklığı olmadıysada fiyatına göre hüsran sayılabilir.
Okuduğum kaynaklara göre 6GB rami üzerindeki 4GB, 8GB ile değişerek 10GB ye çıkartılabiliyordu.
Yine mevcut sistemle genel manyetik harddisk, SSD ile değiştirince iyi bir performans vaadediyordu.
Hatta bir geliştirici için bile...

13.3 inc ekranı ve karınca duası görünen yazıları saymazsak beklentim yüksekti.
SSD ve RAM değişikliğinden sonra doğal olarak performansta iyi bir artış olmasına rağmen yaklaşlık bir yıldır her gün makinayi yeniden başlatma ihtiyacı duyuyordum. Nedeni olarak da SSD nin zayıfladığı düşüncesi hakimdi bende.
Her ne kadar bunu Performance Monitoring üzerindeki SSD alanında yoğunluk olarak görmesem de...

Bir kaç hafta önce "Task Manager" CPU/Speed alanın uzun takiplerim sonucunda, önce 1.90 GHz değerinde açılıp rastgele bir zaman sonra 0.96 GHz değerine düştüğünü ve tekrar yukarı çıkamadığı farkettim.



İlk okuduğum kaynaklar Intel'in SpeedStep teknolojisinden kaynaklı olduğunu yazıyordu.
SpeedStep'in yapmaya çalıştığı düşük frekansta çalışan CPU'nun ihtiyaca göre hızlı çalışmasını sağlamak. Fikir olarak güzel...

Önerilen şey BIOS'dan bu özelliği iptal etmek. Problem BIOS'da böyle bir tanım yok.

Konuyu araştırmaya devam edince asus ve diğer bazı markalarda kullanıcıların Windows 10 geçişinden sonra bunu yaşamaya başladığını farkettim. Aslında problemi hissetmeye başladığım zaman ve benim de Win 10 geçişini yaptığım zaman tahmini olarak aynı. Dolasıyla problemin nedeni Windows 10 geçişi.


Asp.Net Core Web Uygulamasında geliştirme ve canlı ortam tanımları

Bir çok blog yazısında .Net/Asp.Net Core ile birlikte gelen "App Secrets" aracının nasıl kullanılacağı ile ilgili bilgi olmasına rağmen canlı ortamda tavsiye edilen "Environment Variables" kullanımın nasıl gerçekleştirileceği ile ilgili bilgi yok.

App Secrets / User Secrets ile ilgili genel bilgi.
https://docs.asp.net/en/latest/security/app-secrets.html


Çözümün doğuş nedeni:

Bu yöntemin kullanılmasının tavsiye nedeni çoğunlukla şifre gibi önemli bilgilerin appsettings.json da (önceden web.config) unutulması, dolayısıyla "Source control" ortamına yapılan "Check-in" işlemlerinde bu bilgilerle birlikte gitmesi. İnternete açık değilse çok büyük bir problem değil gibi düşünülebilir.

Bir diğer nedeni de geliştirme veya test ortamından canlı ortama yapılan aktarımlarda appsetttings.json dosyayının ezilmemesini sağlama yada canlı ortama göre şifre vs. gibi tanımları tekrar yapma gerekliliği.

Dolayısıyla önerilen yöntem şifre gibi ortama göre değişecek diğer bilgileri yapılan Deployment/Publish işleminden ayrıştırmaya yarıyor.

Bu da geliştirme ortamı için "App Secrets" ve canlı ortam için "Ortam Değişkenleri" kullanımı.
Sunucuya erişimi olanlarında şifreleri görmemesi isteniyorsa, bunun için de  farklı yöntemler vardır.


Uyumun sağlanması


appsettings.json dosyası:


secrets.json dosyası: