'XHTML' kelimesi ile ilgili yazılar.

Tag cloud (weighted list) ya da Türkçe olarak sözcük bulutu/ağırlıklı liste, daha çok blog sitelerinde birbiriyle ilgili içeriklere çabuk ulaşımı sağlayan ve 2005 yılından bu yana internette günlük tutanlar tarafından yaygın bir şekilde kullanılan görsel bir yardımcı. Genel olarak, sitenin içeriklerinde geçen kelimelerin / kelime gruplarının ya da içeriği kategorilendirirken oluşturulan ilişkili kelimelerin tüm içeriklerde kaç defa geçtiği hesaplanıp, tüm site bazındaki ağırlıklı ortalamalar alınıp görsel olarak kullanıcılara gösterilmesini amaçlanıyor. Tag cloud oluştururken kullanılan değişik yaklaşımlara güzel bir örnek de (birbiriyle ilişkili kelimelere yönelik hesaplamalar) University of New Brunswick` den Owen Kaser ve Université du Québec à Montréal` den Daniel Lemire tarafından hazırlanan TagCloud Drawing: Algorithms for Cloud Visualization isimli çalışmada görülebilir.

mirmirik.net sitesinin bir önceki sürümünü yaparken basit bir tag cloud eklemek ama bunu da ağır matematiksel algoritmalara dayandırmadan hızlı bir şekilde yapmak istedim. Bunu oluşturmak için kullandığım kodları ve veritabanı yapısını, bu yazının ilerki satırlarında paylaşıyor olacağım.
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  30.05.2007 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

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

CSS kaynakları

Toplu halde CSS kaynaklarına ulaşmak için Veerle Pieters güzel bir PDF oluşturmuş. PDF dosyasına ve ilgili yazıya aşağıdaki linkten ulaşabilirsiniz:

CSS Resources
Devamı »

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