| |
laacz tagad
klausās:
Radio NABA
Autora domas ne vienmēr sakrīt ar autora domām. © spectatorIr pagājuši 25 gadi un 1 mēnesis un 24 dienas kopš mana mūža laimīgākās dienas
Papildus 3355 maniem pļurkšķiem ir sapļurkstēti 33189 sveši pļurkšķi.
ICQ: #58279153 (very rarely)
MSN:
E-mail:
Mazās pustizlās ikoniņas aiz linkiem (ne visiem) arī šo to nozīmē.
|
|
<br />
<br />
<br />
2004 4. novembris ceturtdiena
2004 3. novembris trešdiena
|
 |
Mīļie cilvēki. Aizmirstiet par samocītām templeitu sistēmām. Ir ļoti maz gadījumu, kad tādas ir nepieciešamas. PHP pats par sevi ir templeitu sistēma. Teiksim, salīdzinām:
<!−−{FOREACH $FORUMS AS $FORUM}−−>
<a href="<!−−{$FORUM−>URL}−−>"><!−−{$FORUM−>title}−−></a>
<!−−{ENDFOREACH $FORUMS}−−>
Un analogu PHP
<? foreach ($FORUMS as $FORUM) { ?>
<a href="<?=$FORUM−>URL?>"><?=$FORUM−>title?></a>
<? } ?>
Pirmajā gadījumā mums templeits vēl ir jāparsē un jākompilē. Otrajā gadījumā mums tas nav jādara.
Un nevajag argumentu, ka dizaineris nejēgs rakstīt otro variantu, bet jēgs pirmo. Tas ir absurds pieņēmums. Ja viņš spēj iemācīties pirmo, spēj arī otro. Pie kam ātrāk, nekā pirmo. Jo viņam nebūt nav jāmācās viss tas pats, ko zin programmētājs. Viņam nepieciešama maza daļa, kuru var apgūt no dažiem piemēriem un pāris paskaidrojumiem.
Pie kam, izmantojot PHP, brīdī, kad nepieciešama papildus funkcionalitāte (Jā, jā, neviens tev neaizliedz arī outputam piešķirt savu loģiku!), tev rokas nav saistītas ar izmantotās templeitu sistēmas iespējām. Tev nav jāveido jauni filtri, jājaucas biznesa loģikā, nav jāpapildina vai jāmodificē templeišu parseris, u.t.t.
Labi. Neizplūdīšu. Tik vien kā pārvaicāšu: "kālab vēlreiz jāizgudro velospiēds"? Es vēl saprastu, ja to dara izklaides pēc. Pašizglītošanās nolūkā.
Protams, ka pastāv specifiski gadījumi, kad sava templeitu valoda ir nepieciešama. Teiksim - multi-user vidē, kur katrs lietotājs var kaut ko mainīt. Nedos takš viņiem rakstīt PHP kodu.
|
 |
 |
|
 |
Un tikai pasakiet, ka tas nav smieklīgi. Pie kam, šī jau nav pirmā reize, kad kaut kas notiek ar president.lv :) Atceramies kaut vai primitīvā tipa uzlaušanas gadījumu. Valsts seja, tā teikt.
Tehnisku iemeslu dēļ nestrādā Valsts prezidenta interneta mājas lapa
Rīga, 3.nov., LETA. Jau vairākas dienas nestrādā Valsts prezidenta kancelejas interneta mājas lapa
"www.president.lv", un pagaidām grūti prognozēt, kad tā darbu atsāks.
Prezidenta Preses dienestā aģentūrai LETA pastāstīja, ka mājas lapa nestrādā tehnisku iemeslu dēļ -
sabojājies servera centrālais cietnis.
Prezidentes pārstāvji atzina, ka tiek darīts viss, lai mājas lapa ātrāk atsāktu strādāt.
Labākajā gadījumā tas varētu notikt nākamnedēļ, bet sliktākajā - lapa varētu nestrādāt divas trīs
nedēļas.
|
 |
 |
2004 2. novembris otrdiena
|
 |
Maza PHP funkcija , ka palīdz apiet problēmu, kura rodas, veidojot formas ar select elementu, kurā drīkst vienlaicīgi atzīmēt vairākus elementus.
Tā vietā, lai rakstītu <select name="sel[]">, kas neatbilst jums visiem tik mīļajām specifikācijām un rekomendācijām, ar šīs funkcijas palīdzību var rakstīt tā, kā visā normālajā pasaulē pieņemts - <select name="sel">.
Rezultātā tieši tāpat kā pirmajā gadījumā tiks iegūts masīvs $_POST['sel'], kurā tad arī tiks uzskaitīti visi elementi. Vienīgais mīnuss, kurš pastāv, ir tas, ka lai servera galā sekmīgi to visu apstrādātu, nāksies izmantot mazu viltību, jo, gadījienā, ja tiks atzīmēts tikai viens no elementiem, nekāds masīvs neizveidosies (kas loģiski):
$_POST = processRawPostData();
if (isset($_POST['sel']) && !is_array($_POST['sel'])) {
$_POST['sel'] = Array($_POST['sel']);
}
P.S. Šitais nestrādās, izmantojot formu ar enctype="multipart/form-data".
P.P.S. Un vēl. Ja mēs pieminam arīdzan WML, tad šeit multiplie selekti tiek padoti kā sel=val1;val2;val3
|
 |
 |
2004 1. novembris pirmdiena
2004 28. oktobris ceturtdiena
|
 |
Atkal jau es stāstīšu par datorlietām :) Ir tāda lieta, ka nepieciešams katram WAP lapas lietotājam unikāls identifikators. Ja tas būtu parasts pārlūks, es ar lielāko prieku izmantotu PHP sesijas. Bet, WAP'ā rodas vairākas problēmas.
- Ļoti nedaudzas ierīces atbalsta cookies. Līdz ar to šis sesiju identifikatoru glabāšanas mehānisms neder.
- Tā kā daudzām ierīcēm maksimālais WML dokumenta izmērs ir ierobežots (nepilns pusotrs kilobaits), tad katrā linkā iestrādājot sesijas identifikatoru, diezgan spēcīgi palielinās WML dokumenta apjoms. Un paliek dikti maz vietas saturam.
Tad nolēmu darīt makten viltīgi. Pirmais - izmantojot glaunās priekšrocības, kuras iegūstam, izmantojot mod_rewrite iespējas, sesijas identifkators tiek padots, neizmantojot GET metodi.
Ja mums līdz šim hipotētiskā adrese ir bijusi /ad/rese/fails?sid=SESSION_ID, tad tagad mums būs šāda: /SESSION_ID/ad/rese/fails.
Un ko mēs iegūstam? To, ka, ja visi linki WAP lapā ir relatīvi, mums vispār dokumentos vairs nav jānorāda šis identifikators. Teiksim, links uz sākumlapu no /SESSION_ID/ad/rese/fails tiek norādīts kā <a href="../../../"...
Vēl viena lieta. Ja mēs kā sesijas identifikatoru izmantojam teksta rindu, kura sastāv no visiem latīņu alfabeta burtiem un cipariem (a-b, 0-9), iegūstam iespēju šo identifikatora garumu samazināt līdz pat 5 simboliem. Iespējamo kombināciju skaits ir pietiekams (69 343 957), lai nesatrauktos par iespējamo brute force uzbrukumu. It īpaši, piesaistot šo identifikatoru lietotāja IP adresei.
P.S. Whitespace izmešana no WML dokumentiem ir absolūti nevajadzīga padarīšana, jo pārsūtāmo datu apjomu samazina minimāli. Vismaz ne tik daudz, lai sevišķi iespringtu šajā sakarā.
|
 |
 |
|