'Site dizayn' kelimesi ile ilgili yazılar.

Uzun zaman olmuştu web sitem ile ilgilenmeyeli. Yanlış hatırlamıyorsam, geçtiğimiz Mayıs ayında kapatmıştım siteyi, iki hafta öncesine kadar da yenilenmiş açılışı yap(a)mamıştım. Üşengeçlik, beceriksizlik, ilgi kaybı, vakit ayırmayı reddediş... Hepsi ve ayrı ayrı her biri etkendi.

Neyse! İnsan geçmişi ile dertleşip durup da, "ah keşke" demek yerine; "şimdi hatalı görülen o zamanlarda, o yaptıklarım gerekliymiş demek ki"demeli önceden de dediğimiz gibi. Geçmiş altı ayda çok fazla şey değişti diyemiyorum kişisel dünyam açısından. Netron` a girip yeni bir işe daha kavuştum, tatile gittim ve geldim(ki belki de son altı ay içindeki en iyi şey bu idi). Kişisel dünyamın ötesinde, dost çevremde ve internet camiasında(hastasıyım bu lafın) oldukça fazla değişiklik oldu... Web dünyasındaki yenilikleri akla geldikçe sıralayalım:
Devamı »

Yazı kategorisi günlük  |  mirmirik  |  31.10.2008 00:00:00

Yeni siteyi tasarlarken ana navigasyonu(üstte görülen) tek resim ile yaptım. Bu yeni navigasyonu oluşturan tek resim aşağıda görülmekte:

mirmirik.net

Bunu oluştururken "CSS Navigation Matrix" adı verilen bir yöntemden yararlandım. Buna göre her bir menü seçeneği için sadece arka plan resminin pozisyonu değiştirilerek, eskiden javascript ile yapılan "mouseover" ile resim değiştirme durumu görsel olarak sağlanıyor. Navigasyonu istediğim şekilde oluşturmak için şu şekilde bir XHTML bloğu yazdım:


<div id="navigation">
<ul id="nav">
<li id="home"><a id="A1" accesskey="b" runat="server" title="mirmirik.net.blogs();"
href="~/">başlangıç</a></li>
<li id="yaz"><a id="A2" accesskey="i" runat="server" title="mirmirik.net.software();"
href="~/content.aspx?l=12">yazılım</a></li>
<li id="siy"><a id="A3" accesskey="o" runat="server" title="mirmirik.net.politics();"
href="~/content.aspx?l=13">siyaset</a></li>
<li id="gun"><a id="A4" accesskey="a" runat="server" title="mirmirik.net.diary();"
href="~/content.aspx?l=11">günlük</a></li>
<li id="hak"><a id="A8" accesskey="a" runat="server" title="mirmirik.net.about();"
href="~/rights/">hakkında</a></li>
</ul>
</div>

Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  20.05.2007 00:00:00

Sitenin veritabanı şu yazıdan bu yana bir miktar değişti. Son değişiklikler ile ilgili veritabanı dizayn şeması şurada.

Bu veritabanını oluşturmak için gerekli "script"i de buraya koydum. Veritabanı scriptinde trigger` lar ve DEFAULT değerler yok. Ama kullanım ya da fikir vermesi açısından yine de işe yarayabilir.

Ayrıca henüz bakamamış olanlar için, site genelinde kullandığım istemci bazlı kodlar JSLib.txt dosyası içinde. Daha önceki yazılarımda veremediğim fonksiyonları da umarım bir gün örnekleri ile beraber açıklayabilirim.

Kolay gelsin.
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  30.09.2006 00:00:00

AJAX nesnesi yaratmak

AJAX kullanımı için XMLHttpRequest nesnesi yaratmanın bir kaç yolu var. En basitinden:

oHTTP = new ActiveXObject("Msxml2.XMLHTTP");

yeterli görünüyor. Ancak bu şekilde yaptığımızda Firefox için ayrı metod kullanmak gerekecek. O da -Mozilla çekirdeği sağolsun- şu şekilde:

oHTTP = new XMLHttpRequest();

Bunları ayrı ayrı test edip, istemcinin türüne göre kullanılacak nesneyi oluşturmak bazen zahmetli olabilir. Bunun önüne geçmek için şöyle bir yöntem izliyorum...
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  17.07.2006 00:00:00

Eğer istemci bazlı kodlamada JS kullanıyor ama hala e-posta doğrulamak için e-posta alanına girilen değeri parse edip binbir türlü takla atmak gibi üstün bir teknolojiden yararlanıyorsanız belki bu yazı ilginizi çeker. Bildiğiniz ya da yakın zamanda öğreneceğiniz üzere JS` de kullanılan nesnelere "prototype" yaratabiliyorsunuz. Yüzlerce kullanım alanından birisi de şu şekilde:


/**************************************************************************************
StringProtoType()
        IsEmailValid() fonksiyonu tarafından kullanılır.
***************************************************************************************/
String.prototype.isValidEmail = function(){
        return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}

/**************************************************************************************
DOM.IsEmailValid()
        `oE` olarak verilen nesnenin değerinin geçerli bir e-posta adı olup olmadığını döner.
        "String.prototype.isValidEmail" regEx` ini kullanır.
***************************************************************************************/
function IsEmailValid(oE) {
var ev = $(oE);
if (ev.value.isValidEmail()==false) {
alert(`Lütfen geçerli bir e-posta adresi giriniz!`);
ev.focus();
return false;
}
return true;
}

IsEmailValid() fonksiyonunda kullanılan $() fonksiyonu aslında "document.getElementById()" metodunun kısaltması. Bunun anlatımına dair bir şeyleri şuradaki AJAX anlatımında karalamıştım. Eğer bu metodları/fonksiyonları kullanırsanız, işiniz biraz daha kolaylaşabilir.

protoType hakkında daha fazla bilgi için: Mozilla Developer Network

Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

AJAX ile bir form POST etmek, sonra da POST edilen değerleri kullanmak için uzun zamandır bir fonksiyon kullanmaktayım. Şimdiye kadar bir sorun çıkartmadığına göre buraya ekleyebilirim. Kod şu şekilde:


/**************************************************************************************
AJAX.createVals() (12.02.2005 / TM)
        `f` formundaki değerleri XHR nesnesi ile POST edilebilecek formata dönüştürür.
        Eğer formun içinde bir SELECT elemanı varsa, bunun hem değerini hem de TEXT kısmını
        alır ve string olarak geri döner.
***************************************************************************************/
function createVals(f){
        var oF = document.getElementById(f);
        var eL = oF.elements;
        var ts = "";
        var rs = "";
        var vA = new Array();
        for (var lL=0;lL < oF.length;lL++) {
                if((eL[lL].type==`text`) || (eL[lL].type==`hidden`) || (eL[lL].type==`password`) || (eL[lL].type==`textarea`) || (eL[lL].type==`select-one`)) {
                        if ((eL[lL].type==`select-one`)){
                                var c = eL[lL].options[eL[lL].selectedIndex].text;
                                var n = eL[lL].name + "_TEXT";
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                                var c = eL[lL].value;
                                var n = eL[lL].name;
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                        }
                        else{
                                var c = eL[lL].value;
                                var n = eL[lL].name;
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                        }
                }
        }
        if (vA.length>0){
                rs=vA.join("&");
        }
        return rs;
}

Bu fonksiyonu kullanarak XHR nesnenizin POST edeceği değerleri oluşturabilir, daha sonra sunucu tarafındaki dosyanızda da (ASP, ASPX, PHP neyse artık) eski yöntemlerle değerleri alabilirsiniz. Bu fonksiyondaki artı bir şey (açıklamasında da yazdığı gibi) formdaki SELECT elementlerinin TEXT değerlerini de alması ve bunu gönderilecek değerler arasına sıkıştırması. Buna bir iki projede ihtiyaç duymuştum. Nasıl kullanıldığına dair örneği de bir ara eklerim herhalde...
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

AJAX` da Türkçe karakterleri POST ederken bazen sorun oluşabiliyor. Bunun önüne geçmek için ise yapılacak çok basit bir şey var:

Aşağıdaki kodda xO nesnesi bir XMLHTTP nesnesi ise, nesnenin setRequestHeader metodunu kullanarak gönderilen isteğin başlık bilgisine "Ben TR çalışırım arkadaş" dedirtebiliriz. Şöyle ki;


xO.open("POST", url);
xO.setRequestHeader(`Content-type`, `application/x-www-form-urlencoded;charset=iso-8859-9`);
xO.setRequestHeader(`Content-type`, `application/x-www-form-urlencoded;language=tr`);
xO.send(ev);


AJAX ile ilgili bir kaç şey daha eklemeye çalışacağım daha sonra. Şimdilik afiyet olsun.
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

Web standartları

Web standarlarının neden gerekli olduğuna dair anlatımı basit, detaylı bir site:
Making A Commercial Case for Adopting Web Standards
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  09.06.2006 00:00:00
Sayfa: 1 2 3 >> >|