Mysql’de satır verilerini group by ile yatay olarak birleştirme (Concat)

Sql veritabanlarında genelde satır bazlı olarak veri alınır. Yani siz istediğiniz bir veriyi liste halinde görebilirsiniz. Örneğin 4 sütundan oluşan bir tabloda veriler tutulsun. “Select * from TabloAdı” sorgusu çektiğinizde 4 sütun olarak bölümlenmiş şekilde tüm verilerinizi elde edebilirsiniz.

Bazı durumlarda alt alta satır olarak bulunan veriler yan yana yazılmak istenebilir. Bunu bir örnek ile bu yazımızda anlatacağız.

Örnek: Sinema salonu veritabanımızda film, salon ve vizyon isimli tablolar olduğunu varsayalım. Bu tablolarda her film için salon ve seans bilgisi tutulmakta. İlişkisel veritabanı mantığı gereği her veri satır olarak çağrıldığında alınabilmektedir. Yani filmlerin salon ve seans bilgilerini aşağıdaki sql sorgusu ile aldığımızı varsayıyorum.

Okumaya devam et

WordPress’de Author Sayfalarını Kapatmak

Author sayfaları bildiğiniz üzere içerik tekrarı yapmakta ve SEO açısından webmasterları zor durumda bırakmaktadır. Çeşitli SEO eklentileri bu problemi gidermektedir ancak eklenti kurmadan halletmek isteyecek insanlar da olabilir mesala ben 🙂

Author sayfalarını engellemenin bir kaç yolu vardır. Bunların başlıcaları;

  • Htaccess dosyası ile /author/ klasörüne erişimi engellemek.
  • Robots.txt dosyasında /author/ için disallow ile arama motorlarına giriş izni vermemek.
  • Author sayfalarını engelleyen wordpress eklentisi kurmak.
  • Author sayfasının oluştuğu template biriminde kod ile engellemek.

Bu yazımızda robots.txt ve template kodlama ile engelleme yöntemlerine değineceğiz.

Wp’de robots.txt dosyası çalışma zamanında oluşmaktadır ve dosya olarak web dizininde bulunmamaktadır. Yani bu dosya FTP ile görüntülenmemektedir. Bu dosyanın içeriğine, template’in functions.php dosyası içerisinde yapılacak bir kodlama ile ekleme yapabiliriz.

Robots.txt dosyasına “Disallow: /author/” satırını eklediğimizde arama motorları author klasörünü dikkate almayacaktır. İhtiyaç duyulması halinde başka klasörler veya sayfalar için de disallow eklenebilir. (Örn: Disallow: /xyz/) Yönetim Paneli / Görünüm / Düzenleyici açılarak temanızın functions.php dosyası çağrılır. Functions.php’nin sonuna ekleme yapılacaktır. Eklenecek kod alt kısımda verilmiştir.

Okumaya devam et

IIS Application Pool Worker Process Ayarı ve AspNet Session State Servisi

IIS Aplication Pool‘un (w3wp) kaç process halinde çalışacağını belirten ayardır. Tam Türkçesi En Fazla Çalışan İşlem Sayısı şeklindedir. Default olarak 1’e ayarlıdır.

Genelde On Demand olmayan Always Running tipi çalışan uygulamalarda 1 process’in yükü taşıması performanslı olmayabilir. Ayrıca IIS’de default olarak pool’lar 29 saatte bir recycle (restart) edildiğinden uygulama yoğun zamanlarda geç ayağa kalkabilir. (Recycle işlemi pool ayarlarında düzenlenebilmektedir.)

Bunun önüne geçmek için yükü bölmek (IIS load balancing) iyi bir çözüm olacaktır. Yük bölme işlemi için birden fazla IIS sunucu kurabilir veya tek bir IIS üzerinde pool maksimum process sayısını arttırabilirsiniz.

Yük bölme işlemi için farklı nedenleriniz olabilir. Örneğin Uygulamanız On Demand’dır fakat istemci sayısı fazla olabilir.

Yalnız burda dikkat edilmesi gereken AspNet Session State (Oturum Durumu) modudur. Her iki yük bölme senaryosunda da uygulamaların Session bilgileri her bir sunucuda veya her bir process’de kalacaktır. Buda istemci isteklerinin cevaplanması sırasında farklı session bilgilerine erişilmesi ve dolayısıyla tutarsızlığa yol açacaktır.

Ortak session bilgilerine kayıt yapmak ve erişmek için iki yöntem söz konusudur. Birincisi IIS sunucuda (Bunun için sadece bu işlemi yapacak farklı özel bir sunucu da kurulabilir) session state servisinin aktif hale getirilmesi, ikincisi ise Sql sunucuda session state için bir veritabanı açılmasıdır. Her iki yöntem de çözüm olmakla birlikte performans olarak en uygunu sunucu session state servisinin aktif edilmesidir.

Adım Adım :

Görev Yöneticisinde w3wp.exe’ye ilişkin bir veya birden fazla process görürsünüz.

IIS Yönetim Panelinde Uygulama Havuzları (Application Pools) bölümünden bir Havuz’un (Pool) Gelişmiş Ayarlarına (Advanced Settings) girilir.

Okumaya devam et