14 Şubat 2011 Pazartesi

SunWeb v2.0 Site Hazırlama Sihirbazı

Türkiye'de yazılım sektörü giderek daha da güçlenmekte ve uluslar arası aktörlerle rekabet edebilir konuma yükselmektedir. İlk dönemlerinde programlamada kopyala-yapıştır mantığı yaygın iken, Türkiye'deki programcılar artık kendi özgün kodlarını yazar durumu gelmişlerdir. Artık gelişen dünyayı takip ediyorlar, yeni teknolojileri hızla tüketiyorlar, uluslar arası rakiplerine fark atıyorlar. Sıfırdan kendi işletim sistemimizi yazmadık ama yazacak kadar iyi durumda programcılarımız var. Sadece ekip olmaları ve desteklenmeleri eksik. O da KOSGEB ve benzeri teşvik ve destek birimleri sayesinde artık sağlanmakta. Yeter ki projenizin ayakları yere basıyor olsun.
Bu kadar şey anlattıktan sonra gelelim Türkiye'de bir CMS nasıl yazılmış onu inceleyelim. SunWeb oldukça gelişmiş ve bir o kadar da basit bir içerik yönetim sistemidir. Kullanıcı dostu yönetim paneli sayesinde kullanıcılar rahatlıkla sayfalarını oluşturabilir, içeriklerini girebilir, fotoğraf galerileri oluşturabilir, videolarını ekleyebilir, ürünlerini kategorisel olarak ekleyebilir, formlar oluşturabilirler. Sınırsız dil seçeneğini de unutmamak lazım. Video ekleme kısmı gayet iyi olmuş; herhangi bir formattaki videonuzu yüklüyorsunuz arkaplanda otomatik olarak videonuz web ortamında izlenebilecek şekilde convert ediliyor ve playerıyla birlikte sayfanıza eklenebilir hale geliyor.
Bütün bunların yanında kullanıcıları düşünerek, "hiçbir teknik bilgiye gereksinim duymadan herkesin web sitesi olacak" sloganıyla yola çıkan firmanın bazı pratik çözümleri de göze çarpıyor. Örneğin eleman kodu gibi; bu kod sayesinde oluşturduğunuz video için veya fotogaleri için size 14 haneli bir eleman kodu veriliyor (örn: {#VDO0000011#} ), bu kodu içeriğinize direkt olarak yapıştırıyorsunuz ve yapıştırdığınız yere direkt olarak videonuz ya da fotoğraflarınız yükleniyor. Kodu kaldırdığınızda da kolayca video ya da fotoğrafları içerikten kaldırmış oluyorsunuz.
SunWeb'de sayfa sınırı konmamış, yani kullanıcılar sınırsız sayıda sayfa oluşturabilirler. Oluşturulan bu sayfaları tek tıklamayla üyelere özel hale getirebilirsiniz. Üyelik sisteminde de bazı yenilikler söz konusu; örneğin oluşturduğunuz bir sayfayı sadece üyelerin görmesini istiyorsunuz ancak bazı sayfalar var ki onu da belirlediğiniz bir gruba ait üyelerin görmesini istiyorsunuz. Bunu da oldukça kolay bir biçimde yapabiliyorsunuz. On taneye kadar üye grubu oluşturup, sayfalarınızın ve üyelerinizin hangi gruba dahil olacağını seçebiliyorsunuz.
Oluşturduğunuz her bir sayfa için içerik yorumlama sistemini kullanabilirsiniz. Sayfalarınızın altında ziyaretçileriniz yorum yapabilirler.
Gelişmiş dosya yöneticisi sayesinde klasörler oluşturup, bu klasörlere hiçbir ek program kurmaya gerek duymadan toplu dosya gönderebilirsiniz.
Bir diğer önemli özellik ise, aynı yönetim paneli üzerinden mail hesaplarınızı yönetebiliyorsunuz. Yeni mail hesapları oluşturup, bu mail hesaplarını düzenleyebiliyorsunuz.
Ürünün demosunu sunwebdemo.com adresinden inceleyebilirsiniz. Üretici firma sunyazilim.com.tr.
Kullanılabilir site şablonlarından bazıları:











Benzer Bağlantılar

quizilla.teennick.com/stories/18203132/15-dakikada-web-siteniz-olsun

1 Şubat 2009 Pazar

VIEWSTATE İçeriğini Sıkıştırma



Yukarıdaki gibi bir VIEWSTATE içeriğiniz varsa optimizasyon yapma zamanı gelmiş demektir. Bununla ilgili birçok seçenek var ama ben bu yazıda sadece viewstate içeriğini nasıl sıkıştırabileceğinizi anlatacağım.
İlk önce Compress adında bir sınıf oluşturuyoruz.

Compress Sınıfı

using System.IO;
using System.IO.Compression;


public static class Compressor {

public static byte[] Compress(byte[] data) {
MemoryStream output = new MemoryStream();
GZipStream gzip = new GZipStream(output, CompressionMode.Compress, true);
gzip.Write(data, 0, data.Length);
gzip.Close();
return output.ToArray();
}


public static byte[] Decompress(byte[] data) {
MemoryStream input = new MemoryStream();
input.Write(data, 0, data.Length);
input.Position = 0;
GZipStream gzip = new GZipStream(input, CompressionMode.Decompress, true);
MemoryStream output = new MemoryStream();
byte[] buff = new byte[64];
int read = -1;
read = gzip.Read(buff, 0, buff.Length);
while(read > 0) {
output.Write(buff, 0, read);
read = gzip.Read(buff, 0, buff.Length);
}
gzip.Close();
return output.ToArray();
}
}


Bu sınıfı da oluşturduktan sonra şimdi kullanımına geldi. Viewstate içeriğini sıkıştırmak istediğiniz sayfanın kod kısmına aşağıdaki kodları yapıştırıyoruz.



public partial class _Default : System.Web.UI.Page
{

protected override object LoadPageStateFromPersistenceMedium()
{
string viewState = Request.Form["__VSTATE"];
byte[] bytes = Convert.FromBase64String(viewState);
bytes = Compressor.Decompress(bytes);
LosFormatter formatter = new LosFormatter();
return formatter.Deserialize(Convert.ToBase64String(bytes));
}


protected override void SavePageStateToPersistenceMedium(object viewState)
{
LosFormatter formatter = new LosFormatter();
StringWriter writer = new StringWriter();
formatter.Serialize(writer, viewState);
string viewStateString = writer.ToString();
byte[] bytes = Convert.FromBase64String(viewStateString);
bytes = Compressor.Compress(bytes);
ClientScript.RegisterHiddenField("__VSTATE", Convert.ToBase64String(bytes));
}

.....
}



Bu şekilde viewstate içeriğimizi sıkıştırmış olduk. Viewstate içeriğinizi sıkıştırmadan önceki ve sıkıştırdıktan sonraki durumlarını karşılaştırarak aradaki farkı görebilirsiniz.

Kaynak: http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx

15 Ocak 2009 Perşembe

İlk Mesajım

Daha önce de blog işine yeltenmiş, ancak vakit sıkıntısından dolayı ilgilenememiştim. Şimdi tekrardan "start" vermeye karar verdim. Benim aradığım herhangi bir şeyi bulabildiğim daha doğrusu tam aradığımı bulduğum yerler genelde bloglar oluyor. O yüzden belki bir bakıma benim de bir faydam dokunur. Hepimize hayrlı uğurlu olsun.