"SMS dili" və axtarış problemi


Aznet istifadəçiləri internetdə yazışarkən Latın qrafikalı Azərbaycan əlifbasından(LQAƏ) daha çox ingilis əlifbası(İƏ) ilə yazırlar, nəticədə Azərbaycan “SMS dili” meydana çıxır. (Men gelirem, en yaxshi, mentiqli dushunce və.s.). Aznetin ümümi mətn bazasının nəhəng olmadığını və istifadəçilər tərəfindən daxil olunan informasiyanın(forum müzakirələri,twitter tweetləri, bloq şərhləri və.s.) əksərinin İƏ-də olduğunu nəzərə alsaq, bu önəmli bir axtarış probleminə gətirib çıxarır. Google Azərbaycan türkcəsini və Azərbaycan “SMS dilini” “bilmədiyindən” məsələn mən “məntiq testləri” axtarıramsa, “mentiq testleri” də axtarmalıyam, çünki məlumatlar ikiyə bölünüb, axtarmasam forumlarda,twitterdə mənə faydalı ola biləcək məlumatdan məhrum oluram. İnternetdən istifadə qabiliyyəti nisbətən zəif olanlar isə axtarış kəlməsini LQAƏ-də yazacaq, heç bir nəticənin olmadığını görüb geri çəkiləcək.

Bu problemin həlli yolları barədə fikrinizi öyrənmək istəyərdim. Hamını LQAƏ-də yazmağa məcbur etmək olmaz, çünki rahatlıq naminə əksəriyyət(o cümlədən mən) ingilis əlifbası işlədir. Nə etməli? Elə bir APİ(by Yahoo or by Google) qurub xüsusi pluginlə “SMS dilindən” milli hərflərə və tərsinə konvertasiya aparmaq çıxış yolu ola bilərmi?

P.S. LQAƏ ilə bağlı problemin əsas səbəbi isə QWERTY klaviaturasındadır, belə ki, populyar hərflər olan ə,ü,ö,ç,ş,ı QWERTY-də çox narahat yerdə yerləşdiyindən LQAƏ-də yazmaq İƏ-də yazmaqdan qat-qat çox enerji tələb edir. AMEA Kibernetika institutunda QWERTY-yə analoq olan klaviatura hazırlanıb və bu bir dissertantın namizədlik dissertasiyası da olub, klaviatura hazırlanarkən müxtəlif sahələrdən olan 10-larla kitabların kontenti analiz edilib, hansı hərfə hansı tezlikdə rast gəlinməsi araşdırırıb və yekunda QWERTY analoqu qurulub, amma onun tətbiqi məsələsi yəqin ki, problemli olacaq, bu dəfə də yeni düzümü öyrənmək çətin olacaq.

Email statistikası – Xaricidil.net

Elm/təhsil kateqoriyasına aid saytlarımızdan birinin email statistikası ilə sizləri tanış edirəm, yəqin ki, bu az və ya çox dərəcədə ümumi Aznet reallığına yaxındır. Təxminən 5500 user emailindən istifadə olunub.
<img src=”http://qwe.az/uploads/images/e/c/8/a/143/09a4618b4b.png” >
Mail.ru – 47.3 %
Box.az – 12.8 %
Yahoo! – 12.5 %
Hotmail – 9.4 %
Rambler – 6.2 %
Gmail – 5.9 %
Başqaları – 5.9 %
Göründüyü kimi Mail.ru (inbox,bk,list domenləri də birgə nəzərə alınıb) böyük fərqlə liderlik edir. Statistikanın aparıldığı sayt elm/təhsil kateqoriyasına aiddir. İT istifadəçiləri arasında bəlkə də Gmail lider olar. İT saytlarından biri belə statistika təqdim etsə, maraqlı müqayisə aparmaq olar.

Elm/təhsil kateqoriyasına aid saytlarımızdan birinin email statistikası ilə sizləri tanış edirəm, yəqin ki, bu az və ya çox dərəcədə ümumi Aznet reallığına yaxındır. Təxminən 5500 user emailindən istifadə olunub.
<img src=”http://qwe.az/uploads/images/e/c/8/a/143/09a4618b4b.png” >
Mail.ru – 47.3 %Box.az – 12.8 %Yahoo! – 12.5 %Hotmail – 9.4 %Rambler – 6.2 %Gmail – 5.9 %Başqaları – 5.9 %
Göründüyü kimi Mail.ru (inbox,bk,list domenləri də birgə nəzərə alınıb) böyük fərqlə liderlik edir. Statistikanın aparıldığı sayt elm/təhsil kateqoriyasına aiddir. İT istifadəçiləri arasında bəlkə də Gmail lider olar. İT saytlarından biri belə statistika təqdim etsə, maraqlı müqayisə aparmaq olar.

PHP class və sadə nümunə

PHP-də obyekt yönümlü proqramlaşdırmanın əsasında CLASS məntiqi dayanır. Class obyektin tərifidir, obyektin xassələrini, metodlarını təyin edir. Sadə nümunə gətirək: Məsələn qrafik qurmaq üçün bir ümumiləşmiş proqram hissəsi-class yazılır, daha sonra o klassdakı funksiyaların parametrlərinə müxtəlif qiymətlər ötürməklə obyekt təyin olunur: Temperatur-zaman qrafiki, sürət-zaman qrafiki və.s.

İndi isə CLASS-ın daha anlaşılan olması üçün PHP-də sadə bir class qurub istifadə edək.

<?php
class web_sehife
{
function bash_hisse($sehife_baslighi,$charset,$content)
  {
  echo '<head>';
  echo '<meta http-equiv="Content-Type" content="'.$content.'; charset='.$charset.'" />';
  echo '<title>'.$sehife_baslighi.'</title>';
  echo '</head>';
  }

function esas_hisse ($ust_logo,$sol_menyu_link,$sol_menyu_metn,$esas_metn)
  {
  echo '<body>';
  echo '<img src="'.$ust_logo.'">';
  echo '<table width="100%" style="height:90%"><tr>';
  echo '<td valign="top" width="10%">';
  for ($i=0;$i<=(count($sol_menyu_link)-1);$i++) {echo '<a       href="'.$sol_menyu_link[$i].'">'.$sol_menyu_metn[$i].'</a>
  ';}
  echo '</td>';
  echo '<td valign="top">'.$esas_metn.'</td>';
  echo '</tr></table>';
  }

function ashaghi_hisse($muellif,$istehsal_ili)
  {
  echo '<table width="100%" style="height:10%"><tr>';
  echo '<td> Səhifəni hazırladı: '.$muellif.' – '.$istehsal_ili.'</td>';
  echo '</tr></table>';
  echo '</body>';
  }
}

$sol_menyu_metn[0]='Ana səhifə';$sol_menyu_metn[1]='Google'; $sol_menyu_metn[2]='Əlaqə';
$sol_menyu_link[0]='index.php';$sol_menyu_link[1]='http://google.com'; $sol_menyu_link[2]='#';

$el=new web_sehife();
$el->bash_hisse('Sınaq','utf-8′,'text/html');
$el->esas_hisse('her_hansi_shekil.jpg',$sol_menyu_link,$sol_menyu_metn,'Saytin esas metn hissesi');
$el->ashaghi_hisse('Elvin85′,'Dekabr,2009′);
?>

Nümunədəki web_sehife CLASS-ı baş logo, sol menyu, əsas mətn və aşağı hissədən-footerdən ibarət veb səhifə generasiya edir. $obyektimiz isə CLASS tipli dəyişəndir, yəni obyektdir. Obyektin hansı CLASS-a aid olduğunu elan etməklə biz CLASS-ın funksiyalarından istifadə edib sadə bir veb səhifə qurduq.

PHP-də verilənin MySQL-dən Flash-ə və əksinə ötürülməsi

Flash-dən Mysql-ə və əksinə verilən ötürmək zərurəti veb-də flash applicationlardan istifadə edən hər bir proqramçıya lazım ola bilir.(flash oyun, flash test və.s.-lərdə registration, highscore və.s.-in bazaya yazılması və ordan oxuması). Bunun üçün bir neçə üsulla rastlaşmışam indiyədək, mən öz istifadə etdiyimi, özüm düzüb qoşduğumu paylaşıram.

1. Mysql-dən flasha. Bu bir az sadədir, belə ki, sehife1.php faylındakı flash obyektin html kodundakı faylın adına GET metodu ilə lazımı dəyişəni ötürürük.


$deyishen=mysql_result(mysql_query("select ad from cedvel where id='1';"),0);

Tutaq ki yuxarıdakı kimi mysql-dən veriləni dəyişənə mənimsətdik, indi onu flasha ötürək.

<object classid.....

<param name="movie" value="biliklimsn.swf?deyishen=" />
....
<embed src="biliklimsn.swf?deyishen=".......

Iş tamamdır, flash faylın daxilində _root.deyishen dəyişəni məhz biz istəyən mysql verilənidir indi.

2. İndi isə flashda emal olunmuş veriləni əksinə, php-dən mysql-ə qaytaraq.

sehife2.php adlı fayla bu kodu əlavə edirik:

$input = file_get_contents("php://input");
mysql("update cedvel set ad='$input' where id='1'");
echo 'İş tamamdır';

Daha sonra sehife1.php-dəki uyğun flash faylın root freymlərindın birinə bu kodu daxil edirik.

my_str = _root.deyishen+'aaa';
var my_xml:XML = new XML(my_str);
my_xml.contentType = "text/xml";
var receive_xml:XML = new XML();
receive_xml.onLoad = function(success){
if(success){

_root.status.text=this.toString();

my_xml.sendAndLoad("sehife2.php", receive_xml);

} else {
_root.status.text="Xəta baş verdi";
}
}

Bununla da əsas mexanizm təsvir olundu. Bu mexanizmlə istənilən sayda və həcmdə veriləni bazadan flasha və əksinə ötürmək olar. Məsələn əgər istifadəçi sehife1.php faylında flash oyun oynayırsa, və ordakı istifadəçi adını dəyişmək istəyirsə, o halda oyun başlayanda 1) vasitəsi ilə onun adı flasha ötürülür, flashda redaktə etdikən sonra submit edir, və 2) vasitəsi ilə ad bazada update olunur.