Denilzi, Yurt, Kyk, özel yurt, öğrenci yurdu, kız öğrenci, erkek öğrenci
Ağu
19

Asp.NET Validation Control

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

Validation Nedir Ne işe yarar?

Küçük bir senaryo düşünelim. Bir site tasarladık ve bu sitede üyelik sistemi ekledik. Veri tabanına gönderilecek veriler için girdi noktalarımız olacaktır.(Textbox, Combobox vs.) Üye olacak kişi girdi alanlarını doldurarak “Kaydet” butonuna tıkladığında bilgiler veritabanına gönderilecektir. Bu bilgiler gönderilmeden önce bir kontrolden geçirmemiz gerekmektedir. Mesela belli alanlar boş bırakılmalı ya da istediğimiz formatta yazılmalı. Bu tür işlemleri yapabilmek için birkaç seçeneğimiz vardır. şunlar;

- Bilgileri alıp, code behind’da belli kontroller yapmak buna göre exception oluşturmak ya da herhangi bir şekilde kullanıcıya bir hata mesajı göstermek. Tabi bu kontrolleri code behinde’da yapmak için, kullanıcının bu verileri girdiği sayfa postback (sayfa sunucuya gidip – gelmeli) yapılmalı, bundan dolayı bu yöntem çok kullanışlı ve verimli değil. ( Ayrıca çok kullanılmayan ve tercih edilmeyen bir yöntem )
- Diğer bir yöntem ise bu alanları JavaScript kullanarak client-side’da kontrol yapmak. Bu yöntem yukarıda anlattığıma göre biraz daha kullanışlı, ama bir sürü if-else yazmamız gerekecek.
İşte Asp.NET’teki Validation compenentleri bizi bu işlerle uğraşmaktan kurtarmak için tasarlanmış bileşenlerdir.

Şöyle ki; hem işimizi client-side hallediyor (yani boş alan kontrolü, ya da istenilen aralıkta olması, gereken bir değerin kontrolü gibi.) hem de bir sürü if-else kullanmaktan kurtarıyor. (Kısaca .NET nimetleri diyebiliriz. :) )

ToolBox’tan Validation’a geldiğimizde üstteki Resmi göreceksiniz. Buradaki componentleri genel olarak açıklamak gerekirse;

RequiredFieldValidator: Doldurulması gerekli olan alanlar için kullanılır. (Kullanıcı adı, şifre)
RangeValidator: Bir alanın belirli değerler arasında veri girişi olmasını istenen durumlarda kullanılır. (Şifrenin 8 karakterden çok, 16 karakterden az olması )
RegularExpressionValidator: Bir alanın belli bir regex pattern’a uygun olması istenen durumlarda kullanılır ( Mail adresi vs.)

CompareValidator: Bir alanın diğer bir alana göre karşılaştırılması, ya da bir alanın tipinin karşılaştırılması için kullanılır.
CustomValidator : Adından da anlaşılacağı gibi validation’ı bize bırakan bir component.
Validation Summary: Validation özeti. Oluşturduğumuz validation nesnelerinin hata mesajları burada gösterilir.

Küçük bir örnek ile anlattıklarımızı uygulayıp detaylarını görelim.
Ben basit örnek için bir siteye üye olma senaryosu tasarladım.


Yukarıda gördüğümüz şekilde basit bir form ve Textbox’ların yanlarında gördüğünüz (*), (**), (***), (!) validation’ların Text değerlerine atanmış ifadelerdir.

Şimdi tek tek her Text alanı için eklenen validation kontrolün properties’ ini inceleyelim;

İlk olarak Textbox’larımızın (ID) isimlerini vereyim

Kullanıcı Adı : kadi
Şifre : sifre
İsim & Soyisim : isim
Kimlik Numarası : kimlikno
Telefon : tel
E-Posta : eposta

Tüm Text alanları için RequiredFieldValidator kullanıldı ve değer girilip girilmediğini kontol edeceğiz.

Kontrolün Properties görüntüsü:

Gördüğünüz gibi arkadaşlar. Şimdi tek seferlik gerekli tüm alanları anlatacağım. Bundan sonra ise sadece değişiklik yapılan alanları göstereceğim.

ControlToValidate: Hangi alanı kontrol edeceğimizi buradan seçiyoruz. Açılır listemiz var ve buradan alanları secebiliyoruz.
Display: 3 seçeneğimiz var;
-Static: Validation text değerinin gösterileceği yer, baştan ayrılır. (Burada static gözükse de, bence bunu tercih etmeyin; çünkü table’ların aralıklarının kaymasına sebep olabiliyor)
-Dynamic: Text değerinin gösterileceği yer ayrılmaz. Gösterilmesi gereken durumda, uygun bir şekilde yer ayrılır.
-None: Bu seçenekte ise bu değer hiç gösterilmez. Fakat ValidationSummary’de ErrorMessage gözükür.
EnabledClientScript: Client’da çalışabilmesi için. (Yani diyelim ki ismi girmedik. Uyarı verdi. Tekrar ismi girdiğimizde hemen otomatik olarak validation uyarı (*) ifadesini kaldıracaktır).
Error Message: Burada yazdığımız hata mesajları “Kaydet” butonuna bastığımızda ValidationSummary kontrolünde gösterilecektir.
SetFocusOnError: Adından da anlaşılacağı gibi, validation bir hata ürettiğinde, hata oluşturan kontrolün seçili olmasını sağlar.
Text: Girilen değer istenilen kriterlere uygun değilse validation kontrolünün ekrana çıktısı buraya yazılan olur.
ValidationGroup: Bu da birden fazla validation’ı bir grupta toplamaya yarıyor. Bizimde senaryomuzda kullandığımız üzere biraz anlatayım;
Formun altında “Kaydet” ve iptal butonlarımız var. Tamam’a basınca bu validation’ların çalışması lazım, iptal’e basınca çalışmaması lazım.
İşte burada işe yarayacak ValidationGroup, “Kaydet” butonun ValidationGroup özelliğine bizim oluşturduğumuz validation’ların grubunu yazınca, iptal butonu bu validation kullanmayacaktır.

Diğer Validation’larıda bu şekilde ayarlamalıyız. Tek yapacağımız değişiklik ControlToValidate seçeneğinde uygun kısmı şeçmektir.

Kullandığımız RangeValidator kontrolün properties’lerini inceleyelim.

Burada fazladan MinimumValue ve MaximumValue değerlerini giriyoruz.

RagulerExpressionValidator kontrolün properties’lerini inceleyelim.

Burada ise ValidationExpression kısmını dolduruyoruz. Ki burada girdiğimiz RegEx değeri E-Postamızın Geçerli olup olmadığını kontrol ediyor.

Sizin için bu değeri vereyim;
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

Genel olarak bir validation’ın özelliklerinden bahsettik. Ama özellikle bahsetmek istediğim iki validation nesnesi var, CustomValidator ve ValidationSummary.
CustomValidator da istediğimiz karşılaştırmayı yapabiliyoruz ve kod da yazabiliyoruz demiştim.

CustomValidator properties:


Gördüğünüz gibi fazladan bir şey eklemiyoruz. Fakat kod ile kontrol yapacağımızdan aşağıdaki alana geçiyoruz.

CustomValidator’ın properties penceresi ve events penceresi. Buradaki ServerValidate çok işimize yarayacak. Yanında gördüğünüz methodu oluşturunca ( çift tıklayarak ) görüceksiniz ki codebehind kısmında bir method gövdesi oluştu. İşte bu methodun içine yazacağımız her şey client-side’da çalışacak.
Bu kısmı kullanıcı ismi daha önceden kullanılmış mı diye kontrol edebiliriz.

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)

{

}

Bahsettiğim bir diğer validation kontrolü ise, ValidationSummary idi; bu da bizim validation’larımızın hata mesajlarının toptan gözüktüğü yer.

Bunun Properties kısmını inceleyecek olursak;

Display mode: hata mesajlarının nasıl görüntüleneceği
ShowMessageBox: adında da anlaşılacağı üzere, errormessage’ları bir messagebox üzerinde göstermeyi sağlıyor.
ShowSummary: Sayfaya ValidationSummary’i koyduğunuz yerde hataların gösterilmesini sağlıyor.

Şimdi genel olarak öğrendiğimize göre artık hayal gücünüzle pek çok şeyi post etmeden kontrol edebilirsiniz.

(Harun Kardeşime teşekkürlerimi sunarım)

Herkese iyi çalışmalar.

Selametle…

Kaynak

Ağu
01

ASP.NET AJAX 4.0 yollarında….

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

ASP.NET 3.5 ile artık Framework’e dahil olan AJAX Extension konusunda gelişmeler devam ediyor. ASP.NET AJAX 4.0‘a ait Preview sürümü download paketine aşağıdaki adresten ulaşabilirsiniz. Unutmayın ki Preview (Önİzleme) sürümlerindeki özelliklerinin üretimde kullanılması doğru olmaz ve bu özelliklerin gerçekten bir ürün olarak Microsoft tarafından son sürümde yayınlanıp yayınlanmayacağını da kimse garanti edemez.

http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=15511

Peki ne gelişmeler var?

Aslında şu an için gelişmelerin neredeyse hepsi istemci taraflı uygulamalarla ilgili. Sunucu tarafına yeni bir ASP.NET kontrolü gelmiyor. ASP.NET AJAX Features paketindeki sunucu kontrollerinin de AJAX’ın bir sonraki sürümünde bulunacağı beklentiler arasında.

İstemci tarafındaki yeniliklerden faydalanabilmek için yukarıdaki adresten download paketini bilgisayarınıza indirdikten sonra hemen MicrosoftAjaxTemplates.js dosyasını ASP.NET AJAX destekli bir WebForm’un HTML kısmında include etmeniz yeterli olacaktır. Bunu ister standart HTML komutları ile yapın ister sayfadaki ScriptManager’a bir ScriptReference ekleyin, karar sizin.

İstemci taraflı Template (Şablon) yapıları

El yapımı AJAX yolculuklarımızda belki de en can sıkıcı noktalardan biri sürekli istemci tarafında for döngüleri içerisinde DOM ile HTML nesneleri yaratıp uygun verileri içlerine yerleştirip sayfada konumlarını ayarlamaktır. Keşke sunucu tarafında Repeater gibi istemci de bir şeyler olsa da biz bir şablon hazırlayıp datayı versek, binding işlemini de kendisi yapsa? Ne güzel olurdu değil mi? Eh olsun o zaman :)

<asp:ScriptManager ID=”ScriptManager1″ runat=”server”>

<Scripts>

<asp:ScriptReference Path=”MicrosoftAjaxTemplates.debug.js” />

</Scripts>

</asp:ScriptManager>

İlk önce yukarıdaki şekilde AJAX 4.0′ı sayfamıza ekleyelim. Ben özellikle debug uzantılı dosyayı sayfama ekledim, böylece herhangi bir hata oluştuğunda anlamlı açıklamalarla karşılaşacağız. Bu durumun Web.Config’de Debug ayarı ile kısmen aynı olduğunu düşünebilirsiniz.

<div id=”Sablon” class=”sakla”>

Ürün Adı: <input type=”text” value=”{{ Adi }}” />

Fiyatı: <input type=”text” value=”{{ Fiyat + ‘YTL’ }}”/>

<!–* if (Fiyat>5) { *–>

Pahalıymış

<!–* } *–><br />

</div>

Bu da nesi? Karşınızda istemci tarafında şablonumuz. Bunu bir anlamda sunucu taraflı ASP.NET Repeater kontrolünün ItemTemplate’ine benzetebilirsiniz. Sablon adındaki DIV içerisine istediğiniz HTML tasarımı yerleştirebilirsiniz. {{ ve }} işaretleri arasındaki komutlar aslında birazdan verimizi bağlarken kullanacağımız veri kaynağımızda Field’ler diyebiliriz.  Örneğin bizim veri kaynağımızda Adi ve Fiyat adında iki özellik bulunacak. Kaynaktaki değerler {{ }} işaretleri ile belirlenmiş yerlere otomatik olarak yerleştirilecek. {{ ve }} işaretleri arasında isterseniz ek JavaScript metodları da kullanabilirsiniz.

<!–* if (Fiyat>5) { *–>

Pahalıymış

<!–* } *–><br />

Bu üst kısımda gördüğünüz JavaScript kodunu biraz farklı yazmamız gerekti. {{ ve }} işaretleri arasında JavaScript komutları kullanabiliriz demiştik fakat burada kullanacağımız JavaScript’in kendisinde de { ve } işaretleri bulunuyor. İşte böyle durumlarda <!–* ve *–> işaretlerini kullanmamız gerekiyor. Buradaki IF kontrolü hedef verideki Fiyat değeri 5′ten büyük olunca Pahalıymış yazılmasını sağlayacak.

<style type=”text/css”>

.sakla

{

visibility:hidden;

display:none;

}

</style>

Yukarıdaki CSS sınıfını bizim şablonumuzu sayfada görünmez yapmak için kullanıyoruz. Bunun haricinde sayfada iki şeye daha ihtiyacımız var. Birincisi bir düğme! Düğmeye basıldığında bu şablon üzerinden nesneler yaratılarak sayfaya yerleştirilecek. İkincisi ise şablondan yarattığımız nesneleri sayfada yerleştireceğimiz bir HostElement.

<input id=”TIKLA” type=”button” value=”button” onclick=”Yarat();” />

<div id=”BURAYA”></div>

Düğmeye basıldığında Yarat adındaki bir JavaScript fonksiyonu çalıştırılacak. BURAYA adını verdiğimiz HTML DIV içerisine şablondan türetilen nesneler yerleştirilecek. Sıra geldi Yarat JavaScript fonksiyonunu yazmaya.

function Yarat()

{

var Sablonum = new Sys.Preview.UI.Template.getTemplate($get(“Sablon”));

Sablonum.createInstance($get(“BURAYA”), {Adi: “XX”, Fiyat: “34″});

Sablonum.createInstance($get(“BURAYA”), {Adi: “XX”, Fiyat: “2″});

}

Görüldüğü olay aslında çok kolay. İlk satırda Sablonum adında bir değişkene Sablon üzerinden Template nesnesini yaratıyoruz. getTemplate metoduna $get ile sayfadaki şablonu içeren DIV elementini vermemiz yeterli oluyor. Sonrasında bu şablon üzerinden yeni nesneler üretmemiz gerek. Bunun için createInstance metodunu kullanacağız. createInstance metodu toplamda iki parametre alıyor; üretilen nesne nereye yerleştirilecek ve üretilirken hangi veri kaynağı kullanılacak. İlk parametreye $get ile sayfadaki DIV’i bulup veriyoruz, ikinciye ise bir JSON verisi aktarıyoruz. Burada kolaylıkla ASP.NET AJAX’daki PageMethodlardan dönen verilen de aktarılabilir.

Daha kolay olamazdı.
Daha kolay olamazdı.

Başka, başka?

XML ile declarative programlama AJAX’ın yıllardan beri konuşulan altyapılarından biri. İlk konuşulduğu şekli ile olmasa da ilginç bir yapı ile karşımıza çıkması olası. Şu an için bu konularda örnekler yapıp ilerlemek için biraz erken sayılabilir. DataView gibi bazı kontrollerin istemci taraflı sürümlerinin framework’e dahil edilmesi bile dedikodular arasında. Zamanla ufukta güneş açtıkça gelişmeleri tabi ki sizlerle paylaşıyor olacağım. Şimdilik bu kadarı ile yetinmeye çalışalım ;)

Hepinize kolay gelsin.

Kaynak

Tem
30

PHP için SQL Server 2005 sürücüleri

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

Microsoft’un Windows Server 2008 ile beraber gelen IIS 7.0 içerisinde PHP’nin Linux sunuculardan daha hızlı çalıştığı konusundaki iddiası ve sonrasında Expression Web 2 içerisinde PHP desteği ile artık “PHP ve ASP.NET kardeşliği” diyebileceğimiz yapıya bir destek de SQL 2005 sürücüleri ile geliyor. Aşağıdaki adresten PHP için bir PHP 5 eklentisi olarak gerekli yüklemeleri edinerek PHP içerisinde artık daha rahat bir şekilde SQL 2005 kullanabilirsiniz.

http://www.microsoft.com/downloads/details.aspx?FamilyId=61BF87E0-D031-466B-B09A-6597C21A2E2A&displaylang=en

Biraz daha yükselerek kuş bakışı sunucu taraflı senaryolara bakarsak artık IIS 7.0 üzerinde PHP ve ASP.NET’i aynı site içerisinde beraber çalıştırıp hatta aynı FormsAuthentication yapılarını kullanabilmekle kalmayıp aynı veritabanı sunucusunu da kullanabiliyorsunuz.

Sonumuz hayrola :)

Kaynak

Tem
30

usta bir tasarımcı olmanın kuralları #2

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

Kural İki: Renklerini sınırla.
Usta bir tasarımcı olmanın yedi kuralının ikincisidir. Önce ilk kuralı okumak isteyebilirsiniz.

\

Yazı tiplerininizi sınırlamanın son kuralıymış gibi geliyor kulağa değil mi? Aynen! Renklerimizi, yazı tiplerimizle aynı nedenden sınırlamak istiyoruz. Tasarımda kullandığımız renkleri sınırlamak, tasarımımızın daha tutarlı olmasını sağlayacaktır. Yani, her şey uyumlu görünecektir. Aynı bir spor takımının üniforması veya bir şirketin markalaması gibi.

Yazı tipi seçiminde olduğu gibi, renkleri sınırlamak sadece bir rehberdir, kural değildir. Tasarımınızda bir hayli gökkuşağı gibi bir sürü renk kullanabilirsiniz, ve harika görünebilir. Ama bir renklendirme stratejisiyle başlamalı ve buna sonuna kadar uymalısınız. Renklerinizi tasarımınızla uyumlu bir şekilde kullanın.
Yeni başlayanlar için, önce renk değerlerinden bahsedelim. Bir rengin değeri, rengin ne kadar aydınlık veya ne kadar karanlık olduğudur. Bir sarı örneğin, epeyce aydınlıktır. Bir mor epeyce karanlıktır. Tabii ki, bir rengin değer yelpazesi vardır. Örneğin mor, çoğumuzun karanlıkla özdeşleştirerek düşündüğü, ama aynı zamanda oldukça açık değerde bir mor elde edebileceğiniz renktir. Aşağıda renklerin ve onların ilgili değerlerini gösteren bir örnek var. Onun yanında da tek bir renk için renk yelpazesini görebilirsiniz.

renk / değer / değer yelpazesi
renk / değer / değer yelpazesi

Renk planımı seçerken uyguladığım bir kural: renk planınızda mutlaka renklerin değer yelpazesi olduğundan emin olun. Her tasarımda, kontrastı üretmek için biraz açık renge ve biraz karanlık renge ihtiyacınız olacak. Örneğin, tasarımınızın arkaplanı karanlık ise bir de açık renge ihtiyacınız olacak ki metin rahatça okunabilsin. Ya da tam tersi, açık renk bir arkaplanınız varsa metninizin okunabilmesi için açık bir renk gerekli olacak.

Ayrıca genellikle renk planımı seçerken 2 ila 5 renk seçerim. Seçenek sayısını arttırın ve tasarımda iyi sonuçlar elde edeceksiniz. Aşağıda bir araya getirdiğim bir renk planının örneği var.

Görebileceğiniz gibi bir karanlık renk, bir orta değerli renk ve bir de açık renk seçtim. Sağa doğru ise her seçtiğim renk için bir değer yelpazesi hazırladım. Projemde palet niyetine kullanacağım renkler, bu koleksiyondaki renkler olacak. Bir kere paletim hazır olduğunda, sadece bu paletteki renkleri kullanmak için elimden gelenin en iyisini yapmaya çalışacağım.

\

Tamam, şimdi kaç tane renk seçeceğimiz ve hangi değerlerde olmaları gerekiyor gibi teknik renk seçimi işlemlerini hallettiğimize göre, sırada ne var? Sırada ne olacağını söyleyeyim, en zor kısım; o 2 ila 5 rengin hangileri olması gerektiğine karar vermek! Şahsen bunu zaman zaman zor bir iş olarak görüyorum. Aşağıda renk planımı yaparken aldığım yardımlar ve teknikler var:

Sıcaklık yelpazesine uyun. Ya tüm sıcak renkleri ya da tüm soğuk renkleri seçin. Sıcak renkler kırmızılar, turuncular, sarılar, kahverengiler vb. Soğuk renkler ise maviler ve morlardır. Ben şahsen, yeşilleri ise nötr olarak görmekteyim. Eğer tüm renklerinizi bir sıcaklık aralığında seçerseniz, büyük ihtimalle uyumlu olacaklardır.

İlham almak için www.colorlovers.com gibi bir siteyi kullanın. Bu mükemmel sitenin tüm olayı renk planlarıyla ilgili. Sayfa sayfa renk planları bulabilirsiniz.

Bir gözünüz etrafta olsun. Her tarafınızda renk planları vardır. Markette torbanıza bakın, Starbucks’taki tablodaki renklere bakın, Doğa Ana’ya bakın! Hoşunuza giden bir renk dizisi gördüğünüz zaman, not alın ve bilgisayarınızda bunu tekrarlayıp tekrarlayamayacağınıza bir bakın.

Var olan şirket renklerine dikkat edin. Sık sık, bazı markaların renklerinden yararlanıyorum. Logolarına ve renk yelpazesine bakıyorum daha sonra bunu başlangıç noktam olarak alıyorum. Daha sonra belki bir veya iki renk ekleyebiliyorum.

Aşağıda oldukça kısıtlı renk yelpazesi kullanarak hazırladığım bitmiş bir tasarım var.

\

Gördüğünüz gibi, kısıtlı renk yelpazesi ve yazı tiplerimi sınırlamak her şeyi bir arada, düzenli gösteriyor.

Bu derslerin basit olduğunu biliyorum… ama bunlar tasarımın esaslarıdır. Yani, bilgileri biraz tazelemek kimseyi öldürmez. Beş kural daha kaldı. Geri kalan beş kuralın daha enteresan olacağına söz veriyorum. Zaman ayırdığınız için teşekkür ederim!

Bill

kaynak

Türkçe Kaynak

Tem
30

usta bir tasarımcı olmanın kuralları #1

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

1- Kullandığınız Yazı Tiplerini Sınırlayın
Tamam, “usta tasarımcı” lafı biraz zorlama olabilir. Ama en azından bu yedi kuralı takip ederek “uzman tasarımcı” olabilirsiniz. Bu, nasıl daha iyi bir tasarımcı olabileceğiniz hakkında okuduğunuz blog yazılarının en kısası ve en bilgilendiricisi olacaktır. Lütfen aklınızda bulundurun: bu kurallar KIRILABİLİR… çünkü yasa değiller, sadece benim bir tasarımı bir araya getirirken uyguladığım genel kurallardır.

Aşağıdaki kuralları izlediğinizde sanatsal mükemmelliğe giden yoldasınız demektir:
Kural Bir: Yazı tiplerini sınırlayın. İyi bir tasarımı bir araya getirmenin büyük bir kısmı, gördüğünüz gibi, görünüşün birbiriyle tutarlı olmasıdır. Tutarlı bir görünümü elde etmenin en iyi yolu tasarımını kullandığınız bir kaç motifle (temalar) sınırlamanızdır. Seçtiğiniz yazı tipleri sınırlamak isteyeceğiniz ilk değişkendir. Ben genellikle tasarım başına 2 yazı tipi seçerim.

İlk yazı tipi süslü veya sanatsal olabilir. Bu yazı tipi tasarımınıza biraz karakter, kişilik ve kabiliyet kazandırmak için kullanılır. Tasarımın ruh halini belirleyen bu yazı tipidir. Bir kızın partisi için fırıl fırıl dönen eğlencelik bir yazı tipi mi, yoksa bir rock grubu için kötülük dolu karanlık bir yazı tipi mi? Bu süslü yazı tipini üst kısım için kullanırdım –büyük olan herhangi bir yere, bu yazı tipini kullanırım. Süslü yazı tipi, tasarımın odak noktası olacaktır. Genellikle bu yazı tipini az yerde kullanırsınız ama daha büyük olacağından insanların odaklanacağı ve ilk göreceği şey bu olacaktır.

İkinci yazı tipi çok basit olmalıdır. Bu ikincil yazı tipini izleyici fark etmemelidir bile. Bu ikinci yazı tipi, çok kolayca okunabilir olmalıdır. Tasarımda yaygın olan metinlerde kullanılacak genel yazı tipi bu olacaktır. Açıkça, yaygın metinlerde artsitik yazı tiplerini okumak çok zor olacağından bu ikinci yazı tipinin amacı, sadece işlevsellikten ibaret olmalıdır.

İşte bir tasarımda kullanılan uygun yazı tiplerine örnek. Gördüğünüz gibi, burada sadece iki yazı tipi kullanıldı. Süslü yazı tipi, üst kısım için ve basit yazı tipi de genel metin için. Temiz ve tutarlı görünüyor.

solda:
solda: “basit yazı tipi” / sağda: “süslü yazı tipi”

Burada da yazı tiplerinin kötü kullanımı söz konusu. Bu durumda, bir çok süslü yazı tipip kullandım. Sadece tasarımı tutarsız gösteriyor. Alt kısım, ana başlıkla uyuşmuyor bile.

solda:
solda: “basit yazı tipi” / sağda: “çok fazla süslü yazı tipi”

Bir tasarımda çok fazla yazı tipi kullanmak en büyük hatadır. Broşüründe 8 farklı yazı tipi kullanan birinden daha kötü görünen bir şey yoktur. Daha da kötüsü genel metinleriniz için çok süslü bir yazı tipi kullanmanızdır. İşte yazı tiplerinin en kötü nasıl kullanılabileceğine dair bir örnek:

solda:
solda: “yazı tipleri genel metin için fazla süslü” / sağda: “çok fazla süslü yazı tipi”

Sizi göndermeden önce son bir düşünce. Eğer süslü yazı tipiniz modern veya çağdaş görünüyorsa, o halde basit yazı tipiniz bir sans-serif yazı tipi olmalıdır. Eğer süslü yazı tipiniz eski moda görünüyorsa, o zaman ikincil yazı tipi olarak serif kullanın.

Yazar: Bill
kaynak
Not: Yazar bu yazıyı okuyucunun ilgisini çekecek mi diye yazmış, ben de aynı amaçla çevirdim. eğer ilginizi çekerse bu henüz tamamlanmamış yazı dizisinin devamı olan ve bu yazıdan çok daha detaylı olan; “Tasarımınıza Derinlik Katın”, “Renklerinizi Sınırlayın” ve “Kontrast, Kontrast, Kontrast” yazılarını çevirebilirim. Şu anda 7 bölümlük yazı dizisinin 5′i yazılmış durumda. Her hafta yenisi yazılıyor.

Çeviri ve Türkçe Kaynak

Tem
30

tasarımınızı müşteriye sevdirmeniz için 13 hile

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

İdeal bir dünyada, müşterilerimiz tasarımcılar gibi düşünürdü. İdeal bir dünyada, müşterilerimiz pazarlama hakkında iyi bir birikime sahip olurdu. İdeal bir dünyada mantıklı düşünürler ve net olarak iletişim kurarlardı. Evet millet, ideal bir dünyada yaşamıyoruz. Ve, maalesef, müşterilerimiz tasarımcı gibi düşünmüyorlar. Genellikle markalaşmanın veya pazarlamanın basit yanlarını bilmiyorlar. Onlar tasarımcı değiller. Bize bu yüzden iş veriyorlar.

\

Şimdi, eğer bize güvenmelerini sağlayabilirsek. Evet, bu gerçekleşmeyecek. Peki, geriye ne kalıyor? Ben biliyorum! Onları kandırabiliriz. Evet, çıkış yolu bu işte.
Birkaç yılda, müşterilerimi “kandırmama” yardımcı olacak birkaç teknik geliştirdim. Bu numaralar, hepimizin yararına. Onları mutlu olmaları ve en iyi tasarımı seçmeleri için kandırıyorum. İkimiz de kazanmış oluyoruz.

1. Müşterinizin beklentilerini aşağı çekin. Tamam, müşteriye şunu demenizi önermiyorum: “Tasarımınız boktan olacak.” Ama ŞUNU öneriyorum ki, müşterilerinizi gerçekçi beklentiler çerçevesinde tutun. Dünyaları söz vermeyin. Ve eğer dünyaları istiyorlarsa… onlara ne yapabileceğiniz hakkında dürüst olmanız gerekiyor. Bir projeyi kaybetme pahasına da olsa. Müşterinin ne bekleyeceğini bilmesi için neler yapabileceğimi tekrarlarım.

2. Taslaklarınızı/fikirlerinizi sınırlayın. Müşterinize 4 logo taslağı vermek yerine 8 logo taslağı vermenin daha iyi olduğunu düşünmeniz doğaldır, ama gerçekten öyle mi? İlk başta, müşteriniz ona en iyi birkaç tasarımı vereceğinize güvenmektedir. Seçenekleri en iyi birkaça indirme görevini siz üstlenmelisiniz. Müşterinize her ne göstermeye karar verdiyseniz, onun en son tercih edeceğiniz tasarımı seçeceği beklentisi içinde olun, hep öyle yaparlar. İkinci olarak, çok fazla seçenek kafa karıştırıcıdır. Çok fazla olasılık, çok fazla stil, verilecek çok fazla karar vardır. Benim deneyimlerime göre 3 ila 5 arası seçenek en iyisidir. 3 ila 5 taslak, müşteriye durumu hala kontrol ederken iyi bir tercih yapacakları hissini vermek için yeterlidir.


3. Müşteriler, parlayan renkli şeyleri siyah beyaz şeylere tercih ederler. Müşterilerin “göz alıcılıktan” (renk, jel, gloss, gölgeler ve lens parlaması benzeri efektler) etkilenmeleri büyük talihsizlik, ama ne yazık ki etkileniyorlar. Eğer müşterinize sunacağınız iki taslağınız varsa ve biri MÜKEMMEL bir taslaksa -ilki elinizde kurşun kalemle skeçlediğiniz ve ikincisi vasatsa, ama cilalı, bol bol jel ve gölge efektleriyle dolu renkli bir tasarımsa, müşterinizin hangisini seçeceğini tahmin edebilir misiniz? Her seferinde renkli olanı seçeceklerdir. Kurşun kalemle skeçlenmiş tasarımın ne kadar şık duracağı hakkında en ufak bir fikirleri yoktur. Onlar sadece bir skeç görürler. Yani, eğer müşterinizi dikkate değer olan tasarıma yönlendirmek istiyorsanız, onu satın; renk ekleyin, jel efekti ekleyin, ne olursa. Seçmelerini istediğiniz tasarımın diğerlerinden daha öne çıktığına, daha iyi göründüğüne emin olun.

4. Kötü haberleri hemen, telefonla eğer mümkünse yüz yüze verin. Eğer kötü bir şey olursa saklamaya çalışmayın. Sadece hemen dürüst olun. Sizin gösterdiğiniz bir hata, onların bulduğu hatadan yirmi kat daha iyidir. Diyelim ki bir broşür tasarladınız ve bir kelimeyi yanlış yazdınız. Sessizce bulamamaları için dua etmeyin, çünkü bulurlar! Yüz tane insan onlara gösterecektir. Genellikle bir hata yaptığımda tasarımın ücretsiz olmasını teklif ederim. Bu, paralarını bankamda tutmaya ve basitçe hatalarımı üzerimden atmamı sağlar. Ayrıca, müşteriler e-posta yoluyla gerçekten terbiyesizleşebiliyorlar. Eğer bir hata yaptıysanız, onlara telefonla söyleyin. Her zaman eğer telefonda konuşuyorlarsa veya yüz yüzeyseniz çok daha iyi olacaklardır.

\



5. Değişiklik manyaklarına karşı hazırlıklı olun. Bazı müşteriler, siz tasarım aşamasındayken değişiklik yapmayı severler. Buna göz yummayın, bir şeyler söyleyin! Müşteri bir değişiklik istediğinde,–bazı şeyleri işaret etmeniz gerekir, bu kararın tasarım sürecini nasıl etkileyeceğini ve yeni beklentiler yaratacağını açıklayın. Şimdi, şu tarz değişikliklerden bahsetmiyorum, “Lütfen ilk cümleye ‘Kimden’ gibi bir kelime ekleyin.” Benim bahsettiğim, müşteri şöyle bir cümle kurduğunda, “Hey, web siteme bir fotoğraf galerisi eklemek istiyorum.” şöyle bir cevap vermeniz gerekiyor, “Tamam, ama ek iş yapacaksak belirlediğimiz bitirme tarihini kaçırırız. Ayrıca bu size x dolara daha mâl olacaktır.

6. Seçenekleri azaltın. Eğer, bütün bu numaralara rağmen müşterimi memnun etmek hala zorsa, tasarım kararlarını azaltmaya çalışırım. Örneğin, bir renk planında uzlaşabilir miyiz? Sadece bir yazı tipi seçmeye odaklanabilir miyiz? Kullanmamı istedikleri esas resimlere yoğunlaşabilir miyiz? Onları tasarımın dışında, bu kararları vermeye yönlendirebilirim. Yani, bir daha bir konsept üzerinde çalıştığım zaman, kullanılacak renkleri, yazı tiplerini ve kullanılacak resimleri biliyor olurum. İşte o zaman sadece yerleştirme işiyle uğraşırım.

7. Sadece karar veren kişiyle çalışın. Çoğunlukla karar veren bir insanla çalışıyor olmazsınız. Siz ve kararı veren kişi arasındaki dalkavukla çalışırsınız. Kararları veren kişiyle çalışmak için gerçekten savaş veririm. Yoksa bir işi iki kere yaparsınız -bir kez dalkavuk için, sonra tekrar karar veren için.

8. Gruplarla çalışırken; lider görevlendirin. Gruplarla çalışmak yedinci kurala oldukça benzerdir. Bazen grup liderin kim olduğunu bilmez bile. Yani, gruptaki farklı insanlardan farklı mesajlar alırsınız. Ben her gruptan benimle iletişim işini üstlenmesi için bir kişi seçmesini isterim. Bu yolla, lider kişi gruptaki beş yada daha fazla kişiden mesajları toplarken, her birinin farklı olduğunu fark ederler. Bob rengi mavi yap der. Susan beyaz yap der. Matt ise sarı yap der. Bu hiçbir şey ifade etmeyecektir.

\

9. Proje uzun sürüyor veya geç başlıyorsa müşteriyle temasa geçin. Eğer bir projede gerçekten hızlı ilerleyemiyorsam ya da projenin başlangıcı ertelendiyse müşterime bir e-posta atarım. Genelde, şöyle bir şey derim: “Hey Bob, şunu bilmeni istedim ki projede bocaladım ve Perşembe günü başlayacağım. Gecikme için üzgünüm. Bitirme tarihine yetişeceğiz, sorun yok.” Bu önleyici tedbirler alan yaklaşım, her zaman için şu soruyu cevaplamaktan iyidir: “Projem nasıl gidiyor?”

10. Müşterilerinizi eğitin. Biliyorum ki bu çok zor, ama yine de denemek zorundasınız. Bir müşteri benden tasarım için iyi olmayan bir şey istediğinde,–BENİM yolumun neden ONUN yolundan daha etkili olacağını anlatmaya çalışır. Gücendirmeden iletişim kurmak bazı taktikler gerektirir, kibar ve yavaş olun.

11. Müşterinizle kavga etmeyin. Bazen gurunuzu içinize atıp müşteriye ne istiyorsa vermeniz gerekebilir, acınacak halde bir tasarıma dönüşse de. Eğer kötü olacağını bildiğiniz bir yönde tasarım yapmanız istenmişse, onlara öğretmeye ve daha iyi tasarım seçenekleri sunmaya çalışın. Ama, günün sonunda, kafalarını bir şeye takmışlarsa (rezalet bir şey de olsa) bunu onlara verin.

12. Biraz ekstra verin. Eğer küçük bir ekstra iş yaparsanız (bunu onların bilmesini sağlayın), çok müteşekkir olacaklardır. Çok büyük bir iş olması gerekmez. Çok küçük bir şey olabilir. Ama anlaşılmış işin dışında bir şey olması gerekir. Müşteriye küçük bir not şu şekilde atılabilir: “Hey Bob, bana sağlamış olduğun logoda ufak bir sorun keşfettim. Bunu yok ettim ve temizledim. Bu projenin amacı değildi ama böyle pis bir logoyla etrafta gezmene izin veremem! Bu ek servis için bir ücret talep etmiyorum.”

13. Teşekkür ederim deyin. İnanılmaz. Tüm bilmem gereken, anaokulunda tek öğrendiğim şey. İnsanlar “teşekkür ederim” lafının gücü üzerine çalışmalar yaptılar. Huysuz müşteriler, şu sözlerle bir anda memnun müşteriye dönüştürülebilir: “Teşekkür ederim.” Yani, müşterilerine işleri için teşekkür edin. Bir ödeme yaptıklarında teşekkür edin. Size bir bira ısmarladıklarında teşekkür edin.

yazının orjinali

Kaynak

Tem
28

Asp.Net Dinamik Meta Tag Ekleme (Veri Tabanından Veri çekerek.)

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 Oy, Ortalama: 5 / 5)
Loading ... Loading ...

GelecekÇokNET de Yayınladadığım küçük bir makale..

Canlı Meta Tagların Nasıl oluşturulduğunu Veri tabanından nasıl çekildiğini göstereceğim. bunun için VeriTabanı oluşturmalıyız. Ve 3 tane alan belirlemeliyiz. Bunlar Keywords,PageTitle,Description ve Tablomuzun ismi MetaTag olsun.
şimdi gerisini Aşağıdaki kodları izleyerek yapabilirsiniz…

MasterPage.Cs içinde Sayfanın Page Load’ ına Yazılacak Kod