Neklasifikuota

Nauja WordPress versija ir nauja išvaizda

2011-12-16 14:45

Palaipsniui atnaujinamos web.vu.lt WordPress sistemos, diegiant naujausią 3.3 versiją, kurioje įdiegta „tempk ir numesk“ failų įkėlimo funkcija.

Tuo pačiu diegiami naujas darbuotojų tinklalapių dizainas, kuris priderintas prie Vilniaus universiteto tinklalapio, bei keletas naujų įskiepių, kurie praplės tinklalapių galimybes.

Naujų WordPress, įskiepių ir dizaino versijų derinimas yra gana painus ir ilgas procesas, todėl prašytume pranešti webmaster@vu.lt, jei pastebėsite klaidų ar turėsite patarimų.


Puslapiavimas tinklalapiuose

2011-07-07 15:24

Analizuojant didelį Googlebot užklausų srautą, kilo mintis, jog indeksavimo robotus reiktų informuoti, kiek laiko puslapio tikrinti nereikėtų.

Tuomet užkliuvo puslapiuojamos tinklalapio dalys – puslapiai dažniausiai numeruojami taip, jog pridėjus naują įrašą, senesni įrašai VISUOSE puslapiuose pasislenka.

Puslapius reikėtų numeruoti nuo seniausio iki naujausio dėl techninių priežasčių, nes:

  • paieškos sistemoms bei lankytojų naršyklėms būtų galima pranešti, kiek laiko puslapis nesikeis;
  • išsaugota nuoroda visada būtų susieta su tuo pačiu turiniu;
  • anksčiau lankyti puslapiai CSS pagalba būtų žymimi, kaip aplankyti.

Truputį panaršius, rasta tokia pat idėja. Ji priminė, jog ir knygos puslapiai numeruojami nuo seniausiai iki vėliausiai skaitytino. :)


Joomla SQL

2011-05-19 12:06

Joomla 1.6 versijos administracinės dalies faile administrator/components/com_menus/models/menus.php yra metodas getListQuery(), kuris kažkurioje admininistracinės dalies vietoje sugeneruoja ir vykdo tokią užklausą:

SELECT a.*, COUNT(DISTINCT m1.id) AS count_published, COUNT(DISTINCT m2.id) AS count_unpublished, COUNT(DISTINCT m3.id) AS count_trashed
FROM `j16_menu_types` AS a
LEFT JOIN `j16_menu` AS m1 ON m1.menutype = a.menutype
AND m1.published =1
LEFT JOIN `j16_menu` AS m2 ON m2.menutype = a.menutype
AND m2.published =0
LEFT JOIN `j16_menu` AS m3 ON m3.menutype = a.menutype
AND m3.published = -2
GROUP BY a.id

Tai labai baisi užklausa (ne sudėtingumo,  bet serveriui duodamo darbo prasme), kuri naudotame MySQL serveryje vykdoma ne mažiau kaip 16s(!). MySQL lėtų užklausų žurnale matyti, jog kartais ši užklausa vykdoma net daugiau kaip 10 minučių (!!!).

Pamėginta sumažinti duomenų gavimo laiką.

Pirmiausia SQL suskaidyta į mažesnius blokus, vienoje užklausoje skaičiuojant tik vieno stulpelio skaičių.

SELECT a.*, COUNT(DISTINCT m1.id) AS count_published
FROM `j16_menu_types` AS a
LEFT JOIN `j16_menu` AS m1 ON m1.menutype = a.menutype
AND m1.published = 1
GROUP BY a.id

Tokia užklausa įvykdyta per mažiau nei 0,05s.

Sulipdytas SQL, jog tie patys duomenys (tik kitaip išdėstyti) būtų gaunami viena SQL užklausa:

SELECT a.*, COUNT(DISTINCT m1.id) AS count, ‘published’ AS type FROM `j16_menu_types` AS a
LEFT JOIN `j16_menu` AS m1 ON m1.menutype=a.menutype AND m1.published=1
GROUP BY a.id
UNION
SELECT a.*, COUNT(DISTINCT m1.id) AS count, ‘unpublished’ AS type FROM `j16_menu_types` AS a
LEFT JOIN `j16_menu` AS m1 ON m1.menutype=a.menutype AND m1.published=0
GROUP BY a.id
UNION
SELECT a.*, COUNT(DISTINCT m1.id) AS count, ‘trashed’ AS type FROM `j16_menu_types` AS a
LEFT JOIN `j16_menu` AS m1 ON m1.menutype=a.menutype AND m1.published=-2
GROUP BY a.id

Šios sulipdytos SQL užklausos vykdymo laikas trunka apie 0,1s. Gautas pagreitėjimas nuo 200 iki 6000 KARTŲ!


TERENA 2011

2011-05-16 12:29

Ką tik prasidėjo TERENA 2011 konferencija, kuri šiemet vyksta Prahoje, Čekijoje (2010-aisiais vyko Vilniuje).
Konferencijoje dalijamasi su kompiuterių tinklų infrastruktūra ir paslaugomis susijusiomis idėjomis, įžvalgomis, supažindinama su atliktais ir vykdomais projektais.

TERENA 2011 konferencijos pranešimų temas ir tiesiogines transliacijas galima pasiekti iš tinklalapio tnc2011.terena.org

Taip pat galima parsisiųsti pranešimų medžiagą (ieškoti  TERENA tvarkaraščių skiltyje).


Laikas atnaujinti PHP versiją

2011-04-26 13:49

PHP.net komanda nebepalaiko PHP 5.2 versijos, todėl saugumo sumetimais rekomenduotina suplanuoti tinklalapių PHP versijos atnaujinimo darbus.

PHP 5.3 versija suteikia naujų galimybių, tokių kaip vardų sritys (namespaces) ar mysqlnd.

Reikia atkreipti dėmesį, jog ne visų tinklalapių turinio valdymo sistemos sugeba veikti naujos PHP 5.3 versijos aplinkoje, todėl taip pat gali prireikti atnaujinti ir turinio valdymo sistemą.


Senų naršyklių (ne)palaikymas

2011-03-01 18:06

Naudojamų interneto naršyklių statistikos skelbia, jog Internet Explorer (IE) 6 versiją naudoja mažiau nei 5% internautų:

Reikia nepamiršti, jog tinklalapius naršo ne tik asmenys, bet ir įvairios automatizuotos sistemos (taip pat ir piktavališkos). Todėl šį 5% būtų galima dar sumažinti, padarius prielaidą, jog kai kuriose automatizuotuose sistemose ir net naujose narškyklėse nurodyta sena IE 6 versija.

Tikriausiai jau pasiekta ta riba, kai tinklalapių kūrėjai be baimės prarasti lankytojus  gali ignoruoti visus IE 6 naudotojus, ypač žinant kokių bėdų ši naršyklė gali pridaryti ir patiems naudotojams. Didelės pasaulinės kompanijos atsisakė IE6 palaikymo nuo 2010 metų kovo.

Analizuojant senų naršyklių istorinius duomenis, galima teigti, jog IE 7 versijos rinkos dalis sumažės iki 5% per vienus metus.

Savo ruožtu interneto naudotojai gali sumažinti savo ir tinklalapių kūrėjų bėdas ir prisidėti prie senų naršyklių greitesnio nunykimo atsinaujindami IE arba įsidiegdami naujas naršykles (Chrome, Firefox, Opera, Safari).

Darant prielaidą, jog www.w3schools.com puslapį daugiausiai lanko tinklalapių kūrėjai, galima daryti išvadą, jog programuotojai labiausiai mėgsta Firefox naršyklę.

http://www.w3schools.com/browsers/browsers_stats.asp